# pid1-desde-store.sh — helper compartido por los scripts de imagen: poner en el rootfs fundido el # arje-zero SELLADO, no el que venga arrastrado del directorio base. # # ── POR QUÉ EXISTE ────────────────────────────────────────────────────────────────────────────── # `work/metal-rootfs` se armó a mano en la campaña de metal y quedó CONGELADO: su `arje-zero` era del # 2026-06-19. Nadie lo regeneraba al re-sellar la receta, así que cada imagen de escritorio —GNOME, # KDE, metal, dual— arrancaba con un PID1 de hace mes y medio **sin que nada lo dijera**. # # Así se comió un fix real: el `identity mismatch` del bus del fractal estaba arreglado río arriba # (tawasuyu ce96cfa8d) y la VM seguía imprimiendo el mensaje viejo, porque el binario de la imagen no # venía de la receta. Se pasaron sesiones creyendo que era un bug nuestro por arreglar. # # El síntoma es engañoso porque el directorio base es LEGÍTIMO para todo lo demás —busybox, firmware, # el kernel EFI-stub, la estructura de /etc—: sólo la pieza que TAMBIÉN es receta se queda atrás, y # justo esa es PID1. De ahí la regla: # # **si algo del rootfs tiene receta, la imagen lo toma del artefacto sellado, no de la copia # congelada.** # # El artefacto se elige por `hammer hash` sobre la receta —el que corresponde a la receta de HOY—, no # por el más reciente del store: con dos artefactos del mismo paquete conviviendo, la fecha miente. # Mismo criterio que ya usaban los inyectores de arje-logind-compat y arje-polkit-compat. # # ABORTA si no hay artefacto. Es deliberado: seguir con el PID1 congelado es exactamente el modo de # falla que este helper existe para cerrar, y un aviso que no corta se lee como ruido. # # Uso: . scripts/lib/pid1-desde-store.sh ; inyectar_pid1 "$MERGED" "$BASE" # Var: AZ=