]>
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 | ||
314 | crypto LUKS - key on removable device support | |
315 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
b6c89768 | 316 | **rd.luks.key=**__<keypath>__:__<keydev>__:__<luksdev>__:: |
ef9ddb91 HH |
317 | _keypath_ is a path to key file to look for. It's REQUIRED. When _keypath_ |
318 | ends with '.gpg' it's considered to be key encrypted symmetrically with GPG. | |
319 | You will be prompted for password on boot. GPG support comes with | |
320 | 'crypt-gpg' module which needs to be added explicitly. | |
321 | + | |
322 | _keydev_ is a device on which key file resides. It might be kernel name of | |
323 | devices (should start with "/dev/"), UUID (prefixed with "UUID=") or label | |
324 | (prefix with "LABEL="). You don't have to specify full UUID. Just its beginning | |
325 | will suffice, even if its ambiguous. All matching devices will be probed. | |
326 | This parameter is recommended, but not required. If not present, all block | |
327 | devices will be probed, which may significantly increase boot time. | |
328 | + | |
329 | If _luksdev_ is given, the specified key will only be applied for that LUKS | |
330 | device. Possible values are the same as for _keydev_. Unless you have several | |
331 | LUKS devices, you don't have to specify this parameter. The simplest usage is: | |
888d53f2 | 332 | + |
b6c89768 HH |
333 | [listing] |
334 | .Example | |
335 | -- | |
888d53f2 | 336 | rd.luks.key=/foo/bar.key |
b6c89768 | 337 | -- |
888d53f2 HH |
338 | + |
339 | As you see, you can skip colons in such a case. | |
173edca0 AŻ |
340 | + |
341 | [NOTE] | |
342 | =============================== | |
600c8769 | 343 | dracut pipes key to cryptsetup with _-d -_ argument, therefore you need to pipe |
173edca0 AŻ |
344 | to crypsetup luksFormat with _-d -_, too! |
345 | ||
346 | Here follows example for key encrypted with GPG: | |
347 | ||
b6c89768 HH |
348 | [listing] |
349 | -- | |
350 | gpg --quiet --decrypt rootkey.gpg | \ | |
351 | cryptsetup -d - -v --cipher serpent-cbc-essiv:sha256 \ | |
173edca0 | 352 | --key-size 256 luksFormat /dev/sda3 |
b6c89768 | 353 | -- |
173edca0 AŻ |
354 | |
355 | If you use plain keys, just add path to _-d_ option: | |
356 | ||
b6c89768 HH |
357 | [listing] |
358 | -- | |
359 | cryptsetup -d rootkey.key -v --cipher serpent-cbc-essiv:sha256 \ | |
360 | --key-size 256 luksFormat /dev/sda3 | |
361 | -- | |
173edca0 | 362 | =============================== |
888d53f2 HH |
363 | |
364 | MD RAID | |
365 | ~~~~~~~ | |
366 | **rd.md=0**:: | |
367 | disable MD RAID detection | |
368 | ||
369 | **rd.md.imsm=0**:: | |
370 | disable MD RAID for imsm/isw raids, use DM RAID instead | |
371 | ||
372 | **rd.md.ddf=0**:: | |
373 | disable MD RAID for SNIA ddf raids, use DM RAID instead | |
374 | ||
375 | **rd.md.conf=0**:: | |
376 | ignore mdadm.conf included in initramfs | |
377 | ||
378 | **rd.md.waitclean=1**:: | |
ef9ddb91 HH |
379 | wait for any resync, recovery, or reshape activity to finish before |
380 | continuing | |
888d53f2 | 381 | |
b6c89768 | 382 | **rd.md.uuid=**__<md raid uuid>__:: |
888d53f2 HH |
383 | only activate the raid sets with the given UUID. This parameter can be |
384 | specified multiple times. | |
385 | ||
386 | DM RAID | |
387 | ~~~~~~~ | |
388 | **rd.dm=0**:: | |
389 | disable DM RAID detection | |
390 | ||
b6c89768 | 391 | **rd.dm.uuid=**__<dm raid uuid>__:: |
888d53f2 HH |
392 | only activate the raid sets with the given UUID. This parameter can be |
393 | specified multiple times. | |
394 | ||
778b3543 HH |
395 | MULTIPATH |
396 | ~~~~~~~~~ | |
397 | **rd.multipath=0**:: | |
398 | disable multipath detection | |
399 | ||
888d53f2 HH |
400 | FIPS |
401 | ~~~~ | |
402 | **rd.fips**:: | |
403 | enable FIPS | |
404 | ||
b6c89768 HH |
405 | **boot=**__<boot device>__:: |
406 | specify the device, where /boot is located. | |
888d53f2 | 407 | + |
b6c89768 HH |
408 | [listing] |
409 | .Example | |
410 | -- | |
888d53f2 HH |
411 | boot=/dev/sda1 |
412 | boot=/dev/disk/by-path/pci-0000:00:1f.1-scsi-0:0:1:0-part1 | |
413 | boot=UUID=<uuid> | |
414 | boot=LABEL=<label> | |
b6c89768 | 415 | -- |
888d53f2 HH |
416 | |
417 | **rd.fips.skipkernel**:: | |
418 | skip checksum check of the kernel image. Useful, if the kernel image is not | |
419 | in a separate boot partition. | |
420 | ||
421 | Network | |
422 | ~~~~~~~ | |
b6c89768 HH |
423 | |
424 | [IMPORTANT] | |
425 | ===================== | |
ef9ddb91 HH |
426 | It is recommended to either bind an interface to a MAC with the **ifname** |
427 | argument, or to use the systemd-udevd predictable network interface names. | |
b6c89768 HH |
428 | |
429 | Predictable network interface device names based on: | |
430 | ||
431 | - firmware/bios-provided index numbers for on-board devices | |
432 | - firmware-provided pci-express hotplug slot index number | |
433 | - physical/geographical location of the hardware | |
434 | - the interface's MAC address | |
435 | ||
ef9ddb91 HH |
436 | See: |
437 | http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames | |
b6c89768 HH |
438 | |
439 | Two character prefixes based on the type of interface: | |
440 | ||
441 | en:: ethernet | |
442 | wl:: wlan | |
443 | ww:: wwan | |
444 | ||
445 | Type of names: | |
446 | ||
447 | o<index>:: on-board device index number | |
448 | s<slot>[f<function>][d<dev_id>]:: hotplug slot index number | |
449 | x<MAC>:: MAC address | |
450 | [P<domain>]p<bus>s<slot>[f<function>][d<dev_id>]:: PCI geographical location | |
451 | [P<domain>]p<bus>s<slot>[f<function>][u<port>][..][c<config>][i<interface>]:: USB port number chain | |
452 | ||
453 | All multi-function PCI devices will carry the [f<function>] number in the | |
454 | device name, including the function 0 device. | |
455 | ||
456 | When using PCI geography, The PCI domain is only prepended when it is not 0. | |
457 | ||
458 | For USB devices the full chain of port numbers of hubs is composed. If the | |
459 | name gets longer than the maximum number of 15 characters, the name is not | |
460 | exported. | |
461 | The usual USB configuration == 1 and interface == 0 values are suppressed. | |
462 | ||
463 | PCI ethernet card with firmware index "1":: | |
464 | * eno1 | |
465 | ||
466 | PCI ethernet card in hotplug slot with firmware index number:: | |
467 | * ens1 | |
468 | ||
469 | PCI ethernet multi-function card with 2 ports:: | |
470 | * enp2s0f0 | |
471 | * enp2s0f1 | |
472 | ||
473 | PCI wlan card:: | |
474 | * wlp3s0 | |
475 | ||
476 | USB built-in 3G modem:: | |
477 | * wwp0s29u1u4i6 | |
478 | ||
479 | USB Android phone:: | |
480 | * enp0s29u1u2 | |
481 | ===================== | |
482 | ||
5580e4c1 | 483 | **ip=**__{dhcp|on|any|dhcp6|auto6}__:: |
ef9ddb91 HH |
484 | dhcp|on|any::: get ip from dhcp server from all interfaces. If root=dhcp, |
485 | loop sequentially through all interfaces (eth0, eth1, ...) and use the first | |
486 | with a valid DHCP root-path. | |
888d53f2 HH |
487 | |
488 | auto6::: IPv6 autoconfiguration | |
489 | ||
490 | dhcp6::: IPv6 DHCP | |
491 | ||
b6c89768 | 492 | **ip=**__<interface>__:__{dhcp|on|any|dhcp6|auto6}__[:[__<mtu>__][:__<macaddr>__]]:: |
888d53f2 HH |
493 | This parameter can be specified multiple times. |
494 | + | |
1760dfc0 | 495 | ===================== |
888d53f2 HH |
496 | dhcp|on|any|dhcp6::: get ip from dhcp server on a specific interface |
497 | auto6::: do IPv6 autoconfiguration | |
1760dfc0 HH |
498 | <macaddr>::: optionally **set** <macaddr> on the <interface>. This |
499 | cannot be used in conjunction with the **ifname** argument for the | |
500 | same <interface>. | |
501 | ===================== | |
502 | ||
0a7d7f63 | 503 | **ip=**__<client-IP>__:[__<peer>__]:__<gateway-IP>__:__<netmask>__:__<client_hostname>__:__<interface>__:__{none|off|dhcp|on|any|dhcp6|auto6|ibft}__[:[__<mtu>__][:__<macaddr>__]]:: |
888d53f2 HH |
504 | explicit network configuration. If you want do define a IPv6 address, put it |
505 | in brackets (e.g. [2001:DB8::1]). This parameter can be specified multiple | |
e38e73d5 | 506 | times. __<peer>__ is optional and is the address of the remote endpoint |
ef9ddb91 HH |
507 | for pointopoint interfaces and it may be followed by a slash and a decimal |
508 | number, encoding the network prefix length. | |
990e945f | 509 | + |
1760dfc0 HH |
510 | ===================== |
511 | <macaddr>::: optionally **set** <macaddr> on the <interface>. This | |
512 | cannot be used in conjunction with the **ifname** argument for the | |
513 | same <interface>. | |
514 | ===================== | |
515 | ||
1982098e HH |
516 | **ip=**__<client-IP>__:[__<peer>__]:__<gateway-IP>__:__<netmask>__:__<client_hostname>__:__<interface>__:__{none|off|dhcp|on|any|dhcp6|auto6|ibft}__[:[__<dns1>__][:__<dns2>__]]:: |
517 | explicit network configuration. If you want do define a IPv6 address, put it | |
518 | in brackets (e.g. [2001:DB8::1]). This parameter can be specified multiple | |
519 | times. __<peer>__ is optional and is the address of the remote endpoint | |
520 | for pointopoint interfaces and it may be followed by a slash and a decimal | |
521 | number, encoding the network prefix length. | |
522 | ||
b6c89768 | 523 | **ifname=**__<interface>__:__<MAC>__:: |
ef9ddb91 HH |
524 | Assign network device name <interface> (ie "bootnet") to the NIC with |
525 | MAC <MAC>. | |
1760dfc0 | 526 | + |
b6c89768 | 527 | WARNING: Do **not** use the default kernel naming scheme for the interface name, |
1760dfc0 HH |
528 | as it can conflict with the kernel names. So, don't use "eth[0-9]+" for the |
529 | interface name. Better name it "bootnet" or "bluesocket". | |
888d53f2 | 530 | |
7b46244b HH |
531 | **rd.route=**__<net>__/__<netmask>__:__<gateway>__[:__<interface>__]:: |
532 | Add a static route with route options, which are separated by a colon. | |
533 | IPv6 addresses have to be put in brackets. | |
534 | + | |
535 | [listing] | |
536 | .Example | |
537 | -- | |
538 | rd.route=192.168.200.0/24:192.168.100.222:ens10 | |
539 | rd.route=192.168.200.0/24:192.168.100.222 | |
540 | rd.route=192.168.200.0/24::ens10 | |
541 | rd.route=[2001:DB8:3::/8]:[2001:DB8:2::1]:ens10 | |
542 | -- | |
543 | ||
b6c89768 | 544 | **bootdev=**__<interface>__:: |
888d53f2 HH |
545 | specify network interface to use routing and netroot information from. |
546 | Required if multiple ip= lines are used. | |
547 | ||
ee993857 HH |
548 | **BOOTIF=**__<MAC>__:: |
549 | specify network interface to use routing and netroot information from. | |
550 | ||
551 | **rd.bootif=0**:: | |
552 | Disable BOOTIF parsing, which is provided by PXE | |
553 | ||
888d53f2 HH |
554 | **nameserver=**__<IP>__ [**nameserver=**__<IP>__ ...]:: |
555 | specify nameserver(s) to use | |
556 | ||
df0bdd5a HH |
557 | **rd.peerdns=0**:: |
558 | Disable DNS setting of DHCP parameters. | |
559 | ||
888d53f2 HH |
560 | **biosdevname=0**:: |
561 | boolean, turn off biosdevname network interface renaming | |
562 | ||
48dba7f9 HH |
563 | **rd.neednet=1**:: |
564 | boolean, bring up network even without netroot set | |
565 | ||
b6c89768 | 566 | **vlan=**__<vlanname>__:__<phydevice>__:: |
144787fe | 567 | Setup vlan device named <vlanname> on <phydeivce>. |
ef9ddb91 HH |
568 | We support the four styles of vlan names: VLAN_PLUS_VID (vlan0005), |
569 | VLAN_PLUS_VID_NO_PAD (vlan5), DEV_PLUS_VID (eth0.0005), | |
570 | DEV_PLUS_VID_NO_PAD (eth0.5) | |
144787fe | 571 | |
65960fda | 572 | **bond=**__<bondname>__[:__<bondslaves>__:[:__<options>__[:<mtu>]]]:: |
c438bdb0 AW |
573 | Setup bonding device <bondname> on top of <bondslaves>. |
574 | <bondslaves> is a comma-separated list of physical (ethernet) interfaces. | |
ef9ddb91 HH |
575 | <options> is a comma-separated list on bonding options (modinfo bonding for |
576 | details) in format compatible with initscripts. If <options> includes | |
577 | multi-valued arp_ip_target option, then its values should be separated by | |
65960fda HH |
578 | semicolon. if the mtu is specified, it will be set on the bond master. |
579 | Bond without parameters assumes | |
ef9ddb91 | 580 | bond=bond0:eth0,eth1:mode=balance-rr |
c438bdb0 | 581 | |
b6c89768 | 582 | **team=**__<teammaster>__:__<teamslaves>__:: |
3baa150b CW |
583 | Setup team device <teammaster> on top of <teamslaves>. |
584 | <teamslaves> is a comma-separated list of physical (ethernet) interfaces. | |
585 | ||
b6c89768 | 586 | **bridge=**__<bridgename>__:__<ethnames>__:: |
21928b97 | 587 | Setup bridge <bridgename> with <ethnames>. <ethnames> is a comma-separated |
ef9ddb91 HH |
588 | list of physical (ethernet) interfaces. Bridge without parameters assumes |
589 | bridge=br0:eth0 | |
9337c692 | 590 | |
888d53f2 HH |
591 | NFS |
592 | ~~~ | |
b6c89768 | 593 | **root=**\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__]:: |
888d53f2 | 594 | mount nfs share from <server-ip>:/<root-dir>, if no server-ip is given, use |
7b46244b | 595 | dhcp next_server. If server-ip is an IPv6 address it has to be put in |
888d53f2 HH |
596 | brackets, e.g. [2001:DB8::1]. NFS options can be appended with the prefix |
597 | ":" or "," and are seperated by ",". | |
598 | ||
b6c89768 | 599 | **root=**nfs:\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__], **root=**nfs4:\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__], **root=**__{dhcp|dhcp6}__:: |
888d53f2 HH |
600 | root=dhcp alone directs initrd to look at the DHCP root-path where NFS |
601 | options can be specified. | |
602 | + | |
b6c89768 HH |
603 | [listing] |
604 | .Example | |
605 | -- | |
888d53f2 HH |
606 | root-path=<server-ip>:<root-dir>[,<nfs-options>] |
607 | root-path=nfs:<server-ip>:<root-dir>[,<nfs-options>] | |
608 | root-path=nfs4:<server-ip>:<root-dir>[,<nfs-options>] | |
b6c89768 | 609 | -- |
888d53f2 | 610 | |
b6c89768 | 611 | **root=**_/dev/nfs_ nfsroot=\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__]:: |
888d53f2 HH |
612 | _Deprecated!_ kernel Documentation_/filesystems/nfsroot.txt_ defines this |
613 | method. This is supported by dracut, but not recommended. | |
614 | ||
b6c89768 | 615 | **rd.nfs.domain=**__<NFSv4 domain name>__:: |
85c8217d | 616 | Set the NFSv4 domain name. Will override the settings in _/etc/idmap.conf_. |
888d53f2 | 617 | |
2448fbf1 HH |
618 | **rd.net.dhcp.retry=**__<cnt>__:: |
619 | If this option is set, dracut will try to connect via dhcp <cnt> times before failing. | |
620 | Default is 1. | |
621 | ||
622 | **rd.net.timeout.dhcp=**__<arg>__:: | |
623 | If this option is set, dhclient is called with "-timeout <arg>". | |
624 | ||
625 | **rd.net.timeout.iflink=**__<seconds>__:: | |
626 | Wait <seconds> until link shows up. Default is 60 seconds. | |
627 | ||
628 | **rd.net.timeout.ifup=**__<seconds>__:: | |
629 | Wait <seconds> until link has state "UP". Default is 20 seconds. | |
630 | ||
631 | **rd.net.timeout.route=**__<seconds>__:: | |
632 | Wait <seconds> until route shows up. Default is 20 seconds. | |
633 | ||
634 | **rd.net.timeout.ipv6dad=**__<seconds>__:: | |
635 | Wait <seconds> until IPv6 DAD is finished. Default is 50 seconds. | |
636 | ||
637 | **rd.net.timeout.ipv6auto=**__<seconds>__:: | |
638 | Wait <seconds> until IPv6 automatic addresses are assigned. Default is 40 seconds. | |
639 | ||
640 | **rd.net.timeout.carrier=**__<seconds>__:: | |
641 | Wait <seconds> until carrier is recognized. Default is 5 seconds. | |
642 | ||
d580636e MG |
643 | CIFS |
644 | ~~~ | |
b6c89768 | 645 | **root=**cifs://[__<username>__[:__<password>__]@]__<server-ip>__:__<root-dir>__:: |
d580636e MG |
646 | mount cifs share from <server-ip>:/<root-dir>, if no server-ip is given, use |
647 | dhcp next_server. if server-ip is an IPv6 address it has to be put in | |
648 | brackets, e.g. [2001:DB8::1]. If a username or password are not specified | |
649 | as part of the root, then they must be passed on the command line through | |
650 | cifsuser/cifspass. | |
833685de | 651 | + |
ef9ddb91 HH |
652 | WARNING: Passwords specified on the kernel command line are visible for all |
653 | users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the | |
654 | network, when using DHCP with DHCP root-path. | |
d580636e | 655 | |
b6c89768 | 656 | **cifsuser**=__<username>__:: |
d580636e MG |
657 | Set the cifs username, if not specified as part of the root. |
658 | ||
b6c89768 | 659 | **cifspass**=__<password>__:: |
d580636e | 660 | Set the cifs password, if not specified as part of the root. |
833685de | 661 | + |
ef9ddb91 HH |
662 | WARNING: Passwords specified on the kernel command line are visible for all |
663 | users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the | |
664 | network, when using DHCP with DHCP root-path. | |
d580636e | 665 | |
888d53f2 HH |
666 | iSCSI |
667 | ~~~~~ | |
b6c89768 | 668 | **root=**iscsi:[__<username>__:__<password>__[:__<reverse>__:__<password>__]@][__<servername>__]:[__<protocol>__]:[__<port>__][:[__<iscsi_iface_name>__]:[__<netdev_name>__]]:[__<LUN>__]:__<targetname>__:: |
888d53f2 HH |
669 | protocol defaults to "6", LUN defaults to "0". If the "servername" field is |
670 | provided by BOOTP or DHCP, then that field is used in conjunction with other | |
671 | associated fields to contact the boot server in the Boot stage. However, if | |
672 | the "servername" field is not provided, then the "targetname" field is then | |
673 | used in the Discovery Service stage in conjunction with other associated | |
674 | fields. See | |
675 | link:$$http://tools.ietf.org/html/rfc4173#section-5$$[rfc4173]. | |
888d53f2 | 676 | + |
ef9ddb91 HH |
677 | WARNING: Passwords specified on the kernel command line are visible for all |
678 | users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the | |
679 | network, when using DHCP with DHCP root-path. | |
b6c89768 HH |
680 | + |
681 | [listing] | |
682 | .Example | |
683 | -- | |
888d53f2 | 684 | root=iscsi:192.168.50.1::::iqn.2009-06.dracut:target0 |
b6c89768 | 685 | -- |
888d53f2 | 686 | + |
b6c89768 | 687 | If servername is an IPv6 address, it has to be put in brackets: |
888d53f2 | 688 | + |
b6c89768 HH |
689 | [listing] |
690 | .Example | |
691 | -- | |
888d53f2 | 692 | root=iscsi:[2001:DB8::1]::::iqn.2009-06.dracut:target0 |
b6c89768 | 693 | -- |
888d53f2 | 694 | |
b6c89768 HH |
695 | **root=**__???__ **netroot=**iscsi:[__<username>__:__<password>__[:__<reverse>__:__<password>__]@][__<servername>__]:[__<protocol>__]:[__<port>__][:[__<iscsi_iface_name>__]:[__<netdev_name>__]]:[__<LUN>__]:__<targetname>__ ...:: |
696 | multiple netroot options allow setting up multiple iscsi disks: | |
888d53f2 | 697 | + |
b6c89768 HH |
698 | [listing] |
699 | .Example | |
700 | -- | |
888d53f2 HH |
701 | root=UUID=12424547 |
702 | netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target0 | |
703 | netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target1 | |
b6c89768 | 704 | -- |
888d53f2 | 705 | + |
b6c89768 | 706 | If servername is an IPv6 address, it has to be put in brackets: |
888d53f2 | 707 | + |
b6c89768 HH |
708 | [listing] |
709 | .Example | |
710 | -- | |
888d53f2 | 711 | netroot=iscsi:[2001:DB8::1]::::iqn.2009-06.dracut:target0 |
b6c89768 | 712 | -- |
833685de | 713 | + |
ef9ddb91 HH |
714 | WARNING: Passwords specified on the kernel command line are visible for all |
715 | users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the | |
716 | network, when using DHCP with DHCP root-path. | |
717 | You may want to use rd.iscsi.firmware. | |
888d53f2 | 718 | |
b6c89768 | 719 | **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 | 720 | manually specify all iscsistart parameter (see **+iscsistart --help+**) |
833685de | 721 | + |
ef9ddb91 HH |
722 | WARNING: Passwords specified on the kernel command line are visible for all |
723 | users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the | |
724 | network, when using DHCP with DHCP root-path. | |
725 | You may want to use rd.iscsi.firmware. | |
888d53f2 HH |
726 | |
727 | **root=**_???_ **netroot=**iscsi **rd.iscsi.firmware=1**:: | |
728 | will read the iscsi parameter from the BIOS firmware | |
729 | ||
b6c89768 | 730 | **rd.iscsi.param=**__<param>__:: |
8d51acbb HH |
731 | <param> will be passed as "--param <param>" to iscsistart. |
732 | This parameter can be specified multiple times. | |
8d51acbb | 733 | + |
b6c89768 HH |
734 | [listing] |
735 | .Example | |
736 | -- | |
833685de | 737 | "netroot=iscsi rd.iscsi.firmware=1 rd.iscsi.param=node.session.timeo.replacement_timeout=30" |
b6c89768 | 738 | -- |
8d51acbb HH |
739 | + |
740 | will result in | |
741 | + | |
b6c89768 HH |
742 | [listing] |
743 | -- | |
8d51acbb | 744 | iscsistart -b --param node.session.timeo.replacement_timeout=30 |
b6c89768 | 745 | -- |
8d51acbb | 746 | |
5580e4c1 HH |
747 | **rd.iscsi.ibft** **rd.iscsi.ibft=1**: |
748 | Turn on iBFT autoconfiguration for the interfaces | |
749 | ||
69171aa8 HH |
750 | **rd.iscsi.waitnet=0**: |
751 | Turn off waiting for all interfaces to be up before trying to login to the iSCSI targets. | |
752 | ||
753 | **rd.iscsi.testroute=0**: | |
754 | Turn off checking, if the route to the iSCSI target IP is possible before trying to login. | |
755 | ||
888d53f2 HH |
756 | FCoE |
757 | ~~~~ | |
b6c89768 | 758 | **fcoe=**__<edd|interface|MAC>__:__{dcb|nodcb}__:: |
888d53f2 HH |
759 | Try to connect to a FCoE SAN through the NIC specified by _<interface>_ or |
760 | _<MAC>_ or EDD settings. For the second argument, currently only nodcb is | |
1760dfc0 HH |
761 | supported. This parameter can be specified multiple times. |
762 | + | |
b6c89768 | 763 | NOTE: letters in the MAC-address must be lowercase! |
888d53f2 HH |
764 | |
765 | NBD | |
766 | ~~~ | |
b070c1d3 HH |
767 | **root=**??? **netroot=**nbd:__<server>__:__<port/exportname>__[:__<fstype>__[:__<mountopts>__[:__<nbdopts>__]]]:: |
768 | mount nbd share from <server>. | |
769 | + | |
770 | NOTE: | |
771 | If "exportname" instead of "port" is given the standard port is used. | |
772 | Newer versions of nbd are only supported with "exportname". | |
888d53f2 | 773 | |
b070c1d3 | 774 | **root=dhcp** with **dhcp** **root-path=**nbd:__<server>__:__<port/exportname>__[:__<fstype>__[:__<mountopts>__[:__<nbdopts>__]]]:: |
888d53f2 HH |
775 | root=dhcp alone directs initrd to look at the DHCP root-path where NBD |
776 | options can be specified. This syntax is only usable in cases where you are | |
777 | directly mounting the volume as the rootfs. | |
b070c1d3 HH |
778 | + |
779 | NOTE: | |
780 | If "exportname" instead of "port" is given the standard port is used. | |
781 | Newer versions of nbd are only supported with "exportname". | |
888d53f2 HH |
782 | |
783 | DASD | |
784 | ~~~~ | |
4d76a85d | 785 | **rd.dasd=**....:: |
888d53f2 HH |
786 | same syntax as the kernel module parameter (s390 only) |
787 | ||
888d53f2 HH |
788 | ZFCP |
789 | ~~~~ | |
b6c89768 | 790 | **rd.zfcp=**__<zfcp adaptor device bus ID>__,__<WWPN>__,__<FCPLUN>__:: |
c8aa1d94 HR |
791 | rd.zfcp can be specified multiple times on the kernel command |
792 | line. | |
793 | ||
794 | **rd.zfcp=**__<zfcp adaptor device bus ID>__:: | |
795 | If NPIV is enabled and the 'allow_lun_scan' parameter to the zfcp | |
796 | module is set to 'Y' then the zfcp adaptor will be initiating a | |
797 | scan internally and the <WWPN> and <FCPLUN> parameters can be omitted. | |
888d53f2 | 798 | + |
b6c89768 HH |
799 | [listing] |
800 | .Example | |
801 | -- | |
888d53f2 | 802 | rd.zfcp=0.0.4000,0x5005076300C213e9,0x5022000000000000 |
c8aa1d94 | 803 | rd.zfcp=0.0.4000 |
b6c89768 | 804 | -- |
888d53f2 HH |
805 | |
806 | **rd.zfcp.conf=0**:: | |
807 | ignore zfcp.conf included in the initramfs | |
808 | ||
809 | ZNET | |
810 | ~~~~ | |
b6c89768 HH |
811 | **rd.znet=**__<nettype>__,__<subchannels>__,__<options>__:: |
812 | rd.znet can be specified multiple times on the kernel command line. | |
888d53f2 | 813 | + |
b6c89768 HH |
814 | [listing] |
815 | .Example | |
816 | -- | |
888d53f2 | 817 | rd.znet=qeth,0.0.0600,0.0.0601,0.0.0602,layer2=1,portname=foo |
62fd2b36 | 818 | rd.znet=ctc,0.0.0600,0.0.0601,protocol=bar |
b6c89768 | 819 | -- |
888d53f2 | 820 | |
504c0a8f MH |
821 | Booting live images |
822 | ~~~~~~~~~~~~~~~~~~~ | |
823 | Dracut offers multiple options for live booted images: | |
824 | ||
825 | ===================== | |
33a4198e FG |
826 | SquashFS with read-only filesystem image::: The system will boot with a read |
827 | only filesystem from the SquashFS and apply a writable device-mapper snapshot | |
504c0a8f MH |
828 | over the read only filesystem. Using this method ensures a relatively fast |
829 | boot and lower RAM usage. Users **must be careful** to avoid writing too many | |
33a4198e | 830 | blocks to the snapshot volume. Once the blocks of the snapshot overlay are |
ea288240 FG |
831 | exhausted, the root filesystem becomes read only and may cause application |
832 | failures. The overlay file is marked 'Overflow', and a difficult recovery is | |
833 | required to repair and enlarge the overlay offline. Non-persistent overlays | |
834 | are sparse files in RAM that only consume content space as required blocks are | |
835 | allocated. They default to an apparent size of 32 GiB in RAM. The size can be | |
836 | adjusted with the **rd.live.overlay.size=** kernel command line option. | |
504c0a8f MH |
837 | + |
838 | The filesystem structure is expected to be: | |
839 | + | |
840 | [listing] | |
841 | -- | |
33a4198e | 842 | squashfs.img | Squashfs from LiveCD .iso downloaded via network |
504c0a8f MH |
843 | !(mount) |
844 | /LiveOS | |
ea288240 | 845 | |- rootfs.img | Filesystem image to mount read-only |
504c0a8f MH |
846 | !(mount) |
847 | /bin | Live filesystem | |
848 | /boot | | |
849 | /dev | | |
850 | ... | | |
851 | -- | |
852 | + | |
853 | Dracut uses this method of live booting by default. No additional command line | |
854 | options are required other than **root=live:<URL>** to specify the location | |
855 | of your squashed filesystem. | |
856 | + | |
33a4198e FG |
857 | - The compressed SquashFS image can be copied during boot to RAM at |
858 | `/run/initramfs/squashed.img` by using the **rd.live.ram=1** option. | |
859 | - A device with a persistent overlay can be booted read only by using the | |
860 | **rd.live.overlay.readonly** option on the kernel command line. This will | |
861 | cause a temporary, writable overlay to be stacked over a read-only snapshot | |
862 | of the root filesystem. | |
863 | + | |
864 | Uncompressed live filesystem image::: | |
865 | When the live system was installed with the '--skipcompress' option of the | |
866 | __livecd-iso-to-disk__ installation script for Live USB devices, the root | |
ea288240 | 867 | filesystem image, `rootfs.img`, is expanded on installation and no SquashFS |
33a4198e FG |
868 | is involved during boot. |
869 | + | |
870 | - If **rd.live.ram=1** is used in this situation, the full, uncompressed | |
871 | root filesystem is copied during boot to `/run/initramfs/rootfs.img` in the | |
872 | `/run` tmpfs. | |
873 | + | |
874 | - If **rd.live.overlay=none** is provided as a kernel command line option, | |
875 | a writable, linear device-mapper target is created on boot with no overlay. | |
876 | ||
877 | writable filesystem image::: | |
878 | The system will retrieve a compressed filesystem image, extract it to | |
879 | `/run/initramfs/fsimg/rootfs.img`, connect it to a loop device, create a | |
880 | writable, linear device-mapper target at `/dev/mapper/live-rw`, and mount that | |
881 | as a writable volume at `/`. More RAM is required during boot but the live | |
882 | filesystem is easier to manage if it becomes full. Users can make a filesystem | |
883 | image of any size and that size will be maintained when the system boots. There | |
884 | is no persistence of root filesystem changes between boots with this option. | |
504c0a8f MH |
885 | + |
886 | The filesystem structure is expected to be: | |
887 | + | |
888 | [listing] | |
889 | -- | |
890 | rootfs.tgz | Compressed tarball containing fileystem image | |
891 | !(unpack) | |
33a4198e | 892 | /rootfs.img | Filesystem image at /run/initramfs/fsimg/ |
504c0a8f MH |
893 | !(mount) |
894 | /bin | Live filesystem | |
895 | /boot | | |
896 | /dev | | |
897 | ... | | |
898 | -- | |
899 | + | |
33a4198e | 900 | To use this boot option, ensure that **rd.writable.fsimg=1** is in your kernel |
504c0a8f | 901 | command line and add the **root=live:<URL>** to specify the location |
33a4198e | 902 | of your compressed filesystem image tarball or SquashFS image. |
504c0a8f MH |
903 | ===================== |
904 | ||
33a4198e FG |
905 | **rd.writable.fsimg=**1:: |
906 | Enables writable filesystem support. The system will boot with a fully | |
907 | writable (but non-persistent) filesystem without snapshots __(see notes above | |
908 | about available live boot options)__. You can use the **rootflags** option to | |
909 | set mount options for the live filesystem as well __(see documentation about | |
910 | rootflags in the **Standard** section above)__. | |
911 | This implies that the whole image is copied to RAM before the boot continues. | |
912 | + | |
913 | NOTE: There must be enough free RAM available to hold the complete image. | |
914 | + | |
915 | This method is very suitable for diskless boots. | |
916 | ||
504c0a8f | 917 | **root=**live:__<url>__:: |
338bad63 | 918 | Boots a live image retrieved from __<url>__. Valid handlers: __http, https, ftp, torrent, tftp__. |
504c0a8f MH |
919 | + |
920 | [listing] | |
921 | .Example | |
922 | -- | |
923 | root=live:http://example.com/liveboot.img | |
924 | root=live:ftp://ftp.example.com/liveboot.img | |
338bad63 | 925 | root=live:torrent://example.com/liveboot.img.torrent |
504c0a8f MH |
926 | -- |
927 | ||
928 | **rd.live.debug=**1:: | |
929 | Enables debug output from the live boot process. | |
930 | ||
931 | **rd.live.dir=**__<path>__:: | |
ea288240 FG |
932 | Specifies the directory within the boot device where the squashfs.img or |
933 | rootfs.img can be found. By default, this is __LiveOS__. | |
504c0a8f | 934 | |
33a4198e FG |
935 | **rd.live.squashimg=**__<filename of SquashFS image>__:: |
936 | Specifies the filename for a SquashFS image of the root filesystem. | |
937 | By default, this is __squashfs.img__. | |
938 | ||
b0472eac FD |
939 | **rd.live.ram=**1:: |
940 | Copy the complete image to RAM and use this for booting. This is useful | |
33a4198e | 941 | when the image resides on, i.e., a DVD which needs to be ejected later on. |
b0472eac | 942 | |
33a4198e | 943 | **rd.live.overlay=**__<devspec>__:__(<pathspec>|auto)__|__none__:: |
a1b4efe6 | 944 | Allow the usage of a permanent overlay. |
33a4198e FG |
945 | - _<devspec>_ specifies the path to a device with a mountable filesystem. |
946 | - _<pathspec>_ is the path to a file within that filesystem, which shall be | |
947 | used to persist the changes made to the device specified by the | |
948 | **root=live:__<url>__** option. | |
949 | - _none_ specifies no overlay when an uncompressed live root filesystem is | |
950 | available. | |
ea288240 FG |
951 | If a persistent overlay is detected at the standard LiveOS path, the overlay & |
952 | overlay type detected (whether Device-mapper or OverlayFS) will be used. | |
a1b4efe6 FD |
953 | + |
954 | [listing] | |
955 | .Example | |
956 | -- | |
957 | rd.live.overlay=/dev/sdb1:persistent-overlay.img | |
958 | -- | |
959 | ||
33a4198e | 960 | **rd.live.overlay.size=**__<size_MiB>__:: |
ea288240 | 961 | Specifies a non-persistent overlay size in MiB. The default is _32768_. |
33a4198e FG |
962 | |
963 | **rd.live.overlay.readonly=**1:: | |
964 | Specifies a non-persistent, writable snapshot overlay to be stacked over a | |
3c6337f6 FG |
965 | read-only snapshot of the root filesystem, `/dev/mapper/live-ro`, or a read- |
966 | only loop device of a writable `rootfs.img`. | |
33a4198e FG |
967 | |
968 | **rd.live.overlay.reset=**1:: | |
969 | Specifies that a persistent overlay should be reset on boot. All root | |
970 | filesystem changes are vacated by this action. | |
971 | ||
d6e34d36 FD |
972 | **rd.live.overlay.thin=**1:: |
973 | Enables the usage of thin snapshots instead of classic dm snapshots. | |
33a4198e FG |
974 | The advantage of thin snapshots is that they support discards, and will free |
975 | blocks that are not claimed by the filesystem. In this use case, this means | |
976 | that memory is given back to the kernel when the filesystem does not claim it | |
d6e34d36 FD |
977 | anymore. |
978 | ||
ea288240 FG |
979 | **rd.live.overlay.overlayfs=**1:: |
980 | Enables the use of the **OverlayFS** kernel module, if available, to provide a | |
981 | copy-on-write union directory for the root filesystem. OverlayFS overlays are | |
982 | directories of the files that have changed on the read-only base (lower) | |
983 | filesystem. The root filesystem is provided through a special overlay type | |
984 | mount that merges the lower and upper directories. If an OverlayFS upper | |
985 | directory is not present on the boot device, a tmpfs directory will be created | |
986 | at /run/overlayfs to provide temporary storage. Persistent storage can be | |
987 | provided on vfat or msdos formatted devices by supplying the OverlayFS upper | |
988 | directory within an embedded filesystem that supports the creation of trusted.* | |
989 | extended attributes and provides a valid d_type in readdir responses, such as | |
990 | with ext4 and xfs. On non-vfat-formatted devices, a persistent OverlayFS | |
991 | overlay can extend the available root filesystem storage up to the capacity of | |
992 | the LiveOS device. | |
993 | ||
994 | If a persistent overlay is detected at the standard LiveOS path, the overlay & | |
995 | overlay type detected (whether OverlayFS or Device-mapper) will be used. | |
996 | ||
997 | The **rd.live.overlay.readonly** option, which allows a persistent overlayfs to | |
998 | be mounted read only through a higher level transient overlay directory, has | |
999 | been implemented through the multiple lower layers feature of OverlayFS. | |
1000 | ||
504c0a8f | 1001 | |
888d53f2 HH |
1002 | Plymouth Boot Splash |
1003 | ~~~~~~~~~~~~~~~~~~~~ | |
1004 | **plymouth.enable=0**:: | |
504c0a8f | 1005 | disable the plymouth bootsplash completely. |
888d53f2 HH |
1006 | |
1007 | **rd.plymouth=0**:: | |
1008 | disable the plymouth bootsplash only for the initramfs. | |
1009 | ||
1010 | Kernel keys | |
1011 | ~~~~~~~~~~~ | |
b6c89768 HH |
1012 | **masterkey=**__<kernel master key path name>__:: |
1013 | Set the path name of the kernel master key. | |
888d53f2 | 1014 | + |
b6c89768 HH |
1015 | [listing] |
1016 | .Example | |
1017 | -- | |
888d53f2 | 1018 | masterkey=/etc/keys/kmk-trusted.blob |
b6c89768 | 1019 | -- |
888d53f2 | 1020 | |
b6c89768 HH |
1021 | **masterkeytype=**__<kernel master key type>__:: |
1022 | Set the type of the kernel master key. | |
888d53f2 | 1023 | + |
b6c89768 HH |
1024 | [listing] |
1025 | .Example | |
1026 | -- | |
888d53f2 | 1027 | masterkeytype=trusted |
b6c89768 | 1028 | -- |
888d53f2 | 1029 | |
b6c89768 HH |
1030 | **evmkey=**__<EVM key path name>__:: |
1031 | Set the path name of the EVM key. | |
888d53f2 | 1032 | + |
b6c89768 HH |
1033 | [listing] |
1034 | .Example | |
1035 | -- | |
888d53f2 | 1036 | evmkey=/etc/keys/evm-trusted.blob |
b6c89768 | 1037 | -- |
888d53f2 | 1038 | |
b6c89768 HH |
1039 | **ecryptfskey=**__<eCryptfs key path name>__:: |
1040 | Set the path name of the eCryptfs key. | |
888d53f2 | 1041 | + |
b6c89768 HH |
1042 | [listing] |
1043 | .Example | |
1044 | -- | |
888d53f2 | 1045 | ecryptfskey=/etc/keys/ecryptfs-trusted.blob |
b6c89768 | 1046 | -- |
888d53f2 HH |
1047 | |
1048 | Deprecated, renamed Options | |
1049 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
ef9ddb91 HH |
1050 | Here is a list of options, which were used in dracut prior to version 008, and |
1051 | their new replacement. | |
888d53f2 HH |
1052 | |
1053 | rdbreak:: rd.break | |
1054 | ||
1055 | rd_CCW:: rd.ccw | |
1056 | ||
4d76a85d | 1057 | rd_DASD_MOD:: rd.dasd |
888d53f2 HH |
1058 | |
1059 | rd_DASD:: rd.dasd | |
1060 | ||
1061 | rdinitdebug rdnetdebug:: rd.debug | |
1062 | ||
1063 | rd_NO_DM:: rd.dm=0 | |
1064 | ||
1065 | rd_DM_UUID:: rd.dm.uuid | |
1066 | ||
1067 | rdblacklist:: rd.driver.blacklist | |
1068 | ||
1069 | rdinsmodpost:: rd.driver.post | |
1070 | ||
1071 | rdloaddriver:: rd.driver.pre | |
1072 | ||
1073 | rd_NO_FSTAB:: rd.fstab=0 | |
1074 | ||
1075 | rdinfo:: rd.info | |
1076 | ||
1077 | check:: rd.live.check | |
1078 | ||
1079 | rdlivedebug:: rd.live.debug | |
1080 | ||
1081 | live_dir:: rd.live.dir | |
1082 | ||
1083 | liveimg:: rd.live.image | |
1084 | ||
1085 | overlay:: rd.live.overlay | |
1086 | ||
1087 | readonly_overlay:: rd.live.overlay.readonly | |
1088 | ||
1089 | reset_overlay:: rd.live.overlay.reset | |
1090 | ||
1091 | live_ram:: rd.live.ram | |
1092 | ||
1093 | rd_NO_CRYPTTAB:: rd.luks.crypttab=0 | |
1094 | ||
1095 | rd_LUKS_KEYDEV_UUID:: rd.luks.keydev.uuid | |
1096 | ||
1097 | rd_LUKS_KEYPATH:: rd.luks.keypath | |
1098 | ||
1099 | rd_NO_LUKS:: rd.luks=0 | |
1100 | ||
1101 | rd_LUKS_UUID:: rd.luks.uuid | |
1102 | ||
1103 | rd_NO_LVMCONF:: rd.lvm.conf | |
1104 | ||
1105 | rd_LVM_LV:: rd.lvm.lv | |
1106 | ||
1107 | rd_NO_LVM:: rd.lvm=0 | |
1108 | ||
1109 | rd_LVM_SNAPSHOT:: rd.lvm.snapshot | |
1110 | ||
1111 | rd_LVM_SNAPSIZE:: rd.lvm.snapsize | |
1112 | ||
1113 | rd_LVM_VG:: rd.lvm.vg | |
1114 | ||
1115 | rd_NO_MDADMCONF:: rd.md.conf=0 | |
1116 | ||
1117 | rd_NO_MDIMSM:: rd.md.imsm=0 | |
1118 | ||
1119 | rd_NO_MD:: rd.md=0 | |
1120 | ||
1121 | rd_MD_UUID:: rd.md.uuid | |
1122 | ||
778b3543 HH |
1123 | rd_NO_MULTIPATH: rd.multipath=0 |
1124 | ||
888d53f2 HH |
1125 | rd_NFS_DOMAIN:: rd.nfs.domain |
1126 | ||
1127 | iscsi_initiator:: rd.iscsi.initiator | |
1128 | ||
1129 | iscsi_target_name:: rd.iscsi.target.name | |
1130 | ||
1131 | iscsi_target_ip:: rd.iscsi.target.ip | |
1132 | ||
1133 | iscsi_target_port:: rd.iscsi.target.port | |
1134 | ||
1135 | iscsi_target_group:: rd.iscsi.target.group | |
1136 | ||
1137 | iscsi_username:: rd.iscsi.username | |
1138 | ||
1139 | iscsi_password:: rd.iscsi.password | |
1140 | ||
1141 | iscsi_in_username:: rd.iscsi.in.username | |
1142 | ||
1143 | iscsi_in_password:: rd.iscsi.in.password | |
1144 | ||
1145 | iscsi_firmware:: rd.iscsi.firmware=0 | |
1146 | ||
1147 | rd_NO_PLYMOUTH:: rd.plymouth=0 | |
1148 | ||
1149 | rd_retry:: rd.retry | |
1150 | ||
1151 | rdshell:: rd.shell | |
1152 | ||
1153 | rd_NO_SPLASH:: rd.splash | |
1154 | ||
1155 | rdudevdebug:: rd.udev.debug | |
1156 | ||
1157 | rdudevinfo:: rd.udev.info | |
1158 | ||
1159 | rd_NO_ZFCPCONF:: rd.zfcp.conf=0 | |
1160 | ||
1161 | rd_ZFCP:: rd.zfcp | |
1162 | ||
1163 | rd_ZNET:: rd.znet | |
1164 | ||
1165 | KEYMAP:: vconsole.keymap | |
1166 | ||
1167 | KEYTABLE:: vconsole.keymap | |
1168 | ||
1169 | SYSFONT:: vconsole.font | |
1170 | ||
1171 | CONTRANS:: vconsole.font.map | |
1172 | ||
1173 | UNIMAP:: vconsole.font.unimap | |
1174 | ||
1175 | UNICODE:: vconsole.unicode | |
1176 | ||
1177 | EXT_KEYMAP:: vconsole.keymap.ext | |
1178 | ||
1179 | Configuration in the Initramfs | |
1180 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
1181 | _/etc/conf.d/_:: | |
1182 | Any files found in _/etc/conf.d/_ will be sourced in the initramfs to | |
1183 | set initial values. Command line options will override these values | |
1184 | set in the configuration files. | |
1185 | ||
1186 | _/etc/cmdline_:: | |
ef9ddb91 HH |
1187 | Can contain additional command line options. Deprecated, better use |
1188 | /etc/cmdline.d/*.conf. | |
888d53f2 HH |
1189 | |
1190 | _/etc/cmdline.d/*.conf_:: | |
1191 | Can contain additional command line options. | |
1192 | ||
1193 | AUTHOR | |
1194 | ------ | |
9f355169 | 1195 | Harald Hoyer |
888d53f2 HH |
1196 | |
1197 | SEE ALSO | |
1198 | -------- | |
1199 | *dracut*(8) *dracut.conf*(5) |