hololake-system-architecture/product-source/hololake-platform/standards/GLS-0843.md

48 lines
1.9 KiB
Markdown
Raw Normal View History

---
id: GLS-0843
title: Guanghu Native Recovery Protocol
acronym: GHNRP
status: registered-implementation-gated
date: 2026-07-31
---
# GLS-0843 — 光湖原生恢复协议
GHNRP 定义光湖 OS 在自身作为永久默认运行时,如何用 HLDP 指令切换到
施工与恢复环境。它不把 Linux 的标准 `grubenv` 当成光湖的控制面,也不
依赖文件在 ext4 中当前碰巧落到哪个物理块。
## 固定信标
- 光湖拥有 `/dev/vda` 的 LBA 6869共 1024 字节;
- 编码采用 GRUB environment block以便施工期引导器直接读取
- 唯一可加载变量为 `guanghu_recovery`
- 唯一有效动作值为 `ubuntu`
- GRUB 读取路径固定为整盘块列表 `(hd0)68+2`
## 双向语义
1. GOSK/GHAL 收到精确的 `HLDP-RECOVER-OS!`
2. 原生块设备驱动写入激活信标并逐字节读回;
3. 光湖内核复位;
4. GRUB 白名单加载 `guanghu_recovery`,本次选择 Ubuntu 恢复入口;
5. GRUB 不写裸块Ubuntu 恢复启动服务先校验激活信标,再写入密封的
清空模板并逐字节读回;
6. 永久默认仍保持 `guanghu-native-once`,下次普通启动返回光湖 OS。
GRUB 对整盘裸块列表只拥有白名单读取和本次入口选择权。消费权属于恢复
环境中的 `guanghu-native-recovery-beacon-clear.service`。这避免把
GRUB 对普通 `grubenv` 文件的写能力错误外推到稀疏裸块列表。
## 验收边界
以下四项必须同时成立:
- QEMU 中空信标选择光湖、激活信标选择 Ubuntu、恢复服务消费后再次
选择光湖;
- 原生 GHAL 对 LBA 6869 写入和读回一致;
- 真实 `BS-SH-005` 从永久光湖默认经 HLDP 指令进入 Ubuntu
- Ubuntu 消费回执完成后,下一次普通重启仍进入光湖原生运行时。
任何仅有写入回包、扇区读回或一次性启动的证据,都不能单独证明永久
Linux 退出具备等价恢复能力。