1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
|
# Mostly based on the Ubuntu installation guide
# https://help.ubuntu.com/12.04/installation-guide/
## Figure out if we're kickstarting a system or a profile
#if $getVar('system_name','') != ''
#set $what = "system"
#else
#set $what = "profile"
#end if
# Preseeding only locale sets language, country and locale.
d-i debian-installer/locale string en_US
d-i debian-installer/country string US
d-i debian-installer/language string en
d-i debian-installer/splash boolean false
d-i debian-installer/quiet boolean false
d-i debian-installer/framebuffer boolean true
d-i hw-detect/load_firmware boolean true
# Keyboard selection.
# Disable automatic (interactive) keymap detection.
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string us
d-i console-setup/modelcode string SKIP
d-i keyboard-configuration/variantcode string us
d-i keyboard-configuration/layoutcode string us
d-i keyboard-configuration/model select Generic 105-key (Intl) PC
d-i console-keymaps-at/keymap select us
d-i keyboard-configuration/xkb-keymap select us
d-i preseed/early_command string \
wget -O- \
http://$http_server/cblr/svc/op/script/$what/$name/?script=preseed_early_default | /bin/sh -s; \
debconf-set-selections /tmp/pre_install_network_config
$SNIPPET('preseed_network_config')
# Partition disk manually
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-auto/choose_recipe select atomic
d-i partman/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
# NTP/Time Setup
#if $getVar('timezone', '') != ""
d-i time/zone string $timezone
#else
d-i time/zone string US/Pacific
#end if
d-i clock-setup/utc boolean true
d-i clock-setup/ntp boolean true
#if $getVar('ntp_server', '') == ""
d-i clock-setup/ntp-server string 0.ubuntu.pool.ntp.org
#else
d-i clock-setup/ntp-server string $ntp_server
#end if
# Setup the installation source
d-i mirror/country string manual
d-i mirror/http/hostname string $http_server
d-i mirror/http/directory string $install_source_directory
d-i mirror/http/proxy string
d-i mirror/http/mirror select $http_server
d-i mirror/protocol select http
d-i mirror/udeb/components multiselect main, restricted
#set $os_v = $getVar('os_version','')
#if $os_v and $os_v.lower()[0] > 'p'
# Required at least for 12.10+
d-i live-installer/net-image string http://$http_server/cobbler/ks_mirror/$distro_name/install/filesystem.squashfs
#end if
# root account and password
#if $getVar('username', 'root') != "root"
d-i passwd/root-login boolean false
d-i passwd/make-user boolean true
d-i user-setup/allow-password-weak boolean true
d-i passwd/root-password password root
d-i passwd/root-password-again password root
#set username = $getVar('username', 'root')
d-i passwd/user-fullname string $username
d-i passwd/username string $username
#if $getVar('password', '') != ""
d-i passwd/user-password-crypted password $password
#else
d-i passwd/user-password password $username
d-i passwd/user-password-again password $username
#end if
#else
d-i passwd/root-login boolean true
d-i passwd/make-user boolean false
d-i user-setup/allow-password-weak boolean true
#if $getVar('password', '') != ""
d-i passwd/root-password-crypted password $password
#else
d-i passwd/root-password password root
d-i passwd/root-password-again password root
#end if
#end if
$SNIPPET('preseed_apt_repo_config')
# Individual additional packages to install
# wget is REQUIRED otherwise quite a few things won't work
# later in the build (like late-command scripts)
#if $getVar('tool', '') != ''
#set $preseed_software = "preseed_software_%s" % $tool
$SNIPPET($preseed_software)
#else
d-i pkgsel/include string ntp ssh openssh-server wget vim bridge-utils ifenslave vlan
#end if
# Whether to upgrade packages after debootstrap.
# Allowed values: none, safe-upgrade, full-upgrade
d-i pkgsel/upgrade select none
d-i popularity-contest/participate boolean false
d-i lilo-installer/skip boolean true
d-i grub-installer/only_debian 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 $kernel_options_post
d-i debian-installer/allow_unauthenticated string true
d-i finish-install/late_command string update-grub
# 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 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.
# d-i preseed/late_command string [command]
d-i preseed/late_command string \
in-target sed -i '$a UseDNS no' /etc/ssh/sshd_config; \
in-target sed -i 's/.*GSSAPIAuthentication.*/GSSAPIAuthentication no/g' /etc/ssh/sshd_config; \
in-target sed -i '$d' /usr/share/initramfs-tools/scripts/local-top/lvm2; \
in-target echo "lvm vgchange -ay" >> /usr/share/initramfs-tools/scripts/local-top/lvm2; \
in-target echo "exit 0" >> /usr/share/initramfs-tools/scripts/local-top/lvm2; \
in-target touch /etc/initramfs-tools/scripts/local-top/lvm2; \
in-target chmod 777 /etc/initramfs-tools/scripts/local-top/lvm2; \
in-target echo "vgchange -a y" >> /etc/initramfs-tools/scripts/local-top/lvm2; \
wget -O- \
http://$http_server/cblr/svc/op/script/$what/$name/?script=preseed_late_default | \
chroot /target /bin/sh -s; cp /target/etc/network/interfaces /etc/network/interfaces; \
in-target update-initramfs -k `uname -r` -c; \
in-target update-grub; \
in-target apt-get install python2.7; \
in-target ln -s /usr/bin/python2.7 /usr/bin/python
|