diff --git a/docs/runbooks/stage1-vm-boot.md b/docs/runbooks/stage1-vm-boot.md index 38be05cb..0a165b09 100644 --- a/docs/runbooks/stage1-vm-boot.md +++ b/docs/runbooks/stage1-vm-boot.md @@ -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 -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