Appendix B. Automating the installation using preseeding have a reasonably sane DHCP setup, it would result in the preseed file being retrieved from http://autoserver.example.com/d-i/focal/./preseed.cfg . The last part of that url ( d-i/focal/./preseed.cfg ) is taken from auto-install/defaultroot . By default this includes the directory focal to allow future versions to specify their own codename and let people migrate forwards in a controlled manner. The /./ bit is used to indicate a root, relative to which subsequent paths can be anchored (for use in preseed/include and preseed/run). This allows files to be specified either as full URLs, paths starting with / that are thus anchored, or even paths relative to the location where the last preseed file was found. This can be used to construct more portable scripts where an entire hierarchy of scripts can be moved to a new location without breaking it, for example copying the files onto a USB stick when they started out on a web server. In this example, if the preseed file sets preseed/run to /scripts/late_command.sh then the file will be fetched from http://autoserver.example.com/d-i/focal/./scripts/late_command.sh . If there is no local DHCP or DNS infrastructure, or if you do not want to use the default path to preseed.cfg , you can still use an explicit url, and if you don’t use the /./ element it will be anchored to the start of the path (i.e. the third / in the URL). Here is an example that requires minimal support from the local network infrastructure: auto url= http://192.168.1.2/path/to/mypreseed.file The way this works is that: In addition to specifying the url, you can also specify settings that do not directly affect the behavior of debian-installer itself, but can be passed through to scripts specified using preseed/run in the loaded preseed file. At present, the only example of this is auto-install/classes , which has an alias classes . This can be used thus: auto url= example.com classes= class_A;class_B The classes could for example denote the type of system to be installed, or the localization to be used. It is of course possible to extend this concept, and if you do, it is reasonable to use the auto-install namespace for this. So one might have something like auto-install/style which is then used in your scripts. If you feel the need to do this, please mention it on the < debian-boot@lists.debian.org > mailing list so that we can avoid namespace conflicts, and perhaps add an alias for the parameter for you. The auto boot choice is not yet defined on all arches, but the same effect may be achieved by sim- ply adding the two parameters auto=true priority=critical to the kernel command line. The auto kernel parameter is an alias for auto-install/enable and setting it to true delays the lo- cale and keyboard questions until after there has been a chance to preseed them, while priority is an alias for debconf/priority and setting it to critical stops any questions with a lower priority from being asked. 88 • if the URL is missing a protocol, http is assumed, • if the hostname section contains no periods, it has the domain derived from DHCP appended to it, and • if there’s no / ’s after the hostname, then the default path is added.