FABRIC-3 XLVIII.8: #92 Task 1, the proxy Zuse -- built, tested first, regressions [skip ci]
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2
This commit is contained in:
@@ -6303,3 +6303,30 @@ failed was right to: it refuses a line that is not what was printed. The capture
|
||||
stays headless"; minting Zuse on a stick's first boot (`docs/v4.0.0/STICK.md` section 6) is #92.
|
||||
**Ruled:** #92 into alpha.4, so the PC stick downloaded from alpha.4 on boots to
|
||||
`[zuse@Hera] ok>` at its first boot.
|
||||
|
||||
### 8. #92, Task 1: the proxy Zuse -- a stick's first boot mints its own (2026-11-08)
|
||||
|
||||
Plan `docs/v4.0.0/plans/2026-10-29-stick-5-proxy-zuse-and-real-zuse.md`, Task 1; `STICK.md` section 6.
|
||||
|
||||
- **Built:** the genesis marker's version 2 (`zuse_genesis_marker_v2_t`: the proxy's key and the
|
||||
real Zuse's, zero until she is minted), read and written by the v4 boot alone
|
||||
(`kernel/src/v4/sk_v4_marker.c`; a version 1 marker -- the minted pair's -- reads as a proxy with
|
||||
no real Zuse). The identity check and the genesis mint are split out of v3's
|
||||
`capsule_zuse_boot.c` (`capsule_zuse_boot_check_key`, `capsule_zuse_boot_genesis_mint`) as D1
|
||||
split the check from the VM; v3's callers are unchanged in behaviour. On v4
|
||||
(`sk_v4_identity.c`), a stick with no marker and a blank identity partition mints the proxy Zuse,
|
||||
reads her back, and only then writes the marker that names her; she is logged in. A marker with a
|
||||
real key gives the proxy no session (the fixed screen is Task 5).
|
||||
- **Tested first, seen to fail:** `genesis` (a fresh data stick, booted twice) failed on amd64 with
|
||||
"Zuse: no genesis on this disk -- the system stays headless", both boots. After: `genesis` passes
|
||||
on all three ISAs (first boot minted, second recognised, not minted again); `stick_genesis` -- the
|
||||
PC stick as built, no `STICK_PAIR` -- reaches `[zuse@Hera] ok>` with nothing set up: plug and play.
|
||||
Regressions pass: `zuse`, `stick_boot`, `stick_zuse`, `stick_artemis`, `two_sticks`,
|
||||
`artemis_unsigned`, `raw_ident`, `hotplug`, `midpull`, `waitpull`, `typeahead`, the seven GPT
|
||||
modes, `v3_keys`.
|
||||
- **My slip, written down:** `stick_boot` and `stick_artemis` were first run without
|
||||
`KERNEL_ARGS=--log-level=info`, which their disk-size checks read; they failed on that check alone,
|
||||
and passed when rerun at the info level. Both runs' logs are in the tree.
|
||||
- **Left as it is (the plan's order):** a genesis whose marker write fails leaves Zuse on the
|
||||
identity partition with no marker naming her; that stick then logs no one in until it is
|
||||
rewritten. Said once, "Zuse: genesis marker write failed -- headless".
|
||||
|
||||
Reference in New Issue
Block a user