Sophon
1.0.0
An experimental modular-kernel written in Rust.
The name "Sophon" comes from the novel The Three-Body Problem.
qemu-system-aarch64 (optionally gdb-multiarch or lldb for debugging).lldb, llvm-objcopy and llvm-objdump)$ cargo dev runDevice Manager → Raspberry Pi Configuration → Advanced Settings and enable ACPI + Device treecd boot/uefimake deploy boot=/path/to/your/usb/directoryscreen to connect to the serial device
screen /dev/tty.usbserial 115200.The current plan is:
Make the kernel as simple and small as possible. Instead of following the micro-kernel approach that puts each kernel component as a isolated user process, Sophon tries to treat the components as kernel modules. This is expected to have higher performance than micro-kernels due to the absence of context switches and message passing overheads.
Log syscall (output to UART, for user process debugging)mmap and munmap syscalls