3 - fixed host-only kernel module bug
7 - fixed systemd in the initramfs (requires systemd >= 187)
8 - dracut-install: massive speedup with /var on the same filesystem with COW copy
9 - dracut-install: moved to /usr/lib/dracut until it becomes a general purpose tool
10 - new options: "rd.usrmount.ro" and "rd.skipfsck"
12 - apply "ro" on the kernel command line also to /usr
13 - mount according to fstab, if neither "ro" or "rw" is specified
14 - skip fsck for xfs and btrfs. remount is enough
15 - give emergency_shell if /usr mount failed
16 - dracut now uses getopt:
17 * options can be position independent now!!
18 * we can now use --option=<arg>
19 - added option "--kver=<kernel-version>", and the image location can be omitted
20 # dracut --kver 3.5.0-0.rc7.git1.2.fc18.x86_64
21 - dracut.sh: for --include copy also the symbolic links
22 - man pages: lsinitrd and mkinitrd added
23 - network: We do not support renaming in the kernel namespace anymore (as udev does
24 that not anymore). So, if a user wants to use ifname, he has to rename
25 to a custom namespace. "eth[0-9]+" is not allowed anymore. !!!!!
26 - resume: moved the resume process to the initqueue.
27 This should prevent accidently mounting the root file system.
28 - testsuite: add support for: make V=1 TESTS="01 20 40" check
29 $ sudo make V=1 clean check
30 now runs the testsuite in verbose mode
32 $ sudo make TESTS="01 20 40" clean check
33 now only runs the 01, 20 and 40 tests.
37 - changed rd.dasd kernel parameter
38 - arm kernel modules added to kernel-modules
39 - make udevdir systemdutildir systemdsystemunitdir global vars
40 your distribution should ship those settings in
41 /etc/dracut.conf.d/01-distro.conf
42 see dracut.conf.d/fedora.conf.example
43 - kernel modules are now only handled with /sys/modules and modules.dep
45 - mdraid: wait for md devices to be clean, before shutdown
47 - add PARTUUID as root=PARTUUID=<partition uuid> parameter
48 - fixed instmods() return code and set pipefail globally
49 - add 04watchdog dracut module
50 - dracut-shutdown.service: fixed ordering to be before shutdown.target
51 - make use of "ln -r" instead of shell functions, if new coreutils is installed
52 - network: support vlan tagged bonding
53 - new dracut module qemu and qemu-net to install all kernel driver
54 - fs-lib/fs-lib.sh: removed test mounting of btrfs and xfs
55 - no more "mknod" in the initramfs!!
56 - replaced all "tr" calls with "sed"
57 - speedup with lazy kernel module dependency resolving
58 - lots of speedup optimizations and last but not least
60 - new binary to significanlty speedup the installation process
61 - dracut-functions.sh makes use of it, if installed
66 - initqueue/online hook
67 - fixes for ifcfg write out
68 - rootfs-block: avoid remount when options don't change
69 - Debian multiarch support
70 - virtfs root filesystem support
71 - cope with systemd-udevd
72 - mount tmpfs with strictatime
73 - include all kernel/drivers/net/phy drivers
74 - add debug_on() and debug_off() functions
75 - add arguments for source_hook() and source_all()
77 - plymouth: get consoledev from /sys/class/tty/console/active
78 - experimental systemd dracut module for systemd in the initramfs
79 - install xhci-hcd kernel module
80 - dracut: new "--mount" option
81 - lsinitrd: new option --printsize
82 - ARM storage kernel modules added
83 - s390 cms conf file support
84 - /etc/initrd-release in the initrd
86 - full bonding and bridge support
87 - removed scsi_wait_scan kernel module from standard install
88 - support rd.luks.allow-discards and honor options in crypttab
93 - lvm: ignore lvm mirrors
94 - lsinitrd: handle LZMA images
95 - iscsi: add rd.iscsi.param
96 - iscsi: add iscsi interface binding
97 - new module cms to read and handle z-Series cms config files
98 - fixed fstab.sys handling
99 - new dracut option "--tmpdir"
100 - new dracut option "--no-hostonly"
101 - nbd: name based nbd connects
102 - converted manpage and documentation source to asciidoc
103 - write-ifcfg fixes and cleanups
104 - ifup is now done in the initqueue
106 - initqueue/online is now for hooks, which require network
107 - no more /tmp/root.info
108 - 98pollcdrom: factored out the ugly cdrom polling in the main loop
109 - simplified rd.luks.uuid testing
110 - removed "egrep" and "ls" calls
111 - speedup kernel module installation
112 - make bzip2 optional
117 - a _lot_ faster than dracut-016 in image creation
118 - systemd service dracut-shutdown.service
120 - ssh-client module install fix
121 - root=iscsi:... fixed
122 - lots of restructuring and optimizing in dracut-functions.sh
123 - usrmount: honor fs_passno in /etc/fstab
124 - renamed all shell scripts to .sh
125 - new option "--omit-drivers" and config option "omit_drivers"
126 - hostonly mode fixups
131 - honor binaries in sbin first
132 - fixed usrmount module
133 - added systemd service for shutdown
134 - fixed terminfo on distros with /usr/share/terminfo
135 - reload udev rules after "pre-trigger" hook
136 - improved test suite
137 - new parameter "--omit-drivers" and new conf param omit_drivers
138 - "--offroot" support for mdraid
139 - new libs: net-lib.sh, nfs-lib.sh, url-lib.sh, img-lib.sh
140 full of functions to use in your dracut module
144 - hostonly mode automatically adds command line options for root and /usr
145 - --add-fstab --mount parameters
147 - --ctty option: add job control
148 - cleanup /run/initramfs
150 - /sbin/ifup can be called directly
151 - support kernel modules compressed with xz
152 - s390 iscsi modules added
154 - lsinitrd can handle concatened images
155 - lsinitrd can sort by size
159 - new dracut arguments:
168 - new kernel options:
172 - dracut move from /sbin to /usr/bin
173 - dracut modules dir moved from /usr/share/dracut to /usr/lib/dracut
174 - profiling with "dracut --profile"
175 - new TEST-16-DMSQUASH, test for Fedora LiveCDs
176 - speedup of initramfs creation
177 - ask_for_password fallback to CLI
178 - mdraid completely switched to incremental assembly
179 - no more cdrom polling
180 - "switch_root" breakpoint is now very late
183 - fs-lib dracut module for fscks added
184 - xen dracut module removed
185 - usb mass storage kernel drivers now included
186 - usrmount dracut module added:
187 mount /usr if found in /sysroot/etc/fstab
188 - only include fsck helper needed for hostonly
189 - fcoe: support for bnx2fc
190 - support iSCSI drivers: qla4xxx, cxgb3i, cxgb4i, bnx2i, be2iscsi
191 - fips-aesni dracut module added
192 - add install_items to dracut.conf
193 install_items+=" <file>[ <file> ...] "
194 - speedup internal testsuite
195 - internal testsuite: store temporary data in a temporary dir
199 - speedup of initramfs creation
200 - fixed inst_dir for symbolic links
201 - add unix kernel module
205 - better fsck handling
206 - fixed wait condition for LVM volumes
207 - fix for hardlinks (welcome Debian! :-)
209 - automatic busybox symlink creation
210 - try to mount /usr, if init points to a path in /usr
211 - btrfs with multiple devices
212 - "--force-add" option for dracut, to force-add dracut modules,
213 without hostonly checks
214 - lsinitrd also display the initramfs size in human readable form
215 - livenet module, to mount live-isos over http
216 - masterkey,ecryptfs,integrity security modules
217 - initqueue/timeout queue e.g. for starting degraded raids
218 - "make rpm" creates an rpm with an increasing release number from any
220 - support lvm mirrors
221 - start degraded lvm mirrors after a timeout
222 - start degraded md raids after a timeout
223 - getarg() now returns wildcards without file matching to the current fs
228 - use udev-168 features for shutting down udev
229 - introduce "--prefix" to put all initramfs files in e.g "/run/initramfs"
230 - new shutdown script (called by systemd >= 030) to disassemble the root device
232 - new module for gpg-encrypted keys - 91crypt-gpg
237 - plymouth: use /run/plymouth/pid instead of /run/initramfs/plymouth
238 - add "/lib/firmware/updates" to default firmware path
245 - better argument handling
248 - hooks moved to /lib/dracut/hooks in initramfs
249 - rd.driver.{blacklist|pre|post} accept comma separated driver list
250 - iSCSI: iSCSI Boot Firmware Table (iBFT) support
252 - live image: support for generic rootfs.img (instead of ext3fs.img)
258 - removed --ignore-kernel-modules option (no longer necessary)
259 - renamed kernel command line arguments to follow the rd. naming scheme
260 - merged check, install, installkernel to module-setup.sh
261 - support for bzip2 and xz compressed initramfs images.
262 - source code beautification
263 - lots of documentation
264 - lsinitrd: "catinitrd" functionality
265 - dracut: --list-modules
266 - lvm: support for dynamic LVM SNAPSHOT root volume
267 - 95fstab-sys: mount all /etc/fstab.sys volumes before switch_root
268 - 96insmodpost dracut module
269 - rd.shell=1 per default
270 - rootfs-block:mount-root.sh add fsck
271 - busybox shell replacements module
272 - honor old "real_init="
273 - 97biosdevname dracut module
277 - module i18n is no longer fedora/red hat specific (Amadeusz Żołnowski)
278 - distribution specific conf file
280 - debug module now has fsck
281 - use "hardlink", if available, to save some space
282 - /etc/dracut.conf can be overwritten by settings in /etc/dracut.conf.d/*.conf
283 - gentoo splash module
284 - --ignore-kernel-modules option
285 - crypto keys on external devices support
290 - fixed mdraid with IMSM
291 - fixed dracut manpages
292 - dmraid parse different error messages
293 - add cdrom polling mechanism for slow cdroms
295 - add btrfsctl scan for btrfs multi-devices (raid)
296 - teach dmsquash live-root to use rootflags
297 - trigger udev with action=add
298 - fixed add_drivers handling
300 - use pigz instead of gzip, if available
301 - boot from LVM mirrors and snapshots
302 - iscsi: add support for multiple netroot=iscsi:
303 - Support old version of module-init-tools
304 - got rid of rdnetdebug
306 - dracut.conf: use "+=" as default for config variables
311 - dcb support to dracut's FCoE support
312 - add readonly overlay support for dmsquash
313 - add keyboard kernel modules
314 - dracut.conf: added add_dracutmodules
315 - add /etc/dracut.conf.d
316 - add preliminary IPv6 support
321 - dracut-lib: read multiple lines from $init/etc/cmdline
322 - lsinitrd and mkinitrd
323 - dmsquash: add support for loopmounted *.iso files
324 - lvm: add rd_LVM_LV and "--poll n"
325 - user suspend support
326 - add additional drivers in host-only mode, too
327 - improved emergency shell
328 - support for compressed kernel modules
329 - support for loading Xen modules
330 - rdloaddriver kernel command line parameter
331 - man pages for dracut-catimages and dracut-gencmdline
336 - add debian package modules
337 - add dracut.conf manpage
338 - add module 90multipath
340 - crypt: ignore devices in /etc/crypttab (root is not in there)
341 unless rd_NO_CRYPTTAB is specified
342 - kernel-modules: add scsi_dh scsi_dh_rdac scsi_dh_emc
343 - add multinic support
344 - add s390 zfcp support
345 - add s390 dasd support
346 - add s390 network support
347 - fixed dracut-gencmdline for root=UUID or LABEL
348 - do not destroy assembled raid arrays if mdadm.conf present
350 - let udevd not resolve group and user names
351 - moved network from udev to initqueue
352 - improved debug output: specifying "rdinitdebug" now logs
353 to dmesg, console and /init.log
354 - strip kernel modules which have no x bit set
355 - redirect stdin, stdout, stderr all RW to /dev/console
356 so the user can use "less" to view /init.log and dmesg
357 - add new device mapper udev rules and dmeventd
358 - fixed dracut-gencmdline for root=UUID or LABEL
359 - do not destroy assembled raid arrays if mdadm.conf present
361 - let udevd not resolve group and user names
362 - preserve timestamps of tools on initramfs generation
363 - generate symlinks for binaries correctly
364 - moved network from udev to initqueue
365 - mount nfs3 with nfsvers=3 option and retry with nfsvers=2
366 - fixed nbd initqueue-finished
367 - improved debug output: specifying "rdinitdebug" now logs
368 to dmesg, console and /init.log
369 - strip kernel modules which have no x bit set
370 - redirect stdin, stdout, stderr all RW to /dev/console
371 so the user can use "less" to view /init.log and dmesg
372 - make install of new dm/lvm udev rules optionally
373 - add new device mapper udev rules and dmeventd
374 - Fix LiveCD boot regression
375 - bail out if selinux policy could not be loaded and
376 selinux=0 not specified on kernel command line
377 - do not cleanup dmraids
382 - add ifname= argument for persistent netdev names
383 - new /initqueue-finished to check if the main loop can be left
384 - copy mdadm.conf if --mdadmconf set or mdadmconf in dracut.conf
385 - plymouth: use plymouth-populate-initrd
386 - add add_drivers for dracut and dracut.conf
387 - add modprobe scsi_wait_scan to be sure everything was scanned
388 - fix for several problems with md raid containers
389 - fix for selinux policy loading
390 - fix for mdraid for IMSM
391 - fix for bug, which prevents installing 61-persistent-storage.rules (bug #520109)
392 - fix for missing grep for md
396 - better --hostonly checks
397 - better lvm/mdraid/dmraid handling
398 - fcoe booting support
399 Supported cmdline formats:
400 fcoe=<networkdevice>:<dcb|nodcb>
401 fcoe=<macaddress>:<dcb|nodcb>
403 Note currently only nodcb is supported, the dcb option is reserved for
406 Note letters in the macaddress must be lowercase!
410 fcoe=4A:3F:4C:04:F8:D7:nodcb
412 - Syslog support for dracut
413 This module provides syslog functionality in the initrd.
414 This is especially interesting when complex configuration being
415 used to provide access to the device the rootfs resides on.
420 - let plymouth attach to the terminal (nice text output now)
421 - new kernel command line parameter "rdinfo" show dracut output, even when
423 - rd_LUKS_UUID is now handled correctly
424 - dracut-gencmdline: rd_LUKS_UUID and rd_MD_UUID is now correctly generated
425 - now generates initrd-generic with around 15MB
430 - iSCSI with username and password
431 - support for live images (dmsquashed live images)
432 - iscsi_firmware fixes
438 - dracut: strip binaries in initramfs
441 strip binaries in the initramfs (default)
444 do not strip binaries in the initramfs
447 Usage: ./dracut-catimages [OPTION]... <initramfs> <base image>
449 Creates initial ramdisk image by concatenating several images from the
451 line and /boot/dracut/
453 -f, --force Overwrite existing initramfs file.
454 -i, --imagedir Directory with additional images to add
455 (default: /boot/dracut/)
456 -o, --overlaydir Overlay directory, which contains files that
457 will be used to create an additional image
458 --nooverlay Do not use the overlay directory
459 --noimagedir Do not use the additional image directory
460 -h, --help This message
461 --debug Output debug information of the build process
462 -v, --verbose Verbose output during the build process
468 - dracut: add --kernel-only and --no-kernel arguments
471 only install kernel drivers and firmware files
474 do not install kernel drivers and firmware files
476 All kernel module related install commands moved from "install"
479 For "--kernel-only" all installkernel scripts of the specified
480 modules are used, regardless of any checks, so that all modules
481 which might be needed by any dracut generic image are in.
483 The basic idea is to create two images. One image with the kernel
484 modules and one without. So if the kernel changes, you only have
485 to replace one image.
487 Grub and the kernel can handle multiple images, so grub entry can
490 title Fedora (2.6.29.5-191.fc11.i586)
492 kernel /vmlinuz-2.6.29.5-191.fc11.i586 ro rhgb quiet
493 initrd /initrd-20090722.img /initrd-kernel-2.6.29.5-191.fc11.i586.img /initrd-config.img
496 the image provided by the initrd rpm
497 one old backup version is kept like with the kernel
499 initrd-kernel-2.6.29.5-191.fc11.i586.img
500 the image provided by the kernel rpm
503 optional image with local configuration files
505 - dracut: add --kmoddir directory, where to look for kernel modules
508 specify the directory, where to look for kernel modules
514 - more generic (all plymouth modules, all keyboards, all console fonts)
515 - more kernel command line parameters (see also man dracut(8))
516 - a helper tool, which generates the kernel command line (dracut-gencmdline)
517 - bridged network boot
518 - a lot of new command line parameter
523 - firmware loading support
524 - new internal queue (initqueue)
525 initqueue now loops until /dev/root exists or root is mounted
527 init now has the following points to inject scripts:
530 scripts for command line parsing
533 scripts to run before udev is started
536 scripts to run before the main udev trigger is pulled
539 runs in parallel to the udev trigger
540 Udev events can add scripts here with /sbin/initqueue.
541 If /sbin/initqueue is called with the "--onetime" option, the script
542 will be removed after it was run.
543 If /initqueue/work is created and udev >= 143 then this loop can
544 process the jobs in parallel to the udevtrigger.
545 If the udev queue is empty and no root device is found or no root
546 filesystem was mounted, the user will be dropped to a shell after
548 Scripts can remove themselves from the initqueue by "rm $job".
551 scripts to run before the root filesystem is mounted
552 NFS is an exception, because it has no device node to be created
553 and mounts in the udev events
556 scripts to mount the root filesystem
557 NFS is an exception, because it has no device node to be created
558 and mounts in the udev events
559 If the udev queue is empty and no root device is found or no root
560 filesystem was mounted, the user will be dropped to a shell after
564 scripts to run before the real init is executed and the initramfs
566 All processes started before should be killed here.
568 The behaviour of the dmraid module demonstrates how to use the new
569 mechanism. If it detects a device which is part of a raidmember from a
570 udev rule, it installs a job to scan for dmraid devices, if the udev
571 queue is empty. After a scan, it removes itsself from the queue.
578 - first public version