A bare-metal operating system for a cluster of small ARM boards, like the Raspberry Pi or CHIP.
This is an etude in Rust and operating system development, with a focus on a single address space (SASOS) approach. I would like to put a statically-typed lisp as the OS's second language after Rust.
Start with the makefile.
- It think the test setup is good. Unit tests are run on the host. Rust integration tests are run under QEMU.
- The arch abstraction is good, which helps the policy abstraction.
- The use of Rust is more complete than most. We start the processor in Rust, and really only need global_asm for exception handler entry.
- Documentation and test coverage are significantly improved in this second try.
- My implementation of map_translation handles blocks and contiguous ranges.
- Reducing unsafe code even further, and justifying the necessary use of unsafe.
- Would be good to build the x86 kernel in tandem, but I have avoided xbuild for arm, so I'll wait.
- I am not sure enough of traits, monomorphisation and statics to be confident in module interfaces.
- Julia Evans
- Bodil Stokke
- Philipp Oppermann Rust and great, but x86-centric
- Lucas Hartmann We follow in his footsteps!
- Dawid Ciężarkiewicz And Dawid's too!
- Andre Richter And cortex-a crate.
- rCoreOS Multi-arch
- Ilya Kartashov