参数与配置
axbuild 将一次构建或运行拆成四类相互独立的输入:命令行参数负责本次选择,Snapshot 负责复用上次选择,Build Config 声明编译能力,QEMU/U-Boot/Board Config 声明启动方式。context/resolve.rs 和各系统的 build/ 模块将这些输入解析为确定的请求和 Cargo 配置。
| 配置 | 典型位置 | 负责内容 | 不负责内容 |
|---|---|---|---|
| Snapshot | tmp/axbuild/.arceos.toml 等 | 最近使用的 package、arch、target、config 和运行配置路径 | Cargo feature、QEMU 参数 |
| Build Config | tmp/axbuild/config/<package>/build-<target>.toml | feature、环境变量、日志、CPU 数,以及系统专属字段 | firmware、CPU 型号、ELF/BIN 转换 |
| Board Build Config | os/<system>/configs/board/*.toml | checked-in 的 target、能力和板卡默认值 | QEMU 命令行 |
| QEMU Config | os/<system>/configs/qemu/qemu-<arch>.toml 或测试目录 | QEMU 参数、UEFI、to_bin、成功/失败判定 | Cargo feature |
| U-Boot / Board Run Config | 显式路径或 ostool 约定位置 | 下载、部署和运行协议 | 构建能力选择 |
对应源码集中在 scripts/axbuild/src/context/、build/ 以及各系统的 config.rs、build/、rootfs.rs 中。