用途:在 capsem 项目中管理 initrd 的重打包与 guest 二进制,避免每次完整重建即可迭代。
主要能力:just exec 会先执行 capsem-gate pack-initrd,gate 暂存配置的 guest 二进制、原子重打包 host initrd、重新生成 manifest 和哈希别名,再生成运行时配置。capsem-init 优先使用 initrd 副本而非 rootfs 副本。
涉及二进制:capsem-init、capsem-pty-agent、capsem-net-proxy、capsem-dns-proxy、capsem-mcp-server、capsem-sysutil、capsem-bench-rs、capsem-doctor、capsem-bench、capsem_bench/、diagnostics/。权威清单位于 config/gate.toml 的 [initrd] 段,不要在 recipe、测试或 gate 模块中另建列表。
新增二进制:需更新 config/gate.toml 的 [initrd].binaries 和 guest/artifacts/capsem-init,并补充单元、归档与 VM 内行为测试,更新表格。
构建路径选择:guest 二进制源码或 capsem-init 脚本变更用 just exec;diagnostics/*.py 用 just exec "capsem-doctor";capsem-bashrc、profile 输入、已安装包用 just _build-assets <profile>,这些烘焙进 rootfs 而非 initrd。
安全与限制:guest 二进制只读部署,rootfs 中 chmod 555,initrd 覆盖同样设置 [initrd].binary_mode,权限需两处一致且以 initrd 为准,最终归档由 tests/capsem-build-chain/test_pack_initrd.py 验证。initrd 为 gzip+cpio 归档,由 src/capsem/gate/initrd.py 处理并按内容寻址生成。