CSIT-111: Add Packer based framework to auto-generate disk images
[csit.git] / resources / tools / disk-image-builder / ubuntu / html / preseed.cfg
1 #### Contents of the preconfiguration file (for trusty)
2 ### Localization
3 # Preseeding only locale sets language, country and locale.
4 d-i debian-installer/locale string en_US
5
6 # The values can also be preseeded individually for greater flexibility.
7 #d-i debian-installer/language string en
8 #d-i debian-installer/country string NL
9 #d-i debian-installer/locale string en_GB.UTF-8
10 # Optionally specify additional locales to be generated.
11 #d-i localechooser/supported-locales multiselect en_US.UTF-8, nl_NL.UTF-8
12
13 # Keyboard selection.
14 # Disable automatic (interactive) keymap detection.
15 d-i console-setup/ask_detect boolean false
16 d-i keyboard-configuration/xkb-keymap select us
17 # To select a variant of the selected layout:
18 #d-i keyboard-configuration/xkb-keymap select us(dvorak)
19 # d-i keyboard-configuration/toggle select No toggling
20
21 ### Network configuration
22 # Disable network configuration entirely. This is useful for cdrom
23 # installations on non-networked devices where the network questions,
24 # warning and long timeouts are a nuisance.
25 #d-i netcfg/enable boolean false
26
27 # netcfg will choose an interface that has link if possible. This makes it
28 # skip displaying a list if there is more than one interface.
29 d-i netcfg/choose_interface select auto
30
31 # To pick a particular interface instead:
32 #d-i netcfg/choose_interface select eth1
33
34 # To set a different link detection timeout (default is 3 seconds).
35 # Values are interpreted as seconds.
36 #d-i netcfg/link_wait_timeout string 10
37
38 # If you have a slow dhcp server and the installer times out waiting for
39 # it, this might be useful.
40 #d-i netcfg/dhcp_timeout string 60
41 #d-i netcfg/dhcpv6_timeout string 60
42
43 # If you prefer to configure the network manually, uncomment this line and
44 # the static network configuration below.
45 #d-i netcfg/disable_autoconfig boolean true
46
47 # If you want the preconfiguration file to work on systems both with and
48 # without a dhcp server, uncomment these lines and the static network
49 # configuration below.
50 #d-i netcfg/dhcp_failed note
51 #d-i netcfg/dhcp_options select Configure network manually
52
53 # Static network configuration.
54 #
55 # IPv4 example
56 #d-i netcfg/get_ipaddress string 192.168.1.42
57 #d-i netcfg/get_netmask string 255.255.255.0
58 #d-i netcfg/get_gateway string 192.168.1.1
59 #d-i netcfg/get_nameservers string 192.168.1.1
60 #d-i netcfg/confirm_static boolean true
61 #
62 # IPv6 example
63 #d-i netcfg/get_ipaddress string fc00::2
64 #d-i netcfg/get_netmask string ffff:ffff:ffff:ffff::
65 #d-i netcfg/get_gateway string fc00::1
66 #d-i netcfg/get_nameservers string fc00::1
67 #d-i netcfg/confirm_static boolean true
68
69 # Any hostname and domain names assigned from dhcp take precedence over
70 # values set here. However, setting the values still prevents the questions
71 # from being shown, even if values come from dhcp.
72 d-i netcfg/get_hostname string unassigned-hostname
73 d-i netcfg/get_domain string unassigned-domain
74
75 # If you want to force a hostname, regardless of what either the DHCP
76 # server returns or what the reverse DNS entry for the IP is, uncomment
77 # and adjust the following line.
78 #d-i netcfg/hostname string somehost
79
80 # Disable that annoying WEP key dialog.
81 d-i netcfg/wireless_wep string
82 # The wacky dhcp hostname that some ISPs use as a password of sorts.
83 #d-i netcfg/dhcp_hostname string radish
84
85 # If non-free firmware is needed for the network or other hardware, you can
86 # configure the installer to always try to load it, without prompting. Or
87 # change to false to disable asking.
88 #d-i hw-detect/load_firmware boolean true
89
90 ### Network console
91 # Use the following settings if you wish to make use of the network-console
92 # component for remote installation over SSH. This only makes sense if you
93 # intend to perform the remainder of the installation manually.
94 #d-i anna/choose_modules string network-console
95 #d-i network-console/authorized_keys_url string http://10.0.0.1/openssh-key
96 #d-i network-console/password password r00tme
97 #d-i network-console/password-again password r00tme
98 # Use this instead if you prefer to use key-based authentication
99 #d-i network-console/authorized_keys_url http://host/authorized_keys
100
101 ### Mirror settings
102 # If you select ftp, the mirror/country string does not need to be set.
103 #d-i mirror/protocol string ftp
104 #d-i mirror/country string manual
105 #d-i mirror/http/hostname string archive.ubuntu.com
106 #d-i mirror/http/directory string /ubuntu
107 #d-i mirror/http/proxy string
108
109 # Alternatively: by default, the installer uses CC.archive.ubuntu.com where
110 # CC is the ISO-3166-2 code for the selected country. You can preseed this
111 # so that it does so without asking.
112 #d-i mirror/http/mirror select CC.archive.ubuntu.com
113
114 # Suite to install.
115 #d-i mirror/suite string trusty
116 # Suite to use for loading installer components (optional).
117 #d-i mirror/udeb/suite string trusty
118 # Components to use for loading installer components (optional).
119 #d-i mirror/udeb/components multiselect main, restricted
120
121 ### Account setup
122 # Skip creation of a root account (normal user account will be able to
123 # use sudo). The default is false; preseed this to true if you want to set
124 # a root password.
125 d-i passwd/root-login boolean true
126 # Alternatively, to skip creation of a normal user account.
127 d-i passwd/make-user boolean false
128
129 # Root password, either in clear text
130 d-i passwd/root-password password csit
131 d-i passwd/root-password-again password csit
132 # or encrypted using a crypt(3)  hash.
133 #d-i passwd/root-password-crypted password [crypt(3) hash]
134
135 # To create a normal user account.
136 #d-i passwd/user-fullname string Ubuntu User
137 #d-i passwd/username string ubuntu
138 # Normal user's password, either in clear text
139 #d-i passwd/user-password password insecure
140 #d-i passwd/user-password-again password insecure
141 # or encrypted using a crypt(3) hash.
142 #d-i passwd/user-password-crypted password [crypt(3) hash]
143 # Create the first user with the specified UID instead of the default.
144 #d-i passwd/user-uid string 1010
145 # The installer will warn about weak passwords. If you are sure you know
146 # what you're doing and want to override it, uncomment this.
147 #d-i user-setup/allow-password-weak boolean true
148 #d-i passwd/user-fullname string Packer - Temp User
149 #d-i passwd/username string packer
150 #d-i passwd/user-password password packer
151 #d-i passwd/user-password-again password packer
152 d-i user-setup/allow-password-weak boolean true
153
154 # The user account will be added to some standard initial groups. To
155 # override that, use this.
156 #d-i passwd/user-default-groups string audio cdrom video
157
158 # Set to true if you want to encrypt the first user's home directory.
159 d-i user-setup/encrypt-home boolean false
160
161 ### Clock and time zone setup
162 # Controls whether or not the hardware clock is set to UTC.
163 d-i clock-setup/utc boolean true
164
165 # You may set this to any valid setting for $TZ; see the contents of
166 # /usr/share/zoneinfo/ for valid values.
167 d-i time/zone string US/Eastern
168
169 # Controls whether to use NTP to set the clock during the install
170 d-i clock-setup/ntp boolean false
171 # NTP server to use. The default is almost always fine here.
172 #d-i clock-setup/ntp-server string ntp.example.com
173
174 ### Partitioning
175 ## Partitioning example
176 # If the system has free space you can choose to only partition that space.
177 # This is only honoured if partman-auto/method (below) is not set.
178 # Alternatives: custom, some_device, some_device_crypto, some_device_lvm.
179 #d-i partman-auto/init_automatically_partition select biggest_free
180
181 # Alternatively, you may specify a disk to partition. If the system has only
182 # one disk the installer will default to using that, but otherwise the device
183 # name must be given in traditional, non-devfs format (so e.g. /dev/sda
184 # and not e.g. /dev/discs/disc0/disc).
185 # For example, to use the first SCSI/SATA hard disk:
186 #d-i partman-auto/disk string /dev/sda
187 # In addition, you'll need to specify the method to use.
188 # The presently available methods are:
189 # - regular: use the usual partition types for your architecture
190 # - lvm:     use LVM to partition the disk
191 # - crypto:  use LVM within an encrypted partition
192 #d-i partman-auto/method string lvm
193 d-i partman-auto/method string regular
194
195 # If one of the disks that are going to be automatically partitioned
196 # contains an old LVM configuration, the user will normally receive a
197 # warning. This can be preseeded away...
198 #d-i partman-lvm/device_remove_lvm boolean true
199 # The same applies to pre-existing software RAID array:
200 #d-i partman-md/device_remove_md boolean true
201 # And the same goes for the confirmation to write the lvm partitions.
202 #d-i partman-lvm/confirm boolean true
203 #d-i partman-lvm/confirm_nooverwrite boolean true
204
205 # For LVM partitioning, you can select how much of the volume group to use
206 # for logical volumes.
207 #d-i partman-auto-lvm/guided_size string max
208 #d-i partman-auto-lvm/guided_size string 10GB
209 #d-i partman-auto-lvm/guided_size string 50%
210
211 # You can choose one of the three predefined partitioning recipes:
212 # - atomic: all files in one partition
213 # - home:   separate /home partition
214 # - multi:  separate /home, /var, and /tmp partitions
215 #d-i partman-auto/choose_recipe select atomic
216
217 # Or provide a recipe of your own...
218 # If you have a way to get a recipe file into the d-i environment, you can
219 # just point at it.
220 #d-i partman-auto/expert_recipe_file string /hd-media/recipe
221
222 d-i partman-basicfilesystems/no_swap boolean false
223 d-i partman-auto/expert_recipe string myroot :: 1000 50 -1 ext4 \
224      $primary{ } $bootable{ } method{ format }                  \
225      format{ } use_filesystem{ } filesystem{ ext4 }             \
226      mountpoint{ / }                                            \
227     .
228 d-i partman-auto/choose_recipe select myroot
229
230 # If not, you can put an entire recipe into the preconfiguration file in one
231 # (logical) line. This example creates a small /boot partition, suitable
232 # swap, and uses the rest of the space for the root partition:
233 #d-i partman-auto/expert_recipe string                         \
234 #      boot-root ::                                            \
235 #              40 50 100 ext3                                  \
236 #                      $primary{ } $bootable{ }                \
237 #                      method{ format } format{ }              \
238 #                      use_filesystem{ } filesystem{ ext3 }    \
239 #                      mountpoint{ /boot }                     \
240 #              .                                               \
241 #              500 10000 1000000000 ext3                       \
242 #                      method{ format } format{ }              \
243 #                      use_filesystem{ } filesystem{ ext3 }    \
244 #                      mountpoint{ / }                         \
245 #              .                                               \
246 #              64 512 300% linux-swap                          \
247 #                      method{ swap } format{ }                \
248 #              .
249
250 # If you just want to change the default filesystem from ext3 to something
251 # else, you can do that without providing a full recipe.
252 #d-i partman/default_filesystem string ext4
253
254 # The full recipe format is documented in the file partman-auto-recipe.txt
255 # included in the 'debian-installer' package or available from D-I source
256 # repository. This also documents how to specify settings such as file
257 # system labels, volume group names and which physical devices to include
258 # in a volume group.
259
260 # This makes partman automatically partition without confirmation, provided
261 # that you told it what to do using one of the methods above.
262 d-i partman-partitioning/confirm_write_new_label boolean true
263 d-i partman/choose_partition select finish
264 d-i partman/confirm boolean true
265 d-i partman/confirm_nooverwrite boolean true
266
267 ## Partitioning using RAID
268 # The method should be set to "raid".
269 #d-i partman-auto/method string raid
270 # Specify the disks to be partitioned. They will all get the same layout,
271 # so this will only work if the disks are the same size.
272 #d-i partman-auto/disk string /dev/sda /dev/sdb
273
274 # Next you need to specify the physical partitions that will be used. 
275 #d-i partman-auto/expert_recipe string \
276 #      multiraid ::                                         \
277 #              1000 5000 4000 raid                          \
278 #                      $primary{ } method{ raid }           \
279 #              .                                            \
280 #              64 512 300% raid                             \
281 #                      method{ raid }                       \
282 #              .                                            \
283 #              500 10000 1000000000 raid                    \
284 #                      method{ raid }                       \
285 #              .
286
287 # Last you need to specify how the previously defined partitions will be
288 # used in the RAID setup. Remember to use the correct partition numbers
289 # for logical partitions. RAID levels 0, 1, 5, 6 and 10 are supported;
290 # devices are separated using "#".
291 # Parameters are:
292 # <raidtype> <devcount> <sparecount> <fstype> <mountpoint> \
293 #          <devices> <sparedevices>
294
295 #d-i partman-auto-raid/recipe string \
296 #    1 2 0 ext3 /                    \
297 #          /dev/sda1#/dev/sdb1       \
298 #    .                               \
299 #    1 2 0 swap -                    \
300 #          /dev/sda5#/dev/sdb5       \
301 #    .                               \
302 #    0 2 0 ext3 /home                \
303 #          /dev/sda6#/dev/sdb6       \
304 #    .
305
306 # For additional information see the file partman-auto-raid-recipe.txt
307 # included in the 'debian-installer' package or available from D-I source
308 # repository.
309
310 # This makes partman automatically partition without confirmation.
311 d-i partman-md/confirm boolean true
312 d-i partman-partitioning/confirm_write_new_label boolean true
313 d-i partman/choose_partition select finish
314 d-i partman/confirm boolean true
315 d-i partman/confirm_nooverwrite boolean true
316
317 ## Controlling how partitions are mounted
318 # The default is to mount by UUID, but you can also choose "traditional" to
319 # use traditional device names, or "label" to try filesystem labels before
320 # falling back to UUIDs.
321 #d-i partman/mount_style select uuid
322 d-i partman/mount_style select traditional
323
324 ### Base system installation
325 # Configure a path to the preconfigured base filesystem. This can be used to
326 # specify a path for the installer to retrieve the filesystem image that will
327 # be deployed to disk and used as a base system for the installation.
328 #d-i live-installer/net-image string /install/filesystem.squashfs
329  
330 # Configure APT to not install recommended packages by default. Use of this
331 # option can result in an incomplete system and should only be used by very
332 # experienced users.
333 #d-i base-installer/install-recommends boolean false
334
335 # The kernel image (meta) package to be installed; "none" can be used if no
336 # kernel is to be installed.
337 #d-i base-installer/kernel/image string linux-generic
338
339 ### Apt setup
340 # You can choose to install restricted and universe software, or to install
341 # software from the backports repository.
342 #d-i apt-setup/restricted boolean true
343 #d-i apt-setup/universe boolean true
344 #d-i apt-setup/backports boolean true
345 # Uncomment this if you don't want to use a network mirror.
346 d-i apt-setup/use_mirror boolean false
347 d-i apt-setup/services-select-ubuntu multiselect ""
348
349 # Select which update services to use; define the mirrors to be used.
350 # Values shown below are the normal defaults.
351 #d-i apt-setup/services-select multiselect security
352 #d-i apt-setup/security_host string security.ubuntu.com
353 #d-i apt-setup/security_path string /ubuntu
354
355 # Additional repositories, local[0-9] available
356 #d-i apt-setup/local0/repository string \
357 #       http://local.server/ubuntu trusty main
358 #d-i apt-setup/local0/comment string local server
359 # Enable deb-src lines
360 #d-i apt-setup/local0/source boolean true
361 # URL to the public key of the local repository; you must provide a key or
362 # apt will complain about the unauthenticated repository and so the
363 # sources.list line will be left commented out
364 #d-i apt-setup/local0/key string http://local.server/key
365
366 # By default the installer requires that repositories be authenticated
367 # using a known gpg key. This setting can be used to disable that
368 # authentication. Warning: Insecure, not recommended.
369 #d-i debian-installer/allow_unauthenticated boolean true
370
371 # Uncomment this to add multiarch configuration for i386
372 #d-i apt-setup/multiarch string i386
373
374
375 ### Package selection
376 #tasksel tasksel/first multiselect ubuntu-desktop
377 #tasksel tasksel/first multiselect lamp-server, print-server
378 #tasksel tasksel/first multiselect kubuntu-desktop
379 tasksel tasksel/first multiselect server
380 tasksel tasksel/first multiselect ssh-server
381
382 # Individual additional packages to install
383 #d-i pkgsel/include string openssh-server build-essential
384 d-i pkgsel/include string openssh-server
385 # Whether to upgrade packages after debootstrap.
386 # Allowed values: none, safe-upgrade, full-upgrade
387 d-i pkgsel/upgrade select none
388
389 # Language pack selection
390 #d-i pkgsel/language-packs multiselect de, en, zh
391
392 # Policy for applying updates. May be "none" (no automatic updates),
393 # "unattended-upgrades" (install security updates automatically), or
394 # "landscape" (manage system with Landscape).
395 d-i pkgsel/update-policy select none
396
397 # Some versions of the installer can report back on what software you have
398 # installed, and what software you use. The default is not to report back,
399 # but sending reports helps the project determine what software is most
400 # popular and include it on CDs.
401 #popularity-contest popularity-contest/participate boolean false
402
403 # By default, the system's locate database will be updated after the
404 # installer has finished installing most packages. This may take a while, so
405 # if you don't want it, you can set this to "false" to turn it off.
406 d-i pkgsel/updatedb boolean false
407
408 ### Boot loader installation
409 # Grub is the default boot loader (for x86). If you want lilo installed
410 # instead, uncomment this:
411 #d-i grub-installer/skip boolean true
412 # To also skip installing lilo, and install no bootloader, uncomment this
413 # too:
414 #d-i lilo-installer/skip boolean true
415
416
417 # This is fairly safe to set, it makes grub install automatically to the MBR
418 # if no other operating system is detected on the machine.
419 d-i grub-installer/only_debian boolean true
420
421 # This one makes grub-installer install to the MBR if it also finds some other
422 # OS, which is less safe as it might not be able to boot that other OS.
423 d-i grub-installer/with_other_os boolean true
424
425 # Due notably to potential USB sticks, the location of the MBR can not be
426 # determined safely in general, so this needs to be specified:
427 #d-i grub-installer/bootdev  string /dev/sda
428 # To install to the first device (assuming it is not a USB stick):
429 #d-i grub-installer/bootdev  string default
430
431 # Alternatively, if you want to install to a location other than the mbr,
432 # uncomment and edit these lines:
433 #d-i grub-installer/only_debian boolean false
434 #d-i grub-installer/with_other_os boolean false
435 #d-i grub-installer/bootdev  string (hd0,1)
436 # To install grub to multiple disks:
437 #d-i grub-installer/bootdev  string (hd0,1) (hd1,1) (hd2,1)
438
439 # Optional password for grub, either in clear text
440 #d-i grub-installer/password password r00tme
441 #d-i grub-installer/password-again password r00tme
442 # or encrypted using an MD5 hash, see grub-md5-crypt(8).
443 #d-i grub-installer/password-crypted password [MD5 hash]
444
445 # Use the following option to add additional boot parameters for the
446 # installed system (if supported by the bootloader installer).
447 # Note: options passed to the installer will be added automatically.
448 #d-i debian-installer/add-kernel-opts string nousb
449
450 ### Finishing up the installation
451 # During installations from serial console, the regular virtual consoles
452 # (VT1-VT6) are normally disabled in /etc/inittab. Uncomment the next
453 # line to prevent this.
454 #d-i finish-install/keep-consoles boolean true
455
456 # Avoid that last message about the install being complete.
457 d-i finish-install/reboot_in_progress note
458
459 # This will prevent the installer from ejecting the CD during the reboot,
460 # which is useful in some situations.
461 #d-i cdrom-detect/eject boolean false
462
463 # This is how to make the installer shutdown when finished, but not
464 # reboot into the installed system.
465 #d-i debian-installer/exit/halt boolean true
466 # This will power off the machine instead of just halting it.
467 #d-i debian-installer/exit/poweroff boolean true
468
469 ### Preseeding other packages
470 # Depending on what software you choose to install, or if things go wrong
471 # during the installation process, it's possible that other questions may
472 # be asked. You can preseed those too, of course. To get a list of every
473 # possible question that could be asked during an install, do an
474 # installation, and then run these commands:
475 #   debconf-get-selections --installer > file
476 #   debconf-get-selections >> file
477
478
479 #### Advanced options
480 ### Running custom commands during the installation
481 # d-i preseeding is inherently not secure. Nothing in the installer checks
482 # for attempts at buffer overflows or other exploits of the values of a
483 # preconfiguration file like this one. Only use preconfiguration files from
484 # trusted locations! To drive that home, and because it's generally useful,
485 # here's a way to run any shell command you'd like inside the installer,
486 # automatically.
487
488 # This first command is run as early as possible, just after
489 # preseeding is read.
490 #d-i preseed/early_command string anna-install some-udeb
491 # This command is run immediately before the partitioner starts. It may be
492 # useful to apply dynamic partitioner preseeding that depends on the state
493 # of the disks (which may not be visible when preseed/early_command runs).
494 #d-i partman/early_command \
495 #       string debconf-set partman-auto/disk "$(list-devices disk | head -n1)"
496 # This command is run just before the install finishes, but when there is
497 # still a usable /target directory. You can chroot to /target and use it
498 # directly, or use the apt-install and in-target commands to easily install
499 # packages and run commands in the target system.
500 #d-i preseed/late_command string apt-install zsh; in-target chsh -s /bin/zsh
501
502 d-i preseed/late_command string \
503     in-target sed -i /etc/ssh/sshd_config -e 's/[# ]*PermitRootLogin.*/PermitRootLogin yes/' ;