| 1 |
<!-- retain these comments for translator revision tracking -->
|
| 2 |
<!-- $Id$ -->
|
| 3 |
|
| 4 |
<informalexample condition="sarge"><screen>
|
| 5 |
#### Startup.
|
| 6 |
|
| 7 |
# To use a preseed file, you'll first need to boot the installer,
|
| 8 |
# and tell it what preseed file to use. This is done by passing the
|
| 9 |
# kernel a boot parameter, either manually at boot or by editing the
|
| 10 |
# syslinux.cfg (or similar) file and adding the parameter to the end
|
| 11 |
# of the append line(s) for the kernel.
|
| 12 |
#
|
| 13 |
# If you're netbooting, use this:
|
| 14 |
# preseed/url=http://host/path/to/preseed
|
| 15 |
# If you're remastering a CD, you could use this:
|
| 16 |
# preseed/file=/cdrom/preseed
|
| 17 |
# If you're installing from USB media, use this, and put the preseed file
|
| 18 |
# in the toplevel directory of the USB stick.
|
| 19 |
# preseed/file=/hd-media/preseed
|
| 20 |
# Be sure to copy this file to the location you specify.
|
| 21 |
#
|
| 22 |
# Some parts of the installation process cannot be automated using
|
| 23 |
# some forms of preseeding, because the questions are asked before
|
| 24 |
# the preseed file is loaded. For example, if the preseed file is
|
| 25 |
# downloaded over the network, the network setup must be done first.
|
| 26 |
# One reason to use initrd preseeding is that it allows preseeding
|
| 27 |
# of even these early steps of the installation process.
|
| 28 |
#
|
| 29 |
# If a preseed file cannot be used to preseed some steps, the install can
|
| 30 |
# still be fully automated, since you can pass preseed values to the kernel
|
| 31 |
# on the command line. Just pass path/to/var=value for any of the preseed
|
| 32 |
# variables listed below.
|
| 33 |
#
|
| 34 |
# While you're at it, you may want to throw a debconf/priority=critical in
|
| 35 |
# there, to avoid most questions even if the preseeding below misses some.
|
| 36 |
# And you might set the timeout to 1 in syslinux.cfg to avoid needing to hit
|
| 37 |
# enter to boot the installer.
|
| 38 |
#
|
| 39 |
# Note that the kernel accepts a maximum of 8 command line options and
|
| 40 |
# 8 environment options (including any options added by default for the
|
| 41 |
# installer). If these numbers are exceeded, 2.4 kernels will drop any
|
| 42 |
# excess options and 2.6 kernels will panic. With kernel 2.6.9 or newer,
|
| 43 |
# you can use 32 command line options and 32 environment options.
|
| 44 |
#
|
| 45 |
# Some of the default options, like 'vga=normal' may be safely removed
|
| 46 |
# for most installations, which may allow you to add more options for
|
| 47 |
# preseeding.
|
| 48 |
|
| 49 |
# It is not possible to use preseeding to set language, country, and
|
| 50 |
# keyboard. Instead you should use kernel parameters. Example:
|
| 51 |
# languagechooser/language-name=English
|
| 52 |
# countrychooser/shortlist=US
|
| 53 |
# console-keymaps-at/keymap=us
|
| 54 |
|
| 55 |
#### Network configuration.
|
| 56 |
|
| 57 |
# Of course, this won't work if you're loading your preseed file from the
|
| 58 |
# network! But it's great if you're booting from CD or USB stick. You can
|
| 59 |
# also pass network config parameters in on the kernel params if you are
|
| 60 |
# loading preseed files from the network.
|
| 61 |
|
| 62 |
# netcfg will choose an interface that has link if possible. This makes it
|
| 63 |
# skip displaying a list if there is more than one interface.
|
| 64 |
d-i netcfg/choose_interface select auto
|
| 65 |
|
| 66 |
# If you have a slow dhcp server and the installer times out waiting for
|
| 67 |
# it, this might be useful.
|
| 68 |
#d-i netcfg/dhcp_timeout string 60
|
| 69 |
|
| 70 |
# If you prefer to configure the network manually, here's how:
|
| 71 |
#d-i netcfg/disable_dhcp boolean true
|
| 72 |
#d-i netcfg/get_nameservers string 192.168.1.1
|
| 73 |
#d-i netcfg/get_ipaddress string 192.168.1.42
|
| 74 |
#d-i netcfg/get_netmask string 255.255.255.0
|
| 75 |
#d-i netcfg/get_gateway string 192.168.1.1
|
| 76 |
#d-i netcfg/confirm_static boolean true
|
| 77 |
|
| 78 |
# Note that any hostname and domain names assigned from dhcp take
|
| 79 |
# precedence over values set here. However, setting the values still
|
| 80 |
# prevents the questions from being shown even if values come from dhcp.
|
| 81 |
d-i netcfg/get_hostname string unassigned-hostname
|
| 82 |
d-i netcfg/get_domain string unassigned-domain
|
| 83 |
|
| 84 |
# Disable that annoying WEP key dialog.
|
| 85 |
d-i netcfg/wireless_wep string
|
| 86 |
# The wacky dhcp hostname that some ISPs use as a password of sorts.
|
| 87 |
#d-i netcfg/dhcp_hostname string radish
|
| 88 |
|
| 89 |
#### Mirror settings.
|
| 90 |
|
| 91 |
d-i mirror/country string enter information manually
|
| 92 |
d-i mirror/http/hostname string http.us.debian.org
|
| 93 |
d-i mirror/http/directory string /debian
|
| 94 |
d-i mirror/suite string testing
|
| 95 |
d-i mirror/http/proxy string
|
| 96 |
|
| 97 |
#### Partitioning.
|
| 98 |
|
| 99 |
# If the system has free space you can choose to only partition that space.
|
| 100 |
#d-i partman-auto/init_automatically_partition \
|
| 101 |
# select Use the largest continuous free space
|
| 102 |
|
| 103 |
# Alternatively, you can specify a disk to partition. The device name can
|
| 104 |
# be given in either devfs or traditional non-devfs format.
|
| 105 |
# For example, to use the first disk devfs knows of:
|
| 106 |
d-i partman-auto/disk string /dev/discs/disc0/disc
|
| 107 |
|
| 108 |
# You can choose from any of the predefined partitioning recipes:
|
| 109 |
d-i partman-auto/choose_recipe select \
|
| 110 |
All files in one partition (recommended for new users)
|
| 111 |
#d-i partman-auto/choose_recipe select Desktop machine
|
| 112 |
#d-i partman-auto/choose_recipe select Multi-user workstation
|
| 113 |
|
| 114 |
# Or provide a recipe of your own...
|
| 115 |
# The recipe format is documented in the file devel/partman-auto-recipe.txt.
|
| 116 |
# If you have a way to get a recipe file into the d-i environment, you can
|
| 117 |
# just point at it.
|
| 118 |
#d-i partman-auto/expert_recipe_file string /hd-media/recipe
|
| 119 |
|
| 120 |
# If not, you can put an entire recipe in one line. This example creates
|
| 121 |
# a small /boot partition, suitable swap, and uses the rest of the space
|
| 122 |
# for the root partition:
|
| 123 |
#d-i partman-auto/expert_recipe string boot-root :: \
|
| 124 |
# 20 50 100 ext3 $primary{ } $bootable{ } method{ format } format{ } \
|
| 125 |
# use_filesystem{ } filesystem{ ext3 } mountpoint{ /boot } . \
|
| 126 |
# 500 10000 1000000000 ext3 method{ format } format{ } \
|
| 127 |
# use_filesystem{ } filesystem{ ext3 } mountpoint{ / } . \
|
| 128 |
# 64 512 300% linux-swap method{ swap } format{ } .
|
| 129 |
# For reference, here is that same recipe in a more readable form:
|
| 130 |
# boot-root ::
|
| 131 |
# 40 50 100 ext3
|
| 132 |
# $primary{ } $bootable{ }
|
| 133 |
# method{ format } format{ }
|
| 134 |
# use_filesystem{ } filesystem{ ext3 }
|
| 135 |
# mountpoint{ /boot }
|
| 136 |
# .
|
| 137 |
# 500 10000 1000000000 ext3
|
| 138 |
# method{ format } format{ }
|
| 139 |
# use_filesystem{ } filesystem{ ext3 }
|
| 140 |
# mountpoint{ / }
|
| 141 |
# .
|
| 142 |
# 64 512 300% linux-swap
|
| 143 |
# method{ swap } format{ }
|
| 144 |
# .
|
| 145 |
|
| 146 |
# This makes partman automatically partition without confirmation.
|
| 147 |
d-i partman/confirm_write_new_label boolean true
|
| 148 |
d-i partman/choose_partition select \
|
| 149 |
Finish partitioning and write changes to disk
|
| 150 |
d-i partman/confirm boolean true
|
| 151 |
|
| 152 |
#### Boot loader installation.
|
| 153 |
|
| 154 |
# Grub is the default boot loader (for x86). If you want lilo installed
|
| 155 |
# instead, uncomment this:
|
| 156 |
#d-i grub-installer/skip boolean true
|
| 157 |
|
| 158 |
# This is fairly safe to set, it makes grub install automatically to the MBR
|
| 159 |
# if no other operating system is detected on the machine.
|
| 160 |
d-i grub-installer/only_debian boolean true
|
| 161 |
|
| 162 |
# This one makes grub-installer install to the MBR if if finds some other OS
|
| 163 |
# too, which is less safe as it might not be able to boot that other OS.
|
| 164 |
d-i grub-installer/with_other_os boolean true
|
| 165 |
|
| 166 |
# Alternatively, if you want to install to a location other than the mbr,
|
| 167 |
# uncomment and edit these lines:
|
| 168 |
#d-i grub-installer/bootdev string (hd0,0)
|
| 169 |
#d-i grub-installer/only_debian boolean false
|
| 170 |
#d-i grub-installer/with_other_os boolean false
|
| 171 |
|
| 172 |
#### Finishing up the first stage install.
|
| 173 |
|
| 174 |
# Avoid that last message about the install being complete.
|
| 175 |
d-i prebaseconfig/reboot_in_progress note
|
| 176 |
|
| 177 |
#### Shell commands.
|
| 178 |
|
| 179 |
# d-i preseeding is inherently not secure. Nothing in the installer checks
|
| 180 |
# for attempts at buffer overflows or other exploits of the values of a
|
| 181 |
# preseed file like this one. Only use preseed files from trusted
|
| 182 |
# locations! To drive that home, and because it's generally useful, here's
|
| 183 |
# a way to run any shell command you'd like inside the installer,
|
| 184 |
# automatically.
|
| 185 |
|
| 186 |
# This first command is run as early as possible, just after
|
| 187 |
# preseeding is read.
|
| 188 |
#d-i preseed/early_command string anna-install some-udeb
|
| 189 |
|
| 190 |
# This command is run just before the install finishes, but when there is
|
| 191 |
# still a usable /target directory.
|
| 192 |
#d-i preseed/late_command string echo foo > /target/etc/bar
|
| 193 |
|
| 194 |
# This command is run just as base-config is starting up.
|
| 195 |
#base-config base-config/early_command string echo hi mom
|
| 196 |
|
| 197 |
# This command is run after base-config is done, just before the login:
|
| 198 |
# prompt. This is a good way to install a set of packages you want, or to
|
| 199 |
# tweak the configuration of the system.
|
| 200 |
#base-config base-config/late_command string \
|
| 201 |
# apt-get install zsh; chsh -s /bin/zsh
|
| 202 |
|
| 203 |
###### Preseeding the 2nd stage of the installation.
|
| 204 |
|
| 205 |
#### Preseeding base-config.
|
| 206 |
|
| 207 |
# Avoid the introductory message.
|
| 208 |
base-config base-config/intro note
|
| 209 |
|
| 210 |
# Avoid the final message.
|
| 211 |
base-config base-config/login note
|
| 212 |
|
| 213 |
# If you installed a display manager, but don't want to start it immediately
|
| 214 |
# after base-config finishes.
|
| 215 |
#base-config base-config/start-display-manager boolean false
|
| 216 |
|
| 217 |
# Some versions of the installer can report back on what you've installed.
|
| 218 |
# The default is not to report back, but sending reports helps the project
|
| 219 |
# determine what software is most popular and include it on CDs.
|
| 220 |
#popularity-contest popularity-contest/participate boolean false
|
| 221 |
|
| 222 |
#### Clock and time zone setup.
|
| 223 |
|
| 224 |
# Controls whether or not the hardware clock is set to UTC.
|
| 225 |
#base-config tzconfig/gmt boolean true
|
| 226 |
# If you told the installer that you're in the United States, then you
|
| 227 |
# can set the time zone using this variable.
|
| 228 |
# (Choices are: Eastern, Central, Mountain, Pacific, Alaska, Hawaii,
|
| 229 |
# Aleutian, Arizona East-Indiana, Indiana-Starke, Michigan, Samoa, other)
|
| 230 |
#base-config tzconfig/choose_country_zone/US select Eastern
|
| 231 |
# If you told it you're in Canada.
|
| 232 |
# (Choices are: Newfoundland, Atlantic, Eastern, Central,
|
| 233 |
# East-Saskatchewan, Saskatchewan, Mountain, Pacific, Yukon, other)
|
| 234 |
#base-config tzconfig/choose_country_zone/CA select Eastern
|
| 235 |
# If you told it you're in Brazil. (Choices are: East, West, Acre,
|
| 236 |
# DeNoronha, other)
|
| 237 |
#base-config tzconfig/choose_country_zone/BR select East
|
| 238 |
# Many countries have only one time zone. If you told the installer you're
|
| 239 |
# in one of those countries, you can choose its standard time zone via this
|
| 240 |
# question.
|
| 241 |
#base-config tzconfig/choose_country_zone_single boolean true
|
| 242 |
# This question is asked as a fallback for countries other than those
|
| 243 |
# listed above, which have more than one time zone. You can preseed one of
|
| 244 |
# the time zones, or "other".
|
| 245 |
#base-config tzconfig/choose_country_zone_multiple select
|
| 246 |
|
| 247 |
#### Account setup.
|
| 248 |
|
| 249 |
# To preseed the root password, you have to put it in the clear in this
|
| 250 |
# file. That is not a very good idea, use caution!
|
| 251 |
#passwd passwd/root-password password r00tme
|
| 252 |
#passwd passwd/root-password-again password r00tme
|
| 253 |
|
| 254 |
# If you want to skip creation of a normal user account.
|
| 255 |
#passwd passwd/make-user boolean false
|
| 256 |
|
| 257 |
# Alternatively, you can preseed the user's name and login.
|
| 258 |
#passwd passwd/user-fullname string Debian User
|
| 259 |
#passwd passwd/username string debian
|
| 260 |
# And their password, but use caution!
|
| 261 |
#passwd passwd/user-password password insecure
|
| 262 |
#passwd passwd/user-password-again password insecure
|
| 263 |
|
| 264 |
#### Apt setup.
|
| 265 |
|
| 266 |
# This question controls what source the second stage installation uses
|
| 267 |
# for packages. Choices are cdrom, http, ftp, filesystem, edit sources list
|
| 268 |
# by hand
|
| 269 |
base-config apt-setup/uri_type select http
|
| 270 |
|
| 271 |
# If you choose ftp or http, you'll be asked for a country and a mirror.
|
| 272 |
base-config apt-setup/country select enter information manually
|
| 273 |
base-config apt-setup/hostname string http.us.debian.org
|
| 274 |
base-config apt-setup/directory string /debian
|
| 275 |
# Stop after choosing one mirror.
|
| 276 |
base-config apt-setup/another boolean false
|
| 277 |
|
| 278 |
# You can choose to install non-free and contrib software.
|
| 279 |
#base-config apt-setup/non-free boolean true
|
| 280 |
#base-config apt-setup/contrib boolean true
|
| 281 |
|
| 282 |
# Do enable security updates.
|
| 283 |
base-config apt-setup/security-updates boolean true
|
| 284 |
|
| 285 |
#### Package selection.
|
| 286 |
|
| 287 |
# You can choose to install any combination of tasks that are available.
|
| 288 |
# Available tasks as of this writing include: Desktop environment,
|
| 289 |
# Web server, Print server, DNS server, File server, Mail server,
|
| 290 |
# SQL database, Laptop, Standard system, manual package selection. The
|
| 291 |
# last of those will run aptitude. You can also choose to install no
|
| 292 |
# tasks, and force the installation of a set of packages in some other
|
| 293 |
# way. We recommend always including the Standard system task.
|
| 294 |
tasksel tasksel/first multiselect Desktop environment, Standard system
|
| 295 |
#tasksel tasksel/first multiselect Web server, Standard system
|
| 296 |
|
| 297 |
#### Mailer configuration.
|
| 298 |
|
| 299 |
# During a normal install, exim asks only a few questions. Here's how to
|
| 300 |
# avoid even those. More complicated preseeding is possible.
|
| 301 |
exim4-config exim4/dc_eximconfig_configtype \
|
| 302 |
select no configuration at this time
|
| 303 |
exim4-config exim4/no_config boolean true
|
| 304 |
exim4-config exim4/no_config boolean true
|
| 305 |
|
| 306 |
# It's a good idea to set this to whatever user account you choose to
|
| 307 |
# create. Leaving the value blank results in postmaster mail going to
|
| 308 |
# /var/mail/mail.
|
| 309 |
exim4-config exim4/dc_postmaster string
|
| 310 |
|
| 311 |
#### X Configuration.
|
| 312 |
|
| 313 |
# Preseeding Debian's X config is possible, but you probably need to know
|
| 314 |
# some details about the video hardware of the machine, since Debian's X
|
| 315 |
# configurator does not do fully automatic configuration of everything.
|
| 316 |
|
| 317 |
# X can detect the right driver for some cards, but if you're preseeding,
|
| 318 |
# you override whatever it chooses. Still, vesa will work most places.
|
| 319 |
#xserver-xfree86 xserver-xfree86/config/device/driver select vesa
|
| 320 |
|
| 321 |
# A caveat with mouse autodetection is that if it fails, X will retry it
|
| 322 |
# over and over. So if it's preseeded to be done, there is a possibility of
|
| 323 |
# an infinite loop if the mouse is not autodetected.
|
| 324 |
#xserver-xfree86 xserver-xfree86/autodetect_mouse boolean true
|
| 325 |
|
| 326 |
# Monitor autodetection is recommended.
|
| 327 |
xserver-xfree86 xserver-xfree86/autodetect_monitor boolean true
|
| 328 |
# Uncomment if you have an LCD display.
|
| 329 |
#xserver-xfree86 xserver-xfree86/config/monitor/lcd boolean true
|
| 330 |
# X has three configuration paths for the monitor. Here's how to preseed
|
| 331 |
# the "medium" path, which is always available. The "simple" path may not
|
| 332 |
# be available, and the "advanced" path asks too many questions.
|
| 333 |
xserver-xfree86 xserver-xfree86/config/monitor/selection-method \
|
| 334 |
select medium
|
| 335 |
xserver-xfree86 xserver-xfree86/config/monitor/mode-list \
|
| 336 |
select 1024x768 @ 60 Hz
|
| 337 |
|
| 338 |
#### Everything else.
|
| 339 |
|
| 340 |
# Depending on what software you choose to install, or if things go wrong
|
| 341 |
# during the installation process, it's possible that other questions may
|
| 342 |
# be asked. You can preseed those too, of course. To get a list of every
|
| 343 |
# possible question that could be asked during an install, do an
|
| 344 |
# installation, and then run these commands:
|
| 345 |
# debconf-get-selections --installer > file
|
| 346 |
# debconf-get-selections >> file
|
| 347 |
|
| 348 |
# If you like, you can include other preseed files into this one.
|
| 349 |
# Any settings in those files will override pre-existing settings from this
|
| 350 |
# file. More that one file can be listed, separated by spaces; all will be
|
| 351 |
# loaded. The included files can have preseed/include directives of their
|
| 352 |
# own as well. Note that if the filenames are relative, they are taken from
|
| 353 |
# the same directory as the preseed file that includes them.
|
| 354 |
#d-i preseed/include string x.cfg
|
| 355 |
|
| 356 |
# More flexibly, this runs a shell command and if it outputs the names of
|
| 357 |
# preseed files, includes those files. For example, to switch configs based
|
| 358 |
# on a particular usb storage device (in this case, a built-in card reader):
|
| 359 |
#d-i preseed/include_command string \
|
| 360 |
# if $(grep -q "GUID: 0aec3050aec305000001a003" /proc/scsi/usb-storage-*/*); \
|
| 361 |
# then echo kraken.cfg; else echo otherusb.cfg; fi
|
| 362 |
|
| 363 |
# To check the format of your preseed file before performing an install,
|
| 364 |
# you can use debconf-set-selections:
|
| 365 |
# debconf-set-selections -c preseed.cfg
|
| 366 |
</screen></informalexample>
|