1#_preseed_V1
2#### Contents of the preconfiguration file (for bookworm)
3### Localization
4# Preseeding only locale sets language, country and locale.
5d-i debian-installer/locale string en_US.UTF-8
6
7# Keyboard selection.
8d-i keyboard-configuration/xkb-keymap select us
9# d-i keyboard-configuration/toggle select No toggling
10
11# netcfg will choose an interface that has link if possible. This makes it
12# skip displaying a list if there is more than one interface.
13d-i netcfg/choose_interface select auto
14
15# Any hostname and domain names assigned from dhcp take precedence over
16# values set here. However, setting the values still prevents the questions
17# from being shown, even if values come from dhcp.
18d-i netcfg/get_hostname string debian-1
19d-i netcfg/get_domain string
20
21# Mirror protocol:
22d-i mirror/country string manual
23d-i mirror/http/hostname string deb.debian.org
24d-i mirror/http/directory string /debian
25d-i mirror/http/proxy string
26
27# Skip creation of a root account (normal user account will be able to
28# use sudo).
29d-i passwd/root-login boolean false
30
31# To create a normal user account.
32d-i passwd/user-fullname string vsoc 01
33d-i passwd/username string vsoc-01
34# Normal user's password, either in clear text
35d-i passwd/user-password password cuttlefish
36d-i passwd/user-password-again password cuttlefish
37
38# Controls whether or not the hardware clock is set to UTC.
39d-i clock-setup/utc boolean true
40
41# You may set this to any valid setting for $TZ; see the contents of
42# /usr/share/zoneinfo/ for valid values.
43d-i time/zone string US/Eastern
44
45# Controls whether to use NTP to set the clock during the install
46d-i clock-setup/ntp boolean true
47
48# Choose disk
49d-i partman/early_command string \
50  NUMOFDEVICES=$(list-devices disk | wc -l); \
51  COUNTER=0; \
52  while [ "$COUNTER" -lt "$NUMOFDEVICES" ]; do \
53    COUNTER=$((COUNTER+1)); \
54    if [ "$COUNTER" -eq 1 ]; then \
55      DEVICE1=$(list-devices disk|head -n1); \
56    else \
57      DEVICE1=$(list-devices disk|head -n$COUNTER|tail -1); \
58    fi; \
59    if [ "$DEVICE1" = "/dev/nvme0n1" ]; then \
60      DEVICE_FINAL="$DEVICE1"; \
61      break; \
62    elif [ "$DEVICE1" = "/dev/sda" ]; then \
63      DEVICE_FINAL="$DEVICE1"; \
64      break; \
65    elif [ "$DEVICE1" = "/dev/vda" ]; then \
66      DEVICE_FINAL="$DEVICE1"; \
67      break; \
68    fi; \
69  done; \
70  if [ x"$DEVICE_FINAL" != x ]; then \
71    debconf-set partman-auto/disk "$DEVICE_FINAL"; \
72  fi; \
73  if [ x"$DEVICE_FINAL" != x ]; then \
74    NUMOFPARTS=$(list-devices partition | egrep ^"$DEVICE_FINAL" | wc -l); \
75    if [ "$NUMOFPARTS" -lt 3 ]; then \
76      debconf-set partman-auto/expert_recipe "$(debconf-get partman-auto/expert_recipe_linaro_home_format)"; \
77    else \
78      debconf-set partman-auto/expert_recipe "$(debconf-get partman-auto/expert_recipe_linaro_home)"; \
79    fi; \
80  fi;
81
82# Set the disk to install. If not set, select Guided -> select device.
83#d-i partman-auto/disk string /dev/vda
84d-i partman-auto/method string regular
85
86d-i partman-auto/expert_recipe_linaro_home_format string      \
87      efiroot ::                                              \
88              128 256 512 fat32                               \
89                      $iflabel{ gpt }                         \
90                      $reusemethod{ }                         \
91                      method{ efi } format{ }                 \
92              .                                               \
93              8192 71680 143360 ext4                          \
94                      method{ format } format{ }              \
95                      use_filesystem{ }                       \
96                      filesystem{ ext4 }                      \
97                      mountpoint{ / }                         \
98              .                                               \
99              4096 71680 1000000000 ext4                      \
100                      method{ format } format{ }              \
101                      use_filesystem{ }                       \
102                      filesystem{ ext4 }                      \
103                      mountpoint{ /home }                     \
104              .
105
106d-i partman-auto/expert_recipe_linaro_home string             \
107      efiroot ::                                              \
108              128 256 512 fat32                               \
109                      $iflabel{ gpt }                         \
110                      $reusemethod{ }                         \
111                      method{ efi } format{ }                 \
112              .                                               \
113              8192 71680 143360 ext4                          \
114                      method{ format } format{ }              \
115                      use_filesystem{ }                       \
116                      filesystem{ ext4 }                      \
117                      mountpoint{ / }                         \
118              .                                               \
119              4096 71680 1000000000 ext4                      \
120                      method{ keep }                          \
121                      use_filesystem{ }                       \
122                      filesystem{ ext4 }                      \
123                      mountpoint{ /home }                     \
124              .
125
126#
127d-i partman-auto/choose_recipe select efiroot
128d-i partman-basicfilesystems/no_swap boolean false
129
130# Don't punt for no-method filesystems.  Another undocumented option.
131d-i partman-basicmethods/method_only boolean false
132
133# This makes partman automatically partition without confirmation, provided
134# that you told it what to do using one of the methods above.
135d-i partman-partitioning/confirm_write_new_label boolean true
136d-i partman/choose_partition select finish
137d-i partman/confirm boolean true
138d-i partman/confirm_nooverwrite boolean true
139
140# Force UEFI booting ('BIOS compatibility' will be lost). Default: false.
141d-i partman-efi/non_efi_system boolean true
142
143# Ensure the partition table is GPT - this is required for EFI
144d-i partman-partitioning/choose_label select gpt
145d-i partman-partitioning/default_label string gpt
146
147# Choose, if you want to scan additional installation media
148# (default: false).
149d-i apt-setup/cdrom/set-first boolean false
150# You can choose to install non-free firmware.
151d-i apt-setup/non-free-firmware boolean true
152# You can choose to install non-free and contrib software.
153d-i apt-setup/non-free boolean true
154d-i apt-setup/contrib boolean true
155
156tasksel tasksel/first multiselect standard, web-server, ssh-server
157
158popularity-contest popularity-contest/participate boolean false
159
160grub-efi-arm64 grub2/linux_cmdline_default string quiet amdgpu.runpm=0 amdgpu.dc=0
161
162# This is fairly safe to set, it makes grub install automatically to the UEFI
163# partition/boot record if no other operating system is detected on the machine.
164d-i grub-installer/only_debian boolean true
165d-i grub-installer/force-efi-extra-removable boolean true
166d-i grub-installer/update-nvram boolean false
167
168# Avoid that last message about the install being complete.
169d-i finish-install/reboot_in_progress note
170
171d-i preseed/late_command string \
172  cp -f /after_install_1.sh /target/root; \
173  in-target /bin/sh /root/after_install_1.sh;
174
175