From 12f4d57338ca25fd13dd84532c4e935ee6d48e89 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Thu, 15 Apr 2010 12:50:38 +0000 Subject: [PATCH] - fixed dracut manpages - dmraid parse different error messages - add cdrom polling mechanism for slow cdroms - add module btrfs - teach dmsquash live-root to use rootflags - trigger udev with action=add - fixed add_drivers handling - add sr_mod - use pigz instead of gzip, if available --- 0001-dracut.8-fixed-LUKS-paragraph.patch | 27 ++++++ ...ormation-which-parameter-can-be-spec.patch | 88 +++++++++++++++++++ ...mraid-parse-different-error-messages.patch | 25 ++++++ ...it-add-hacky-cdrom-polling-mechanism.patch | 38 ++++++++ 0005-add-module-btrfs.patch | 70 +++++++++++++++ ...-dmsquash-live-root-to-use-rootflags.patch | 30 +++++++ 0007-init-trigger-with-action-add.patch | 25 ++++++ ...dd-missing-paragraph-for-add-drivers.patch | 27 ++++++ ...-manpage-addition-for-kernel-drivers.patch | 47 ++++++++++ ...rs-from-the-command-line-should-add-.patch | 25 ++++++ 0011-AUTHORS-updated.patch | 48 ++++++++++ 0012-kernel-modules-hardcode-sr_mod.patch | 27 ++++++ ...nly-remove-ocfs2-if-all-filesystems-.patch | 34 +++++++ 0014-dracut.spec-add-btrfs-module.patch | 24 +++++ 0015-Use-pigz-for-gzipping-if-available.patch | 41 +++++++++ dracut.spec | 45 +++++++++- 16 files changed, 620 insertions(+), 1 deletion(-) create mode 100644 0001-dracut.8-fixed-LUKS-paragraph.patch create mode 100644 0002-dracut.8-add-information-which-parameter-can-be-spec.patch create mode 100644 0003-dmraid-parse-different-error-messages.patch create mode 100644 0004-init-add-hacky-cdrom-polling-mechanism.patch create mode 100644 0005-add-module-btrfs.patch create mode 100644 0006-teach-dmsquash-live-root-to-use-rootflags.patch create mode 100644 0007-init-trigger-with-action-add.patch create mode 100644 0008-add-missing-paragraph-for-add-drivers.patch create mode 100644 0009-manpage-addition-for-kernel-drivers.patch create mode 100644 0010-dracut-add_drivers-from-the-command-line-should-add-.patch create mode 100644 0011-AUTHORS-updated.patch create mode 100644 0012-kernel-modules-hardcode-sr_mod.patch create mode 100644 0013-kernel-modules-only-remove-ocfs2-if-all-filesystems-.patch create mode 100644 0014-dracut.spec-add-btrfs-module.patch create mode 100644 0015-Use-pigz-for-gzipping-if-available.patch diff --git a/0001-dracut.8-fixed-LUKS-paragraph.patch b/0001-dracut.8-fixed-LUKS-paragraph.patch new file mode 100644 index 0000000..3721010 --- /dev/null +++ b/0001-dracut.8-fixed-LUKS-paragraph.patch @@ -0,0 +1,27 @@ +From 7ea25f3a3426bd60c26e2deaf07f2c3918e65dcb Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Wed, 7 Apr 2010 11:17:46 +0200 +Subject: [PATCH 01/15] dracut.8: fixed LUKS paragraph + +--- + dracut.8 | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +diff --git a/dracut.8 b/dracut.8 +index 3ec9c4f..5220dea 100644 +--- a/dracut.8 ++++ b/dracut.8 +@@ -214,8 +214,9 @@ only activate the LUKS partitions with the given UUID + Any "luks-" of the LUKS UUID is removed before comparing to . + The comparisons also matches, if is only the beginning of the + LUKS UUID, so you don't have to specify the full UUID. ++.TP + .BR rd_NO_CRYPTTAB +-do not check if LUKS partition is in /etc/crypttab ++do not check, if LUKS partition is in /etc/crypttab + + .SS MD + .TP +-- +1.7.0.1 + diff --git a/0002-dracut.8-add-information-which-parameter-can-be-spec.patch b/0002-dracut.8-add-information-which-parameter-can-be-spec.patch new file mode 100644 index 0000000..5e6adaf --- /dev/null +++ b/0002-dracut.8-add-information-which-parameter-can-be-spec.patch @@ -0,0 +1,88 @@ +From d1bae3cd17d61c5e27b66690a6a383a9bd0c369e Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Wed, 7 Apr 2010 15:55:14 +0200 +Subject: [PATCH 02/15] dracut.8: add information, which parameter can be specified multiple times + +--- + dracut.8 | 15 ++++++++++++--- + 1 files changed, 12 insertions(+), 3 deletions(-) + +diff --git a/dracut.8 b/dracut.8 +index 5220dea..57626fe 100644 +--- a/dracut.8 ++++ b/dracut.8 +@@ -132,9 +132,11 @@ do not honor special mount options for the root filesystem found in + .TP + .BR rdblacklist= + do not load kernel module ++This parameter can be specified multiple times. + .TP + .BR rdloaddriver= + force loading kernel module ++This parameter can be specified multiple times. + + .SS Debug + .TP +@@ -214,6 +216,7 @@ only activate the LUKS partitions with the given UUID + Any "luks-" of the LUKS UUID is removed before comparing to . + The comparisons also matches, if is only the beginning of the + LUKS UUID, so you don't have to specify the full UUID. ++This parameter can be specified multiple times. + .TP + .BR rd_NO_CRYPTTAB + do not check, if LUKS partition is in /etc/crypttab +@@ -230,7 +233,8 @@ no MD RAID for imsm/isw raids, use dmraid instead + ignore mdadm.conf included in initramfs + .TP + .BR rd_MD_UUID= "" +-only activate the raid sets with the given UUID ++only activate the raid sets with the given UUID. ++This parameter can be specified multiple times. + + .SS DMRAID + .TP +@@ -238,7 +242,8 @@ only activate the raid sets with the given UUID + disable DM RAID detection + .TP + .BR rd_DM_UUID= "" +-only activate the raid sets with the given UUID ++only activate the raid sets with the given UUID. ++This parameter can be specified multiple times. + + .SS Network + .TP +@@ -251,19 +256,22 @@ auto6: do IPv6 autoconfiguration + .TP + .BR ip= :{dhcp|on|any|dhcp6|auto6} + dhcp|on|any|dhcp6: get ip from dhcp server on a specific interface +- + auto6: do IPv6 autoconfiguration ++This parameter can be specified multiple times. ++ + .TP + .ad l + .BR ip= "\%\::[]\::\::\::\::\::{none|off}" + .ad + explicit network configuration. If you want do define a IPv6 address, put it in brackets (e.g. [2001:DB8::1]). ++This parameter can be specified multiple times. + .TP + .BR ifname= : + Assign network device name (ie eth0) to the NIC with MAC . + Note letters in the MAC-address must be lowercase! + Note that if you use this option you \fBmust\fR specify an ifname= argument + for all interfaces used in ip= or fcoe= arguments ++This parameter can be specified multiple times. + .TP + .BR bootdev= + specify network interface to use routing and netroot information from. +@@ -371,6 +379,7 @@ same syntax as the kernel module parameter (s390 only) + .ad + activate DASD device with the given adaptor device bus ID and setting the sysfs attributes + to the specified values ++This parameter can be specified multiple times. + + .SS ZFCP + .TP +-- +1.7.0.1 + diff --git a/0003-dmraid-parse-different-error-messages.patch b/0003-dmraid-parse-different-error-messages.patch new file mode 100644 index 0000000..faf27b4 --- /dev/null +++ b/0003-dmraid-parse-different-error-messages.patch @@ -0,0 +1,25 @@ +From d693f34afb5f4fccb75e44da2fa8378a67a0e68e Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Tue, 13 Apr 2010 12:54:12 +0200 +Subject: [PATCH 03/15] dmraid: parse different error messages + +--- + modules.d/90dmraid/dmraid.sh | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/modules.d/90dmraid/dmraid.sh b/modules.d/90dmraid/dmraid.sh +index 4e47e2d..dba655b 100755 +--- a/modules.d/90dmraid/dmraid.sh ++++ b/modules.d/90dmraid/dmraid.sh +@@ -10,7 +10,7 @@ DM_CLEANUP="no" + info "Scanning for dmraid devices $DM_RAIDS" + SETS=$(dmraid -c -s) + +-if [ "$SETS" = "no raid disks" ]; then ++if [ "$SETS" = "no raid disks" -o "$SETS" = "no raid sets" ]; then + return + fi + +-- +1.7.0.1 + diff --git a/0004-init-add-hacky-cdrom-polling-mechanism.patch b/0004-init-add-hacky-cdrom-polling-mechanism.patch new file mode 100644 index 0000000..4c2af06 --- /dev/null +++ b/0004-init-add-hacky-cdrom-polling-mechanism.patch @@ -0,0 +1,38 @@ +From 0e0bf830577b5538ed010cf1eb4b1a57578ac3bb Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Tue, 13 Apr 2010 13:50:33 +0200 +Subject: [PATCH 04/15] init: add hacky cdrom polling mechanism + +--- + modules.d/99base/init | 14 +++++++++++++- + 1 files changed, 13 insertions(+), 1 deletions(-) + +diff --git a/modules.d/99base/init b/modules.d/99base/init +index ab7aafe..b9b6361 100755 +--- a/modules.d/99base/init ++++ b/modules.d/99base/init +@@ -186,8 +186,20 @@ while :; do + + # no more udev jobs and queues empty. + sleep 0.5 ++ ++ # dirty hack for some cdrom drives, ++ # which report no medium for quiet ++ # some time. ++ for cdrom in /sys/block/sr*; do ++ [ -e "$cdrom" ] || continue ++ # skip, if cdrom medium was already found ++ strstr "$(udevadm info --query=env --path=${cdrom##/sys})" \ ++ ID_CDROM_MEDIA && continue ++ echo change > "$cdrom" ++ done ++ + i=$(($i+1)) +- [ $i -gt 20 ] \ ++ [ $i -gt 40 ] \ + && { flock -s 9 ; emergency_shell "No root device found"; } 9>/.console_lock + done + unset job +-- +1.7.0.1 + diff --git a/0005-add-module-btrfs.patch b/0005-add-module-btrfs.patch new file mode 100644 index 0000000..39267b9 --- /dev/null +++ b/0005-add-module-btrfs.patch @@ -0,0 +1,70 @@ +From 58ffd15bfffddd593b1a8f29eb5935a0ce39d2dc Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Tue, 13 Apr 2010 14:03:05 +0200 +Subject: [PATCH 05/15] add module btrfs + +--- + modules.d/90btrfs/40-btrfs.rules | 7 +++++++ + modules.d/90btrfs/check | 10 ++++++++++ + modules.d/90btrfs/install | 4 ++++ + modules.d/95udev-rules/install | 2 +- + 4 files changed, 22 insertions(+), 1 deletions(-) + create mode 100644 modules.d/90btrfs/40-btrfs.rules + create mode 100755 modules.d/90btrfs/check + create mode 100755 modules.d/90btrfs/install + +diff --git a/modules.d/90btrfs/40-btrfs.rules b/modules.d/90btrfs/40-btrfs.rules +new file mode 100644 +index 0000000..e74ba1a +--- /dev/null ++++ b/modules.d/90btrfs/40-btrfs.rules +@@ -0,0 +1,7 @@ ++SUBSYSTEM!="block", GOTO="btrfs_end" ++ACTION!="add|change", GOTO="btrfs_end" ++ ++ENV{ID_FS_TYPE}=="btrfs", RUN+="/sbin/btrfs device scan $env{DEVNAME}" ++ ++LABEL="btrfs_end" ++ +diff --git a/modules.d/90btrfs/check b/modules.d/90btrfs/check +new file mode 100755 +index 0000000..2897d46 +--- /dev/null ++++ b/modules.d/90btrfs/check +@@ -0,0 +1,10 @@ ++#!/bin/bash ++ ++# We depend on udev-rules being loaded ++[ "$1" = "-d" ] && exit 0 ++ ++# if we don't have dmraid installed on the host system, no point ++# in trying to support it in the initramfs. ++which btrfs >/dev/null 2>&1 || exit 1 ++ ++exit 0 +diff --git a/modules.d/90btrfs/install b/modules.d/90btrfs/install +new file mode 100755 +index 0000000..130a84d +--- /dev/null ++++ b/modules.d/90btrfs/install +@@ -0,0 +1,4 @@ ++#!/bin/bash ++ ++inst_rules "$moddir/40-btrfs.rules" ++dracut_install btrfs +diff --git a/modules.d/95udev-rules/install b/modules.d/95udev-rules/install +index ae64f3e..23693fe 100755 +--- a/modules.d/95udev-rules/install ++++ b/modules.d/95udev-rules/install +@@ -24,7 +24,7 @@ else + inst_rules "$moddir/59-persistent-storage-volid.rules" + fi + inst_rules "$moddir/61-persistent-storage.rules" +- ++ + for i in \ + ata_id \ + cdrom_id \ +-- +1.7.0.1 + diff --git a/0006-teach-dmsquash-live-root-to-use-rootflags.patch b/0006-teach-dmsquash-live-root-to-use-rootflags.patch new file mode 100644 index 0000000..e5265d0 --- /dev/null +++ b/0006-teach-dmsquash-live-root-to-use-rootflags.patch @@ -0,0 +1,30 @@ +From fbf1b5b138df65dc6ff309c6d015e0e5c887aa0e Mon Sep 17 00:00:00 2001 +From: Joey Boggs +Date: Fri, 26 Mar 2010 10:01:16 -0400 +Subject: [PATCH 06/15] teach dmsquash-live-root to use rootflags + +--- + modules.d/90dmsquash-live/dmsquash-live-root | 7 ++++++- + 1 files changed, 6 insertions(+), 1 deletions(-) + +diff --git a/modules.d/90dmsquash-live/dmsquash-live-root b/modules.d/90dmsquash-live/dmsquash-live-root +index b1754dc..c98cdef 100755 +--- a/modules.d/90dmsquash-live/dmsquash-live-root ++++ b/modules.d/90dmsquash-live/dmsquash-live-root +@@ -172,7 +172,12 @@ if [ -b "$OSMIN_LOOPDEV" ]; then + echo "0 $( blockdev --getsz $BASE_LOOPDEV ) snapshot $BASE_LOOPDEV $OSMIN_LOOPDEV p 8" | dmsetup create --readonly live-osimg-min + fi + ++ROOTFLAGS="$(getarg rootflags)" ++if [ -n "$ROOTFLAGS" ]; then ++ ROOTFLAGS="-o $ROOTFLAGS" ++fi ++ + ln -s /dev/mapper/live-rw /dev/root +-printf '/bin/mount /dev/mapper/live-rw %s\n' "$NEWROOT" > /mount/01-$$-live.sh ++printf '/bin/mount %s /dev/mapper/live-rw %s\n' "$ROOTFLAGS" "$NEWROOT" > /mount/01-$$-live.sh + + exit 0 +-- +1.7.0.1 + diff --git a/0007-init-trigger-with-action-add.patch b/0007-init-trigger-with-action-add.patch new file mode 100644 index 0000000..4173f59 --- /dev/null +++ b/0007-init-trigger-with-action-add.patch @@ -0,0 +1,25 @@ +From cd83e4c54d195e12f709fdda279efb15c7c6cbf3 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Wed, 14 Apr 2010 16:36:30 +0200 +Subject: [PATCH 07/15] init: trigger with --action=add + +--- + modules.d/99base/init | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/modules.d/99base/init b/modules.d/99base/init +index b9b6361..4696915 100755 +--- a/modules.d/99base/init ++++ b/modules.d/99base/init +@@ -147,7 +147,7 @@ getarg 'rdbreak=pre-trigger' && emergency_shell -n pre-trigger "Break before pre + source_all pre-trigger + + # then the rest +-udevadm trigger $udevtriggeropts >/dev/null 2>&1 ++udevadm trigger --action=add $udevtriggeropts >/dev/null 2>&1 + + getarg 'rdbreak=initqueue' && emergency_shell -n initqueue "Break before initqueue" + +-- +1.7.0.1 + diff --git a/0008-add-missing-paragraph-for-add-drivers.patch b/0008-add-missing-paragraph-for-add-drivers.patch new file mode 100644 index 0000000..86a2b55 --- /dev/null +++ b/0008-add-missing-paragraph-for-add-drivers.patch @@ -0,0 +1,27 @@ +From d2931339823a1ea3a8ea9d13a274720b7057aa83 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Wed, 14 Apr 2010 17:50:39 +0200 +Subject: [PATCH 08/15] add missing paragraph for --add-drivers + +--- + dracut.8 | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +diff --git a/dracut.8 b/dracut.8 +index 57626fe..834c4f2 100644 +--- a/dracut.8 ++++ b/dracut.8 +@@ -28,8 +28,9 @@ omit a space-separated list of dracut modules. + add a space-separated list of dracut modules. + .TP + .BR \-d ", " \-\-drivers " \fILIST\fR" +-specify a space-separated list of kernel modules to exclusively include# ++specify a space-separated list of kernel modules to exclusively include + in the initramfs. ++.TP + .BR \-\-add-drivers " \fILIST\fR" + specify a space-separated list of kernel modules to add to the initramfs. + .TP +-- +1.7.0.1 + diff --git a/0009-manpage-addition-for-kernel-drivers.patch b/0009-manpage-addition-for-kernel-drivers.patch new file mode 100644 index 0000000..b38b4bf --- /dev/null +++ b/0009-manpage-addition-for-kernel-drivers.patch @@ -0,0 +1,47 @@ +From 9b17b085f3dbe1e48dfea2ed1b045fbbbc10d3d9 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Wed, 14 Apr 2010 17:58:56 +0200 +Subject: [PATCH 09/15] manpage addition for kernel drivers + +The kernel modules have to be specified without the ".ko" suffix. +--- + dracut.8 | 2 ++ + dracut.conf.5 | 2 ++ + 2 files changed, 4 insertions(+), 0 deletions(-) + +diff --git a/dracut.8 b/dracut.8 +index 834c4f2..31a70fc 100644 +--- a/dracut.8 ++++ b/dracut.8 +@@ -30,9 +30,11 @@ add a space-separated list of dracut modules. + .BR \-d ", " \-\-drivers " \fILIST\fR" + specify a space-separated list of kernel modules to exclusively include + in the initramfs. ++The kernel modules have to be specified without the ".ko" suffix. + .TP + .BR \-\-add-drivers " \fILIST\fR" + specify a space-separated list of kernel modules to add to the initramfs. ++The kernel modules have to be specified without the ".ko" suffix. + .TP + .BR \-\-filesystems " \fILIST\fR" + specify a space-separated list of kernel filesystem modules to exclusively +diff --git a/dracut.conf.5 b/dracut.conf.5 +index 30bf16f..a781dfb 100644 +--- a/dracut.conf.5 ++++ b/dracut.conf.5 +@@ -26,10 +26,12 @@ Add a space-separated list of dracut modules. + .BR drivers= \%"[LIST]" + Specify a space-separated list of kernel modules to + exclusively include in the initramfs. ++The kernel modules have to be specified without the ".ko" suffix. + .TP + .BR add_drivers= \%"[LIST]" + Specify a space-separated list of kernel + modules to add to the initramfs. ++The kernel modules have to be specified without the ".ko" suffix. + .TP + .BR filesystems= \%"[LIST]" + Specify a space-separated list of kernel filesystem +-- +1.7.0.1 + diff --git a/0010-dracut-add_drivers-from-the-command-line-should-add-.patch b/0010-dracut-add_drivers-from-the-command-line-should-add-.patch new file mode 100644 index 0000000..5968ffa --- /dev/null +++ b/0010-dracut-add_drivers-from-the-command-line-should-add-.patch @@ -0,0 +1,25 @@ +From 4828beb949f25d894351c7abbe6a4930a1d1d95c Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Wed, 14 Apr 2010 19:32:44 +0200 +Subject: [PATCH 10/15] dracut: add_drivers from the command line should add up to the conffile + +--- + dracut | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/dracut b/dracut +index b16e205..8c0adad 100755 +--- a/dracut ++++ b/dracut +@@ -143,7 +143,7 @@ fi + [[ $omit_dracutmodules_l ]] && omit_dracutmodules=$omit_dracutmodules_l + [[ $add_dracutmodules_l ]] && add_dracutmodules="$add_dracutmodules $add_dracutmodules_l" + [[ $drivers_l ]] && drivers=$drivers_l +-[[ $add_drivers_l ]] && add_drivers=$add_drivers_l ++[[ $add_drivers_l ]] && add_drivers="$add_drivers $add_drivers_l" + [[ $filesystems_l ]] && filesystems=$filesystems_l + [[ $drivers_dir_l ]] && drivers_dir=$drivers_dir_l + [[ $fw_dir_l ]] && fw_dir=$fw_dir_l +-- +1.7.0.1 + diff --git a/0011-AUTHORS-updated.patch b/0011-AUTHORS-updated.patch new file mode 100644 index 0000000..431945e --- /dev/null +++ b/0011-AUTHORS-updated.patch @@ -0,0 +1,48 @@ +From ddbdebb9c855176831a74a727d5900ed3d86193b Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Thu, 15 Apr 2010 11:54:28 +0200 +Subject: [PATCH 11/15] AUTHORS: updated + +--- + AUTHORS | 6 ++++-- + 1 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/AUTHORS b/AUTHORS +index ebb4157..0b449de 100644 +--- a/AUTHORS ++++ b/AUTHORS +@@ -1,7 +1,7 @@ + Harald Hoyer + Victor Lowther +-Warren Togami + Philippe Seewer ++Warren Togami + Jeremy Katz + David Dillow + Andreas Thienemann +@@ -9,6 +9,7 @@ Hans de Goede + Peter Jones + Luca Berra + Marc Grimme ++Andrey Borzenkov + Bill Nottingham + Daniel Drake + David Cantrell +@@ -16,12 +17,13 @@ Lance Albertson + Michael Ploujnikov + Alan Jenkins + Dan HorĂ¡k +-Andrey Borzenkov ++Joey Boggs + Dave Jones + Konrad Rzeszutek Wilk + Luca Berra + Michal Schmidt + Mike Snitzer ++Mike Snitzer + Munehiro Matsuda + Peter Rajnoha + Quentin Armitage +-- +1.7.0.1 + diff --git a/0012-kernel-modules-hardcode-sr_mod.patch b/0012-kernel-modules-hardcode-sr_mod.patch new file mode 100644 index 0000000..657e7b4 --- /dev/null +++ b/0012-kernel-modules-hardcode-sr_mod.patch @@ -0,0 +1,27 @@ +From d4abad22883978f60bf4df030186fc92187c757f Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Thu, 15 Apr 2010 12:47:26 +0200 +Subject: [PATCH 12/15] kernel-modules: hardcode sr_mod + +--- + modules.d/90kernel-modules/installkernel | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/modules.d/90kernel-modules/installkernel b/modules.d/90kernel-modules/installkernel +index 3416e7c..4848f2a 100755 +--- a/modules.d/90kernel-modules/installkernel ++++ b/modules.d/90kernel-modules/installkernel +@@ -5,8 +5,8 @@ if [[ -z $drivers ]]; then + + nm -uPA "$1" | egrep -q "$blockfuncs" + } +- hostonly='' instmods pcmcia sd_mod scsi_dh scsi_dh_rdac scsi_dh_emc +- hostonly='' instmods firewire-ohci ++ hostonly='' instmods sr_mod sd_mod scsi_dh scsi_dh_rdac scsi_dh_emc ++ hostonly='' instmods pcmcia firewire-ohci + + # install keyboard support + hostonly='' instmods atkbd i8042 usbhid hid-apple ehci-hcd ohci-hcd uhci-hcd +-- +1.7.0.1 + diff --git a/0013-kernel-modules-only-remove-ocfs2-if-all-filesystems-.patch b/0013-kernel-modules-only-remove-ocfs2-if-all-filesystems-.patch new file mode 100644 index 0000000..641c0e5 --- /dev/null +++ b/0013-kernel-modules-only-remove-ocfs2-if-all-filesystems-.patch @@ -0,0 +1,34 @@ +From e9e93e2ec6f58cfcd7e4680827b242a90a038710 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Thu, 15 Apr 2010 12:47:52 +0200 +Subject: [PATCH 13/15] kernel-modules: only remove ocfs2, if all filesystems are installed + +--- + modules.d/90kernel-modules/installkernel | 5 +++-- + 1 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/modules.d/90kernel-modules/installkernel b/modules.d/90kernel-modules/installkernel +index 4848f2a..90b535e 100755 +--- a/modules.d/90kernel-modules/installkernel ++++ b/modules.d/90kernel-modules/installkernel +@@ -17,14 +17,15 @@ if [[ -z $drivers ]]; then + if ! [[ $hostonly ]]; then + if [[ -z $filesystems ]]; then + instmods '=fs' ++ # hardcoded list of exceptions ++ # to save a lot of space ++ rm -fr ${initdir}/lib/modules/*/kernel/fs/ocfs2 + else + instmods $filesystems + fi + else + hostonly='' instmods $(get_fs_type "/dev/block/$(find_root_block_device)") + fi +- # hardcoded list of exceptions +- rm -fr ${initdir}/lib/modules/*/kernel/fs/ocfs2 + else + hostonly='' instmods $drivers $filesystems + fi +-- +1.7.0.1 + diff --git a/0014-dracut.spec-add-btrfs-module.patch b/0014-dracut.spec-add-btrfs-module.patch new file mode 100644 index 0000000..993aeb5 --- /dev/null +++ b/0014-dracut.spec-add-btrfs-module.patch @@ -0,0 +1,24 @@ +From fede5bbcdad4b35baba06eb5c5aebc0df4aa0347 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Thu, 15 Apr 2010 14:38:38 +0200 +Subject: [PATCH 14/15] dracut.spec: add btrfs module + +--- + dracut.spec | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/dracut.spec b/dracut.spec +index c4bc00d..e2b6f44 100644 +--- a/dracut.spec ++++ b/dracut.spec +@@ -180,6 +180,7 @@ rm -rf $RPM_BUILD_ROOT + %{_datadir}/dracut/modules.d/10rpmversion + %{_datadir}/dracut/modules.d/50plymouth + %{_datadir}/dracut/modules.d/60xen ++%{_datadir}/dracut/modules.d/90btrfs + %{_datadir}/dracut/modules.d/90crypt + %{_datadir}/dracut/modules.d/90dm + %{_datadir}/dracut/modules.d/90dmraid +-- +1.7.0.1 + diff --git a/0015-Use-pigz-for-gzipping-if-available.patch b/0015-Use-pigz-for-gzipping-if-available.patch new file mode 100644 index 0000000..4111bcd --- /dev/null +++ b/0015-Use-pigz-for-gzipping-if-available.patch @@ -0,0 +1,41 @@ +From c91570782c2aa9128f204a21e5d2b516658febae Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ville=20Skytt=C3=A4?= +Date: Thu, 18 Mar 2010 21:41:22 +0200 +Subject: [PATCH 15/15] Use pigz for gzipping if available. + +--- + dracut | 3 ++- + dracut-catimages | 3 ++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/dracut b/dracut +index 8c0adad..0ae07f2 100755 +--- a/dracut ++++ b/dracut +@@ -303,7 +303,8 @@ if [[ $do_strip = yes ]] ; then + done + fi + +-( cd "$initdir"; find . |cpio -R 0:0 -H newc -o --quiet |gzip -9 > "$outfile"; ) ++type pigz &>/dev/null && gzip=pigz || gzip=gzip ++( cd "$initdir"; find . |cpio -R 0:0 -H newc -o --quiet |$gzip -9 > "$outfile"; ) + if [ $? -ne 0 ]; then + derror "dracut: creation of $outfile failed" + exit 1 +diff --git a/dracut-catimages b/dracut-catimages +index b19f20a..d49d0e2 100755 +--- a/dracut-catimages ++++ b/dracut-catimages +@@ -102,7 +102,8 @@ fi + if [[ ! $no_overlay ]]; then + ofile="$imagedir/90-overlay.img" + dinfo "Creating image $ofile from directory $overlay" +- ( cd "$overlay"; find . |cpio --quiet -H newc -o |gzip -9 > "$ofile"; ) ++ type pigz &>/dev/null && gzip=pigz || gzip=gzip ++ ( cd "$overlay"; find . |cpio --quiet -H newc -o |$gzip -9 > "$ofile"; ) + fi + + if [[ ! $no_imagedir ]]; then +-- +1.7.0.1 + diff --git a/dracut.spec b/dracut.spec index 8aaf75e..6d71666 100644 --- a/dracut.spec +++ b/dracut.spec @@ -20,7 +20,7 @@ Name: dracut Version: 005 -Release: 1%{?rdist} +Release: 2%{?rdist} Summary: Initramfs generator using udev Group: System Environment/Base License: GPLv2+ @@ -28,6 +28,22 @@ URL: http://apps.sourceforge.net/trac/dracut/wiki # Source can be generated by # http://dracut.git.sourceforge.net/git/gitweb.cgi?p=dracut/dracut;a=snapshot;h=%{?dashgittag};sf=tgz Source0: dracut-%{version}%{?dashgittag}.tar.bz2 + +Patch1: 0001-dracut.8-fixed-LUKS-paragraph.patch +Patch2: 0002-dracut.8-add-information-which-parameter-can-be-spec.patch +Patch3: 0003-dmraid-parse-different-error-messages.patch +Patch4: 0004-init-add-hacky-cdrom-polling-mechanism.patch +Patch5: 0005-add-module-btrfs.patch +Patch6: 0006-teach-dmsquash-live-root-to-use-rootflags.patch +Patch7: 0007-init-trigger-with-action-add.patch +Patch8: 0008-add-missing-paragraph-for-add-drivers.patch +Patch9: 0009-manpage-addition-for-kernel-drivers.patch +Patch10: 0010-dracut-add_drivers-from-the-command-line-should-add-.patch +Patch11: 0011-AUTHORS-updated.patch +Patch12: 0012-kernel-modules-hardcode-sr_mod.patch +Patch13: 0013-kernel-modules-only-remove-ocfs2-if-all-filesystems-.patch +Patch15: 0015-Use-pigz-for-gzipping-if-available.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %if 0%{?fedora} > 12 || 0%{?rhel} >= 6 @@ -134,6 +150,21 @@ This package contains tools to assemble the local initrd and host configuration. %prep %setup -q -n %{name}-%{version}%{?dashgittag} +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 +%patch10 -p1 +%patch11 -p1 +%patch12 -p1 +%patch13 -p1 +%patch15 -p1 + %build make WITH_SWITCH_ROOT=0%{?with_switch_root} @@ -180,6 +211,7 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/dracut/modules.d/10rpmversion %{_datadir}/dracut/modules.d/50plymouth %{_datadir}/dracut/modules.d/60xen +%{_datadir}/dracut/modules.d/90btrfs %{_datadir}/dracut/modules.d/90crypt %{_datadir}/dracut/modules.d/90dm %{_datadir}/dracut/modules.d/90dmraid @@ -235,6 +267,17 @@ rm -rf $RPM_BUILD_ROOT %dir /var/lib/dracut/overlay %changelog +* Thu Apr 15 2010 Harald Hoyer 005-2 +- fixed dracut manpages +- dmraid parse different error messages +- add cdrom polling mechanism for slow cdroms +- add module btrfs +- teach dmsquash live-root to use rootflags +- trigger udev with action=add +- fixed add_drivers handling +- add sr_mod +- use pigz instead of gzip, if available + * Fri Mar 19 2010 Harald Hoyer 005-1 - version 005