diff --git a/TODO.md b/TODO.md index 1013617..2662055 100644 --- a/TODO.md +++ b/TODO.md @@ -6,3 +6,4 @@ [ ] switch to ipxe boot (see https://github.com/vultr/packer-plugin-vultr/issues/197) [ ] switch to uv venv for ansible [-] try other preseed.cfg's from the gist +[ ] add partitioning to preseed.cfg \ No newline at end of file diff --git a/debian.ipxe b/debian.ipxe new file mode 100644 index 0000000..a2208bb --- /dev/null +++ b/debian.ipxe @@ -0,0 +1,13 @@ +#!ipxe + +set mirror http://deb.debian.org/debian +set release trixie +set arch amd64 +set preseed https://files.svdb.dev/preseed.cfg + +kernel ${mirror}/dists/${release}/main/installer-${arch}/current/images/netboot/debian-installer/${arch}/linux +initrd ${mirror}/dists/${release}/main/installer-${arch}/current/images/netboot/debian-installer/${arch}/initrd.gz + +imgargs linux auto=true priority=critical interface=auto url=${preseed} + +boot diff --git a/preseed.cfg b/preseed.cfg new file mode 100644 index 0000000..32219ee --- /dev/null +++ b/preseed.cfg @@ -0,0 +1,75 @@ +#_preseed_V1 + +# Localization +d-i debian-installer/language string en +d-i debian-installer/country string NL +d-i debian-installer/locale string en_US.UTF-8 + +# Keyboard +d-i keyboard-configuration/xkb-keymap select us + +# Networking +d-i netcfg/choose_interface select auto +d-i netcfg/get_hostname string unassigned-hostname +d-i netcfg/get_domain string unassigned-domain + +# Mirror +d-i mirror/country string manual +d-i mirror/http/hostname string deb.debian.org +d-i mirror/http/directory string /debian +d-i mirror/http/proxy string +d-i mirror/suite string stable +d-i mirror/udeb/suite string stable + +# Account +d-i passwd/root-login boolean false +d-i passwd/root-password password changeme +d-i passwd/root-password-again password changeme +d-i passwd/user-fullname string ghost +d-i passwd/username string ghost +d-i passwd/user-password password changeme +d-i passwd/user-password-again password changeme +d-i passwd/user-uid string 1000 + +# Time +d-i time/zone string Europe/Amsterdam +d-i clock-setup/utc boolean true +d-i clock-setup/ntp boolean true +d-i clock-setup/ntp-server string nl.pool.ntp.org + +# Partitioning +d-i partman-auto/method string lvm +d-i partman-auto-lvm/guided_size string max +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/choose_recipe select multi +d-i partman-md/confirm boolean true +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 +d-i apt-setup/contrib boolean true +d-i apt-setup/non-free boolean true +d-i apt-setup/non-free-firmware boolean true +d-i apt-setup/disable-cdrom-entries boolean true +d-i pkgsel/run_tasksel boolean false +d-i pkgsel/include string openssh-server build-essential +d-i pkgsel/upgrade select full-upgrade +d-i hw-detect/firmware-lookup string never +d-i hw-detect/load_firmware boolean true +popularity-contest popularity-contest/participate boolean false + +# Boot loader +d-i grub-installer/only_debian boolean true +d-i grub-installer/with_other_os boolean false +d-i grub-installer/bootdev string default +d-i debian-installer/add-kernel-opts string nousb + +# Finish +d-i finish-install/reboot_in_progress note +d-i cdrom-detect/eject boolean false +d-i debian-installer/exit/poweroff boolean true