From 1678c4f3ca2f366b7d3fa96cf59784bd88f95130 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Wed, 22 Jan 2014 12:52:40 +0100 Subject: dracut-034-80.git20140122 - fixed /dev/dev/resume Resolves: rhbz#1045116 - add more drivers Resolves: rhbz#1044779 - fixed resume rules Resolves: rhbz#1045704 - add /boot/efi to critical paths Resolves: rhbz#1046510 --- 0064-base-rdsosreport.sh-add-ip-a-output.patch | 22 ++++++ 0065-usrmount-always-install.patch | 25 ++++++ ...coe-move-uefi-parsing-to-fcoe-uefi-module.patch | 57 ++++++++++++++ 0067-move-uefi-lib-to-a-seperate-module.patch | 92 ++++++++++++++++++++++ 0068-lvm-fixed-lvm-thin-check.patch | 31 ++++++++ ...d-udev-rule-for-dev-resume-instead-of-dev.patch | 27 +++++++ ...e-parse-resume.sh-fixed-printf-formatting.patch | 71 +++++++++++++++++ ...cut-initqueue.sh-fstab-is-not-a-directory.patch | 22 ++++++ ...h-add-missing-piece-for-option-add-device.patch | 21 +++++ 0073-dracut.sh-add-boot-efi-to-device-paths.patch | 26 ++++++ 0074-kernel-modules-add-more-block-driver.patch | 23 ++++++ 0075-network-include-usbnet-drivers.patch | 22 ++++++ 0076-network-include-all-ethernet-drivers.patch | 35 ++++++++ ...cut-install-dracut-fix-ldd-output-parsing.patch | 43 ++++++++++ ...racut.spec-add-95fcoe-uefi-and-99uefi-lib.patch | 22 ++++++ ...o-not-include-if-fcoe-utils-not-installed.patch | 28 +++++++ dracut.spec | 38 +++++++-- lvm-fixed-lvm-thin-check.patch | 34 -------- 18 files changed, 600 insertions(+), 39 deletions(-) create mode 100644 0064-base-rdsosreport.sh-add-ip-a-output.patch create mode 100644 0065-usrmount-always-install.patch create mode 100644 0066-fcoe-move-uefi-parsing-to-fcoe-uefi-module.patch create mode 100644 0067-move-uefi-lib-to-a-seperate-module.patch create mode 100644 0068-lvm-fixed-lvm-thin-check.patch create mode 100644 0069-resume-fixed-udev-rule-for-dev-resume-instead-of-dev.patch create mode 100644 0070-resume-parse-resume.sh-fixed-printf-formatting.patch create mode 100644 0071-systemd-dracut-initqueue.sh-fstab-is-not-a-directory.patch create mode 100644 0072-dracut.sh-add-missing-piece-for-option-add-device.patch create mode 100644 0073-dracut.sh-add-boot-efi-to-device-paths.patch create mode 100644 0074-kernel-modules-add-more-block-driver.patch create mode 100644 0075-network-include-usbnet-drivers.patch create mode 100644 0076-network-include-all-ethernet-drivers.patch create mode 100644 0077-dracut-install-dracut-fix-ldd-output-parsing.patch create mode 100644 0078-dracut.spec-add-95fcoe-uefi-and-99uefi-lib.patch create mode 100644 0079-fcoe-uefi-do-not-include-if-fcoe-utils-not-installed.patch delete mode 100644 lvm-fixed-lvm-thin-check.patch diff --git a/0064-base-rdsosreport.sh-add-ip-a-output.patch b/0064-base-rdsosreport.sh-add-ip-a-output.patch new file mode 100644 index 0000000..e1fef23 --- /dev/null +++ b/0064-base-rdsosreport.sh-add-ip-a-output.patch @@ -0,0 +1,22 @@ +From f11712ea2189e01004115702a3756b70122c3b05 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Tue, 10 Dec 2013 12:58:37 +0100 +Subject: [PATCH] base/rdsosreport.sh: add "ip a" output + +--- + modules.d/99base/rdsosreport.sh | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/modules.d/99base/rdsosreport.sh b/modules.d/99base/rdsosreport.sh +index bfa55bb..5e11166 100755 +--- a/modules.d/99base/rdsosreport.sh ++++ b/modules.d/99base/rdsosreport.sh +@@ -42,6 +42,8 @@ command -v dmsetup >/dev/null 2>/dev/null && dmsetup ls --tree + + cat /proc/mdstat + ++command -v ip >/dev/null 2>/dev/null && ip addr ++ + if command -v journalctl >/dev/null 2>/dev/null; then + journalctl -ab --no-pager -o short-monotonic + else diff --git a/0065-usrmount-always-install.patch b/0065-usrmount-always-install.patch new file mode 100644 index 0000000..6a9877a --- /dev/null +++ b/0065-usrmount-always-install.patch @@ -0,0 +1,25 @@ +From ded4c82acedb373ed4393b69a9683c6bee38ff48 Mon Sep 17 00:00:00 2001 +From: Alexander Tsoy +Date: Thu, 21 Nov 2013 20:33:38 +0400 +Subject: [PATCH] usrmount: always install + +/usr should be mounted by initramfs even if /sbin/init lives in / +--- + modules.d/98usrmount/module-setup.sh | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/modules.d/98usrmount/module-setup.sh b/modules.d/98usrmount/module-setup.sh +index d8a0ec2..31a6229 100755 +--- a/modules.d/98usrmount/module-setup.sh ++++ b/modules.d/98usrmount/module-setup.sh +@@ -4,10 +4,7 @@ + + # called by dracut + check() { +- local _init + [[ $mount_needs ]] && return 1 +- _init=$(readlink -f /sbin/init) +- [[ "$_init" == "${_init##/usr}" ]] && return 255 + return 0 + } + diff --git a/0066-fcoe-move-uefi-parsing-to-fcoe-uefi-module.patch b/0066-fcoe-move-uefi-parsing-to-fcoe-uefi-module.patch new file mode 100644 index 0000000..b1279de --- /dev/null +++ b/0066-fcoe-move-uefi-parsing-to-fcoe-uefi-module.patch @@ -0,0 +1,57 @@ +From ab173bb4c1c758d2f87d11b03efca6b6c950225e Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Thu, 12 Dec 2013 09:20:53 +0100 +Subject: [PATCH] fcoe: move uefi parsing to fcoe-uefi module + +--- + modules.d/95fcoe-uefi/module-setup.sh | 22 ++++++++++++++++++++++ + .../{95fcoe => 95fcoe-uefi}/parse-uefifcoe.sh | 0 + modules.d/95fcoe/module-setup.sh | 1 - + 3 files changed, 22 insertions(+), 1 deletion(-) + create mode 100755 modules.d/95fcoe-uefi/module-setup.sh + rename modules.d/{95fcoe => 95fcoe-uefi}/parse-uefifcoe.sh (100%) + +diff --git a/modules.d/95fcoe-uefi/module-setup.sh b/modules.d/95fcoe-uefi/module-setup.sh +new file mode 100755 +index 0000000..007aa59 +--- /dev/null ++++ b/modules.d/95fcoe-uefi/module-setup.sh +@@ -0,0 +1,22 @@ ++#!/bin/bash ++# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- ++# ex: ts=8 sw=4 sts=4 et filetype=sh ++ ++# called by dracut ++check() { ++ [[ $hostonly ]] || [[ $mount_needs ]] && return 1 ++ ++ return 0 ++} ++ ++# called by dracut ++depends() { ++ echo fcoe bash ++ return 0 ++} ++ ++# called by dracut ++install() { ++ inst_hook cmdline 20 "$moddir/parse-uefifcoe.sh" ++} ++ +diff --git a/modules.d/95fcoe/parse-uefifcoe.sh b/modules.d/95fcoe-uefi/parse-uefifcoe.sh +similarity index 100% +rename from modules.d/95fcoe/parse-uefifcoe.sh +rename to modules.d/95fcoe-uefi/parse-uefifcoe.sh +diff --git a/modules.d/95fcoe/module-setup.sh b/modules.d/95fcoe/module-setup.sh +index 7ada2ee..2605fa0 100755 +--- a/modules.d/95fcoe/module-setup.sh ++++ b/modules.d/95fcoe/module-setup.sh +@@ -36,7 +36,6 @@ install() { + inst "$moddir/fcoe-up.sh" "/sbin/fcoe-up" + inst "$moddir/fcoe-edd.sh" "/sbin/fcoe-edd" + inst "$moddir/fcoe-genrules.sh" "/sbin/fcoe-genrules.sh" +- inst_hook cmdline 20 "$moddir/parse-uefifcoe.sh" + inst_hook cmdline 99 "$moddir/parse-fcoe.sh" + dracut_need_initqueue + } diff --git a/0067-move-uefi-lib-to-a-seperate-module.patch b/0067-move-uefi-lib-to-a-seperate-module.patch new file mode 100644 index 0000000..43df02c --- /dev/null +++ b/0067-move-uefi-lib-to-a-seperate-module.patch @@ -0,0 +1,92 @@ +From 89031be3735045ae06d560bf4f42ec58d889fe8e Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Thu, 12 Dec 2013 09:49:06 +0100 +Subject: [PATCH] move uefi-lib to a seperate module + +--- + modules.d/95fcoe-uefi/module-setup.sh | 4 +--- + modules.d/95fcoe/module-setup.sh | 5 ----- + modules.d/99base/module-setup.sh | 1 - + modules.d/99uefi-lib/module-setup.sh | 19 +++++++++++++++++++ + modules.d/{99base => 99uefi-lib}/uefi-lib.sh | 0 + 5 files changed, 20 insertions(+), 9 deletions(-) + create mode 100755 modules.d/99uefi-lib/module-setup.sh + rename modules.d/{99base => 99uefi-lib}/uefi-lib.sh (100%) + +diff --git a/modules.d/95fcoe-uefi/module-setup.sh b/modules.d/95fcoe-uefi/module-setup.sh +index 007aa59..653d88e 100755 +--- a/modules.d/95fcoe-uefi/module-setup.sh ++++ b/modules.d/95fcoe-uefi/module-setup.sh +@@ -4,14 +4,12 @@ + + # called by dracut + check() { +- [[ $hostonly ]] || [[ $mount_needs ]] && return 1 +- + return 0 + } + + # called by dracut + depends() { +- echo fcoe bash ++ echo fcoe uefi-lib + return 0 + } + +diff --git a/modules.d/95fcoe/module-setup.sh b/modules.d/95fcoe/module-setup.sh +index 2605fa0..539c464 100755 +--- a/modules.d/95fcoe/module-setup.sh ++++ b/modules.d/95fcoe/module-setup.sh +@@ -4,11 +4,6 @@ + + # called by dracut + check() { +- # FIXME +- # If hostonly was requested, fail the check until we have some way of +- # knowing we are booting from FCoE +- [[ $hostonly ]] || [[ $mount_needs ]] && return 1 +- + for i in dcbtool fipvlan lldpad ip readlink; do + type -P $i >/dev/null || return 1 + done +diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh +index e53cf2e..d4dbca9 100755 +--- a/modules.d/99base/module-setup.sh ++++ b/modules.d/99base/module-setup.sh +@@ -45,7 +45,6 @@ install() { + mkdir -p ${initdir}/tmp + + inst_simple "$moddir/dracut-lib.sh" "/lib/dracut-lib.sh" +- inst_simple "$moddir/uefi-lib.sh" "/lib/uefi-lib.sh" + + if ! dracut_module_included "systemd"; then + inst_multiple switch_root || dfatal "Failed to install switch_root" +diff --git a/modules.d/99uefi-lib/module-setup.sh b/modules.d/99uefi-lib/module-setup.sh +new file mode 100755 +index 0000000..4a856ea +--- /dev/null ++++ b/modules.d/99uefi-lib/module-setup.sh +@@ -0,0 +1,19 @@ ++#!/bin/bash ++# module-setup for img-lib ++ ++# called by dracut ++check() { ++ return 255 ++} ++ ++# called by dracut ++depends() { ++ echo bash ++ return 0 ++} ++ ++# called by dracut ++install() { ++ inst_simple "$moddir/uefi-lib.sh" "/lib/uefi-lib.sh" ++} ++ +diff --git a/modules.d/99base/uefi-lib.sh b/modules.d/99uefi-lib/uefi-lib.sh +similarity index 100% +rename from modules.d/99base/uefi-lib.sh +rename to modules.d/99uefi-lib/uefi-lib.sh diff --git a/0068-lvm-fixed-lvm-thin-check.patch b/0068-lvm-fixed-lvm-thin-check.patch new file mode 100644 index 0000000..1688a8a --- /dev/null +++ b/0068-lvm-fixed-lvm-thin-check.patch @@ -0,0 +1,31 @@ +From 831625d29ed6f174b276cd738e34bfebc5052e1c Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 13 Dec 2013 11:05:39 +0100 +Subject: [PATCH] lvm: fixed lvm thin check + +--- + modules.d/90lvm/module-setup.sh | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh +index 1206310..a64e5d6 100755 +--- a/modules.d/90lvm/module-setup.sh ++++ b/modules.d/90lvm/module-setup.sh +@@ -99,9 +99,16 @@ install() { + + if [[ $hostonly ]] && type -P lvs &>/dev/null; then + for dev in "${!host_fs_types[@]}"; do +- if [[ "$(lvs --noheadings -o segtype "$dev" 2>/dev/null)" == *thin* ]] ; then ++ [ -e /sys/block/${dev#/dev/}/dm/name ] || continue ++ dev=$(/dev/null) ++ [[ ${DM_VG_NAME} ]] && [[ ${DM_LV_NAME} ]] || continue ++ if [[ "$(lvs --noheadings -o segtype ${DM_VG_NAME} 2>/dev/null)" == *thin* ]] ; then + inst_multiple -o thin_dump thin_restore thin_check thin_repair ++ break + fi + done ++ else ++ inst_multiple -o thin_dump thin_restore thin_check thin_repair + fi + } diff --git a/0069-resume-fixed-udev-rule-for-dev-resume-instead-of-dev.patch b/0069-resume-fixed-udev-rule-for-dev-resume-instead-of-dev.patch new file mode 100644 index 0000000..6b889c4 --- /dev/null +++ b/0069-resume-fixed-udev-rule-for-dev-resume-instead-of-dev.patch @@ -0,0 +1,27 @@ +From 8b69b56950c06545ee3eaa28f0256db8fd7af7d1 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Thu, 19 Dec 2013 17:09:55 +0100 +Subject: [PATCH] resume: fixed udev rule for /dev/resume instead of + /dev/dev/resume + +https://bugzilla.redhat.com/show_bug.cgi?id=1045116 +--- + modules.d/95resume/parse-resume.sh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/modules.d/95resume/parse-resume.sh b/modules.d/95resume/parse-resume.sh +index c84dafb..8682a03 100755 +--- a/modules.d/95resume/parse-resume.sh ++++ b/modules.d/95resume/parse-resume.sh +@@ -40,9 +40,9 @@ esac + if ! getarg noresume; then + if [ -n "$resume" ]; then + { +- printf "KERNEL==\"%s\", ACTION==\"add|change\", SYMLINK+=\"/dev/resume\"\n" \ ++ printf "KERNEL==\"%s\", ACTION==\"add|change\", SYMLINK+=\"resume\"\n" \ + ${resume#/dev/}; +- printf "SYMLINK==\"%s\", ACTION==\"add|change\", SYMLINK+=\"/dev/resume\"\n" \ ++ printf "SYMLINK==\"%s\", ACTION==\"add|change\", SYMLINK+=\"resume\"\n" \ + ${resume#/dev/}; + } >> /etc/udev/rules.d/99-resume-link.rules + diff --git a/0070-resume-parse-resume.sh-fixed-printf-formatting.patch b/0070-resume-parse-resume.sh-fixed-printf-formatting.patch new file mode 100644 index 0000000..9660b53 --- /dev/null +++ b/0070-resume-parse-resume.sh-fixed-printf-formatting.patch @@ -0,0 +1,71 @@ +From e138679543611ace849335b36f0c9835a4b110d0 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Tue, 7 Jan 2014 14:07:14 +0100 +Subject: [PATCH] resume/parse-resume.sh: fixed printf formatting + +https://bugzilla.redhat.com/show_bug.cgi?id=1045704 +--- + modules.d/95resume/parse-resume.sh | 32 +++++++++++++++++--------------- + 1 file changed, 17 insertions(+), 15 deletions(-) + +diff --git a/modules.d/95resume/parse-resume.sh b/modules.d/95resume/parse-resume.sh +index 8682a03..d7b2d7f 100755 +--- a/modules.d/95resume/parse-resume.sh ++++ b/modules.d/95resume/parse-resume.sh +@@ -48,39 +48,41 @@ if ! getarg noresume; then + + { + if [ -x /usr/sbin/resume ]; then +- printf -- "KERNEL==\"%s\", " "${resume#/dev/}" +- printf -- "ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\"," ++ printf -- 'KERNEL=="%s", ' "${resume#/dev/}" ++ printf -- '%s' 'ACTION=="add|change", ENV{ID_FS_TYPE}=="suspend|swsuspend|swsupend",' + printf -- " RUN+=\"/sbin/initqueue --finished --unique --name 00resume /usr/sbin/resume %s \'%s\'\"\n" \ + "$a_splash" "$resume"; +- printf -- "SYMLINK==\"%s\", " "${resume#/dev/}" +- printf -- "ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\"," ++ printf -- 'SYMLINK=="%s", ' "${resume#/dev/}" ++ printf -- '%s' 'ACTION=="add|change", ENV{ID_FS_TYPE}=="suspend|swsuspend|swsupend",' + printf -- " RUN+=\"/sbin/initqueue --finished --unique --name 00resume /usr/sbin/resume %s \'%s\'\"\n" \ + "$a_splash" "$resume"; + fi +- printf -- "KERNEL==\"%s\", " ${resume#/dev/}; +- printf -- "ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\"," +- printf -- "%s" " RUN+=\"/sbin/initqueue --finished --unique --name 00resume echo %%M:%%m > /sys/power/resume\"\n" +- printf -- "SYMLINK==\"%s\", " ${resume#/dev/}; +- printf -- "%s" "ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\"," +- printf -- "%s" " RUN+=\"/sbin/initqueue --finished --unique --name 00resume echo %%M:%%m > /sys/power/resume\"\n" ++ ++ printf -- 'KERNEL=="%s", ' "${resume#/dev/}" ++ printf -- '%s' 'ACTION=="add|change", ENV{ID_FS_TYPE}=="suspend|swsuspend|swsupend",' ++ printf -- '%s\n' ' RUN+="/sbin/initqueue --finished --unique --name 00resume echo %M:%m > /sys/power/resume"' ++ ++ printf -- 'SYMLINK=="%s", ' "${resume#/dev/}" ++ printf -- '%s' 'ACTION=="add|change", ENV{ID_FS_TYPE}=="suspend|swsuspend|swsupend",' ++ printf -- '%s\n' ' RUN+="/sbin/initqueue --finished --unique --name 00resume echo %M:%m > /sys/power/resume"' + } >> /etc/udev/rules.d/99-resume.rules + + printf '[ -e "%s" ] && { ln -s "%s" /dev/resume; rm -f -- "$job" "%s/initqueue/timeout/resume.sh"; }\n' \ + "$resume" "$resume" "$hookdir" >> $hookdir/initqueue/settled/resume.sh + + printf -- "%s" 'warn "Cancelling resume operation. Device not found.";' +- printf -- ' cancel_wait_for_dev /dev/resume; rm -f -- "$job" "%s/initqueue/settled/resume.sh";' \ ++ printf -- ' cancel_wait_for_dev /dev/resume; rm -f -- "$job" "%s/initqueue/settled/resume.sh";\n' \ + "$hookdir" >> $hookdir/initqueue/timeout/resume.sh + + mv /lib/dracut/resume.sh /lib/dracut/hooks/pre-mount/10-resume.sh + else + { + if [ -x /usr/sbin/resume ]; then +- printf "SUBSYSTEM==\"block\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\"," +- printf -- " RUN+=\"/sbin/initqueue --finished --unique --name 00resume /usr/sbin/resume %s \$tempnode\"\n" "$a_splash" ++ printf -- '%s' 'SUBSYSTEM=="block", ACTION=="add|change", ENV{ID_FS_TYPE}=="suspend|swsuspend|swsupend",' ++ printf -- ' RUN+="/sbin/initqueue --finished --unique --name 00resume /usr/sbin/resume %s $tempnode"\n' "$a_splash" + fi +- printf -- "%s" "SUBSYSTEM==\"block\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\"," +- printf -- "%s" " RUN+=\"/sbin/initqueue --finished --unique --name 00resume echo %M:%m > /sys/power/resume\""; ++ printf -- '%s' 'SUBSYSTEM=="block", ACTION=="add|change", ENV{ID_FS_TYPE}=="suspend|swsuspend|swsupend",' ++ printf -- '%s\n' ' RUN+="/sbin/initqueue --finished --unique --name 00resume echo %M:%m > /sys/power/resume"'; + } >> /etc/udev/rules.d/99-resume.rules + fi + fi diff --git a/0071-systemd-dracut-initqueue.sh-fstab-is-not-a-directory.patch b/0071-systemd-dracut-initqueue.sh-fstab-is-not-a-directory.patch new file mode 100644 index 0000000..ceed7ea --- /dev/null +++ b/0071-systemd-dracut-initqueue.sh-fstab-is-not-a-directory.patch @@ -0,0 +1,22 @@ +From f18c64839ed3417a596c1d5129c0fe11e1c37e75 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Tue, 7 Jan 2014 16:39:48 +0100 +Subject: [PATCH] systemd/dracut-initqueue.sh: fstab is not a directory + +--- + modules.d/98systemd/dracut-initqueue.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/modules.d/98systemd/dracut-initqueue.sh b/modules.d/98systemd/dracut-initqueue.sh +index 1e05dcd..37bc18f 100755 +--- a/modules.d/98systemd/dracut-initqueue.sh ++++ b/modules.d/98systemd/dracut-initqueue.sh +@@ -67,7 +67,7 @@ while :; do + + main_loop=$(($main_loop+1)) + if [ $main_loop -gt $RDRETRY ]; then +- if ! [ -d /sysroot/etc/fstab ] || ! [ -e /sysroot/sbin/init ] ; then ++ if ! [ -f /sysroot/etc/fstab ] || ! [ -e /sysroot/sbin/init ] ; then + action_on_fail "Could not boot." && break + fi + warn "Not all disks have been found." diff --git a/0072-dracut.sh-add-missing-piece-for-option-add-device.patch b/0072-dracut.sh-add-missing-piece-for-option-add-device.patch new file mode 100644 index 0000000..6e872b4 --- /dev/null +++ b/0072-dracut.sh-add-missing-piece-for-option-add-device.patch @@ -0,0 +1,21 @@ +From b50449ad7baa2f748dcc647e9a84a66b621cc5af Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Wed, 8 Jan 2014 15:37:18 +0100 +Subject: [PATCH] dracut.sh: add missing piece for option --add-device + +--- + dracut.sh | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/dracut.sh b/dracut.sh +index 11dcd0e..bae03d7 100755 +--- a/dracut.sh ++++ b/dracut.sh +@@ -308,6 +308,7 @@ TEMP=$(unset POSIXLY_CORRECT; getopt \ + --long add-fstab: \ + --long mount: \ + --long device: \ ++ --long add-device: \ + --long nofscks: \ + --long ro-mnt \ + --long kmoddir: \ diff --git a/0073-dracut.sh-add-boot-efi-to-device-paths.patch b/0073-dracut.sh-add-boot-efi-to-device-paths.patch new file mode 100644 index 0000000..9531b79 --- /dev/null +++ b/0073-dracut.sh-add-boot-efi-to-device-paths.patch @@ -0,0 +1,26 @@ +From 3d5cdfc834d46eac57cbc7699ba646a6391b5258 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Wed, 8 Jan 2014 15:38:44 +0100 +Subject: [PATCH] dracut.sh: add /boot/efi to device paths + +Add /boot/efi to device paths, so the filesystem driver is included +and it can be repaired in the initramfs. +--- + dracut.sh | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/dracut.sh b/dracut.sh +index bae03d7..2cfba50 100755 +--- a/dracut.sh ++++ b/dracut.sh +@@ -921,7 +921,9 @@ if [[ $hostonly ]]; then + "/usr/sbin" \ + "/usr/lib" \ + "/usr/lib64" \ +- "/boot"; ++ "/boot" \ ++ "/boot/efi" \ ++ ; + do + mp=$(readlink -f "$mp") + mountpoint "$mp" >/dev/null 2>&1 || continue diff --git a/0074-kernel-modules-add-more-block-driver.patch b/0074-kernel-modules-add-more-block-driver.patch new file mode 100644 index 0000000..cdc5a47 --- /dev/null +++ b/0074-kernel-modules-add-more-block-driver.patch @@ -0,0 +1,23 @@ +From b9712436bb27583ec62c97f7d1e1020c3a3be77a Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Thu, 19 Dec 2013 12:37:47 +0100 +Subject: [PATCH] kernel-modules: add more block driver + +e.g. nvme +--- + modules.d/90kernel-modules/module-setup.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh +index d65e92b..62e8c39 100755 +--- a/modules.d/90kernel-modules/module-setup.sh ++++ b/modules.d/90kernel-modules/module-setup.sh +@@ -6,7 +6,7 @@ + installkernel() { + if [[ -z $drivers ]]; then + block_module_filter() { +- local _blockfuncs='ahci_init_controller|ata_scsi_ioctl|scsi_add_host|blk_init_queue|register_mtd_blktrans|scsi_esp_register|register_virtio_device|usb_stor_disconnect' ++ local _blockfuncs='ahci_init_controller|ata_scsi_ioctl|scsi_add_host|blk_cleanup_queue|register_mtd_blktrans|scsi_esp_register|register_virtio_device|usb_stor_disconnect' + # subfunctions inherit following FDs + local _merge=8 _side2=9 + function bmf1() { diff --git a/0075-network-include-usbnet-drivers.patch b/0075-network-include-usbnet-drivers.patch new file mode 100644 index 0000000..aaeb6c9 --- /dev/null +++ b/0075-network-include-usbnet-drivers.patch @@ -0,0 +1,22 @@ +From cdd69221e582290f1950e59ef2c37b2d853cef2a Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Thu, 19 Dec 2013 17:06:48 +0100 +Subject: [PATCH] network: include usbnet drivers + +--- + modules.d/40network/module-setup.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh +index 8a2898c..547ad16 100755 +--- a/modules.d/40network/module-setup.sh ++++ b/modules.d/40network/module-setup.sh +@@ -26,7 +26,7 @@ installkernel() { + # Include wired net drivers, excluding wireless + + net_module_filter() { +- local _net_drivers='eth_type_trans|register_virtio_device' ++ local _net_drivers='eth_type_trans|register_virtio_device|usbnet_open' + local _unwanted_drivers='/(wireless|isdn|uwb)/' + local _ret + # subfunctions inherit following FDs diff --git a/0076-network-include-all-ethernet-drivers.patch b/0076-network-include-all-ethernet-drivers.patch new file mode 100644 index 0000000..8aa18b3 --- /dev/null +++ b/0076-network-include-all-ethernet-drivers.patch @@ -0,0 +1,35 @@ +From 0cca6a1afbd73396951731ade0350ca37e0979a7 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Wed, 15 Jan 2014 14:35:53 +0100 +Subject: [PATCH] network: include all ethernet drivers + +--- + modules.d/40network/module-setup.sh | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh +index 547ad16..48afc5a 100755 +--- a/modules.d/40network/module-setup.sh ++++ b/modules.d/40network/module-setup.sh +@@ -27,7 +27,7 @@ installkernel() { + + net_module_filter() { + local _net_drivers='eth_type_trans|register_virtio_device|usbnet_open' +- local _unwanted_drivers='/(wireless|isdn|uwb)/' ++ local _unwanted_drivers='/(wireless|isdn|uwb|net/ethernet|net/phy|net/team)/' + local _ret + # subfunctions inherit following FDs + local _merge=8 _side2=9 +@@ -67,7 +67,11 @@ installkernel() { + | net_module_filter | instmods + + #instmods() will take care of hostonly +- instmods =drivers/net/phy ecb arc4 bridge stp llc ipv6 bonding 8021q af_packet virtio_net =drivers/net/team ++ instmods \ ++ =drivers/net/phy \ ++ =drivers/net/team \ ++ =drivers/net/ethernet \ ++ ecb arc4 bridge stp llc ipv6 bonding 8021q af_packet virtio_net + } + + # called by dracut diff --git a/0077-dracut-install-dracut-fix-ldd-output-parsing.patch b/0077-dracut-install-dracut-fix-ldd-output-parsing.patch new file mode 100644 index 0000000..00fd0ef --- /dev/null +++ b/0077-dracut-install-dracut-fix-ldd-output-parsing.patch @@ -0,0 +1,43 @@ +From 3ecaca1fdf19c6494aaefd699977aedbfb585313 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 17 Jan 2014 11:52:43 +0100 +Subject: [PATCH] dracut-install,dracut: fix ldd output parsing + +dracut-install could not handle output like: + /lib/$LIB/liblsp.so => /lib/lib64/liblsp.so (0x00007faf00727000) + +also unset LD_PRELOAD, so we get a clean environment +--- + dracut.sh | 1 + + install/dracut-install.c | 6 +++++- + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/dracut.sh b/dracut.sh +index 2cfba50..7ae5a58 100755 +--- a/dracut.sh ++++ b/dracut.sh +@@ -548,6 +548,7 @@ export LC_ALL=C + export LANG=C + unset NPATH + unset LD_LIBRARY_PATH ++unset LD_PRELOAD + unset GREP_OPTIONS + + export DRACUT_LOG_LEVEL=warning +diff --git a/install/dracut-install.c b/install/dracut-install.c +index 6b9c613..c5e4b05 100644 +--- a/install/dracut-install.c ++++ b/install/dracut-install.c +@@ -391,7 +391,11 @@ static int resolve_deps(const char *src) + if (strstr(buf, destrootdir)) + break; + +- p = strchr(buf, '/'); ++ p = strstr(buf, "=>"); ++ if (!p) ++ p = buf; ++ ++ p = strchr(p, '/'); + if (p) { + for (q = p; *q && *q != ' ' && *q != '\n'; q++) ; + *q = '\0'; diff --git a/0078-dracut.spec-add-95fcoe-uefi-and-99uefi-lib.patch b/0078-dracut.spec-add-95fcoe-uefi-and-99uefi-lib.patch new file mode 100644 index 0000000..99c8683 --- /dev/null +++ b/0078-dracut.spec-add-95fcoe-uefi-and-99uefi-lib.patch @@ -0,0 +1,22 @@ +From 22e62a46b695ca15404740455f504e4bae82dca0 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Mon, 16 Dec 2013 12:30:26 +0100 +Subject: [PATCH] dracut.spec: add 95fcoe-uefi and 99uefi-lib + +--- + dracut.spec | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/dracut.spec b/dracut.spec +index bd35aa7..6cc60e1 100644 +--- a/dracut.spec ++++ b/dracut.spec +@@ -414,6 +414,8 @@ rm -rf -- $RPM_BUILD_ROOT + %{dracutlibdir}/modules.d/95ssh-client + %{dracutlibdir}/modules.d/45ifcfg + %{dracutlibdir}/modules.d/95znet ++%{dracutlibdir}/modules.d/95fcoe-uefi ++%{dracutlibdir}/modules.d/99uefi-lib + + %if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} + %files fips diff --git a/0079-fcoe-uefi-do-not-include-if-fcoe-utils-not-installed.patch b/0079-fcoe-uefi-do-not-include-if-fcoe-utils-not-installed.patch new file mode 100644 index 0000000..78e90dc --- /dev/null +++ b/0079-fcoe-uefi-do-not-include-if-fcoe-utils-not-installed.patch @@ -0,0 +1,28 @@ +From c0a0bb3e453920cbfb409437772cee2a6f778765 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Tue, 7 Jan 2014 14:34:55 +0100 +Subject: [PATCH] fcoe-uefi: do not include, if fcoe utils not installed + +--- + modules.d/95fcoe-uefi/module-setup.sh | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/modules.d/95fcoe-uefi/module-setup.sh b/modules.d/95fcoe-uefi/module-setup.sh +index 653d88e..c91f775 100755 +--- a/modules.d/95fcoe-uefi/module-setup.sh ++++ b/modules.d/95fcoe-uefi/module-setup.sh +@@ -4,6 +4,9 @@ + + # called by dracut + check() { ++ for i in dcbtool fipvlan lldpad ip readlink; do ++ type -P $i >/dev/null || return 1 ++ done + return 0 + } + +@@ -17,4 +20,3 @@ depends() { + install() { + inst_hook cmdline 20 "$moddir/parse-uefifcoe.sh" + } +- diff --git a/dracut.spec b/dracut.spec index 14bcfbe..9690ccc 100644 --- a/dracut.spec +++ b/dracut.spec @@ -10,7 +10,7 @@ Name: dracut Version: 034 -Release: 64.git20131205%{?dist}.1 +Release: 80.git20140122%{?dist} Summary: Initramfs generator using udev %if 0%{?fedora} || 0%{?rhel} @@ -64,9 +64,9 @@ Patch32: 0032-lvm-do-not-run-pvscan-for-lvmetad-update.patch Patch33: 0033-fips-fix-RHEV-vmlinuz-check.patch Patch34: 0034-dracut.cmdline.7.asc-document-server-ip-of-ip-parame.patch Patch35: 0035-dracut.sh-_get_fs_type-if-block-device-exists-return.patch -#Patch36: 0036-network-net-lib.sh-wait_for_if_up-wait-for-state-UP.patch -#Patch37: 0037-network-net-lib.sh-iface_has_link-fixup.patch -#Patch38: 0038-network-ifup.sh-before-doing-dhcp-check-if-the-link-.patch +Patch36: 0036-network-net-lib.sh-wait_for_if_up-wait-for-state-UP.patch +Patch37: 0037-network-net-lib.sh-iface_has_link-fixup.patch +Patch38: 0038-network-ifup.sh-before-doing-dhcp-check-if-the-link-.patch Patch39: 0039-base-dracut-lib.sh-wait_for_dev-relax-requirement.patch Patch40: 0040-resume-autoconf-resume.patch Patch41: 0041-resume-no-more-autoresume.patch @@ -92,7 +92,23 @@ Patch59: 0059-i18n-introduce-i18n_install_all-to-install-everythin.patch #Patch61: 0061-dracut.spec-remove-suse-man-pages.patch #Patch62: 0062-TODO-update.patch Patch63: 0063-systemd-dracut-initqueue.sh-fixed-waiting-in-the-loo.patch -Patch64: lvm-fixed-lvm-thin-check.patch +Patch64: 0064-base-rdsosreport.sh-add-ip-a-output.patch +Patch65: 0065-usrmount-always-install.patch +Patch66: 0066-fcoe-move-uefi-parsing-to-fcoe-uefi-module.patch +Patch67: 0067-move-uefi-lib-to-a-seperate-module.patch +Patch68: 0068-lvm-fixed-lvm-thin-check.patch +Patch69: 0069-resume-fixed-udev-rule-for-dev-resume-instead-of-dev.patch +Patch70: 0070-resume-parse-resume.sh-fixed-printf-formatting.patch +Patch71: 0071-systemd-dracut-initqueue.sh-fstab-is-not-a-directory.patch +Patch72: 0072-dracut.sh-add-missing-piece-for-option-add-device.patch +Patch73: 0073-dracut.sh-add-boot-efi-to-device-paths.patch +Patch74: 0074-kernel-modules-add-more-block-driver.patch +Patch75: 0075-network-include-usbnet-drivers.patch +Patch76: 0076-network-include-all-ethernet-drivers.patch +Patch77: 0077-dracut-install-dracut-fix-ldd-output-parsing.patch +Patch78: 0078-dracut.spec-add-95fcoe-uefi-and-99uefi-lib.patch +Patch79: 0079-fcoe-uefi-do-not-include-if-fcoe-utils-not-installed.patch + BuildRequires: bash git @@ -476,6 +492,8 @@ rm -rf -- $RPM_BUILD_ROOT %{dracutlibdir}/modules.d/95ssh-client %{dracutlibdir}/modules.d/45ifcfg %{dracutlibdir}/modules.d/95znet +%{dracutlibdir}/modules.d/95fcoe-uefi +%{dracutlibdir}/modules.d/99uefi-lib %if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} %files fips @@ -515,6 +533,16 @@ rm -rf -- $RPM_BUILD_ROOT %endif %changelog +* Wed Jan 22 2014 Harald Hoyer 034-80.git20140122 +- fixed /dev/dev/resume +Resolves: rhbz#1045116 +- add more drivers +Resolves: rhbz#1044779 +- fixed resume rules +Resolves: rhbz#1045704 +- add /boot/efi to critical paths +Resolves: rhbz#1046510 + * Fri Dec 13 2013 Harald Hoyer 034-64.git20131205.1 - fixed lvm thin check Resolves: rhbz#1040669 diff --git a/lvm-fixed-lvm-thin-check.patch b/lvm-fixed-lvm-thin-check.patch deleted file mode 100644 index 2027b8c..0000000 --- a/lvm-fixed-lvm-thin-check.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 831625d29ed6f174b276cd738e34bfebc5052e1c Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 13 Dec 2013 11:05:39 +0100 -Subject: [PATCH] lvm: fixed lvm thin check - ---- - modules.d/90lvm/module-setup.sh | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh -index 1206310..a64e5d6 100755 ---- a/modules.d/90lvm/module-setup.sh -+++ b/modules.d/90lvm/module-setup.sh -@@ -99,9 +99,16 @@ install() { - - if [[ $hostonly ]] && type -P lvs &>/dev/null; then - for dev in "${!host_fs_types[@]}"; do -- if [[ "$(lvs --noheadings -o segtype "$dev" 2>/dev/null)" == *thin* ]] ; then -+ [ -e /sys/block/${dev#/dev/}/dm/name ] || continue -+ dev=$(/dev/null) -+ [[ ${DM_VG_NAME} ]] && [[ ${DM_LV_NAME} ]] || continue -+ if [[ "$(lvs --noheadings -o segtype ${DM_VG_NAME} 2>/dev/null)" == *thin* ]] ; then - inst_multiple -o thin_dump thin_restore thin_check thin_repair -+ break - fi - done -+ else -+ inst_multiple -o thin_dump thin_restore thin_check thin_repair - fi - } --- -1.8.4.2 - -- cgit