This commit is contained in:
henrov committed 2026-09-08 16:00:21 +02:00
1 parent 6b443f3370
commit ec38927eff
7 files changed
+4775

No files matched your search

+223
View File
@@ -0,0 +1,223 @@
###############################################################################
# Aamsveen Audio Kiosk - Linux Mint 22.3 / Ubiquity
#
# WARNING:
#
# The selected target disk is COMPLETELY ERASED.
#
# The installer deliberately excludes the USB installer media.
###############################################################################
###############################################################################
# Debconf
###############################################################################
d-i debconf/priority string critical
###############################################################################
# Locale
###############################################################################
d-i debian-installer/locale string nl_NL
###############################################################################
# Keyboard
###############################################################################
d-i keyboard-configuration/xkb-keymap select us(euro)
d-i keyboard-configuration/layoutcode string us
d-i keyboard-configuration/variantcode string euro
d-i keyboard-configuration/ask_detect boolean false
###############################################################################
# Network
###############################################################################
d-i netcfg/choose_interface select auto
###############################################################################
# Time zone
###############################################################################
d-i clock-setup/utc boolean true
d-i time/zone string Europe/Amsterdam
###############################################################################
# User
###############################################################################
d-i passwd/user-fullname string AV Admin
d-i passwd/username string av-admin
d-i passwd/user-password password @)av-admin@^
d-i passwd/user-password-again password @)av-admin@^
###############################################################################
# Hostname
###############################################################################
d-i netcfg/get_hostname string audio-kiosk
d-i netcfg/get_domain string
###############################################################################
# Partitioning
###############################################################################
d-i partman-auto/method string regular
###############################################################################
# Dynamically determine the installation disk.
#
# list-devices usb-partition identifies partitions belonging to USB devices.
# Their parent disks are excluded.
#
# We then select the first non-removable disk.
#
# IMPORTANT:
#
# There is deliberately NO hard-coded /dev/sda fallback.
# If no safe target can be identified, installation stops instead of
# accidentally overwriting the USB installer.
###############################################################################
d-i partman/early_command string \
USB_DISKS=""; \
for USB_PART in $(list-devices usb-partition 2>/dev/null || true); do \
USB_PARENT="$(lsblk -ndo PKNAME "$USB_PART" 2>/dev/null || true)"; \
if [ -n "$USB_PARENT" ]; then \
USB_DISKS="$USB_DISKS /dev/$USB_PARENT"; \
fi; \
done; \
TARGET_DISK=""; \
for DISK in $(list-devices disk); do \
SKIP=0; \
for USB_DISK in $USB_DISKS; do \
if [ "$DISK" = "$USB_DISK" ]; then \
SKIP=1; \
break; \
fi; \
done; \
[ "$SKIP" -eq 1 ] && continue; \
BASENAME="$(basename "$DISK")"; \
if [ -r "/sys/class/block/$BASENAME/removable" ]; then \
if [ "$(cat "/sys/class/block/$BASENAME/removable")" = "1" ]; then \
continue; \
fi; \
fi; \
TARGET_DISK="$DISK"; \
break; \
done; \
if [ -z "$TARGET_DISK" ]; then \
echo "Aamsveen installer ERROR: no safe internal target disk found" \
> /var/log/aamsveen-partition.log; \
exit 1; \
fi; \
debconf-set partman-auto/disk "$TARGET_DISK"; \
debconf-set grub-installer/bootdev "$TARGET_DISK"; \
echo "Aamsveen installer: USB disks = $USB_DISKS" \
> /var/log/aamsveen-partition.log; \
echo "Aamsveen installer: TARGET disk = $TARGET_DISK" \
>> /var/log/aamsveen-partition.log; \
lsblk -e7 -o NAME,PATH,TYPE,SIZE,RM,RO,TRAN,FSTYPE,MOUNTPOINTS \
>> /var/log/aamsveen-partition.log 2>&1
###############################################################################
# GPT
###############################################################################
d-i partman-partitioning/default_label string gpt
d-i partman-partitioning/choose_label select gpt
###############################################################################
# Explicit UEFI partition recipe
#
# 512 MiB EFI System Partition
# remainder root filesystem
# 2 GiB swap
#
# No separate /boot partition is created.
# This deliberately keeps the partition layout simple.
###############################################################################
d-i partman-auto/expert_recipe string \
aamsveen-uefi :: \
538 538 538 fat32 \
$iflabel{ gpt } \
$primary{ } \
$reusemethod{ } \
method{ efi } \
format{ } \
. \
8192 8192 -1 ext4 \
$primary{ } \
method{ format } \
format{ } \
use_filesystem{ } \
filesystem{ ext4 } \
mountpoint{ / } \
. \
2048 2048 2048 linux-swap \
$primary{ } \
$reusemethod{ } \
method{ swap } \
format{ } \
.
d-i partman-auto/choose_recipe select aamsveen-uefi
###############################################################################
# Remove existing storage configuration
###############################################################################
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
###############################################################################
# Do not preserve old partitions
###############################################################################
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
###############################################################################
# UEFI
###############################################################################
d-i partman-efi/non_efi_system boolean true
###############################################################################
# Filesystem
###############################################################################
d-i partman/mount_style select uuid
###############################################################################
# Bootloader
###############################################################################
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean false
# The exact disk is supplied dynamically by partman/early_command.
d-i grub-installer/bootdev string default
###############################################################################
# Ubiquity
###############################################################################
ubiquity ubiquity/summary string
ubiquity ubiquity/confirm-partitioning boolean true
ubiquity ubiquity/reboot boolean true
###############################################################################
# Installation behaviour
###############################################################################
d-i cdrom-detect/eject boolean false
###############################################################################
# Finish
###############################################################################
d-i finish-install/reboot_in_progress note