Last active
April 24, 2025 10:30
-
-
Save olivierlambert/31201e9b205eca8cdd2863dfd2240505 to your computer and use it in GitHub Desktop.
Debian 12 preseed file
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Locale Setup | |
d-i debian-installer/language string en | |
d-i debian-installer/country string US | |
d-i debian-installer/locale string en_US.UTF-8 | |
# Keyboard Setup | |
d-i keyboard-configuration/xkb-keymap select us | |
# Clock Setup | |
d-i time/zone string US/Eastern | |
# Configure hardware clock | |
d-i clock-setup/utc boolean true | |
d-i clock-setup/utc-auto boolean true | |
# set above to false if making a bootable USB to run on same system as Windows | |
# User Setup | |
d-i passwd/root-login boolean true | |
d-i passwd/root-password-again password debian | |
d-i passwd/root-password password debian | |
d-i passwd/user-fullname string debian | |
d-i passwd/user-uid string 1000 | |
d-i passwd/user-password password debian | |
d-i passwd/user-password-again password debian | |
d-i passwd/username string debian | |
# Package Setup | |
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 | |
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 | |
tasksel tasksel/first multiselect ssh-server, standard | |
popularity-contest popularity-contest/participate boolean false | |
d-i pkgsel/include string sudo, unattended-upgrades, dpkg, cloud-init, cloud-guest-utils, cloud-initramfs-growroot, cloud-image-utils, cloud-utils | |
# Whether to upgrade packages after debootstrap | |
d-i pkgsel/upgrade select full-upgrade | |
# Disk configuration | |
d-i partman-basicfilesystems/choose_label string gpt | |
d-i partman-basicfilesystems/default_label string gpt | |
d-i partman-partitioning/choose_label string gpt | |
d-i partman-partitioning/default_label string gpt | |
d-i partman/choose_label string gpt | |
d-i partman/default_label string gpt | |
partman-partitioning partman-partitioning/choose_label select gpt | |
d-i partman-auto/disk string /dev/xvda | |
d-i partman-auto/method string regular | |
d-i partman-auto/expert_recipe string \ | |
root-swap :: \ | |
1000 1000 0 linux-swap \ | |
$primary{ } \ | |
method{ swap } format{ } . \ | |
1000 20000 -1 ext4 \ | |
$primary{ } \ | |
method{ format } format{ } \ | |
use_filesystem{ } filesystem{ ext4 } \ | |
mountpoint{ / } . \ | |
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 | |
d-i grub-installer/only_debian boolean true | |
d-i grub-installer/with_other_os boolean true | |
d-i grub-installer/bootdev string /dev/xvda | |
# install tools + fix cloudconfig | |
d-i preseed/late_command string \ | |
in-target /bin/sh -c "echo 'manage_etc_hosts: true' >> /etc/cloud/cloud.cfg"; \ | |
in-target wget https://gitlab.com/xen-project/xen-guest-agent/-/jobs/6041608357/artifacts/raw/target/release/xen-guest-agent_0.4.0_amd64.deb; in-target export RUNLEVEL=1; in-target dpkg -i xen-guest-agent_0.4.0_amd64.deb | |
# Final Setup | |
d-i finish-install/reboot_in_progress note |
How could I set a static network for the VM? When I start the creation, the screen shows that the network auto-configuration failed because there is no DHCP server.
In the "preseed.cfg" file I tried to set the following configuration, but it didn't work:
# Network
d-i netcfg/disable_autoconfig boolean true
d-i netcfg/get_nameservers string 8.8.8.8 8.8.4.4
d-i netcfg/get_ipaddress string 192.168.1.100
d-i netcfg/get_netmask string 255.255.255.0
d-i netcfg/get_gateway string 192.168.1.1
d-i netcfg/confirm_static boolean true
@cairoapcampos try to add this to your preseed :
d-i netcfg/disable_dhcp boolean true
d-i netcfg/choose_interface select <auto or interfacename>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The late_command no longer works, the URI gives a 404. Here is a patch which uses a repo instead. This probably best handled in a provisioner section rather than the pre-seed but regardless this is what I got working for me:
preeseed.cfg: