4 - better udev & systemd dir detection
5 - split dracut-functions.sh in dracut-init.sh and dracut-functions.sh
6 dracut-functions.sh can now be sourced by external tools
7 - detect all btrfs devices needed
8 - added flag file if initqueue is needed
9 - don't overwrite anything, if initramfs image file creation failed
10 - if no compressor is specified, try to find a suitable one
11 - drop scanning kernel config for CONFIG_MICROCODE_*_EARLY
12 - remove "_EARLY" from CONFIG_MICROCODE_* checks
13 - dracut.sh: add command line option for install_i18_all
14 --no-hostonly-i18n -> install_i18n_all=yes
15 --hostonly-i18n -> install_i18n_all=no
16 - --no-reproducible to turn off reproducible mode
17 - dracut-function.sh can now be sourced from outside of dracut
18 - dracut-init.sh contains all functions, which only can be used from
19 within the dracut infrastructure
20 - support --mount with just mountpoint as a parameter
21 - removed action_on_fail support
22 - removed host_modalias concept
23 - do not create microcode, if no firmware is available
24 - skip gpg files in microcode generation
27 - ensure pre-mount (and resume) run before root fsck
28 - add --online option to initqueue
31 - fixed virtual machine detection
34 - remove all quirk arguments for lvm >= 2.2.221
37 - fixup for checkisomd5
38 - increase timeout for checkisomd5
39 - use non-persistent metadata snapshots for transient overlays.
40 - overflow support for persistent snapshot.
41 - use non-persistent metadata snapshots.
42 - avoid an overlay for persistent, uncompressed, read-write live installations.
45 - multipath.conf included in hostonly mode
46 - install all multipath path selector kernel modules
49 - use the iBFT initiator name, if found and set
50 - iscsid now present in the initramfs
51 - iscsistart is done with systemd-run asynchrone to do things in
52 paralllel. Also restarted for every new interface which shows up.
53 - If rd.iscsi.waitnet (default) is set, iscsistart is done only
54 after all interfaces are up.
55 - If not all interfaces are up and rd.iscsi.testroute (default) is set,
56 the route to a iscsi target IP is checked and skipped, if there is none.
57 - If all things fail, we issue a "dummy" interface iscsiroot to retry
58 everything in the initqueue/timeout.
61 - added DHCP RENEW/REBIND
62 - IPv4 DHCP lease time now optional (bootp)
64 - fixed IPv6 route parsing
65 - rd.peerdns=0 parameter to disable DHCP nameserver setting
66 - detect duplicate IPv4 addresses for static addresses
67 - if interfaces are specified with its enx* name, bind the correspondent MAC to the interface name
68 - if multiple "ip=" are present on the kernel command line "rd.neednet=1" is assumed
69 - add options to tweak timeouts
70 rd.net.dhcp.retry=<cnt>
71 If this option is set, dracut will try to connect via dhcp
72 <cnt> times before failing. Default is 1.
74 rd.net.timeout.dhcp=<arg>
75 If this option is set, dhclient is called with "-timeout <arg>".
77 rd.net.timeout.iflink=<seconds>
78 Wait <seconds> until link shows up. Default is 60 seconds.
80 rd.net.timeout.ifup=<seconds>
81 Wait <seconds> until link has state "UP". Default is 20 seconds.
83 rd.net.timeout.route=<seconds>
84 Wait <seconds> until route shows up. Default is 20 seconds.
86 rd.net.timeout.ipv6dad=<seconds>
87 Wait <seconds> until IPv6 DAD is finished. Default is 50 seconds.
89 rd.net.timeout.ipv6auto=<seconds>
90 Wait <seconds> until IPv6 automatic addresses are assigned.
91 Default is 40 seconds.
93 rd.net.timeout.carrier=<seconds>
94 Wait <seconds> until carrier is recognized. Default is 5 seconds.
97 - load signed certificates in the IMA keyring, see modules.d/98integrity/README
98 - load EVM public key in the kernel _evm keyring
101 fcoe: start with fcoemon instead of fipvlan
105 - add missing dmsquash-generator
109 - fixed dmsetup shutdown
110 - new kernel command line option "rd.live.overlay.thin"
111 This option changes the underlying mechanism for the overlay in the
113 Instead of a plain dm snapshot a dm thin snapshot is used. The advantage
114 of the thin snapshot is, that the TRIM command is recognized, which
115 means that at runtime, only the occupied blocks will be claimed from
116 memory, and freed blocks will really be freed in ram.
117 - dmsquash: Add squashfs support to rd.live.fsimg
118 Previously rd.live.fsimg only supported filesystems residing in
119 (compressed) archives.
120 Now rd.live.fsimg can also be used when a squashfs image is used.
121 This is achieved by extracting the rootfs image from the squashfs and
122 then continue with the default routines for rd.live.fsimg.
123 - lvm: add support for LVM system id
124 - split up the systemd dracut module
125 Basic systemd functionality is in 00systemd now.
126 Switching root and the initrd.target is in 00systemd-initrd.
127 Dracut additions to the systemd initrd are in 98dracut-systemd.
128 - support for creating a UEFI boot executable via argument "--uefi"
129 With an EFI stub, the kernel, the initramfs and a kernel cmdline can be
130 glued together to a single UEFI executable, which can be booted by a
132 - network: split out kernel-network-modules, now in 90kernel-network-modules
133 - support for ethernet point-to-point connections configured via DHCP
134 - kernel-modules: install all HID drivers
135 - dracut.pc pkg-config file
136 - mount /dev, /dev/shm and /run noexec
140 - fixed the shutdown loop
141 - fixed gzip compression for versions, which do not have --rsyncable
142 - fixed ifcfg generation for persistent interface names
144 * new option to turn off multipath "rd.multipath=0" completly
145 * preload scsi dh modules
146 * start multipathd via systemd service
147 - do not fail, if user pressed ESC during media check
148 - fixed systemd-journal by symlinking /var/log to /run/initramfs/log
149 - initrd-release moved to /usr/lib
150 - lots of iSCSI fixes
151 - new "rd.timeout" to specify the systemd JobTimeoutSec for devices
152 - if $initrd/etc/cmdline.d/* has a "root=" and the kernel cmdline does not,
153 generate a mount unit for it
154 - increased the initqueue timeout for non systemd initramfs to 180s
155 - $initrd/etc/cmdline.d/ hostonly files are now generated for NFS
156 - make use of systemd-hibernate-resume, if available
157 - fixed ldconfig parsing for hwcap output
158 - network: add support for comma separated autoconf options like ip=eth0:auto6,dhcp
159 - new parameter "rd.live.overlay.size" to specify the overlay for live images
160 - changed the test suite for the new sfdisk syntax
161 - added cache tools for dm-cache setups
165 - fixed dracut module dependency checks
170 - DRACUT_PATH can now be used to specify the PATH used by dracut
171 to search for binaries instead of the default
172 /usr/sbin:/sbin:/usr/bin:/bin
173 This should be set in the distribution config file
174 /usr/lib/dracut/dracut.conf.d/01-dist.conf
175 - add "--loginstall <DIR>" and loginstall="<DIR>" options
176 to record all files, which are installed from the host fs
177 - "rd.writable.fsimg" - support for read/write filesystem images
178 - "rd.route" kernel command line parameter added
179 - "--install-optional" and install_optional_items added
180 - find plymouth pkglibdir on debian
181 - torrent support for live images
182 root=live:torrent://example.com/liveboot.img.torrent
183 and generally added as a download handler
184 - disable microcode, if the kernel does not support it
185 - speed up ldconfig_paths()
187 - fixed inst*() functions and "-H" handling
189 - added --force-drivers parameter and force_drivers=+ config option
190 to enforce driver loading at early boot time
191 - documented "iso-scan/filename" usage in grub
196 - "rd.cmdline=ask" will ask the user on the console to enter additional
197 kernel command line parameters
198 - "rd.hostonly=0" removes all "hostonly" added custom files,
199 which is useful in combination with "rd.auto" or other specific parameters,
200 if you want to boot on the same hardware, but the compiled in configuration
201 does not match your setup anymore
202 - inst* functions and dracut-install now accept the "-H" flag, which logs all
203 installed files to /lib/dracut/hostonly-files. This is used to remove those
204 files, if rd.hostonly is given on the kernel command line
205 - strstr now only does literal string match,
206 please use strglob and strglobin for globs
207 - fixed unpacking of the microcode image on shutdown
208 - added systemd-gpt-auto-generator
209 - fcoe: wait for lldpad to be ready
210 - network: handle "ip=dhcp6"
211 - network: DCHPv6: set valid_lft and preferred_lft
212 - dm: support dm-cache
213 - fstab: do not mount and fsck from fstab if using systemd
214 - break at switch_root only for bare rd.break and not for any rd.break=...
215 - nbd: make use of "--systemd-mark", otherwise it gets killed on switch_root
216 - fcoe-uefi: fixed cmdline parameter generation
217 - iscsi: deprecate "ip=ibft", use "rd.iscsi.ibft[=1]" from now on
218 - "lsinitrd -m" now only lists the dracut modules of the image
219 - a lot of small bugfixes
223 - dracut: hostonly_cmdline variable and command line switch
224 Toggle hostonly cmdline storing in the initramfs
226 Store kernel command line arguments needed in the initramfs
227 --no-hostonly-cmdline:
228 Do not store kernel command line arguments needed in the initramfs
229 - dracut: --mount now understands full fstab lines
230 - dracut now also includes drivers from the /lib/modules/<version>/updates directory
231 - dracut: only set the owner of files to 0:0, if generated as non-root
232 - dracut now directly writes to the initramfs file
233 - dracut: call lz4 with the legacy flag (linux kernel does not support the new format)
234 - systemd: rootfs-generator generates JobTimeout=0 units for the root device
235 - systemd: added the systemd-sysctl service
236 - systemd: add 80-net-setup-link.rules and .link files for persistent interface renaming
237 - systemd: make dracut-shutdown.service failure non-fatal
238 - network: various IPv6 fixes
239 - network: DCHCP for IPv6
240 - network: understand ip=.....:<dns1>:<dns2>
241 - network: parse ibft nameserver settings
242 - shutdown: if kexec fails, just reboot
243 - lvm: handle one LV at a time with lvchange
245 New functions require_binaries() and require_any_binary() to be used
246 in the check() section of module-setup.sh.
247 - a lot of small bugfixes
262 - fixed skipcpio signature checking
266 - changed dracut tarball compression to xz
267 - new argument "--rebuild"
268 - add lzo, lz4 compression
269 - install: install all binaries with <name> found in PATH
270 - lsinitrd can now handle initramfs images with an early cpio prepended
271 (microcode, ACPI tables)
272 - mkinitrd-suse added as a compat stub for dracut
273 - lvm: install thin utils for non-hostonly
274 - resume: fix swap detection in hostonly
275 - avoid loading unnecessary 32-bit libraries for 64-bit initrds
276 - crypt: wait for systemd password agents
277 - crypt: skip crypt swaps with password files
278 - network: before doing dhcp, dracut now checks, if the link has a carrier
279 - network: dhclient-script.sh now sets the lease time
280 - network: include usbnet drivers
281 - network: include all ethernet drivers
282 - network: add rd.bootif=0 to ignore BOOTIF
283 - i18n: introduce i18n_install_all, to install everything i18n related
284 - support SuSE DASD configurations
285 - support SuSE zfcp configurations
286 - support SuSE compressed KEYMAP= setting
287 - usrmount: always install the module,
288 so always mount /usr from within the initramfs
289 - test/TEST-17-LVM-THIN: new test case for lvm thin pools
290 - "halt" the machine in systemd mode for die()
294 - do not run dhcp on parts of assembled network interfaces (bond, bridge)
295 - add option to turn on/off prelinking
296 --prelink, --noprelink
298 - add ACPI table overriding
299 - do not log to syslog/kmsg/journal for UID != 0
300 - lvm/mdraid: Fix LVM on MD activation
301 - bcache module removed (now in bcache-tools upstream)
302 - mdadm: also install configs from /etc/mdadm.conf.d
303 - fixes for mdadm-3.2.6+
304 - mkinitrd: better compat support for SUSE
305 - fcoe: add FCoE UEFI boot device support
306 - rootfs-block: add support for the rootfallback= kernel cmdline option
318 - improved hostonly device recognition
319 - improved hostonly module recognition
320 - add dracut.css for dracut.html
321 - do not install udev rules from /etc in generic mode
322 - fixed LABEL= parsing for swap devices
323 - fixed iBFT network setup
324 - url-lib.sh: handle 0-size files with curl
325 - dracut.asc: document debugging dracut on shutdown
326 - if rd.md=0, use dmraid for imsm and ddf
327 - skip empty dracut modules
328 - removed caching of kernel cmdline
329 - fixed iso-scan, if the loop device driver is a kernel module
330 - bcache: support new blkid
331 - fixed ifup udev rules
332 - ifup with dhcp, if no "ip=" specified for the interface
342 - add parameter --print-cmdline
343 This prints the kernel command line parameters for the current disk
345 $ dracut --print-cmdline
346 rd.luks.uuid=luks-e68c8906-6542-4a26-83c4-91b4dd9f0471
347 rd.lvm.lv=debian/root rd.lvm.lv=debian/usr root=/dev/mapper/debian-root
348 rootflags=rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered
350 - dracut.sh: add --persistent-policy option and persistent_policy conf option
351 --persistent-policy <policy>:
352 Use <policy> to address disks and partitions.
353 <policy> can be any directory name found in /dev/disk.
354 E.g. "by-uuid", "by-label"
355 - dracut now creates the initramfs without udevadm
356 that means the udev database does not have to populated
357 and the initramfs can be built in a chroot with
358 /sys /dev /proc mounted
359 - renamed dracut_install() to inst_multiple() for consistent naming
360 - if $libdirs is unset, fall back to ld.so.cache paths
361 - always assemble /usr device in initramfs
362 - bash module added (disable it, if you really want dash)
363 - continue to boot, if the main loop times out, in systemd mode
364 - removed inst*() shell pure versions, dracut-install binary is in charge now
365 - fixed ifcfg file generation for vlan
366 - do not include adjtime and localtime anymore
367 - fixed generation of zfcp.conf of CMS setups
368 - install vt102 terminfo
369 dracut_install() is still there for backwards compat
370 - do not strip files in FIPS mode
371 - fixed iBFT interface configuration
372 - fs-lib: install fsck and fsck.ext*
373 - shutdown: fixed killall_proc_mountpoint()
374 - network: also wait for ethernet interfaces to setup
375 - fixed checking for FIPS mode
389 - do not include the resume dracut module in hostonly mode,
390 if no swap is present
391 - don't warn twice about omitted modules
392 - use systemd-cat for logging on systemd systems, if logfile is unset
393 - fixed PARTUUID parsing
394 - support kernel module signing keys
395 - do not install the usrmount dracut module in hostonly mode,
396 if /sbin/init does not live in /usr
397 - add debian udev rule files
398 - add support for bcache
399 - network: handle bootif style interfaces
400 e.g. ip=77-77-6f-6f-64-73:dhcp
401 - add support for kmod static devnodes
402 - add vlan support for iBFT
415 - support new persistent network interface names
416 - fix findmnt calls, prevents hang on stale NFS mounts
417 - add systemd.slice and slice.target units
418 - major shell cleanup
419 - support root=PARTLABEL= and root=PARTUUID=
420 - terminfo: only install l/linux v/vt100 and v/vt220
421 - unset all LC_* and LANG, 10% faster
422 - fixed dependency loop for dracut-cmdline.service
423 - do not wait_for_dev for the root devices
424 - do not wait_for_dev for devices, if dracut-initqueue is not needed
425 - support early microcode loading with --early-microcode
426 - dmraid, let dmraid setup its own partitions
427 - sosreport renamed to rdsosreport
431 Konrad Rzeszutek Wilk
436 - wait for IPv6 autoconfiguration
437 - i18n: make the default font configurable
438 To set the default font for your distribution, add
439 i18n_default_font="latarcyrheb-sun16"
440 to your /lib/dracut/dracut.conf.d/01-dist.conf distribution config.
441 - proper handle "rd.break" in systemd mode before switch-root
442 - systemd: make unit files symlinks
443 - build without dash requirement
444 - add dracut-shutdown.service.8 manpage
445 - handle MACs for "ip="
446 "ip=77-77-6f-6f-64-73:dhcp"
447 - don't explode when mixing BOOTIF and ip=
448 - 90lvm/module-setup.sh: redirect error message of lvs to /dev/null
457 - full integration of crypto devs in systemd logic
458 - support for bridge over team and vlan tagged team
459 - support multiple bonding interfaces
460 - new kernel command line param "rd.action_on_fail"
461 to control the emergency action
462 - support for bridge over a vlan tagged interface
463 - support for "iso-scan/filename" kernel parameter
464 - lsinitrd got some love and does not use "file" anymore
465 - fixed issue with noexec mounted tmp dirs
467 - dracut_install got some love
468 - fixed some /usr mounting problems
469 - ifcfg dracut module got some love and fixes
470 - default installed font is now latarcyrheb-sun16
471 - new parameters rd.live.dir and rd.live.squashimg
472 - lvm: add tools for thin provisioning
473 - also install non-hwcap libs
474 - setup correct system time and time zone in initrd
475 - s390: fixed cms setup
476 - add systemd-udevd persistent network interface naming
492 - dracut now has bash-completion
493 - require bash version 4
494 - systemd module now requires systemd >= 199
495 - dracut makes use of native systemd initrd units
496 - added hooks for new-kernel-pkg and kernel-install
497 - hostonly is now default for fedora
498 - comply with the BootLoaderSpec paths
499 http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec
500 - added rescue module
501 - host_fs_types is now a hashmap
502 - new dracut argument "--regenerate-all"
503 - new dracut argument "--noimageifnotneeded"
504 - new man page dracut.bootup
505 - install all host filesystem drivers
506 - use -D_FILE_OFFSET_BITS=64 to build dracut-install
510 - introduce /usr/lib/dracut/dracut.conf.d/ drop-in directory
512 /usr/lib/dracut/dracut.conf.d/*.conf can be overwritten by the same
513 filenames in /etc/dracut.conf.d.
515 Packages should use /usr/lib/dracut/dracut.conf.d rather than
516 /etc/dracut.conf.d for drop-in configuration files.
518 /etc/dracut.conf and /etc/dracut.conf.d belong to the system administrator.
520 - uses systemd-198 native initrd units
521 - totally rely on the fstab-generator in systemd mode for block devices
522 - dracut systemd now uses dracut.target rather than basic.target
523 - dracut systemd services optimize themselves away
524 - fixed hostonly parameter generation
525 - turn off curl globbing (fixes IPv6)
526 - modify the udev rules on install and not runtime time
527 - enable initramfs building without kernel modules (fixed regression)
528 - in the initqueue/timeout,
529 reset the main loop counter, as we see new udev events or initqueue/work
530 - fixed udev rule installation
534 - do not strip signed kernel modules
535 - add sosreport script and generate /run/initramfs/sosreport.txt
536 - make short uuid specification for allow-discards work
537 - turn off RateLimit for the systemd journal
538 - fixed MAC address assignment
539 - add systemd checkisomd5 service
540 - splitout drm kernel modules from plymouth module
541 - add 'swapoff' to initramfs to fix shutdown/reboot
542 - add team device support
543 - add pre-shutdown hook
544 - kill all processes in shutdown and report remaining ones
545 - "--device" changed to "--add-device" and "add_device=" added for conf files
546 - add memory usage trace to different hook points
547 - cope with optional field #7 in /proc/self/mountinfo
548 - lots of small bugfixes
552 - new dracut option "--device"
553 - new dracut kernel command line options "rd.auto"
554 - new dracut kernel command line options "rd.noverifyssl"
555 - new dracut option "--kernel-cmdline" and "kernel_cmdline" option for default parameters
556 - fixes for systemd and crypto
557 - fix for kexec in shutdown, if not included in initramfs
558 - create the initramfs non-world readable
559 - prelink/preunlink in the initramfs
560 - strip binaries in the initramfs by default now
562 - various dracut-install fixes
566 - resume from hibernate fixes
567 - -N option for --no-hostonly
568 - support for systemd crypto handling
569 - new dracut module "crypt-loop"
570 - deprecate the old kernel command line options
572 - honor CFLAGS for dracut-install build
574 - / is mounted according to rootflags parameter but forced ro at first.
575 Later it is remounted according to /etc/fstab + rootflags parameter
577 - support for xfs / reiserfs separate journal device
578 - new "ro_mnt" option to force ro mount of / and /usr
579 - root on cifs support
580 - dracut-install: fixed issue for /var/tmp containing a symlink
581 - only lazy resolve with ldd, if the /var/tmp partition is not mounted with "noexec"
582 - i18n: fixed inclusion of "include" keymaps
586 - fixed host-only kernel module bug
590 - fixed systemd in the initramfs (requires systemd >= 187)
591 - dracut-install: massive speedup with /var on the same filesystem with COW copy
592 - dracut-install: moved to /usr/lib/dracut until it becomes a general purpose tool
593 - new options: "rd.usrmount.ro" and "rd.skipfsck"
595 - apply "ro" on the kernel command line also to /usr
596 - mount according to fstab, if neither "ro" or "rw" is specified
597 - skip fsck for xfs and btrfs. remount is enough
598 - give emergency_shell if /usr mount failed
599 - dracut now uses getopt:
600 * options can be position independent now!!
601 * we can now use --option=<arg>
602 - added option "--kver=<kernel-version>", and the image location can be omitted
603 # dracut --kver 3.5.0-0.rc7.git1.2.fc18.x86_64
604 - dracut.sh: for --include copy also the symbolic links
605 - man pages: lsinitrd and mkinitrd added
606 - network: We do not support renaming in the kernel namespace anymore (as udev does
607 that not anymore). So, if a user wants to use ifname, he has to rename
608 to a custom namespace. "eth[0-9]+" is not allowed anymore. !!!!!
609 - resume: moved the resume process to the initqueue.
610 This should prevent accidently mounting the root file system.
611 - testsuite: add support for: make V=1 TESTS="01 20 40" check
612 $ sudo make V=1 clean check
613 now runs the testsuite in verbose mode
615 $ sudo make TESTS="01 20 40" clean check
616 now only runs the 01, 20 and 40 tests.
620 - changed rd.dasd kernel parameter
621 - arm kernel modules added to kernel-modules
622 - make udevdir systemdutildir systemdsystemunitdir global vars
623 your distribution should ship those settings in
624 /etc/dracut.conf.d/01-distro.conf
625 see dracut.conf.d/fedora.conf.example
626 - kernel modules are now only handled with /sys/modules and modules.dep
628 - mdraid: wait for md devices to be clean, before shutdown
629 - ifup fixed for ipv6
630 - add PARTUUID as root=PARTUUID=<partition uuid> parameter
631 - fixed instmods() return code and set pipefail globally
632 - add 04watchdog dracut module
633 - dracut-shutdown.service: fixed ordering to be before shutdown.target
634 - make use of "ln -r" instead of shell functions, if new coreutils is installed
635 - network: support vlan tagged bonding
636 - new dracut module qemu and qemu-net to install all kernel driver
637 - fs-lib/fs-lib.sh: removed test mounting of btrfs and xfs
638 - no more "mknod" in the initramfs!!
639 - replaced all "tr" calls with "sed"
640 - speedup with lazy kernel module dependency resolving
641 - lots of speedup optimizations and last but not least
643 - new binary to significanlty speedup the installation process
644 - dracut-functions.sh makes use of it, if installed
649 - initqueue/online hook
650 - fixes for ifcfg write out
651 - rootfs-block: avoid remount when options don't change
652 - Debian multiarch support
653 - virtfs root filesystem support
654 - cope with systemd-udevd
655 - mount tmpfs with strictatime
656 - include all kernel/drivers/net/phy drivers
657 - add debug_on() and debug_off() functions
658 - add arguments for source_hook() and source_all()
660 - plymouth: get consoledev from /sys/class/tty/console/active
661 - experimental systemd dracut module for systemd in the initramfs
662 - install xhci-hcd kernel module
663 - dracut: new "--mount" option
664 - lsinitrd: new option --printsize
665 - ARM storage kernel modules added
666 - s390 cms conf file support
667 - /etc/initrd-release in the initrd
669 - full bonding and bridge support
670 - removed scsi_wait_scan kernel module from standard install
671 - support rd.luks.allow-discards and honor options in crypttab
676 - lvm: ignore lvm mirrors
677 - lsinitrd: handle LZMA images
678 - iscsi: add rd.iscsi.param
679 - iscsi: add iscsi interface binding
680 - new module cms to read and handle z-Series cms config files
681 - fixed fstab.sys handling
682 - new dracut option "--tmpdir"
683 - new dracut option "--no-hostonly"
684 - nbd: name based nbd connects
685 - converted manpage and documentation source to asciidoc
686 - write-ifcfg fixes and cleanups
687 - ifup is now done in the initqueue
689 - initqueue/online is now for hooks, which require network
690 - no more /tmp/root.info
691 - 98pollcdrom: factored out the ugly cdrom polling in the main loop
692 - simplified rd.luks.uuid testing
693 - removed "egrep" and "ls" calls
694 - speedup kernel module installation
695 - make bzip2 optional
700 - a _lot_ faster than dracut-016 in image creation
701 - systemd service dracut-shutdown.service
703 - ssh-client module install fix
704 - root=iscsi:... fixed
705 - lots of restructuring and optimizing in dracut-functions.sh
706 - usrmount: honor fs_passno in /etc/fstab
707 - renamed all shell scripts to .sh
708 - new option "--omit-drivers" and config option "omit_drivers"
709 - hostonly mode fixups
714 - honor binaries in sbin first
715 - fixed usrmount module
716 - added systemd service for shutdown
717 - fixed terminfo on distros with /usr/share/terminfo
718 - reload udev rules after "pre-trigger" hook
719 - improved test suite
720 - new parameter "--omit-drivers" and new conf param omit_drivers
721 - "--offroot" support for mdraid
722 - new libs: net-lib.sh, nfs-lib.sh, url-lib.sh, img-lib.sh
723 full of functions to use in your dracut module
727 - hostonly mode automatically adds command line options for root and /usr
728 - --add-fstab --mount parameters
730 - --ctty option: add job control
731 - cleanup /run/initramfs
733 - /sbin/ifup can be called directly
734 - support kernel modules compressed with xz
735 - s390 iscsi modules added
737 - lsinitrd can handle concatened images
738 - lsinitrd can sort by size
742 - new dracut arguments:
751 - new kernel options:
755 - dracut move from /sbin to /usr/bin
756 - dracut modules dir moved from /usr/share/dracut to /usr/lib/dracut
757 - profiling with "dracut --profile"
758 - new TEST-16-DMSQUASH, test for Fedora LiveCDs
759 - speedup of initramfs creation
760 - ask_for_password fallback to CLI
761 - mdraid completely switched to incremental assembly
762 - no more cdrom polling
763 - "switch_root" breakpoint is now very late
766 - fs-lib dracut module for fscks added
767 - xen dracut module removed
768 - usb mass storage kernel drivers now included
769 - usrmount dracut module added:
770 mount /usr if found in /sysroot/etc/fstab
771 - only include fsck helper needed for hostonly
772 - fcoe: support for bnx2fc
773 - support iSCSI drivers: qla4xxx, cxgb3i, cxgb4i, bnx2i, be2iscsi
774 - fips-aesni dracut module added
775 - add install_items to dracut.conf
776 install_items+=" <file>[ <file> ...] "
777 - speedup internal testsuite
778 - internal testsuite: store temporary data in a temporary dir
782 - speedup of initramfs creation
783 - fixed inst_dir for symbolic links
784 - add unix kernel module
788 - better fsck handling
789 - fixed wait condition for LVM volumes
790 - fix for hardlinks (welcome Debian! :-)
792 - automatic busybox symlink creation
793 - try to mount /usr, if init points to a path in /usr
794 - btrfs with multiple devices
795 - "--force-add" option for dracut, to force-add dracut modules,
796 without hostonly checks
797 - lsinitrd also display the initramfs size in human readable form
798 - livenet module, to mount live-isos over http
799 - masterkey,ecryptfs,integrity security modules
800 - initqueue/timeout queue e.g. for starting degraded raids
801 - "make rpm" creates an rpm with an increasing release number from any
803 - support lvm mirrors
804 - start degraded lvm mirrors after a timeout
805 - start degraded md raids after a timeout
806 - getarg() now returns wildcards without file matching to the current fs
811 - use udev-168 features for shutting down udev
812 - introduce "--prefix" to put all initramfs files in e.g "/run/initramfs"
813 - new shutdown script (called by systemd >= 030) to disassemble the root device
815 - new module for gpg-encrypted keys - 91crypt-gpg
820 - plymouth: use /run/plymouth/pid instead of /run/initramfs/plymouth
821 - add "/lib/firmware/updates" to default firmware path
828 - better argument handling
831 - hooks moved to /lib/dracut/hooks in initramfs
832 - rd.driver.{blacklist|pre|post} accept comma separated driver list
833 - iSCSI: iSCSI Boot Firmware Table (iBFT) support
835 - live image: support for generic rootfs.img (instead of ext3fs.img)
841 - removed --ignore-kernel-modules option (no longer necessary)
842 - renamed kernel command line arguments to follow the rd. naming scheme
843 - merged check, install, installkernel to module-setup.sh
844 - support for bzip2 and xz compressed initramfs images.
845 - source code beautification
846 - lots of documentation
847 - lsinitrd: "catinitrd" functionality
848 - dracut: --list-modules
849 - lvm: support for dynamic LVM SNAPSHOT root volume
850 - 95fstab-sys: mount all /etc/fstab.sys volumes before switch_root
851 - 96insmodpost dracut module
852 - rd.shell=1 per default
853 - rootfs-block:mount-root.sh add fsck
854 - busybox shell replacements module
855 - honor old "real_init="
856 - 97biosdevname dracut module
860 - module i18n is no longer fedora/red hat specific (Amadeusz Żołnowski)
861 - distribution specific conf file
863 - debug module now has fsck
864 - use "hardlink", if available, to save some space
865 - /etc/dracut.conf can be overwritten by settings in /etc/dracut.conf.d/*.conf
866 - gentoo splash module
867 - --ignore-kernel-modules option
868 - crypto keys on external devices support
873 - fixed mdraid with IMSM
874 - fixed dracut manpages
875 - dmraid parse different error messages
876 - add cdrom polling mechanism for slow cdroms
878 - add btrfsctl scan for btrfs multi-devices (raid)
879 - teach dmsquash live-root to use rootflags
880 - trigger udev with action=add
881 - fixed add_drivers handling
883 - use pigz instead of gzip, if available
884 - boot from LVM mirrors and snapshots
885 - iscsi: add support for multiple netroot=iscsi:
886 - Support old version of module-init-tools
887 - got rid of rdnetdebug
889 - dracut.conf: use "+=" as default for config variables
894 - dcb support to dracut's FCoE support
895 - add readonly overlay support for dmsquash
896 - add keyboard kernel modules
897 - dracut.conf: added add_dracutmodules
898 - add /etc/dracut.conf.d
899 - add preliminary IPv6 support
904 - dracut-lib: read multiple lines from $init/etc/cmdline
905 - lsinitrd and mkinitrd
906 - dmsquash: add support for loopmounted *.iso files
907 - lvm: add rd_LVM_LV and "--poll n"
908 - user suspend support
909 - add additional drivers in host-only mode, too
910 - improved emergency shell
911 - support for compressed kernel modules
912 - support for loading Xen modules
913 - rdloaddriver kernel command line parameter
914 - man pages for dracut-catimages and dracut-gencmdline
919 - add debian package modules
920 - add dracut.conf manpage
921 - add module 90multipath
923 - crypt: ignore devices in /etc/crypttab (root is not in there)
924 unless rd_NO_CRYPTTAB is specified
925 - kernel-modules: add scsi_dh scsi_dh_rdac scsi_dh_emc
926 - add multinic support
927 - add s390 zfcp support
928 - add s390 dasd support
929 - add s390 network support
930 - fixed dracut-gencmdline for root=UUID or LABEL
931 - do not destroy assembled raid arrays if mdadm.conf present
933 - let udevd not resolve group and user names
934 - moved network from udev to initqueue
935 - improved debug output: specifying "rdinitdebug" now logs
936 to dmesg, console and /init.log
937 - strip kernel modules which have no x bit set
938 - redirect stdin, stdout, stderr all RW to /dev/console
939 so the user can use "less" to view /init.log and dmesg
940 - add new device mapper udev rules and dmeventd
941 - fixed dracut-gencmdline for root=UUID or LABEL
942 - do not destroy assembled raid arrays if mdadm.conf present
944 - let udevd not resolve group and user names
945 - preserve timestamps of tools on initramfs generation
946 - generate symlinks for binaries correctly
947 - moved network from udev to initqueue
948 - mount nfs3 with nfsvers=3 option and retry with nfsvers=2
949 - fixed nbd initqueue-finished
950 - improved debug output: specifying "rdinitdebug" now logs
951 to dmesg, console and /init.log
952 - strip kernel modules which have no x bit set
953 - redirect stdin, stdout, stderr all RW to /dev/console
954 so the user can use "less" to view /init.log and dmesg
955 - make install of new dm/lvm udev rules optionally
956 - add new device mapper udev rules and dmeventd
957 - Fix LiveCD boot regression
958 - bail out if selinux policy could not be loaded and
959 selinux=0 not specified on kernel command line
960 - do not cleanup dmraids
965 - add ifname= argument for persistent netdev names
966 - new /initqueue-finished to check if the main loop can be left
967 - copy mdadm.conf if --mdadmconf set or mdadmconf in dracut.conf
968 - plymouth: use plymouth-populate-initrd
969 - add add_drivers for dracut and dracut.conf
970 - add modprobe scsi_wait_scan to be sure everything was scanned
971 - fix for several problems with md raid containers
972 - fix for selinux policy loading
973 - fix for mdraid for IMSM
974 - fix for bug, which prevents installing 61-persistent-storage.rules (bug #520109)
975 - fix for missing grep for md
979 - better --hostonly checks
980 - better lvm/mdraid/dmraid handling
981 - fcoe booting support
982 Supported cmdline formats:
983 fcoe=<networkdevice>:<dcb|nodcb>
984 fcoe=<macaddress>:<dcb|nodcb>
986 Note currently only nodcb is supported, the dcb option is reserved for
989 Note letters in the macaddress must be lowercase!
993 fcoe=4A:3F:4C:04:F8:D7:nodcb
995 - Syslog support for dracut
996 This module provides syslog functionality in the initrd.
997 This is especially interesting when complex configuration being
998 used to provide access to the device the rootfs resides on.
1003 - let plymouth attach to the terminal (nice text output now)
1004 - new kernel command line parameter "rdinfo" show dracut output, even when
1005 "quiet" is specified
1006 - rd_LUKS_UUID is now handled correctly
1007 - dracut-gencmdline: rd_LUKS_UUID and rd_MD_UUID is now correctly generated
1008 - now generates initrd-generic with around 15MB
1013 - iSCSI with username and password
1014 - support for live images (dmsquashed live images)
1015 - iscsi_firmware fixes
1021 - dracut: strip binaries in initramfs
1024 strip binaries in the initramfs (default)
1027 do not strip binaries in the initramfs
1030 Usage: ./dracut-catimages [OPTION]... <initramfs> <base image>
1032 Creates initial ramdisk image by concatenating several images from the
1034 line and /boot/dracut/
1036 -f, --force Overwrite existing initramfs file.
1037 -i, --imagedir Directory with additional images to add
1038 (default: /boot/dracut/)
1039 -o, --overlaydir Overlay directory, which contains files that
1040 will be used to create an additional image
1041 --nooverlay Do not use the overlay directory
1042 --noimagedir Do not use the additional image directory
1043 -h, --help This message
1044 --debug Output debug information of the build process
1045 -v, --verbose Verbose output during the build process
1051 - dracut: add --kernel-only and --no-kernel arguments
1054 only install kernel drivers and firmware files
1057 do not install kernel drivers and firmware files
1059 All kernel module related install commands moved from "install"
1062 For "--kernel-only" all installkernel scripts of the specified
1063 modules are used, regardless of any checks, so that all modules
1064 which might be needed by any dracut generic image are in.
1066 The basic idea is to create two images. One image with the kernel
1067 modules and one without. So if the kernel changes, you only have
1068 to replace one image.
1070 Grub and the kernel can handle multiple images, so grub entry can
1073 title Fedora (2.6.29.5-191.fc11.i586)
1075 kernel /vmlinuz-2.6.29.5-191.fc11.i586 ro rhgb quiet
1076 initrd /initrd-20090722.img /initrd-kernel-2.6.29.5-191.fc11.i586.img /initrd-config.img
1079 the image provided by the initrd rpm
1080 one old backup version is kept like with the kernel
1082 initrd-kernel-2.6.29.5-191.fc11.i586.img
1083 the image provided by the kernel rpm
1086 optional image with local configuration files
1088 - dracut: add --kmoddir directory, where to look for kernel modules
1091 specify the directory, where to look for kernel modules
1097 - more generic (all plymouth modules, all keyboards, all console fonts)
1098 - more kernel command line parameters (see also man dracut(8))
1099 - a helper tool, which generates the kernel command line (dracut-gencmdline)
1100 - bridged network boot
1101 - a lot of new command line parameter
1106 - firmware loading support
1107 - new internal queue (initqueue)
1108 initqueue now loops until /dev/root exists or root is mounted
1110 init now has the following points to inject scripts:
1113 scripts for command line parsing
1116 scripts to run before udev is started
1119 scripts to run before the main udev trigger is pulled
1122 runs in parallel to the udev trigger
1123 Udev events can add scripts here with /sbin/initqueue.
1124 If /sbin/initqueue is called with the "--onetime" option, the script
1125 will be removed after it was run.
1126 If /initqueue/work is created and udev >= 143 then this loop can
1127 process the jobs in parallel to the udevtrigger.
1128 If the udev queue is empty and no root device is found or no root
1129 filesystem was mounted, the user will be dropped to a shell after
1131 Scripts can remove themselves from the initqueue by "rm $job".
1134 scripts to run before the root filesystem is mounted
1135 NFS is an exception, because it has no device node to be created
1136 and mounts in the udev events
1139 scripts to mount the root filesystem
1140 NFS is an exception, because it has no device node to be created
1141 and mounts in the udev events
1142 If the udev queue is empty and no root device is found or no root
1143 filesystem was mounted, the user will be dropped to a shell after
1147 scripts to run before the real init is executed and the initramfs
1149 All processes started before should be killed here.
1151 The behaviour of the dmraid module demonstrates how to use the new
1152 mechanism. If it detects a device which is part of a raidmember from a
1153 udev rule, it installs a job to scan for dmraid devices, if the udev
1154 queue is empty. After a scan, it removes itsself from the queue.
1161 - first public version