4 Important: dracut now requires libkmod for the dracut-install binary helper,
5 which nows handles kernel module installing and filtering.
8 - restorecon final image file
9 - fail hard, if we find modules and modules.dep is missing
10 - support --tmpdir as a relative path
11 - add default path for --uefi
14 - fix check_vol_slaves() volume group name stripping
17 - catch ldd message "cannot execute binary file"
18 - added kernel module handling with libkmod
22 --mod-filter-nopath, -P
23 --mod-filter-symbol, -s
24 --mod-filter-nosymbol, -S
25 --mod-filter-noname, -N
29 - fallback to non-hostonly mode if lsmod fails
32 - new option "--unpack"
33 - new option "--unpackearly"
36 general initramfs fixes:
37 - don't remove 99-cmdline-ask on 'hostonly' cleanup
38 - call dracut-cmdline-ask.service, if /etc/cmdline.d/*.conf exists
39 - break at switch_root only for bare rd.break
40 - add rd.emergency=[reboot|poweroff|halt]
41 specifies what action to execute in case of a critical failure
42 - rd.memdebug=4 gives information, about kernel module memory consumption
46 - fixed livenet-generator execution flag
47 and include only, if systemd is used
48 - fixed dmsquash-live-root.sh for cases where the fstype of the liveimage is squashfs
49 - fixed typo for rootfs.img
50 - enable the use of the OverlayFS for the LiveOS root filesystem
52 Integrate the option to use an OverlayFS as the root filesystem
53 into the 90dmsquash-live module for testing purposes.
55 The rd.live.overlay.overlayfs option allows one to request an
56 OverlayFS overlay. If a persistent overlay is detected at the
57 standard LiveOS path, the overlay & type detected will be used.
59 Tested primarily with transient, in-RAM overlay boots on vfat-
60 formatted Live USB devices, with persistent overlay directories
61 on ext4-formatted Live USB devices, and with embedded, persistent
62 overlay directories on vfat-formatted devices. (Persistent overlay
63 directories on a vfat-formatted device must be in an embedded
64 filesystem that supports the creation of trusted.* extended
65 attributes, and must provide valid d_type in readdir responses.)
67 The rd.live.overlay.readonly option, which allows a persistent
68 overlayfs to be mounted read only through a higher level transient
69 overlay directory, has been implemented through the multiple lower
70 layers feature of OverlayFS.
72 The default transient DM overlay size has been adjusted up to 32 GiB.
73 This change supports comparison of transient Device-mapper vs.
74 transient OverlayFS overlay performance. A transient DM overlay
75 is a sparse file in memory, so this setting does not consume more
76 RAM for legacy applications. It does permit a user to use all of
77 the available root filesystem storage, and fails gently when it is
78 consumed, as the available free root filesystem storage on a typical
79 LiveOS build is only a few GiB. Thus, when booted on other-
80 than-small RAM systems, the transient DM overlay should not overflow.
82 OverlayFS offers the potential to use all of the available free RAM
83 or all of the available free disc storage (on non-vfat-devices)
84 in its overlay, even beyond the root filesystem available space,
85 because the OverlayFS root filesystem is a union of directories on
86 two different partitions.
88 This patch also cleans up some message spew at shutdown, shortens
89 the execution path in a couple of places, and uses persistent
90 DM targets where required.
93 - added "nowatch" option in udev rule, otherwise udev would reread partitions for raid members
94 - allow booting from degraded MD RAID arrays
97 - handle readonly /run on shutdown
100 - add all HID drivers, regardless of hostonly mode
101 people swap keyboards sometimes and should be able to enter their disk password
103 To save the rdsosreport.txt to a USB stick, the usb-storage module is needed.
108 - add /etc/machine-info
109 - fixed systemd-escape call for names beginning with "-"
110 - install missing drop-in configuration files for
111 /etc/systemd/{journal.conf,system.conf}
114 - add support to F2FS filesystem (fsck and modules)
117 - fix carrier detection
118 - correctly set mac address for ip=...:<mtu>:<mac>
119 - fixed vlan, bonding, bridging, team logic
120 call ifup for the slaves and assemble afterwards
121 - add mtu to list of variables to store in override
122 - for rd.neednet=0 a bootdev is not needed anymore
123 - dhclient-script.sh: add classless-static-routes support
124 - support for iBFT IPv6
125 - support macaddr in brackets [] (commit 740c46c0224a187d6b5a42b4aa56e173238884cc)
126 - use arping2, if available
127 - support multiple default gateways from DHCP server
128 - fixup VLAN handling
129 - enhance team support
130 - differ between ipv6 local and global tentative
131 - ipv6: wait for a router advertised route
132 - add 'mtu' parameter for bond options
133 - use 'ip' instead of 'brctl'
136 - add systemd generator
137 - use export names instead of port numbers, because port number based
138 exports are deprecated and were removed.
141 - no more /dev/shm state copying
144 - check all /dev/mapper devices if they are multipath devices, not only mpath*
147 - fixed .hmac installation in FIPS mode
150 - also trigger the acpi subsystem
153 - add imjournal.so to read systemd journal
154 - move start from udev to initqueue/online
157 - make it a non default module
160 - support nfs:// urls in livenet-generator
163 - install all nfs modules non-hostonly
166 - support keyfiles embedded in the initramfs
169 - add TEST-70-BONDBRIDGETEAMVLAN
170 - make "-cpu host" the default
175 - better udev & systemd dir detection
176 - split dracut-functions.sh in dracut-init.sh and dracut-functions.sh
177 dracut-functions.sh can now be sourced by external tools
178 - detect all btrfs devices needed
179 - added flag file if initqueue is needed
180 - don't overwrite anything, if initramfs image file creation failed
181 - if no compressor is specified, try to find a suitable one
182 - drop scanning kernel config for CONFIG_MICROCODE_*_EARLY
183 - remove "_EARLY" from CONFIG_MICROCODE_* checks
184 - dracut.sh: add command line option for install_i18_all
185 --no-hostonly-i18n -> install_i18n_all=yes
186 --hostonly-i18n -> install_i18n_all=no
187 - --no-reproducible to turn off reproducible mode
188 - dracut-function.sh can now be sourced from outside of dracut
189 - dracut-init.sh contains all functions, which only can be used from
190 within the dracut infrastructure
191 - support --mount with just mountpoint as a parameter
192 - removed action_on_fail support
193 - removed host_modalias concept
194 - do not create microcode, if no firmware is available
195 - skip gpg files in microcode generation
198 - ensure pre-mount (and resume) run before root fsck
199 - add --online option to initqueue
202 - fixed virtual machine detection
205 - remove all quirk arguments for lvm >= 2.2.221
208 - fixup for checkisomd5
209 - increase timeout for checkisomd5
210 - use non-persistent metadata snapshots for transient overlays.
211 - overflow support for persistent snapshot.
212 - use non-persistent metadata snapshots.
213 - avoid an overlay for persistent, uncompressed, read-write live installations.
216 - multipath.conf included in hostonly mode
217 - install all multipath path selector kernel modules
220 - use the iBFT initiator name, if found and set
221 - iscsid now present in the initramfs
222 - iscsistart is done with systemd-run asynchrone to do things in
223 paralllel. Also restarted for every new interface which shows up.
224 - If rd.iscsi.waitnet (default) is set, iscsistart is done only
225 after all interfaces are up.
226 - If not all interfaces are up and rd.iscsi.testroute (default) is set,
227 the route to a iscsi target IP is checked and skipped, if there is none.
228 - If all things fail, we issue a "dummy" interface iscsiroot to retry
229 everything in the initqueue/timeout.
232 - added DHCP RENEW/REBIND
233 - IPv4 DHCP lease time now optional (bootp)
235 - fixed IPv6 route parsing
236 - rd.peerdns=0 parameter to disable DHCP nameserver setting
237 - detect duplicate IPv4 addresses for static addresses
238 - if interfaces are specified with its enx* name, bind the correspondent MAC to the interface name
239 - if multiple "ip=" are present on the kernel command line "rd.neednet=1" is assumed
240 - add options to tweak timeouts
241 rd.net.dhcp.retry=<cnt>
242 If this option is set, dracut will try to connect via dhcp
243 <cnt> times before failing. Default is 1.
245 rd.net.timeout.dhcp=<arg>
246 If this option is set, dhclient is called with "-timeout <arg>".
248 rd.net.timeout.iflink=<seconds>
249 Wait <seconds> until link shows up. Default is 60 seconds.
251 rd.net.timeout.ifup=<seconds>
252 Wait <seconds> until link has state "UP". Default is 20 seconds.
254 rd.net.timeout.route=<seconds>
255 Wait <seconds> until route shows up. Default is 20 seconds.
257 rd.net.timeout.ipv6dad=<seconds>
258 Wait <seconds> until IPv6 DAD is finished. Default is 50 seconds.
260 rd.net.timeout.ipv6auto=<seconds>
261 Wait <seconds> until IPv6 automatic addresses are assigned.
262 Default is 40 seconds.
264 rd.net.timeout.carrier=<seconds>
265 Wait <seconds> until carrier is recognized. Default is 5 seconds.
268 - load signed certificates in the IMA keyring, see modules.d/98integrity/README
269 - load EVM public key in the kernel _evm keyring
272 fcoe: start with fcoemon instead of fipvlan
276 - add missing dmsquash-generator
280 - fixed dmsetup shutdown
281 - new kernel command line option "rd.live.overlay.thin"
282 This option changes the underlying mechanism for the overlay in the
284 Instead of a plain dm snapshot a dm thin snapshot is used. The advantage
285 of the thin snapshot is, that the TRIM command is recognized, which
286 means that at runtime, only the occupied blocks will be claimed from
287 memory, and freed blocks will really be freed in ram.
288 - dmsquash: Add squashfs support to rd.live.fsimg
289 Previously rd.live.fsimg only supported filesystems residing in
290 (compressed) archives.
291 Now rd.live.fsimg can also be used when a squashfs image is used.
292 This is achieved by extracting the rootfs image from the squashfs and
293 then continue with the default routines for rd.live.fsimg.
294 - lvm: add support for LVM system id
295 - split up the systemd dracut module
296 Basic systemd functionality is in 00systemd now.
297 Switching root and the initrd.target is in 00systemd-initrd.
298 Dracut additions to the systemd initrd are in 98dracut-systemd.
299 - support for creating a UEFI boot executable via argument "--uefi"
300 With an EFI stub, the kernel, the initramfs and a kernel cmdline can be
301 glued together to a single UEFI executable, which can be booted by a
303 - network: split out kernel-network-modules, now in 90kernel-network-modules
304 - support for ethernet point-to-point connections configured via DHCP
305 - kernel-modules: install all HID drivers
306 - dracut.pc pkg-config file
307 - mount /dev, /dev/shm and /run noexec
311 - fixed the shutdown loop
312 - fixed gzip compression for versions, which do not have --rsyncable
313 - fixed ifcfg generation for persistent interface names
315 * new option to turn off multipath "rd.multipath=0" completly
316 * preload scsi dh modules
317 * start multipathd via systemd service
318 - do not fail, if user pressed ESC during media check
319 - fixed systemd-journal by symlinking /var/log to /run/initramfs/log
320 - initrd-release moved to /usr/lib
321 - lots of iSCSI fixes
322 - new "rd.timeout" to specify the systemd JobTimeoutSec for devices
323 - if $initrd/etc/cmdline.d/* has a "root=" and the kernel cmdline does not,
324 generate a mount unit for it
325 - increased the initqueue timeout for non systemd initramfs to 180s
326 - $initrd/etc/cmdline.d/ hostonly files are now generated for NFS
327 - make use of systemd-hibernate-resume, if available
328 - fixed ldconfig parsing for hwcap output
329 - network: add support for comma separated autoconf options like ip=eth0:auto6,dhcp
330 - new parameter "rd.live.overlay.size" to specify the overlay for live images
331 - changed the test suite for the new sfdisk syntax
332 - added cache tools for dm-cache setups
336 - fixed dracut module dependency checks
341 - DRACUT_PATH can now be used to specify the PATH used by dracut
342 to search for binaries instead of the default
343 /usr/sbin:/sbin:/usr/bin:/bin
344 This should be set in the distribution config file
345 /usr/lib/dracut/dracut.conf.d/01-dist.conf
346 - add "--loginstall <DIR>" and loginstall="<DIR>" options
347 to record all files, which are installed from the host fs
348 - "rd.writable.fsimg" - support for read/write filesystem images
349 - "rd.route" kernel command line parameter added
350 - "--install-optional" and install_optional_items added
351 - find plymouth pkglibdir on debian
352 - torrent support for live images
353 root=live:torrent://example.com/liveboot.img.torrent
354 and generally added as a download handler
355 - disable microcode, if the kernel does not support it
356 - speed up ldconfig_paths()
358 - fixed inst*() functions and "-H" handling
360 - added --force-drivers parameter and force_drivers=+ config option
361 to enforce driver loading at early boot time
362 - documented "iso-scan/filename" usage in grub
367 - "rd.cmdline=ask" will ask the user on the console to enter additional
368 kernel command line parameters
369 - "rd.hostonly=0" removes all "hostonly" added custom files,
370 which is useful in combination with "rd.auto" or other specific parameters,
371 if you want to boot on the same hardware, but the compiled in configuration
372 does not match your setup anymore
373 - inst* functions and dracut-install now accept the "-H" flag, which logs all
374 installed files to /lib/dracut/hostonly-files. This is used to remove those
375 files, if rd.hostonly is given on the kernel command line
376 - strstr now only does literal string match,
377 please use strglob and strglobin for globs
378 - fixed unpacking of the microcode image on shutdown
379 - added systemd-gpt-auto-generator
380 - fcoe: wait for lldpad to be ready
381 - network: handle "ip=dhcp6"
382 - network: DCHPv6: set valid_lft and preferred_lft
383 - dm: support dm-cache
384 - fstab: do not mount and fsck from fstab if using systemd
385 - break at switch_root only for bare rd.break and not for any rd.break=...
386 - nbd: make use of "--systemd-mark", otherwise it gets killed on switch_root
387 - fcoe-uefi: fixed cmdline parameter generation
388 - iscsi: deprecate "ip=ibft", use "rd.iscsi.ibft[=1]" from now on
389 - "lsinitrd -m" now only lists the dracut modules of the image
390 - a lot of small bugfixes
394 - dracut: hostonly_cmdline variable and command line switch
395 Toggle hostonly cmdline storing in the initramfs
397 Store kernel command line arguments needed in the initramfs
398 --no-hostonly-cmdline:
399 Do not store kernel command line arguments needed in the initramfs
400 - dracut: --mount now understands full fstab lines
401 - dracut now also includes drivers from the /lib/modules/<version>/updates directory
402 - dracut: only set the owner of files to 0:0, if generated as non-root
403 - dracut now directly writes to the initramfs file
404 - dracut: call lz4 with the legacy flag (linux kernel does not support the new format)
405 - systemd: rootfs-generator generates JobTimeout=0 units for the root device
406 - systemd: added the systemd-sysctl service
407 - systemd: add 80-net-setup-link.rules and .link files for persistent interface renaming
408 - systemd: make dracut-shutdown.service failure non-fatal
409 - network: various IPv6 fixes
410 - network: DCHCP for IPv6
411 - network: understand ip=.....:<dns1>:<dns2>
412 - network: parse ibft nameserver settings
413 - shutdown: if kexec fails, just reboot
414 - lvm: handle one LV at a time with lvchange
416 New functions require_binaries() and require_any_binary() to be used
417 in the check() section of module-setup.sh.
418 - a lot of small bugfixes
433 - fixed skipcpio signature checking
437 - changed dracut tarball compression to xz
438 - new argument "--rebuild"
439 - add lzo, lz4 compression
440 - install: install all binaries with <name> found in PATH
441 - lsinitrd can now handle initramfs images with an early cpio prepended
442 (microcode, ACPI tables)
443 - mkinitrd-suse added as a compat stub for dracut
444 - lvm: install thin utils for non-hostonly
445 - resume: fix swap detection in hostonly
446 - avoid loading unnecessary 32-bit libraries for 64-bit initrds
447 - crypt: wait for systemd password agents
448 - crypt: skip crypt swaps with password files
449 - network: before doing dhcp, dracut now checks, if the link has a carrier
450 - network: dhclient-script.sh now sets the lease time
451 - network: include usbnet drivers
452 - network: include all ethernet drivers
453 - network: add rd.bootif=0 to ignore BOOTIF
454 - i18n: introduce i18n_install_all, to install everything i18n related
455 - support SuSE DASD configurations
456 - support SuSE zfcp configurations
457 - support SuSE compressed KEYMAP= setting
458 - usrmount: always install the module,
459 so always mount /usr from within the initramfs
460 - test/TEST-17-LVM-THIN: new test case for lvm thin pools
461 - "halt" the machine in systemd mode for die()
465 - do not run dhcp on parts of assembled network interfaces (bond, bridge)
466 - add option to turn on/off prelinking
467 --prelink, --noprelink
469 - add ACPI table overriding
470 - do not log to syslog/kmsg/journal for UID != 0
471 - lvm/mdraid: Fix LVM on MD activation
472 - bcache module removed (now in bcache-tools upstream)
473 - mdadm: also install configs from /etc/mdadm.conf.d
474 - fixes for mdadm-3.2.6+
475 - mkinitrd: better compat support for SUSE
476 - fcoe: add FCoE UEFI boot device support
477 - rootfs-block: add support for the rootfallback= kernel cmdline option
489 - improved hostonly device recognition
490 - improved hostonly module recognition
491 - add dracut.css for dracut.html
492 - do not install udev rules from /etc in generic mode
493 - fixed LABEL= parsing for swap devices
494 - fixed iBFT network setup
495 - url-lib.sh: handle 0-size files with curl
496 - dracut.asc: document debugging dracut on shutdown
497 - if rd.md=0, use dmraid for imsm and ddf
498 - skip empty dracut modules
499 - removed caching of kernel cmdline
500 - fixed iso-scan, if the loop device driver is a kernel module
501 - bcache: support new blkid
502 - fixed ifup udev rules
503 - ifup with dhcp, if no "ip=" specified for the interface
513 - add parameter --print-cmdline
514 This prints the kernel command line parameters for the current disk
516 $ dracut --print-cmdline
517 rd.luks.uuid=luks-e68c8906-6542-4a26-83c4-91b4dd9f0471
518 rd.lvm.lv=debian/root rd.lvm.lv=debian/usr root=/dev/mapper/debian-root
519 rootflags=rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered
521 - dracut.sh: add --persistent-policy option and persistent_policy conf option
522 --persistent-policy <policy>:
523 Use <policy> to address disks and partitions.
524 <policy> can be any directory name found in /dev/disk.
525 E.g. "by-uuid", "by-label"
526 - dracut now creates the initramfs without udevadm
527 that means the udev database does not have to populated
528 and the initramfs can be built in a chroot with
529 /sys /dev /proc mounted
530 - renamed dracut_install() to inst_multiple() for consistent naming
531 - if $libdirs is unset, fall back to ld.so.cache paths
532 - always assemble /usr device in initramfs
533 - bash module added (disable it, if you really want dash)
534 - continue to boot, if the main loop times out, in systemd mode
535 - removed inst*() shell pure versions, dracut-install binary is in charge now
536 - fixed ifcfg file generation for vlan
537 - do not include adjtime and localtime anymore
538 - fixed generation of zfcp.conf of CMS setups
539 - install vt102 terminfo
540 dracut_install() is still there for backwards compat
541 - do not strip files in FIPS mode
542 - fixed iBFT interface configuration
543 - fs-lib: install fsck and fsck.ext*
544 - shutdown: fixed killall_proc_mountpoint()
545 - network: also wait for ethernet interfaces to setup
546 - fixed checking for FIPS mode
560 - do not include the resume dracut module in hostonly mode,
561 if no swap is present
562 - don't warn twice about omitted modules
563 - use systemd-cat for logging on systemd systems, if logfile is unset
564 - fixed PARTUUID parsing
565 - support kernel module signing keys
566 - do not install the usrmount dracut module in hostonly mode,
567 if /sbin/init does not live in /usr
568 - add debian udev rule files
569 - add support for bcache
570 - network: handle bootif style interfaces
571 e.g. ip=77-77-6f-6f-64-73:dhcp
572 - add support for kmod static devnodes
573 - add vlan support for iBFT
586 - support new persistent network interface names
587 - fix findmnt calls, prevents hang on stale NFS mounts
588 - add systemd.slice and slice.target units
589 - major shell cleanup
590 - support root=PARTLABEL= and root=PARTUUID=
591 - terminfo: only install l/linux v/vt100 and v/vt220
592 - unset all LC_* and LANG, 10% faster
593 - fixed dependency loop for dracut-cmdline.service
594 - do not wait_for_dev for the root devices
595 - do not wait_for_dev for devices, if dracut-initqueue is not needed
596 - support early microcode loading with --early-microcode
597 - dmraid, let dmraid setup its own partitions
598 - sosreport renamed to rdsosreport
602 Konrad Rzeszutek Wilk
607 - wait for IPv6 autoconfiguration
608 - i18n: make the default font configurable
609 To set the default font for your distribution, add
610 i18n_default_font="latarcyrheb-sun16"
611 to your /lib/dracut/dracut.conf.d/01-dist.conf distribution config.
612 - proper handle "rd.break" in systemd mode before switch-root
613 - systemd: make unit files symlinks
614 - build without dash requirement
615 - add dracut-shutdown.service.8 manpage
616 - handle MACs for "ip="
617 "ip=77-77-6f-6f-64-73:dhcp"
618 - don't explode when mixing BOOTIF and ip=
619 - 90lvm/module-setup.sh: redirect error message of lvs to /dev/null
628 - full integration of crypto devs in systemd logic
629 - support for bridge over team and vlan tagged team
630 - support multiple bonding interfaces
631 - new kernel command line param "rd.action_on_fail"
632 to control the emergency action
633 - support for bridge over a vlan tagged interface
634 - support for "iso-scan/filename" kernel parameter
635 - lsinitrd got some love and does not use "file" anymore
636 - fixed issue with noexec mounted tmp dirs
638 - dracut_install got some love
639 - fixed some /usr mounting problems
640 - ifcfg dracut module got some love and fixes
641 - default installed font is now latarcyrheb-sun16
642 - new parameters rd.live.dir and rd.live.squashimg
643 - lvm: add tools for thin provisioning
644 - also install non-hwcap libs
645 - setup correct system time and time zone in initrd
646 - s390: fixed cms setup
647 - add systemd-udevd persistent network interface naming
663 - dracut now has bash-completion
664 - require bash version 4
665 - systemd module now requires systemd >= 199
666 - dracut makes use of native systemd initrd units
667 - added hooks for new-kernel-pkg and kernel-install
668 - hostonly is now default for fedora
669 - comply with the BootLoaderSpec paths
670 http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec
671 - added rescue module
672 - host_fs_types is now a hashmap
673 - new dracut argument "--regenerate-all"
674 - new dracut argument "--noimageifnotneeded"
675 - new man page dracut.bootup
676 - install all host filesystem drivers
677 - use -D_FILE_OFFSET_BITS=64 to build dracut-install
681 - introduce /usr/lib/dracut/dracut.conf.d/ drop-in directory
683 /usr/lib/dracut/dracut.conf.d/*.conf can be overwritten by the same
684 filenames in /etc/dracut.conf.d.
686 Packages should use /usr/lib/dracut/dracut.conf.d rather than
687 /etc/dracut.conf.d for drop-in configuration files.
689 /etc/dracut.conf and /etc/dracut.conf.d belong to the system administrator.
691 - uses systemd-198 native initrd units
692 - totally rely on the fstab-generator in systemd mode for block devices
693 - dracut systemd now uses dracut.target rather than basic.target
694 - dracut systemd services optimize themselves away
695 - fixed hostonly parameter generation
696 - turn off curl globbing (fixes IPv6)
697 - modify the udev rules on install and not runtime time
698 - enable initramfs building without kernel modules (fixed regression)
699 - in the initqueue/timeout,
700 reset the main loop counter, as we see new udev events or initqueue/work
701 - fixed udev rule installation
705 - do not strip signed kernel modules
706 - add sosreport script and generate /run/initramfs/sosreport.txt
707 - make short uuid specification for allow-discards work
708 - turn off RateLimit for the systemd journal
709 - fixed MAC address assignment
710 - add systemd checkisomd5 service
711 - splitout drm kernel modules from plymouth module
712 - add 'swapoff' to initramfs to fix shutdown/reboot
713 - add team device support
714 - add pre-shutdown hook
715 - kill all processes in shutdown and report remaining ones
716 - "--device" changed to "--add-device" and "add_device=" added for conf files
717 - add memory usage trace to different hook points
718 - cope with optional field #7 in /proc/self/mountinfo
719 - lots of small bugfixes
723 - new dracut option "--device"
724 - new dracut kernel command line options "rd.auto"
725 - new dracut kernel command line options "rd.noverifyssl"
726 - new dracut option "--kernel-cmdline" and "kernel_cmdline" option for default parameters
727 - fixes for systemd and crypto
728 - fix for kexec in shutdown, if not included in initramfs
729 - create the initramfs non-world readable
730 - prelink/preunlink in the initramfs
731 - strip binaries in the initramfs by default now
733 - various dracut-install fixes
737 - resume from hibernate fixes
738 - -N option for --no-hostonly
739 - support for systemd crypto handling
740 - new dracut module "crypt-loop"
741 - deprecate the old kernel command line options
743 - honor CFLAGS for dracut-install build
745 - / is mounted according to rootflags parameter but forced ro at first.
746 Later it is remounted according to /etc/fstab + rootflags parameter
748 - support for xfs / reiserfs separate journal device
749 - new "ro_mnt" option to force ro mount of / and /usr
750 - root on cifs support
751 - dracut-install: fixed issue for /var/tmp containing a symlink
752 - only lazy resolve with ldd, if the /var/tmp partition is not mounted with "noexec"
753 - i18n: fixed inclusion of "include" keymaps
757 - fixed host-only kernel module bug
761 - fixed systemd in the initramfs (requires systemd >= 187)
762 - dracut-install: massive speedup with /var on the same filesystem with COW copy
763 - dracut-install: moved to /usr/lib/dracut until it becomes a general purpose tool
764 - new options: "rd.usrmount.ro" and "rd.skipfsck"
766 - apply "ro" on the kernel command line also to /usr
767 - mount according to fstab, if neither "ro" or "rw" is specified
768 - skip fsck for xfs and btrfs. remount is enough
769 - give emergency_shell if /usr mount failed
770 - dracut now uses getopt:
771 * options can be position independent now!!
772 * we can now use --option=<arg>
773 - added option "--kver=<kernel-version>", and the image location can be omitted
774 # dracut --kver 3.5.0-0.rc7.git1.2.fc18.x86_64
775 - dracut.sh: for --include copy also the symbolic links
776 - man pages: lsinitrd and mkinitrd added
777 - network: We do not support renaming in the kernel namespace anymore (as udev does
778 that not anymore). So, if a user wants to use ifname, he has to rename
779 to a custom namespace. "eth[0-9]+" is not allowed anymore. !!!!!
780 - resume: moved the resume process to the initqueue.
781 This should prevent accidently mounting the root file system.
782 - testsuite: add support for: make V=1 TESTS="01 20 40" check
783 $ sudo make V=1 clean check
784 now runs the testsuite in verbose mode
786 $ sudo make TESTS="01 20 40" clean check
787 now only runs the 01, 20 and 40 tests.
791 - changed rd.dasd kernel parameter
792 - arm kernel modules added to kernel-modules
793 - make udevdir systemdutildir systemdsystemunitdir global vars
794 your distribution should ship those settings in
795 /etc/dracut.conf.d/01-distro.conf
796 see dracut.conf.d/fedora.conf.example
797 - kernel modules are now only handled with /sys/modules and modules.dep
799 - mdraid: wait for md devices to be clean, before shutdown
800 - ifup fixed for ipv6
801 - add PARTUUID as root=PARTUUID=<partition uuid> parameter
802 - fixed instmods() return code and set pipefail globally
803 - add 04watchdog dracut module
804 - dracut-shutdown.service: fixed ordering to be before shutdown.target
805 - make use of "ln -r" instead of shell functions, if new coreutils is installed
806 - network: support vlan tagged bonding
807 - new dracut module qemu and qemu-net to install all kernel driver
808 - fs-lib/fs-lib.sh: removed test mounting of btrfs and xfs
809 - no more "mknod" in the initramfs!!
810 - replaced all "tr" calls with "sed"
811 - speedup with lazy kernel module dependency resolving
812 - lots of speedup optimizations and last but not least
814 - new binary to significanlty speedup the installation process
815 - dracut-functions.sh makes use of it, if installed
820 - initqueue/online hook
821 - fixes for ifcfg write out
822 - rootfs-block: avoid remount when options don't change
823 - Debian multiarch support
824 - virtfs root filesystem support
825 - cope with systemd-udevd
826 - mount tmpfs with strictatime
827 - include all kernel/drivers/net/phy drivers
828 - add debug_on() and debug_off() functions
829 - add arguments for source_hook() and source_all()
831 - plymouth: get consoledev from /sys/class/tty/console/active
832 - experimental systemd dracut module for systemd in the initramfs
833 - install xhci-hcd kernel module
834 - dracut: new "--mount" option
835 - lsinitrd: new option --printsize
836 - ARM storage kernel modules added
837 - s390 cms conf file support
838 - /etc/initrd-release in the initrd
840 - full bonding and bridge support
841 - removed scsi_wait_scan kernel module from standard install
842 - support rd.luks.allow-discards and honor options in crypttab
847 - lvm: ignore lvm mirrors
848 - lsinitrd: handle LZMA images
849 - iscsi: add rd.iscsi.param
850 - iscsi: add iscsi interface binding
851 - new module cms to read and handle z-Series cms config files
852 - fixed fstab.sys handling
853 - new dracut option "--tmpdir"
854 - new dracut option "--no-hostonly"
855 - nbd: name based nbd connects
856 - converted manpage and documentation source to asciidoc
857 - write-ifcfg fixes and cleanups
858 - ifup is now done in the initqueue
860 - initqueue/online is now for hooks, which require network
861 - no more /tmp/root.info
862 - 98pollcdrom: factored out the ugly cdrom polling in the main loop
863 - simplified rd.luks.uuid testing
864 - removed "egrep" and "ls" calls
865 - speedup kernel module installation
866 - make bzip2 optional
871 - a _lot_ faster than dracut-016 in image creation
872 - systemd service dracut-shutdown.service
874 - ssh-client module install fix
875 - root=iscsi:... fixed
876 - lots of restructuring and optimizing in dracut-functions.sh
877 - usrmount: honor fs_passno in /etc/fstab
878 - renamed all shell scripts to .sh
879 - new option "--omit-drivers" and config option "omit_drivers"
880 - hostonly mode fixups
885 - honor binaries in sbin first
886 - fixed usrmount module
887 - added systemd service for shutdown
888 - fixed terminfo on distros with /usr/share/terminfo
889 - reload udev rules after "pre-trigger" hook
890 - improved test suite
891 - new parameter "--omit-drivers" and new conf param omit_drivers
892 - "--offroot" support for mdraid
893 - new libs: net-lib.sh, nfs-lib.sh, url-lib.sh, img-lib.sh
894 full of functions to use in your dracut module
898 - hostonly mode automatically adds command line options for root and /usr
899 - --add-fstab --mount parameters
901 - --ctty option: add job control
902 - cleanup /run/initramfs
904 - /sbin/ifup can be called directly
905 - support kernel modules compressed with xz
906 - s390 iscsi modules added
908 - lsinitrd can handle concatened images
909 - lsinitrd can sort by size
913 - new dracut arguments:
922 - new kernel options:
926 - dracut move from /sbin to /usr/bin
927 - dracut modules dir moved from /usr/share/dracut to /usr/lib/dracut
928 - profiling with "dracut --profile"
929 - new TEST-16-DMSQUASH, test for Fedora LiveCDs
930 - speedup of initramfs creation
931 - ask_for_password fallback to CLI
932 - mdraid completely switched to incremental assembly
933 - no more cdrom polling
934 - "switch_root" breakpoint is now very late
937 - fs-lib dracut module for fscks added
938 - xen dracut module removed
939 - usb mass storage kernel drivers now included
940 - usrmount dracut module added:
941 mount /usr if found in /sysroot/etc/fstab
942 - only include fsck helper needed for hostonly
943 - fcoe: support for bnx2fc
944 - support iSCSI drivers: qla4xxx, cxgb3i, cxgb4i, bnx2i, be2iscsi
945 - fips-aesni dracut module added
946 - add install_items to dracut.conf
947 install_items+=" <file>[ <file> ...] "
948 - speedup internal testsuite
949 - internal testsuite: store temporary data in a temporary dir
953 - speedup of initramfs creation
954 - fixed inst_dir for symbolic links
955 - add unix kernel module
959 - better fsck handling
960 - fixed wait condition for LVM volumes
961 - fix for hardlinks (welcome Debian! :-)
963 - automatic busybox symlink creation
964 - try to mount /usr, if init points to a path in /usr
965 - btrfs with multiple devices
966 - "--force-add" option for dracut, to force-add dracut modules,
967 without hostonly checks
968 - lsinitrd also display the initramfs size in human readable form
969 - livenet module, to mount live-isos over http
970 - masterkey,ecryptfs,integrity security modules
971 - initqueue/timeout queue e.g. for starting degraded raids
972 - "make rpm" creates an rpm with an increasing release number from any
974 - support lvm mirrors
975 - start degraded lvm mirrors after a timeout
976 - start degraded md raids after a timeout
977 - getarg() now returns wildcards without file matching to the current fs
982 - use udev-168 features for shutting down udev
983 - introduce "--prefix" to put all initramfs files in e.g "/run/initramfs"
984 - new shutdown script (called by systemd >= 030) to disassemble the root device
986 - new module for gpg-encrypted keys - 91crypt-gpg
991 - plymouth: use /run/plymouth/pid instead of /run/initramfs/plymouth
992 - add "/lib/firmware/updates" to default firmware path
999 - better argument handling
1002 - hooks moved to /lib/dracut/hooks in initramfs
1003 - rd.driver.{blacklist|pre|post} accept comma separated driver list
1004 - iSCSI: iSCSI Boot Firmware Table (iBFT) support
1006 - live image: support for generic rootfs.img (instead of ext3fs.img)
1012 - removed --ignore-kernel-modules option (no longer necessary)
1013 - renamed kernel command line arguments to follow the rd. naming scheme
1014 - merged check, install, installkernel to module-setup.sh
1015 - support for bzip2 and xz compressed initramfs images.
1016 - source code beautification
1017 - lots of documentation
1018 - lsinitrd: "catinitrd" functionality
1019 - dracut: --list-modules
1020 - lvm: support for dynamic LVM SNAPSHOT root volume
1021 - 95fstab-sys: mount all /etc/fstab.sys volumes before switch_root
1022 - 96insmodpost dracut module
1023 - rd.shell=1 per default
1024 - rootfs-block:mount-root.sh add fsck
1025 - busybox shell replacements module
1026 - honor old "real_init="
1027 - 97biosdevname dracut module
1031 - module i18n is no longer fedora/red hat specific (Amadeusz Żołnowski)
1032 - distribution specific conf file
1033 - bootchartd support
1034 - debug module now has fsck
1035 - use "hardlink", if available, to save some space
1036 - /etc/dracut.conf can be overwritten by settings in /etc/dracut.conf.d/*.conf
1037 - gentoo splash module
1038 - --ignore-kernel-modules option
1039 - crypto keys on external devices support
1044 - fixed mdraid with IMSM
1045 - fixed dracut manpages
1046 - dmraid parse different error messages
1047 - add cdrom polling mechanism for slow cdroms
1049 - add btrfsctl scan for btrfs multi-devices (raid)
1050 - teach dmsquash live-root to use rootflags
1051 - trigger udev with action=add
1052 - fixed add_drivers handling
1054 - use pigz instead of gzip, if available
1055 - boot from LVM mirrors and snapshots
1056 - iscsi: add support for multiple netroot=iscsi:
1057 - Support old version of module-init-tools
1058 - got rid of rdnetdebug
1060 - dracut.conf: use "+=" as default for config variables
1065 - dcb support to dracut's FCoE support
1066 - add readonly overlay support for dmsquash
1067 - add keyboard kernel modules
1068 - dracut.conf: added add_dracutmodules
1069 - add /etc/dracut.conf.d
1070 - add preliminary IPv6 support
1075 - dracut-lib: read multiple lines from $init/etc/cmdline
1076 - lsinitrd and mkinitrd
1077 - dmsquash: add support for loopmounted *.iso files
1078 - lvm: add rd_LVM_LV and "--poll n"
1079 - user suspend support
1080 - add additional drivers in host-only mode, too
1081 - improved emergency shell
1082 - support for compressed kernel modules
1083 - support for loading Xen modules
1084 - rdloaddriver kernel command line parameter
1085 - man pages for dracut-catimages and dracut-gencmdline
1090 - add debian package modules
1091 - add dracut.conf manpage
1092 - add module 90multipath
1094 - crypt: ignore devices in /etc/crypttab (root is not in there)
1095 unless rd_NO_CRYPTTAB is specified
1096 - kernel-modules: add scsi_dh scsi_dh_rdac scsi_dh_emc
1097 - add multinic support
1098 - add s390 zfcp support
1099 - add s390 dasd support
1100 - add s390 network support
1101 - fixed dracut-gencmdline for root=UUID or LABEL
1102 - do not destroy assembled raid arrays if mdadm.conf present
1104 - let udevd not resolve group and user names
1105 - moved network from udev to initqueue
1106 - improved debug output: specifying "rdinitdebug" now logs
1107 to dmesg, console and /init.log
1108 - strip kernel modules which have no x bit set
1109 - redirect stdin, stdout, stderr all RW to /dev/console
1110 so the user can use "less" to view /init.log and dmesg
1111 - add new device mapper udev rules and dmeventd
1112 - fixed dracut-gencmdline for root=UUID or LABEL
1113 - do not destroy assembled raid arrays if mdadm.conf present
1115 - let udevd not resolve group and user names
1116 - preserve timestamps of tools on initramfs generation
1117 - generate symlinks for binaries correctly
1118 - moved network from udev to initqueue
1119 - mount nfs3 with nfsvers=3 option and retry with nfsvers=2
1120 - fixed nbd initqueue-finished
1121 - improved debug output: specifying "rdinitdebug" now logs
1122 to dmesg, console and /init.log
1123 - strip kernel modules which have no x bit set
1124 - redirect stdin, stdout, stderr all RW to /dev/console
1125 so the user can use "less" to view /init.log and dmesg
1126 - make install of new dm/lvm udev rules optionally
1127 - add new device mapper udev rules and dmeventd
1128 - Fix LiveCD boot regression
1129 - bail out if selinux policy could not be loaded and
1130 selinux=0 not specified on kernel command line
1131 - do not cleanup dmraids
1132 - copy over lvm.conf
1136 - add ifname= argument for persistent netdev names
1137 - new /initqueue-finished to check if the main loop can be left
1138 - copy mdadm.conf if --mdadmconf set or mdadmconf in dracut.conf
1139 - plymouth: use plymouth-populate-initrd
1140 - add add_drivers for dracut and dracut.conf
1141 - add modprobe scsi_wait_scan to be sure everything was scanned
1142 - fix for several problems with md raid containers
1143 - fix for selinux policy loading
1144 - fix for mdraid for IMSM
1145 - fix for bug, which prevents installing 61-persistent-storage.rules (bug #520109)
1146 - fix for missing grep for md
1150 - better --hostonly checks
1151 - better lvm/mdraid/dmraid handling
1152 - fcoe booting support
1153 Supported cmdline formats:
1154 fcoe=<networkdevice>:<dcb|nodcb>
1155 fcoe=<macaddress>:<dcb|nodcb>
1157 Note currently only nodcb is supported, the dcb option is reserved for
1160 Note letters in the macaddress must be lowercase!
1164 fcoe=4A:3F:4C:04:F8:D7:nodcb
1166 - Syslog support for dracut
1167 This module provides syslog functionality in the initrd.
1168 This is especially interesting when complex configuration being
1169 used to provide access to the device the rootfs resides on.
1174 - let plymouth attach to the terminal (nice text output now)
1175 - new kernel command line parameter "rdinfo" show dracut output, even when
1176 "quiet" is specified
1177 - rd_LUKS_UUID is now handled correctly
1178 - dracut-gencmdline: rd_LUKS_UUID and rd_MD_UUID is now correctly generated
1179 - now generates initrd-generic with around 15MB
1184 - iSCSI with username and password
1185 - support for live images (dmsquashed live images)
1186 - iscsi_firmware fixes
1192 - dracut: strip binaries in initramfs
1195 strip binaries in the initramfs (default)
1198 do not strip binaries in the initramfs
1201 Usage: ./dracut-catimages [OPTION]... <initramfs> <base image>
1203 Creates initial ramdisk image by concatenating several images from the
1205 line and /boot/dracut/
1207 -f, --force Overwrite existing initramfs file.
1208 -i, --imagedir Directory with additional images to add
1209 (default: /boot/dracut/)
1210 -o, --overlaydir Overlay directory, which contains files that
1211 will be used to create an additional image
1212 --nooverlay Do not use the overlay directory
1213 --noimagedir Do not use the additional image directory
1214 -h, --help This message
1215 --debug Output debug information of the build process
1216 -v, --verbose Verbose output during the build process
1222 - dracut: add --kernel-only and --no-kernel arguments
1225 only install kernel drivers and firmware files
1228 do not install kernel drivers and firmware files
1230 All kernel module related install commands moved from "install"
1233 For "--kernel-only" all installkernel scripts of the specified
1234 modules are used, regardless of any checks, so that all modules
1235 which might be needed by any dracut generic image are in.
1237 The basic idea is to create two images. One image with the kernel
1238 modules and one without. So if the kernel changes, you only have
1239 to replace one image.
1241 Grub and the kernel can handle multiple images, so grub entry can
1244 title Fedora (2.6.29.5-191.fc11.i586)
1246 kernel /vmlinuz-2.6.29.5-191.fc11.i586 ro rhgb quiet
1247 initrd /initrd-20090722.img /initrd-kernel-2.6.29.5-191.fc11.i586.img /initrd-config.img
1250 the image provided by the initrd rpm
1251 one old backup version is kept like with the kernel
1253 initrd-kernel-2.6.29.5-191.fc11.i586.img
1254 the image provided by the kernel rpm
1257 optional image with local configuration files
1259 - dracut: add --kmoddir directory, where to look for kernel modules
1262 specify the directory, where to look for kernel modules
1268 - more generic (all plymouth modules, all keyboards, all console fonts)
1269 - more kernel command line parameters (see also man dracut(8))
1270 - a helper tool, which generates the kernel command line (dracut-gencmdline)
1271 - bridged network boot
1272 - a lot of new command line parameter
1277 - firmware loading support
1278 - new internal queue (initqueue)
1279 initqueue now loops until /dev/root exists or root is mounted
1281 init now has the following points to inject scripts:
1284 scripts for command line parsing
1287 scripts to run before udev is started
1290 scripts to run before the main udev trigger is pulled
1293 runs in parallel to the udev trigger
1294 Udev events can add scripts here with /sbin/initqueue.
1295 If /sbin/initqueue is called with the "--onetime" option, the script
1296 will be removed after it was run.
1297 If /initqueue/work is created and udev >= 143 then this loop can
1298 process the jobs in parallel to the udevtrigger.
1299 If the udev queue is empty and no root device is found or no root
1300 filesystem was mounted, the user will be dropped to a shell after
1302 Scripts can remove themselves from the initqueue by "rm $job".
1305 scripts to run before the root filesystem is mounted
1306 NFS is an exception, because it has no device node to be created
1307 and mounts in the udev events
1310 scripts to mount the root filesystem
1311 NFS is an exception, because it has no device node to be created
1312 and mounts in the udev events
1313 If the udev queue is empty and no root device is found or no root
1314 filesystem was mounted, the user will be dropped to a shell after
1318 scripts to run before the real init is executed and the initramfs
1320 All processes started before should be killed here.
1322 The behaviour of the dmraid module demonstrates how to use the new
1323 mechanism. If it detects a device which is part of a raidmember from a
1324 udev rule, it installs a job to scan for dmraid devices, if the udev
1325 queue is empty. After a scan, it removes itsself from the queue.
1332 - first public version