diff --git a/iso/preseed.cfg b/iso/preseed.cfg new file mode 100644 index 0000000..8bfc3d1 --- /dev/null +++ b/iso/preseed.cfg @@ -0,0 +1,69 @@ +# Yino preseed configuration for Debian 13 (Trixie) +# Performs an unattended install, prompting only for: +# 1. LUKS encryption passphrase +# 2. Full name, username, and password + +# Locale and keyboard +d-i debian-installer/locale string en_US.UTF-8 +d-i keyboard-configuration/xkb-keymap select us + +# Network — skip (offline DVD install) +d-i netcfg/enable boolean false + +# Mirror — no network mirror +d-i apt-setup/use_mirror boolean false + +# Clock +d-i clock-setup/utc boolean true +d-i time/zone string UTC + +# Partitioning — encrypted LVM with btrfs root +d-i partman-auto/method string crypto +d-i partman-lvm/device_remove_lvm boolean true +d-i partman-md/device_remove_md boolean true +d-i partman-lvm/confirm boolean true +d-i partman-lvm/confirm_nooverwrite boolean true +d-i partman-auto-lvm/guided_size string max +d-i partman-auto-crypto/erase_disks boolean false +d-i partman/default_filesystem string btrfs +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 boolean true +d-i partman/confirm_nooverwrite boolean true + +# Packages — minimal base + essentials +tasksel tasksel/first multiselect standard +d-i pkgsel/include string sudo btrfs-progs + +# Don't eject CD (fails in QEMU, causes prompt loop) +d-i cdrom-detect/eject boolean false + +# Skip upgrade check (offline install, nothing to upgrade) +d-i pkgsel/upgrade select none + +# No security/updates services (offline) +d-i apt-setup/services-select multiselect + +# No popularity contest +popularity-contest popularity-contest/participate boolean false + +# GRUB +d-i grub-installer/only_debian boolean true +d-i grub-installer/bootdev string default + +# Skip additional media scan +d-i apt-setup/cdrom/set-first boolean false +d-i apt-setup/cdrom/set-next boolean false +d-i apt-setup/cdrom/set-failed boolean false + +# Finish +d-i finish-install/reboot_in_progress note + +# Post-install: enable auto-login on tty1 for the created user +d-i preseed/late_command string \ + USER=$(grep ':x:1000:' /target/etc/passwd | cut -d: -f1); \ + mkdir -p /target/etc/systemd/system/getty@tty1.service.d; \ + echo '[Service]' > /target/etc/systemd/system/getty@tty1.service.d/autologin.conf; \ + echo 'ExecStart=' >> /target/etc/systemd/system/getty@tty1.service.d/autologin.conf; \ + echo "ExecStart=-/sbin/agetty --autologin $USER --noclear %I \$TERM" >> /target/etc/systemd/system/getty@tty1.service.d/autologin.conf