4.7. Automatic Installation

For installing on multiple computers it's possible to do fully automatic installations. Debian packages intended for this include fai (which uses an install server), replicator, systemimager, autoinstall, and the Debian Installer itself.

4.7.1. Automatic Installation Using the Debian Installer

The Debian Installer supports automating installs via preconfiguration files. A preconfiguration file can be loaded from the network or from removable media, and used to fill in answers to questions asked during the installation process.

Although most dialogs used by debian-installer can be preseeded using this method, there are some notable exceptions. You can (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. Also, with the exception of network driver modules, it is not possible to preconfigure kernel module parameters.

The preconfiguration file is in the format used by the debconf-set-selections command. A well documented and working example that you can edit is in Section C.1, “Preconfiguration File Example”.

Alternatively, one way to get a complete file listing all the values that can be preseeded is to do a manual install, and then use debconf-get-selections, from the debconf-utils package, to dump both the debconf database and the cdebconf database in /var/log/debian-installer/cdebconf to a single file:

$ debconf-get-selections --installer > file
$ debconf-get-selections >> file

However, a file generated in this manner will have some items that should not be preseeded, and the file in Section C.1, “Preconfiguration File Example” is a better starting place for most users.

Once you have a preconfiguration file, you can edit it if necessary, and place it on a web server, or copy it onto the installer's boot media. Wherever you place the file, you need to pass a parameter to the installer at boot time to tell it to use the file.

To make the installer use a preconfiguration file downloaded from the network, add preseed/url=http://url/to/preseed.cfg to the kernel boot parameters. Of course the preconfiguration will not take effect until the installer manages to set up the network to download the file, so this is most useful if the installer can set up the network via DHCP without asking any questions. You may want to set the installation priority to critical to avoid any questions while the network is being configured. See Section 5.2.1, “Debian Installer Parameters”.

To place a preconfiguration file on a CD, you would need to remaster the ISO image to include your preconfiguration file. See the manual page for mkisofs for details. Alternatively, put the preseed file on a floppy, and use preseed/file=/floppy/preseed.cfg

If you'll be booting from a USB memory stick, then you can simply copy your preconfiguration file onto the memory stick's filesystem, and edit the syslinux.cfg file to add preseed/file=/hd-media/preseed.cfg to the kernel boot parameters.