Hello all, I am building a preseed file for Debian Bullseye. I am able to configure many advanced features, like LUKS / LVM, etc.However, I still have one question asked at the beginning of the installer, about the keyboard variant (see the attached image)
For instance, I can select British, and then, the installation continues. I am attaching the full preseed file I use. Thanks for your help. André Rodier.
#### Preseed for one drive, using just an LVM partitioning scheme # The values can also be preseeded individually for greater flexibility. d-i debian-installer/language string en_GB:en d-i debian-installer/country string UK d-i debian-installer/locale string en_GB # Optionally specify additional locales to be generated. # d-i localechooser/supported-locales multiselect en_GB.UTF-8 # Keyboard selection. # d-i console-keymaps-at/keymap string gb d-i keyboard-configuration/xkb-keymap select gb d-i keyboard-configuration/variant select British English d-i keyboard-configuration/toggle select No toggling # Do not scan for another CD d-i apt-setup/use_mirror boolean false 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 ### Apt setup # You can choose to install non-free and contrib software. d-i apt-setup/non-free boolean true d-i apt-setup/contrib boolean true d-i apt-setup/use_mirror boolean true # Select which update services to use; define the mirrors to be used. # Values shown below are the normal defaults. d-i apt-setup/services-select multiselect security, updates d-i apt-setup/security_host string security.debian.org # Additional repositories, local[0-9] available # d-i apt-setup/local0/repository string \ # http://dl.google.com/linux/chrome/deb/ stable main # d-i apt-setup/local0/comment string Google chrome # URL to the public key of the local repository; you must provide a key or # apt will complain about the unauthenticated repository and so the # sources.list line will be left commented out # d-i apt-setup/local0/key string https://dl.google.com/linux/linux_signing_key.pub # Enable deb-src lines #d-i apt-setup/local0/source boolean true # By default the installer requires that repositories be authenticated # using a known gpg key. This setting can be used to disable that # authentication. Warning: Insecure, not recommended. #d-i debian-installer/allow_unauthenticated boolean true # Uncomment this to add multiarch configuration for i386 #d-i apt-setup/multiarch string i386 ### Network configuration # Disable network configuration entirely. This is useful for cdrom # installations on non-networked devices where the network questions, # warning and long timeouts are a nuisance. #d-i netcfg/enable boolean false # netcfg will choose an interface that has link if possible. This makes it # skip displaying a list if there is more than one interface. # d-i netcfg/choose_interface select auto d-i netcfg/choose_interface select auto # To set a different link detection timeout (default is 3 seconds). # Values are interpreted as seconds. #d-i netcfg/link_wait_timeout string 10 # If you have a slow dhcp server and the installer times out waiting for # it, this might be useful. #d-i netcfg/dhcp_timeout string 60 #d-i netcfg/dhcpv6_timeout string 60 # If you prefer to configure the network manually, uncomment this line and # the static network configuration below. #d-i netcfg/disable_autoconfig boolean true # Any hostname and domain names assigned from dhcp take precedence over # values set here. However, setting the values still prevents the questions # from being shown, even if values come from dhcp. d-i netcfg/get_hostname string mail d-i netcfg/get_domain string rodier.me # If you want to force a hostname, regardless of what either the DHCP # server returns or what the reverse DNS entry for the IP is, uncomment # and adjust the following line. #d-i netcfg/hostname string somehost # Disable that annoying WEP key dialog. d-i netcfg/wireless_wep string # The wacky dhcp hostname that some ISPs use as a password of sorts. #d-i netcfg/dhcp_hostname string radish # If non-free firmware is needed for the network or other hardware, you can # configure the installer to always try to load it, without prompting. Or # change to false to disable asking. d-i hw-detect/load_firmware boolean false ### Network console1 # Use the following settings if you wish to make use of the network-console # component for remote installation over SSH. This only makes sense if you # intend to perform the remainder of the installation manually. #d-i anna/choose_modules string network-console #d-i network-console/authorized_keys_url string http://10.0.0.1/openssh-key #d-i network-console/password password r00tme #d-i network-console/password-again password r00tme ### Mirror settings # If you select ftp, the mirror/country string does not need to be set. #d-i mirror/protocol string ftp 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 # Suite to install. #d-i mirror/suite string testing # Suite to use for loading installer components (optional). #d-i mirror/udeb/suite string testing ### Account setup # Only create a root account d-i passwd/root-login boolean true d-i passwd/make-user boolean false # Root password, either in clear text d-i passwd/root-password password H0meb0x d-i passwd/root-password-again password H0meb0x # or encrypted using a crypt(3) hash. #d-i passwd/root-password-crypted password [crypt(3) hash] # To create a normal user account. # d-i passwd/user-fullname string # d-i passwd/username string # # Normal user's password, either in clear text # d-i passwd/user-password password # d-i passwd/user-password-again password # or encrypted using a crypt(3) hash. #d-i passwd/user-password-crypted password [crypt(3) hash] # Create the first user with the specified UID instead of the default. #d-i passwd/user-uid string 1010 # The user account will be added to some standard initial groups. To # override that, use this. #d-i passwd/user-default-groups string audio cdrom video ### Clock and time zone setup # Controls whether or not the hardware clock is set to UTC. d-i clock-setup/utc boolean True # You may set this to any valid setting for $TZ; see the contents of # /usr/share/zoneinfo/ for valid values. d-i time/zone string Europe/London # Controls whether to use NTP to set the clock during the install d-i clock-setup/ntp boolean True # NTP server to use. The default is almost always fine here. #d-i clock-setup/ntp-server string ntp.example.com # UEFI Secure Boot password: # shim-signed-common shim/secureboot_key password xxx-wip # Re-enter password to verify: # shim-signed-common shim/secureboot_key_again password xxx-wip ### Partitioning d-i partman-auto/method string crypto # Passphrase for the encryption d-i partman-crypto/passphrase password loreleisc d-i partman-crypto/passphrase-again password loreleisc ### GPT 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 # If one of the disks that are going to be automatically partitioned # contains an old LVM configuration, the user will normally receive a # warning. This can be preseeded away... d-i partman-lvm/device_remove_lvm boolean true # The same applies to pre-existing software RAID array: d-i partman-md/device_remove_md boolean true # And the same goes for the confirmation to write the lvm partitions. d-i partman-lvm/confirm boolean true d-i partman-lvm/confirm_nooverwrite boolean true # You can choose one of the three predefined partitioning recipes: # - atomic: all files in one partition # - home: separate /home partition # - multi: separate /home, /var, and /tmp partitions d-i partman-auto/choose_recipe select boot-crypto # You can define the amount of space that will be used for the LVM volume # group. It can either be a size with its unit (eg. 20 GB), a percentage of # free space or the 'max' keyword. d-i partman-auto-lvm/guided_size string 90% # See https://wiki.debian.org/UEFI grub-efi-amd64 grub2/force_efi_extra_removable boolean true d-i partman-auto/expert_recipe string boot-crypto :: \ 256 \ 256 \ 512 \ free \ $iflabel{ gpt } \ $reusemethod{ } \ method{ efi } \ format{ } \ . \ 256 \ 256 \ 512 \ ext4 \ $defaultignore{ } \ method{ format } \ format{ } \ use_filesystem{ } \ filesystem{ ext4 } \ label{ boot } \ mountpoint{ /boot } \ . \ 23040 \ 25600 \ 28160 \ ext4 \ method{ format } \ format{ } \ use_filesystem{ } \ filesystem{ ext4 } \ lv_name{ home } \ $defaultignore{ } \ $lvmok{ } \ mountpoint{ /home } \ . \ 1152 \ 1280 \ 1408 \ ext4 \ method{ format } \ format{ } \ use_filesystem{ } \ filesystem{ ext4 } \ lv_name{ system } \ $defaultignore{ } \ $lvmok{ } \ mountpoint{ / } \ . \ 288 \ 320 \ 352 \ ext4 \ method{ format } \ format{ } \ use_filesystem{ } \ filesystem{ ext4 } \ lv_name{ root } \ $defaultignore{ } \ $lvmok{ } \ mountpoint{ /root } \ . \ 1152 \ 1280 \ 1408 \ ext4 \ method{ format } \ format{ } \ use_filesystem{ } \ filesystem{ ext4 } \ lv_name{ usr } \ $defaultignore{ } \ $lvmok{ } \ mountpoint{ /usr } \ . \ 288 \ 320 \ 352 \ ext4 \ method{ format } \ format{ } \ use_filesystem{ } \ filesystem{ ext4 } \ lv_name{ tmp } \ $defaultignore{ } \ $lvmok{ } \ mountpoint{ /tmp } \ . \ 2016 \ 2240 \ 2464 \ ext4 \ method{ format } \ format{ } \ use_filesystem{ } \ filesystem{ ext4 } \ lv_name{ var } \ $defaultignore{ } \ $lvmok{ } \ mountpoint{ /var } \ . \ 864 \ 0 \ 1056 \ ext4 \ method{ format } \ format{ } \ use_filesystem{ } \ filesystem{ ext4 } \ lv_name{ log } \ $defaultignore{ } \ $lvmok{ } \ mountpoint{ /var/log } \ . \ 1024 \ 0 \ 2048 \ linux-swap \ $lvmok{ } \ $defaultignore{ } \ lv_name{ swap } \ method{ swap } \ $gptonly{ } \ format{ } \ . # This makes partman automatically partition without confirmation, provided # that you told it what to do using one of the methods above. 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 # When disk encryption is enabled, skip wiping the partitions beforehand. d-i partman-auto-crypto/erase_disks boolean false # This one makes grub-installer install to the MBR even if finds some other OS # too, which is less safe as it might not be able to boot that other OS. d-i grub-installer/with_other_os boolean true d-i grub-installer/only_debian boolean true d-i grub-installer/bootdev string default # For additional information see the file partman-auto-raid-recipe.txt # included in the 'debian-installer' package or available from D-I source # repository. ## Controlling how partitions are mounted # The default is to mount by UUID, but you can also choose "traditional" to # use traditional device names, or "label" to try filesystem labels before # falling back to UUIDs. d-i partman/mount_style select uuid ### Base system installation # Configure APT to not install recommended packages by default. Use of this # option can result in an incomplete system and should only be used by very # experienced users. d-i base-installer/install-recommends boolean false # The kernel image (meta) package to be installed; "none" can be used if no # kernel is to be installed. d-i base-installer/kernel/image string linux-image-amd64 ### Package selection tasksel tasksel/first multiselect standard, ssh-server d-i pkgsel/include string plymouth cryptsetup-initramfs # Whether to upgrade packages after debootstrap. # Allowed values: none, safe-upgrade, full-upgrade d-i pkgsel/upgrade select full-upgrade # Some versions of the installer can report back on what software you have # installed, and what software you use. The default is not to report back, # but sending reports helps the project determine what software is most # popular and include it on CDs. popularity-contest popularity-contest/participate boolean false ### Boot loader installation # This is fairly safe to set, it makes grub install automatically to the MBR # if no other operating system is detected on the machine. d-i grub-installer/only_debian boolean true # This one makes grub-installer install to the MBR if it also finds some other # OS, which is less safe as it might not be able to boot that other OS. d-i grub-installer/with_other_os boolean true # To install to the first device (assuming it is not a USB stick): d-i grub-installer/bootdev string default # Use the following option to add additional boot parameters for the # installed system (if supported by the bootloader installer). # Note: options passed to the installer will be added automatically. #d-i debian-installer/add-kernel-opts string nousb ### Finishing up the installation # During installations from serial console, the regular virtual consoles # (VT1-VT6) are normally disabled in /etc/inittab. Uncomment the next # line to prevent this. #d-i finish-install/keep-consoles boolean true # Avoid that last message about the install being complete. d-i finish-install/reboot_in_progress note # This will prevent the installer from ejecting the CD during the reboot, # which is useful in some situations. # d-i cdrom-detect/eject boolean false # This is how to make the installer shutdown when finished, but not # reboot into the installed system. #d-i debian-installer/exit/halt boolean true # This will power off the machine instead of just halting it. d-i debian-installer/exit/poweroff boolean true # Use the following option to add additional boot parameters for the # installed system (if supported by the bootloader installer). # Note: options passed to the installer will be added automatically. d-i debian-installer/add-kernel-opts string splash #### Advanced options ### Running custom commands during the installation # d-i preseeding is inherently not secure. Nothing in the installer checks # for attempts at buffer overflows or other exploits of the values of a # preconfiguration file like this one. Only use preconfiguration files from # trusted locations! To drive that home, and because it's generally useful, # here's a way to run any shell command you'd like inside the installer, # automatically. # This first command is run as early as possible, just after # preseeding is read. # d-i preseed/early_command string \ # /bin/test -d /media/EFI && /bin/umount /media || /bin/true # This command is run immediately before the partitioner starts. It may be # useful to apply dynamic partitioner preseeding that depends on the state # of the disks (which may not be visible when preseed/early_command runs). d-i partman/early_command string \ /bin/test -d /media/EFI && /bin/umount /media || /bin/true \ /bin/dd if=/dev/zero of="$(/bin/list-devices disk | head -n1)" \ bs=1024 count=65535 # This command is run just before the install finishes, but when there is # still a usable /target directory. You can chroot to /target and use it # directly, or use the apt-install and in-target commands to easily install # packages and run commands in the target system. # Extract the miscellaneous files into the archives. # Fix permissions of the root home folder and system root. d-i preseed/late_command string tar -C /target -zxf /cdrom/simple-cdd/misc.tgz \ && chown -R 0:0 /target/root \ && chown 0:0 /target
Attachment:
installer.png
Description: PNG image