5 - bail out if module directory does not exist
6 if people want to build the initramfs without kernel modules,
7 then --no-kernel should be specified
8 - add early microcode support for AMD family 16h
9 - collect also all modaliases modules from sysfs for hostonly modules
10 - sync initramfs after creation
13 - wait for IPv6 RA if using none/static IPv6 assignment
15 - Handle curl using libnssckbi for TLS
16 - fix dhcp classless_static_routes
17 - dhclient: send client-identifier matching hardware address
18 - don't arping for point-to-point connections
19 - only bring up wired network interfaces (no wlan and wwan)
22 - mdraid: wait for rd.md.uuid specified devices to be assembled
28 - For GnuPG >= 2.1 support OpenPGP smartcards
31 - Skip to create initrd if /etc/machine-id is missing or empty
34 - handle rpcbind /run/rpcbind directory
43 - split out multipath-hostonly module
46 - new module, see README.md in the module directory
55 Important: dracut now requires libkmod for the dracut-install binary helper,
56 which nows handles kernel module installing and filtering.
59 - restorecon final image file
60 - fail hard, if we find modules and modules.dep is missing
61 - support --tmpdir as a relative path
62 - add default path for --uefi
65 - fix check_vol_slaves() volume group name stripping
68 - catch ldd message "cannot execute binary file"
69 - added kernel module handling with libkmod
73 --mod-filter-nopath, -P
74 --mod-filter-symbol, -s
75 --mod-filter-nosymbol, -S
76 --mod-filter-noname, -N
80 - fallback to non-hostonly mode if lsmod fails
83 - new option "--unpack"
84 - new option "--unpackearly"
87 general initramfs fixes:
88 - don't remove 99-cmdline-ask on 'hostonly' cleanup
89 - call dracut-cmdline-ask.service, if /etc/cmdline.d/*.conf exists
90 - break at switch_root only for bare rd.break
91 - add rd.emergency=[reboot|poweroff|halt]
92 specifies what action to execute in case of a critical failure
93 - rd.memdebug=4 gives information, about kernel module memory consumption
97 - fixed livenet-generator execution flag
98 and include only, if systemd is used
99 - fixed dmsquash-live-root.sh for cases where the fstype of the liveimage is squashfs
100 - fixed typo for rootfs.img
101 - enable the use of the OverlayFS for the LiveOS root filesystem
103 Integrate the option to use an OverlayFS as the root filesystem
104 into the 90dmsquash-live module for testing purposes.
106 The rd.live.overlay.overlayfs option allows one to request an
107 OverlayFS overlay. If a persistent overlay is detected at the
108 standard LiveOS path, the overlay & type detected will be used.
110 Tested primarily with transient, in-RAM overlay boots on vfat-
111 formatted Live USB devices, with persistent overlay directories
112 on ext4-formatted Live USB devices, and with embedded, persistent
113 overlay directories on vfat-formatted devices. (Persistent overlay
114 directories on a vfat-formatted device must be in an embedded
115 filesystem that supports the creation of trusted.* extended
116 attributes, and must provide valid d_type in readdir responses.)
118 The rd.live.overlay.readonly option, which allows a persistent
119 overlayfs to be mounted read only through a higher level transient
120 overlay directory, has been implemented through the multiple lower
121 layers feature of OverlayFS.
123 The default transient DM overlay size has been adjusted up to 32 GiB.
124 This change supports comparison of transient Device-mapper vs.
125 transient OverlayFS overlay performance. A transient DM overlay
126 is a sparse file in memory, so this setting does not consume more
127 RAM for legacy applications. It does permit a user to use all of
128 the available root filesystem storage, and fails gently when it is
129 consumed, as the available free root filesystem storage on a typical
130 LiveOS build is only a few GiB. Thus, when booted on other-
131 than-small RAM systems, the transient DM overlay should not overflow.
133 OverlayFS offers the potential to use all of the available free RAM
134 or all of the available free disc storage (on non-vfat-devices)
135 in its overlay, even beyond the root filesystem available space,
136 because the OverlayFS root filesystem is a union of directories on
137 two different partitions.
139 This patch also cleans up some message spew at shutdown, shortens
140 the execution path in a couple of places, and uses persistent
141 DM targets where required.
144 - added "nowatch" option in udev rule, otherwise udev would reread partitions for raid members
145 - allow booting from degraded MD RAID arrays
148 - handle readonly /run on shutdown
151 - add all HID drivers, regardless of hostonly mode
152 people swap keyboards sometimes and should be able to enter their disk password
154 To save the rdsosreport.txt to a USB stick, the usb-storage module is needed.
159 - add /etc/machine-info
160 - fixed systemd-escape call for names beginning with "-"
161 - install missing drop-in configuration files for
162 /etc/systemd/{journal.conf,system.conf}
165 - add support to F2FS filesystem (fsck and modules)
168 - fix carrier detection
169 - correctly set mac address for ip=...:<mtu>:<mac>
170 - fixed vlan, bonding, bridging, team logic
171 call ifup for the slaves and assemble afterwards
172 - add mtu to list of variables to store in override
173 - for rd.neednet=0 a bootdev is not needed anymore
174 - dhclient-script.sh: add classless-static-routes support
175 - support for iBFT IPv6
176 - support macaddr in brackets [] (commit 740c46c0224a187d6b5a42b4aa56e173238884cc)
177 - use arping2, if available
178 - support multiple default gateways from DHCP server
179 - fixup VLAN handling
180 - enhance team support
181 - differ between ipv6 local and global tentative
182 - ipv6: wait for a router advertised route
183 - add 'mtu' parameter for bond options
184 - use 'ip' instead of 'brctl'
187 - add systemd generator
188 - use export names instead of port numbers, because port number based
189 exports are deprecated and were removed.
192 - no more /dev/shm state copying
195 - check all /dev/mapper devices if they are multipath devices, not only mpath*
198 - fixed .hmac installation in FIPS mode
201 - also trigger the acpi subsystem
204 - add imjournal.so to read systemd journal
205 - move start from udev to initqueue/online
208 - make it a non default module
211 - support nfs:// urls in livenet-generator
214 - install all nfs modules non-hostonly
217 - support keyfiles embedded in the initramfs
220 - add TEST-70-BONDBRIDGETEAMVLAN
221 - make "-cpu host" the default
226 - better udev & systemd dir detection
227 - split dracut-functions.sh in dracut-init.sh and dracut-functions.sh
228 dracut-functions.sh can now be sourced by external tools
229 - detect all btrfs devices needed
230 - added flag file if initqueue is needed
231 - don't overwrite anything, if initramfs image file creation failed
232 - if no compressor is specified, try to find a suitable one
233 - drop scanning kernel config for CONFIG_MICROCODE_*_EARLY
234 - remove "_EARLY" from CONFIG_MICROCODE_* checks
235 - dracut.sh: add command line option for install_i18_all
236 --no-hostonly-i18n -> install_i18n_all=yes
237 --hostonly-i18n -> install_i18n_all=no
238 - --no-reproducible to turn off reproducible mode
239 - dracut-function.sh can now be sourced from outside of dracut
240 - dracut-init.sh contains all functions, which only can be used from
241 within the dracut infrastructure
242 - support --mount with just mountpoint as a parameter
243 - removed action_on_fail support
244 - removed host_modalias concept
245 - do not create microcode, if no firmware is available
246 - skip gpg files in microcode generation
249 - ensure pre-mount (and resume) run before root fsck
250 - add --online option to initqueue
253 - fixed virtual machine detection
256 - remove all quirk arguments for lvm >= 2.2.221
259 - fixup for checkisomd5
260 - increase timeout for checkisomd5
261 - use non-persistent metadata snapshots for transient overlays.
262 - overflow support for persistent snapshot.
263 - use non-persistent metadata snapshots.
264 - avoid an overlay for persistent, uncompressed, read-write live installations.
267 - multipath.conf included in hostonly mode
268 - install all multipath path selector kernel modules
271 - use the iBFT initiator name, if found and set
272 - iscsid now present in the initramfs
273 - iscsistart is done with systemd-run asynchrone to do things in
274 paralllel. Also restarted for every new interface which shows up.
275 - If rd.iscsi.waitnet (default) is set, iscsistart is done only
276 after all interfaces are up.
277 - If not all interfaces are up and rd.iscsi.testroute (default) is set,
278 the route to a iscsi target IP is checked and skipped, if there is none.
279 - If all things fail, we issue a "dummy" interface iscsiroot to retry
280 everything in the initqueue/timeout.
283 - added DHCP RENEW/REBIND
284 - IPv4 DHCP lease time now optional (bootp)
286 - fixed IPv6 route parsing
287 - rd.peerdns=0 parameter to disable DHCP nameserver setting
288 - detect duplicate IPv4 addresses for static addresses
289 - if interfaces are specified with its enx* name, bind the correspondent MAC to the interface name
290 - if multiple "ip=" are present on the kernel command line "rd.neednet=1" is assumed
291 - add options to tweak timeouts
292 rd.net.dhcp.retry=<cnt>
293 If this option is set, dracut will try to connect via dhcp
294 <cnt> times before failing. Default is 1.
296 rd.net.timeout.dhcp=<arg>
297 If this option is set, dhclient is called with "-timeout <arg>".
299 rd.net.timeout.iflink=<seconds>
300 Wait <seconds> until link shows up. Default is 60 seconds.
302 rd.net.timeout.ifup=<seconds>
303 Wait <seconds> until link has state "UP". Default is 20 seconds.
305 rd.net.timeout.route=<seconds>
306 Wait <seconds> until route shows up. Default is 20 seconds.
308 rd.net.timeout.ipv6dad=<seconds>
309 Wait <seconds> until IPv6 DAD is finished. Default is 50 seconds.
311 rd.net.timeout.ipv6auto=<seconds>
312 Wait <seconds> until IPv6 automatic addresses are assigned.
313 Default is 40 seconds.
315 rd.net.timeout.carrier=<seconds>
316 Wait <seconds> until carrier is recognized. Default is 5 seconds.
319 - load signed certificates in the IMA keyring, see modules.d/98integrity/README
320 - load EVM public key in the kernel _evm keyring
323 fcoe: start with fcoemon instead of fipvlan
327 - add missing dmsquash-generator
331 - fixed dmsetup shutdown
332 - new kernel command line option "rd.live.overlay.thin"
333 This option changes the underlying mechanism for the overlay in the
335 Instead of a plain dm snapshot a dm thin snapshot is used. The advantage
336 of the thin snapshot is, that the TRIM command is recognized, which
337 means that at runtime, only the occupied blocks will be claimed from
338 memory, and freed blocks will really be freed in ram.
339 - dmsquash: Add squashfs support to rd.live.fsimg
340 Previously rd.live.fsimg only supported filesystems residing in
341 (compressed) archives.
342 Now rd.live.fsimg can also be used when a squashfs image is used.
343 This is achieved by extracting the rootfs image from the squashfs and
344 then continue with the default routines for rd.live.fsimg.
345 - lvm: add support for LVM system id
346 - split up the systemd dracut module
347 Basic systemd functionality is in 00systemd now.
348 Switching root and the initrd.target is in 00systemd-initrd.
349 Dracut additions to the systemd initrd are in 98dracut-systemd.
350 - support for creating a UEFI boot executable via argument "--uefi"
351 With an EFI stub, the kernel, the initramfs and a kernel cmdline can be
352 glued together to a single UEFI executable, which can be booted by a
354 - network: split out kernel-network-modules, now in 90kernel-network-modules
355 - support for ethernet point-to-point connections configured via DHCP
356 - kernel-modules: install all HID drivers
357 - dracut.pc pkg-config file
358 - mount /dev, /dev/shm and /run noexec
362 - fixed the shutdown loop
363 - fixed gzip compression for versions, which do not have --rsyncable
364 - fixed ifcfg generation for persistent interface names
366 * new option to turn off multipath "rd.multipath=0" completly
367 * preload scsi dh modules
368 * start multipathd via systemd service
369 - do not fail, if user pressed ESC during media check
370 - fixed systemd-journal by symlinking /var/log to /run/initramfs/log
371 - initrd-release moved to /usr/lib
372 - lots of iSCSI fixes
373 - new "rd.timeout" to specify the systemd JobTimeoutSec for devices
374 - if $initrd/etc/cmdline.d/* has a "root=" and the kernel cmdline does not,
375 generate a mount unit for it
376 - increased the initqueue timeout for non systemd initramfs to 180s
377 - $initrd/etc/cmdline.d/ hostonly files are now generated for NFS
378 - make use of systemd-hibernate-resume, if available
379 - fixed ldconfig parsing for hwcap output
380 - network: add support for comma separated autoconf options like ip=eth0:auto6,dhcp
381 - new parameter "rd.live.overlay.size" to specify the overlay for live images
382 - changed the test suite for the new sfdisk syntax
383 - added cache tools for dm-cache setups
387 - fixed dracut module dependency checks
392 - DRACUT_PATH can now be used to specify the PATH used by dracut
393 to search for binaries instead of the default
394 /usr/sbin:/sbin:/usr/bin:/bin
395 This should be set in the distribution config file
396 /usr/lib/dracut/dracut.conf.d/01-dist.conf
397 - add "--loginstall <DIR>" and loginstall="<DIR>" options
398 to record all files, which are installed from the host fs
399 - "rd.writable.fsimg" - support for read/write filesystem images
400 - "rd.route" kernel command line parameter added
401 - "--install-optional" and install_optional_items added
402 - find plymouth pkglibdir on debian
403 - torrent support for live images
404 root=live:torrent://example.com/liveboot.img.torrent
405 and generally added as a download handler
406 - disable microcode, if the kernel does not support it
407 - speed up ldconfig_paths()
409 - fixed inst*() functions and "-H" handling
411 - added --force-drivers parameter and force_drivers=+ config option
412 to enforce driver loading at early boot time
413 - documented "iso-scan/filename" usage in grub
418 - "rd.cmdline=ask" will ask the user on the console to enter additional
419 kernel command line parameters
420 - "rd.hostonly=0" removes all "hostonly" added custom files,
421 which is useful in combination with "rd.auto" or other specific parameters,
422 if you want to boot on the same hardware, but the compiled in configuration
423 does not match your setup anymore
424 - inst* functions and dracut-install now accept the "-H" flag, which logs all
425 installed files to /lib/dracut/hostonly-files. This is used to remove those
426 files, if rd.hostonly is given on the kernel command line
427 - strstr now only does literal string match,
428 please use strglob and strglobin for globs
429 - fixed unpacking of the microcode image on shutdown
430 - added systemd-gpt-auto-generator
431 - fcoe: wait for lldpad to be ready
432 - network: handle "ip=dhcp6"
433 - network: DCHPv6: set valid_lft and preferred_lft
434 - dm: support dm-cache
435 - fstab: do not mount and fsck from fstab if using systemd
436 - break at switch_root only for bare rd.break and not for any rd.break=...
437 - nbd: make use of "--systemd-mark", otherwise it gets killed on switch_root
438 - fcoe-uefi: fixed cmdline parameter generation
439 - iscsi: deprecate "ip=ibft", use "rd.iscsi.ibft[=1]" from now on
440 - "lsinitrd -m" now only lists the dracut modules of the image
441 - a lot of small bugfixes
445 - dracut: hostonly_cmdline variable and command line switch
446 Toggle hostonly cmdline storing in the initramfs
448 Store kernel command line arguments needed in the initramfs
449 --no-hostonly-cmdline:
450 Do not store kernel command line arguments needed in the initramfs
451 - dracut: --mount now understands full fstab lines
452 - dracut now also includes drivers from the /lib/modules/<version>/updates directory
453 - dracut: only set the owner of files to 0:0, if generated as non-root
454 - dracut now directly writes to the initramfs file
455 - dracut: call lz4 with the legacy flag (linux kernel does not support the new format)
456 - systemd: rootfs-generator generates JobTimeout=0 units for the root device
457 - systemd: added the systemd-sysctl service
458 - systemd: add 80-net-setup-link.rules and .link files for persistent interface renaming
459 - systemd: make dracut-shutdown.service failure non-fatal
460 - network: various IPv6 fixes
461 - network: DCHCP for IPv6
462 - network: understand ip=.....:<dns1>:<dns2>
463 - network: parse ibft nameserver settings
464 - shutdown: if kexec fails, just reboot
465 - lvm: handle one LV at a time with lvchange
467 New functions require_binaries() and require_any_binary() to be used
468 in the check() section of module-setup.sh.
469 - a lot of small bugfixes
484 - fixed skipcpio signature checking
488 - changed dracut tarball compression to xz
489 - new argument "--rebuild"
490 - add lzo, lz4 compression
491 - install: install all binaries with <name> found in PATH
492 - lsinitrd can now handle initramfs images with an early cpio prepended
493 (microcode, ACPI tables)
494 - mkinitrd-suse added as a compat stub for dracut
495 - lvm: install thin utils for non-hostonly
496 - resume: fix swap detection in hostonly
497 - avoid loading unnecessary 32-bit libraries for 64-bit initrds
498 - crypt: wait for systemd password agents
499 - crypt: skip crypt swaps with password files
500 - network: before doing dhcp, dracut now checks, if the link has a carrier
501 - network: dhclient-script.sh now sets the lease time
502 - network: include usbnet drivers
503 - network: include all ethernet drivers
504 - network: add rd.bootif=0 to ignore BOOTIF
505 - i18n: introduce i18n_install_all, to install everything i18n related
506 - support SuSE DASD configurations
507 - support SuSE zfcp configurations
508 - support SuSE compressed KEYMAP= setting
509 - usrmount: always install the module,
510 so always mount /usr from within the initramfs
511 - test/TEST-17-LVM-THIN: new test case for lvm thin pools
512 - "halt" the machine in systemd mode for die()
516 - do not run dhcp on parts of assembled network interfaces (bond, bridge)
517 - add option to turn on/off prelinking
518 --prelink, --noprelink
520 - add ACPI table overriding
521 - do not log to syslog/kmsg/journal for UID != 0
522 - lvm/mdraid: Fix LVM on MD activation
523 - bcache module removed (now in bcache-tools upstream)
524 - mdadm: also install configs from /etc/mdadm.conf.d
525 - fixes for mdadm-3.2.6+
526 - mkinitrd: better compat support for SUSE
527 - fcoe: add FCoE UEFI boot device support
528 - rootfs-block: add support for the rootfallback= kernel cmdline option
540 - improved hostonly device recognition
541 - improved hostonly module recognition
542 - add dracut.css for dracut.html
543 - do not install udev rules from /etc in generic mode
544 - fixed LABEL= parsing for swap devices
545 - fixed iBFT network setup
546 - url-lib.sh: handle 0-size files with curl
547 - dracut.asc: document debugging dracut on shutdown
548 - if rd.md=0, use dmraid for imsm and ddf
549 - skip empty dracut modules
550 - removed caching of kernel cmdline
551 - fixed iso-scan, if the loop device driver is a kernel module
552 - bcache: support new blkid
553 - fixed ifup udev rules
554 - ifup with dhcp, if no "ip=" specified for the interface
564 - add parameter --print-cmdline
565 This prints the kernel command line parameters for the current disk
567 $ dracut --print-cmdline
568 rd.luks.uuid=luks-e68c8906-6542-4a26-83c4-91b4dd9f0471
569 rd.lvm.lv=debian/root rd.lvm.lv=debian/usr root=/dev/mapper/debian-root
570 rootflags=rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered
572 - dracut.sh: add --persistent-policy option and persistent_policy conf option
573 --persistent-policy <policy>:
574 Use <policy> to address disks and partitions.
575 <policy> can be any directory name found in /dev/disk.
576 E.g. "by-uuid", "by-label"
577 - dracut now creates the initramfs without udevadm
578 that means the udev database does not have to populated
579 and the initramfs can be built in a chroot with
580 /sys /dev /proc mounted
581 - renamed dracut_install() to inst_multiple() for consistent naming
582 - if $libdirs is unset, fall back to ld.so.cache paths
583 - always assemble /usr device in initramfs
584 - bash module added (disable it, if you really want dash)
585 - continue to boot, if the main loop times out, in systemd mode
586 - removed inst*() shell pure versions, dracut-install binary is in charge now
587 - fixed ifcfg file generation for vlan
588 - do not include adjtime and localtime anymore
589 - fixed generation of zfcp.conf of CMS setups
590 - install vt102 terminfo
591 dracut_install() is still there for backwards compat
592 - do not strip files in FIPS mode
593 - fixed iBFT interface configuration
594 - fs-lib: install fsck and fsck.ext*
595 - shutdown: fixed killall_proc_mountpoint()
596 - network: also wait for ethernet interfaces to setup
597 - fixed checking for FIPS mode
611 - do not include the resume dracut module in hostonly mode,
612 if no swap is present
613 - don't warn twice about omitted modules
614 - use systemd-cat for logging on systemd systems, if logfile is unset
615 - fixed PARTUUID parsing
616 - support kernel module signing keys
617 - do not install the usrmount dracut module in hostonly mode,
618 if /sbin/init does not live in /usr
619 - add debian udev rule files
620 - add support for bcache
621 - network: handle bootif style interfaces
622 e.g. ip=77-77-6f-6f-64-73:dhcp
623 - add support for kmod static devnodes
624 - add vlan support for iBFT
637 - support new persistent network interface names
638 - fix findmnt calls, prevents hang on stale NFS mounts
639 - add systemd.slice and slice.target units
640 - major shell cleanup
641 - support root=PARTLABEL= and root=PARTUUID=
642 - terminfo: only install l/linux v/vt100 and v/vt220
643 - unset all LC_* and LANG, 10% faster
644 - fixed dependency loop for dracut-cmdline.service
645 - do not wait_for_dev for the root devices
646 - do not wait_for_dev for devices, if dracut-initqueue is not needed
647 - support early microcode loading with --early-microcode
648 - dmraid, let dmraid setup its own partitions
649 - sosreport renamed to rdsosreport
653 Konrad Rzeszutek Wilk
658 - wait for IPv6 autoconfiguration
659 - i18n: make the default font configurable
660 To set the default font for your distribution, add
661 i18n_default_font="latarcyrheb-sun16"
662 to your /lib/dracut/dracut.conf.d/01-dist.conf distribution config.
663 - proper handle "rd.break" in systemd mode before switch-root
664 - systemd: make unit files symlinks
665 - build without dash requirement
666 - add dracut-shutdown.service.8 manpage
667 - handle MACs for "ip="
668 "ip=77-77-6f-6f-64-73:dhcp"
669 - don't explode when mixing BOOTIF and ip=
670 - 90lvm/module-setup.sh: redirect error message of lvs to /dev/null
679 - full integration of crypto devs in systemd logic
680 - support for bridge over team and vlan tagged team
681 - support multiple bonding interfaces
682 - new kernel command line param "rd.action_on_fail"
683 to control the emergency action
684 - support for bridge over a vlan tagged interface
685 - support for "iso-scan/filename" kernel parameter
686 - lsinitrd got some love and does not use "file" anymore
687 - fixed issue with noexec mounted tmp dirs
689 - dracut_install got some love
690 - fixed some /usr mounting problems
691 - ifcfg dracut module got some love and fixes
692 - default installed font is now latarcyrheb-sun16
693 - new parameters rd.live.dir and rd.live.squashimg
694 - lvm: add tools for thin provisioning
695 - also install non-hwcap libs
696 - setup correct system time and time zone in initrd
697 - s390: fixed cms setup
698 - add systemd-udevd persistent network interface naming
714 - dracut now has bash-completion
715 - require bash version 4
716 - systemd module now requires systemd >= 199
717 - dracut makes use of native systemd initrd units
718 - added hooks for new-kernel-pkg and kernel-install
719 - hostonly is now default for fedora
720 - comply with the BootLoaderSpec paths
721 http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec
722 - added rescue module
723 - host_fs_types is now a hashmap
724 - new dracut argument "--regenerate-all"
725 - new dracut argument "--noimageifnotneeded"
726 - new man page dracut.bootup
727 - install all host filesystem drivers
728 - use -D_FILE_OFFSET_BITS=64 to build dracut-install
732 - introduce /usr/lib/dracut/dracut.conf.d/ drop-in directory
734 /usr/lib/dracut/dracut.conf.d/*.conf can be overwritten by the same
735 filenames in /etc/dracut.conf.d.
737 Packages should use /usr/lib/dracut/dracut.conf.d rather than
738 /etc/dracut.conf.d for drop-in configuration files.
740 /etc/dracut.conf and /etc/dracut.conf.d belong to the system administrator.
742 - uses systemd-198 native initrd units
743 - totally rely on the fstab-generator in systemd mode for block devices
744 - dracut systemd now uses dracut.target rather than basic.target
745 - dracut systemd services optimize themselves away
746 - fixed hostonly parameter generation
747 - turn off curl globbing (fixes IPv6)
748 - modify the udev rules on install and not runtime time
749 - enable initramfs building without kernel modules (fixed regression)
750 - in the initqueue/timeout,
751 reset the main loop counter, as we see new udev events or initqueue/work
752 - fixed udev rule installation
756 - do not strip signed kernel modules
757 - add sosreport script and generate /run/initramfs/sosreport.txt
758 - make short uuid specification for allow-discards work
759 - turn off RateLimit for the systemd journal
760 - fixed MAC address assignment
761 - add systemd checkisomd5 service
762 - splitout drm kernel modules from plymouth module
763 - add 'swapoff' to initramfs to fix shutdown/reboot
764 - add team device support
765 - add pre-shutdown hook
766 - kill all processes in shutdown and report remaining ones
767 - "--device" changed to "--add-device" and "add_device=" added for conf files
768 - add memory usage trace to different hook points
769 - cope with optional field #7 in /proc/self/mountinfo
770 - lots of small bugfixes
774 - new dracut option "--device"
775 - new dracut kernel command line options "rd.auto"
776 - new dracut kernel command line options "rd.noverifyssl"
777 - new dracut option "--kernel-cmdline" and "kernel_cmdline" option for default parameters
778 - fixes for systemd and crypto
779 - fix for kexec in shutdown, if not included in initramfs
780 - create the initramfs non-world readable
781 - prelink/preunlink in the initramfs
782 - strip binaries in the initramfs by default now
784 - various dracut-install fixes
788 - resume from hibernate fixes
789 - -N option for --no-hostonly
790 - support for systemd crypto handling
791 - new dracut module "crypt-loop"
792 - deprecate the old kernel command line options
794 - honor CFLAGS for dracut-install build
796 - / is mounted according to rootflags parameter but forced ro at first.
797 Later it is remounted according to /etc/fstab + rootflags parameter
799 - support for xfs / reiserfs separate journal device
800 - new "ro_mnt" option to force ro mount of / and /usr
801 - root on cifs support
802 - dracut-install: fixed issue for /var/tmp containing a symlink
803 - only lazy resolve with ldd, if the /var/tmp partition is not mounted with "noexec"
804 - i18n: fixed inclusion of "include" keymaps
808 - fixed host-only kernel module bug
812 - fixed systemd in the initramfs (requires systemd >= 187)
813 - dracut-install: massive speedup with /var on the same filesystem with COW copy
814 - dracut-install: moved to /usr/lib/dracut until it becomes a general purpose tool
815 - new options: "rd.usrmount.ro" and "rd.skipfsck"
817 - apply "ro" on the kernel command line also to /usr
818 - mount according to fstab, if neither "ro" or "rw" is specified
819 - skip fsck for xfs and btrfs. remount is enough
820 - give emergency_shell if /usr mount failed
821 - dracut now uses getopt:
822 * options can be position independent now!!
823 * we can now use --option=<arg>
824 - added option "--kver=<kernel-version>", and the image location can be omitted
825 # dracut --kver 3.5.0-0.rc7.git1.2.fc18.x86_64
826 - dracut.sh: for --include copy also the symbolic links
827 - man pages: lsinitrd and mkinitrd added
828 - network: We do not support renaming in the kernel namespace anymore (as udev does
829 that not anymore). So, if a user wants to use ifname, he has to rename
830 to a custom namespace. "eth[0-9]+" is not allowed anymore. !!!!!
831 - resume: moved the resume process to the initqueue.
832 This should prevent accidently mounting the root file system.
833 - testsuite: add support for: make V=1 TESTS="01 20 40" check
834 $ sudo make V=1 clean check
835 now runs the testsuite in verbose mode
837 $ sudo make TESTS="01 20 40" clean check
838 now only runs the 01, 20 and 40 tests.
842 - changed rd.dasd kernel parameter
843 - arm kernel modules added to kernel-modules
844 - make udevdir systemdutildir systemdsystemunitdir global vars
845 your distribution should ship those settings in
846 /etc/dracut.conf.d/01-distro.conf
847 see dracut.conf.d/fedora.conf.example
848 - kernel modules are now only handled with /sys/modules and modules.dep
850 - mdraid: wait for md devices to be clean, before shutdown
851 - ifup fixed for ipv6
852 - add PARTUUID as root=PARTUUID=<partition uuid> parameter
853 - fixed instmods() return code and set pipefail globally
854 - add 04watchdog dracut module
855 - dracut-shutdown.service: fixed ordering to be before shutdown.target
856 - make use of "ln -r" instead of shell functions, if new coreutils is installed
857 - network: support vlan tagged bonding
858 - new dracut module qemu and qemu-net to install all kernel driver
859 - fs-lib/fs-lib.sh: removed test mounting of btrfs and xfs
860 - no more "mknod" in the initramfs!!
861 - replaced all "tr" calls with "sed"
862 - speedup with lazy kernel module dependency resolving
863 - lots of speedup optimizations and last but not least
865 - new binary to significanlty speedup the installation process
866 - dracut-functions.sh makes use of it, if installed
871 - initqueue/online hook
872 - fixes for ifcfg write out
873 - rootfs-block: avoid remount when options don't change
874 - Debian multiarch support
875 - virtfs root filesystem support
876 - cope with systemd-udevd
877 - mount tmpfs with strictatime
878 - include all kernel/drivers/net/phy drivers
879 - add debug_on() and debug_off() functions
880 - add arguments for source_hook() and source_all()
882 - plymouth: get consoledev from /sys/class/tty/console/active
883 - experimental systemd dracut module for systemd in the initramfs
884 - install xhci-hcd kernel module
885 - dracut: new "--mount" option
886 - lsinitrd: new option --printsize
887 - ARM storage kernel modules added
888 - s390 cms conf file support
889 - /etc/initrd-release in the initrd
891 - full bonding and bridge support
892 - removed scsi_wait_scan kernel module from standard install
893 - support rd.luks.allow-discards and honor options in crypttab
898 - lvm: ignore lvm mirrors
899 - lsinitrd: handle LZMA images
900 - iscsi: add rd.iscsi.param
901 - iscsi: add iscsi interface binding
902 - new module cms to read and handle z-Series cms config files
903 - fixed fstab.sys handling
904 - new dracut option "--tmpdir"
905 - new dracut option "--no-hostonly"
906 - nbd: name based nbd connects
907 - converted manpage and documentation source to asciidoc
908 - write-ifcfg fixes and cleanups
909 - ifup is now done in the initqueue
911 - initqueue/online is now for hooks, which require network
912 - no more /tmp/root.info
913 - 98pollcdrom: factored out the ugly cdrom polling in the main loop
914 - simplified rd.luks.uuid testing
915 - removed "egrep" and "ls" calls
916 - speedup kernel module installation
917 - make bzip2 optional
922 - a _lot_ faster than dracut-016 in image creation
923 - systemd service dracut-shutdown.service
925 - ssh-client module install fix
926 - root=iscsi:... fixed
927 - lots of restructuring and optimizing in dracut-functions.sh
928 - usrmount: honor fs_passno in /etc/fstab
929 - renamed all shell scripts to .sh
930 - new option "--omit-drivers" and config option "omit_drivers"
931 - hostonly mode fixups
936 - honor binaries in sbin first
937 - fixed usrmount module
938 - added systemd service for shutdown
939 - fixed terminfo on distros with /usr/share/terminfo
940 - reload udev rules after "pre-trigger" hook
941 - improved test suite
942 - new parameter "--omit-drivers" and new conf param omit_drivers
943 - "--offroot" support for mdraid
944 - new libs: net-lib.sh, nfs-lib.sh, url-lib.sh, img-lib.sh
945 full of functions to use in your dracut module
949 - hostonly mode automatically adds command line options for root and /usr
950 - --add-fstab --mount parameters
952 - --ctty option: add job control
953 - cleanup /run/initramfs
955 - /sbin/ifup can be called directly
956 - support kernel modules compressed with xz
957 - s390 iscsi modules added
959 - lsinitrd can handle concatened images
960 - lsinitrd can sort by size
964 - new dracut arguments:
973 - new kernel options:
977 - dracut move from /sbin to /usr/bin
978 - dracut modules dir moved from /usr/share/dracut to /usr/lib/dracut
979 - profiling with "dracut --profile"
980 - new TEST-16-DMSQUASH, test for Fedora LiveCDs
981 - speedup of initramfs creation
982 - ask_for_password fallback to CLI
983 - mdraid completely switched to incremental assembly
984 - no more cdrom polling
985 - "switch_root" breakpoint is now very late
988 - fs-lib dracut module for fscks added
989 - xen dracut module removed
990 - usb mass storage kernel drivers now included
991 - usrmount dracut module added:
992 mount /usr if found in /sysroot/etc/fstab
993 - only include fsck helper needed for hostonly
994 - fcoe: support for bnx2fc
995 - support iSCSI drivers: qla4xxx, cxgb3i, cxgb4i, bnx2i, be2iscsi
996 - fips-aesni dracut module added
997 - add install_items to dracut.conf
998 install_items+=" <file>[ <file> ...] "
999 - speedup internal testsuite
1000 - internal testsuite: store temporary data in a temporary dir
1004 - speedup of initramfs creation
1005 - fixed inst_dir for symbolic links
1006 - add unix kernel module
1010 - better fsck handling
1011 - fixed wait condition for LVM volumes
1012 - fix for hardlinks (welcome Debian! :-)
1014 - automatic busybox symlink creation
1015 - try to mount /usr, if init points to a path in /usr
1016 - btrfs with multiple devices
1017 - "--force-add" option for dracut, to force-add dracut modules,
1018 without hostonly checks
1019 - lsinitrd also display the initramfs size in human readable form
1020 - livenet module, to mount live-isos over http
1021 - masterkey,ecryptfs,integrity security modules
1022 - initqueue/timeout queue e.g. for starting degraded raids
1023 - "make rpm" creates an rpm with an increasing release number from any
1025 - support lvm mirrors
1026 - start degraded lvm mirrors after a timeout
1027 - start degraded md raids after a timeout
1028 - getarg() now returns wildcards without file matching to the current fs
1033 - use udev-168 features for shutting down udev
1034 - introduce "--prefix" to put all initramfs files in e.g "/run/initramfs"
1035 - new shutdown script (called by systemd >= 030) to disassemble the root device
1037 - new module for gpg-encrypted keys - 91crypt-gpg
1042 - plymouth: use /run/plymouth/pid instead of /run/initramfs/plymouth
1043 - add "/lib/firmware/updates" to default firmware path
1050 - better argument handling
1053 - hooks moved to /lib/dracut/hooks in initramfs
1054 - rd.driver.{blacklist|pre|post} accept comma separated driver list
1055 - iSCSI: iSCSI Boot Firmware Table (iBFT) support
1057 - live image: support for generic rootfs.img (instead of ext3fs.img)
1063 - removed --ignore-kernel-modules option (no longer necessary)
1064 - renamed kernel command line arguments to follow the rd. naming scheme
1065 - merged check, install, installkernel to module-setup.sh
1066 - support for bzip2 and xz compressed initramfs images.
1067 - source code beautification
1068 - lots of documentation
1069 - lsinitrd: "catinitrd" functionality
1070 - dracut: --list-modules
1071 - lvm: support for dynamic LVM SNAPSHOT root volume
1072 - 95fstab-sys: mount all /etc/fstab.sys volumes before switch_root
1073 - 96insmodpost dracut module
1074 - rd.shell=1 per default
1075 - rootfs-block:mount-root.sh add fsck
1076 - busybox shell replacements module
1077 - honor old "real_init="
1078 - 97biosdevname dracut module
1082 - module i18n is no longer fedora/red hat specific (Amadeusz Żołnowski)
1083 - distribution specific conf file
1084 - bootchartd support
1085 - debug module now has fsck
1086 - use "hardlink", if available, to save some space
1087 - /etc/dracut.conf can be overwritten by settings in /etc/dracut.conf.d/*.conf
1088 - gentoo splash module
1089 - --ignore-kernel-modules option
1090 - crypto keys on external devices support
1095 - fixed mdraid with IMSM
1096 - fixed dracut manpages
1097 - dmraid parse different error messages
1098 - add cdrom polling mechanism for slow cdroms
1100 - add btrfsctl scan for btrfs multi-devices (raid)
1101 - teach dmsquash live-root to use rootflags
1102 - trigger udev with action=add
1103 - fixed add_drivers handling
1105 - use pigz instead of gzip, if available
1106 - boot from LVM mirrors and snapshots
1107 - iscsi: add support for multiple netroot=iscsi:
1108 - Support old version of module-init-tools
1109 - got rid of rdnetdebug
1111 - dracut.conf: use "+=" as default for config variables
1116 - dcb support to dracut's FCoE support
1117 - add readonly overlay support for dmsquash
1118 - add keyboard kernel modules
1119 - dracut.conf: added add_dracutmodules
1120 - add /etc/dracut.conf.d
1121 - add preliminary IPv6 support
1126 - dracut-lib: read multiple lines from $init/etc/cmdline
1127 - lsinitrd and mkinitrd
1128 - dmsquash: add support for loopmounted *.iso files
1129 - lvm: add rd_LVM_LV and "--poll n"
1130 - user suspend support
1131 - add additional drivers in host-only mode, too
1132 - improved emergency shell
1133 - support for compressed kernel modules
1134 - support for loading Xen modules
1135 - rdloaddriver kernel command line parameter
1136 - man pages for dracut-catimages and dracut-gencmdline
1141 - add debian package modules
1142 - add dracut.conf manpage
1143 - add module 90multipath
1145 - crypt: ignore devices in /etc/crypttab (root is not in there)
1146 unless rd_NO_CRYPTTAB is specified
1147 - kernel-modules: add scsi_dh scsi_dh_rdac scsi_dh_emc
1148 - add multinic support
1149 - add s390 zfcp support
1150 - add s390 dasd support
1151 - add s390 network support
1152 - fixed dracut-gencmdline for root=UUID or LABEL
1153 - do not destroy assembled raid arrays if mdadm.conf present
1155 - let udevd not resolve group and user names
1156 - moved network from udev to initqueue
1157 - improved debug output: specifying "rdinitdebug" now logs
1158 to dmesg, console and /init.log
1159 - strip kernel modules which have no x bit set
1160 - redirect stdin, stdout, stderr all RW to /dev/console
1161 so the user can use "less" to view /init.log and dmesg
1162 - add new device mapper udev rules and dmeventd
1163 - fixed dracut-gencmdline for root=UUID or LABEL
1164 - do not destroy assembled raid arrays if mdadm.conf present
1166 - let udevd not resolve group and user names
1167 - preserve timestamps of tools on initramfs generation
1168 - generate symlinks for binaries correctly
1169 - moved network from udev to initqueue
1170 - mount nfs3 with nfsvers=3 option and retry with nfsvers=2
1171 - fixed nbd initqueue-finished
1172 - improved debug output: specifying "rdinitdebug" now logs
1173 to dmesg, console and /init.log
1174 - strip kernel modules which have no x bit set
1175 - redirect stdin, stdout, stderr all RW to /dev/console
1176 so the user can use "less" to view /init.log and dmesg
1177 - make install of new dm/lvm udev rules optionally
1178 - add new device mapper udev rules and dmeventd
1179 - Fix LiveCD boot regression
1180 - bail out if selinux policy could not be loaded and
1181 selinux=0 not specified on kernel command line
1182 - do not cleanup dmraids
1183 - copy over lvm.conf
1187 - add ifname= argument for persistent netdev names
1188 - new /initqueue-finished to check if the main loop can be left
1189 - copy mdadm.conf if --mdadmconf set or mdadmconf in dracut.conf
1190 - plymouth: use plymouth-populate-initrd
1191 - add add_drivers for dracut and dracut.conf
1192 - add modprobe scsi_wait_scan to be sure everything was scanned
1193 - fix for several problems with md raid containers
1194 - fix for selinux policy loading
1195 - fix for mdraid for IMSM
1196 - fix for bug, which prevents installing 61-persistent-storage.rules (bug #520109)
1197 - fix for missing grep for md
1201 - better --hostonly checks
1202 - better lvm/mdraid/dmraid handling
1203 - fcoe booting support
1204 Supported cmdline formats:
1205 fcoe=<networkdevice>:<dcb|nodcb>
1206 fcoe=<macaddress>:<dcb|nodcb>
1208 Note currently only nodcb is supported, the dcb option is reserved for
1211 Note letters in the macaddress must be lowercase!
1215 fcoe=4A:3F:4C:04:F8:D7:nodcb
1217 - Syslog support for dracut
1218 This module provides syslog functionality in the initrd.
1219 This is especially interesting when complex configuration being
1220 used to provide access to the device the rootfs resides on.
1225 - let plymouth attach to the terminal (nice text output now)
1226 - new kernel command line parameter "rdinfo" show dracut output, even when
1227 "quiet" is specified
1228 - rd_LUKS_UUID is now handled correctly
1229 - dracut-gencmdline: rd_LUKS_UUID and rd_MD_UUID is now correctly generated
1230 - now generates initrd-generic with around 15MB
1235 - iSCSI with username and password
1236 - support for live images (dmsquashed live images)
1237 - iscsi_firmware fixes
1243 - dracut: strip binaries in initramfs
1246 strip binaries in the initramfs (default)
1249 do not strip binaries in the initramfs
1252 Usage: ./dracut-catimages [OPTION]... <initramfs> <base image>
1254 Creates initial ramdisk image by concatenating several images from the
1256 line and /boot/dracut/
1258 -f, --force Overwrite existing initramfs file.
1259 -i, --imagedir Directory with additional images to add
1260 (default: /boot/dracut/)
1261 -o, --overlaydir Overlay directory, which contains files that
1262 will be used to create an additional image
1263 --nooverlay Do not use the overlay directory
1264 --noimagedir Do not use the additional image directory
1265 -h, --help This message
1266 --debug Output debug information of the build process
1267 -v, --verbose Verbose output during the build process
1273 - dracut: add --kernel-only and --no-kernel arguments
1276 only install kernel drivers and firmware files
1279 do not install kernel drivers and firmware files
1281 All kernel module related install commands moved from "install"
1284 For "--kernel-only" all installkernel scripts of the specified
1285 modules are used, regardless of any checks, so that all modules
1286 which might be needed by any dracut generic image are in.
1288 The basic idea is to create two images. One image with the kernel
1289 modules and one without. So if the kernel changes, you only have
1290 to replace one image.
1292 Grub and the kernel can handle multiple images, so grub entry can
1295 title Fedora (2.6.29.5-191.fc11.i586)
1297 kernel /vmlinuz-2.6.29.5-191.fc11.i586 ro rhgb quiet
1298 initrd /initrd-20090722.img /initrd-kernel-2.6.29.5-191.fc11.i586.img /initrd-config.img
1301 the image provided by the initrd rpm
1302 one old backup version is kept like with the kernel
1304 initrd-kernel-2.6.29.5-191.fc11.i586.img
1305 the image provided by the kernel rpm
1308 optional image with local configuration files
1310 - dracut: add --kmoddir directory, where to look for kernel modules
1313 specify the directory, where to look for kernel modules
1319 - more generic (all plymouth modules, all keyboards, all console fonts)
1320 - more kernel command line parameters (see also man dracut(8))
1321 - a helper tool, which generates the kernel command line (dracut-gencmdline)
1322 - bridged network boot
1323 - a lot of new command line parameter
1328 - firmware loading support
1329 - new internal queue (initqueue)
1330 initqueue now loops until /dev/root exists or root is mounted
1332 init now has the following points to inject scripts:
1335 scripts for command line parsing
1338 scripts to run before udev is started
1341 scripts to run before the main udev trigger is pulled
1344 runs in parallel to the udev trigger
1345 Udev events can add scripts here with /sbin/initqueue.
1346 If /sbin/initqueue is called with the "--onetime" option, the script
1347 will be removed after it was run.
1348 If /initqueue/work is created and udev >= 143 then this loop can
1349 process the jobs in parallel to the udevtrigger.
1350 If the udev queue is empty and no root device is found or no root
1351 filesystem was mounted, the user will be dropped to a shell after
1353 Scripts can remove themselves from the initqueue by "rm $job".
1356 scripts to run before the root filesystem is mounted
1357 NFS is an exception, because it has no device node to be created
1358 and mounts in the udev events
1361 scripts to mount the root filesystem
1362 NFS is an exception, because it has no device node to be created
1363 and mounts in the udev events
1364 If the udev queue is empty and no root device is found or no root
1365 filesystem was mounted, the user will be dropped to a shell after
1369 scripts to run before the real init is executed and the initramfs
1371 All processes started before should be killed here.
1373 The behaviour of the dmraid module demonstrates how to use the new
1374 mechanism. If it detects a device which is part of a raidmember from a
1375 udev rule, it installs a job to scan for dmraid devices, if the udev
1376 queue is empty. After a scan, it removes itsself from the queue.
1383 - first public version