Please check build logs and if you believe this is docs.rs' fault, report into this issue report.
This is still work in progress.
The idea is to build the kernel as a
no_std longmode executable and then build the bootloader with the kernel ELF file in
kernel.bin. The output is a flat binary disk image (including a basic MBR) that can be run in QEMU or burned to an USB flash drive (CDs require a different kind of bootloader, which is not supported at the moment). The plan is to create a custom tool (or cargo subcommand) that performs these steps automatically.
Build and Run
If you are building on Mac OS and get a error saying
ld.bfd not found you first need to cross compile binutils and then adjust
the linker name in the
x86_64-bootloader.json file. The reason for this is the default rust LLVM linker doesn't support some features this project needs.
After doing that continue with the instructions for Linux.
> RUST_TARGET_PATH=$(pwd) xargo build --target x86_64-bootloader --release > objcopy -O binary -S target/x86_64-bootloader/release/bootloader bootimage.bin > qemu-system-x86_64 -hda bootimage.bin -d int -s