docs: runbook §8c — boot del builder confirmado end-to-end en QEMU

Smoke test real (qemu -cpu Broadwell, initramfs 410 MB gz): el builder rootfs
bootea hasta la shell. arje-zero como PID 1 carga+valida la seed card, instancia
hammerd (pid 60) + console-getty (pid 61), hammerd levanta watcher fanotify +
agent.sock, y la getty deja `~ #` en consola. Mismo boot que Stage 1 pero con el
toolchain adentro — listo para `rebuild-stage1`.

Actualiza la receta de §8c: script boot-builder-vm.sh, MEM=6144, kernel real,
nota de RAM (tmpfs + rebuild en RAM va justo sin KVM).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Sergio
2026-06-11 15:03:30 +00:00
co-authored by Claude Opus 4.8
parent 66d4df4f57
commit 4a35dfb398
+16 -4
View File
@@ -297,14 +297,26 @@ en `/work` ⇒ rebuild **offline y determinista** en la VM (de ahí `fetch` rema
fuente). **No** copia `work/sources` (los árboles ya materializados): es regenerable y pesa varios GB.
Sin `--work-cache`, el rebuild fetchea por red (la seed card trae `networking: full`).
**3. Empaquetar como initramfs y bootear** (igual que §4/§7, `-cpu Broadwell` por AVX):
**3. Empaquetar como initramfs y bootear** (igual que §4/§7, `-cpu Broadwell` por AVX). El script
`scripts/boot-builder-vm.sh` encapsula esto (kernel, MEM, KVM configurables):
```sh
( cd work/builder-rootfs && find . | cpio -o -H newc | gzip ) > builder.cpio.gz
qemu-system-x86_64 -m 1024 -no-reboot -nographic -cpu Broadwell \
-kernel <vmlinuz> -initrd builder.cpio.gz -append "console=ttyS0 rdinit=/sbin/init"
( cd work/builder-rootfs && find . -print0 | cpio --null -o -H newc | gzip -1 ) > work/builder.cpio.gz
./scripts/boot-builder-vm.sh # o el qemu crudo:
qemu-system-x86_64 -m 6144 -no-reboot -nographic -cpu Broadwell \
-kernel /boot/vmlinuz-linux -initrd work/builder.cpio.gz -append "console=ttyS0 rdinit=/sbin/init"
```
> **RAM.** El initramfs se desempaqueta a un tmpfs (~1.2 GB) y el rebuild Rust necesita varios GB
> más, TODO en RAM. Con host ~7 GB y sin KVM va justo y lento (TCG). Sube `MEM` o monta un disco
> para `/work` si el rebuild muere por OOM.
**✅ Boot del builder confirmado (2026-06-11).** El initramfs (410 MB gz, 26 776 entradas) **bootea
end-to-end**: arje-zero despierta como **PID 1**, carga+valida la seed card, instancia los 2 genesis
(**hammerd** pid 60 + **console-getty** pid 61), hammerd levanta su watcher fanotify y el `agent.sock`,
y la getty deja la shell `~ #` en consola. Idéntico al boot de Stage 1 (§7) pero con el toolchain
adentro — listo para el rebuild.
**4. Dentro de la VM**, desde la shell de la consola, correr el driver embebido:
```sh