From 22678abd7f05d096672755b9e9c671aa5bc6e3d3 Mon Sep 17 00:00:00 2001 From: Frans Pop Date: Sat, 4 Nov 2006 11:07:38 +0000 Subject: Update of original English docs --- nl/appendix/preseed.xml | 399 ++++++++++++++++++++++++++++++++---------------- 1 file changed, 268 insertions(+), 131 deletions(-) (limited to 'nl/appendix') diff --git a/nl/appendix/preseed.xml b/nl/appendix/preseed.xml index 3381a4a2b..396197822 100644 --- a/nl/appendix/preseed.xml +++ b/nl/appendix/preseed.xml @@ -1,5 +1,5 @@ - + - - - Running custom commands during the installation - - -A very powerful and flexible option offered by the preconfiguration tools -is the ability to run commands or scripts at certain points in the -installation. See for details. - - - - - - preseed/early_command: is run as soon as the - preconfiguration file has been loaded - - - preseed/late_command: is run just before the reboot - at the end of the install, but before the /target - filesystem has been unmounted - - - - - - - Using preseeding to change default values - - -It is possible to use preseeding to change the default answer for a -question, but still have the question asked. To do this the -seen flag must be reset to false after -setting the value for a question. - - - - -d-i foo/bar string value -d-i foo/bar seen false - - - + Using preseeding -Of course you will first need to create a preconfiguration file and place it in +You will first need to create a preconfiguration file and place it in the location from where you want to use it. Creating the preconfiguration 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 preconfiguration file included in the initrd is outside the scope of this document; please consult -the developers documentation for &d-i;. +the developers' documentation for &d-i;. @@ -322,14 +288,206 @@ Note that preseed/url can be shortened to just url and preseed/file to just file when they are passed as boot parameters. + + + + + Using boot parameters to supplement preseeding + + +If a preconfiguration file cannot be used to preseed some steps, the +install can still be fully automated, since you can pass preseed values on +the command line when booting the installer. Just pass +path/to/var=value for any of the preseed variables +listed in the examples. + + + +Note that some variables that are frequently set at the boot prompt +have a shorter alias. If an alias is available, it is used in the +examples in this appendix instead of the full variable. In +particular, the preseed/url variable has been +aliased as url and has some extra magic to allow +shortened urls to be used. + + + +A -- in the boot options has special meaning. Kernel +parameters that appear after the last -- may be copied +into the bootloader configuration for the installed system (if supported by +the installer for the bootloader). The installer will automatically filter +out any options (like preconfiguration options) that it recognizes. + + + + +Current linux kernels (2.6.9 and later) accept a maximum of 32 command line +options and 32 environment options, including any options added by default +for the installer. If these numbers are exceeded, the kernel will panic +(crash). (For earlier kernels, these numbers were lower.) + + + + +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. + + + + +It may not always be possible to specify values with spaces for boot +parameters, even if you delimit them with quotes. + + + + + + Auto mode + + +There are several features of Debian Installer that combine to allow +fairly simple command lines at the boot prompt to result in +arbitrarily complex customized automatic installs. To illustrate +this, here are some examples that can be used at the boot prompt: + + +auto url=autoserver + + +This relies on there being a DHCP server that will get the machine to +the point where autoserver can be resolved by DNS, +perhaps after adding the local domain if that was provided by DHCP. +If this was done at a site where the domain is +example.com, and they have a reasonably sane DHCP +setup, it would result in the preseed file being retrieved from +http://autoserver.example.com/d-i/etch/./preseed.cfg. + + + +The path segment of that comes from +auto-install/defaultroot, which includes the +directory etch by default to allow future versions +to specify their own codename to 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/etch/./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 the 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: + + +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. + + + + + +In addition to specifying the url, you can also specify settings that +do not directly affect the behavior of &d-i; itself, but can be passed +through to any scripts that might be specified preseed/run +settings 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 label is not yet defined on all +architectures. The same effect may be achieved by simply adding the two +parameters auto=true priority=critical to the kernel +command line. The auto parameter is an alias for +auto-install/enabled and controls the delay of the +locale and keyboard questions until after there has been a chance to +preseed them, while priority is an alias for +preseed/priority and setting it to +critical stops any questions with a lower priority +from being asked. + -While you're at it, you may want to add a boot parameter -priority=critical. This will avoid most -questions even if the preseeding below misses some. +Additional options that may be of interest while attempting to +automate an install while using DHCP are: interface=auto +netcfg/dhcp_timeout=60 which makes the machine choose the +first viable NIC and be more patient about getting a reply to its +DHCP query. + + + Aliases useful with preseeding + + +The following aliases can be useful when using (auto mode) preseeding. + + + + + + +autoauto-install/enabled +classesauto-install/classes +fbdebian-installer/framebuffer +localedebian-installer/locale +prioritydebconf/priority +filepreseed/file +urlpreseed/url +hostname   netcfg/get_hostname +domainnetcfg/get_domain +interfacenetcfg/choose_interface +suitemirror/suite + + + + Using a DHCP server to specify preconfiguration files @@ -367,69 +525,9 @@ automate Debian installs should only be done with care. - - - Using boot parameters to supplement preseeding - - -Some parts of the installation process cannot be automated using some forms -of preseeding because the questions are asked before the preconfiguration -file is loaded. For example, if the preconfiguration 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. - - - -If a preconfiguration 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 path/to/var=value -for any of the preseed variables listed in the examples. - - - -Note that some variables that are frequently set at the boot prompt have a -shorter alias. If an alias is available, it is used in the examples in -this appendix instead of the full variable. - - - -A -- in the boot options has special meaning. Kernel -parameters that appear after the last -- will be copied -into the installed bootloader configuration (if supported by the -installer for the bootloader). Note that the -- may -already be present in the default boot parameters, which means that -unless you add another -- all parameters specified -at the boot prompt will be copied. That being the case, you should -specify any preconfiguration options before any options required by the -hardware in order to boot, and separate them with a -- -to ensure that only the latter are copied onto the target system. - - - - -Current linux kernels (2.6.9 and later) accept a maximum of 32 command line -options and 32 environment options, including any options added by default -for the installer. If these numbers are exceeded, the kernel will panic -(crash). (For earlier kernels, these numbers were lower.) - - - - -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. - - - - -It may not always be possible to specify values with spaces for boot -parameters, even if you delimit them with quotes. - - - + Creating a preconfiguration file @@ -529,6 +627,7 @@ an install, you can use the command debconf-set-selections -c + Contents of the preconfiguration file @@ -1190,11 +1289,19 @@ xserver-xorg xserver-xorg/config/monitor/mode-list \ + Advanced options - - Shell commands + + Running custom commands during the installation + + +A very powerful and flexible option offered by the preconfiguration tools +is the ability to run commands or scripts at certain points in the +installation. + + # d-i preseeding is inherently not secure. Nothing in the installer checks @@ -1213,6 +1320,24 @@ xserver-xorg xserver-xorg/config/monitor/mode-list \ # directly, or use the apt-install and in-target commands to easily install # packages and run commands in the target system. #d-i preseed/late_command string apt-install zsh; in-target chsh -s /bin/zsh + + + + + + Using preseeding to change default values + + +It is possible to use preseeding to change the default answer for a +question, but still have the question asked. To do this the +seen flag must be reset to false after +setting the value for a question. + + + + +d-i foo/bar string value +d-i foo/bar seen false @@ -1230,7 +1355,7 @@ settings for certain configurations in other files. -# More that one file can be listed, separated by spaces; all will be +# More than 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 preconfiguration file that includes them. @@ -1253,6 +1378,18 @@ settings for certain configurations in other files. d-i preseed/run string foo.sh + + +It is also possible to chainload from the initrd or file preseeding phase, +into network preseeding by setting preseed/url in the earlier files. +This will cause network preseeding to be performed when the network comes +up. You need to be careful when doing this, since there will be two +distinct runs at preseeding, meaning for example that you get another +chance to run the preseed/early command, the second one happening after the +network comes up. + + + -- cgit v1.2.3