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