summaryrefslogtreecommitdiff
path: root/it/appendix/preseed.xml
diff options
context:
space:
mode:
authorLuca Monducci <luca.mo@tiscali.it>2005-12-04 17:19:43 +0000
committerLuca Monducci <luca.mo@tiscali.it>2005-12-04 17:19:43 +0000
commit8782c2ff7d376c547efc4592dde9f77d8ce835b5 (patch)
tree4e5dfa61d36a0ce4d155982b03ed4523b1ddb544 /it/appendix/preseed.xml
parentc080f85b43249c50c3e133903a975aa7ef692af0 (diff)
downloadinstallation-guide-8782c2ff7d376c547efc4592dde9f77d8ce835b5.zip
updated italian translation
Diffstat (limited to 'it/appendix/preseed.xml')
-rw-r--r--it/appendix/preseed.xml1003
1 files changed, 1003 insertions, 0 deletions
diff --git a/it/appendix/preseed.xml b/it/appendix/preseed.xml
new file mode 100644
index 000000000..f576cfd26
--- /dev/null
+++ b/it/appendix/preseed.xml
@@ -0,0 +1,1003 @@
+<!-- retain these comments for translator revision tracking -->
+<!-- original version: 32512 untranslated -->
+
+<!--
+Be carefull with the format of this file as it is parsed to generate
+the example preseed file.
+In that file all text between <informalexample> tags that have the
+attribute 'role="example"' set is included, except if a 'condition'
+attribute is in force that does not match the specified release or if an
+'arch' attribute is in force that does not match the specified architecture.
+
+Currently only a single variant of the example file is generated (for i386).
+-->
+
+<appendix id="appendix-preseed" condition="etch">
+<title>Automating the installation using preseeding</title>
+
+<para>
+
+This appendix explains the intricacies of preseeding answers to questions in
+&d-i; to automate your installation.
+
+</para><para>
+
+The configuration fragments used in this appendix are also available as an
+example preseed file from &urlset-example-preseed;.
+
+</para>
+
+ <sect1 id="preseed-intro">
+ <title>Introduction</title>
+<para>
+
+Preseeding provides a way to set answers to questions without having to manually
+enter the answers while the installation is running. This makes it possible to
+fully automate most types of installation and even offers some features not
+available during normal installations.
+
+</para><para>
+
+Using preseeding it is possible to fill in answers to questions asked during
+both the first stage of the installation (before the reboot into the new
+system) and the second stage.
+
+</para>
+
+ <sect2 id="preseed-methods">
+ <title>Preseeding methods</title>
+<para>
+
+There are three methods that can be used for preseeding:
+<firstterm>initrd</firstterm>, <firstterm>file</firstterm> and
+<firstterm>network</firstterm>. Initrd preseeding will work with any
+installation method and supports preseeding of more things, but it requires
+the most preparation. File and network preseeding each can be used with
+different installation methods. With file and network preseeding the first
+few installer questions cannot be preseeded because the preseed configuration
+file is only loaded after they have been asked.
+
+</para><para>
+
+The following table shows which preseeding methods can be used with which
+installation methods.
+
+<informaltable>
+<tgroup cols="4">
+<thead>
+<row>
+ <entry>Installation method</entry><entry>initrd</entry>
+ <entry>file</entry><entry>network</entry>
+</row>
+</thead>
+
+<tbody>
+<row>
+ <entry>CD/DVD</entry>
+ <entry>yes</entry>
+ <entry>yes</entry>
+ <entry>no</entry>
+</row><row>
+ <entry>netboot</entry>
+ <entry>yes</entry>
+ <entry>no</entry>
+ <entry>yes</entry>
+</row><row>
+ <entry>hd-media <phrase condition="bootable-usb">(including usb-stick)</phrase></entry>
+ <entry>yes</entry>
+ <entry>yes</entry>
+ <entry>no</entry>
+</row><row condition="supports-floppy-boot">
+ <entry>floppy based (cd-drivers)</entry>
+ <entry>yes</entry>
+ <entry>yes</entry>
+ <entry>no</entry>
+</row><row condition="supports-floppy-boot">
+ <entry>floppy based (net-drivers)</entry>
+ <entry>yes</entry>
+ <entry>no</entry>
+ <entry>yes</entry>
+</row><row arch="s390">
+ <entry>generic/tape</entry>
+ <entry>yes</entry>
+ <entry>no</entry>
+ <entry>yes</entry>
+</row>
+</tbody>
+
+</tgroup></informaltable>
+
+</para><para>
+
+An important difference between the preseeding methods is the point at which
+the preseed configuration file is loaded and processed. For initrd preseeding
+this is right at the start of the installation, before the first question is
+even asked. For file preseeding this is after the CD or CD image has been
+loaded. For network preseeding it is only after the network has been
+configured.
+
+</para><para>
+
+In practical terms this means for file and network preseeding that the
+questions about language, country and keyboard selection will already have
+been asked. For network preseeding add to that any questions related to
+network configuration. Some other questions that are only displayed
+at medium or low priority (like the first hardware detection run) will
+also already have been processed.
+
+</para><para>
+
+Obviously, any questions that have been processed before the
+preseeding configuration file is loaded, cannot be preseeded.
+<xref linkend="preseed-bootparms"/> offers a way to avoid these
+questions being asked.
+
+</para>
+ </sect2>
+
+ <sect2 id="preseed-limitations">
+ <title>Limitations</title>
+<para>
+
+Although most questions used by &d-i; can be preseeded using this method,
+there are some notable exceptions. You must (re)partition an entire disk
+or use available free space on a disk; it is not possible to use existing
+partitions. You currently cannot use preseeding to set up RAID and LVM.
+
+</para>
+ </sect2>
+
+<!-- Joeyh feels this is too technical, so leave it out for now
+ <sect2 id="preseed-debconf">
+ <title>Debconf basics</title>
+<para>
+
+Preseeding makes use of the <classname>debconf</classname> framework. This
+framework is the preferred mechanism used in Debian to interact with the user
+when configuring packages and also forms the heart of &d-i;.
+In the <classname>debconf</classname> framework questions or dialogs are
+based on <firstterm>templates</firstterm>. There are different types of
+templates for different types of questions. The actual questions are
+<quote>generated</quote> from templates at runtime; multiple questions can
+use the same template.
+
+</para><para>
+
+The following types of templates are relevant for preseeding.
+
+</para>
+
+<itemizedlist>
+<listitem><para>
+ string: allows the user to type any value
+</para></listitem>
+<listitem><para>
+ password: similar to string but the value typed is not displayed
+</para></listitem>
+<listitem><para>
+ boolean: for yes/no or true/false type of questions
+</para></listitem>
+<listitem><para>
+ select: allows the user to select one option from a list
+</para></listitem>
+<listitem><para>
+ multiselect: allows the user to select zero, one or more options from a list
+</para></listitem>
+<listitem><para>
+ note: used to display a message
+</para></listitem>
+</itemizedlist>
+
+<para>
+
+In &d-i; templates are stored in a readable file
+<filename>/var/cache/debconf/templates.dat</filename>. This file contains all fixed
+text and all translations. It can also contain a default value for the
+template. The fixed text can include variables that will be replaced at
+runtime.
+
+</para><para>
+
+Another readable file <filename>/var/cache/debconf/questions.dat</filename>
+is used to store the values for variables and the answers given to questions.
+A question always refers to the template used to ask it. For obvious
+security reasons the values for templates of type <quote>password</quote>
+are stored in a separate, non-readable file in the same directory.
+
+</para>
+ </sect2>
+-->
+
+ <sect2 id="preseed-hooks">
+ <title>Running custom commands during the installation</title>
+<para>
+
+A very powerfull and flexible option offered by the preseeding tools is the
+ability to run commands or scripts at certain points in the installation.
+See <xref linkend="preseed-shell"/> for details.
+
+</para>
+
+<itemizedlist>
+<listitem><para>
+ <userinput>preseed/early_command</userinput>: is run as soon as the the
+ preseeding configuration file has been loaded
+</para></listitem>
+<listitem><para>
+ <userinput>preseed/late_command</userinput>: is run just before the reboot
+ at the end of the first stage of the installation, but before the
+ <filename>/target</filename> filesystem has been unmounted
+</para></listitem>
+<listitem><para>
+ <userinput>base-config/early_command</userinput>: is run early in the second
+ stage of the installation when <command>base-config</command> is starting up
+</para></listitem>
+<listitem><para>
+ <userinput>base-config/late_command</userinput>: is run at the end of
+ <command>base-config</command>, just before the login prompt
+</para></listitem>
+</itemizedlist>
+
+ </sect2>
+
+ <sect2 id="preseed-seenflag">
+ <title>Using preseeding to change default values</title>
+<para>
+
+It is possible to use preseeding to change the default answer for a
+question, but still have the question asked. To do this the
+<firstterm>seen</firstterm> flag must be reset to <quote>false</quote> after
+setting the value for a template.
+
+</para>
+
+<informalexample><screen>
+d-i foo/bar string value
+d-i foo/bar seen false
+</screen></informalexample>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="preseed-using">
+ <title>Using preseeding</title>
+<para>
+
+Of course you will first need to create a preseed file and place it in the
+location from where you want to use it. Creating the preseed file is covered
+later in this appendix. Putting it in the correct location is fairly
+straightforward for network preseeding or if you want to read the file off
+a floppy or usb-stick. If you want to include the file on a CD or DVD, you
+will have to remaster the ISO image. How to get the preseed file included
+in the initrd is outside the scope of this document; please consult the
+developers documentation for &d-i;.
+
+</para><para>
+
+An example preseed file that you can use as basis for your preseed file is
+available from &urlset-example-preseed;. This file is based on the
+configuration fragments included in this appendix.
+
+</para>
+
+ <sect2 id="preseed-loading">
+ <title>Loading the preseed file</title>
+<para>
+
+If you are using initrd preseeding, you only have to make sure a file named
+<filename>preseed.cfg</filename> is included in the root directory of the
+initrd. The installer will automatically check if this file is present and
+load it.
+
+</para><para>
+
+For the other preseeding methods you need to tell the installer what file to
+use when you boot it. This is done by passing the kernel a boot parameter,
+either manually at boot time or by editing the bootloader configuration file
+(e.g. <filename>syslinux.cfg</filename>) and adding the parameter to the end
+of the append line(s) for the kernel.
+
+</para><para>
+
+If you do specify the preseed file in the bootloader configuration, you might
+change the configuration so you don't need to hit enter to boot the installer.
+For syslinux this means setting the timeout to 1 in
+<filename>syslinux.cfg</filename>.
+
+</para><para>
+
+To make sure the installer gets the right preseed file, you can optionally
+specify a checksum for the file. Currently this needs to be a md5sum, and if
+specified it must match the preseed file or the installer will refuse to use it.
+
+</para>
+
+<informalexample><screen>
+Boot parameters to specify:
+- if you're netbooting:
+ preseed/url=http://host/path/to/preseed.cfg
+ preseed/url/checksum=5da499872becccfeda2c4872f9171c3d
+
+- if you're booting a remastered CD:
+ preseed/file=/cdrom/preseed.cfg
+ preseed/file/checksum=5da499872becccfeda2c4872f9171c3d
+
+- if you're installing from USB media (put the preseed file in the
+ toplevel directory of the USB stick):
+ preseed/file=/hd-media/preseed.cfg
+ preseed/file/checksum=5da499872becccfeda2c4872f9171c3d
+</screen></informalexample>
+
+<para>
+
+While you're at it, you may want to add a boot parameter
+<userinput>debconf/priority=critical</userinput>. This will avoid most
+questions even if the preseeding below misses some.
+
+</para>
+ </sect2>
+
+ <sect2 id="preseed-bootparms">
+ <title>Using boot parameters to supplement preseeding</title>
+<para>
+
+Some parts of the installation process cannot be automated using some forms
+of preseeding because the questions are asked before the preseed file is
+loaded. For example, if the preseed file is downloaded over the network,
+the network setup must be done first. One reason to use initrd preseeding
+is that it allows preseeding of even these early steps of the installation
+process.
+
+</para><para>
+
+If a preseed file cannot be used to preseed some steps, the install can
+still be fully automated, since you can pass preseed values to the kernel
+on the command line. Just pass <userinput>path/to/var=value</userinput>
+for any of the preseed variables listed in the examples.
+
+</para>
+<note><para>
+
+The 2.4 kernel accepts a maximum of 8 command line options and
+8 environment options (including any options added by default for the
+installer). If these numbers are exceeded, 2.4 kernels will drop any
+excess options and 2.6 kernels will panic. For kernel 2.6.9 and later,
+you can use 32 command line options and 32 environment options.
+
+</para></note>
+<para>
+
+For most installations some of the default options in your bootloader
+configuration file, like 'vga=normal', may be safely removed which may
+allow you to add more options for preseeding.
+
+</para>
+<note><para>
+
+It may not always be possible to specify values with spaces for boot
+parameters, even if you delimit them with quotes.
+
+</para></note>
+ </sect2>
+ </sect1>
+
+ <sect1 condition="FIXME" id="preseed-creating">
+ <title>Creating a preseed file</title>
+<para>
+
+The preconfiguration file is in the format used by the
+<command>debconf-set-selections</command> command.
+
+</para>
+
+<itemizedlist>
+<listitem><para>
+ File format
+</para></listitem>
+<listitem><para>
+ Only single space allowed between template type and value
+</para></listitem>
+<listitem><para>
+ Relation with /var/lib/(c)debconf/templates
+</para></listitem>
+<listitem><para>
+ Types of templates and how to provide values for them
+</para></listitem>
+<listitem><para>
+ Most values need to be in English or codes
+</para></listitem>
+<listitem><para>
+ Using a manual installation as base
+</para></listitem>
+<listitem><para>
+ Finding other possible values
+</para></listitem>
+</itemizedlist>
+
+<para>
+
+To check if the format of your preseed file is valid before performing an
+install, you can use the command <command>debconf-set-selections -c
+<replaceable>preseed.cfg</replaceable></command>.
+
+</para>
+ </sect1>
+
+ <sect1 id="preseed-stage1">
+ <title>Preseeding the first stage of the installation</title>
+<para>
+
+The configuration fragments used in this appendix are also available as an
+example preseed file from &urlset-example-preseed;.
+
+</para><para>
+
+Note that this example is based on an installation for the Intel x86
+architecture. If you are installing a different architecture, some of the
+examples (like keyboard selection and bootloader installation) may not be
+relevant and will need to be replaced by debconf settings appropriate for your
+architecture.
+
+</para>
+
+ <sect2 id="preseed-l10n">
+ <title>Localization</title>
+<para>
+
+Setting localization values will only work if you are using initrd preseeding.
+With all other methods the preseed file will only be loaded after these
+questions have been asked.
+
+</para><para>
+
+The locale can be used to specify both language and country.
+To specify the locale as a boot parameter, use
+<userinput>debian-installer/locale=<replaceable>en_US</replaceable></userinput>.
+
+<informalexample role="example"><screen>
+# Locale sets language and country.
+d-i debian-installer/locale string en_US
+</screen></informalexample>
+
+</para><para>
+
+Keyboard configuration consists of selecting a keyboard architecture and a
+keymap. In most cases the correct keyboard architecture is selected by
+default, so there's normally no need to preseed it. The keymap must
+be valid for the selected keyboard architecture.
+
+<informalexample role="example"><screen>
+# Keyboard selection.
+#d-i console-tools/archs select at
+d-i console-keymaps-at/keymap select us
+# Example for a different keyboard architecture
+#d-i console-keymaps-usb/keymap select mac-usb-us
+</screen></informalexample>
+
+</para><para>
+
+To skip keyboard configuration preseed
+<classname>console-tools/archs</classname> with
+<userinput>skip-config</userinput>.
+This will result in the kernel keymap remaining active.
+
+</para>
+
+<note><para>
+
+The changes in the input layer for 2.6 kernels have made the keyboard
+architecture virtually obsolete. For 2.6 kernels normally a <quote>PC</quote>
+(<userinput>at</userinput>) keymap should be selected.
+
+</para></note>
+ </sect2>
+
+ <sect2 id="preseed-network">
+ <title>Network configuration</title>
+<para>
+
+Of course, preseeding the network configuration won't work if you're
+loading your preseed file from the network. But it's great when you're
+booting from CD or USB stick. If you are loading preseed files from
+the network, you can pass network config parameters in using kernel
+boot parameters.
+
+</para>
+
+<informalexample role="example"><screen>
+# 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
+
+# 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
+
+# If you prefer to configure the network manually, here's how:
+#d-i netcfg/disable_dhcp boolean true
+#d-i netcfg/get_nameservers string 192.168.1.1
+#d-i netcfg/get_ipaddress string 192.168.1.42
+#d-i netcfg/get_netmask string 255.255.255.0
+#d-i netcfg/get_gateway string 192.168.1.1
+#d-i netcfg/confirm_static 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 unassigned-hostname
+d-i netcfg/get_domain string unassigned-domain
+
+# 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
+</screen></informalexample>
+
+ </sect2>
+
+ <sect2 id="preseed-mirror">
+ <title>Mirror settings</title>
+<para>
+
+Depending on the installation method you use, a mirror may used both to
+download additional components of the installer, the base system and to
+set up the <filename>/etc/apt/sources.list</filename> for the installed
+system.
+
+</para><para>
+
+The parameter <classname>mirror/suite</classname> determines the suite for
+the installed system.
+
+</para><para>
+
+The parameter <classname>mirror/udeb/suite</classname> determines the suite
+for additional components for the installer. It is only useful to set this
+if components are actually downloaded over the network and should match the
+suite that was used to build the initrd for the installation method used for
+the installation.
+By default the value for <classname>mirror/udeb/suite</classname> is the same
+as <classname>mirror/suite</classname>.
+
+</para>
+
+<informalexample role="example"><screen>
+d-i mirror/country string enter information manually
+d-i mirror/http/hostname string http.us.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
+</screen></informalexample>
+
+ </sect2>
+
+ <sect2 id="preseed-partman">
+ <title>Partitioning</title>
+<para>
+
+Using preseeding to partition the harddisk is very much limited to what is
+supported by <classname>partman-auto</classname>. You can choose to either
+partition existing free space on a disk or a whole disk. The layout of the
+disk can be determined by using a predefined recipe, a custom recipe from
+a recipe file or a recipe included in the preseed file. It is currently not
+possible to partition multiple disks using preseeding nor to set up RAID or
+LVM.
+
+</para>
+
+<warning><para>
+
+The identification of disks is dependent on the order in which their drivers
+are loaded. If there are multiple disks in the system, make very sure the
+correct one will be selected before using preseeding.
+
+</para></warning>
+
+<informalexample role="example"><screen>
+# If the system has free space you can choose to only partition that space.
+#d-i partman-auto/init_automatically_partition \
+# select Use the largest continuous free space
+
+# Alternatively, you can specify a disk to partition. The device name can
+# be given in either devfs or traditional non-devfs format.
+# For example, to use the first disk devfs knows of:
+d-i partman-auto/disk string /dev/discs/disc0/disc
+
+# You can choose from any of the predefined partitioning recipes:
+d-i partman-auto/choose_recipe \
+ select All files in one partition (recommended for new users)
+#d-i partman-auto/choose_recipe \
+# select Separate /home partition
+#d-i partman-auto/choose_recipe \
+# select Separate /home, /usr, /var, and /tmp partitions
+
+# Or provide a recipe of your own...
+# The recipe format is documented in the file devel/partman-auto-recipe.txt.
+# If you have a way to get a recipe file into the d-i environment, you can
+# just point at it.
+#d-i partman-auto/expert_recipe_file string /hd-media/recipe
+
+# If not, you can put an entire recipe the preseed file in one (logical)
+# line. This example creates a small /boot partition, suitable swap, and
+# uses the rest of the space for the root partition:
+#d-i partman-auto/expert_recipe string \
+# boot-root :: \
+# 40 50 100 ext3 \
+# $primary{ } $bootable{ } \
+# method{ format } format{ } \
+# use_filesystem{ } filesystem{ ext3 } \
+# mountpoint{ /boot } \
+# . \
+# 500 10000 1000000000 ext3 \
+# method{ format } format{ } \
+# use_filesystem{ } filesystem{ ext3 } \
+# mountpoint{ / } \
+# . \
+# 64 512 300% linux-swap \
+# method{ swap } format{ } \
+# .
+
+# This makes partman automatically partition without confirmation.
+d-i partman/confirm_write_new_label boolean true
+d-i partman/choose_partition \
+ select Finish partitioning and write changes to disk
+d-i partman/confirm boolean true
+</screen></informalexample>
+
+ </sect2>
+
+ <sect2 id="preseed-time">
+ <title>Clock and time zone setup</title>
+
+<informalexample role="example"><screen>
+# 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 US/Eastern
+</screen></informalexample>
+
+ </sect2>
+
+ <sect2 id="preseed-apt">
+ <title>Apt setup</title>
+<para>
+
+Setup of the <filename>/etc/apt/sources.list</filename> and basic configuration
+options is fully automated based on your installation method and answers to
+earlier questions. Only the two variables below are relevant for preseeding.
+
+</para>
+
+<informalexample role="example"><screen>
+# 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
+</screen></informalexample>
+
+ </sect2>
+
+ <sect2 id="preseed-account">
+ <title>Account setup</title>
+<para>
+
+The password for the root account and name and password for a first regular
+user's account can be preseeded. For the passwords you can use either clear
+text values or MD5 <emphasis>hashes</emphasis>.
+
+</para>
+<warning><para>
+
+Be aware that preseeding passwords is not completely secure as everyone
+with access to the preseed file will have the knowledge of these passwords.
+Using MD5 hashes is considered slightly better in terms of security but it
+might also give a false sense of security as access to a MD5 hash allows
+for brute force attacks.
+
+</para></warning>
+
+<informalexample role="example"><screen>
+# Root password, either in clear text
+#passwd passwd/root-password password r00tme
+#passwd passwd/root-password-again password r00tme
+# or encrypted using an MD5 hash.
+#passwd passwd/root-password-crypted password [MD5 hash]
+
+# Skip creation of a normal user account.
+#passwd passwd/make-user boolean false
+
+# Alternatively, create a normal user account.
+#passwd passwd/user-fullname string Debian User
+#passwd passwd/username string debian
+# Normal user's password, either in clear text
+#passwd passwd/user-password password insecure
+#passwd passwd/user-password-again password insecure
+# or encrypted using an MD5 hash.
+#passwd passwd/user-password-crypted password [MD5 hash]
+</screen></informalexample>
+
+<para>
+
+The <classname>passwd/root-password-crypted</classname> and
+<classname>passwd/user-password-crypted</classname> variables can also be
+preseeded with <quote>!</quote> as their value. In that case, the corresponding
+account is disabled. This may be convenient for the root account, provided
+of course that an alternate method is setup to allow administrative
+activities or root login (for instance by using SSH key authentication or
+sudo).
+
+</para><para>
+
+An MD5 hash for a password can be generated using the following command.
+
+<informalexample><screen>
+$ echo "r00tme" | mkpasswd -s -H MD5
+</screen></informalexample>
+
+</para>
+ </sect2>
+
+ <sect2 id="preseed-bootloader">
+ <title>Boot loader installation</title>
+
+<informalexample role="example"><screen>
+# Grub is the default boot loader (for x86). If you want lilo installed
+# instead, uncomment this:
+#d-i grub-installer/skip boolean true
+
+# 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 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
+
+# Alternatively, if you want to install to a location other than the mbr,
+# uncomment and edit these lines:
+#d-i grub-installer/bootdev string (hd0,0)
+#d-i grub-installer/only_debian boolean false
+#d-i grub-installer/with_other_os boolean false
+</screen></informalexample>
+
+ </sect2>
+
+ <sect2 id="preseed-finish">
+ <title>Finishing up the first stage install</title>
+
+<informalexample role="example"><screen>
+# Avoid that last message about the install being complete.
+d-i prebaseconfig/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
+</screen></informalexample>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="preseed-stage2">
+ <title>Preseeding the second stage of the installation</title>
+
+ <sect2 id="preseed-baseconfig">
+ <title>Base config</title>
+
+<informalexample role="example"><screen>
+# Avoid the introductory message.
+base-config base-config/intro note
+
+# Avoid the final message.
+base-config base-config/login note
+
+# If you installed a display manager, but don't want to start it immediately
+# after base-config finishes.
+#base-config base-config/start-display-manager boolean false
+
+# Some versions of the installer can report back on what you've installed.
+# 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
+</screen></informalexample>
+
+ </sect2>
+
+ <sect2 id="preseed-tasksel">
+ <title>Package selection</title>
+<para>
+
+You can choose to install any combination of tasks that are available.
+Available tasks as of this writing include:
+
+</para>
+
+<itemizedlist>
+<listitem><para>
+ <userinput>Standard system</userinput>
+</para></listitem>
+<listitem><para>
+ <userinput>Desktop environment</userinput>
+</para></listitem>
+<listitem><para>
+ <userinput>Web server</userinput>
+</para></listitem>
+<listitem><para>
+ <userinput>Print server</userinput>
+</para></listitem>
+<listitem><para>
+ <userinput>DNS server</userinput>
+</para></listitem>
+<listitem><para>
+ <userinput>File server</userinput>
+</para></listitem>
+<listitem><para>
+ <userinput>Mail server</userinput>
+</para></listitem>
+<listitem><para>
+ <userinput>SQL database</userinput>
+</para></listitem>
+<listitem><para>
+ <userinput>Laptop</userinput>
+</para></listitem>
+<listitem><para>
+ <userinput>manual package selection</userinput>
+</para></listitem>
+</itemizedlist>
+
+<para>
+
+The last of these will run aptitude. You can also choose to install no tasks,
+and force the installation of a set of packages in some other way. We recommend
+always including the <userinput>Standard system</userinput> task.
+
+</para>
+
+<informalexample role="example"><screen>
+tasksel tasksel/first multiselect Standard system, Desktop environment
+#tasksel tasksel/first multiselect Standard system, Web server
+</screen></informalexample>
+
+ </sect2>
+
+ <sect2 id="preseed-mailer">
+ <title>Mailer configuration</title>
+<para>
+
+During a normal install, exim asks only a few questions. Here's how to
+avoid even those. More complicated preseeding is possible.
+
+</para>
+
+<informalexample role="example"><screen>
+exim4-config exim4/dc_eximconfig_configtype \
+ select no configuration at this time
+exim4-config exim4/no_config boolean true
+exim4-config exim4/no_config boolean true
+exim4-config exim4/dc_postmaster string
+</screen></informalexample>
+
+ </sect2>
+
+ <sect2 id="preseed-X">
+ <title>X configuration</title>
+<para>
+
+Preseeding Debian's X config is possible, but you probably need to know
+some details about the video hardware of the machine, since Debian's X
+configurator does not do fully automatic configuration of everything.
+
+</para>
+
+<informalexample role="example"><screen>
+# X can detect the right driver for some cards, but if you're preseeding,
+# you override whatever it chooses. Still, vesa will work most places.
+#xserver-xfree86 xserver-xfree86/config/device/driver select vesa
+
+# A caveat with mouse autodetection is that if it fails, X will retry it
+# over and over. So if it's preseeded to be done, there is a possibility of
+# an infinite loop if the mouse is not autodetected.
+#xserver-xfree86 xserver-xfree86/autodetect_mouse boolean true
+
+# Monitor autodetection is recommended.
+xserver-xfree86 xserver-xfree86/autodetect_monitor boolean true
+# Uncomment if you have an LCD display.
+#xserver-xfree86 xserver-xfree86/config/monitor/lcd boolean true
+# X has three configuration paths for the monitor. Here's how to preseed
+# the "medium" path, which is always available. The "simple" path may not
+# be available, and the "advanced" path asks too many questions.
+xserver-xfree86 xserver-xfree86/config/monitor/selection-method \
+ select medium
+xserver-xfree86 xserver-xfree86/config/monitor/mode-list \
+ select 1024x768 @ 60 Hz
+</screen></informalexample>
+
+ </sect2>
+
+ <sect2 id="preseed-other">
+ <title>Preseeding other packages</title>
+
+<informalexample role="example"><screen>
+# Depending on what software you choose to install, or if things go wrong
+# during the installation process, it's possible that other questions may
+# be asked. You can preseed those too, of course. To get a list of every
+# possible question that could be asked during an install, do an
+# installation, and then run these commands:
+# debconf-get-selections --installer > file
+# debconf-get-selections >> file
+</screen></informalexample>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="preseed-advanced">
+ <title>Advanced options</title>
+
+ <sect2 id="preseed-shell">
+ <title>Shell commands</title>
+
+<informalexample role="example"><screen>
+# 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
+# preseed file like this one. Only use preseed 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 anna-install some-udeb
+
+# This command is run just before the install finishes, but when there is
+# still a usable /target directory.
+#d-i preseed/late_command string echo foo > /target/etc/bar
+
+# This command is run just as base-config is starting up.
+#base-config base-config/early_command string echo hi mom
+
+# This command is run after base-config is done, just before the login:
+# prompt. This is a good way to install a set of packages you want, or to
+# tweak the configuration of the system.
+#base-config base-config/late_command \
+# string apt-get install zsh; chsh -s /bin/zsh
+</screen></informalexample>
+
+ </sect2>
+
+ <sect2 id="preseed-chainload">
+ <title>Chainloading preseed files</title>
+<para>
+
+It is possible to include other preseed files from a preseed file. Any
+settings in those files will override pre-existing settings from files
+loaded earlier. This makes it possible to put, for example, general
+networking settings for your location in one file and more specific
+settings for certain configurations in other files.
+
+</para>
+
+<informalexample><screen>
+# More that one file can be listed, separated by spaces; all will be
+# loaded. The included files can have preseed/include directives of their
+# own as well. Note that if the filenames are relative, they are taken from
+# the same directory as the preseed file that includes them.
+#d-i preseed/include string x.cfg
+
+# The installer can optionally verify checksums of preseed files before
+# using them. Currently only md5sums are supported, list the md5sums
+# in the same order as the list of files to include.
+#d-i preseed/include/checksum string 5da499872becccfeda2c4872f9171c3d
+
+# More flexibly, this runs a shell command and if it outputs the names of
+# preseed files, includes those files.
+#d-i preseed/include_command \
+# string echo if [ "`hostname`" = bob ]; then echo bob.cfg; fi
+</screen></informalexample>
+
+ </sect2>
+ </sect1>
+</appendix>