6 - better argument handling
9 - hooks moved to /lib/dracut/hooks in initramfs
10 - rd.driver.{blacklist|pre|post} accept comma seperated driver list
11 - iSCSI: iSCSI Boot Firmware Table (iBFT) support
13 - live image: support for generic rootfs.img (instead of ext3fs.img)
19 - removed --ignore-kernel-modules option (no longer necessary)
20 - renamed kernel command line arguments to follow the rd. naming scheme
21 - merged check, install, installkernel to module-setup.sh
22 - support for bzip2 and xz compressed initramfs images.
23 - source code beautification
24 - lots of documentation
25 - lsinitrd: "catinitrd" functionality
26 - dracut: --list-modules
27 - lvm: support for dynamic LVM SNAPSHOT root volume
28 - 95fstab-sys: mount all /etc/fstab.sys volumes before switch_root
29 - 96insmodpost dracut module
30 - rd.shell=1 per default
31 - rootfs-block:mount-root.sh add fsck
32 - busybox shell replacements module
33 - honor old "real_init="
34 - 97biosdevname dracut module
38 - module i18n is no longer fedora/red hat specific (Amadeusz Żołnowski)
39 - distribution specific conf file
41 - debug module now has fsck
42 - use "hardlink", if available, to save some space
43 - /etc/dracut.conf can be overwritten by settings in /etc/dracut.conf.d/*.conf
44 - gentoo splash module
45 - --ignore-kernel-modules option
46 - crypto keys on external devices support
51 - fixed mdraid with IMSM
52 - fixed dracut manpages
53 - dmraid parse different error messages
54 - add cdrom polling mechanism for slow cdroms
56 - add btrfsctl scan for btrfs multi-devices (raid)
57 - teach dmsquash live-root to use rootflags
58 - trigger udev with action=add
59 - fixed add_drivers handling
61 - use pigz instead of gzip, if available
62 - boot from LVM mirrors and snapshots
63 - iscsi: add support for multiple netroot=iscsi:
64 - Support old version of module-init-tools
65 - got rid of rdnetdebug
67 - dracut.conf: use "+=" as default for config variables
72 - dcb support to dracut's FCoE support
73 - add readonly overlay support for dmsquash
74 - add keyboard kernel modules
75 - dracut.conf: added add_dracutmodules
76 - add /etc/dracut.conf.d
77 - add preliminary IPv6 support
82 - dracut-lib: read multiple lines from $init/etc/cmdline
83 - lsinitrd and mkinitrd
84 - dmsquash: add support for loopmounted *.iso files
85 - lvm: add rd_LVM_LV and "--poll n"
86 - user suspend support
87 - add additional drivers in host-only mode, too
88 - improved emergency shell
89 - support for compressed kernel modules
90 - support for loading Xen modules
91 - rdloaddriver kernel command line parameter
92 - man pages for dracut-catimages and dracut-gencmdline
97 - add debian package modules
98 - add dracut.conf manpage
99 - add module 90multipath
101 - crypt: ignore devices in /etc/crypttab (root is not in there)
102 unless rd_NO_CRYPTTAB is specified
103 - kernel-modules: add scsi_dh scsi_dh_rdac scsi_dh_emc
104 - add multinic support
105 - add s390 zfcp support
106 - add s390 dasd support
107 - add s390 network support
108 - fixed dracut-gencmdline for root=UUID or LABEL
109 - do not destroy assembled raid arrays if mdadm.conf present
111 - let udevd not resolve group and user names
112 - moved network from udev to initqueue
113 - improved debug output: specifying "rdinitdebug" now logs
114 to dmesg, console and /init.log
115 - strip kernel modules which have no x bit set
116 - redirect stdin, stdout, stderr all RW to /dev/console
117 so the user can use "less" to view /init.log and dmesg
118 - add new device mapper udev rules and dmeventd
119 - fixed dracut-gencmdline for root=UUID or LABEL
120 - do not destroy assembled raid arrays if mdadm.conf present
122 - let udevd not resolve group and user names
123 - preserve timestamps of tools on initramfs generation
124 - generate symlinks for binaries correctly
125 - moved network from udev to initqueue
126 - mount nfs3 with nfsvers=3 option and retry with nfsvers=2
127 - fixed nbd initqueue-finished
128 - improved debug output: specifying "rdinitdebug" now logs
129 to dmesg, console and /init.log
130 - strip kernel modules which have no x bit set
131 - redirect stdin, stdout, stderr all RW to /dev/console
132 so the user can use "less" to view /init.log and dmesg
133 - make install of new dm/lvm udev rules optionally
134 - add new device mapper udev rules and dmeventd
135 - Fix LiveCD boot regression
136 - bail out if selinux policy could not be loaded and
137 selinux=0 not specified on kernel command line
138 - do not cleanup dmraids
143 - add ifname= argument for persistent netdev names
144 - new /initqueue-finished to check if the main loop can be left
145 - copy mdadm.conf if --mdadmconf set or mdadmconf in dracut.conf
146 - plymouth: use plymouth-populate-initrd
147 - add add_drivers for dracut and dracut.conf
148 - add modprobe scsi_wait_scan to be sure everything was scanned
149 - fix for several problems with md raid containers
150 - fix for selinux policy loading
151 - fix for mdraid for IMSM
152 - fix for bug, which prevents installing 61-persistent-storage.rules (bug #520109)
153 - fix for missing grep for md
157 - better --hostonly checks
158 - better lvm/mdraid/dmraid handling
159 - fcoe booting support
160 Supported cmdline formats:
161 fcoe=<networkdevice>:<dcb|nodcb>
162 fcoe=<macaddress>:<dcb|nodcb>
164 Note currently only nodcb is supported, the dcb option is reserved for
167 Note letters in the macaddress must be lowercase!
171 fcoe=4A:3F:4C:04:F8:D7:nodcb
173 - Syslog support for dracut
174 This module provides syslog functionality in the initrd.
175 This is especially interesting when complex configuration being
176 used to provide access to the device the rootfs resides on.
181 - let plymouth attach to the terminal (nice text output now)
182 - new kernel command line parameter "rdinfo" show dracut output, even when
184 - rd_LUKS_UUID is now handled correctly
185 - dracut-gencmdline: rd_LUKS_UUID and rd_MD_UUID is now correctly generated
186 - now generates initrd-generic with around 15MB
191 - iSCSI with username and password
192 - support for live images (dmsquashed live images)
193 - iscsi_firmware fixes
199 - dracut: strip binaries in initramfs
202 strip binaries in the initramfs (default)
205 do not strip binaries in the initramfs
208 Usage: ./dracut-catimages [OPTION]... <initramfs> <base image>
210 Creates initial ramdisk image by concatenating several images from the
212 line and /boot/dracut/
214 -f, --force Overwrite existing initramfs file.
215 -i, --imagedir Directory with additional images to add
216 (default: /boot/dracut/)
217 -o, --overlaydir Overlay directory, which contains files that
218 will be used to create an additional image
219 --nooverlay Do not use the overlay directory
220 --noimagedir Do not use the additional image directory
221 -h, --help This message
222 --debug Output debug information of the build process
223 -v, --verbose Verbose output during the build process
229 - dracut: add --kernel-only and --no-kernel arguments
232 only install kernel drivers and firmware files
235 do not install kernel drivers and firmware files
237 All kernel module related install commands moved from "install"
240 For "--kernel-only" all installkernel scripts of the specified
241 modules are used, regardless of any checks, so that all modules
242 which might be needed by any dracut generic image are in.
244 The basic idea is to create two images. One image with the kernel
245 modules and one without. So if the kernel changes, you only have
246 to replace one image.
248 Grub and the kernel can handle multiple images, so grub entry can
251 title Fedora (2.6.29.5-191.fc11.i586)
253 kernel /vmlinuz-2.6.29.5-191.fc11.i586 ro rhgb quiet
254 initrd /initrd-20090722.img /initrd-kernel-2.6.29.5-191.fc11.i586.img /initrd-config.img
257 the image provided by the initrd rpm
258 one old backup version is kept like with the kernel
260 initrd-kernel-2.6.29.5-191.fc11.i586.img
261 the image provided by the kernel rpm
264 optional image with local configuration files
266 - dracut: add --kmoddir directory, where to look for kernel modules
269 specify the directory, where to look for kernel modules
275 - more generic (all plymouth modules, all keyboards, all console fonts)
276 - more kernel command line parameters (see also man dracut(8))
277 - a helper tool, which generates the kernel command line (dracut-gencmdline)
278 - bridged network boot
279 - a lot of new command line parameter
284 - firmware loading support
285 - new internal queue (initqueue)
286 initqueue now loops until /dev/root exists or root is mounted
288 init now has the following points to inject scripts:
291 scripts for command line parsing
294 scripts to run before udev is started
297 scripts to run before the main udev trigger is pulled
300 runs in parallel to the udev trigger
301 Udev events can add scripts here with /sbin/initqueue.
302 If /sbin/initqueue is called with the "--onetime" option, the script
303 will be removed after it was run.
304 If /initqueue/work is created and udev >= 143 then this loop can
305 process the jobs in parallel to the udevtrigger.
306 If the udev queue is empty and no root device is found or no root
307 filesystem was mounted, the user will be dropped to a shell after
309 Scripts can remove themselves from the initqueue by "rm $job".
312 scripts to run before the root filesystem is mounted
313 NFS is an exception, because it has no device node to be created
314 and mounts in the udev events
317 scripts to mount the root filesystem
318 NFS is an exception, because it has no device node to be created
319 and mounts in the udev events
320 If the udev queue is empty and no root device is found or no root
321 filesystem was mounted, the user will be dropped to a shell after
325 scripts to run before the real init is executed and the initramfs
327 All processes started before should be killed here.
329 The behaviour of the dmraid module demonstrates how to use the new
330 mechanism. If it detects a device which is part of a raidmember from a
331 udev rule, it installs a job to scan for dmraid devices, if the udev
332 queue is empty. After a scan, it removes itsself from the queue.
339 - first public version