instalador: TUI interactivo (disco/identidad/locale/tamaños) sobre el autoinstalador
hammer-install crece una cara humana sin tocar la mecánica EFI/BIOS validada: - sin device + TTY ⇒ interactive_setup: detecta discos (/sys/block, marca el montado como posible medio live), el usuario elige + confirma escribiendo el nombre del disco, y recoge hostname / credencial de root (contraseña vía cryptpw o authorized_keys) / zona horaria (best-effort si hay tzdata) / teclado / tamaños de / y /store. - apply_post_install_config escribe hostname+hosts, reemplaza el hash de root en /etc/shadow, instala authorized_keys, symlinkea localtime y deja install.conf; se llama tras la copia en AMBAS ramas (EFI y BIOS). - con device ⇒ autoinstalador de siempre (iso/efi-install-test intactos); la config sale de env (HAMMER_HOSTNAME/ROOT_PW/ROOT_AUTHKEYS/TZ/KEYMAP). - iso-image.sh: ISO instalador sin AUTO_INSTALL ahora recibe con la TUI en la consola (INSTALLER_INTERACTIVE, default on) y ofrece reiniciar/caer al live. Verificado: scripts/install-tui-test.sh (4/4, dry-run con sysfs+rootfs falsos) + iso-install-test.sh VERDE end-to-end en QEMU (autoinstalador con la config nueva bajo busybox real → disco bootea solo y sirve SSH). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -77,6 +77,15 @@ cp -al "$ROOTFS" "$RFS/root"
|
||||
echo "if /usr/bin/hammer-install '${AUTO_INSTALL}'; then echo 'HAMMER-INSTALL-OK'; else echo 'HAMMER-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
|
||||
# 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 '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'
|
||||
else
|
||||
echo 'exec /sbin/init'
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user