From d3b05f981f41ebefa7bdc8c383689e06f893af72 Mon Sep 17 00:00:00 2001 From: Joe Gitta Date: Mon, 25 May 2026 23:33:20 +0000 Subject: [PATCH] fix: stop getty@tty1 before first-boot setup service to prevent SIGHUP kill Conflicts=getty@tty1 ensures systemd releases TTY1 before kiosk-setup runs interactively. Also add partman/choose_partition select finish to preseed so disk write confirmation is fully automated. Co-Authored-By: Claude Sonnet 4.6 --- preseed-bootstrap.sh | 3 ++- preseed.cfg | 11 +++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/preseed-bootstrap.sh b/preseed-bootstrap.sh index 5846cdb..9240605 100644 --- a/preseed-bootstrap.sh +++ b/preseed-bootstrap.sh @@ -18,6 +18,8 @@ cat > /etc/systemd/system/kiosk-firstboot.service << 'EOF' Description=SeniorNet Kiosk First-Boot Setup After=network-online.target Wants=network-online.target +Conflicts=getty@tty1.service +After=getty@tty1.service [Service] Type=oneshot @@ -26,7 +28,6 @@ StandardInput=tty TTYPath=/dev/tty1 TTYReset=yes IgnoreSIGPIPE=no -SendSIGHUP=yes RemainAfterExit=no [Install] diff --git a/preseed.cfg b/preseed.cfg index 15f6396..5a8981e 100644 --- a/preseed.cfg +++ b/preseed.cfg @@ -38,13 +38,16 @@ d-i passwd/root-password-again password kiosk # Handles /dev/sda, /dev/nvme0n1, /dev/vda, etc. d-i preseed/early_command string \ DISK=$(ls /sys/block/ | grep -Ev '^(loop|sr|fd|ram)' | head -1); \ - debconf-set partman-auto/disk "/dev/$DISK"; \ - debconf-set grub-installer/bootdev "/dev/$DISK"; \ - ETH=$(ls /sys/class/net/ | grep -E '^(eth|en)' | head -1); \ - [ -n "$ETH" ] && debconf-set netcfg/choose_interface "$ETH" + debconf-set partman-auto/disk "/dev/$DISK" || true; \ + debconf-set grub-installer/bootdev "/dev/$DISK" || true; \ + ETH=$(ls /sys/class/net/ 2>/dev/null | grep -E '^(eth|en)' | head -1 || true); \ + if [ -n "$ETH" ]; then debconf-set netcfg/choose_interface "$ETH" || true; fi; \ + true d-i partman-auto/method string regular d-i partman-auto/choose_recipe select atomic +d-i partman-partitioning/confirm_write_new_label boolean true +d-i partman/choose_partition select finish d-i partman/confirm_write_new_label boolean true d-i partman/confirm boolean true d-i partman/confirm_nooverwrite boolean true