Miniature hobby bootloader & POSIX-compatible kernel to teach me the basic concepts of OS development and different processor architectures.
Add nightly toolchain
rustup target add x86_64-unknown-none
Configure cargo
Add the following to .cargo/config.toml
:
[unstable]
# enable the unstable artifact-dependencies feature, see
# https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#artifact-dependencies
bindeps = true
- This is a very early work in progress which mainly consists of only a bootloader at the moment.
- BIOS bootloader
- Heap allocator
- Bump / Linkedlist frame allocator
- Buddy heap allocator
Following are the long-term goals of this project:
- 0 external dependencies at some point
- POSIX compatible
- Support for x86_64 & aarch64 & riscv64