1409 lines
47 KiB
Plaintext
1409 lines
47 KiB
Plaintext
DRACUT.CMDLINE(7)
|
||
=================
|
||
:doctype: manpage
|
||
:man source: dracut
|
||
:man manual: dracut
|
||
:man version: {version}
|
||
|
||
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 program 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
|
||
~~~~~~~~~~~~~~~~~
|
||
|
||
Mount all mountable devices and search for ISO pointed by the argument. When
|
||
the ISO is found set it up as a loop device. Device containing this ISO
|
||
image will stay mounted at /run/initramfs/isoscandev.
|
||
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.emergency=**__[reboot|poweroff|halt]__::
|
||
specify, what action to execute in case of a critical failure. rd.shell=0 also
|
||
be specified.
|
||
|
||
**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.
|
||
|
||
**rd.shutdown.timeout.umount=**__<seconds>__::
|
||
specify how long dracut should wait for an individual umount to finish
|
||
during shutdown. This avoids the system from blocking when unmounting a file
|
||
system cannot complete and waits indefinitely. Value '0' means to wait
|
||
'forever'. The default is 90 seconds.
|
||
|
||
[[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-5]**::
|
||
Print memory usage info at various points, set the verbose level from 0 to 5.
|
||
+
|
||
Higher level means more debugging output:
|
||
+
|
||
----
|
||
0 - no output
|
||
1 - partial /proc/meminfo
|
||
2 - /proc/meminfo
|
||
3 - /proc/meminfo + /proc/slabinfo
|
||
4 - /proc/meminfo + /proc/slabinfo + memstrack summary
|
||
NOTE: memstrack is a memory tracing tool that tracks the total memory
|
||
consumption, and peak memory consumption of each kernel modules
|
||
and userspace progress during the whole initramfs runtime, report
|
||
is genereted and the end of initramsfs run.
|
||
5 - /proc/meminfo + /proc/slabinfo + memstrack (with top memory stacktrace)
|
||
NOTE: memstrack (with top memory stacktrace) will print top memory
|
||
allocation stack traces during the whole initramfs runtime.
|
||
----
|
||
|
||
**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=eurlatgr
|
||
--
|
||
|
||
**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 all logical volumes in the the volume groups with the given name.
|
||
rd.lvm.vg can be specified multiple times on the kernel command line.
|
||
|
||
**rd.lvm.lv=**__<volume group name>/<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.
|
||
_<luks uuid>_ may be prefixed by the keyword `keysource:`, see
|
||
_rd.luks.key_ below.
|
||
|
||
**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_
|
||
|
||
**rd.luks.timeout=**__<seconds>__::
|
||
specify how long dracut should wait when waiting for the user to enter the
|
||
password. This avoid blocking the boot if no password is entered. It does
|
||
not apply to luks key. The default is '0', which means 'forever'.
|
||
|
||
crypto LUKS - key on removable device support
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
||
NB: If systemd is included in the dracut initrd, dracut's built in
|
||
removable device keying support won't work. systemd will prompt for
|
||
a password from the console even if you've supplied **rd.luks.key**.
|
||
You may be able to use standard systemd *fstab*(5) syntax to
|
||
get the same effect. If you do need **rd.luks.key** to work,
|
||
you will have to exclude the "systemd" dracut module and any modules
|
||
that depend on it. See *dracut.conf*(5) and
|
||
https://bugzilla.redhat.com/show_bug.cgi?id=905683 for more
|
||
information.
|
||
|
||
**rd.luks.key=**_<keypath>[:<keydev>[:<luksdev>]]_::
|
||
_<keypath>_ is the pathname of a key file, relative to the root
|
||
of the filesystem on some device. It's REQUIRED. When
|
||
_<keypath>_ ends with '.gpg' it's considered to be key encrypted
|
||
symmetrically with GPG. You will be prompted for the GPG password on
|
||
boot. GPG support comes with the 'crypt-gpg' module, which needs to be
|
||
added explicitly.
|
||
+
|
||
_<keydev>_ identifies the device on which the key file resides. It may
|
||
be the kernel name of the device (should start with "/dev/"), a UUID
|
||
(prefixed with "UUID=") or a label (prefix with "LABEL="). You don't
|
||
have to specify a 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 it's not present, all block devices will
|
||
be probed, which may significantly increase boot time.
|
||
+
|
||
If _<luksdev>_ is given, the specified key will only be used for
|
||
the specified 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]
|
||
===============================
|
||
Your LUKS partition must match your key file.
|
||
|
||
dracut provides keys to cryptsetup with _-d_ (an older alias for
|
||
_--key-file_). This uses the entire binary
|
||
content of the key file as part of the secret. If
|
||
you pipe a password into cryptsetup *without* _-d_ or _--key-file_,
|
||
it will be treated as text user input, and only characters before
|
||
the first newline will be used. Therefore, when you're creating
|
||
an encrypted partition for dracut to mount, and you pipe a key into
|
||
_cryptsetup luksFormat_,you must use _-d -_.
|
||
|
||
Here is an example for a key encrypted with GPG (warning:
|
||
_--batch-mode_ will overwrite the device without asking for
|
||
confirmation):
|
||
|
||
[listing]
|
||
--
|
||
gpg --quiet --decrypt rootkey.gpg | \
|
||
cryptsetup --batch-mode --key-file - \
|
||
luksFormat /dev/sda47
|
||
--
|
||
|
||
If you use unencrypted key files, just use the key file pathname
|
||
instead of the standard input. For a random key with 256 bits of
|
||
entropy, you might use:
|
||
|
||
[listing]
|
||
--
|
||
head -32c /dev/urandom > rootkey.key
|
||
cryptsetup --batch-mode --key-file rootkey.key \
|
||
luksFormat /dev/sda47
|
||
--
|
||
|
||
You can also use regular key files on an encrypted _keydev_.
|
||
|
||
Compared to using GPG encrypted keyfiles on an unencrypted
|
||
device this provides the following advantages:
|
||
|
||
- you can unlock your disk(s) using multiple passphrases
|
||
- better security by not loosing the key stretching mechanism
|
||
|
||
To use an encrypted _keydev_ you *must* ensure that it becomes
|
||
available by using the keyword `keysource`, e.g.
|
||
`rd.luks.uuid=keysource:aaaa`
|
||
_aaaa_ being the uuid of the encrypted _keydev_.
|
||
|
||
Example:
|
||
|
||
Lets assume you have three disks _A_, _B_ and _C_ with the uuids
|
||
_aaaa_, _bbbb_ and _cccc_. +
|
||
You want to unlock _A_ and _B_ using keyfile _keyfile_. +
|
||
The unlocked volumes be _A'_, _B'_ and _C'_ with the uuids
|
||
_AAAA_, _BBBB_ and _CCCC_. +
|
||
_keyfile_ is saved on _C'_ as _/keyfile_.
|
||
|
||
One luks keyslot of each _A_, _B_ and _C_ is setup with a
|
||
passphrase. +
|
||
Another luks keyslot of each _A_ and _B_ is setup with _keyfile_.
|
||
|
||
To boot this configuration you could use:
|
||
[listing]
|
||
--
|
||
rd.luks.uuid=aaaa
|
||
rd.luks.uuid=bbbb
|
||
rd.luks.uuid=keysource:cccc
|
||
rd.luks.key=/keyfile:UUID=CCCC
|
||
--
|
||
Dracut asks for the passphrase for _C_ and uses the
|
||
keyfile to unlock _A_ and _B_. +
|
||
If getting the passphrase for _C_ fails it falls back to
|
||
asking for the passphrases for _A_ and _B_.
|
||
|
||
If you want _C'_ to stay unlocked, specify a luks name for
|
||
it, e.g. `rd.luks.name=cccc=mykeys`, otherwise it gets closed
|
||
when not needed anymore.
|
||
===============================
|
||
|
||
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
|
||
|
||
**rd.multipath=default**::
|
||
use default multipath settings
|
||
|
||
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|either6|link6|single-dhcp}__::
|
||
dhcp|on|any::: get ip from dhcp server from all interfaces. If netroot=dhcp,
|
||
loop sequentially through all interfaces (eth0, eth1, ...) and use the first
|
||
with a valid DHCP root-path.
|
||
|
||
single-dhcp::: Send DHCP on all available interfaces in parallel, as
|
||
opposed to one after another. After the first DHCP response is received,
|
||
stop DHCP on all other interfaces. This gives the fastest boot time by
|
||
using the IP on interface for which DHCP succeeded first during early boot.
|
||
Caveat: Does not apply to Network Manager and to SUSE using wicked.
|
||
|
||
auto6::: IPv6 autoconfiguration
|
||
|
||
dhcp6::: IPv6 DHCP
|
||
|
||
either6::: if auto6 fails, then dhcp6
|
||
|
||
link6::: bring up interface for IPv6 link-local addressing
|
||
|
||
**ip=**__<interface>__:__{dhcp|on|any|dhcp6|auto6|link6}__[:[__<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
|
||
link6::: bring up interface for IPv6 link local address
|
||
<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> (i.e. "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
|
||
|
||
**rd.peerdns=0**::
|
||
Disable DNS setting of DHCP parameters.
|
||
|
||
**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 <phydevice>.
|
||
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>__[:<mtu>]]]::
|
||
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. if the mtu is specified, it will be set on the bond master.
|
||
Bond without parameters assumes
|
||
bond=bond0:eth0,eth1:mode=balance-rr
|
||
|
||
**team=**__<teammaster>__:__<teamslaves>__[:__<teamrunner>__]::
|
||
Setup team device <teammaster> on top of <teamslaves>.
|
||
<teamslaves> is a comma-separated list of physical (ethernet) interfaces.
|
||
<teamrunner> is the runner type to be used (see *teamd.conf*(5)); defaults to
|
||
activebackup.
|
||
Team without parameters assumes
|
||
team=team0:eth0,eth1:activebackup
|
||
|
||
**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 separated by ",".
|
||
|
||
**root=**nfs:\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__], **root=**nfs4:\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__], **root=**__{dhcp|dhcp6}__::
|
||
netroot=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 override the settings in _/etc/idmap.conf_.
|
||
|
||
**rd.net.dhcp.retry=**__<cnt>__::
|
||
If this option is set, dracut will try to connect via dhcp <cnt> times before failing.
|
||
Default is 1.
|
||
|
||
**rd.net.timeout.dhcp=**__<arg>__::
|
||
If this option is set, dhclient is called with "-timeout <arg>".
|
||
|
||
**rd.net.timeout.iflink=**__<seconds>__::
|
||
Wait <seconds> until link shows up. Default is 60 seconds.
|
||
|
||
**rd.net.timeout.ifup=**__<seconds>__::
|
||
Wait <seconds> until link has state "UP". Default is 20 seconds.
|
||
|
||
**rd.net.timeout.route=**__<seconds>__::
|
||
Wait <seconds> until route shows up. Default is 20 seconds.
|
||
|
||
**rd.net.timeout.ipv6dad=**__<seconds>__::
|
||
Wait <seconds> until IPv6 DAD is finished. Default is 50 seconds.
|
||
|
||
**rd.net.timeout.ipv6auto=**__<seconds>__::
|
||
Wait <seconds> until IPv6 automatic addresses are assigned. Default is 40 seconds.
|
||
|
||
**rd.net.timeout.carrier=**__<seconds>__::
|
||
Wait <seconds> until carrier is recognized. Default is 10 seconds.
|
||
|
||
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.login_retry_max=**__<num>__::
|
||
maximum number of login retries
|
||
|
||
**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
|
||
|
||
**rd.iscsi.mp** **rd.iscsi.mp=1**:
|
||
Configure all iBFT interfaces, not only used for booting (multipath)
|
||
|
||
**rd.iscsi.waitnet=0**:
|
||
Turn off waiting for all interfaces to be up before trying to login to the iSCSI targets.
|
||
|
||
**rd.iscsi.testroute=0**:
|
||
Turn off checking, if the route to the iSCSI target IP is possible before trying to login.
|
||
|
||
FCoE
|
||
~~~~
|
||
**rd.fcoe=0**::
|
||
disable FCoE and lldpad
|
||
|
||
**fcoe=**__<edd|interface|MAC>__:__{dcb|nodcb}__:__{fabric|vn2vn}__::
|
||
Try to connect to a FCoE SAN through the NIC specified by _<interface>_ or
|
||
_<MAC>_ or EDD settings. The second argument specifies if DCB
|
||
should be used. The optional third argument specifies whether
|
||
fabric or VN2VN mode should be used.
|
||
This parameter can be specified multiple times.
|
||
+
|
||
NOTE: letters in the MAC-address must be lowercase!
|
||
|
||
NVMf
|
||
~~~~
|
||
**rd.nvmf.hostnqn=**__<hostNQN>__::
|
||
NVMe host NQN to use
|
||
|
||
**rd.nvmf.hostid=**__<hostID>__::
|
||
NVMe host id to use
|
||
|
||
**rd.nvmf.discover=**__{rdma|fc|tcp}__,__<traddr>__,[__<host_traddr>__],[__<trsvcid>__]::
|
||
Discover and connect to a NVMe-over-Fabric controller specified by
|
||
_<traddr>_ and the optionally _<host_traddr>_ or _<trsvcid>_.
|
||
The first argument specifies the transport to use; currently only
|
||
'rdma', 'fc', or 'tcp' are supported.
|
||
The _<traddr>_ parameter can be set to 'auto' to select
|
||
autodiscovery; in that case all other parameters are ignored.
|
||
This parameter can be specified multiple times.
|
||
|
||
NBD
|
||
~~~
|
||
**root=**??? **netroot=**nbd:__<server>__:__<port/exportname>__[:__<fstype>__[:__<mountopts>__[:__<nbdopts>__]]]::
|
||
mount nbd share from <server>.
|
||
+
|
||
NOTE:
|
||
If "exportname" instead of "port" is given the standard port is used.
|
||
Newer versions of nbd are only supported with "exportname".
|
||
|
||
**root=/dev/root netroot=dhcp** with **dhcp** **root-path=**nbd:__<server>__:__<port/exportname>__[:__<fstype>__[:__<mountopts>__[:__<nbdopts>__]]]::
|
||
netroot=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.
|
||
+
|
||
NOTE:
|
||
If "exportname" instead of "port" is given the standard port is used.
|
||
Newer versions of nbd are only supported with "exportname".
|
||
|
||
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.
|
||
|
||
**rd.zfcp=**__<zfcp adaptor device bus ID>__::
|
||
If NPIV is enabled and the 'allow_lun_scan' parameter to the zfcp
|
||
module is set to 'Y' then the zfcp adaptor will be initiating a
|
||
scan internally and the <WWPN> and <FCPLUN> parameters can be omitted.
|
||
+
|
||
[listing]
|
||
.Example
|
||
--
|
||
rd.zfcp=0.0.4000,0x5005076300C213e9,0x5022000000000000
|
||
rd.zfcp=0.0.4000
|
||
--
|
||
|
||
**rd.zfcp.conf=0**::
|
||
ignore zfcp.conf included in the initramfs
|
||
|
||
ZNET
|
||
~~~~
|
||
**rd.znet=**__<nettype>__,__<subchannels>__,__<options>__::
|
||
The whole parameter is appended to /etc/ccw.conf, which is used on
|
||
RHEL/Fedora with ccw_init, which is called from udev for certain
|
||
devices on z-series.
|
||
rd.znet can be specified multiple times on the kernel command line.
|
||
|
||
**rd.znet_ifname=**__<ifname>__:__<subchannels>__::
|
||
Assign network device name <interface> (i.e. "bootnet") to the NIC
|
||
corresponds to the subchannels. This is useful when dracut's default
|
||
"ifname=" doesn't work due to device having a changing MAC address.
|
||
+
|
||
[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 or an OverlayFS overlay mount for the read-only base filesystem. This
|
||
method ensures a relatively fast boot and lower RAM usage. Users **must be
|
||
careful** to avoid writing too many blocks to a snapshot volume. Once the
|
||
blocks of the snapshot overlay are exhausted, the root filesystem becomes
|
||
read-only and may cause application failures. The snapshot overlay file is
|
||
marked 'Overflow', and a difficult recovery is required to repair and enlarge
|
||
the overlay offline. Non-persistent overlays are sparse files in RAM that only
|
||
consume content space as required blocks are allocated. They default to an
|
||
apparent size of 32 GiB in RAM. The size can be adjusted with the
|
||
**rd.live.overlay.size=** kernel command line option.
|
||
+
|
||
The filesystem structure is traditionally expected to be:
|
||
+
|
||
[listing]
|
||
--
|
||
squashfs.img | SquashFS from LiveCD .iso
|
||
!(mount)
|
||
/LiveOS
|
||
|- rootfs.img | Filesystem image to mount read-only
|
||
!(mount)
|
||
/bin | Live filesystem
|
||
/boot |
|
||
/dev |
|
||
... |
|
||
--
|
||
+
|
||
For OverlayFS mount overlays, the filesystem structure may also be a direct
|
||
compression of the root filesystem:
|
||
+
|
||
[listing]
|
||
--
|
||
squashfs.img | SquashFS from LiveCD .iso
|
||
!(mount)
|
||
/bin | Live filesystem
|
||
/boot |
|
||
/dev |
|
||
... |
|
||
--
|
||
+
|
||
Dracut uses one of the overlay methods 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.
|
||
+
|
||
- The compressed SquashFS image can be copied during boot to RAM at
|
||
`/run/initramfs/squashed.img` by using the **rd.live.ram=1** option.
|
||
- A device with a persistent overlay can be booted read-only by using the
|
||
**rd.live.overlay.readonly** option on the kernel command line. This will
|
||
either cause a temporary, writable overlay to be stacked over a read-only
|
||
snapshot of the root filesystem or the OverlayFS mount will use an additional
|
||
lower layer with the root filesystem.
|
||
+
|
||
Uncompressed live filesystem image:::
|
||
When the live system was installed with the '--skipcompress' option of the
|
||
__livecd-iso-to-disk__ installation script for Live USB devices, the root
|
||
filesystem image, __rootfs.img__, is expanded on installation and no SquashFS
|
||
is involved during boot.
|
||
+
|
||
- If **rd.live.ram=1** is used in this situation, the full, uncompressed
|
||
root filesystem is copied during boot to `/run/initramfs/rootfs.img` in the
|
||
`/run` tmpfs.
|
||
+
|
||
- If **rd.live.overlay=none** is provided as a kernel command line option,
|
||
a writable, linear Device-mapper target is created on boot with no overlay.
|
||
|
||
Writable filesystem image:::
|
||
The system will retrieve a compressed filesystem image, extract it to
|
||
`/run/initramfs/fsimg/rootfs.img`, connect it to a loop device, create a
|
||
writable, linear Device-mapper target at `/dev/mapper/live-rw`, and mount that
|
||
as a writable volume at `/`. 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. There
|
||
is no persistence of root filesystem changes between boots with this option.
|
||
+
|
||
The filesystem structure is expected to be:
|
||
+
|
||
[listing]
|
||
--
|
||
rootfs.tgz | Compressed tarball containing filesystem image
|
||
!(unpack)
|
||
/rootfs.img | Filesystem image at /run/initramfs/fsimg/
|
||
!(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 or SquashFS image.
|
||
=====================
|
||
|
||
**rd.writable.fsimg=**1::
|
||
Enables writable filesystem support. The system will boot with a fully
|
||
writable (but non-persistent) 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.
|
||
|
||
**root=**live:__<url>__::
|
||
Boots a live image retrieved from __<url>__. Requires the dracut 'livenet'
|
||
module. Valid handlers: __http, https, ftp, torrent, tftp__.
|
||
+
|
||
[listing]
|
||
.Examples
|
||
--
|
||
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 boot device where the squashfs.img or
|
||
rootfs.img can be found. By default, this is `/LiveOS`.
|
||
|
||
**rd.live.squashimg=**__<filename of SquashFS image>__::
|
||
Specifies the filename for a SquashFS image of the root filesystem.
|
||
By default, this is __squashfs.img__.
|
||
|
||
**rd.live.ram=**1::
|
||
Copy the complete image to RAM and use this for booting. This is useful
|
||
when the image resides on, e.g., a DVD which needs to be ejected later on.
|
||
|
||
**rd.live.overlay={**__<devspec>__[:__{<pathspec>|auto}__]|__none__}::
|
||
Manage the usage of a permanent overlay.
|
||
+
|
||
--
|
||
* _<devspec>_ specifies the path to a device with a mountable filesystem.
|
||
* _<pathspec>_ is the path to a file within that filesystem, which shall be
|
||
used to persist the changes made to the device specified by the
|
||
**root=live:__<url>__** option.
|
||
+
|
||
The default _pathspec_, when _auto_ or no _:<pathspec>_ is given, is
|
||
`/<rd.live.dir>/overlay-<label>-<uuid>`, where _<label>_ is the
|
||
device LABEL, and _<uuid>_ is the device UUID.
|
||
* _none_ (the word itself) specifies that no overlay will be used, such as when
|
||
an uncompressed, writable live root filesystem is available.
|
||
+
|
||
If a persistent overlay __is detected__ at the standard LiveOS path, the
|
||
overlay & overlay type detected, whether Device-mapper or OverlayFS, will be
|
||
used.
|
||
--
|
||
+
|
||
[listing]
|
||
.Examples
|
||
--
|
||
rd.live.overlay=/dev/sdb1:persistent-overlay.img
|
||
rd.live.overlay=UUID=99440c1f-8daa-41bf-b965-b7240a8996f4
|
||
--
|
||
|
||
**rd.live.overlay.size=**__<size_MiB>__::
|
||
Specifies a non-persistent Device-mapper overlay size in MiB. The default is
|
||
_32768_.
|
||
|
||
**rd.live.overlay.readonly=**1::
|
||
This is used to boot with a normally read-write persistent overlay in a
|
||
read-only mode. With this option, either an additional, non-persistent,
|
||
writable snapshot overlay will be stacked over a read-only snapshot,
|
||
`/dev/mapper/live‑ro`, of the base filesystem with the persistent overlay, or a
|
||
read-only loop device, in the case of a writable __rootfs.img__, or an OverlayFS
|
||
mount will use the persistent overlay directory linked at `/run/overlayfs‑r` as
|
||
an additional lower layer along with the base root filesystem and apply a
|
||
transient, writable upper directory overlay, in order to complete the booted
|
||
root filesystem.
|
||
|
||
**rd.live.overlay.reset=**1::
|
||
Specifies that a persistent overlay should be reset on boot. All previous root
|
||
filesystem changes are vacated by this action.
|
||
|
||
**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 that 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.live.overlay.overlayfs=**1::
|
||
Enables the use of the *OverlayFS* kernel module, if available, to provide a
|
||
copy-on-write union directory for the root filesystem. OverlayFS overlays are
|
||
directories of the files that have changed on the read-only base (lower)
|
||
filesystem. The root filesystem is provided through a special overlay type
|
||
mount that merges the lower and upper directories. If an OverlayFS upper
|
||
directory is not present on the boot device, a tmpfs directory will be created
|
||
at `/run/overlayfs` to provide temporary storage. Persistent storage can be
|
||
provided on vfat or msdos formatted devices by supplying the OverlayFS upper
|
||
directory within an embedded filesystem that supports the creation of trusted.*
|
||
extended attributes and provides a valid d_type in readdir responses, such as
|
||
with ext4 and xfs. On non-vfat-formatted devices, a persistent OverlayFS
|
||
overlay can extend the available root filesystem storage up to the capacity of
|
||
the LiveOS disk device.
|
||
+
|
||
If a persistent overlay is detected at the standard LiveOS path, the overlay &
|
||
overlay type detected, whether OverlayFS or Device-mapper, will be used.
|
||
+
|
||
The **rd.live.overlay.readonly** option, which allows a persistent overlayfs to
|
||
be mounted read-only through a higher level transient overlay directory, has
|
||
been implemented through the multiple lower layers feature of OverlayFS.
|
||
|
||
|
||
ZIPL
|
||
~~~~
|
||
**rd.zipl=**__<path to blockdevice>__::
|
||
Update the dracut commandline with the values found in the
|
||
_dracut-cmdline.conf_ file on the given device.
|
||
The values are merged into the existing commandline values
|
||
and the udev events are regenerated.
|
||
+
|
||
[listing]
|
||
.Example
|
||
--
|
||
rd.zipl=UUID=0fb28157-99e3-4395-adef-da3f7d44835a
|
||
--
|
||
|
||
CIO_IGNORE
|
||
~~~~~~~~~~
|
||
**rd.cio_accept=**__<device-ids>__::
|
||
Remove the devices listed in <device-ids> from the default
|
||
cio_ignore kernel command-line settings.
|
||
<device-ids> is a list of comma-separated CCW device ids.
|
||
The default for this value is taken from the
|
||
_/boot/zipl/active_devices.txt_ file.
|
||
+
|
||
[listing]
|
||
.Example
|
||
--
|
||
rd.cio_accept=0.0.0180,0.0.0800,0.0.0801,0.0.0802
|
||
--
|
||
|
||
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.znet
|
||
rd_CCW:: rd.znet
|
||
|
||
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)
|