Moss: a Rust Linux-compatible kernel in 26,000 lines of code
2 days ago
- #Kernel
- #Rust
- #Aarch64
- Moss is a Unix-like, Linux-compatible kernel written in Rust and Aarch64 assembly.
- Features a modern, asynchronous core, modular architecture, and Linux userspace binary compatibility.
- Supports aarch64 with plans for x86_64 and RISC-V via a well-defined HAL.
- Advanced memory management: MMU, Copy-on-Write, async userspace functions, and fault handling.
- Uses Rust's async/await model in the kernel to prevent deadlocks and manage tasks efficiently.
- Implements 49 Linux syscalls, enabling most BusyBox commands and advanced forking via clone().
- Includes a Virtual File System with async abstractions and drivers for ramdisk, FAT32 (ro), and devtmpfs.
- Built on libkernel, an architecture-agnostic library, allowing cross-architecture testing.
- Comprehensive test suite with 230+ tests for functionality across different architectures.
- Development tools required: QEMU for aarch64 emulation, dosfstools, and gcc-aarch64-linux-gnu.
- Active development areas: Linux syscall compatibility, networking stack, scheduler improvements, and filesystem drivers.
- Open for contributions under the MIT License.