docs: runbook §8c — store refrescado a baseline 4/4 + builder listo

Refresca los 4 componentes (musl, busybox, hammerd, arje-zero — éste re-vendorea el
monorepo) con el toolchain baseline en un store limpio y lo promueve a ./store (el
nativo queda en store-native-bak, gitignored). arje-zero baseline difiere del nativo
⇒ el fix -mcpu=baseline alcanza también al monorepo. Referencia CPU-independiente
full-4/4: of_tree(stage1)=
b3:198f209f5e2c9d3a37411823b2ea42a09074d4e482f044278958b1b86f232dbb (rootfs key
b3:2bd7c91b…, idéntico al del preseed-nativo: el cambio de bytes de arje no movió su
key of_inputs — la escotilla C.2 de nuevo).

Builder re-ensamblado con ese toolchain + hammer baseline + --ref-content 198f209f
(embebida en /etc/hammer/rebuild.env) y repackado a work/builder.cpio.gz (415 MB,
27027 entradas, --owner=root:root). Queda listo para bootear: adentro rebuild-stage1
debe reproducir 198f209f ⇒ ✓ REPRODUCIBLE cerraría el auto-alojamiento 4/4 bit a bit.

.gitignore: ignora /store-*/ (stores scratch/backup) — evita commitear el store.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Sergio
2026-06-11 21:00:11 +00:00
co-authored by Claude Opus 4.8
parent 4fe452848f
commit 9e3d6862ca
2 changed files with 19 additions and 5 deletions
+18 -5
View File
@@ -404,11 +404,24 @@ cierra de paso el AVX/SIGILL del §7 (el binario corre en qemu64 sin `-cpu Broad
que el default NO era baseline) y **los 3 componentes rebuildan limpio** (`stage1 rc=0`). Nueva
referencia **CPU-independiente**: `of_tree(stage1-baseline)=b3:4408e44e2ec51c3769deffcd64dd1f6c2010d414418937c3fa7930a0ded3f845`
(con musl `57b66a2e`+busybox `56664d70`+arje `bd0f8475`+hammerd `d08fd273`, todos baseline salvo arje
que quedó preseed nativo). **Próxima iteración:** re-correr el builder con el toolchain baseline y
verificar que el rebuild in-VM de `hammerd` reproduce `4408e44e…` (✓); para el **4/4** pleno,
rebuild baseline también de arje-zero. Nota de fondo (plan C.2): el flag de CPU **no** entra hoy en
`of_inputs`, así que un cambio de toolchain/flags da cache-hit con bytes viejos — la misma tensión
"pin de toolchain al hash" que conviene cerrar para que Stage 2 no dependa de borrar el store a mano.
que quedó preseed nativo). Nota de fondo (plan C.2): el flag de CPU **no** entra hoy en `of_inputs`,
así que un cambio de toolchain/flags da cache-hit con bytes viejos — la misma tensión "pin de
toolchain al hash" que conviene cerrar para que Stage 2 no dependa de borrar el store a mano (por eso
el refresh de abajo borró los artefactos viejos a mano antes de reconstruir).
**Store refrescado a baseline 4/4 + builder listo (2026-06-11).** Se reconstruyeron los **4**
componentes con el toolchain baseline (incluido `arje-zero`, que re-vendorea el monorepo) en un store
limpio, y se promovió a `./store` (el nativo quedó en `store-native-bak`). `arje-zero` baseline
**difiere** del nativo (char 25) ⇒ baseline aplicado. Referencia **CPU-independiente full-4/4**:
`of_tree(stage1)=b3:198f209f5e2c9d3a37411823b2ea42a09074d4e482f044278958b1b86f232dbb`
(rootfs key `b3:2bd7c91b…`; nótese que el key `of_inputs` es **idéntico** al del preseed-nativo —
el cambio de bytes de arje no movió su key: la misma escotilla C.2). El builder se re-ensambló con
ese toolchain + el `hammer` baseline + `--ref-content 198f209f…` (embebida en
`/etc/hammer/rebuild.env`) y se repackó **`work/builder.cpio.gz`** (415 MB, 27 027 entradas,
`--owner=root:root`). **Listo para bootear:** `scripts/boot-builder-vm.sh` (o `work/drive-rebuild.py`
no-interactivo) → adentro `rebuild-stage1` debe reproducir **`198f209f…`** ⇒ **✓ REPRODUCIBLE**
cerraría el auto-alojamiento **4/4** bit a bit. Bajo TCG es lento y la RAM va justa; el veredicto
pleno gana con **KVM + más RAM** (y boot desde disco).
## 9. Cross-check opcional — `arje-packager`