From 4a35dfb3984e3cfdf1bcffa111b09bcedbf284b1 Mon Sep 17 00:00:00 2001 From: Sergio Date: Thu, 11 Jun 2026 15:03:30 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20runbook=20=C2=A78c=20=E2=80=94=20boot?= =?UTF-8?q?=20del=20builder=20confirmado=20end-to-end=20en=20QEMU?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- docs/runbooks/stage1-vm-boot.md | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) 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