48 lines
1.9 KiB
Markdown
48 lines
1.9 KiB
Markdown
|
|
---
|
|||
|
|
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 68–69,共 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 68–69 写入和读回一致;
|
|||
|
|
- 真实 `BS-SH-005` 从永久光湖默认经 HLDP 指令进入 Ubuntu;
|
|||
|
|
- Ubuntu 消费回执完成后,下一次普通重启仍进入光湖原生运行时。
|
|||
|
|
|
|||
|
|
任何仅有写入回包、扇区读回或一次性启动的证据,都不能单独证明永久
|
|||
|
|
Linux 退出具备等价恢复能力。
|