3 - changed rd.dasd kernel parameter
4 - arm kernel modules added to kernel-modules
5 - make udevdir systemdutildir systemdsystemunitdir global vars
6 your distribution should ship those settings in
7 /etc/dracut.conf.d/01-distro.conf
8 see dracut.conf.d/fedora.conf.example
9 - kernel modules are now only handled with /sys/modules and modules.dep
11 - mdraid: wait for md devices to be clean, before shutdown
13 - add PARTUUID as root=PARTUUID=<partition uuid> parameter
14 - fixed instmods() return code and set pipefail globally
15 - add 04watchdog dracut module
16 - dracut-shutdown.service: fixed ordering to be before shutdown.target
17 - make use of "ln -r" instead of shell functions, if new coreutils is installed
18 - network: support vlan tagged bonding
19 - new dracut module qemu and qemu-net to install all kernel driver
20 - fs-lib/fs-lib.sh: removed test mounting of btrfs and xfs
21 - no more "mknod" in the initramfs!!
22 - replaced all "tr" calls with "sed"
23 - speedup with lazy kernel module dependency resolving
24 - lots of speedup optimizations and last but not least
26 - new binary to significanlty speedup the installation process
27 - dracut-functions.sh makes use of it, if installed
32 - initqueue/online hook
33 - fixes for ifcfg write out
34 - rootfs-block: avoid remount when options don't change
35 - Debian multiarch support
36 - virtfs root filesystem support
37 - cope with systemd-udevd
38 - mount tmpfs with strictatime
39 - include all kernel/drivers/net/phy drivers
40 - add debug_on() and debug_off() functions
41 - add arguments for source_hook() and source_all()
43 - plymouth: get consoledev from /sys/class/tty/console/active
44 - experimental systemd dracut module for systemd in the initramfs
45 - install xhci-hcd kernel module
46 - dracut: new "--mount" option
47 - lsinitrd: new option --printsize
48 - ARM storage kernel modules added
49 - s390 cms conf file support
50 - /etc/initrd-release in the initrd
52 - full bonding and bridge support
53 - removed scsi_wait_scan kernel module from standard install
54 - support rd.luks.allow-discards and honor options in crypttab
59 - lvm: ignore lvm mirrors
60 - lsinitrd: handle LZMA images
61 - iscsi: add rd.iscsi.param
62 - iscsi: add iscsi interface binding
63 - new module cms to read and handle z-Series cms config files
64 - fixed fstab.sys handling
65 - new dracut option "--tmpdir"
66 - new dracut option "--no-hostonly"
67 - nbd: name based nbd connects
68 - converted manpage and documentation source to asciidoc
69 - write-ifcfg fixes and cleanups
70 - ifup is now done in the initqueue
72 - initqueue/online is now for hooks, which require network
73 - no more /tmp/root.info
74 - 98pollcdrom: factored out the ugly cdrom polling in the main loop
75 - simplified rd.luks.uuid testing
76 - removed "egrep" and "ls" calls
77 - speedup kernel module installation
83 - a _lot_ faster than dracut-016 in image creation
84 - systemd service dracut-shutdown.service
86 - ssh-client module install fix
87 - root=iscsi:... fixed
88 - lots of restructuring and optimizing in dracut-functions.sh
89 - usrmount: honor fs_passno in /etc/fstab
90 - renamed all shell scripts to .sh
91 - new option "--omit-drivers" and config option "omit_drivers"
92 - hostonly mode fixups
97 - honor binaries in sbin first
98 - fixed usrmount module
99 - added systemd service for shutdown
100 - fixed terminfo on distros with /usr/share/terminfo
101 - reload udev rules after "pre-trigger" hook
102 - improved test suite
103 - new parameter "--omit-drivers" and new conf param omit_drivers
104 - "--offroot" support for mdraid
105 - new libs: net-lib.sh, nfs-lib.sh, url-lib.sh, img-lib.sh
106 full of functions to use in your dracut module
110 - hostonly mode automatically adds command line options for root and /usr
111 - --add-fstab --mount parameters
113 - --ctty option: add job control
114 - cleanup /run/initramfs
116 - /sbin/ifup can be called directly
117 - support kernel modules compressed with xz
118 - s390 iscsi modules added
120 - lsinitrd can handle concatened images
121 - lsinitrd can sort by size
125 - new dracut arguments:
134 - new kernel options:
138 - dracut move from /sbin to /usr/bin
139 - dracut modules dir moved from /usr/share/dracut to /usr/lib/dracut
140 - profiling with "dracut --profile"
141 - new TEST-16-DMSQUASH, test for Fedora LiveCDs
142 - speedup of initramfs creation
143 - ask_for_password fallback to CLI
144 - mdraid completely switched to incremental assembly
145 - no more cdrom polling
146 - "switch_root" breakpoint is now very late
149 - fs-lib dracut module for fscks added
150 - xen dracut module removed
151 - usb mass storage kernel drivers now included
152 - usrmount dracut module added:
153 mount /usr if found in /sysroot/etc/fstab
154 - only include fsck helper needed for hostonly
155 - fcoe: support for bnx2fc
156 - support iSCSI drivers: qla4xxx, cxgb3i, cxgb4i, bnx2i, be2iscsi
157 - fips-aesni dracut module added
158 - add install_items to dracut.conf
159 install_items+=" <file>[ <file> ...] "
160 - speedup internal testsuite
161 - internal testsuite: store temporary data in a temporary dir
165 - speedup of initramfs creation
166 - fixed inst_dir for symbolic links
167 - add unix kernel module
171 - better fsck handling
172 - fixed wait condition for LVM volumes
173 - fix for hardlinks (welcome Debian! :-)
175 - automatic busybox symlink creation
176 - try to mount /usr, if init points to a path in /usr
177 - btrfs with multiple devices
178 - "--force-add" option for dracut, to force-add dracut modules,
179 without hostonly checks
180 - lsinitrd also display the initramfs size in human readable form
181 - livenet module, to mount live-isos over http
182 - masterkey,ecryptfs,integrity security modules
183 - initqueue/timeout queue e.g. for starting degraded raids
184 - "make rpm" creates an rpm with an increasing release number from any
186 - support lvm mirrors
187 - start degraded lvm mirrors after a timeout
188 - start degraded md raids after a timeout
189 - getarg() now returns wildcards without file matching to the current fs
194 - use udev-168 features for shutting down udev
195 - introduce "--prefix" to put all initramfs files in e.g "/run/initramfs"
196 - new shutdown script (called by systemd >= 030) to disassemble the root device
198 - new module for gpg-encrypted keys - 91crypt-gpg
203 - plymouth: use /run/plymouth/pid instead of /run/initramfs/plymouth
204 - add "/lib/firmware/updates" to default firmware path
211 - better argument handling
214 - hooks moved to /lib/dracut/hooks in initramfs
215 - rd.driver.{blacklist|pre|post} accept comma separated driver list
216 - iSCSI: iSCSI Boot Firmware Table (iBFT) support
218 - live image: support for generic rootfs.img (instead of ext3fs.img)
224 - removed --ignore-kernel-modules option (no longer necessary)
225 - renamed kernel command line arguments to follow the rd. naming scheme
226 - merged check, install, installkernel to module-setup.sh
227 - support for bzip2 and xz compressed initramfs images.
228 - source code beautification
229 - lots of documentation
230 - lsinitrd: "catinitrd" functionality
231 - dracut: --list-modules
232 - lvm: support for dynamic LVM SNAPSHOT root volume
233 - 95fstab-sys: mount all /etc/fstab.sys volumes before switch_root
234 - 96insmodpost dracut module
235 - rd.shell=1 per default
236 - rootfs-block:mount-root.sh add fsck
237 - busybox shell replacements module
238 - honor old "real_init="
239 - 97biosdevname dracut module
243 - module i18n is no longer fedora/red hat specific (Amadeusz Żołnowski)
244 - distribution specific conf file
246 - debug module now has fsck
247 - use "hardlink", if available, to save some space
248 - /etc/dracut.conf can be overwritten by settings in /etc/dracut.conf.d/*.conf
249 - gentoo splash module
250 - --ignore-kernel-modules option
251 - crypto keys on external devices support
256 - fixed mdraid with IMSM
257 - fixed dracut manpages
258 - dmraid parse different error messages
259 - add cdrom polling mechanism for slow cdroms
261 - add btrfsctl scan for btrfs multi-devices (raid)
262 - teach dmsquash live-root to use rootflags
263 - trigger udev with action=add
264 - fixed add_drivers handling
266 - use pigz instead of gzip, if available
267 - boot from LVM mirrors and snapshots
268 - iscsi: add support for multiple netroot=iscsi:
269 - Support old version of module-init-tools
270 - got rid of rdnetdebug
272 - dracut.conf: use "+=" as default for config variables
277 - dcb support to dracut's FCoE support
278 - add readonly overlay support for dmsquash
279 - add keyboard kernel modules
280 - dracut.conf: added add_dracutmodules
281 - add /etc/dracut.conf.d
282 - add preliminary IPv6 support
287 - dracut-lib: read multiple lines from $init/etc/cmdline
288 - lsinitrd and mkinitrd
289 - dmsquash: add support for loopmounted *.iso files
290 - lvm: add rd_LVM_LV and "--poll n"
291 - user suspend support
292 - add additional drivers in host-only mode, too
293 - improved emergency shell
294 - support for compressed kernel modules
295 - support for loading Xen modules
296 - rdloaddriver kernel command line parameter
297 - man pages for dracut-catimages and dracut-gencmdline
302 - add debian package modules
303 - add dracut.conf manpage
304 - add module 90multipath
306 - crypt: ignore devices in /etc/crypttab (root is not in there)
307 unless rd_NO_CRYPTTAB is specified
308 - kernel-modules: add scsi_dh scsi_dh_rdac scsi_dh_emc
309 - add multinic support
310 - add s390 zfcp support
311 - add s390 dasd support
312 - add s390 network support
313 - fixed dracut-gencmdline for root=UUID or LABEL
314 - do not destroy assembled raid arrays if mdadm.conf present
316 - let udevd not resolve group and user names
317 - moved network from udev to initqueue
318 - improved debug output: specifying "rdinitdebug" now logs
319 to dmesg, console and /init.log
320 - strip kernel modules which have no x bit set
321 - redirect stdin, stdout, stderr all RW to /dev/console
322 so the user can use "less" to view /init.log and dmesg
323 - add new device mapper udev rules and dmeventd
324 - fixed dracut-gencmdline for root=UUID or LABEL
325 - do not destroy assembled raid arrays if mdadm.conf present
327 - let udevd not resolve group and user names
328 - preserve timestamps of tools on initramfs generation
329 - generate symlinks for binaries correctly
330 - moved network from udev to initqueue
331 - mount nfs3 with nfsvers=3 option and retry with nfsvers=2
332 - fixed nbd initqueue-finished
333 - improved debug output: specifying "rdinitdebug" now logs
334 to dmesg, console and /init.log
335 - strip kernel modules which have no x bit set
336 - redirect stdin, stdout, stderr all RW to /dev/console
337 so the user can use "less" to view /init.log and dmesg
338 - make install of new dm/lvm udev rules optionally
339 - add new device mapper udev rules and dmeventd
340 - Fix LiveCD boot regression
341 - bail out if selinux policy could not be loaded and
342 selinux=0 not specified on kernel command line
343 - do not cleanup dmraids
348 - add ifname= argument for persistent netdev names
349 - new /initqueue-finished to check if the main loop can be left
350 - copy mdadm.conf if --mdadmconf set or mdadmconf in dracut.conf
351 - plymouth: use plymouth-populate-initrd
352 - add add_drivers for dracut and dracut.conf
353 - add modprobe scsi_wait_scan to be sure everything was scanned
354 - fix for several problems with md raid containers
355 - fix for selinux policy loading
356 - fix for mdraid for IMSM
357 - fix for bug, which prevents installing 61-persistent-storage.rules (bug #520109)
358 - fix for missing grep for md
362 - better --hostonly checks
363 - better lvm/mdraid/dmraid handling
364 - fcoe booting support
365 Supported cmdline formats:
366 fcoe=<networkdevice>:<dcb|nodcb>
367 fcoe=<macaddress>:<dcb|nodcb>
369 Note currently only nodcb is supported, the dcb option is reserved for
372 Note letters in the macaddress must be lowercase!
376 fcoe=4A:3F:4C:04:F8:D7:nodcb
378 - Syslog support for dracut
379 This module provides syslog functionality in the initrd.
380 This is especially interesting when complex configuration being
381 used to provide access to the device the rootfs resides on.
386 - let plymouth attach to the terminal (nice text output now)
387 - new kernel command line parameter "rdinfo" show dracut output, even when
389 - rd_LUKS_UUID is now handled correctly
390 - dracut-gencmdline: rd_LUKS_UUID and rd_MD_UUID is now correctly generated
391 - now generates initrd-generic with around 15MB
396 - iSCSI with username and password
397 - support for live images (dmsquashed live images)
398 - iscsi_firmware fixes
404 - dracut: strip binaries in initramfs
407 strip binaries in the initramfs (default)
410 do not strip binaries in the initramfs
413 Usage: ./dracut-catimages [OPTION]... <initramfs> <base image>
415 Creates initial ramdisk image by concatenating several images from the
417 line and /boot/dracut/
419 -f, --force Overwrite existing initramfs file.
420 -i, --imagedir Directory with additional images to add
421 (default: /boot/dracut/)
422 -o, --overlaydir Overlay directory, which contains files that
423 will be used to create an additional image
424 --nooverlay Do not use the overlay directory
425 --noimagedir Do not use the additional image directory
426 -h, --help This message
427 --debug Output debug information of the build process
428 -v, --verbose Verbose output during the build process
434 - dracut: add --kernel-only and --no-kernel arguments
437 only install kernel drivers and firmware files
440 do not install kernel drivers and firmware files
442 All kernel module related install commands moved from "install"
445 For "--kernel-only" all installkernel scripts of the specified
446 modules are used, regardless of any checks, so that all modules
447 which might be needed by any dracut generic image are in.
449 The basic idea is to create two images. One image with the kernel
450 modules and one without. So if the kernel changes, you only have
451 to replace one image.
453 Grub and the kernel can handle multiple images, so grub entry can
456 title Fedora (2.6.29.5-191.fc11.i586)
458 kernel /vmlinuz-2.6.29.5-191.fc11.i586 ro rhgb quiet
459 initrd /initrd-20090722.img /initrd-kernel-2.6.29.5-191.fc11.i586.img /initrd-config.img
462 the image provided by the initrd rpm
463 one old backup version is kept like with the kernel
465 initrd-kernel-2.6.29.5-191.fc11.i586.img
466 the image provided by the kernel rpm
469 optional image with local configuration files
471 - dracut: add --kmoddir directory, where to look for kernel modules
474 specify the directory, where to look for kernel modules
480 - more generic (all plymouth modules, all keyboards, all console fonts)
481 - more kernel command line parameters (see also man dracut(8))
482 - a helper tool, which generates the kernel command line (dracut-gencmdline)
483 - bridged network boot
484 - a lot of new command line parameter
489 - firmware loading support
490 - new internal queue (initqueue)
491 initqueue now loops until /dev/root exists or root is mounted
493 init now has the following points to inject scripts:
496 scripts for command line parsing
499 scripts to run before udev is started
502 scripts to run before the main udev trigger is pulled
505 runs in parallel to the udev trigger
506 Udev events can add scripts here with /sbin/initqueue.
507 If /sbin/initqueue is called with the "--onetime" option, the script
508 will be removed after it was run.
509 If /initqueue/work is created and udev >= 143 then this loop can
510 process the jobs in parallel to the udevtrigger.
511 If the udev queue is empty and no root device is found or no root
512 filesystem was mounted, the user will be dropped to a shell after
514 Scripts can remove themselves from the initqueue by "rm $job".
517 scripts to run before the root filesystem is mounted
518 NFS is an exception, because it has no device node to be created
519 and mounts in the udev events
522 scripts to mount the root filesystem
523 NFS is an exception, because it has no device node to be created
524 and mounts in the udev events
525 If the udev queue is empty and no root device is found or no root
526 filesystem was mounted, the user will be dropped to a shell after
530 scripts to run before the real init is executed and the initramfs
532 All processes started before should be killed here.
534 The behaviour of the dmraid module demonstrates how to use the new
535 mechanism. If it detects a device which is part of a raidmember from a
536 udev rule, it installs a job to scan for dmraid devices, if the udev
537 queue is empty. After a scan, it removes itsself from the queue.
544 - first public version