A microkernel written in Rust, trying to bridge the gap between embedded and general operating systems
This repo contains the source code of the microdragon kernel, it's built-in modules and bootloader interfaces.
NOTE: if you plan on contributing to microdragon, feel free to read CONTRIBUTING.md too.
The microdragon kernel is build using Just, a simple command runner that can be installed using cargo:
cargo install just
With just installed, it's as simple as running just build
to build the kernel binary.
By default just will do a debug build for x86_64 systems and the limine bootloader.
This can be caged by passing <key>=<value> pairs to just. |
Key | Default | Description |
---|---|---|---|
bootloader | limine | Bootloader to support | |
target | x86_64-unknown-none | Rust target | |
release | false | Build as Release? |
The kernel binary alone doesn't get you far, so the next step is to package up the kernel into a .iso
image.
Here just comes to help again by running just pack
, just will build and package your project together with the selected bootloader.
The resulting .iso
can be booted by both a legacy bios system as well as a UEFI system.
NOTE: To create the .iso
a tool called xorriso
might be needed.
Finally if you just want to test microdragon out or are tinkering on it, just also provides a just run_bios
and a just run_uefi
command.
It will build, package and then run QEMU for the given target.