renombre: los instaladores pasan a takana-* — y el peligro no era el fichero, era el PROTOCOLO
ADR 0016 los listaba entre los CONGELADOS; el usuario pidió descongelarlos al abrir el SDD 28. La
enmienda queda escrita en el propio ADR, que si no la etiqueta deja de describir el hecho.
`hammer-install.sh` → `takana-install.sh`, `hammer-live-install.sh` → `takana-live-install.sh`,
`hammer-banner.txt` → `takana-banner.txt`, `BRIEFING-hammer.md` → `BRIEFING-takana.md`.
**Lo que hacía caro esto no es el nombre del fichero.** El instalador se inyecta en el ISO como
`/usr/bin/hammer-install` y su éxito se detecta con un `grep` de `HAMMER-INSTALL-OK` desde TRES
scripts de prueba. Renombrar un solo lado los deja casando NADA — sin fallar —, que es literalmente
el modo en que `atribuir-fallos.py` quedó mudo cuando el renombre movió el target de `tracing`.
Se renombraron las dos puntas en el mismo commit (`/usr/bin/takana-install`,
`TAKANA-INSTALL-OK/FAIL`, `TAKANA_INSTALL_*`, `work/takana-install.img`, `/run/takana-install`),
se comprobó por `grep` que no quede ningún token viejo fuera del ADR, y —lo que decide— se CORRIÓ
`install-tui-test.sh`: 4/4 casos verdes.
Las tres `TAKANA_INSTALL_*` caen al nombre viejo (`${TAKANA_INSTALL_X:-${HAMMER_INSTALL_X:-}}`):
el llamador puede ser un ISO anterior al renombre. Misma convención que `TAKANA_ROOT_PW` unas
líneas más arriba en ese mismo script.
NO se tocó `/usr/sbin/hammer-recover` ni su hook de arranque —renombrarlo rompe máquinas YA
INSTALADAS, no el repo—: sobrevive intacto dentro del script renombrado, verificado por conteo
antes y después (8 ocurrencias). Tampoco `hammerd`, `hammer-edit` (su `name` está en la ruta del
store), `/var/lib/hammer`, `HAMMER_LIVE` ni los siete literales de hash.
De paso: `scripts/.hammer-banner.txt.kate-swp` era un swap de editor commiteado por error. Fuera.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RomoxEGZUhaT4pob1QSX5x
This commit is contained in:
@@ -74,15 +74,15 @@ cp -al "$ROOTFS" "$RFS/root"
|
||||
echo 'echo "HAMMER-ISO-LIVE-OK: medio live arrancado desde El Torito"'
|
||||
if [ -n "${AUTO_INSTALL:-}" ]; then
|
||||
echo "echo 'HAMMER-AUTO-INSTALL: instalando a ${AUTO_INSTALL}'"
|
||||
echo "if /usr/bin/hammer-install '${AUTO_INSTALL}'; then echo 'HAMMER-INSTALL-OK'; else echo 'HAMMER-INSTALL-FAIL'; fi"
|
||||
echo "if /usr/bin/takana-install '${AUTO_INSTALL}'; then echo 'TAKANA-INSTALL-OK'; else echo 'TAKANA-INSTALL-FAIL'; fi"
|
||||
echo '/bin/busybox sync'
|
||||
echo '/bin/busybox poweroff -f'
|
||||
elif [ "${INSTALLER:-0}" = 1 ] && [ "${INSTALLER_INTERACTIVE:-1}" = 1 ]; then
|
||||
# ISO instalador SIN AUTO_INSTALL ⇒ recibir al usuario con la TUI del instalador en la consola.
|
||||
# Tras instalar (o cancelar) ofrece reiniciar o caer al live. HAMMER_INSTALL_INTERACTIVE fuerza el
|
||||
# Tras instalar (o cancelar) ofrece reiniciar o caer al live. TAKANA_INSTALL_INTERACTIVE fuerza el
|
||||
# modo aunque /dev/console no pase el test -t (a esta altura stdin puede no ser un tty).
|
||||
echo '[ -e /dev/console ] && exec 0</dev/console 1>/dev/console 2>/dev/console'
|
||||
echo 'HAMMER_INSTALL_INTERACTIVE=1 /usr/bin/hammer-install || true'
|
||||
echo 'TAKANA_INSTALL_INTERACTIVE=1 /usr/bin/takana-install || true'
|
||||
echo 'echo; echo "Instalación finalizada. [r] reiniciar · [Enter] shell en vivo"'
|
||||
echo 'read -r _a || _a=""'
|
||||
echo 'case "$_a" in r|R) /bin/busybox reboot -f ;; *) exec /sbin/init ;; esac'
|
||||
@@ -94,10 +94,10 @@ chmod +x "$RFS/root/init"
|
||||
|
||||
# --- INSTALLER=1: payload de instalación a disco DESDE el live (refinamiento #1) ---
|
||||
# Bundle kernel + GRUB (boot.img + core.img MBR-prefix + módulos) bajo /usr/lib/hammer/install/ y el
|
||||
# instalador en /usr/bin/hammer-install. El core.img se arma acá (build-time, el host tiene
|
||||
# instalador en /usr/bin/takana-install. El core.img se arma acá (build-time, el host tiene
|
||||
# grub-mkimage); el live NO lo necesita — sólo dd's. core prefix (hd0,msdos1)/boot/grub para boot MBR.
|
||||
if [ "${INSTALLER:-0}" = 1 ]; then
|
||||
echo "==> INSTALLER=1: bundling payload de instalación a disco (kernel + GRUB MBR + hammer-install)"
|
||||
echo "==> INSTALLER=1: bundling payload de instalación a disco (kernel + GRUB MBR + takana-install)"
|
||||
IPL="$RFS/root/usr/lib/hammer/install"
|
||||
mkdir -p "$IPL/grub/i386-pc" "$IPL/kernel"
|
||||
cp "$KERNEL" "$IPL/kernel/bzImage"; chmod 0644 "$IPL/kernel/bzImage"
|
||||
@@ -116,7 +116,7 @@ if [ "${INSTALLER:-0}" = 1 ]; then
|
||||
# core.img para disco MBR: prefix a la 1ª partición msdos, módulos de disco (biosdisk/part_msdos/ext2).
|
||||
grub-mkimage -O i386-pc -p '(hd0,msdos1)/boot/grub' -o "$IPL/grub/core.img" \
|
||||
biosdisk part_msdos ext2 normal configfile linux echo ls boot search
|
||||
install -m 0755 "$ROOT/scripts/hammer-live-install.sh" "$RFS/root/usr/bin/hammer-install"
|
||||
install -m 0755 "$ROOT/scripts/takana-live-install.sh" "$RFS/root/usr/bin/takana-install"
|
||||
# hammer-recover (static musl): auto-sana un upgrade interrumpido al arranque del sistema instalado.
|
||||
RECOVER_BIN="$ROOT/target/x86_64-unknown-linux-musl/release/hammer-recover"
|
||||
if [ ! -x "$RECOVER_BIN" ]; then
|
||||
|
||||
Reference in New Issue
Block a user