booter: synthesize seed capabilities so more peers mirror MBR block 0

After a successful swarm boot, fill seedCapabilityInfo with stock
kernelCapabilityWords when the pre-MBR capabilities RPC was skipped,
failed, or lacked words, so peer system seed eligibility passes and
localRAM can serve block 0. Add BARE_OS_PEER_SEED_SYNTHETIC_CAPABILITIES
(opt-out) and BARE_OS_PEER_SEED_ADVERTISE_IMAGE_TIP_ID; document tip
propagation in env appendix, users manual, and handbook. Extend peer
seed tests.
This commit is contained in:
Raven Scott
2026-04-24 01:14:35 -04:00
parent 595a7d5910
commit 54626ef873
6 changed files with 148 additions and 3 deletions
+1 -1
View File
@@ -28,7 +28,7 @@ The **booter** owns the **consumer** side: it looks up peers on the same topic,
You almost always run them as **two separate processes** (two terminal tabs or windows). The booter needs a live seeder (or an already-replicated drive) to make progress within its boot timeout.
**Resilience — peer system seeding:** By default, after a node has booted it **may** serve **MBR block 0** and mirror the publishers early **`bare_os.*`** RPC hints to other cold booters (same Hyperswarm topic) when eligibility passes. Set **`BARE_OS_PEER_SYSTEM_SEED=0`** (or **`false`** / **`no`** / **`off`**) on the **host** to turn this off. This does not remove the need for at least one trusted publisher for the first tip, but it spreads block and RPC load across up-to-date peers. Optional **`BARE_OS_SEED_IMAGE_TIP_ID`** on the seeder and **`BARE_OS_PEER_SEED_IMAGE_TIP_ID`** on helpers pin the advertised image tip; see the [environment appendix](../docs/reference/environment-and-posix-appendix.md).
**Resilience — peer system seeding:** By default, after a node has booted it **may** serve **MBR block 0** and mirror the publishers early **`bare_os.*`** RPC hints to other cold booters (same Hyperswarm topic) when eligibility passes. Set **`BARE_OS_PEER_SYSTEM_SEED=0`** (or **`false`** / **`no`** / **`off`**) on the **host** to turn this off. This does not remove the need for at least one trusted publisher for the first tip, but it spreads block and RPC load across up-to-date peers. Set the same **`BARE_OS_SEED_IMAGE_TIP_ID`** on the seeder and on booters (or **`BARE_OS_PEER_SEED_ADVERTISE_IMAGE_TIP_ID`** / **`BARE_OS_PEER_SEED_IMAGE_TIP_ID`** on helpers) so every node advertises one **image tip**; optional **`BARE_OS_PEER_SEED_IMAGE_TIP_ID`** on a helper still gates whether *that* node may mirror. By default **`BARE_OS_PEER_SEED_SYNTHETIC_CAPABILITIES`** stays **on** so helpers can mirror **MBR block 0** even when the pre-MBR capability RPC was skipped or incomplete — see the [environment appendix](../docs/reference/environment-and-posix-appendix.md).
```mermaid
flowchart LR