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 <noreply@anthropic.com>
This commit is contained in:
2026-05-25 23:33:20 +00:00
parent b73b8fab65
commit d3b05f981f
2 changed files with 9 additions and 5 deletions
+2 -1
View File
@@ -18,6 +18,8 @@ cat > /etc/systemd/system/kiosk-firstboot.service << 'EOF'
Description=SeniorNet Kiosk First-Boot Setup Description=SeniorNet Kiosk First-Boot Setup
After=network-online.target After=network-online.target
Wants=network-online.target Wants=network-online.target
Conflicts=getty@tty1.service
After=getty@tty1.service
[Service] [Service]
Type=oneshot Type=oneshot
@@ -26,7 +28,6 @@ StandardInput=tty
TTYPath=/dev/tty1 TTYPath=/dev/tty1
TTYReset=yes TTYReset=yes
IgnoreSIGPIPE=no IgnoreSIGPIPE=no
SendSIGHUP=yes
RemainAfterExit=no RemainAfterExit=no
[Install] [Install]
+7 -4
View File
@@ -38,13 +38,16 @@ d-i passwd/root-password-again password kiosk
# Handles /dev/sda, /dev/nvme0n1, /dev/vda, etc. # Handles /dev/sda, /dev/nvme0n1, /dev/vda, etc.
d-i preseed/early_command string \ d-i preseed/early_command string \
DISK=$(ls /sys/block/ | grep -Ev '^(loop|sr|fd|ram)' | head -1); \ DISK=$(ls /sys/block/ | grep -Ev '^(loop|sr|fd|ram)' | head -1); \
debconf-set partman-auto/disk "/dev/$DISK"; \ debconf-set partman-auto/disk "/dev/$DISK" || true; \
debconf-set grub-installer/bootdev "/dev/$DISK"; \ debconf-set grub-installer/bootdev "/dev/$DISK" || true; \
ETH=$(ls /sys/class/net/ | grep -E '^(eth|en)' | head -1); \ ETH=$(ls /sys/class/net/ 2>/dev/null | grep -E '^(eth|en)' | head -1 || true); \
[ -n "$ETH" ] && debconf-set netcfg/choose_interface "$ETH" if [ -n "$ETH" ]; then debconf-set netcfg/choose_interface "$ETH" || true; fi; \
true
d-i partman-auto/method string regular d-i partman-auto/method string regular
d-i partman-auto/choose_recipe select atomic 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_write_new_label boolean true
d-i partman/confirm boolean true d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true d-i partman/confirm_nooverwrite boolean true