]>
Commit | Line | Data |
---|---|---|
888d53f2 HH |
1 | DRACUT.CMDLINE(7) |
2 | ================= | |
3 | :doctype: manpage | |
4 | :man source: dracut | |
5 | :man manual: dracut | |
6 | ||
7 | NAME | |
8 | ---- | |
9 | dracut.cmdline - dracut kernel command line options | |
10 | ||
11 | DESCRIPTION | |
12 | ----------- | |
13 | The root device used by the kernel is specified in the boot configuration | |
14 | file on the kernel command line, as always. | |
15 | ||
16 | The traditional _root=/dev/sda1_ style device specification is allowed, but not | |
17 | encouraged. The root device should better be identified by LABEL or UUID. If a | |
18 | label is used, as in _root=LABEL=<label_of_root>_ the initramfs will search all | |
19 | available devices for a filesystem with the appropriate label, and mount that | |
20 | device as the root filesystem. _root=UUID=<uuidnumber>_ will mount the partition | |
21 | with that UUID as the root filesystem. | |
22 | ||
23 | In the following all kernel command line parameters, which are processed by | |
24 | dracut, are described. | |
25 | ||
26 | "rd.*" parameters mentioned without "=" are boolean parameters. They can be | |
27 | turned on/off by setting them to {0|1}. If the assignment with "=" is missing | |
28 | "=1" is implied. For example _rd.info_ can be turned off with _rd.info=0_ or | |
29 | turned on with _rd.info=1_ or _rd.info_. The last value in the kernel command | |
30 | line is the value, which is honored. | |
31 | ||
32 | Standard | |
33 | ~~~~~~~~ | |
b6c89768 | 34 | **init=**__<path to real init>__:: |
ae753bae | 35 | specify the path to the init program to be started after the initramfs has |
888d53f2 HH |
36 | finished |
37 | ||
b6c89768 | 38 | **root=**__<path to blockdevice>__:: |
888d53f2 HH |
39 | specify the block device to use as the root filesystem. |
40 | + | |
b6c89768 HH |
41 | [listing] |
42 | .Example | |
43 | -- | |
888d53f2 HH |
44 | root=/dev/sda1 |
45 | root=/dev/disk/by-path/pci-0000:00:1f.1-scsi-0:0:1:0-part1 | |
46 | root=/dev/disk/by-label/Root | |
47 | root=LABEL=Root | |
48 | root=/dev/disk/by-uuid/3f5ad593-4546-4a94-a374-bcfb68aa11f7 | |
49 | root=UUID=3f5ad593-4546-4a94-a374-bcfb68aa11f7 | |
b23a2837 | 50 | root=PARTUUID=3f5ad593-4546-4a94-a374-bcfb68aa11f7 |
b6c89768 | 51 | -- |
888d53f2 | 52 | |
b6c89768 | 53 | **rootfstype=**__<filesystem type>__:: "auto" if not specified. |
888d53f2 | 54 | + |
b6c89768 HH |
55 | [listing] |
56 | .Example | |
57 | -- | |
888d53f2 | 58 | rootfstype=ext3 |
b6c89768 | 59 | -- |
888d53f2 | 60 | |
b6c89768 | 61 | **rootflags=**__<mount options>__:: |
888d53f2 HH |
62 | specify additional mount options for the root filesystem. If not set, |
63 | _/etc/fstab_ of the real root will be parsed for special mount options and | |
64 | mounted accordingly. | |
65 | ||
5afa9579 AŻ |
66 | **ro**:: |
67 | force mounting _/_ and _/usr_ (if it is a separate device) read-only. If | |
68 | none of ro and rw is present, both are mounted according to _/etc/fstab_. | |
69 | ||
70 | **rw**:: | |
71 | force mounting _/_ and _/usr_ (if it is a separate device) read-write. | |
72 | See also ro option. | |
73 | ||
b6c89768 | 74 | **rootfallback=**__<path to blockdevice>__:: |
ef9ddb91 HH |
75 | specify the block device to use as the root filesystem, if the normal root |
76 | cannot be found. This can only be a simple block device with a simple file | |
77 | system, for which the filesystem driver is either compiled in, or added | |
78 | manually to the initramfs. This parameter can be specified multiple times. | |
c4c1c4f4 | 79 | |
a6332e69 | 80 | **rd.auto** **rd.auto=1**:: |
ef9ddb91 HH |
81 | enable autoassembly of special devices like cryptoLUKS, dmraid, mdraid or |
82 | lvm. Default is off as of dracut version >= 024. | |
e0641277 | 83 | |
5a575820 HH |
84 | **rd.hostonly=0**:: |
85 | removes all compiled in configuration of the host system the initramfs image | |
86 | was built on. This helps booting, if any disk layout changed, especially in | |
87 | combination with rd.auto or other parameters specifying the layout. | |
88 | ||
f232f662 HH |
89 | **rd.cmdline=ask**:: |
90 | prompts the user for additional kernel command line parameters | |
91 | ||
888d53f2 HH |
92 | **rd.fstab=0**:: |
93 | do not honor special mount options for the root filesystem found in | |
94 | _/etc/fstab_ of the real root. | |
95 | ||
b6c89768 | 96 | **resume=**__<path to resume partition>__:: |
5d0404e3 | 97 | resume from a swap partition |
97903dfc | 98 | + |
b6c89768 HH |
99 | [listing] |
100 | .Example | |
101 | -- | |
97903dfc HH |
102 | resume=/dev/disk/by-path/pci-0000:00:1f.1-scsi-0:0:1:0-part1 |
103 | resume=/dev/disk/by-uuid/3f5ad593-4546-4a94-a374-bcfb68aa11f7 | |
104 | resume=UUID=3f5ad593-4546-4a94-a374-bcfb68aa11f7 | |
b6c89768 | 105 | -- |
97903dfc | 106 | |
9fb01d49 AŻ |
107 | **rd.skipfsck**:: |
108 | skip fsck for rootfs and _/usr_. If you're mounting _/usr_ read-only and | |
109 | the init system performs fsck before remount, you might want to use this | |
110 | option to avoid duplication. | |
97903dfc | 111 | |
d4ce0e5e HH |
112 | iso-scan/filename |
113 | ~~~~~~~~~~~~~~~~~ | |
114 | ||
115 | Using iso-scan/filename with a Fedora/Red Hat/CentOS Live iso should just work | |
116 | by copying the original kernel cmdline parameters. | |
117 | ||
118 | [listing] | |
119 | .Example | |
120 | -- | |
121 | menuentry 'Live Fedora 20' --class fedora --class gnu-linux --class gnu --class os { | |
122 | set isolabel=Fedora-Live-LXDE-x86_64-20-1 | |
123 | set isofile="/boot/iso/Fedora-Live-LXDE-x86_64-20-1.iso" | |
124 | loopback loop $isofile | |
125 | linux (loop)/isolinux/vmlinuz0 boot=isolinux iso-scan/filename=$isofile root=live:LABEL=$isolabel ro rd.live.image quiet rhgb | |
126 | initrd (loop)/isolinux/initrd0.img | |
127 | } | |
128 | -- | |
2ee48b4b | 129 | |
888d53f2 HH |
130 | Misc |
131 | ~~~~ | |
c45e856a | 132 | **rd.emergency=**__[reboot|poweroff|halt]__:: |
5db79ae4 HH |
133 | specify, what action to execute in case of a critical failure. rd.shell=0 also |
134 | be specified. | |
c45e856a | 135 | |
b6c89768 | 136 | **rd.driver.blacklist=**__<drivername>__[,__<drivername>__,...]:: |
888d53f2 HH |
137 | do not load kernel module <drivername>. This parameter can be specified |
138 | multiple times. | |
139 | ||
b6c89768 | 140 | **rd.driver.pre=**__<drivername>__[,__<drivername>__,...]:: |
888d53f2 HH |
141 | force loading kernel module <drivername>. This parameter can be specified |
142 | multiple times. | |
143 | ||
b6c89768 | 144 | **rd.driver.post=**__<drivername>__[,__<drivername>__,...]:: |
888d53f2 HH |
145 | force loading kernel module <drivername> after all automatic loading modules |
146 | have been loaded. This parameter can be specified multiple times. | |
147 | ||
b6c89768 | 148 | **rd.retry=**__<seconds>__:: |
56663e7e | 149 | specify how long dracut should retry the initqueue to configure devices. |
5cd7c104 | 150 | The default is 30 seconds. After 2/3 of the time, degraded raids are force |
52da8a51 HH |
151 | started. If you have hardware, which takes a very long time to announce its |
152 | drives, you might want to extend this value. | |
5cd7c104 | 153 | |
56663e7e HR |
154 | **rd.timeout=**__<seconds>__:: |
155 | specify how long dracut should wait for devices to appear. The | |
156 | default is '0', which means 'forever'. Note that this timeout | |
157 | should be longer than rd.retry to allow for proper configuration. | |
158 | ||
13cb578a BL |
159 | **rd.noverifyssl**:: |
160 | accept self-signed certificates for ssl downloads. | |
161 | ||
b6c89768 | 162 | **rd.ctty=**__<terminal device>__:: |
14986b9d HH |
163 | specify the controlling terminal for the console. |
164 | This is useful, if you have multiple "console=" arguments. | |
165 | ||
888d53f2 HH |
166 | [[dracutkerneldebug]] |
167 | Debug | |
168 | ~~~~~ | |
ef9ddb91 | 169 | If you are dropped to an emergency shell, the file |
05b879ed | 170 | _/run/initramfs/rdsosreport.txt_ is created, which can be saved to a (to be |
ef9ddb91 HH |
171 | mounted by hand) partition (usually /boot) or a USB stick. Additional debugging |
172 | info can be produced by adding **rd.debug** to the kernel command line. | |
c33488fe | 173 | _/run/initramfs/rdsosreport.txt_ contains all logs and the output of some tools. |
64d144ae HH |
174 | It should be attached to any report about dracut problems. |
175 | ||
888d53f2 HH |
176 | **rd.info**:: |
177 | print informational output though "quiet" is set | |
178 | ||
179 | **rd.shell**:: | |
180 | allow dropping to a shell, if root mounting fails | |
181 | ||
182 | **rd.debug**:: | |
64d144ae | 183 | set -x for the dracut shell. |
ef9ddb91 HH |
184 | If systemd is active in the initramfs, all output is logged to the systemd |
185 | journal, which you can inspect with "journalctl -ab". | |
186 | If systemd is not active, the logs are written to dmesg and | |
187 | _/run/initramfs/init.log_. | |
64d144ae | 188 | If "quiet" is set, it also logs to the console. |
888d53f2 | 189 | |
7a5949ff XP |
190 | **rd.memdebug=[0-4]**:: |
191 | Print memory usage info at various points, set the verbose level from 0 to 4. | |
ef9ddb91 | 192 | + |
9c322b2f | 193 | Higher level means more debugging output: |
b6c89768 HH |
194 | + |
195 | ---- | |
9c322b2f DY |
196 | 0 - no output |
197 | 1 - partial /proc/meminfo | |
198 | 2 - /proc/meminfo | |
199 | 3 - /proc/meminfo + /proc/slabinfo | |
7a5949ff XP |
200 | 4 - /proc/meminfo + /proc/slabinfo + tracekomem |
201 | NOTE: tracekomem is a shell script utilizing kernel trace to track | |
202 | the rough total memory consumption of kernel modules during | |
203 | loading. It may override other trace configurations. | |
b6c89768 | 204 | ---- |
7bd8f233 | 205 | |
888d53f2 HH |
206 | **rd.break**:: |
207 | drop to a shell at the end | |
208 | ||
b6c89768 | 209 | **rd.break=**__{cmdline|pre-udev|pre-trigger|initqueue|pre-mount|mount|pre-pivot|cleanup}__:: |
888d53f2 HH |
210 | drop to a shell on defined breakpoint |
211 | ||
212 | **rd.udev.info**:: | |
213 | set udev to loglevel info | |
214 | ||
215 | **rd.udev.debug**:: | |
216 | set udev to loglevel debug | |
217 | ||
218 | I18N | |
219 | ~~~~ | |
b6c89768 | 220 | **rd.vconsole.keymap=**__<keymap base file name>__:: |
888d53f2 | 221 | keyboard translation table loaded by loadkeys; taken from keymaps directory; |
b6c89768 | 222 | will be written as KEYMAP to _/etc/vconsole.conf_ in the initramfs. |
888d53f2 | 223 | + |
b6c89768 HH |
224 | [listing] |
225 | .Example | |
226 | -- | |
227 | rd.vconsole.keymap=de-latin1-nodeadkeys | |
228 | -- | |
888d53f2 | 229 | |
b6c89768 | 230 | **rd.vconsole.keymap.ext=**__<list of keymap base file names>__:: |
888d53f2 HH |
231 | list of extra keymaps to bo loaded (sep. by space); will be written as |
232 | EXT_KEYMAP to _/etc/vconsole.conf_ in the initramfs | |
233 | ||
b6c89768 | 234 | **rd.vconsole.unicode**:: |
888d53f2 HH |
235 | boolean, indicating UTF-8 mode; will be written as UNICODE to |
236 | _/etc/vconsole.conf_ in the initramfs | |
237 | ||
b6c89768 | 238 | **rd.vconsole.font=**__<font base file name>__:: |
888d53f2 | 239 | console font; taken from consolefonts directory; will be written as FONT to |
b6c89768 | 240 | _/etc/vconsole.conf_ in the initramfs. |
888d53f2 | 241 | + |
b6c89768 HH |
242 | [listing] |
243 | .Example | |
244 | -- | |
245 | rd.vconsole.font=LatArCyrHeb-16 | |
246 | -- | |
888d53f2 | 247 | |
b6c89768 | 248 | **rd.vconsole.font.map=**__<console map base file name>__:: |
888d53f2 HH |
249 | see description of '-m' parameter in setfont manual; taken from consoletrans |
250 | directory; will be written as FONT_MAP to _/etc/vconsole.conf_ in the | |
251 | initramfs | |
252 | ||
b6c89768 | 253 | **rd.vconsole.font.unimap=**__<unicode table base file name>__:: |
888d53f2 HH |
254 | see description of '-u' parameter in setfont manual; taken from unimaps |
255 | directory; will be written as FONT_UNIMAP to _/etc/vconsole.conf_ in the | |
256 | initramfs | |
257 | ||
b6c89768 | 258 | **rd.locale.LANG=**__<locale>__:: |
888d53f2 HH |
259 | taken from the environment; if no UNICODE is defined we set its value in |
260 | basis of LANG value (whether it ends with ".utf8" (or similar) or not); will | |
b6c89768 | 261 | be written as LANG to _/etc/locale.conf_ in the initramfs. |
888d53f2 | 262 | + |
b6c89768 HH |
263 | [listing] |
264 | .Example | |
265 | -- | |
266 | rd.locale.LANG=pl_PL.utf8 | |
267 | -- | |
888d53f2 | 268 | |
b6c89768 | 269 | **rd.locale.LC_ALL=**__<locale>__:: |
888d53f2 HH |
270 | taken from the environment; will be written as LC_ALL to _/etc/locale.conf_ |
271 | in the initramfs | |
272 | ||
273 | LVM | |
274 | ~~~ | |
275 | **rd.lvm=0**:: | |
276 | disable LVM detection | |
277 | ||
b6c89768 | 278 | **rd.lvm.vg=**__<volume group name>__:: |
888d53f2 HH |
279 | only activate the volume groups with the given name. rd.lvm.vg can be |
280 | specified multiple times on the kernel command line. | |
281 | ||
b6c89768 | 282 | **rd.lvm.lv=**__<logical volume name>__:: |
888d53f2 HH |
283 | only activate the logical volumes with the given name. rd.lvm.lv can be |
284 | specified multiple times on the kernel command line. | |
285 | ||
286 | **rd.lvm.conf=0**:: | |
287 | remove any _/etc/lvm/lvm.conf_, which may exist in the initramfs | |
288 | ||
289 | crypto LUKS | |
290 | ~~~~~~~~~~~ | |
291 | **rd.luks=0**:: | |
292 | disable crypto LUKS detection | |
293 | ||
b6c89768 | 294 | **rd.luks.uuid=**__<luks uuid>__:: |
888d53f2 HH |
295 | only activate the LUKS partitions with the given UUID. Any "luks-" of the |
296 | LUKS UUID is removed before comparing to _<luks uuid>_. | |
297 | The comparisons also matches, if _<luks uuid>_ is only the beginning of the | |
298 | LUKS UUID, so you don't have to specify the full UUID. | |
299 | This parameter can be specified multiple times. | |
300 | ||
b6c89768 | 301 | **rd.luks.allow-discards=**__<luks uuid>__:: |
ef9ddb91 HH |
302 | Allow using of discards (TRIM) requests for LUKS partitions with the given |
303 | UUID. Any "luks-" of the LUKS UUID is removed before comparing to | |
304 | _<luks uuid>_. The comparisons also matches, if _<luks uuid>_ is only the | |
305 | beginning of the LUKS UUID, so you don't have to specify the full UUID. | |
5ad3803d HH |
306 | This parameter can be specified multiple times. |
307 | ||
f7235c22 | 308 | **rd.luks.allow-discards**:: |
5ad3803d HH |
309 | Allow using of discards (TRIM) requests on all LUKS partitions. |
310 | ||
888d53f2 HH |
311 | **rd.luks.crypttab=0**:: |
312 | do not check, if LUKS partition is in _/etc/crypttab_ | |
313 | ||
c1688560 NP |
314 | **rd.luks.timeout=**__<seconds>__:: |
315 | specify how long dracut should wait when waiting for the user to enter the | |
316 | password. This avoid blocking the boot if no password is entered. It does | |
317 | not apply to luks key. The default is '0', which means 'forever'. | |
318 | ||
888d53f2 HH |
319 | crypto LUKS - key on removable device support |
320 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
b6c89768 | 321 | **rd.luks.key=**__<keypath>__:__<keydev>__:__<luksdev>__:: |
ef9ddb91 HH |
322 | _keypath_ is a path to key file to look for. It's REQUIRED. When _keypath_ |
323 | ends with '.gpg' it's considered to be key encrypted symmetrically with GPG. | |
324 | You will be prompted for password on boot. GPG support comes with | |
325 | 'crypt-gpg' module which needs to be added explicitly. | |
326 | + | |
327 | _keydev_ is a device on which key file resides. It might be kernel name of | |
328 | devices (should start with "/dev/"), UUID (prefixed with "UUID=") or label | |
329 | (prefix with "LABEL="). You don't have to specify full UUID. Just its beginning | |
330 | will suffice, even if its ambiguous. All matching devices will be probed. | |
331 | This parameter is recommended, but not required. If not present, all block | |
332 | devices will be probed, which may significantly increase boot time. | |
333 | + | |
334 | If _luksdev_ is given, the specified key will only be applied for that LUKS | |
335 | device. Possible values are the same as for _keydev_. Unless you have several | |
336 | LUKS devices, you don't have to specify this parameter. The simplest usage is: | |
888d53f2 | 337 | + |
b6c89768 HH |
338 | [listing] |
339 | .Example | |
340 | -- | |
888d53f2 | 341 | rd.luks.key=/foo/bar.key |
b6c89768 | 342 | -- |
888d53f2 HH |
343 | + |
344 | As you see, you can skip colons in such a case. | |
173edca0 AŻ |
345 | + |
346 | [NOTE] | |
347 | =============================== | |
600c8769 | 348 | dracut pipes key to cryptsetup with _-d -_ argument, therefore you need to pipe |
173edca0 AŻ |
349 | to crypsetup luksFormat with _-d -_, too! |
350 | ||
351 | Here follows example for key encrypted with GPG: | |
352 | ||
b6c89768 HH |
353 | [listing] |
354 | -- | |
355 | gpg --quiet --decrypt rootkey.gpg | \ | |
356 | cryptsetup -d - -v --cipher serpent-cbc-essiv:sha256 \ | |
173edca0 | 357 | --key-size 256 luksFormat /dev/sda3 |
b6c89768 | 358 | -- |
173edca0 AŻ |
359 | |
360 | If you use plain keys, just add path to _-d_ option: | |
361 | ||
b6c89768 HH |
362 | [listing] |
363 | -- | |
364 | cryptsetup -d rootkey.key -v --cipher serpent-cbc-essiv:sha256 \ | |
365 | --key-size 256 luksFormat /dev/sda3 | |
366 | -- | |
173edca0 | 367 | =============================== |
888d53f2 HH |
368 | |
369 | MD RAID | |
370 | ~~~~~~~ | |
371 | **rd.md=0**:: | |
372 | disable MD RAID detection | |
373 | ||
374 | **rd.md.imsm=0**:: | |
375 | disable MD RAID for imsm/isw raids, use DM RAID instead | |
376 | ||
377 | **rd.md.ddf=0**:: | |
378 | disable MD RAID for SNIA ddf raids, use DM RAID instead | |
379 | ||
380 | **rd.md.conf=0**:: | |
381 | ignore mdadm.conf included in initramfs | |
382 | ||
383 | **rd.md.waitclean=1**:: | |
ef9ddb91 HH |
384 | wait for any resync, recovery, or reshape activity to finish before |
385 | continuing | |
888d53f2 | 386 | |
b6c89768 | 387 | **rd.md.uuid=**__<md raid uuid>__:: |
888d53f2 HH |
388 | only activate the raid sets with the given UUID. This parameter can be |
389 | specified multiple times. | |
390 | ||
391 | DM RAID | |
392 | ~~~~~~~ | |
393 | **rd.dm=0**:: | |
394 | disable DM RAID detection | |
395 | ||
b6c89768 | 396 | **rd.dm.uuid=**__<dm raid uuid>__:: |
888d53f2 HH |
397 | only activate the raid sets with the given UUID. This parameter can be |
398 | specified multiple times. | |
399 | ||
778b3543 HH |
400 | MULTIPATH |
401 | ~~~~~~~~~ | |
402 | **rd.multipath=0**:: | |
403 | disable multipath detection | |
404 | ||
888d53f2 HH |
405 | FIPS |
406 | ~~~~ | |
407 | **rd.fips**:: | |
408 | enable FIPS | |
409 | ||
b6c89768 HH |
410 | **boot=**__<boot device>__:: |
411 | specify the device, where /boot is located. | |
888d53f2 | 412 | + |
b6c89768 HH |
413 | [listing] |
414 | .Example | |
415 | -- | |
888d53f2 HH |
416 | boot=/dev/sda1 |
417 | boot=/dev/disk/by-path/pci-0000:00:1f.1-scsi-0:0:1:0-part1 | |
418 | boot=UUID=<uuid> | |
419 | boot=LABEL=<label> | |
b6c89768 | 420 | -- |
888d53f2 HH |
421 | |
422 | **rd.fips.skipkernel**:: | |
423 | skip checksum check of the kernel image. Useful, if the kernel image is not | |
424 | in a separate boot partition. | |
425 | ||
426 | Network | |
427 | ~~~~~~~ | |
b6c89768 HH |
428 | |
429 | [IMPORTANT] | |
430 | ===================== | |
ef9ddb91 HH |
431 | It is recommended to either bind an interface to a MAC with the **ifname** |
432 | argument, or to use the systemd-udevd predictable network interface names. | |
b6c89768 HH |
433 | |
434 | Predictable network interface device names based on: | |
435 | ||
436 | - firmware/bios-provided index numbers for on-board devices | |
437 | - firmware-provided pci-express hotplug slot index number | |
438 | - physical/geographical location of the hardware | |
439 | - the interface's MAC address | |
440 | ||
ef9ddb91 HH |
441 | See: |
442 | http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames | |
b6c89768 HH |
443 | |
444 | Two character prefixes based on the type of interface: | |
445 | ||
446 | en:: ethernet | |
447 | wl:: wlan | |
448 | ww:: wwan | |
449 | ||
450 | Type of names: | |
451 | ||
452 | o<index>:: on-board device index number | |
453 | s<slot>[f<function>][d<dev_id>]:: hotplug slot index number | |
454 | x<MAC>:: MAC address | |
455 | [P<domain>]p<bus>s<slot>[f<function>][d<dev_id>]:: PCI geographical location | |
456 | [P<domain>]p<bus>s<slot>[f<function>][u<port>][..][c<config>][i<interface>]:: USB port number chain | |
457 | ||
458 | All multi-function PCI devices will carry the [f<function>] number in the | |
459 | device name, including the function 0 device. | |
460 | ||
461 | When using PCI geography, The PCI domain is only prepended when it is not 0. | |
462 | ||
463 | For USB devices the full chain of port numbers of hubs is composed. If the | |
464 | name gets longer than the maximum number of 15 characters, the name is not | |
465 | exported. | |
466 | The usual USB configuration == 1 and interface == 0 values are suppressed. | |
467 | ||
468 | PCI ethernet card with firmware index "1":: | |
469 | * eno1 | |
470 | ||
471 | PCI ethernet card in hotplug slot with firmware index number:: | |
472 | * ens1 | |
473 | ||
474 | PCI ethernet multi-function card with 2 ports:: | |
475 | * enp2s0f0 | |
476 | * enp2s0f1 | |
477 | ||
478 | PCI wlan card:: | |
479 | * wlp3s0 | |
480 | ||
481 | USB built-in 3G modem:: | |
482 | * wwp0s29u1u4i6 | |
483 | ||
484 | USB Android phone:: | |
485 | * enp0s29u1u2 | |
486 | ===================== | |
487 | ||
67354eeb | 488 | **ip=**__{dhcp|on|any|dhcp6|auto6|either6}__:: |
ef9ddb91 HH |
489 | dhcp|on|any::: get ip from dhcp server from all interfaces. If root=dhcp, |
490 | loop sequentially through all interfaces (eth0, eth1, ...) and use the first | |
491 | with a valid DHCP root-path. | |
888d53f2 HH |
492 | |
493 | auto6::: IPv6 autoconfiguration | |
494 | ||
495 | dhcp6::: IPv6 DHCP | |
496 | ||
67354eeb PL |
497 | either6::: if auto6 fails, then dhcp6 |
498 | ||
b6c89768 | 499 | **ip=**__<interface>__:__{dhcp|on|any|dhcp6|auto6}__[:[__<mtu>__][:__<macaddr>__]]:: |
888d53f2 HH |
500 | This parameter can be specified multiple times. |
501 | + | |
1760dfc0 | 502 | ===================== |
888d53f2 HH |
503 | dhcp|on|any|dhcp6::: get ip from dhcp server on a specific interface |
504 | auto6::: do IPv6 autoconfiguration | |
1760dfc0 HH |
505 | <macaddr>::: optionally **set** <macaddr> on the <interface>. This |
506 | cannot be used in conjunction with the **ifname** argument for the | |
507 | same <interface>. | |
508 | ===================== | |
509 | ||
0a7d7f63 | 510 | **ip=**__<client-IP>__:[__<peer>__]:__<gateway-IP>__:__<netmask>__:__<client_hostname>__:__<interface>__:__{none|off|dhcp|on|any|dhcp6|auto6|ibft}__[:[__<mtu>__][:__<macaddr>__]]:: |
888d53f2 HH |
511 | explicit network configuration. If you want do define a IPv6 address, put it |
512 | in brackets (e.g. [2001:DB8::1]). This parameter can be specified multiple | |
e38e73d5 | 513 | times. __<peer>__ is optional and is the address of the remote endpoint |
ef9ddb91 HH |
514 | for pointopoint interfaces and it may be followed by a slash and a decimal |
515 | number, encoding the network prefix length. | |
990e945f | 516 | + |
1760dfc0 HH |
517 | ===================== |
518 | <macaddr>::: optionally **set** <macaddr> on the <interface>. This | |
519 | cannot be used in conjunction with the **ifname** argument for the | |
520 | same <interface>. | |
521 | ===================== | |
522 | ||
1982098e HH |
523 | **ip=**__<client-IP>__:[__<peer>__]:__<gateway-IP>__:__<netmask>__:__<client_hostname>__:__<interface>__:__{none|off|dhcp|on|any|dhcp6|auto6|ibft}__[:[__<dns1>__][:__<dns2>__]]:: |
524 | explicit network configuration. If you want do define a IPv6 address, put it | |
525 | in brackets (e.g. [2001:DB8::1]). This parameter can be specified multiple | |
526 | times. __<peer>__ is optional and is the address of the remote endpoint | |
527 | for pointopoint interfaces and it may be followed by a slash and a decimal | |
528 | number, encoding the network prefix length. | |
529 | ||
b6c89768 | 530 | **ifname=**__<interface>__:__<MAC>__:: |
ef9ddb91 HH |
531 | Assign network device name <interface> (ie "bootnet") to the NIC with |
532 | MAC <MAC>. | |
1760dfc0 | 533 | + |
b6c89768 | 534 | WARNING: Do **not** use the default kernel naming scheme for the interface name, |
1760dfc0 HH |
535 | as it can conflict with the kernel names. So, don't use "eth[0-9]+" for the |
536 | interface name. Better name it "bootnet" or "bluesocket". | |
888d53f2 | 537 | |
7b46244b HH |
538 | **rd.route=**__<net>__/__<netmask>__:__<gateway>__[:__<interface>__]:: |
539 | Add a static route with route options, which are separated by a colon. | |
540 | IPv6 addresses have to be put in brackets. | |
541 | + | |
542 | [listing] | |
543 | .Example | |
544 | -- | |
545 | rd.route=192.168.200.0/24:192.168.100.222:ens10 | |
546 | rd.route=192.168.200.0/24:192.168.100.222 | |
547 | rd.route=192.168.200.0/24::ens10 | |
548 | rd.route=[2001:DB8:3::/8]:[2001:DB8:2::1]:ens10 | |
549 | -- | |
550 | ||
b6c89768 | 551 | **bootdev=**__<interface>__:: |
888d53f2 HH |
552 | specify network interface to use routing and netroot information from. |
553 | Required if multiple ip= lines are used. | |
554 | ||
ee993857 HH |
555 | **BOOTIF=**__<MAC>__:: |
556 | specify network interface to use routing and netroot information from. | |
557 | ||
558 | **rd.bootif=0**:: | |
559 | Disable BOOTIF parsing, which is provided by PXE | |
560 | ||
888d53f2 HH |
561 | **nameserver=**__<IP>__ [**nameserver=**__<IP>__ ...]:: |
562 | specify nameserver(s) to use | |
563 | ||
df0bdd5a HH |
564 | **rd.peerdns=0**:: |
565 | Disable DNS setting of DHCP parameters. | |
566 | ||
888d53f2 HH |
567 | **biosdevname=0**:: |
568 | boolean, turn off biosdevname network interface renaming | |
569 | ||
48dba7f9 HH |
570 | **rd.neednet=1**:: |
571 | boolean, bring up network even without netroot set | |
572 | ||
b6c89768 | 573 | **vlan=**__<vlanname>__:__<phydevice>__:: |
144787fe | 574 | Setup vlan device named <vlanname> on <phydeivce>. |
ef9ddb91 HH |
575 | We support the four styles of vlan names: VLAN_PLUS_VID (vlan0005), |
576 | VLAN_PLUS_VID_NO_PAD (vlan5), DEV_PLUS_VID (eth0.0005), | |
577 | DEV_PLUS_VID_NO_PAD (eth0.5) | |
144787fe | 578 | |
65960fda | 579 | **bond=**__<bondname>__[:__<bondslaves>__:[:__<options>__[:<mtu>]]]:: |
c438bdb0 AW |
580 | Setup bonding device <bondname> on top of <bondslaves>. |
581 | <bondslaves> is a comma-separated list of physical (ethernet) interfaces. | |
ef9ddb91 HH |
582 | <options> is a comma-separated list on bonding options (modinfo bonding for |
583 | details) in format compatible with initscripts. If <options> includes | |
584 | multi-valued arp_ip_target option, then its values should be separated by | |
65960fda HH |
585 | semicolon. if the mtu is specified, it will be set on the bond master. |
586 | Bond without parameters assumes | |
ef9ddb91 | 587 | bond=bond0:eth0,eth1:mode=balance-rr |
c438bdb0 | 588 | |
b6c89768 | 589 | **team=**__<teammaster>__:__<teamslaves>__:: |
3baa150b CW |
590 | Setup team device <teammaster> on top of <teamslaves>. |
591 | <teamslaves> is a comma-separated list of physical (ethernet) interfaces. | |
592 | ||
b6c89768 | 593 | **bridge=**__<bridgename>__:__<ethnames>__:: |
21928b97 | 594 | Setup bridge <bridgename> with <ethnames>. <ethnames> is a comma-separated |
ef9ddb91 HH |
595 | list of physical (ethernet) interfaces. Bridge without parameters assumes |
596 | bridge=br0:eth0 | |
9337c692 | 597 | |
888d53f2 HH |
598 | NFS |
599 | ~~~ | |
b6c89768 | 600 | **root=**\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__]:: |
888d53f2 | 601 | mount nfs share from <server-ip>:/<root-dir>, if no server-ip is given, use |
7b46244b | 602 | dhcp next_server. If server-ip is an IPv6 address it has to be put in |
888d53f2 | 603 | brackets, e.g. [2001:DB8::1]. NFS options can be appended with the prefix |
d0921882 | 604 | ":" or "," and are separated by ",". |
888d53f2 | 605 | |
b6c89768 | 606 | **root=**nfs:\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__], **root=**nfs4:\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__], **root=**__{dhcp|dhcp6}__:: |
888d53f2 HH |
607 | root=dhcp alone directs initrd to look at the DHCP root-path where NFS |
608 | options can be specified. | |
609 | + | |
b6c89768 HH |
610 | [listing] |
611 | .Example | |
612 | -- | |
888d53f2 HH |
613 | root-path=<server-ip>:<root-dir>[,<nfs-options>] |
614 | root-path=nfs:<server-ip>:<root-dir>[,<nfs-options>] | |
615 | root-path=nfs4:<server-ip>:<root-dir>[,<nfs-options>] | |
b6c89768 | 616 | -- |
888d53f2 | 617 | |
b6c89768 | 618 | **root=**_/dev/nfs_ nfsroot=\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__]:: |
888d53f2 HH |
619 | _Deprecated!_ kernel Documentation_/filesystems/nfsroot.txt_ defines this |
620 | method. This is supported by dracut, but not recommended. | |
621 | ||
b6c89768 | 622 | **rd.nfs.domain=**__<NFSv4 domain name>__:: |
85c8217d | 623 | Set the NFSv4 domain name. Will override the settings in _/etc/idmap.conf_. |
888d53f2 | 624 | |
2448fbf1 HH |
625 | **rd.net.dhcp.retry=**__<cnt>__:: |
626 | If this option is set, dracut will try to connect via dhcp <cnt> times before failing. | |
627 | Default is 1. | |
628 | ||
629 | **rd.net.timeout.dhcp=**__<arg>__:: | |
630 | If this option is set, dhclient is called with "-timeout <arg>". | |
631 | ||
632 | **rd.net.timeout.iflink=**__<seconds>__:: | |
633 | Wait <seconds> until link shows up. Default is 60 seconds. | |
634 | ||
635 | **rd.net.timeout.ifup=**__<seconds>__:: | |
636 | Wait <seconds> until link has state "UP". Default is 20 seconds. | |
637 | ||
638 | **rd.net.timeout.route=**__<seconds>__:: | |
639 | Wait <seconds> until route shows up. Default is 20 seconds. | |
640 | ||
641 | **rd.net.timeout.ipv6dad=**__<seconds>__:: | |
642 | Wait <seconds> until IPv6 DAD is finished. Default is 50 seconds. | |
643 | ||
644 | **rd.net.timeout.ipv6auto=**__<seconds>__:: | |
645 | Wait <seconds> until IPv6 automatic addresses are assigned. Default is 40 seconds. | |
646 | ||
647 | **rd.net.timeout.carrier=**__<seconds>__:: | |
648 | Wait <seconds> until carrier is recognized. Default is 5 seconds. | |
649 | ||
d580636e MG |
650 | CIFS |
651 | ~~~ | |
b6c89768 | 652 | **root=**cifs://[__<username>__[:__<password>__]@]__<server-ip>__:__<root-dir>__:: |
d580636e MG |
653 | mount cifs share from <server-ip>:/<root-dir>, if no server-ip is given, use |
654 | dhcp next_server. if server-ip is an IPv6 address it has to be put in | |
655 | brackets, e.g. [2001:DB8::1]. If a username or password are not specified | |
656 | as part of the root, then they must be passed on the command line through | |
657 | cifsuser/cifspass. | |
833685de | 658 | + |
ef9ddb91 HH |
659 | WARNING: Passwords specified on the kernel command line are visible for all |
660 | users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the | |
661 | network, when using DHCP with DHCP root-path. | |
d580636e | 662 | |
b6c89768 | 663 | **cifsuser**=__<username>__:: |
d580636e MG |
664 | Set the cifs username, if not specified as part of the root. |
665 | ||
b6c89768 | 666 | **cifspass**=__<password>__:: |
d580636e | 667 | Set the cifs password, if not specified as part of the root. |
833685de | 668 | + |
ef9ddb91 HH |
669 | WARNING: Passwords specified on the kernel command line are visible for all |
670 | users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the | |
671 | network, when using DHCP with DHCP root-path. | |
d580636e | 672 | |
888d53f2 HH |
673 | iSCSI |
674 | ~~~~~ | |
b6c89768 | 675 | **root=**iscsi:[__<username>__:__<password>__[:__<reverse>__:__<password>__]@][__<servername>__]:[__<protocol>__]:[__<port>__][:[__<iscsi_iface_name>__]:[__<netdev_name>__]]:[__<LUN>__]:__<targetname>__:: |
888d53f2 HH |
676 | protocol defaults to "6", LUN defaults to "0". If the "servername" field is |
677 | provided by BOOTP or DHCP, then that field is used in conjunction with other | |
678 | associated fields to contact the boot server in the Boot stage. However, if | |
679 | the "servername" field is not provided, then the "targetname" field is then | |
680 | used in the Discovery Service stage in conjunction with other associated | |
681 | fields. See | |
682 | link:$$http://tools.ietf.org/html/rfc4173#section-5$$[rfc4173]. | |
888d53f2 | 683 | + |
ef9ddb91 HH |
684 | WARNING: Passwords specified on the kernel command line are visible for all |
685 | users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the | |
686 | network, when using DHCP with DHCP root-path. | |
b6c89768 HH |
687 | + |
688 | [listing] | |
689 | .Example | |
690 | -- | |
888d53f2 | 691 | root=iscsi:192.168.50.1::::iqn.2009-06.dracut:target0 |
b6c89768 | 692 | -- |
888d53f2 | 693 | + |
b6c89768 | 694 | If servername is an IPv6 address, it has to be put in brackets: |
888d53f2 | 695 | + |
b6c89768 HH |
696 | [listing] |
697 | .Example | |
698 | -- | |
888d53f2 | 699 | root=iscsi:[2001:DB8::1]::::iqn.2009-06.dracut:target0 |
b6c89768 | 700 | -- |
888d53f2 | 701 | |
b6c89768 HH |
702 | **root=**__???__ **netroot=**iscsi:[__<username>__:__<password>__[:__<reverse>__:__<password>__]@][__<servername>__]:[__<protocol>__]:[__<port>__][:[__<iscsi_iface_name>__]:[__<netdev_name>__]]:[__<LUN>__]:__<targetname>__ ...:: |
703 | multiple netroot options allow setting up multiple iscsi disks: | |
888d53f2 | 704 | + |
b6c89768 HH |
705 | [listing] |
706 | .Example | |
707 | -- | |
888d53f2 HH |
708 | root=UUID=12424547 |
709 | netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target0 | |
710 | netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target1 | |
b6c89768 | 711 | -- |
888d53f2 | 712 | + |
b6c89768 | 713 | If servername is an IPv6 address, it has to be put in brackets: |
888d53f2 | 714 | + |
b6c89768 HH |
715 | [listing] |
716 | .Example | |
717 | -- | |
888d53f2 | 718 | netroot=iscsi:[2001:DB8::1]::::iqn.2009-06.dracut:target0 |
b6c89768 | 719 | -- |
833685de | 720 | + |
ef9ddb91 HH |
721 | WARNING: Passwords specified on the kernel command line are visible for all |
722 | users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the | |
723 | network, when using DHCP with DHCP root-path. | |
724 | You may want to use rd.iscsi.firmware. | |
888d53f2 | 725 | |
b6c89768 | 726 | **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>__:: |
888d53f2 | 727 | manually specify all iscsistart parameter (see **+iscsistart --help+**) |
833685de | 728 | + |
ef9ddb91 HH |
729 | WARNING: Passwords specified on the kernel command line are visible for all |
730 | users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the | |
731 | network, when using DHCP with DHCP root-path. | |
732 | You may want to use rd.iscsi.firmware. | |
888d53f2 HH |
733 | |
734 | **root=**_???_ **netroot=**iscsi **rd.iscsi.firmware=1**:: | |
735 | will read the iscsi parameter from the BIOS firmware | |
736 | ||
6ccb58a5 HH |
737 | **rd.iscsi.login_retry_max=**__<num>__:: |
738 | maximum number of login retries | |
739 | ||
b6c89768 | 740 | **rd.iscsi.param=**__<param>__:: |
8d51acbb HH |
741 | <param> will be passed as "--param <param>" to iscsistart. |
742 | This parameter can be specified multiple times. | |
8d51acbb | 743 | + |
b6c89768 HH |
744 | [listing] |
745 | .Example | |
746 | -- | |
833685de | 747 | "netroot=iscsi rd.iscsi.firmware=1 rd.iscsi.param=node.session.timeo.replacement_timeout=30" |
b6c89768 | 748 | -- |
8d51acbb HH |
749 | + |
750 | will result in | |
751 | + | |
b6c89768 HH |
752 | [listing] |
753 | -- | |
8d51acbb | 754 | iscsistart -b --param node.session.timeo.replacement_timeout=30 |
b6c89768 | 755 | -- |
8d51acbb | 756 | |
5580e4c1 HH |
757 | **rd.iscsi.ibft** **rd.iscsi.ibft=1**: |
758 | Turn on iBFT autoconfiguration for the interfaces | |
759 | ||
69171aa8 HH |
760 | **rd.iscsi.waitnet=0**: |
761 | Turn off waiting for all interfaces to be up before trying to login to the iSCSI targets. | |
762 | ||
763 | **rd.iscsi.testroute=0**: | |
764 | Turn off checking, if the route to the iSCSI target IP is possible before trying to login. | |
765 | ||
888d53f2 HH |
766 | FCoE |
767 | ~~~~ | |
7c6d2ad9 PT |
768 | **rd.nofcoe=0**:: |
769 | disable FCoE and lldpad | |
770 | ||
c75196e1 | 771 | **fcoe=**__<edd|interface|MAC>__:__{dcb|nodcb}__:__{fabric|vn2vn}__:: |
888d53f2 | 772 | Try to connect to a FCoE SAN through the NIC specified by _<interface>_ or |
c75196e1 HR |
773 | _<MAC>_ or EDD settings. The second argument specifies if DCB |
774 | should be used. The optional third argument specifies whether | |
775 | fabric or VN2VN mode should be used. | |
776 | This parameter can be specified multiple times. | |
1760dfc0 | 777 | + |
b6c89768 | 778 | NOTE: letters in the MAC-address must be lowercase! |
888d53f2 HH |
779 | |
780 | NBD | |
781 | ~~~ | |
b070c1d3 HH |
782 | **root=**??? **netroot=**nbd:__<server>__:__<port/exportname>__[:__<fstype>__[:__<mountopts>__[:__<nbdopts>__]]]:: |
783 | mount nbd share from <server>. | |
784 | + | |
785 | NOTE: | |
786 | If "exportname" instead of "port" is given the standard port is used. | |
787 | Newer versions of nbd are only supported with "exportname". | |
888d53f2 | 788 | |
b070c1d3 | 789 | **root=dhcp** with **dhcp** **root-path=**nbd:__<server>__:__<port/exportname>__[:__<fstype>__[:__<mountopts>__[:__<nbdopts>__]]]:: |
888d53f2 HH |
790 | root=dhcp alone directs initrd to look at the DHCP root-path where NBD |
791 | options can be specified. This syntax is only usable in cases where you are | |
792 | directly mounting the volume as the rootfs. | |
b070c1d3 HH |
793 | + |
794 | NOTE: | |
795 | If "exportname" instead of "port" is given the standard port is used. | |
796 | Newer versions of nbd are only supported with "exportname". | |
888d53f2 HH |
797 | |
798 | DASD | |
799 | ~~~~ | |
4d76a85d | 800 | **rd.dasd=**....:: |
888d53f2 HH |
801 | same syntax as the kernel module parameter (s390 only) |
802 | ||
888d53f2 HH |
803 | ZFCP |
804 | ~~~~ | |
b6c89768 | 805 | **rd.zfcp=**__<zfcp adaptor device bus ID>__,__<WWPN>__,__<FCPLUN>__:: |
c8aa1d94 HR |
806 | rd.zfcp can be specified multiple times on the kernel command |
807 | line. | |
808 | ||
809 | **rd.zfcp=**__<zfcp adaptor device bus ID>__:: | |
810 | If NPIV is enabled and the 'allow_lun_scan' parameter to the zfcp | |
811 | module is set to 'Y' then the zfcp adaptor will be initiating a | |
812 | scan internally and the <WWPN> and <FCPLUN> parameters can be omitted. | |
888d53f2 | 813 | + |
b6c89768 HH |
814 | [listing] |
815 | .Example | |
816 | -- | |
888d53f2 | 817 | rd.zfcp=0.0.4000,0x5005076300C213e9,0x5022000000000000 |
c8aa1d94 | 818 | rd.zfcp=0.0.4000 |
b6c89768 | 819 | -- |
888d53f2 HH |
820 | |
821 | **rd.zfcp.conf=0**:: | |
822 | ignore zfcp.conf included in the initramfs | |
823 | ||
824 | ZNET | |
825 | ~~~~ | |
b6c89768 | 826 | **rd.znet=**__<nettype>__,__<subchannels>__,__<options>__:: |
a5420672 HH |
827 | The whole parameter is appended to /etc/ccw.conf, which is used on |
828 | RHEL/Fedora with ccw_init, which is called from udev for certain | |
829 | devices on z-series. | |
b6c89768 | 830 | rd.znet can be specified multiple times on the kernel command line. |
888d53f2 | 831 | + |
b6c89768 HH |
832 | [listing] |
833 | .Example | |
834 | -- | |
888d53f2 | 835 | rd.znet=qeth,0.0.0600,0.0.0601,0.0.0602,layer2=1,portname=foo |
62fd2b36 | 836 | rd.znet=ctc,0.0.0600,0.0.0601,protocol=bar |
b6c89768 | 837 | -- |
888d53f2 | 838 | |
504c0a8f MH |
839 | Booting live images |
840 | ~~~~~~~~~~~~~~~~~~~ | |
841 | Dracut offers multiple options for live booted images: | |
842 | ||
843 | ===================== | |
789668de FG |
844 | SquashFS with read-only filesystem image::: The system will boot with a |
845 | read-only filesystem from the SquashFS and apply a writable Device-mapper | |
846 | snapshot or an OverlayFS overlay mount for the read-only base filesystem. This | |
847 | method ensures a relatively fast boot and lower RAM usage. Users **must be | |
848 | careful** to avoid writing too many blocks to a snapshot volume. Once the | |
849 | blocks of the snapshot overlay are exhausted, the root filesystem becomes | |
850 | read-only and may cause application failures. The snapshot overlay file is | |
851 | marked 'Overflow', and a difficult recovery is required to repair and enlarge | |
852 | the overlay offline. Non-persistent overlays are sparse files in RAM that only | |
853 | consume content space as required blocks are allocated. They default to an | |
854 | apparent size of 32 GiB in RAM. The size can be adjusted with the | |
855 | **rd.live.overlay.size=** kernel command line option. | |
504c0a8f | 856 | + |
789668de | 857 | The filesystem structure is traditionally expected to be: |
504c0a8f MH |
858 | + |
859 | [listing] | |
860 | -- | |
789668de | 861 | squashfs.img | SquashFS from LiveCD .iso |
504c0a8f MH |
862 | !(mount) |
863 | /LiveOS | |
ea288240 | 864 | |- rootfs.img | Filesystem image to mount read-only |
504c0a8f MH |
865 | !(mount) |
866 | /bin | Live filesystem | |
867 | /boot | | |
868 | /dev | | |
869 | ... | | |
870 | -- | |
871 | + | |
789668de FG |
872 | For OverlayFS mount overlays, the filesystem structure may also be a direct |
873 | compression of the root filesystem: | |
874 | + | |
875 | [listing] | |
876 | -- | |
877 | squashfs.img | SquashFS from LiveCD .iso | |
878 | !(mount) | |
879 | /bin | Live filesystem | |
880 | /boot | | |
881 | /dev | | |
882 | ... | | |
883 | -- | |
884 | + | |
885 | Dracut uses one of the overlay methods of live booting by default. No | |
886 | additional command line options are required other than **root=live:<URL>** to | |
887 | specify the location of your squashed filesystem. | |
504c0a8f | 888 | + |
33a4198e FG |
889 | - The compressed SquashFS image can be copied during boot to RAM at |
890 | `/run/initramfs/squashed.img` by using the **rd.live.ram=1** option. | |
789668de | 891 | - A device with a persistent overlay can be booted read-only by using the |
33a4198e | 892 | **rd.live.overlay.readonly** option on the kernel command line. This will |
789668de FG |
893 | either cause a temporary, writable overlay to be stacked over a read-only |
894 | snapshot of the root filesystem or the OverlayFS mount will use an additional | |
895 | lower layer with the root filesystem. | |
33a4198e FG |
896 | + |
897 | Uncompressed live filesystem image::: | |
898 | When the live system was installed with the '--skipcompress' option of the | |
899 | __livecd-iso-to-disk__ installation script for Live USB devices, the root | |
789668de | 900 | filesystem image, __rootfs.img__, is expanded on installation and no SquashFS |
33a4198e FG |
901 | is involved during boot. |
902 | + | |
903 | - If **rd.live.ram=1** is used in this situation, the full, uncompressed | |
904 | root filesystem is copied during boot to `/run/initramfs/rootfs.img` in the | |
905 | `/run` tmpfs. | |
906 | + | |
907 | - If **rd.live.overlay=none** is provided as a kernel command line option, | |
789668de | 908 | a writable, linear Device-mapper target is created on boot with no overlay. |
33a4198e | 909 | |
789668de | 910 | Writable filesystem image::: |
33a4198e FG |
911 | The system will retrieve a compressed filesystem image, extract it to |
912 | `/run/initramfs/fsimg/rootfs.img`, connect it to a loop device, create a | |
789668de | 913 | writable, linear Device-mapper target at `/dev/mapper/live-rw`, and mount that |
33a4198e FG |
914 | as a writable volume at `/`. More RAM is required during boot but the live |
915 | filesystem is easier to manage if it becomes full. Users can make a filesystem | |
916 | image of any size and that size will be maintained when the system boots. There | |
917 | is no persistence of root filesystem changes between boots with this option. | |
504c0a8f MH |
918 | + |
919 | The filesystem structure is expected to be: | |
920 | + | |
921 | [listing] | |
922 | -- | |
789668de | 923 | rootfs.tgz | Compressed tarball containing filesystem image |
504c0a8f | 924 | !(unpack) |
33a4198e | 925 | /rootfs.img | Filesystem image at /run/initramfs/fsimg/ |
504c0a8f MH |
926 | !(mount) |
927 | /bin | Live filesystem | |
928 | /boot | | |
929 | /dev | | |
930 | ... | | |
931 | -- | |
932 | + | |
33a4198e | 933 | To use this boot option, ensure that **rd.writable.fsimg=1** is in your kernel |
504c0a8f | 934 | command line and add the **root=live:<URL>** to specify the location |
33a4198e | 935 | of your compressed filesystem image tarball or SquashFS image. |
504c0a8f MH |
936 | ===================== |
937 | ||
33a4198e FG |
938 | **rd.writable.fsimg=**1:: |
939 | Enables writable filesystem support. The system will boot with a fully | |
940 | writable (but non-persistent) filesystem without snapshots __(see notes above | |
941 | about available live boot options)__. You can use the **rootflags** option to | |
942 | set mount options for the live filesystem as well __(see documentation about | |
943 | rootflags in the **Standard** section above)__. | |
944 | This implies that the whole image is copied to RAM before the boot continues. | |
945 | + | |
946 | NOTE: There must be enough free RAM available to hold the complete image. | |
947 | + | |
948 | This method is very suitable for diskless boots. | |
949 | ||
504c0a8f | 950 | **root=**live:__<url>__:: |
789668de FG |
951 | Boots a live image retrieved from __<url>__. Requires the dracut 'livenet' |
952 | module. Valid handlers: __http, https, ftp, torrent, tftp__. | |
504c0a8f MH |
953 | + |
954 | [listing] | |
789668de | 955 | .Examples |
504c0a8f MH |
956 | -- |
957 | root=live:http://example.com/liveboot.img | |
958 | root=live:ftp://ftp.example.com/liveboot.img | |
338bad63 | 959 | root=live:torrent://example.com/liveboot.img.torrent |
504c0a8f MH |
960 | -- |
961 | ||
962 | **rd.live.debug=**1:: | |
963 | Enables debug output from the live boot process. | |
964 | ||
965 | **rd.live.dir=**__<path>__:: | |
ea288240 | 966 | Specifies the directory within the boot device where the squashfs.img or |
789668de | 967 | rootfs.img can be found. By default, this is `/LiveOS`. |
504c0a8f | 968 | |
33a4198e FG |
969 | **rd.live.squashimg=**__<filename of SquashFS image>__:: |
970 | Specifies the filename for a SquashFS image of the root filesystem. | |
971 | By default, this is __squashfs.img__. | |
972 | ||
b0472eac FD |
973 | **rd.live.ram=**1:: |
974 | Copy the complete image to RAM and use this for booting. This is useful | |
789668de | 975 | when the image resides on, e.g., a DVD which needs to be ejected later on. |
b0472eac | 976 | |
e791d753 | 977 | **rd.live.overlay={**__<devspec>__[:__{<pathspec>|auto}__]|__none__}:: |
789668de FG |
978 | Manage the usage of a permanent overlay. |
979 | + | |
980 | -- | |
981 | * _<devspec>_ specifies the path to a device with a mountable filesystem. | |
982 | * _<pathspec>_ is the path to a file within that filesystem, which shall be | |
33a4198e FG |
983 | used to persist the changes made to the device specified by the |
984 | **root=live:__<url>__** option. | |
789668de FG |
985 | + |
986 | The default _pathspec_, when _auto_ or no _:<pathspec>_ is given, is | |
987 | `/<+++<b>rd.live.dir</b>+++>/overlay-<label>-<uuid>`, where _<label>_ is the | |
988 | device LABEL, and _<uuid>_ is the device UUID. | |
989 | * _none_ (the word itself) specifies that no overlay will be used, such as when | |
990 | an uncompressed, writable live root filesystem is available. | |
991 | + | |
992 | If a persistent overlay __is detected__ at the standard LiveOS path, the | |
993 | overlay & overlay type detected, whether Device-mapper or OverlayFS, will be | |
994 | used. | |
995 | -- | |
a1b4efe6 FD |
996 | + |
997 | [listing] | |
789668de | 998 | .Examples |
a1b4efe6 FD |
999 | -- |
1000 | rd.live.overlay=/dev/sdb1:persistent-overlay.img | |
789668de | 1001 | rd.live.overlay=UUID=99440c1f-8daa-41bf-b965-b7240a8996f4 |
a1b4efe6 FD |
1002 | -- |
1003 | ||
33a4198e | 1004 | **rd.live.overlay.size=**__<size_MiB>__:: |
789668de FG |
1005 | Specifies a non-persistent Device-mapper overlay size in MiB. The default is |
1006 | _32768_. | |
33a4198e FG |
1007 | |
1008 | **rd.live.overlay.readonly=**1:: | |
789668de FG |
1009 | This is used to boot with a normally read-write persistent overlay in a |
1010 | read-only mode. With this option, either an additional, non-persistent, | |
1011 | writable snapshot overlay will be stacked over a read-only snapshot, | |
1012 | `/dev/mapper/live‑ro`, of the base filesystem with the persistent overlay, or a | |
1013 | read-only loop device, in the case of a writable __rootfs.img__, or an OverlayFS | |
1014 | mount will use the persistent overlay directory linked at `/run/overlayfs‑r` as | |
1015 | an additional lower layer along with the base root filesystem and apply a | |
1016 | transient, writable upper directory overlay, in order to complete the booted | |
1017 | root filesystem. | |
33a4198e FG |
1018 | |
1019 | **rd.live.overlay.reset=**1:: | |
789668de | 1020 | Specifies that a persistent overlay should be reset on boot. All previous root |
33a4198e FG |
1021 | filesystem changes are vacated by this action. |
1022 | ||
d6e34d36 FD |
1023 | **rd.live.overlay.thin=**1:: |
1024 | Enables the usage of thin snapshots instead of classic dm snapshots. | |
33a4198e FG |
1025 | The advantage of thin snapshots is that they support discards, and will free |
1026 | blocks that are not claimed by the filesystem. In this use case, this means | |
1027 | that memory is given back to the kernel when the filesystem does not claim it | |
d6e34d36 FD |
1028 | anymore. |
1029 | ||
ea288240 | 1030 | **rd.live.overlay.overlayfs=**1:: |
789668de | 1031 | Enables the use of the *OverlayFS* kernel module, if available, to provide a |
ea288240 FG |
1032 | copy-on-write union directory for the root filesystem. OverlayFS overlays are |
1033 | directories of the files that have changed on the read-only base (lower) | |
1034 | filesystem. The root filesystem is provided through a special overlay type | |
1035 | mount that merges the lower and upper directories. If an OverlayFS upper | |
1036 | directory is not present on the boot device, a tmpfs directory will be created | |
789668de | 1037 | at `/run/overlayfs` to provide temporary storage. Persistent storage can be |
ea288240 FG |
1038 | provided on vfat or msdos formatted devices by supplying the OverlayFS upper |
1039 | directory within an embedded filesystem that supports the creation of trusted.* | |
1040 | extended attributes and provides a valid d_type in readdir responses, such as | |
1041 | with ext4 and xfs. On non-vfat-formatted devices, a persistent OverlayFS | |
1042 | overlay can extend the available root filesystem storage up to the capacity of | |
789668de | 1043 | the LiveOS disk device. |
e791d753 | 1044 | + |
ea288240 | 1045 | If a persistent overlay is detected at the standard LiveOS path, the overlay & |
789668de | 1046 | overlay type detected, whether OverlayFS or Device-mapper, will be used. |
e791d753 | 1047 | + |
ea288240 | 1048 | The **rd.live.overlay.readonly** option, which allows a persistent overlayfs to |
789668de | 1049 | be mounted read-only through a higher level transient overlay directory, has |
ea288240 FG |
1050 | been implemented through the multiple lower layers feature of OverlayFS. |
1051 | ||
504c0a8f | 1052 | |
ea7ffef1 HR |
1053 | ZIPL |
1054 | ~~~~ | |
1055 | **rd.zipl=**__<path to blockdevice>__:: | |
1056 | Update the dracut commandline with the values found in the | |
1057 | _dracut-cmdline.conf_ file on the given device. | |
1058 | The values are merged into the existing commandline values | |
1059 | and the udev events are regenerated. | |
1060 | + | |
1061 | [listing] | |
1062 | .Example | |
1063 | -- | |
1064 | rd.zipl=UUID=0fb28157-99e3-4395-adef-da3f7d44835a | |
1065 | -- | |
1066 | ||
637fb762 HR |
1067 | CIO_IGNORE |
1068 | ~~~~~~~~~~ | |
1069 | **rd.cio_accept=**__<device-ids>__:: | |
1070 | Remove the devices listed in <device-ids> from the default | |
1071 | cio_ignore kernel command-line settings. | |
1072 | <device-ids> is a list of comma-separated CCW device ids. | |
1073 | The default for this value is taken from the | |
1074 | _/boot/zipl/active_devices.txt_ file. | |
1075 | + | |
1076 | [listing] | |
1077 | .Example | |
1078 | -- | |
1079 | rd.cio_accept=0.0.0180,0.0.0800,0.0.0801,0.0.0802 | |
1080 | -- | |
1081 | ||
888d53f2 HH |
1082 | Plymouth Boot Splash |
1083 | ~~~~~~~~~~~~~~~~~~~~ | |
1084 | **plymouth.enable=0**:: | |
504c0a8f | 1085 | disable the plymouth bootsplash completely. |
888d53f2 HH |
1086 | |
1087 | **rd.plymouth=0**:: | |
1088 | disable the plymouth bootsplash only for the initramfs. | |
1089 | ||
1090 | Kernel keys | |
1091 | ~~~~~~~~~~~ | |
b6c89768 HH |
1092 | **masterkey=**__<kernel master key path name>__:: |
1093 | Set the path name of the kernel master key. | |
888d53f2 | 1094 | + |
b6c89768 HH |
1095 | [listing] |
1096 | .Example | |
1097 | -- | |
888d53f2 | 1098 | masterkey=/etc/keys/kmk-trusted.blob |
b6c89768 | 1099 | -- |
888d53f2 | 1100 | |
b6c89768 HH |
1101 | **masterkeytype=**__<kernel master key type>__:: |
1102 | Set the type of the kernel master key. | |
888d53f2 | 1103 | + |
b6c89768 HH |
1104 | [listing] |
1105 | .Example | |
1106 | -- | |
888d53f2 | 1107 | masterkeytype=trusted |
b6c89768 | 1108 | -- |
888d53f2 | 1109 | |
b6c89768 HH |
1110 | **evmkey=**__<EVM key path name>__:: |
1111 | Set the path name of the EVM key. | |
888d53f2 | 1112 | + |
b6c89768 HH |
1113 | [listing] |
1114 | .Example | |
1115 | -- | |
888d53f2 | 1116 | evmkey=/etc/keys/evm-trusted.blob |
b6c89768 | 1117 | -- |
888d53f2 | 1118 | |
b6c89768 HH |
1119 | **ecryptfskey=**__<eCryptfs key path name>__:: |
1120 | Set the path name of the eCryptfs key. | |
888d53f2 | 1121 | + |
b6c89768 HH |
1122 | [listing] |
1123 | .Example | |
1124 | -- | |
888d53f2 | 1125 | ecryptfskey=/etc/keys/ecryptfs-trusted.blob |
b6c89768 | 1126 | -- |
888d53f2 HH |
1127 | |
1128 | Deprecated, renamed Options | |
1129 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
ef9ddb91 HH |
1130 | Here is a list of options, which were used in dracut prior to version 008, and |
1131 | their new replacement. | |
888d53f2 HH |
1132 | |
1133 | rdbreak:: rd.break | |
1134 | ||
a5420672 HH |
1135 | rd.ccw:: rd.znet |
1136 | rd_CCW:: rd.znet | |
888d53f2 | 1137 | |
4d76a85d | 1138 | rd_DASD_MOD:: rd.dasd |
888d53f2 HH |
1139 | |
1140 | rd_DASD:: rd.dasd | |
1141 | ||
1142 | rdinitdebug rdnetdebug:: rd.debug | |
1143 | ||
1144 | rd_NO_DM:: rd.dm=0 | |
1145 | ||
1146 | rd_DM_UUID:: rd.dm.uuid | |
1147 | ||
1148 | rdblacklist:: rd.driver.blacklist | |
1149 | ||
1150 | rdinsmodpost:: rd.driver.post | |
1151 | ||
1152 | rdloaddriver:: rd.driver.pre | |
1153 | ||
1154 | rd_NO_FSTAB:: rd.fstab=0 | |
1155 | ||
1156 | rdinfo:: rd.info | |
1157 | ||
1158 | check:: rd.live.check | |
1159 | ||
1160 | rdlivedebug:: rd.live.debug | |
1161 | ||
1162 | live_dir:: rd.live.dir | |
1163 | ||
1164 | liveimg:: rd.live.image | |
1165 | ||
1166 | overlay:: rd.live.overlay | |
1167 | ||
1168 | readonly_overlay:: rd.live.overlay.readonly | |
1169 | ||
1170 | reset_overlay:: rd.live.overlay.reset | |
1171 | ||
1172 | live_ram:: rd.live.ram | |
1173 | ||
1174 | rd_NO_CRYPTTAB:: rd.luks.crypttab=0 | |
1175 | ||
1176 | rd_LUKS_KEYDEV_UUID:: rd.luks.keydev.uuid | |
1177 | ||
1178 | rd_LUKS_KEYPATH:: rd.luks.keypath | |
1179 | ||
1180 | rd_NO_LUKS:: rd.luks=0 | |
1181 | ||
1182 | rd_LUKS_UUID:: rd.luks.uuid | |
1183 | ||
1184 | rd_NO_LVMCONF:: rd.lvm.conf | |
1185 | ||
1186 | rd_LVM_LV:: rd.lvm.lv | |
1187 | ||
1188 | rd_NO_LVM:: rd.lvm=0 | |
1189 | ||
1190 | rd_LVM_SNAPSHOT:: rd.lvm.snapshot | |
1191 | ||
1192 | rd_LVM_SNAPSIZE:: rd.lvm.snapsize | |
1193 | ||
1194 | rd_LVM_VG:: rd.lvm.vg | |
1195 | ||
1196 | rd_NO_MDADMCONF:: rd.md.conf=0 | |
1197 | ||
1198 | rd_NO_MDIMSM:: rd.md.imsm=0 | |
1199 | ||
1200 | rd_NO_MD:: rd.md=0 | |
1201 | ||
1202 | rd_MD_UUID:: rd.md.uuid | |
1203 | ||
778b3543 HH |
1204 | rd_NO_MULTIPATH: rd.multipath=0 |
1205 | ||
888d53f2 HH |
1206 | rd_NFS_DOMAIN:: rd.nfs.domain |
1207 | ||
1208 | iscsi_initiator:: rd.iscsi.initiator | |
1209 | ||
1210 | iscsi_target_name:: rd.iscsi.target.name | |
1211 | ||
1212 | iscsi_target_ip:: rd.iscsi.target.ip | |
1213 | ||
1214 | iscsi_target_port:: rd.iscsi.target.port | |
1215 | ||
1216 | iscsi_target_group:: rd.iscsi.target.group | |
1217 | ||
1218 | iscsi_username:: rd.iscsi.username | |
1219 | ||
1220 | iscsi_password:: rd.iscsi.password | |
1221 | ||
1222 | iscsi_in_username:: rd.iscsi.in.username | |
1223 | ||
1224 | iscsi_in_password:: rd.iscsi.in.password | |
1225 | ||
1226 | iscsi_firmware:: rd.iscsi.firmware=0 | |
1227 | ||
1228 | rd_NO_PLYMOUTH:: rd.plymouth=0 | |
1229 | ||
1230 | rd_retry:: rd.retry | |
1231 | ||
1232 | rdshell:: rd.shell | |
1233 | ||
1234 | rd_NO_SPLASH:: rd.splash | |
1235 | ||
1236 | rdudevdebug:: rd.udev.debug | |
1237 | ||
1238 | rdudevinfo:: rd.udev.info | |
1239 | ||
1240 | rd_NO_ZFCPCONF:: rd.zfcp.conf=0 | |
1241 | ||
1242 | rd_ZFCP:: rd.zfcp | |
1243 | ||
1244 | rd_ZNET:: rd.znet | |
1245 | ||
1246 | KEYMAP:: vconsole.keymap | |
1247 | ||
1248 | KEYTABLE:: vconsole.keymap | |
1249 | ||
1250 | SYSFONT:: vconsole.font | |
1251 | ||
1252 | CONTRANS:: vconsole.font.map | |
1253 | ||
1254 | UNIMAP:: vconsole.font.unimap | |
1255 | ||
1256 | UNICODE:: vconsole.unicode | |
1257 | ||
1258 | EXT_KEYMAP:: vconsole.keymap.ext | |
1259 | ||
1260 | Configuration in the Initramfs | |
1261 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
1262 | _/etc/conf.d/_:: | |
1263 | Any files found in _/etc/conf.d/_ will be sourced in the initramfs to | |
1264 | set initial values. Command line options will override these values | |
1265 | set in the configuration files. | |
1266 | ||
1267 | _/etc/cmdline_:: | |
ef9ddb91 HH |
1268 | Can contain additional command line options. Deprecated, better use |
1269 | /etc/cmdline.d/*.conf. | |
888d53f2 HH |
1270 | |
1271 | _/etc/cmdline.d/*.conf_:: | |
1272 | Can contain additional command line options. | |
1273 | ||
1274 | AUTHOR | |
1275 | ------ | |
9f355169 | 1276 | Harald Hoyer |
888d53f2 HH |
1277 | |
1278 | SEE ALSO | |
1279 | -------- | |
1280 | *dracut*(8) *dracut.conf*(5) |