1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2018年1月26日 |
---|
#68 在 #bootloader
28KB
700 代码行
rustboot-x86
这是《用 Rust 编写操作系统》系列(计划第二版)的实验性纯 Rust x86 启动加载程序,该系列由 Writing an OS in Rust 提供。
这仍然是一个进行中的项目.
想法是将内核构建为 no_std
长模式可执行文件,然后使用内核的 ELF 文件构建启动加载程序,文件名为 kernel.bin
。输出是一个平坦的二进制磁盘镜像(包括基本的 MBR),可以在 QEMU 中运行或烧录到 USB 闪存驱动器(CD 需要不同类型的启动加载程序,目前不支持)。计划创建一个自定义工具(或 cargo 子命令)来自动执行这些步骤。
构建和运行
您需要一个 nightly Rust 编译器,xargo,objcopy(或类似工具),以及 QEMU(用于运行)。
> 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
依赖项
~700KB
~15K SLoC