drive-rebuild: APPEND env override para el cmdline del kernel
Generaliza el -append hardcodeado a una env var APPEND (default igual). Útil para el frente kernel-from-source: experimentar con params del kernel sin tocar el script. Documenta el hallazgo del muro pivot_root del bwrap (el bzImage hammer bootea pero bwrap falla porque / es el rootfs absoluto, sin mount padre; rootfstype=tmpfs no lo arregla). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Delta semántico
Ninguna definición cambió: el cambio es de texto, documentación o datos.
1 archivos · +6 −1
- scripts/drive-rebuild.py +6 −1
diff --git a/scripts/drive-rebuild.py b/scripts/drive-rebuild.py
index 9b628d15..5eed8532 100755
--- a/scripts/drive-rebuild.py
+++ b/scripts/drive-rebuild.py
@@ -50,8 +50,13 @@ else:
net = ["-netdev", "user,id=n0", "-device", "e1000,netdev=n0"] if WANT_NET else []
+# APPEND override: por defecto consola serie + initramfs. Útil para experimentar con params del kernel
+# (p.ej. el frente kernel-from-source: el bzImage hammer bootea pero bwrap falla en pivot_root porque /
+# es el rootfs absoluto del namespace; `rootfstype=tmpfs` NO lo arregla — la causa es que / no tiene
+# mount padre, no el tipo de fs). Override con APPEND="…".
+APPEND = os.environ.get("APPEND", "console=ttyS0 rdinit=/sbin/init")
QEMU = (["qemu-system-x86_64", "-m", MEM, "-no-reboot", "-nographic"] + accel + net +
- ["-kernel", KERNEL, "-initrd", CPIO, "-append", "console=ttyS0 rdinit=/sbin/init"])
+ ["-kernel", KERNEL, "-initrd", CPIO, "-append", APPEND])
print(f"==> kernel : {KERNEL}")
print(f"==> initramfs : {CPIO}")