4 个版本 (2 个破坏性更新)
0.4.0 | 2019 年 8 月 31 日 |
---|---|
0.3.0 | 2019 年 8 月 26 日 |
0.2.1 | 2019 年 8 月 26 日 |
0.2.0 | 2018 年 12 月 25 日 |
0.1.0 |
|
#110 in #qemu
每月 21 次下载
12KB
195 行
Cargo-image
使用 cargo-sysroot
的 bootimage
的替代方案。
cargo-sysroot
的优势在于它是可组合的,例如,其他工具可以与之配合使用,即使它们不知道它的存在,因为它设置 cargo,使得正常的命令(如 cargo build
)可以正常工作。
与 bootimage
类似,此工具会将您的内核与 x86_64 bootloader
crate 结合起来,因此您可以使用它来引导。
使用方法
在您的项目目录中,只需运行 cargo image
。
输出镜像将位于 target/{your-triple}/debug/{your-binary-name}.bin
。您的二进制名称通常是您项目的名称。
详细信息
使用 cargo sysroot
编译 bootloader
sysroot crate,并在构建内核之前调用 cargo sysroot
,以确保一切是最新的。
先决条件
- 夜间编译器。
- 配置
.cargo/config
来构建您的目标。 cargo-sysroot
v0.6.0 或更高版本。bootloader
v0.8.0 或更高版本。较旧版本未经测试,可能不会工作。- 通过 rustup 安装
llvm-tools-preview
组件。
限制
- 没有尝试遵循
.cargo/config
搜索路径,例如这个工具不会像cargo
那样在父目录中查找。
常见问题解答
- 问:关于
bootimage
怎么样? - 答:🤷. 它不符合我的需求,所以我写了自己的。
许可证
根据您的要求选择以下任一许可证:
- Apache License,版本 2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 https://open-source.org.cn/licenses/MIT)
。
贡献
除非您明确表示,否则根据 Apache-2.0 许可证定义,您提交的任何有意包含在工作中的贡献,将如上所述双重许可,不附加任何额外的条款或条件。
依赖
约 2.3–3MB
约 55K SLoC