Skip to content

安装器与恢复

HomeHarbor 提供 full/tiny live installer 和 recovery 环境。installer 负责把 release payload 写入目标磁盘;recovery 负责本地状态查看、恢复正常 boot,以及提供 fastboot TCP 服务。

Installer

入口项目是 src/HomeHarbor.Installer。默认运行 TUI,也提供三个命令:

bash
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|tinytinyinstaller mode
--payload-dir PATH/opt/homeharbor-installer/payloadsISO 内 payload 路径
--system-ota PATH显式 system OTA
--external-payload-dir DIR自动搜索外部 payload 搜索目录;可重复传多个目录
--public-key PATH/etc/homeharbor/release.pub.pemmanifest 校验公钥
--stable-channel-url URLGitHub stable channel URLstable channel metadata
--daily-channel-url URLGitHub daily channel URLdaily 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 流水线构建。

text
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 子命令,支持:

  • init
  • set-default
  • set-oneshot
  • set-recovery
  • clear-next
  • path

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

通过参数启动:

bash
HomeHarbor.Recovery --fastboot-tcp

默认监听:

  • 地址:HOMEHARBOR_FASTBOOTD_LISTEN0.0.0.0
  • 端口:HOMEHARBOR_FASTBOOTD_PORT5554

服务实现 fastboot TCP handshake,并支持 getvardownloadflasheraseset_activerebootreboot-recovery

VM 验证

安装和恢复不能在开发主机上用集成测试替代。完整验证需要 libvirt、default network、guestfishfastboot 和 image build toolchain,并由 VM-oriented tests 或脚本执行。

HomeHarbor appliance control plane documentation.