How zinnia-os/zinnia works
Zinnia is a modular 64-bit Unix-like Rust kernel and driver collection. Its principal workflow is booting the kernel, loading initramfs contents, starting the configured init process, and serving its POSIX-style system calls through process, memory, filesystem, and device facilities. The repository also documents DRM rendering and evdev input, and includes networking, USB, block, and filesystem drivers. Edges reflect the documented startup path and sampled implementations; some subsystem connections are necessarily summarized because their dispatch code was not sampled.
Main entry points: syscall System calls · lib.rs Kernel startup · block Block layer · vfs Virtual filesystem
Components 25
Boot and Startup
- Boot entry
kernel/src/boot - Kernel startup
kernel/src/lib.rs - Initramfs loader
kernel/src/vfs/fs/initramfs.rs - Init process
kernel/src/process/mod.rs
Kernel Core
- Processes and signals
kernel/src/process - Task scheduler
kernel/src/sched/mod.rs - Virtual memory
kernel/src/memory/virt
User Interfaces
- System calls
kernel/src/syscall - DRM interface
kernel/src/device/drm/mod.rs - Input events
kernel/src/device/input/mod.rs
Devices and Drivers
- Block layer
kernel/src/device/block - Device framework
kernel/src/device - PCI framework
kernel/src/device/pci - NVMe driver
drivers/block/nvme/src/lib.rs - Network stack
kernel/src/device/net - Network drivers
drivers/net - Virtio GPU
drivers/video/virtio_gpu/src/lib.rs - USB HID parser
kernel/src/device/usb/hid/parser.rs
Storage
- Virtual filesystem
kernel/src/vfs - Filesystem types
kernel/src/vfs/fs - Ext2 driver
drivers/fs/ext2/src/lib.rs
Other components
- User process
- Block device
- Display hardware
- Input hardware
Connections 23
- Boot entry → Kernel startup: enters
- Kernel startup → Initramfs loader: loads contents
- Kernel startup → Init process: starts init
- Init process → Virtual filesystem: opens executable
- User process → System calls: requests services
- System calls → Processes and signals: dispatches process calls
- System calls → Virtual filesystem: dispatches file calls
- System calls → Virtual memory: dispatches memory calls
- System calls → Network stack: dispatches socket calls
- System calls → DRM interface: dispatches DRM calls
- Processes and signals → Task scheduler: schedules tasks
- Virtual filesystem → Filesystem types: routes filesystem operations
- Ext2 driver → Filesystem types: registers filesystem
- Ext2 driver → Block layer: reads and writes blocks
- Block layer → Block device: transfers data
- PCI framework → NVMe driver: discovers device
- PCI framework → Network drivers: discovers devices
- NVMe driver → Block layer: provides block I/O
- Network drivers → Network stack: provides network interface
- DRM interface → Virtio GPU: invokes display operations
- Virtio GPU → Display hardware: drives
- Input hardware → USB HID parser: supplies reports
- USB HID parser → Input events: emits events