scripts: tarea selfhost-verify end-to-end (correr el 4/4 in-VM en KVM)
El veredicto pleno 4/4 in-VM pide KVM + RAM holgada; el host de dev (7.6 GB, sin KVM) colgó por presión de RAM bajo TCG a los ~17 min del make de musl. Esta tarea traslada la verificación a una máquina capaz (laptop) en un solo comando. - scripts/selfhost-verify.sh: pipeline completo — stage0 → stage1 baseline → stage2 (ancla la ref of_tree) → inyecta overlay.ko/e1000.ko del kernel local al toolchain → ensambla el builder con la ref embebida → empaqueta (cpio --owner=root:root) → bootea + driver no-interactivo → veredicto. KVM auto-detect; PRESEED=hammerd para el camino barato (preseed C+arje, sólo hammerd in-VM). Cross-check entre máquinas: compara su of_tree(stage1) contra EXPECT_REF (198f209f… conocida-buena del dev). - scripts/drive-rebuild.py: driver no-interactivo parametrizado (env: BUILDER_CPIO, KERNEL, MEM, CPU, KVM, NET, DEADLINE, LOG). Bootea, espera la shell de arje-zero, manda rebuild-stage1 y sale 0 si REPRODUCIBLE / 1 si DIVERGENTE. (Versión de repo del driver ad-hoc que vivía en work/.) - scripts/boot-builder-vm.sh: añade la NIC e1000 (NET=1 por defecto) — el vendoring Rust necesita red. - runbook §8c: documenta la tarea y el muro de RAM del host de dev. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
9e3d6862ca
commit
7025f93bcd
@@ -53,10 +53,16 @@ echo "==> mem : ${MEM} MiB"
|
||||
echo "==> en la consola, tras el boot: corre rebuild-stage1"
|
||||
echo
|
||||
|
||||
# NIC e1000 (qemu user-mode 10.0.2.0/24): el rebuild Rust hace `cargo vendor` desde crates.io ⇒
|
||||
# necesita red. El builder la levanta (insmod e1000.ko + eth0 estática). NET=0 la desactiva.
|
||||
net=()
|
||||
[[ "${NET:-1}" == "1" ]] && net=(-netdev user,id=n0 -device e1000,netdev=n0)
|
||||
|
||||
exec qemu-system-x86_64 \
|
||||
-m "$MEM" \
|
||||
-no-reboot -nographic \
|
||||
"${accel[@]}" \
|
||||
"${net[@]}" \
|
||||
-kernel "$KERNEL" \
|
||||
-initrd "$INITRAMFS" \
|
||||
-append "console=ttyS0 rdinit=/sbin/init"
|
||||
|
||||
Reference in New Issue
Block a user