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
> RUST_TARGET_PATH=(pwd) xargo build --target test > objcopy -O binary -S target/test/debug/elf_loader test-bin > qemu-system-x86_64 -hda test-bin -d int -s