安装器与恢复
HomeHarbor 提供 full/tiny live installer 和 recovery 环境。installer 负责把 release payload 写入目标磁盘;recovery 负责本地状态查看、恢复正常 boot,以及提供 fastboot TCP 服务。
Installer
入口项目是 src/HomeHarbor.Installer。默认运行 TUI,也提供三个命令:
HomeHarbor.Installer install-disk --target /dev/sdX --system-ota PATH --kernel-ota PATH --public-key PATH --confirm "ERASE /dev/sdX"
HomeHarbor.Installer install-disk --target /dev/sdX --channel-file PATH --public-key PATH --dry-run
HomeHarbor.Installer verify-ota-manifest <manifest> <ed25519-public-key.pem>
HomeHarbor.Installer boot-state init|set-default|set-oneshot|set-recovery|clear-next|path <esp> [...]主要 installer 参数:
| 名称 | 默认值 | 说明 |
|---|---|---|
--mode full|tiny | tiny | installer mode |
--payload-dir PATH | /opt/homeharbor-installer/payloads | ISO 内 payload 路径 |
--system-ota PATH | 空 | 显式 system OTA |
--external-payload-dir DIR | 自动搜索 | 外部 payload 搜索目录;可重复传多个目录 |
--public-key PATH | /etc/homeharbor/release.pub.pem | manifest 校验公钥 |
--stable-channel-url URL | GitHub stable channel URL | stable channel metadata |
--daily-channel-url URL | GitHub daily channel URL | daily channel metadata |
install-disk 支持 --list-disks、--target、--system-ota、--system-manifest、--kernel-ota、--channel-file、--public-key、--verify-script、--confirm、--yes 和 --dry-run。storage unlock 选项已经不再属于 installer 参数;--data-unlock、--data-passphrase-file 和 --tpm2-pcrs 会明确失败并提示改用 Web OOBE storage setup。
Full 与 tiny ISO
live installer 镜像由 C# image builder 流水线构建。
HomeHarbor.ImageBuilder system-build <manifest> <version> [repo-root]full ISO 可以携带完整 payload;tiny ISO 更适合从 release/channel 下载 payload。
Boot state
boot state 由 HomeHarbor.Tooling.BootState 和 EFI boot variables 管理。Installer 与 Agent 都暴露 boot-state 子命令,支持:
initset-defaultset-oneshotset-recoveryclear-nextpath
OTA 或 recovery 切换时应通过这些工具更新 boot 状态,而不是手写 EFI variable 或 loader 文件。
Recovery console
入口项目是 src/HomeHarbor.Recovery。默认启动交互式 console:
s:显示homeharbor-fastbootd.service状态。r:reboot。n:设置默认 normal boot 到 A/A,然后 reboot。q:redraw。
默认 state 目录是 /var/lib/homeharbor/recovery。
Fastboot TCP
通过参数启动:
HomeHarbor.Recovery --fastboot-tcp默认监听:
- 地址:
HOMEHARBOR_FASTBOOTD_LISTEN或0.0.0.0 - 端口:
HOMEHARBOR_FASTBOOTD_PORT或5554
服务实现 fastboot TCP handshake,并支持 getvar、download、flash、erase、set_active、reboot 和 reboot-recovery。
VM 验证
安装和恢复不能在开发主机上用集成测试替代。完整验证需要 libvirt、default network、guestfish、fastboot 和 image build toolchain,并由 VM-oriented tests 或脚本执行。