Skip to content

使用xtask程序生成RustSBI镜像

Luo Jia edited this page Dec 21, 2021 · 3 revisions

本篇文章提供了在xtask可用时,使用cargo命令编译RustSBI镜像的方法。

准备mkimage工具

在开始之前,您的开发系统需要安装mkimage工具。xtask使用这个工具,帮助生成U-Boot SPL可以识别的镜像格式。

如果您使用Linux系统,应当安装u-boot-tools。在使用apt的系统下可以使用以下的指令。

apt install u-boot-tools

如果您使用Windows系统,确实找不到能用于Windows系统的mkimage工具。不过,您可以选择将mkimage工具安装在wsl中,cargo image命令可以识别wsl中安装的mkimage工具,即使它没有通过环境变量导出到当前的Windows系统。打开您使用的wsl系统,安装mkimage工具;然后,退出wsl并切换回Windows系统。这样准备好之后就可以开始打包了。

安装完毕mkimage工具后,返回到RustSBI项目根目录。使用以下的指令:

cargo image

这个指令将尝试识别系统上安装的mkimage工具,先使用cargo编译RustSBI软件本身,然后调用mkimage来打包成可用的img格式分区镜像。

运行成功后,分区镜像将被保存到文件target/sd-card-partition-2.img。接下来,您可能需要参阅SD卡烧录的教程,将这个镜像烧录到Unmatched分区SD卡的第二个分区。

Release模式

如果您需要性能优化后的编译代码,使用release参数即可。使用以下的指令:

cargo image --release

会被保存到相同的文件位置。注意,此时生成的镜像虽然经过体积优化,但elf文件中仍然包含调试符号,可以进行一定程序的错误排查。这些调试符号最终不会进入img镜像文件中。