1058 lines
33 KiB
Plaintext
1058 lines
33 KiB
Plaintext
DRACUT.CMDLINE(7)
|
||
=================
|
||
:doctype: manpage
|
||
:man source: dracut
|
||
:man manual: dracut
|
||
|
||
NAME
|
||
----
|
||
dracut.cmdline - dracut kernel command line options
|
||
|
||
DESCRIPTION
|
||
-----------
|
||
The root device used by the kernel is specified in the boot configuration
|
||
file on the kernel command line, as always.
|
||
|
||
The traditional _root=/dev/sda1_ style device specification is allowed, but not
|
||
encouraged. The root device should better be identified by LABEL or UUID. If a
|
||
label is used, as in _root=LABEL=<label_of_root>_ the initramfs will search all
|
||
available devices for a filesystem with the appropriate label, and mount that
|
||
device as the root filesystem. _root=UUID=<uuidnumber>_ will mount the partition
|
||
with that UUID as the root filesystem.
|
||
|
||
In the following all kernel command line parameters, which are processed by
|
||
dracut, are described.
|
||
|
||
"rd.*" parameters mentioned without "=" are boolean parameters. They can be
|
||
turned on/off by setting them to {0|1}. If the assignment with "=" is missing
|
||
"=1" is implied. For example _rd.info_ can be turned off with _rd.info=0_ or
|
||
turned on with _rd.info=1_ or _rd.info_. The last value in the kernel command
|
||
line is the value, which is honored.
|
||
|
||
Standard
|
||
~~~~~~~~
|
||
**init=**__<path to real init>__::
|
||
specify the path to the init programm to be started after the initramfs has
|
||
finished
|
||
|
||
**root=**__<path to blockdevice>__::
|
||
specify the block device to use as the root filesystem.
|
||
+
|
||
[listing]
|
||
.Example
|
||
--
|
||
root=/dev/sda1
|
||
root=/dev/disk/by-path/pci-0000:00:1f.1-scsi-0:0:1:0-part1
|
||
root=/dev/disk/by-label/Root
|
||
root=LABEL=Root
|
||
root=/dev/disk/by-uuid/3f5ad593-4546-4a94-a374-bcfb68aa11f7
|
||
root=UUID=3f5ad593-4546-4a94-a374-bcfb68aa11f7
|
||
root=PARTUUID=3f5ad593-4546-4a94-a374-bcfb68aa11f7
|
||
--
|
||
|
||
**rootfstype=**__<filesystem type>__:: "auto" if not specified.
|
||
+
|
||
[listing]
|
||
.Example
|
||
--
|
||
rootfstype=ext3
|
||
--
|
||
|
||
**rootflags=**__<mount options>__::
|
||
specify additional mount options for the root filesystem. If not set,
|
||
_/etc/fstab_ of the real root will be parsed for special mount options and
|
||
mounted accordingly.
|
||
|
||
**ro**::
|
||
force mounting _/_ and _/usr_ (if it is a separate device) read-only. If
|
||
none of ro and rw is present, both are mounted according to _/etc/fstab_.
|
||
|
||
**rw**::
|
||
force mounting _/_ and _/usr_ (if it is a separate device) read-write.
|
||
See also ro option.
|
||
|
||
**rootfallback=**__<path to blockdevice>__::
|
||
specify the block device to use as the root filesystem, if the normal root
|
||
cannot be found. This can only be a simple block device with a simple file
|
||
system, for which the filesystem driver is either compiled in, or added
|
||
manually to the initramfs. This parameter can be specified multiple times.
|
||
|
||
**rd.auto** **rd.auto=1**::
|
||
enable autoassembly of special devices like cryptoLUKS, dmraid, mdraid or
|
||
lvm. Default is off as of dracut version >= 024.
|
||
|
||
**rd.hostonly=0**::
|
||
removes all compiled in configuration of the host system the initramfs image
|
||
was built on. This helps booting, if any disk layout changed, especially in
|
||
combination with rd.auto or other parameters specifying the layout.
|
||
|
||
**rd.cmdline=ask**::
|
||
prompts the user for additional kernel command line parameters
|
||
|
||
**rd.fstab=0**::
|
||
do not honor special mount options for the root filesystem found in
|
||
_/etc/fstab_ of the real root.
|
||
|
||
**resume=**__<path to resume partition>__::
|
||
resume from a swap partition
|
||
+
|
||
[listing]
|
||
.Example
|
||
--
|
||
resume=/dev/disk/by-path/pci-0000:00:1f.1-scsi-0:0:1:0-part1
|
||
resume=/dev/disk/by-uuid/3f5ad593-4546-4a94-a374-bcfb68aa11f7
|
||
resume=UUID=3f5ad593-4546-4a94-a374-bcfb68aa11f7
|
||
--
|
||
|
||
**rd.skipfsck**::
|
||
skip fsck for rootfs and _/usr_. If you're mounting _/usr_ read-only and
|
||
the init system performs fsck before remount, you might want to use this
|
||
option to avoid duplication.
|
||
|
||
iso-scan/filename
|
||
~~~~~~~~~~~~~~~~~
|
||
|
||
Using iso-scan/filename with a Fedora/Red Hat/CentOS Live iso should just work
|
||
by copying the original kernel cmdline parameters.
|
||
|
||
[listing]
|
||
.Example
|
||
--
|
||
menuentry 'Live Fedora 20' --class fedora --class gnu-linux --class gnu --class os {
|
||
set isolabel=Fedora-Live-LXDE-x86_64-20-1
|
||
set isofile="/boot/iso/Fedora-Live-LXDE-x86_64-20-1.iso"
|
||
loopback loop $isofile
|
||
linux (loop)/isolinux/vmlinuz0 boot=isolinux iso-scan/filename=$isofile root=live:LABEL=$isolabel ro rd.live.image quiet rhgb
|
||
initrd (loop)/isolinux/initrd0.img
|
||
}
|
||
--
|
||
|
||
Misc
|
||
~~~~
|
||
**rd.driver.blacklist=**__<drivername>__[,__<drivername>__,...]::
|
||
do not load kernel module <drivername>. This parameter can be specified
|
||
multiple times.
|
||
|
||
**rd.driver.pre=**__<drivername>__[,__<drivername>__,...]::
|
||
force loading kernel module <drivername>. This parameter can be specified
|
||
multiple times.
|
||
|
||
**rd.driver.post=**__<drivername>__[,__<drivername>__,...]::
|
||
force loading kernel module <drivername> after all automatic loading modules
|
||
have been loaded. This parameter can be specified multiple times.
|
||
|
||
**rd.retry=**__<seconds>__::
|
||
specify how long dracut should retry the initqueue to configure devices.
|
||
The default is 30 seconds. After 2/3 of the time, degraded raids are force
|
||
started. If you have hardware, which takes a very long time to announce its
|
||
drives, you might want to extend this value.
|
||
|
||
**rd.timeout=**__<seconds>__::
|
||
specify how long dracut should wait for devices to appear. The
|
||
default is '0', which means 'forever'. Note that this timeout
|
||
should be longer than rd.retry to allow for proper configuration.
|
||
|
||
**rd.noverifyssl**::
|
||
accept self-signed certificates for ssl downloads.
|
||
|
||
**rd.ctty=**__<terminal device>__::
|
||
specify the controlling terminal for the console.
|
||
This is useful, if you have multiple "console=" arguments.
|
||
|
||
[[dracutkerneldebug]]
|
||
Debug
|
||
~~~~~
|
||
If you are dropped to an emergency shell, the file
|
||
_/run/initramfs/rdsosreport.txt_ is created, which can be saved to a (to be
|
||
mounted by hand) partition (usually /boot) or a USB stick. Additional debugging
|
||
info can be produced by adding **rd.debug** to the kernel command line.
|
||
_/run/initramfs/rdsosreport.txt_ contains all logs and the output of some tools.
|
||
It should be attached to any report about dracut problems.
|
||
|
||
**rd.info**::
|
||
print informational output though "quiet" is set
|
||
|
||
**rd.shell**::
|
||
allow dropping to a shell, if root mounting fails
|
||
|
||
**rd.debug**::
|
||
set -x for the dracut shell.
|
||
If systemd is active in the initramfs, all output is logged to the systemd
|
||
journal, which you can inspect with "journalctl -ab".
|
||
If systemd is not active, the logs are written to dmesg and
|
||
_/run/initramfs/init.log_.
|
||
If "quiet" is set, it also logs to the console.
|
||
|
||
**rd.memdebug=[0-3]**::
|
||
Print memory usage info at various points, set the verbose level from 0 to 3.
|
||
+
|
||
Higher level means more debugging output:
|
||
+
|
||
----
|
||
0 - no output
|
||
1 - partial /proc/meminfo
|
||
2 - /proc/meminfo
|
||
3 - /proc/meminfo + /proc/slabinfo
|
||
----
|
||
|
||
**rd.break**::
|
||
drop to a shell at the end
|
||
|
||
**rd.break=**__{cmdline|pre-udev|pre-trigger|initqueue|pre-mount|mount|pre-pivot|cleanup}__::
|
||
drop to a shell on defined breakpoint
|
||
|
||
**rd.udev.info**::
|
||
set udev to loglevel info
|
||
|
||
**rd.udev.debug**::
|
||
set udev to loglevel debug
|
||
|
||
I18N
|
||
~~~~
|
||
**rd.vconsole.keymap=**__<keymap base file name>__::
|
||
keyboard translation table loaded by loadkeys; taken from keymaps directory;
|
||
will be written as KEYMAP to _/etc/vconsole.conf_ in the initramfs.
|
||
+
|
||
[listing]
|
||
.Example
|
||
--
|
||
rd.vconsole.keymap=de-latin1-nodeadkeys
|
||
--
|
||
|
||
**rd.vconsole.keymap.ext=**__<list of keymap base file names>__::
|
||
list of extra keymaps to bo loaded (sep. by space); will be written as
|
||
EXT_KEYMAP to _/etc/vconsole.conf_ in the initramfs
|
||
|
||
**rd.vconsole.unicode**::
|
||
boolean, indicating UTF-8 mode; will be written as UNICODE to
|
||
_/etc/vconsole.conf_ in the initramfs
|
||
|
||
**rd.vconsole.font=**__<font base file name>__::
|
||
console font; taken from consolefonts directory; will be written as FONT to
|
||
_/etc/vconsole.conf_ in the initramfs.
|
||
+
|
||
[listing]
|
||
.Example
|
||
--
|
||
rd.vconsole.font=LatArCyrHeb-16
|
||
--
|
||
|
||
**rd.vconsole.font.map=**__<console map base file name>__::
|
||
see description of '-m' parameter in setfont manual; taken from consoletrans
|
||
directory; will be written as FONT_MAP to _/etc/vconsole.conf_ in the
|
||
initramfs
|
||
|
||
**rd.vconsole.font.unimap=**__<unicode table base file name>__::
|
||
see description of '-u' parameter in setfont manual; taken from unimaps
|
||
directory; will be written as FONT_UNIMAP to _/etc/vconsole.conf_ in the
|
||
initramfs
|
||
|
||
**rd.locale.LANG=**__<locale>__::
|
||
taken from the environment; if no UNICODE is defined we set its value in
|
||
basis of LANG value (whether it ends with ".utf8" (or similar) or not); will
|
||
be written as LANG to _/etc/locale.conf_ in the initramfs.
|
||
+
|
||
[listing]
|
||
.Example
|
||
--
|
||
rd.locale.LANG=pl_PL.utf8
|
||
--
|
||
|
||
**rd.locale.LC_ALL=**__<locale>__::
|
||
taken from the environment; will be written as LC_ALL to _/etc/locale.conf_
|
||
in the initramfs
|
||
|
||
LVM
|
||
~~~
|
||
**rd.lvm=0**::
|
||
disable LVM detection
|
||
|
||
**rd.lvm.vg=**__<volume group name>__::
|
||
only activate the volume groups with the given name. rd.lvm.vg can be
|
||
specified multiple times on the kernel command line.
|
||
|
||
**rd.lvm.lv=**__<logical volume name>__::
|
||
only activate the logical volumes with the given name. rd.lvm.lv can be
|
||
specified multiple times on the kernel command line.
|
||
|
||
**rd.lvm.conf=0**::
|
||
remove any _/etc/lvm/lvm.conf_, which may exist in the initramfs
|
||
|
||
crypto LUKS
|
||
~~~~~~~~~~~
|
||
**rd.luks=0**::
|
||
disable crypto LUKS detection
|
||
|
||
**rd.luks.uuid=**__<luks uuid>__::
|
||
only activate the LUKS partitions with the given UUID. Any "luks-" of the
|
||
LUKS UUID is removed before comparing to _<luks uuid>_.
|
||
The comparisons also matches, if _<luks uuid>_ is only the beginning of the
|
||
LUKS UUID, so you don't have to specify the full UUID.
|
||
This parameter can be specified multiple times.
|
||
|
||
**rd.luks.allow-discards=**__<luks uuid>__::
|
||
Allow using of discards (TRIM) requests for LUKS partitions with the given
|
||
UUID. Any "luks-" of the LUKS UUID is removed before comparing to
|
||
_<luks uuid>_. The comparisons also matches, if _<luks uuid>_ is only the
|
||
beginning of the LUKS UUID, so you don't have to specify the full UUID.
|
||
This parameter can be specified multiple times.
|
||
|
||
**rd.luks.allow-discards**::
|
||
Allow using of discards (TRIM) requests on all LUKS partitions.
|
||
|
||
**rd.luks.crypttab=0**::
|
||
do not check, if LUKS partition is in _/etc/crypttab_
|
||
|
||
crypto LUKS - key on removable device support
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
**rd.luks.key=**__<keypath>__:__<keydev>__:__<luksdev>__::
|
||
_keypath_ is a path to key file to look for. It's REQUIRED. When _keypath_
|
||
ends with '.gpg' it's considered to be key encrypted symmetrically with GPG.
|
||
You will be prompted for password on boot. GPG support comes with
|
||
'crypt-gpg' module which needs to be added explicitly.
|
||
+
|
||
_keydev_ is a device on which key file resides. It might be kernel name of
|
||
devices (should start with "/dev/"), UUID (prefixed with "UUID=") or label
|
||
(prefix with "LABEL="). You don't have to specify full UUID. Just its beginning
|
||
will suffice, even if its ambiguous. All matching devices will be probed.
|
||
This parameter is recommended, but not required. If not present, all block
|
||
devices will be probed, which may significantly increase boot time.
|
||
+
|
||
If _luksdev_ is given, the specified key will only be applied for that LUKS
|
||
device. Possible values are the same as for _keydev_. Unless you have several
|
||
LUKS devices, you don't have to specify this parameter. The simplest usage is:
|
||
+
|
||
[listing]
|
||
.Example
|
||
--
|
||
rd.luks.key=/foo/bar.key
|
||
--
|
||
+
|
||
As you see, you can skip colons in such a case.
|
||
+
|
||
[NOTE]
|
||
===============================
|
||
dracut pipes key to cryptsetup with _-d -_ argument, therefore you need to pipe
|
||
to crypsetup luksFormat with _-d -_, too!
|
||
|
||
Here follows example for key encrypted with GPG:
|
||
|
||
[listing]
|
||
--
|
||
gpg --quiet --decrypt rootkey.gpg | \
|
||
cryptsetup -d - -v --cipher serpent-cbc-essiv:sha256 \
|
||
--key-size 256 luksFormat /dev/sda3
|
||
--
|
||
|
||
If you use plain keys, just add path to _-d_ option:
|
||
|
||
[listing]
|
||
--
|
||
cryptsetup -d rootkey.key -v --cipher serpent-cbc-essiv:sha256 \
|
||
--key-size 256 luksFormat /dev/sda3
|
||
--
|
||
===============================
|
||
|
||
MD RAID
|
||
~~~~~~~
|
||
**rd.md=0**::
|
||
disable MD RAID detection
|
||
|
||
**rd.md.imsm=0**::
|
||
disable MD RAID for imsm/isw raids, use DM RAID instead
|
||
|
||
**rd.md.ddf=0**::
|
||
disable MD RAID for SNIA ddf raids, use DM RAID instead
|
||
|
||
**rd.md.conf=0**::
|
||
ignore mdadm.conf included in initramfs
|
||
|
||
**rd.md.waitclean=1**::
|
||
wait for any resync, recovery, or reshape activity to finish before
|
||
continuing
|
||
|
||
**rd.md.uuid=**__<md raid uuid>__::
|
||
only activate the raid sets with the given UUID. This parameter can be
|
||
specified multiple times.
|
||
|
||
DM RAID
|
||
~~~~~~~
|
||
**rd.dm=0**::
|
||
disable DM RAID detection
|
||
|
||
**rd.dm.uuid=**__<dm raid uuid>__::
|
||
only activate the raid sets with the given UUID. This parameter can be
|
||
specified multiple times.
|
||
|
||
MULTIPATH
|
||
~~~~~~~~~
|
||
**rd.multipath=0**::
|
||
disable multipath detection
|
||
|
||
FIPS
|
||
~~~~
|
||
**rd.fips**::
|
||
enable FIPS
|
||
|
||
**boot=**__<boot device>__::
|
||
specify the device, where /boot is located.
|
||
+
|
||
[listing]
|
||
.Example
|
||
--
|
||
boot=/dev/sda1
|
||
boot=/dev/disk/by-path/pci-0000:00:1f.1-scsi-0:0:1:0-part1
|
||
boot=UUID=<uuid>
|
||
boot=LABEL=<label>
|
||
--
|
||
|
||
**rd.fips.skipkernel**::
|
||
skip checksum check of the kernel image. Useful, if the kernel image is not
|
||
in a separate boot partition.
|
||
|
||
Network
|
||
~~~~~~~
|
||
|
||
[IMPORTANT]
|
||
=====================
|
||
It is recommended to either bind an interface to a MAC with the **ifname**
|
||
argument, or to use the systemd-udevd predictable network interface names.
|
||
|
||
Predictable network interface device names based on:
|
||
|
||
- firmware/bios-provided index numbers for on-board devices
|
||
- firmware-provided pci-express hotplug slot index number
|
||
- physical/geographical location of the hardware
|
||
- the interface's MAC address
|
||
|
||
See:
|
||
http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames
|
||
|
||
Two character prefixes based on the type of interface:
|
||
|
||
en:: ethernet
|
||
wl:: wlan
|
||
ww:: wwan
|
||
|
||
Type of names:
|
||
|
||
o<index>:: on-board device index number
|
||
s<slot>[f<function>][d<dev_id>]:: hotplug slot index number
|
||
x<MAC>:: MAC address
|
||
[P<domain>]p<bus>s<slot>[f<function>][d<dev_id>]:: PCI geographical location
|
||
[P<domain>]p<bus>s<slot>[f<function>][u<port>][..][c<config>][i<interface>]:: USB port number chain
|
||
|
||
All multi-function PCI devices will carry the [f<function>] number in the
|
||
device name, including the function 0 device.
|
||
|
||
When using PCI geography, The PCI domain is only prepended when it is not 0.
|
||
|
||
For USB devices the full chain of port numbers of hubs is composed. If the
|
||
name gets longer than the maximum number of 15 characters, the name is not
|
||
exported.
|
||
The usual USB configuration == 1 and interface == 0 values are suppressed.
|
||
|
||
PCI ethernet card with firmware index "1"::
|
||
* eno1
|
||
|
||
PCI ethernet card in hotplug slot with firmware index number::
|
||
* ens1
|
||
|
||
PCI ethernet multi-function card with 2 ports::
|
||
* enp2s0f0
|
||
* enp2s0f1
|
||
|
||
PCI wlan card::
|
||
* wlp3s0
|
||
|
||
USB built-in 3G modem::
|
||
* wwp0s29u1u4i6
|
||
|
||
USB Android phone::
|
||
* enp0s29u1u2
|
||
=====================
|
||
|
||
**ip=**__{dhcp|on|any|dhcp6|auto6}__::
|
||
dhcp|on|any::: get ip from dhcp server from all interfaces. If root=dhcp,
|
||
loop sequentially through all interfaces (eth0, eth1, ...) and use the first
|
||
with a valid DHCP root-path.
|
||
|
||
auto6::: IPv6 autoconfiguration
|
||
|
||
dhcp6::: IPv6 DHCP
|
||
|
||
**ip=**__<interface>__:__{dhcp|on|any|dhcp6|auto6}__[:[__<mtu>__][:__<macaddr>__]]::
|
||
This parameter can be specified multiple times.
|
||
+
|
||
=====================
|
||
dhcp|on|any|dhcp6::: get ip from dhcp server on a specific interface
|
||
auto6::: do IPv6 autoconfiguration
|
||
<macaddr>::: optionally **set** <macaddr> on the <interface>. This
|
||
cannot be used in conjunction with the **ifname** argument for the
|
||
same <interface>.
|
||
=====================
|
||
|
||
**ip=**__<client-IP>__:[__<peer>__]:__<gateway-IP>__:__<netmask>__:__<client_hostname>__:__<interface>__:__{none|off|dhcp|on|any|dhcp6|auto6|ibft}__:[:[__<mtu>__][:__<macaddr>__]]::
|
||
explicit network configuration. If you want do define a IPv6 address, put it
|
||
in brackets (e.g. [2001:DB8::1]). This parameter can be specified multiple
|
||
times. __<peer>__ is optional and is the address of the remote endpoint
|
||
for pointopoint interfaces and it may be followed by a slash and a decimal
|
||
number, encoding the network prefix length.
|
||
+
|
||
=====================
|
||
<macaddr>::: optionally **set** <macaddr> on the <interface>. This
|
||
cannot be used in conjunction with the **ifname** argument for the
|
||
same <interface>.
|
||
=====================
|
||
|
||
**ip=**__<client-IP>__:[__<peer>__]:__<gateway-IP>__:__<netmask>__:__<client_hostname>__:__<interface>__:__{none|off|dhcp|on|any|dhcp6|auto6|ibft}__[:[__<dns1>__][:__<dns2>__]]::
|
||
explicit network configuration. If you want do define a IPv6 address, put it
|
||
in brackets (e.g. [2001:DB8::1]). This parameter can be specified multiple
|
||
times. __<peer>__ is optional and is the address of the remote endpoint
|
||
for pointopoint interfaces and it may be followed by a slash and a decimal
|
||
number, encoding the network prefix length.
|
||
|
||
**ifname=**__<interface>__:__<MAC>__::
|
||
Assign network device name <interface> (ie "bootnet") to the NIC with
|
||
MAC <MAC>.
|
||
+
|
||
WARNING: Do **not** use the default kernel naming scheme for the interface name,
|
||
as it can conflict with the kernel names. So, don't use "eth[0-9]+" for the
|
||
interface name. Better name it "bootnet" or "bluesocket".
|
||
|
||
**rd.route=**__<net>__/__<netmask>__:__<gateway>__[:__<interface>__]::
|
||
Add a static route with route options, which are separated by a colon.
|
||
IPv6 addresses have to be put in brackets.
|
||
+
|
||
[listing]
|
||
.Example
|
||
--
|
||
rd.route=192.168.200.0/24:192.168.100.222:ens10
|
||
rd.route=192.168.200.0/24:192.168.100.222
|
||
rd.route=192.168.200.0/24::ens10
|
||
rd.route=[2001:DB8:3::/8]:[2001:DB8:2::1]:ens10
|
||
--
|
||
|
||
**bootdev=**__<interface>__::
|
||
specify network interface to use routing and netroot information from.
|
||
Required if multiple ip= lines are used.
|
||
|
||
**BOOTIF=**__<MAC>__::
|
||
specify network interface to use routing and netroot information from.
|
||
|
||
**rd.bootif=0**::
|
||
Disable BOOTIF parsing, which is provided by PXE
|
||
|
||
**nameserver=**__<IP>__ [**nameserver=**__<IP>__ ...]::
|
||
specify nameserver(s) to use
|
||
|
||
**biosdevname=0**::
|
||
boolean, turn off biosdevname network interface renaming
|
||
|
||
**rd.neednet=1**::
|
||
boolean, bring up network even without netroot set
|
||
|
||
**vlan=**__<vlanname>__:__<phydevice>__::
|
||
Setup vlan device named <vlanname> on <phydeivce>.
|
||
We support the four styles of vlan names: VLAN_PLUS_VID (vlan0005),
|
||
VLAN_PLUS_VID_NO_PAD (vlan5), DEV_PLUS_VID (eth0.0005),
|
||
DEV_PLUS_VID_NO_PAD (eth0.5)
|
||
|
||
**bond=**__<bondname>__[:__<bondslaves>__:[:__<options>__]]::
|
||
Setup bonding device <bondname> on top of <bondslaves>.
|
||
<bondslaves> is a comma-separated list of physical (ethernet) interfaces.
|
||
<options> is a comma-separated list on bonding options (modinfo bonding for
|
||
details) in format compatible with initscripts. If <options> includes
|
||
multi-valued arp_ip_target option, then its values should be separated by
|
||
semicolon. Bond without parameters assumes
|
||
bond=bond0:eth0,eth1:mode=balance-rr
|
||
|
||
**team=**__<teammaster>__:__<teamslaves>__::
|
||
Setup team device <teammaster> on top of <teamslaves>.
|
||
<teamslaves> is a comma-separated list of physical (ethernet) interfaces.
|
||
|
||
**bridge=**__<bridgename>__:__<ethnames>__::
|
||
Setup bridge <bridgename> with <ethnames>. <ethnames> is a comma-separated
|
||
list of physical (ethernet) interfaces. Bridge without parameters assumes
|
||
bridge=br0:eth0
|
||
|
||
NFS
|
||
~~~
|
||
**root=**\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__]::
|
||
mount nfs share from <server-ip>:/<root-dir>, if no server-ip is given, use
|
||
dhcp next_server. If server-ip is an IPv6 address it has to be put in
|
||
brackets, e.g. [2001:DB8::1]. NFS options can be appended with the prefix
|
||
":" or "," and are seperated by ",".
|
||
|
||
**root=**nfs:\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__], **root=**nfs4:\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__], **root=**__{dhcp|dhcp6}__::
|
||
root=dhcp alone directs initrd to look at the DHCP root-path where NFS
|
||
options can be specified.
|
||
+
|
||
[listing]
|
||
.Example
|
||
--
|
||
root-path=<server-ip>:<root-dir>[,<nfs-options>]
|
||
root-path=nfs:<server-ip>:<root-dir>[,<nfs-options>]
|
||
root-path=nfs4:<server-ip>:<root-dir>[,<nfs-options>]
|
||
--
|
||
|
||
**root=**_/dev/nfs_ nfsroot=\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__]::
|
||
_Deprecated!_ kernel Documentation_/filesystems/nfsroot.txt_ defines this
|
||
method. This is supported by dracut, but not recommended.
|
||
|
||
**rd.nfs.domain=**__<NFSv4 domain name>__::
|
||
Set the NFSv4 domain name. Will overwrite the settings in _/etc/idmap.conf_.
|
||
|
||
CIFS
|
||
~~~
|
||
**root=**cifs://[__<username>__[:__<password>__]@]__<server-ip>__:__<root-dir>__::
|
||
mount cifs share from <server-ip>:/<root-dir>, if no server-ip is given, use
|
||
dhcp next_server. if server-ip is an IPv6 address it has to be put in
|
||
brackets, e.g. [2001:DB8::1]. If a username or password are not specified
|
||
as part of the root, then they must be passed on the command line through
|
||
cifsuser/cifspass.
|
||
+
|
||
WARNING: Passwords specified on the kernel command line are visible for all
|
||
users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the
|
||
network, when using DHCP with DHCP root-path.
|
||
|
||
**cifsuser**=__<username>__::
|
||
Set the cifs username, if not specified as part of the root.
|
||
|
||
**cifspass**=__<password>__::
|
||
Set the cifs password, if not specified as part of the root.
|
||
+
|
||
WARNING: Passwords specified on the kernel command line are visible for all
|
||
users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the
|
||
network, when using DHCP with DHCP root-path.
|
||
|
||
iSCSI
|
||
~~~~~
|
||
**root=**iscsi:[__<username>__:__<password>__[:__<reverse>__:__<password>__]@][__<servername>__]:[__<protocol>__]:[__<port>__][:[__<iscsi_iface_name>__]:[__<netdev_name>__]]:[__<LUN>__]:__<targetname>__::
|
||
protocol defaults to "6", LUN defaults to "0". If the "servername" field is
|
||
provided by BOOTP or DHCP, then that field is used in conjunction with other
|
||
associated fields to contact the boot server in the Boot stage. However, if
|
||
the "servername" field is not provided, then the "targetname" field is then
|
||
used in the Discovery Service stage in conjunction with other associated
|
||
fields. See
|
||
link:$$http://tools.ietf.org/html/rfc4173#section-5$$[rfc4173].
|
||
+
|
||
WARNING: Passwords specified on the kernel command line are visible for all
|
||
users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the
|
||
network, when using DHCP with DHCP root-path.
|
||
+
|
||
[listing]
|
||
.Example
|
||
--
|
||
root=iscsi:192.168.50.1::::iqn.2009-06.dracut:target0
|
||
--
|
||
+
|
||
If servername is an IPv6 address, it has to be put in brackets:
|
||
+
|
||
[listing]
|
||
.Example
|
||
--
|
||
root=iscsi:[2001:DB8::1]::::iqn.2009-06.dracut:target0
|
||
--
|
||
|
||
**root=**__???__ **netroot=**iscsi:[__<username>__:__<password>__[:__<reverse>__:__<password>__]@][__<servername>__]:[__<protocol>__]:[__<port>__][:[__<iscsi_iface_name>__]:[__<netdev_name>__]]:[__<LUN>__]:__<targetname>__ ...::
|
||
multiple netroot options allow setting up multiple iscsi disks:
|
||
+
|
||
[listing]
|
||
.Example
|
||
--
|
||
root=UUID=12424547
|
||
netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target0
|
||
netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target1
|
||
--
|
||
+
|
||
If servername is an IPv6 address, it has to be put in brackets:
|
||
+
|
||
[listing]
|
||
.Example
|
||
--
|
||
netroot=iscsi:[2001:DB8::1]::::iqn.2009-06.dracut:target0
|
||
--
|
||
+
|
||
WARNING: Passwords specified on the kernel command line are visible for all
|
||
users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the
|
||
network, when using DHCP with DHCP root-path.
|
||
You may want to use rd.iscsi.firmware.
|
||
|
||
**root=**__???__ **rd.iscsi.initiator=**__<initiator>__ **rd.iscsi.target.name=**__<target name>__ **rd.iscsi.target.ip=**__<target ip>__ **rd.iscsi.target.port=**__<target port>__ **rd.iscsi.target.group=**__<target group>__ **rd.iscsi.username=**__<username>__ **rd.iscsi.password=**__<password>__ **rd.iscsi.in.username=**__<in username>__ **rd.iscsi.in.password=**__<in password>__::
|
||
manually specify all iscsistart parameter (see **+iscsistart --help+**)
|
||
+
|
||
WARNING: Passwords specified on the kernel command line are visible for all
|
||
users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the
|
||
network, when using DHCP with DHCP root-path.
|
||
You may want to use rd.iscsi.firmware.
|
||
|
||
**root=**_???_ **netroot=**iscsi **rd.iscsi.firmware=1**::
|
||
will read the iscsi parameter from the BIOS firmware
|
||
|
||
**rd.iscsi.param=**__<param>__::
|
||
<param> will be passed as "--param <param>" to iscsistart.
|
||
This parameter can be specified multiple times.
|
||
+
|
||
[listing]
|
||
.Example
|
||
--
|
||
"netroot=iscsi rd.iscsi.firmware=1 rd.iscsi.param=node.session.timeo.replacement_timeout=30"
|
||
--
|
||
+
|
||
will result in
|
||
+
|
||
[listing]
|
||
--
|
||
iscsistart -b --param node.session.timeo.replacement_timeout=30
|
||
--
|
||
|
||
**rd.iscsi.ibft** **rd.iscsi.ibft=1**:
|
||
Turn on iBFT autoconfiguration for the interfaces
|
||
|
||
FCoE
|
||
~~~~
|
||
**fcoe=**__<edd|interface|MAC>__:__{dcb|nodcb}__::
|
||
Try to connect to a FCoE SAN through the NIC specified by _<interface>_ or
|
||
_<MAC>_ or EDD settings. For the second argument, currently only nodcb is
|
||
supported. This parameter can be specified multiple times.
|
||
+
|
||
NOTE: letters in the MAC-address must be lowercase!
|
||
|
||
NBD
|
||
~~~
|
||
**root=**??? **netroot=**nbd:__<server>__:__<port>__[:__<fstype>__[:__<mountopts>__[:__<nbdopts>__]]]::
|
||
mount nbd share from <server>
|
||
|
||
**root=dhcp** with **dhcp** **root-path=**nbd:__<server>__:__<port>__[:__<fstype>__[:__<mountopts>__[:__<nbdopts>__]]]::
|
||
root=dhcp alone directs initrd to look at the DHCP root-path where NBD
|
||
options can be specified. This syntax is only usable in cases where you are
|
||
directly mounting the volume as the rootfs.
|
||
|
||
DASD
|
||
~~~~
|
||
**rd.dasd=**....::
|
||
same syntax as the kernel module parameter (s390 only)
|
||
|
||
ZFCP
|
||
~~~~
|
||
**rd.zfcp=**__<zfcp adaptor device bus ID>__,__<WWPN>__,__<FCPLUN>__::
|
||
rd.zfcp can be specified multiple times on the kernel command line.
|
||
+
|
||
[listing]
|
||
.Example
|
||
--
|
||
rd.zfcp=0.0.4000,0x5005076300C213e9,0x5022000000000000
|
||
--
|
||
|
||
**rd.zfcp.conf=0**::
|
||
ignore zfcp.conf included in the initramfs
|
||
|
||
ZNET
|
||
~~~~
|
||
**rd.znet=**__<nettype>__,__<subchannels>__,__<options>__::
|
||
rd.znet can be specified multiple times on the kernel command line.
|
||
+
|
||
[listing]
|
||
.Example
|
||
--
|
||
rd.znet=qeth,0.0.0600,0.0.0601,0.0.0602,layer2=1,portname=foo
|
||
rd.znet=ctc,0.0.0600,0.0.0601,protocol=bar
|
||
--
|
||
|
||
Booting live images
|
||
~~~~~~~~~~~~~~~~~~~
|
||
Dracut offers multiple options for live booted images:
|
||
|
||
=====================
|
||
squashfs with read-only filesystem image::: The system will boot with a read
|
||
only filesystem from the squashfs and apply a writable device mapper snapshot
|
||
over the read only filesystem. Using this method ensures a relatively fast
|
||
boot and lower RAM usage. Users **must be careful** to avoid writing too many
|
||
blocks to the snapshot volume. Once the blocks of the snapshot are exhaused,
|
||
the live filesystem becomes unusable and requires a reboot.
|
||
+
|
||
The filesystem structure is expected to be:
|
||
+
|
||
[listing]
|
||
--
|
||
squashfs.img | Squashfs downloaded via network
|
||
!(mount)
|
||
/LiveOS
|
||
|- ext3fs.img | Filesystem image to mount read-only
|
||
!(mount)
|
||
/bin | Live filesystem
|
||
/boot |
|
||
/dev |
|
||
... |
|
||
--
|
||
+
|
||
Dracut uses this method of live booting by default. No additional command line
|
||
options are required other than **root=live:<URL>** to specify the location
|
||
of your squashed filesystem.
|
||
+
|
||
writable filesystem image::: The system will retrieve a compressed filesystem
|
||
image, connect it to a loopback device, and mount it as a writable volume. More
|
||
RAM is required during boot but the live filesystem is easier to manage if it
|
||
becomes full. Users can make a filesystem image of any size and that size will
|
||
be maintained when the system boots.
|
||
+
|
||
The filesystem structure is expected to be:
|
||
+
|
||
[listing]
|
||
--
|
||
rootfs.tgz | Compressed tarball containing fileystem image
|
||
!(unpack)
|
||
/rootfs.img | Filesystem image
|
||
!(mount)
|
||
/bin | Live filesystem
|
||
/boot |
|
||
/dev |
|
||
... |
|
||
--
|
||
+
|
||
To use this boot option, ensure that **rd.writable_fsimg=1** is in your kernel
|
||
command line and add the **root=live:<URL>** to specify the location
|
||
of your compressed filesystem image tarball.
|
||
=====================
|
||
|
||
**root=**live:__<url>__::
|
||
Boots a live image retrieved from __<url>__. Valid handlers: __http, https, ftp, torrent, tftp__.
|
||
+
|
||
[listing]
|
||
.Example
|
||
--
|
||
root=live:http://example.com/liveboot.img
|
||
root=live:ftp://ftp.example.com/liveboot.img
|
||
root=live:torrent://example.com/liveboot.img.torrent
|
||
--
|
||
|
||
**rd.live.debug=**1::
|
||
Enables debug output from the live boot process.
|
||
|
||
**rd.live.dir=**__<path>__::
|
||
Specifies the directory within the squashfs where the ext3fs.img or rootfs.img
|
||
can be found. By default, this is __LiveOS__.
|
||
|
||
**rd.live.ram=**1::
|
||
Copy the complete image to RAM and use this for booting. This is useful
|
||
when the image resides on i.e. a DVD which needs to be ejected later on.
|
||
|
||
**rd.live.overlay.thin=**1::
|
||
Enables the usage of thin snapshots instead of classic dm snapshots.
|
||
The advantage of thin snapshots is, that they support discards, and will free
|
||
blocks which are not claimed by the filesystem. In this use case this means,
|
||
that memory is given back to the kernel, when the filesystem does not claim it
|
||
anymore.
|
||
|
||
**rd.writable.fsimg=**1::
|
||
Enables writable filesystem support. The system will boot with a fully
|
||
writable filesystem without snapshots __(see notes above about available live boot options)__.
|
||
You can use the **rootflags** option to set mount options for the live
|
||
filesystem as well __(see documentation about rootflags in the **Standard** section above)__.
|
||
This implies that the whole image is copied to RAM before the boot continues.
|
||
+
|
||
NOTE: There must be enough free RAM available to hold the complete image.
|
||
+
|
||
This method is very suitable for diskless boots.
|
||
|
||
|
||
Plymouth Boot Splash
|
||
~~~~~~~~~~~~~~~~~~~~
|
||
**plymouth.enable=0**::
|
||
disable the plymouth bootsplash completely.
|
||
|
||
**rd.plymouth=0**::
|
||
disable the plymouth bootsplash only for the initramfs.
|
||
|
||
Kernel keys
|
||
~~~~~~~~~~~
|
||
**masterkey=**__<kernel master key path name>__::
|
||
Set the path name of the kernel master key.
|
||
+
|
||
[listing]
|
||
.Example
|
||
--
|
||
masterkey=/etc/keys/kmk-trusted.blob
|
||
--
|
||
|
||
**masterkeytype=**__<kernel master key type>__::
|
||
Set the type of the kernel master key.
|
||
+
|
||
[listing]
|
||
.Example
|
||
--
|
||
masterkeytype=trusted
|
||
--
|
||
|
||
**evmkey=**__<EVM key path name>__::
|
||
Set the path name of the EVM key.
|
||
+
|
||
[listing]
|
||
.Example
|
||
--
|
||
evmkey=/etc/keys/evm-trusted.blob
|
||
--
|
||
|
||
**ecryptfskey=**__<eCryptfs key path name>__::
|
||
Set the path name of the eCryptfs key.
|
||
+
|
||
[listing]
|
||
.Example
|
||
--
|
||
ecryptfskey=/etc/keys/ecryptfs-trusted.blob
|
||
--
|
||
|
||
Deprecated, renamed Options
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
Here is a list of options, which were used in dracut prior to version 008, and
|
||
their new replacement.
|
||
|
||
rdbreak:: rd.break
|
||
|
||
rd_CCW:: rd.ccw
|
||
|
||
rd_DASD_MOD:: rd.dasd
|
||
|
||
rd_DASD:: rd.dasd
|
||
|
||
rdinitdebug rdnetdebug:: rd.debug
|
||
|
||
rd_NO_DM:: rd.dm=0
|
||
|
||
rd_DM_UUID:: rd.dm.uuid
|
||
|
||
rdblacklist:: rd.driver.blacklist
|
||
|
||
rdinsmodpost:: rd.driver.post
|
||
|
||
rdloaddriver:: rd.driver.pre
|
||
|
||
rd_NO_FSTAB:: rd.fstab=0
|
||
|
||
rdinfo:: rd.info
|
||
|
||
check:: rd.live.check
|
||
|
||
rdlivedebug:: rd.live.debug
|
||
|
||
live_dir:: rd.live.dir
|
||
|
||
liveimg:: rd.live.image
|
||
|
||
overlay:: rd.live.overlay
|
||
|
||
readonly_overlay:: rd.live.overlay.readonly
|
||
|
||
reset_overlay:: rd.live.overlay.reset
|
||
|
||
live_ram:: rd.live.ram
|
||
|
||
rd_NO_CRYPTTAB:: rd.luks.crypttab=0
|
||
|
||
rd_LUKS_KEYDEV_UUID:: rd.luks.keydev.uuid
|
||
|
||
rd_LUKS_KEYPATH:: rd.luks.keypath
|
||
|
||
rd_NO_LUKS:: rd.luks=0
|
||
|
||
rd_LUKS_UUID:: rd.luks.uuid
|
||
|
||
rd_NO_LVMCONF:: rd.lvm.conf
|
||
|
||
rd_LVM_LV:: rd.lvm.lv
|
||
|
||
rd_NO_LVM:: rd.lvm=0
|
||
|
||
rd_LVM_SNAPSHOT:: rd.lvm.snapshot
|
||
|
||
rd_LVM_SNAPSIZE:: rd.lvm.snapsize
|
||
|
||
rd_LVM_VG:: rd.lvm.vg
|
||
|
||
rd_NO_MDADMCONF:: rd.md.conf=0
|
||
|
||
rd_NO_MDIMSM:: rd.md.imsm=0
|
||
|
||
rd_NO_MD:: rd.md=0
|
||
|
||
rd_MD_UUID:: rd.md.uuid
|
||
|
||
rd_NO_MULTIPATH: rd.multipath=0
|
||
|
||
rd_NFS_DOMAIN:: rd.nfs.domain
|
||
|
||
iscsi_initiator:: rd.iscsi.initiator
|
||
|
||
iscsi_target_name:: rd.iscsi.target.name
|
||
|
||
iscsi_target_ip:: rd.iscsi.target.ip
|
||
|
||
iscsi_target_port:: rd.iscsi.target.port
|
||
|
||
iscsi_target_group:: rd.iscsi.target.group
|
||
|
||
iscsi_username:: rd.iscsi.username
|
||
|
||
iscsi_password:: rd.iscsi.password
|
||
|
||
iscsi_in_username:: rd.iscsi.in.username
|
||
|
||
iscsi_in_password:: rd.iscsi.in.password
|
||
|
||
iscsi_firmware:: rd.iscsi.firmware=0
|
||
|
||
rd_NO_PLYMOUTH:: rd.plymouth=0
|
||
|
||
rd_retry:: rd.retry
|
||
|
||
rdshell:: rd.shell
|
||
|
||
rd_NO_SPLASH:: rd.splash
|
||
|
||
rdudevdebug:: rd.udev.debug
|
||
|
||
rdudevinfo:: rd.udev.info
|
||
|
||
rd_NO_ZFCPCONF:: rd.zfcp.conf=0
|
||
|
||
rd_ZFCP:: rd.zfcp
|
||
|
||
rd_ZNET:: rd.znet
|
||
|
||
KEYMAP:: vconsole.keymap
|
||
|
||
KEYTABLE:: vconsole.keymap
|
||
|
||
SYSFONT:: vconsole.font
|
||
|
||
CONTRANS:: vconsole.font.map
|
||
|
||
UNIMAP:: vconsole.font.unimap
|
||
|
||
UNICODE:: vconsole.unicode
|
||
|
||
EXT_KEYMAP:: vconsole.keymap.ext
|
||
|
||
Configuration in the Initramfs
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
_/etc/conf.d/_::
|
||
Any files found in _/etc/conf.d/_ will be sourced in the initramfs to
|
||
set initial values. Command line options will override these values
|
||
set in the configuration files.
|
||
|
||
_/etc/cmdline_::
|
||
Can contain additional command line options. Deprecated, better use
|
||
/etc/cmdline.d/*.conf.
|
||
|
||
_/etc/cmdline.d/*.conf_::
|
||
Can contain additional command line options.
|
||
|
||
AUTHOR
|
||
------
|
||
Harald Hoyer
|
||
|
||
SEE ALSO
|
||
--------
|
||
*dracut*(8) *dracut.conf*(5)
|