Boot parameters are Linux kernel parameters which are generally used to make sure that peripherals are dealt with properly. For the most part, the kernel can auto-detect information about your peripherals. However, in some cases you'll have to help the kernel a bit.
If this is the first time you're booting the system, try the default boot parameters (i.e., don't try setting parameters) and see if it works correctly. It probably will. If not, you can reboot later and look for any special parameters that inform the system about your hardware.
Information on many boot parameters can be found in the Linux BootPrompt HOWTO, including tips for obscure hardware. This section contains only a sketch of the most salient parameters. Some common gotchas are included below in the section called “Troubleshooting the Installation Process”.
When the kernel boots, a message
Memory:avail
k/total
k available
should be emitted early in the process.
total
should match the total amount of RAM,
in kilobytes. If this doesn't match the actual amount of RAM you have
installed, you need to use the
mem=
parameter,
where ram
ram
is set to the amount of memory,
suffixed with “k” for kilobytes, or “m” for
megabytes. For example, both mem=65536k
and
mem=64m
mean 64MB of RAM.
If you are booting with a serial console, generally the kernel will
autodetect this.
If you have a videocard (framebuffer) and a keyboard also attached to
the computer which you wish to boot via serial console, you may have
to pass the
console=
argument to the kernel, where device
device
is
your serial device, which is usually something like
ttyS0
[7].
The installation system recognizes a few additional boot parameters[8] which may be useful.
A number of parameters have a “short form” that helps avoid the limitations of the kernel command line options and makes entering the parameters easier. If a parameter has a short form, it will be listed in brackets behind the (normal) long form. Examples in this manual will normally use the short form too.
- debconf/priority (priority)
-
This parameter sets the lowest priority of messages to be displayed.
The default installation uses
priority=high
. This means that both high and critical priority messages are shown, but medium and low priority messages are skipped. If problems are encountered, the installer adjusts the priority as needed.If you add
priority=medium
as boot parameter, you will be shown the installation menu and gain more control over the installation. Whenpriority=low
is used, all messages are shown (this is equivalent to the expert boot method). Withpriority=critical
, the installation system will display only critical messages and try to do the right thing without fuss. - DEBIAN_FRONTEND
-
This boot parameter controls the type of user interface used for the installer. The current possible parameter settings are:
-
DEBIAN_FRONTEND=noninteractive
-
DEBIAN_FRONTEND=text
-
DEBIAN_FRONTEND=newt
-
DEBIAN_FRONTEND=gtk
The default frontend is
DEBIAN_FRONTEND=newt
.DEBIAN_FRONTEND=text
may be preferable for serial console installs. Generally, only thenewt
frontend is available on default install media. On architectures that support it, the graphical installer uses thegtk
frontend. -
- BOOT_DEBUG
-
Setting this boot parameter to 2 will cause the installer's boot process to be verbosely logged. Setting it to 3 makes debug shells available at strategic points in the boot process. (Exit the shells to continue the boot process.)
-
BOOT_DEBUG=0
-
This is the default.
-
BOOT_DEBUG=1
-
More verbose than usual.
-
BOOT_DEBUG=2
-
Lots of debugging information.
-
BOOT_DEBUG=3
-
Shells are run at various points in the boot process to allow detailed debugging. Exit the shell to continue the boot.
-
- INSTALL_MEDIA_DEV
-
The value of the parameter is the path to the device to load the Debian installer from. For example,
INSTALL_MEDIA_DEV=/dev/floppy/0
The boot floppy, which normally scans all floppies it can to find the root floppy, can be overridden by this parameter to only look at the one device.
- lowmem
-
Can be used to force the installer to a lowmem level higher than the one the installer sets by default based on available memory. Possible values are 1 and 2. See also the section called “Check available memory / low memory mode”.
- noshell
-
Prevents the installer from offering interactive shells on tty2 and tty3. Useful for unattended installations where physical security is limited.
- debian-installer/framebuffer (fb)
-
Some architectures use the kernel framebuffer to offer installation in a number of languages. If framebuffer causes a problem on your system you can disable the feature using the parameter
vga=normal
fb=false
. Problem symptoms are error messages about bterm or bogl, a blank screen, or a freeze within a few minutes after starting the install. - debian-installer/theme (theme)
-
A theme determines how the user interface of the installer looks (colors, icons, etc.). What themes are available differs per frontend. Currently both the newt and gtk frontends only have a “dark” theme that was designed for visually impaired users. Set the theme by booting with
theme=
.dark
- netcfg/disable_autoconfig
-
By default, the
debian-installer
automatically probes for network configuration via DHCP. If the probe succeeds, you won't have a chance to review and change the obtained settings. You can get to the manual network setup only in case the DHCP probe fails.If you have a DHCP server on your local network, but want to avoid it because e.g. it gives wrong answers, you can use the parameter
netcfg/disable_autoconfig=true
to prevent configuring the network with DHCP and to enter the information manually. - hw-detect/start_pcmcia
-
Set to
false
to prevent starting PCMCIA services, if that causes problems. Some laptops are well known for this misbehavior. - disk-detect/dmraid/enable (dmraid)
-
Set to
true
to enable support for Serial ATA RAID (also called ATA RAID, BIOS RAID or fake RAID) disks in the installer. Note that this support is currently experimental. Additional information can be found on the Debian Installer Wiki. - preseed/url (url)
-
Specify the url to a preconfiguration file to download and use for automating the install. See the section called “Automatic Installation”.
- preseed/file (file)
-
Specify the path to a preconfiguration file to load for automating the install. See the section called “Automatic Installation”.
- preseed/interactive
-
Set to
true
to display questions even if they have been preseeded. Can be useful for testing or debugging a preconfiguration file. Note that this will have no effect on parameters that are passed as boot parameters, but for those a special syntax can be used. See the section called “Using preseeding to change default values” for details. - auto-install/enable (auto)
-
Delay questions that are normally asked before preseeding is possible until after the network is configured. See the section called “Auto mode” for details about using this to automate installs.
- finish-install/keep-consoles
-
During installations from serial or management console, the regular virtual consoles (VT1 to VT6) are normally disabled in
/etc/inittab
. Set totrue
to prevent this. - cdrom-detect/eject
-
By default, before rebooting,
debian-installer
automatically ejects the optical media used during the installation. This can be unnecessary if the system does not automatically boot off the CD. In some cases it may even be undesirable, for example if the optical drive cannot reinsert the media itself and the user is not there to do it manually. Many slot loading, slim-line, and caddy style drives cannot reload media automatically.Set to
false
to disable automatic ejection, and be aware that you may need to ensure that the system does not automatically boot from the optical drive after the initial installation. - base-installer/install-recommends (recommends)
-
By setting this option to
false
, the package management system will be configured to not automatically install “Recommends”, both during the installation and for the installed system. See also the section called “Installing the Base System”.Note that this option allows to have a leaner system, but can also result in features being missing that you might normally expect to be available. You may have to manually install some of the recommended packages to obtain the full functionality you want. This option should therefore only be used by very experienced users.
- debian-installer/allow_unauthenticated
-
By default the installer requires that repositories be authenticated using a known gpg key. Set to
true
to disable that authentication. Warning: insecure, not recommended. - rescue/enable
-
Set to
true
to enter rescue mode rather than performing a normal installation. See the section called “Recovering a Broken System”.
With some exceptions, a value can be set at the boot prompt for any question asked during the installation, though this is only really useful in specific cases. General instructions how to do this can be found in the section called “Using boot parameters to preseed questions”. Some specific examples are listed below.
- debian-installer/language (language), debian-installer/country (country), debian-installer/locale (locale)
-
There are two ways to specify the language, country and locale to use for the installation and the installed system.
The first and easiest is to pass only the parameter
locale
. Language and country will then be derived from its value. You can for example uselocale=de_CH
to select German as language and Switzerland as country (de_CH.UTF-8
will be set as default locale for the installed system). Limitation is that not all possible combinations of language, country and locale can be achieved this way.The second, more flexible option is to specify
language
andcountry
separately. In this caselocale
can optionally be added to specify a specific default locale for the installed system. Example:language=en country=DE locale=en_GB.UTF-8
. - anna/choose_modules (modules)
-
Can be used to automatically load installer components that are not loaded by default. Examples of optional components that may be useful are
openssh-client-udeb
(so you can use scp during the installation) andppp-udeb
(see the section called “Installing Ubuntu using PPP over Ethernet (PPPoE)”). - netcfg/disable_autoconfig
-
Set to
true
if you want to disable DHCP and instead force static network configuration. - mirror/protocol (protocol)
-
By default the installer will use the http protocol to download files from Debian mirrors and changing that to ftp is not possible during installations at normal priority. By setting this parameter to
ftp
, you can force the installer to use that protocol instead. Note that you cannot select an ftp mirror from a list, you have to enter the hostname manually. - tasksel:tasksel/first (tasks)
-
Can be used to select tasks that are not available from the interactive task list, such as the
kde-desktop
task. See the section called “Selecting and Installing Software” for additional information.
If drivers are compiled into the kernel, you can pass parameters to them as described in the kernel documentation. However, if drivers are compiled as modules and because kernel modules are loaded a bit differently during an installation than when booting an installed system, it is not possible to pass parameters to modules as you would normally do. Instead, you need to use a special syntax recognized by the installer which will then make sure that the parameters are saved in the proper configuration files and will thus be used when the modules are actually loaded. The parameters will also be propagated automatically to the configuration for the installed system.
Note that it is now quite rare that parameters need to be passed to modules. In most cases the kernel will be able to probe the hardware present in a system and set good defaults that way. However, in some situations it may still be needed to set parameters manually.
The syntax to use to set parameters for modules is:
module_name
.parameter_name
=value
If you need to pass multiple parameters to the same or different modules, just repeat this. For example, to set an old 3Com network interface card to use the BNC (coax) connector and IRQ 10, you would pass:
3c509.xcvr=3 3c509.irq=10
Sometimes it may be necessary to blacklist a module to prevent it from being loaded automatically by the kernel and udev. One reason could be that a particular module causes problems with your hardware. The kernel also sometimes lists two different drivers for the same device. This can cause the device to not work correctly if the drivers conflict or if the wrong driver is loaded first.
You can blacklist a module using the following syntax:
.
This will cause the module to be blacklisted in
module_name
.blacklist=yes/etc/modprobe.d/blacklist.local
both during the
installation and for the installed system.
Note that a module may still be loaded by the installation system itself. You can prevent that from happening by running the installation in expert mode and unselecting the module from the list of modules displayed during the hardware detection phases.
[7]
In order to ensure the terminal type used by the installer matches your
terminal emulator, the parameter
TERM=
can be added.
Note that the installer only supports the following terminal types:
type
linux
, bterm
, ansi
,
vt102
and dumb
. The default for
serial console in debian-installer
is vt102
.
[8] With current kernels (2.6.9 or newer) you can use 32 command line options and 32 environment options. If these numbers are exceeded, the kernel will panic.