Preseeding provides a way to set answers to questions asked during the installation process, 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.
Most of the questions asked by DebianInstaller can be preseeded by setting the answers in the debconf database. The Installation Guide includes an extensive appendix dedicated to preseeding and includes a complete example. Feel free to add any information that is not covered in the manual to the notes below.
Post here any links you have to example preseed files. Note that using any of these files directly is not wise, as a malicious person could probably come up with values for a preseed file that makes d-i misbehave. Also, the files are downloaded over http, so are vulnerable to man-in-the-middle spoof attacks. The best way to use any preseed file is to copy it to your own local web server or media, and look it over before using it.
Christian Perrier's page documenting automated d-i installs in vmware, using netboot. http://people.debian.org/~bubulle/d-i/vmware-fai.html
Holger Levsen's d-i examples showing a way to preserve partitions and ssh-host-keys: http://layer-acht.org/d-i/
Enrico Zini's conditional partitioning hints: http://www.enricozini.org/2008/tips/d-i-conditional-partitioning.html
Phil Hands' d-i setup, that allows minimal (i.e. no exim) installs, works from CD, PXE & USB (read the HOWTO's), and allows custom configs to be specified at the boot: prompt http://hands.com/d-i/
DebianInstaller/AsSshClient for using d-i as a ssh terminal
Instalinux lets you answer a few questions on the web and generate an ISO image that can be used to install Debian noninteractively, or a preseed file that you can use with other install methods. http://www.instalinux.com/
Christian Perrier documented a D-I demo setup in DebianInstaller/BabelBox
Debian Administration has an article on using preseeding: http://www.debian-administration.org/articles/394
Filip Van Raemdonck documented modifying an iso to include the preseed file in DebianInstaller/Preseed/EditIso
Gürkan Sengün with a very simple preseed.cfg for fully automatic installation of workstations using dphys-config: http://debian.ethz.ch/d-i/p (Used for i386, amd64 installs on a wide variety of hardware configurations, with a wide variety of use of the computers. Including large repositories of special software)
Matt Taggart's notes and configuration, including using serial console and postfix. http://lackof.org/taggart/hacking/d-i_preseed/
Do not work off a debconf-get-selections (--installer) generated preseed.cfg but get the values from it and modify the example preseed file with them.
Be aware there is only one space in preseed files between subkey and value on "owner key/subkey value" lines.
Do not reboot in the base-config/late_command command, the installation process will start again at the start of the 2nd stage.
Preseeding has changed significantly in etch, preseed files for sarge will need to be updated or re-done. The largest change is the removal of base-config, which means that base-config/late_command and base-config/early_command are no longer available.
To install additional packages in etch, you can preseed preseed/early_command to run "apt-install package".
- Look in debconf-devel(7) in the debconf-doc package for more docs about d-i and debian-installer preseed questions.
- If your preseed value is being ignored and whilst using DEBCONF_DEBUG=5 to watch the debconf output you see "FSET blah false" it just means that a piece of code really wants that question to be seen, and such questions are not normally preseedable - the only way to avoid them is to avoid the situation that gives rise to that question being asked.