diff --git a/.gitignore b/.gitignore index e51c272..5fd2f30 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,4 @@ /dracut-041.tar.xz /dracut-042.tar.xz /dracut-043.tar.xz +/dracut-044.tar.xz diff --git a/0001-Fix-default-udev-systemd-dir-detection-in-usr-merge-.patch b/0001-Fix-default-udev-systemd-dir-detection-in-usr-merge-.patch deleted file mode 100644 index a1d5d26..0000000 --- a/0001-Fix-default-udev-systemd-dir-detection-in-usr-merge-.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 80dab03a7dc080b8d35fdd4c23e30e79e044c2a2 Mon Sep 17 00:00:00 2001 -From: Dimitri John Ledkov -Date: Tue, 17 Feb 2015 13:03:01 +0000 -Subject: [PATCH] Fix default udev & systemd dir detection, in usr-merge - configurations. - -Test that /lib is not a symlink, before using split-usr paths. ---- - dracut.sh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/dracut.sh b/dracut.sh -index d06d7d4..4f72b54 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -1300,7 +1300,7 @@ done - [[ -d $udevdir ]] \ - || udevdir="$(pkg-config udev --variable=udevdir 2>/dev/null)" - if ! [[ -d "$udevdir" ]]; then -- [[ -d /lib/udev ]] && udevdir=/lib/udev -+ [[ ! -h /lib ]] && [[ -d /lib/udev ]] && udevdir=/lib/udev - [[ -d /usr/lib/udev ]] && udevdir=/usr/lib/udev - fi - -@@ -1308,7 +1308,7 @@ fi - || systemdutildir=$(pkg-config systemd --variable=systemdutildir 2>/dev/null) - - if ! [[ -d "$systemdutildir" ]]; then -- [[ -d /lib/systemd ]] && systemdutildir=/lib/systemd -+ [[ ! -h /lib ]] && [[ -d /lib/systemd ]] && systemdutildir=/lib/systemd - [[ -d /usr/lib/systemd ]] && systemdutildir=/usr/lib/systemd - fi - diff --git a/0002-rootfs-generator-check-for-rootok-before-doing-any-a.patch b/0002-rootfs-generator-check-for-rootok-before-doing-any-a.patch deleted file mode 100644 index 59ae85f..0000000 --- a/0002-rootfs-generator-check-for-rootok-before-doing-any-a.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 231b3dd4327e011285636e73459c3d139baba661 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Mon, 15 Jun 2015 15:28:52 +0200 -Subject: [PATCH] rootfs-generator: check for rootok, before doing any action - ---- - modules.d/98dracut-systemd/rootfs-generator.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/98dracut-systemd/rootfs-generator.sh b/modules.d/98dracut-systemd/rootfs-generator.sh -index 5910ce7..670613e 100755 ---- a/modules.d/98dracut-systemd/rootfs-generator.sh -+++ b/modules.d/98dracut-systemd/rootfs-generator.sh -@@ -93,7 +93,7 @@ esac - - GENERATOR_DIR="$1" - --if [ "${root%%:*}" = "block" ]; then -+if [ "$rootok" = "1" ]; then - generator_wait_for_dev "${root#block:}" "$RDRETRY" - strstr "$(cat /proc/cmdline)" 'root=' || generator_mount_rootfs "${root#block:}" "$(getarg rootfstype=)" "$(getarg rootflags=)" - fi diff --git a/0003-uefi-lib-remove-bogus-comment.patch b/0003-uefi-lib-remove-bogus-comment.patch deleted file mode 100644 index 41b1b9c..0000000 --- a/0003-uefi-lib-remove-bogus-comment.patch +++ /dev/null @@ -1,19 +0,0 @@ -From aca93e3364b9b837eb98eeb62322cf19d9819147 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 16 Jun 2015 15:08:23 +0200 -Subject: [PATCH] uefi-lib: remove bogus comment - ---- - modules.d/99uefi-lib/module-setup.sh | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/modules.d/99uefi-lib/module-setup.sh b/modules.d/99uefi-lib/module-setup.sh -index 4a856ea..3dcff22 100755 ---- a/modules.d/99uefi-lib/module-setup.sh -+++ b/modules.d/99uefi-lib/module-setup.sh -@@ -1,5 +1,4 @@ - #!/bin/bash --# module-setup for img-lib - - # called by dracut - check() { diff --git a/0004-dracut.spec-move-dmsquash-and-livnet-to-subpackage.patch b/0004-dracut.spec-move-dmsquash-and-livnet-to-subpackage.patch deleted file mode 100644 index bcce092..0000000 --- a/0004-dracut.spec-move-dmsquash-and-livnet-to-subpackage.patch +++ /dev/null @@ -1,69 +0,0 @@ -From ac13778f60f3a9568eaa2b480a77563337575d91 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 16 Jun 2015 15:17:39 +0200 -Subject: [PATCH] dracut.spec: move dmsquash and livnet to subpackage - -dmsquash and livenet need img-lib, which needs tar, which is normally -not needed. ---- - dracut.spec | 19 ++++++++++++++++--- - 1 file changed, 16 insertions(+), 3 deletions(-) - -diff --git a/dracut.spec b/dracut.spec -index 6b37dc3..58510db 100644 ---- a/dracut.spec -+++ b/dracut.spec -@@ -168,6 +168,16 @@ Requires: libcap - This package requires everything which is needed to build an - initramfs with dracut, which drops capabilities. - -+%package live -+Summary: dracut modules to build a dracut initramfs with live image capabilities -+Requires: %{name} = %{version}-%{release} -+Requires: %{name}-network = %{version}-%{release} -+Requires: tar gzip coreutils bash device-mapper curl -+ -+%description live -+This package requires everything which is needed to build an -+initramfs with dracut, with live image capabilities, like Live CDs. -+ - %package config-generic - Summary: dracut configuration to turn off hostonly image generation - Requires: %{name} = %{version}-%{release} -@@ -345,7 +355,6 @@ rm -rf -- $RPM_BUILD_ROOT - %{dracutlibdir}/modules.d/90crypt - %{dracutlibdir}/modules.d/90dm - %{dracutlibdir}/modules.d/90dmraid --%{dracutlibdir}/modules.d/90dmsquash-live - %{dracutlibdir}/modules.d/90kernel-modules - %{dracutlibdir}/modules.d/90lvm - %{dracutlibdir}/modules.d/90mdraid -@@ -379,7 +388,6 @@ rm -rf -- $RPM_BUILD_ROOT - %{dracutlibdir}/modules.d/98usrmount - %{dracutlibdir}/modules.d/99base - %{dracutlibdir}/modules.d/99fs-lib --%{dracutlibdir}/modules.d/99img-lib - %{dracutlibdir}/modules.d/99shutdown - %attr(0644,root,root) %ghost %config(missingok,noreplace) %{_localstatedir}/log/dracut.log - %dir %{_sharedstatedir}/initramfs -@@ -413,7 +421,6 @@ rm -rf -- $RPM_BUILD_ROOT - %{dracutlibdir}/modules.d/90kernel-network-modules - %{dracutlibdir}/modules.d/95fcoe - %{dracutlibdir}/modules.d/95iscsi --%{dracutlibdir}/modules.d/90livenet - %{dracutlibdir}/modules.d/90qemu-net - %{dracutlibdir}/modules.d/95cifs - %{dracutlibdir}/modules.d/95nbd -@@ -440,6 +447,12 @@ rm -rf -- $RPM_BUILD_ROOT - %defattr(-,root,root,0755) - %{dracutlibdir}/modules.d/02caps - -+%files live -+%defattr(-,root,root,0755) -+%{dracutlibdir}/modules.d/99img-lib -+%{dracutlibdir}/modules.d/90dmsquash-live -+%{dracutlibdir}/modules.d/90livenet -+ - %files tools - %defattr(-,root,root,0755) - diff --git a/0005-dracut.spec-Recommends-grubby.patch b/0005-dracut.spec-Recommends-grubby.patch deleted file mode 100644 index 4d94be3..0000000 --- a/0005-dracut.spec-Recommends-grubby.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 47ff68e78b3bbd01367948b5b9fe1cbaeb45f262 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 23 Jun 2015 15:21:37 +0200 -Subject: [PATCH] dracut.spec: Recommends grubby - ---- - dracut.spec | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/dracut.spec b/dracut.spec -index 58510db..7a1a9c2 100644 ---- a/dracut.spec -+++ b/dracut.spec -@@ -113,6 +113,10 @@ Requires: util-linux-ng >= 2.21 - - Conflicts: mdadm < 3.2.6-14 - -+%if 0%{?fedora} > 22 -+Recommends: grubby -+%endif -+ - %description - dracut contains tools to create a bootable initramfs for 2.6 Linux kernels. - Unlike existing implementations, dracut does hard-code as little as possible diff --git a/0006-dracut.spec-turn-requires-in-recommends.patch b/0006-dracut.spec-turn-requires-in-recommends.patch deleted file mode 100644 index d9b152e..0000000 --- a/0006-dracut.spec-turn-requires-in-recommends.patch +++ /dev/null @@ -1,48 +0,0 @@ -From c42064a684f3413dfce249c5bd6ebe0cb0a16908 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 23 Jun 2015 15:29:00 +0200 -Subject: [PATCH] dracut.spec: turn requires in recommends - ---- - dracut.spec | 18 ++++++++++++------ - 1 file changed, 12 insertions(+), 6 deletions(-) - -diff --git a/dracut.spec b/dracut.spec -index 7a1a9c2..4775210 100644 ---- a/dracut.spec -+++ b/dracut.spec -@@ -92,11 +92,21 @@ Requires: cpio - Requires: filesystem >= 2.1.0 - Requires: findutils - Requires: grep --Requires: hardlink --Requires: gzip xz - Requires: kmod - Requires: sed -+ -+%if 0%{?fedora} > 22 -+Recommends: grubby -+Recommends: hardlink -+Recommends: gzip -+Recommends: xz -+Recommends: kpartx -+%else -+Requires: hardlink -+Requires: gzip -+Requires: xz - Requires: kpartx -+%endif - - %if 0%{?fedora} || 0%{?rhel} > 6 - Requires: util-linux >= 2.21 -@@ -113,10 +123,6 @@ Requires: util-linux-ng >= 2.21 - - Conflicts: mdadm < 3.2.6-14 - --%if 0%{?fedora} > 22 --Recommends: grubby --%endif -- - %description - dracut contains tools to create a bootable initramfs for 2.6 Linux kernels. - Unlike existing implementations, dracut does hard-code as little as possible diff --git a/0007-Revert-lvm-Don-t-activate-LVs-with-activationskip-se.patch b/0007-Revert-lvm-Don-t-activate-LVs-with-activationskip-se.patch deleted file mode 100644 index 6e16743..0000000 --- a/0007-Revert-lvm-Don-t-activate-LVs-with-activationskip-se.patch +++ /dev/null @@ -1,30 +0,0 @@ -From d4b93a092db1105a29a3f768d1d49ece8b90547a Mon Sep 17 00:00:00 2001 -From: Fabian Deutsch -Date: Thu, 25 Jun 2015 11:17:59 +0200 -Subject: [PATCH] Revert "lvm: Don't activate LVs with activationskip set" - -This reverts commit cfa365a32d47388c8476064b23d7d4684f1e591b. - -The logic in commit cfa365a was added to prevent (odl) lvms from -activating snapshots which should not be activated. -Newer lvms however do this automatically (not enabling an LV if the -the 'k' attribute set), thus we can revert the previous commit. ---- - modules.d/90lvm/lvm_scan.sh | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/modules.d/90lvm/lvm_scan.sh b/modules.d/90lvm/lvm_scan.sh -index ce46e14..7495644 100755 ---- a/modules.d/90lvm/lvm_scan.sh -+++ b/modules.d/90lvm/lvm_scan.sh -@@ -106,10 +106,6 @@ if [ -n "$LVS" ] ; then - info "Scanning devices $lvmdevs for LVM logical volumes $LVS" - lvm lvscan --ignorelockingfailure 2>&1 | vinfo - for LV in $LVS; do -- if [ "x$(lvm lvs --noheadings --select "lv_attr =~ k" $LV | wc -l)" = "x0" ]; then -- info "Skipping activation of '$LV' because activationskip is set." -- continue -- fi - if [ -z "$sysinit" ]; then - lvm lvchange --yes -ay --ignorelockingfailure $nopoll --ignoremonitoring $LV 2>&1 | vinfo - else diff --git a/0008-systemd-if-kdbus-is-available-include-the-kernel-mod.patch b/0008-systemd-if-kdbus-is-available-include-the-kernel-mod.patch deleted file mode 100644 index 04ece67..0000000 --- a/0008-systemd-if-kdbus-is-available-include-the-kernel-mod.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 90ff5ad67ecab66a8f699c9805729701981ee018 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= -Date: Wed, 1 Jul 2015 20:15:13 -0300 -Subject: [PATCH] systemd: if kdbus is available, include the kernel module - ---- - modules.d/00systemd/module-setup.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/00systemd/module-setup.sh b/modules.d/00systemd/module-setup.sh -index ed55fcc..e763d9f 100755 ---- a/modules.d/00systemd/module-setup.sh -+++ b/modules.d/00systemd/module-setup.sh -@@ -19,7 +19,7 @@ depends() { - - installkernel() { - hostonly='' instmods autofs4 ipv6 -- instmods -s efivarfs -+ instmods -s efivarfs kdbus - } - - # called by dracut diff --git a/0009-network-dhclient-script.sh-add-RENEW-REBIND.patch b/0009-network-dhclient-script.sh-add-RENEW-REBIND.patch deleted file mode 100644 index bfe499d..0000000 --- a/0009-network-dhclient-script.sh-add-RENEW-REBIND.patch +++ /dev/null @@ -1,50 +0,0 @@ -From cf627b20d039c527f4de167e38978d4984e4d727 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Wed, 1 Jul 2015 14:53:33 +0200 -Subject: [PATCH] network/dhclient-script.sh: add RENEW/REBIND - ---- - modules.d/40network/dhclient-script.sh | 23 +++++++++++++++++++++++ - 1 file changed, 23 insertions(+) - -diff --git a/modules.d/40network/dhclient-script.sh b/modules.d/40network/dhclient-script.sh -index 500f518..320208b 100755 ---- a/modules.d/40network/dhclient-script.sh -+++ b/modules.d/40network/dhclient-script.sh -@@ -135,6 +135,17 @@ case $reason in - >/tmp/net.$netif.up - ;; - -+ RENEW|REBIND) -+ unset lease_time -+ [ -n "$new_dhcp_lease_time" ] && lease_time=$new_dhcp_lease_time -+ [ -n "$new_max_life" ] && lease_time=$new_max_life -+ preferred_lft=$lease_time -+ [ -n "$new_preferred_life" ] && preferred_lft=$new_preferred_life -+ ip -4 addr change ${new_ip_address}/${new_prefix} broadcast ${new_broadcast_address} dev ${interface} \ -+ ${lease_time:+valid_lft $lease_time} ${preferred_lft:+preferred_lft ${preferred_lft}} \ -+ >/dev/null 2>&1 -+ ;; -+ - BOUND6) - echo "dhcp: BOND6 setting $netif" - setup_interface6 -@@ -155,6 +166,18 @@ case $reason in - echo "[ -f /tmp/net.$netif.did-setup ]" > $hookdir/initqueue/finished/dhclient-$netif.sh - >/tmp/net.$netif.up - ;; -+ -+ RENEW6|REBIND6) -+ unset lease_time -+ [ -n "$new_dhcp_lease_time" ] && lease_time=$new_dhcp_lease_time -+ [ -n "$new_max_life" ] && lease_time=$new_max_life -+ preferred_lft=$lease_time -+ [ -n "$new_preferred_life" ] && preferred_lft=$new_preferred_life -+ ip -6 addr change ${new_ip6_address}/${new_ip6_prefixlen} dev ${interface} scope global \ -+ ${lease_time:+valid_lft $lease_time} ${preferred_lft:+preferred_lft ${preferred_lft}} \ -+ >/dev/null 2>&1 -+ ;; -+ - *) echo "dhcp: $reason";; - esac - diff --git a/0010-network-dhclient-script.sh-make-IPv4-DHCP-lease-time.patch b/0010-network-dhclient-script.sh-make-IPv4-DHCP-lease-time.patch deleted file mode 100644 index 9202cb7..0000000 --- a/0010-network-dhclient-script.sh-make-IPv4-DHCP-lease-time.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 0f89ec314b062a410199251db0356a55b4773173 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Wed, 1 Jul 2015 14:57:15 +0200 -Subject: [PATCH] network/dhclient-script.sh: make IPv4 DHCP lease time - optionally - -If bootp is used, no lease time is provided in the packet from the bootp -server. ---- - modules.d/40network/dhclient-script.sh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/modules.d/40network/dhclient-script.sh b/modules.d/40network/dhclient-script.sh -index 320208b..a8b5b89 100755 ---- a/modules.d/40network/dhclient-script.sh -+++ b/modules.d/40network/dhclient-script.sh -@@ -39,9 +39,9 @@ setup_interface() { - fi - fi - -- ip addr add $ip${mask:+/$mask} ${bcast:+broadcast $bcast} \ -- valid_lft ${lease_time} preferred_lft ${lease_time} \ -- dev $netif -+ ip addr add $ip${mask:+/$mask} ${bcast:+broadcast $bcast} dev $netif \ -+ ${lease_time:+valid_lft $lease_time} \ -+ ${preferred_lft:+preferred_lft ${preferred_lft}} - - if [ -n "$gw" ] ; then - if [ "$mask" == "255.255.255.255" ] ; then diff --git a/0011-network-don-t-use-ifup-m.patch b/0011-network-don-t-use-ifup-m.patch deleted file mode 100644 index fcd3832..0000000 --- a/0011-network-don-t-use-ifup-m.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 7cca5efdcea4f1431331cf7663fc6fb48a365cdf Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 2 Jul 2015 11:32:08 +0200 -Subject: [PATCH] network: don't use "ifup -m" - -"ifup -m" was thought to be used by humans in the emergency shell. -Using it programatically shows some other flaw in the execution logic. - -Also, "ifup -m" was configuring the interface multiple times on "add" -and "change" uevent, because the "$netif.did-setup" test was not -executed. ---- - modules.d/40network/ifup.sh | 3 ++- - modules.d/40network/net-genrules.sh | 1 - - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh -index de518b6..0138e01 100755 ---- a/modules.d/40network/ifup.sh -+++ b/modules.d/40network/ifup.sh -@@ -77,9 +77,10 @@ fi - # disable manual ifup while netroot is set for simplifying our logic - # in netroot case we prefer netroot to bringup $netif automaticlly - [ -n "$2" -a "$2" = "-m" ] && [ -z "$netroot" ] && manualup="$2" --[ -z "$netroot" ] && [ -z "$manualup" ] && exit 0 -+ - if [ -n "$manualup" ]; then - >/tmp/net.$netif.manualup -+ rm -f /tmp/net.${netif}.did-setup - else - [ -e /tmp/net.${netif}.did-setup ] && exit 0 - [ -e /sys/class/net/$netif/address ] && \ -diff --git a/modules.d/40network/net-genrules.sh b/modules.d/40network/net-genrules.sh -index 77e47b5..b1c156c 100755 ---- a/modules.d/40network/net-genrules.sh -+++ b/modules.d/40network/net-genrules.sh -@@ -50,7 +50,6 @@ command -v fix_bootif >/dev/null || . /lib/net-lib.sh - fi - - ifup='/sbin/ifup $env{INTERFACE}' -- [ -z "$netroot" ] && ifup="$ifup -m" - - runcmd="RUN+=\"/sbin/initqueue --name ifup-\$env{INTERFACE} --unique --onetime $ifup\"" - diff --git a/0012-lower-the-log-level-for-dfatal.patch b/0012-lower-the-log-level-for-dfatal.patch deleted file mode 100644 index fcf9a38..0000000 --- a/0012-lower-the-log-level-for-dfatal.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 3639fe543c06c79e8c7a4872844c95d7d9b61299 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Mon, 29 Jun 2015 16:14:58 +0200 -Subject: [PATCH] lower the log level for dfatal - ---- - dracut-logger.sh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/dracut-logger.sh b/dracut-logger.sh -index 41e04f4..2a6019c 100755 ---- a/dracut-logger.sh -+++ b/dracut-logger.sh -@@ -264,9 +264,9 @@ _lvl2syspri() { - # Conversion is done as follows: - # - # --# FATAL(1) -> LOG_EMERG (0) -+# none -> LOG_EMERG (0) - # none -> LOG_ALERT (1) --# none -> LOG_CRIT (2) -+# FATAL(1) -> LOG_CRIT (2) - # ERROR(2) -> LOG_ERR (3) - # WARN(3) -> LOG_WARNING (4) - # none -> LOG_NOTICE (5) -@@ -280,7 +280,7 @@ _dlvl2syslvl() { - local lvl - - case "$1" in -- 1) lvl=0;; -+ 1) lvl=2;; - 2) lvl=3;; - 3) lvl=4;; - 4) lvl=6;; diff --git a/0013-dracut.sh-add-devices-with-x-initrd.mount-in-etc-fst.patch b/0013-dracut.sh-add-devices-with-x-initrd.mount-in-etc-fst.patch deleted file mode 100644 index 4249450..0000000 --- a/0013-dracut.sh-add-devices-with-x-initrd.mount-in-etc-fst.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 916559e073a49eedbc7b0c58b399d303fb8c2a05 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 2 Jul 2015 14:55:31 +0200 -Subject: [PATCH] dracut.sh: add devices with x-initrd.mount in /etc/fstab to - host_devs - -otherwise dracut might not even be able to mount those. ---- - dracut.sh | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/dracut.sh b/dracut.sh -index 4f72b54..52383c0 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -1231,6 +1231,20 @@ if [[ $hostonly ]]; then - done < /etc/fstab - done < /proc/swaps - fi -+ -+ # collect all "x-initrd.mount" entries from /etc/fstab -+ if [[ -f /etc/fstab ]]; then -+ while read _d _m _t _o _r || [ -n "$_d" ]; do -+ [[ "$_d" == \#* ]] && continue -+ [[ $_d ]] || continue -+ [[ "$_o" != *x-initrd.mount* ]] && continue -+ _dev=$(expand_persistent_dev "$_d") -+ _dev="$(readlink -f "$_dev")" -+ [[ -b $_dev ]] && push_host_devs "$_dev" -+ done < /etc/fstab -+ fi -+ -+ - # record all host modaliases - declare -A host_modalias - find /sys/devices/ -name uevent -print > "$initdir/.modalias" diff --git a/0014-dracut-lib.sh-info-output-info-to-stderr.patch b/0014-dracut-lib.sh-info-output-info-to-stderr.patch deleted file mode 100644 index 1fde485..0000000 --- a/0014-dracut-lib.sh-info-output-info-to-stderr.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 57fb6e67de0cc58b9d188439b0ceb0d0d5dbbd6f Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 2 Jul 2015 15:02:31 +0200 -Subject: [PATCH] dracut-lib.sh:info() output info to stderr - -otherwise it might collide with stdout redirection ---- - modules.d/99base/dracut-lib.sh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh -index 08110cc..cd1f49f 100755 ---- a/modules.d/99base/dracut-lib.sh -+++ b/modules.d/99base/dracut-lib.sh -@@ -63,7 +63,7 @@ if [ -z "$DRACUT_SYSTEMD" ]; then - check_quiet - echo "<30>dracut: $*" > /dev/kmsg - [ "$DRACUT_QUIET" != "yes" ] && \ -- echo "dracut: $*" -+ echo "dracut: $*" >&2 - } - - else -@@ -73,7 +73,7 @@ else - } - - info() { -- echo "$*" -+ echo "$*" >&2 - } - - fi diff --git a/0015-nfs-nfs-lib.sh-add-anaconda_nfsv6_to_var.patch b/0015-nfs-nfs-lib.sh-add-anaconda_nfsv6_to_var.patch deleted file mode 100644 index a7a1bde..0000000 --- a/0015-nfs-nfs-lib.sh-add-anaconda_nfsv6_to_var.patch +++ /dev/null @@ -1,48 +0,0 @@ -From ba665de454e7d6ef1da4ba95308fb9f65c7a9497 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 2 Jul 2015 15:21:35 +0200 -Subject: [PATCH] nfs/nfs-lib.sh: add anaconda_nfsv6_to_var() - -add "nfs:[[2001:0db8:85a3:08d3:1319:8a2e:0370:7344]]/path" style parsing - -https://bugzilla.redhat.com/show_bug.cgi?id=1190098 ---- - modules.d/95nfs/nfs-lib.sh | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -diff --git a/modules.d/95nfs/nfs-lib.sh b/modules.d/95nfs/nfs-lib.sh -index 77c03d9..58aa7e3 100755 ---- a/modules.d/95nfs/nfs-lib.sh -+++ b/modules.d/95nfs/nfs-lib.sh -@@ -15,6 +15,7 @@ nfs_to_var() { - # FIXME: local netif=${2:-$netif}? - case "$1" in - nfs://*) rfc2224_nfs_to_var "$1" ;; -+ nfs:*[*) anaconda_nfsv6_to_var "$1" ;; - nfs:*:*:/*) anaconda_nfs_to_var "$1" ;; - *) nfsroot_to_var "$1" ;; - esac -@@ -84,6 +85,23 @@ anaconda_nfs_to_var() { - path="/${1##*:/}" - } - -+# IPv6 nfs path will be treated separately -+anaconda_nfsv6_to_var() { -+ nfs="nfs" -+ path="$1:" -+ options="${path#*:/}" -+ path="/${options%%:*}" -+ server="${1#*nfs:}" -+ if str_starts $server '['; then -+ server="${server%:/*}" -+ options="${options#*:*}" -+ else -+ server="${server%:/*}" -+ options="${server%%:*}" -+ server="${server#*:}" -+ fi -+} -+ - # nfsroot_from_dhcp NETIF - # fill in missing server/path from DHCP options. - nfsroot_from_dhcp() { diff --git a/0016-splitup-dracut-init.sh-from-dracut-functions.sh.patch b/0016-splitup-dracut-init.sh-from-dracut-functions.sh.patch deleted file mode 100644 index a3baaf3..0000000 --- a/0016-splitup-dracut-init.sh-from-dracut-functions.sh.patch +++ /dev/null @@ -1,645 +0,0 @@ -From 777f2db0373ccbc1a44fc2d960ecefbe50195055 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 2 Jul 2015 15:40:13 +0200 -Subject: [PATCH] splitup dracut-init.sh from dracut-functions.sh - -other tools want to source dracut-functions.sh without any mkdir side -effects. ---- - Makefile | 1 + - dracut-functions.sh | 9 ++------- - dracut-init.sh | 34 ++++++++++++++++++++++++++++++++++ - dracut.sh | 8 ++++---- - test/TEST-01-BASIC/test.sh | 6 +++--- - test/TEST-02-SYSTEMD/test.sh | 6 +++--- - test/TEST-03-USR-MOUNT/test.sh | 6 +++--- - test/TEST-04-FULL-SYSTEMD/test.sh | 6 +++--- - test/TEST-10-RAID/test.sh | 6 +++--- - test/TEST-11-LVM/test.sh | 6 +++--- - test/TEST-12-RAID-DEG/test.sh | 6 +++--- - test/TEST-13-ENC-RAID-LVM/test.sh | 6 +++--- - test/TEST-14-IMSM/test.sh | 6 +++--- - test/TEST-15-BTRFSRAID/test.sh | 6 +++--- - test/TEST-16-DMSQUASH/test.sh | 4 ++-- - test/TEST-17-LVM-THIN/test.sh | 6 +++--- - test/TEST-20-NFS/test.sh | 6 +++--- - test/TEST-30-ISCSI/test.sh | 8 ++++---- - test/TEST-40-NBD/test.sh | 10 +++++----- - test/TEST-50-MULTINIC/test.sh | 6 +++--- - 20 files changed, 91 insertions(+), 61 deletions(-) - create mode 100644 dracut-init.sh - -diff --git a/Makefile b/Makefile -index 0af5d0f..98a2fbf 100644 ---- a/Makefile -+++ b/Makefile -@@ -118,6 +118,7 @@ install: all - install -m 0644 dracut.conf $(DESTDIR)$(sysconfdir)/dracut.conf - mkdir -p $(DESTDIR)$(sysconfdir)/dracut.conf.d - mkdir -p $(DESTDIR)$(pkglibdir)/dracut.conf.d -+ install -m 0755 dracut-init.sh $(DESTDIR)$(pkglibdir)/dracut-init.sh - install -m 0755 dracut-functions.sh $(DESTDIR)$(pkglibdir)/dracut-functions.sh - install -m 0755 dracut-version.sh $(DESTDIR)$(pkglibdir)/dracut-version.sh - ln -fs dracut-functions.sh $(DESTDIR)$(pkglibdir)/dracut-functions -diff --git a/dracut-functions.sh b/dracut-functions.sh -index 8f971c0..f415f0d 100755 ---- a/dracut-functions.sh -+++ b/dracut-functions.sh -@@ -20,14 +20,9 @@ - export LC_MESSAGES=C - - if [[ $DRACUT_KERNEL_LAZY ]] && ! [[ $DRACUT_KERNEL_LAZY_HASHDIR ]]; then -- if ! [[ -d "$initdir/.kernelmodseen" ]]; then -- mkdir -p "$initdir/.kernelmodseen" -+ if [[ -d "$initdir/.kernelmodseen" ]]; then -+ DRACUT_KERNEL_LAZY_HASHDIR="$initdir/.kernelmodseen" - fi -- DRACUT_KERNEL_LAZY_HASHDIR="$initdir/.kernelmodseen" --fi -- --if [[ $initdir ]] && ! [[ -d $initdir ]]; then -- mkdir -p "$initdir" - fi - - # Generic substring function. If $2 is in $1, return 0. -diff --git a/dracut-init.sh b/dracut-init.sh -new file mode 100644 -index 0000000..469e42a ---- /dev/null -+++ b/dracut-init.sh -@@ -0,0 +1,34 @@ -+#!/bin/bash -+# -+# functions used by dracut and other tools. -+# -+# Copyright 2005-2009 Red Hat, Inc. All rights reserved. -+# -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+# -+export LC_MESSAGES=C -+ -+if [[ $DRACUT_KERNEL_LAZY ]] && ! [[ $DRACUT_KERNEL_LAZY_HASHDIR ]]; then -+ if ! [[ -d "$initdir/.kernelmodseen" ]]; then -+ mkdir -p "$initdir/.kernelmodseen" -+ fi -+ DRACUT_KERNEL_LAZY_HASHDIR="$initdir/.kernelmodseen" -+fi -+ -+if [[ $initdir ]] && ! [[ -d $initdir ]]; then -+ mkdir -p "$initdir" -+fi -+ -+[[ $dracutbasedir ]] || export dracutbasedir=${BASH_SOURCE%/*} -+. $dracutbasedir/dracut-functions.sh -diff --git a/dracut.sh b/dracut.sh -index 52383c0..8394cee 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -551,7 +551,7 @@ while :; do - -q|--quiet) ((verbosity_mod_l--));; - -l|--local) - allowlocal="yes" -- [[ -f "$(readlink -f "${0%/*}")/dracut-functions.sh" ]] \ -+ [[ -f "$(readlink -f "${0%/*}")/dracut-init.sh" ]] \ - && dracutbasedir="$(readlink -f "${0%/*}")" - ;; - -H|--hostonly|--host-only) -@@ -917,10 +917,10 @@ if [[ -f $dracutbasedir/dracut-version.sh ]]; then - . $dracutbasedir/dracut-version.sh - fi - --if [[ -f $dracutbasedir/dracut-functions.sh ]]; then -- . $dracutbasedir/dracut-functions.sh -+if [[ -f $dracutbasedir/dracut-init.sh ]]; then -+ . $dracutbasedir/dracut-init.sh - else -- printf "%s\n" "dracut: Cannot find $dracutbasedir/dracut-functions.sh." >&2 -+ printf "%s\n" "dracut: Cannot find $dracutbasedir/dracut-init.sh." >&2 - printf "%s\n" "dracut: Are you running from a git checkout?" >&2 - printf "%s\n" "dracut: Try passing -l as an argument to $0" >&2 - exit 1 -diff --git a/test/TEST-01-BASIC/test.sh b/test/TEST-01-BASIC/test.sh -index 4897cc9..83320e2 100755 ---- a/test/TEST-01-BASIC/test.sh -+++ b/test/TEST-01-BASIC/test.sh -@@ -29,7 +29,7 @@ test_setup() { - ( - export initdir=$TESTDIR/overlay/source - mkdir -p $initdir -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - ( - cd "$initdir" - mkdir -p -- dev sys proc etc var/run tmp -@@ -58,7 +58,7 @@ test_setup() { - # second, install the files needed to make the root filesystem - ( - export initdir=$TESTDIR/overlay -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - inst_multiple sfdisk mkfs.ext3 poweroff cp umount sync - inst_hook initqueue 01 ./create-root.sh - inst_hook initqueue/finished 01 ./finished-false.sh -@@ -87,7 +87,7 @@ test_setup() { - - ( - export initdir=$TESTDIR/overlay -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - inst_multiple poweroff shutdown - inst_hook emergency 000 ./hard-off.sh - inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules -diff --git a/test/TEST-02-SYSTEMD/test.sh b/test/TEST-02-SYSTEMD/test.sh -index 3cc5d0a..16f5c26 100755 ---- a/test/TEST-02-SYSTEMD/test.sh -+++ b/test/TEST-02-SYSTEMD/test.sh -@@ -25,7 +25,7 @@ test_setup() { - ( - export initdir=$TESTDIR/overlay/source - mkdir -p $initdir -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - ( - cd "$initdir" - mkdir -p -- dev sys proc etc var/run tmp -@@ -55,7 +55,7 @@ test_setup() { - # second, install the files needed to make the root filesystem - ( - export initdir=$TESTDIR/overlay -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - inst_multiple sfdisk mkfs.ext3 poweroff cp umount - inst_hook initqueue 01 ./create-root.sh - inst_hook initqueue/finished 01 ./finished-false.sh -@@ -84,7 +84,7 @@ test_setup() { - - ( - export initdir=$TESTDIR/overlay -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - inst_multiple poweroff shutdown - inst_hook emergency 000 ./hard-off.sh - inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules -diff --git a/test/TEST-03-USR-MOUNT/test.sh b/test/TEST-03-USR-MOUNT/test.sh -index cccec31..61063fd 100755 ---- a/test/TEST-03-USR-MOUNT/test.sh -+++ b/test/TEST-03-USR-MOUNT/test.sh -@@ -56,7 +56,7 @@ test_setup() { - ( - export initdir=$TESTDIR/overlay/source - mkdir -p $initdir -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - ( - cd "$initdir" - mkdir -p -- dev sys proc etc var/run tmp -@@ -86,7 +86,7 @@ test_setup() { - # second, install the files needed to make the root filesystem - ( - export initdir=$TESTDIR/overlay -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - inst_multiple sfdisk mkfs.btrfs btrfs poweroff cp umount sync - inst_hook initqueue 01 ./create-root.sh - inst_hook initqueue/finished 01 ./finished-false.sh -@@ -122,7 +122,7 @@ test_setup() { - - ( - export initdir=$TESTDIR/overlay -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - inst_multiple poweroff shutdown - inst_hook emergency 000 ./hard-off.sh - inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules -diff --git a/test/TEST-04-FULL-SYSTEMD/test.sh b/test/TEST-04-FULL-SYSTEMD/test.sh -index 6e05f0d..1c12e4f 100755 ---- a/test/TEST-04-FULL-SYSTEMD/test.sh -+++ b/test/TEST-04-FULL-SYSTEMD/test.sh -@@ -57,7 +57,7 @@ test_setup() { - ( - export initdir=$TESTDIR/overlay/source - mkdir -p $initdir -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - - for d in usr/bin usr/sbin bin etc lib "$libdir" sbin tmp usr var var/log dev proc sys sysroot root run; do - if [ -L "/$d" ]; then -@@ -222,7 +222,7 @@ EOF - # second, install the files needed to make the root filesystem - ( - export initdir=$TESTDIR/overlay -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - inst_multiple sfdisk mkfs.btrfs btrfs poweroff cp umount sync - inst_hook initqueue 01 ./create-root.sh - inst_hook initqueue/finished 01 ./finished-false.sh -@@ -254,7 +254,7 @@ EOF - - ( - export initdir=$TESTDIR/overlay -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - inst_multiple poweroff shutdown - inst_hook emergency 000 ./hard-off.sh - inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules -diff --git a/test/TEST-10-RAID/test.sh b/test/TEST-10-RAID/test.sh -index e7a1131..523b61a 100755 ---- a/test/TEST-10-RAID/test.sh -+++ b/test/TEST-10-RAID/test.sh -@@ -27,7 +27,7 @@ test_setup() { - # Create what will eventually be our root filesystem onto an overlay - ( - export initdir=$TESTDIR/overlay/source -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - ( - cd "$initdir" - mkdir -p -- dev sys proc etc var/run tmp -@@ -56,7 +56,7 @@ test_setup() { - # second, install the files needed to make the root filesystem - ( - export initdir=$TESTDIR/overlay -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - inst_multiple sfdisk mke2fs poweroff cp umount - inst_hook initqueue 01 ./create-root.sh - inst_hook initqueue/finished 01 ./finished-false.sh -@@ -84,7 +84,7 @@ test_setup() { - - ( - export initdir=$TESTDIR/overlay -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - inst_multiple poweroff shutdown - inst_hook emergency 000 ./hard-off.sh - inst ./cryptroot-ask.sh /sbin/cryptroot-ask -diff --git a/test/TEST-11-LVM/test.sh b/test/TEST-11-LVM/test.sh -index 0002455..34c7736 100755 ---- a/test/TEST-11-LVM/test.sh -+++ b/test/TEST-11-LVM/test.sh -@@ -24,7 +24,7 @@ test_setup() { - # Create what will eventually be our root filesystem onto an overlay - ( - export initdir=$TESTDIR/overlay/source -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - ( - cd "$initdir" - mkdir -p -- dev sys proc etc var/run tmp -@@ -54,7 +54,7 @@ test_setup() { - # second, install the files needed to make the root filesystem - ( - export initdir=$TESTDIR/overlay -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - inst_multiple sfdisk mke2fs poweroff cp umount - inst_hook initqueue 01 ./create-root.sh - inst_hook initqueue/finished 01 ./finished-false.sh -@@ -77,7 +77,7 @@ test_setup() { - grep -F -m 1 -q dracut-root-block-created $TESTDIR/root.ext2 || return 1 - ( - export initdir=$TESTDIR/overlay -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - inst_multiple poweroff shutdown - inst_hook emergency 000 ./hard-off.sh - inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules -diff --git a/test/TEST-12-RAID-DEG/test.sh b/test/TEST-12-RAID-DEG/test.sh -index 6c7b8b3..f4ec2d0 100755 ---- a/test/TEST-12-RAID-DEG/test.sh -+++ b/test/TEST-12-RAID-DEG/test.sh -@@ -66,7 +66,7 @@ test_setup() { - # Create what will eventually be our root filesystem onto an overlay - ( - export initdir=$TESTDIR/overlay/source -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - ( - cd "$initdir" - mkdir -p -- dev sys proc etc var/run tmp -@@ -94,7 +94,7 @@ test_setup() { - # second, install the files needed to make the root filesystem - ( - export initdir=$TESTDIR/overlay -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - inst_multiple sfdisk mke2fs poweroff cp umount dd grep - inst_hook initqueue 01 ./create-root.sh - inst_hook initqueue/finished 01 ./finished-false.sh -@@ -127,7 +127,7 @@ test_setup() { - - ( - export initdir=$TESTDIR/overlay -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - inst_multiple poweroff shutdown - inst_hook emergency 000 ./hard-off.sh - inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules -diff --git a/test/TEST-13-ENC-RAID-LVM/test.sh b/test/TEST-13-ENC-RAID-LVM/test.sh -index 14d8196..ea81697 100755 ---- a/test/TEST-13-ENC-RAID-LVM/test.sh -+++ b/test/TEST-13-ENC-RAID-LVM/test.sh -@@ -62,7 +62,7 @@ test_setup() { - # Create what will eventually be our root filesystem onto an overlay - ( - export initdir=$TESTDIR/overlay/source -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - ( - cd "$initdir" - mkdir -p -- dev sys proc etc var/run tmp -@@ -91,7 +91,7 @@ test_setup() { - # second, install the files needed to make the root filesystem - ( - export initdir=$TESTDIR/overlay -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - inst_multiple sfdisk mke2fs poweroff cp umount grep - inst_hook initqueue 01 ./create-root.sh - inst_hook initqueue/finished 01 ./finished-false.sh -@@ -121,7 +121,7 @@ test_setup() { - - ( - export initdir=$TESTDIR/overlay -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - inst_multiple poweroff shutdown - inst_hook emergency 000 ./hard-off.sh - inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules -diff --git a/test/TEST-14-IMSM/test.sh b/test/TEST-14-IMSM/test.sh -index 291f3c5..a05d091 100755 ---- a/test/TEST-14-IMSM/test.sh -+++ b/test/TEST-14-IMSM/test.sh -@@ -54,7 +54,7 @@ test_setup() { - # Create what will eventually be our root filesystem onto an overlay - ( - export initdir=$TESTDIR/overlay/source -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - ( - cd "$initdir" - mkdir -p -- dev sys proc etc var/run tmp -@@ -83,7 +83,7 @@ test_setup() { - # second, install the files needed to make the root filesystem - ( - export initdir=$TESTDIR/overlay -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - inst_multiple sfdisk mke2fs poweroff cp umount grep - inst_hook initqueue 01 ./create-root.sh - inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules -@@ -111,7 +111,7 @@ test_setup() { - echo $MD_UUID > $TESTDIR/mduuid - ( - export initdir=$TESTDIR/overlay -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - inst_multiple poweroff shutdown - inst_hook emergency 000 ./hard-off.sh - inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules -diff --git a/test/TEST-15-BTRFSRAID/test.sh b/test/TEST-15-BTRFSRAID/test.sh -index 7f99d8b..5a9b6e1 100755 ---- a/test/TEST-15-BTRFSRAID/test.sh -+++ b/test/TEST-15-BTRFSRAID/test.sh -@@ -26,7 +26,7 @@ test_setup() { - # Create what will eventually be our root filesystem onto an overlay - ( - export initdir=$TESTDIR/overlay/source -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - ( - cd "$initdir" - mkdir -p -- dev sys proc etc var/run tmp -@@ -55,7 +55,7 @@ test_setup() { - # second, install the files needed to make the root filesystem - ( - export initdir=$TESTDIR/overlay -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - inst_multiple sfdisk mkfs.btrfs poweroff cp umount - inst_hook initqueue 01 ./create-root.sh - inst_hook initqueue/finished 01 ./finished-false.sh -@@ -85,7 +85,7 @@ test_setup() { - - ( - export initdir=$TESTDIR/overlay -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - inst_multiple poweroff shutdown - inst_hook emergency 000 ./hard-off.sh - inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules -diff --git a/test/TEST-16-DMSQUASH/test.sh b/test/TEST-16-DMSQUASH/test.sh -index 338f7f4..7e5a7de 100755 ---- a/test/TEST-16-DMSQUASH/test.sh -+++ b/test/TEST-16-DMSQUASH/test.sh -@@ -30,7 +30,7 @@ test_setup() { - mkdir -p -- "$TESTDIR"/overlay - ( - export initdir="$TESTDIR"/overlay -- . "$basedir"/dracut-functions.sh -+ . "$basedir"/dracut-init.sh - inst_multiple poweroff shutdown - inst_hook emergency 000 ./hard-off.sh - inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules -@@ -49,7 +49,7 @@ test_setup() { - # Create what will eventually be our root filesystem onto an overlay - ( - export initdir="$TESTDIR"/root-source -- . "$basedir"/dracut-functions.sh -+ . "$basedir"/dracut-init.sh - ( - cd "$initdir" - mkdir -p -- dev sys proc etc var/run tmp -diff --git a/test/TEST-17-LVM-THIN/test.sh b/test/TEST-17-LVM-THIN/test.sh -index 811a66c..859d4dc 100755 ---- a/test/TEST-17-LVM-THIN/test.sh -+++ b/test/TEST-17-LVM-THIN/test.sh -@@ -24,7 +24,7 @@ test_setup() { - # Create what will eventually be our root filesystem onto an overlay - ( - export initdir=$TESTDIR/overlay/source -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - ( - cd "$initdir" - mkdir -p -- dev sys proc etc var/run tmp -@@ -54,7 +54,7 @@ test_setup() { - # second, install the files needed to make the root filesystem - ( - export initdir=$TESTDIR/overlay -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - inst_multiple sfdisk mke2fs poweroff cp umount - inst_hook initqueue 01 ./create-root.sh - inst_hook initqueue/finished 01 ./finished-false.sh -@@ -77,7 +77,7 @@ test_setup() { - grep -F -m 1 -q dracut-root-block-created $TESTDIR/root.ext2 || return 1 - ( - export initdir=$TESTDIR/overlay -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - inst_multiple poweroff shutdown - inst_hook emergency 000 ./hard-off.sh - inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules -diff --git a/test/TEST-20-NFS/test.sh b/test/TEST-20-NFS/test.sh -index 04616ef..61e4c1a 100755 ---- a/test/TEST-20-NFS/test.sh -+++ b/test/TEST-20-NFS/test.sh -@@ -217,7 +217,7 @@ test_setup() { - - ( - export initdir=$TESTDIR/mnt -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - - for _f in modules.builtin.bin modules.builtin; do - [[ $srcmods/$_f ]] && break -@@ -283,7 +283,7 @@ test_setup() { - # Make client root inside server root - ( - export initdir=$TESTDIR/mnt/nfs/client -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - - inst_multiple sh shutdown poweroff stty cat ps ln ip \ - mount dmesg mkdir cp ping grep setsid ls vi /etc/virc less cat -@@ -331,7 +331,7 @@ test_setup() { - # Make an overlay with needed tools for the test harness - ( - export initdir=$TESTDIR/overlay -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - mkdir $TESTDIR/overlay - inst_multiple poweroff shutdown - inst_hook emergency 000 ./hard-off.sh -diff --git a/test/TEST-30-ISCSI/test.sh b/test/TEST-30-ISCSI/test.sh -index 2c082fe..59e9c5b 100755 ---- a/test/TEST-30-ISCSI/test.sh -+++ b/test/TEST-30-ISCSI/test.sh -@@ -103,7 +103,7 @@ test_setup() { - # Create what will eventually be our root filesystem onto an overlay - ( - export initdir=$TESTDIR/overlay/source -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - ( - cd "$initdir" - mkdir -p -- dev sys proc etc var/run tmp -@@ -128,7 +128,7 @@ test_setup() { - # second, install the files needed to make the root filesystem - ( - export initdir=$TESTDIR/overlay -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - inst_multiple sfdisk mkfs.ext3 poweroff cp umount setsid - inst_hook initqueue 01 ./create-root.sh - inst_hook initqueue/finished 01 ./finished-false.sh -@@ -164,7 +164,7 @@ test_setup() { - rm -- $TESTDIR/client.img - ( - export initdir=$TESTDIR/overlay -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - inst_multiple poweroff shutdown - inst_hook emergency 000 ./hard-off.sh - inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules -@@ -185,7 +185,7 @@ test_setup() { - kernel=$KVERSION - ( - export initdir=$TESTDIR/mnt -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - ( - cd "$initdir"; - mkdir -p dev sys proc etc var/run tmp var/lib/dhcpd /etc/iscsi -diff --git a/test/TEST-40-NBD/test.sh b/test/TEST-40-NBD/test.sh -index aa4b46b..39966ac 100755 ---- a/test/TEST-40-NBD/test.sh -+++ b/test/TEST-40-NBD/test.sh -@@ -192,7 +192,7 @@ make_encrypted_root() { - # Create what will eventually be our root filesystem onto an overlay - ( - export initdir=$TESTDIR/overlay/source -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - mkdir -p "$initdir" - ( - cd "$initdir"; mkdir -p dev sys proc etc var/run tmp -@@ -217,7 +217,7 @@ make_encrypted_root() { - # second, install the files needed to make the root filesystem - ( - export initdir=$TESTDIR/overlay -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - ( - cd "$initdir"; mkdir -p dev sys proc etc var/run tmp - mkdir -p root usr/bin usr/lib usr/lib64 usr/sbin -@@ -263,7 +263,7 @@ make_client_root() { - kernel=$KVERSION - ( - export initdir=$TESTDIR/mnt -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - mkdir -p "$initdir" - ( - cd "$initdir"; mkdir -p dev sys proc etc var/run tmp -@@ -304,7 +304,7 @@ make_server_root() { - kernel=$KVERSION - ( - export initdir=$TESTDIR/mnt -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - mkdir -p "$initdir" - ( - cd "$initdir"; -@@ -351,7 +351,7 @@ test_setup() { - # Make the test image - ( - export initdir=$TESTDIR/overlay -- . $basedir/dracut-functions.sh -+ . $basedir/dracut-init.sh - inst_multiple poweroff shutdown - inst_hook emergency 000 ./hard-off.sh - inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules -diff --git a/test/TEST-50-MULTINIC/test.sh b/test/TEST-50-MULTINIC/test.sh -index b292cc0..b878380 100755 ---- a/test/TEST-50-MULTINIC/test.sh -+++ b/test/TEST-50-MULTINIC/test.sh -@@ -146,7 +146,7 @@ test_setup() { - - ( - export initdir="$TESTDIR"/mnt -- . "$basedir"/dracut-functions.sh -+ . "$basedir"/dracut-init.sh - - ( - cd "$initdir"; -@@ -212,7 +212,7 @@ test_setup() { - # Make client root inside server root - ( - export initdir="$TESTDIR"/mnt/nfs/client -- . "$basedir"/dracut-functions.sh -+ . "$basedir"/dracut-init.sh - ( - cd "$initdir" - mkdir -p dev sys proc etc run -@@ -256,7 +256,7 @@ test_setup() { - # Make an overlay with needed tools for the test harness - ( - export initdir="$TESTDIR"/overlay -- . "$basedir"/dracut-functions.sh -+ . "$basedir"/dracut-init.sh - inst_multiple poweroff shutdown - inst_hook emergency 000 ./hard-off.sh - inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules diff --git a/0017-network-dhclient-script.sh-fixup-lease-time.patch b/0017-network-dhclient-script.sh-fixup-lease-time.patch deleted file mode 100644 index 204f8fe..0000000 --- a/0017-network-dhclient-script.sh-fixup-lease-time.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 8d09f493a634f0c6c44e99fb22618b75cbb41f0f Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 2 Jul 2015 19:48:25 +0200 -Subject: [PATCH] network/dhclient-script.sh: fixup lease time - ---- - modules.d/40network/dhclient-script.sh | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/modules.d/40network/dhclient-script.sh b/modules.d/40network/dhclient-script.sh -index a8b5b89..2550caf 100755 ---- a/modules.d/40network/dhclient-script.sh -+++ b/modules.d/40network/dhclient-script.sh -@@ -21,7 +21,10 @@ setup_interface() { - search=$(printf -- "$new_domain_search") - namesrv=$new_domain_name_servers - hostname=$new_host_name -- lease_time=$new_dhcp_lease_time -+ [ -n "$new_dhcp_lease_time" ] && lease_time=$new_dhcp_lease_time -+ [ -n "$new_max_life" ] && lease_time=$new_max_life -+ preferred_lft=$lease_time -+ [ -n "$new_preferred_life" ] && preferred_lft=$new_preferred_life - - [ -f /tmp/net.$netif.override ] && . /tmp/net.$netif.override - diff --git a/0018-90multipath-add-hostonly-multipath.conf-in-case-host.patch b/0018-90multipath-add-hostonly-multipath.conf-in-case-host.patch deleted file mode 100644 index 25a94b2..0000000 --- a/0018-90multipath-add-hostonly-multipath.conf-in-case-host.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 77403e0032c0ca8bcd4c3951e3ead3bd8c23f8e6 Mon Sep 17 00:00:00 2001 -From: Dave Young -Date: Mon, 6 Jul 2015 15:31:26 +0800 -Subject: [PATCH] 90multipath: add hostonly multipath.conf in case hostonly - mode - -For large machine, suppose there's a lot of multipath devices, multipath layer -will use a lot of memory. For kdump kernel memory is very limited thus it causes -oom. To avoid oom, we only add necessary multipath devices in kdump kernel -multipath.conf. - -This is done by use mpathconf --allow, a new option which is like whitelist. - -Signed-off-by: Dave Young ---- - modules.d/90multipath/module-setup.sh | 42 ++++++++++++++++++++++++++++------- - 1 file changed, 34 insertions(+), 8 deletions(-) - -diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh -index 29643d4..321f13e 100755 ---- a/modules.d/90multipath/module-setup.sh -+++ b/modules.d/90multipath/module-setup.sh -@@ -1,18 +1,28 @@ - #!/bin/bash - -+is_mpath() { -+ local _dev=$1 -+ [ -e /sys/dev/block/$_dev/dm/uuid ] || return 1 -+ [[ $(cat /sys/dev/block/$_dev/dm/uuid) =~ mpath- ]] && return 0 -+ return 1 -+} -+ -+majmin_to_mpath_dev() { -+ local _dev -+ for i in `ls -1 /dev/mapper/mpath*`; do -+ dev=$(get_maj_min $i) -+ if [ "$dev" = "$1" ]; then -+ echo $i -+ return -+ fi -+ done -+} - # called by dracut - check() { - local _rootdev - # if there's no multipath binary, no go. - require_binaries multipath || return 1 - -- is_mpath() { -- local _dev=$1 -- [ -e /sys/dev/block/$_dev/dm/uuid ] || return 1 -- [[ $(cat /sys/dev/block/$_dev/dm/uuid) =~ mpath- ]] && return 0 -- return 1 -- } -- - [[ $hostonly ]] || [[ $mount_needs ]] && { - for_each_host_dev_and_slaves is_mpath || return 255 - } -@@ -79,7 +89,18 @@ installkernel() { - - # called by dracut - install() { -- local _f -+ local _f _allow -+ add_hostonly_mpath_conf() { -+ is_mpath $1 && { -+ local _dev -+ -+ _dev=$(majmin_to_mpath_dev $1) -+ [ -z "$_dev" ] && return -+ strstr "$_allow" "$_dev" && return -+ _allow="$_allow --allow $_dev" -+ } -+ } -+ - inst_multiple -o \ - dmsetup \ - kpartx \ -@@ -93,6 +114,11 @@ install() { - /etc/multipath.conf \ - /etc/multipath/* - -+ [[ $hostonly ]] && { -+ for_each_host_dev_and_slaves_all add_hostonly_mpath_conf -+ [ -n "$_allow" ] && mpathconf $_allow --outfile ${initdir}/etc/multipath.conf -+ } -+ - inst $(command -v partx) /sbin/partx - - inst_libdir_file "libmultipath*" "multipath/*" diff --git a/0019-dmsquash-live-dmsquash-live-root.sh-fixup-checkisomd.patch b/0019-dmsquash-live-dmsquash-live-root.sh-fixup-checkisomd.patch deleted file mode 100644 index a5aff93..0000000 --- a/0019-dmsquash-live-dmsquash-live-root.sh-fixup-checkisomd.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 3d579309cde6c02a85ce7d3c396f61e7f064690b Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 7 Jul 2015 13:25:56 +0200 -Subject: [PATCH] dmsquash-live/dmsquash-live-root.sh: fixup checkisomd5 for - systemd - -systemd does not like a leading "-" for unit template filenames anymore. ---- - modules.d/90dmsquash-live/dmsquash-live-root.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh -index a0a9ab9..531617e 100755 ---- a/modules.d/90dmsquash-live/dmsquash-live-root.sh -+++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh -@@ -41,7 +41,7 @@ getarg rd.live.check -d check || check="" - if [ -n "$check" ]; then - type plymouth >/dev/null 2>&1 && plymouth --hide-splash - if [ -n "$DRACUT_SYSTEMD" ]; then -- p=$(str_replace "$livedev" "-" '\x2d') -+ p=$(dev_unit_name "$livedev") - systemctl start checkisomd5@${p}.service - else - checkisomd5 --verbose $livedev diff --git a/0020-skipcpio-skipcpio.c-linux-kernel-only-accepts-070701.patch b/0020-skipcpio-skipcpio.c-linux-kernel-only-accepts-070701.patch deleted file mode 100644 index 2e93673..0000000 --- a/0020-skipcpio-skipcpio.c-linux-kernel-only-accepts-070701.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 6318baa45f2f09ecd821eddf401270d947664f1d Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 7 Jul 2015 13:26:38 +0200 -Subject: [PATCH] skipcpio/skipcpio.c: linux kernel only accepts "070701" - signature - -don't bother with other signatures ---- - skipcpio/skipcpio.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/skipcpio/skipcpio.c b/skipcpio/skipcpio.c -index 445d7f6..3069981 100644 ---- a/skipcpio/skipcpio.c -+++ b/skipcpio/skipcpio.c -@@ -60,8 +60,7 @@ int main(int argc, char **argv) - fseek(f, 0, SEEK_SET); - - /* check, if this is a cpio archive */ -- if ((buf[0] == 0x71 && buf[1] == 0xc7) -- || (buf[0] == '0' && buf[1] == '7' && buf[2] == '0' && buf[3] == '7' && buf[4] == '0' && buf[5] == '1')) { -+ if (buf[0] == '0' && buf[1] == '7' && buf[2] == '0' && buf[3] == '7' && buf[4] == '0' && buf[5] == '1') { - long pos = 0; - - /* Search for CPIO_END */ diff --git a/0021-Reset-IFS-variable.patch b/0021-Reset-IFS-variable.patch deleted file mode 100644 index 9da21d7..0000000 --- a/0021-Reset-IFS-variable.patch +++ /dev/null @@ -1,30 +0,0 @@ -From b8efaa00171135db1e1f09a73a2e0d8098f03867 Mon Sep 17 00:00:00 2001 -From: Hannes Reinecke -Date: Fri, 26 Jun 2015 16:55:52 +0200 -Subject: [PATCH] Reset IFS variable - -Setting and unsetting the IFS variable is tricky. To be on the -safe side we should always reset the IFS variable to its original -value after parsing. - -Signed-off-by: Hannes Reinecke -Signed-off-by: Thomas Renninger ---- - modules.d/95fcoe/parse-fcoe.sh | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/modules.d/95fcoe/parse-fcoe.sh b/modules.d/95fcoe/parse-fcoe.sh -index b66fa3e..a214007 100755 ---- a/modules.d/95fcoe/parse-fcoe.sh -+++ b/modules.d/95fcoe/parse-fcoe.sh -@@ -26,8 +26,10 @@ initqueue --onetime modprobe -b -q bnx2fc - udevadm settle --timeout=30 - - parse_fcoe_opts() { -+ local OLDIFS="$IFS" - local IFS=: - set $fcoe -+ IFS="$OLDIFS" - - case $# in - 2) diff --git a/0022-mkinitrd-suse.sh-Bail-out-with-exit-1-if-initrd-cann.patch b/0022-mkinitrd-suse.sh-Bail-out-with-exit-1-if-initrd-cann.patch deleted file mode 100644 index 0862a68..0000000 --- a/0022-mkinitrd-suse.sh-Bail-out-with-exit-1-if-initrd-cann.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 01e60ca4f63536025d66610679a7a757907e71c8 Mon Sep 17 00:00:00 2001 -From: Thomas Renninger -Date: Fri, 26 Jun 2015 16:55:53 +0200 -Subject: [PATCH] mkinitrd-suse.sh: Bail out with exit 1 if initrd cannot be - generated - -Signed-off-by: Thomas Renninger ---- - mkinitrd-suse.sh | 17 ++++++++++++++++- - 1 file changed, 16 insertions(+), 1 deletion(-) - -diff --git a/mkinitrd-suse.sh b/mkinitrd-suse.sh -index af42cbe..c2b314f 100755 ---- a/mkinitrd-suse.sh -+++ b/mkinitrd-suse.sh -@@ -280,7 +280,8 @@ done - - [[ $targets && $kernels ]] || default_kernel_images - if [[ ! $targets || ! $kernels ]];then -- error "No kernel found in $boot_dir" -+ error "No kernel found in $boot_dir or bad modules dir in /lib/modules" -+ exit 1 - fi - - # We can have several targets/kernels, transform the list to an array -@@ -301,6 +302,8 @@ fi - [[ $domu_module_list ]] || domu_module_list="${DOMU_INITRD_MODULES}" - shopt -s extglob - -+failed="" -+ - for ((i=0 ; $i<${#targets[@]} ; i++)); do - - if [[ $img_vers ]];then -@@ -329,14 +332,18 @@ for ((i=0 ; $i<${#targets[@]} ; i++)); do - # expansion magics - if [ -n "${modules_all}" ];then - $dracut_cmd $dracut_args --force-drivers "${modules_all}" "$target" "$kernel" &>/dev/null -+ [ $? -ne 0 ] && failed="$failed $target" - else - $dracut_cmd $dracut_args "$target" "$kernel" &>/dev/null -+ [ $? -ne 0 ] && failed="$failed $target" - fi - else - if [ -n "${modules_all}" ];then - $dracut_cmd $dracut_args --force-drivers "${modules_all}" "$target" "$kernel" -+ [ $? -ne 0 ] && failed="$failed $target" - else - $dracut_cmd $dracut_args "$target" "$kernel" -+ [ $? -ne 0 ] && failed="$failed $target" - fi - fi - done -@@ -345,4 +352,12 @@ if [ "$skip_update_bootloader" ] ; then - echo 2>&1 "Did not refresh the bootloader. You might need to refresh it manually." - else - update-bootloader --refresh -+ [ $? -ne 0 ] && echo "Updating bootloader failed" && exit 1 -+fi -+ -+if [ "$failed" != "" ]; then -+ echo "Generating $failed targets failed" -+ exit 1 - fi -+ -+exit 0 diff --git a/0023-Use-the-uncompressed-kernel-file-on-arm-and-aarch-to.patch b/0023-Use-the-uncompressed-kernel-file-on-arm-and-aarch-to.patch deleted file mode 100644 index bb63a00..0000000 --- a/0023-Use-the-uncompressed-kernel-file-on-arm-and-aarch-to.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 162daf0c978ab67131f18856c816d3dbd5ed819f Mon Sep 17 00:00:00 2001 -From: Thomas Renninger -Date: Fri, 26 Jun 2015 16:55:54 +0200 -Subject: [PATCH] Use the uncompressed kernel file on arm and aarch to detect - kernel version - -This is due to file cannot read out the kernel version on these. - -Many thanks to Alexander Graf finding this in old SUSE mkinitrd code. -Converted by Thomas Renninger. - -Signed-off-by: Thomas Renninger - -https://bugzilla.suse.com/show_bug.cgi?id=908454 -Signed-off-by: Thomas Renninger ---- - mkinitrd-suse.sh | 30 +++++++++++++++++++++++++++++- - 1 file changed, 29 insertions(+), 1 deletion(-) - -diff --git a/mkinitrd-suse.sh b/mkinitrd-suse.sh -index c2b314f..0f2b3c4 100755 ---- a/mkinitrd-suse.sh -+++ b/mkinitrd-suse.sh -@@ -145,6 +145,33 @@ is_xen_kernel() { - return - } - -+# kernel_image_gz_from_image() and kernel_version_from_image() are helpers -+# for arm* kernels which produce zImage files which cannot be read from -+# get_kernel_version -> get rid of this workaround if possible -+kernel_image_gz_from_image() { -+ local arch=$(uname -i) -+ local r=${1}.gz -+ -+ # uImage kernels can't be extracted directly. Use the vmlinux.gz instead -+ r=${r//uImage/vmlinux} -+ -+ # on ARM a zImage can't be extracted directly. Other platforms define it -+ # as a gzipped vmlinux file, but not ARM. So only on ARM, use vmlinux.gz. -+ if [[ $arch =~ arm ]] || [[ $arch =~ aarch ]]; then -+ r=${r//zImage/vmlinux} -+ fi -+ -+ echo $r -+} -+ -+kernel_version_from_image() { -+ local kernel_image="$1" kernel_image_gz=$(kernel_image_gz_from_image "$1") -+ -+ if get_kernel_version "$kernel_image" 2>/dev/null; then -+ return -+ fi -+ get_kernel_version "$kernel_image_gz" 2>/dev/null -+} - - # Taken over from SUSE mkinitrd - default_kernel_images() { -@@ -183,7 +210,8 @@ default_kernel_images() { - - [ -L "$boot_dir/$kernel_image" ] && continue - [ "${kernel_image%%.gz}" != "$kernel_image" ] && continue -- kernel_version=$(/usr/bin/get_kernel_version \ -+ -+ kernel_version=$(kernel_version_from_image \ - $boot_dir/$kernel_image 2> /dev/null) - initrd_image=$(echo $kernel_image | sed -e "s|${regex}|initrd|") - if [ "$kernel_image" != "$initrd_image" -a \ diff --git a/0024-ensure-pre-mount-and-resume-run-before-root-fsck.patch b/0024-ensure-pre-mount-and-resume-run-before-root-fsck.patch deleted file mode 100644 index 85d4661..0000000 --- a/0024-ensure-pre-mount-and-resume-run-before-root-fsck.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 6c9484f61440b71301f43cfa912fb9f1113352b1 Mon Sep 17 00:00:00 2001 -From: Andrei Borzenkov -Date: Fri, 26 Jun 2015 16:55:56 +0200 -Subject: [PATCH] ensure pre-mount (and resume) run before root fsck - -References: -https://bugzilla.suse.com/show_bug.cgi?id=906592 -Signed-off-by: Thomas Renninger ---- - modules.d/98dracut-systemd/rootfs-generator.sh | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -diff --git a/modules.d/98dracut-systemd/rootfs-generator.sh b/modules.d/98dracut-systemd/rootfs-generator.sh -index 670613e..5e79d0b 100755 ---- a/modules.d/98dracut-systemd/rootfs-generator.sh -+++ b/modules.d/98dracut-systemd/rootfs-generator.sh -@@ -65,6 +65,23 @@ generator_mount_rootfs() - fi - } - -+generator_fsck_after_pre_mount() -+{ -+ local _name -+ -+ [ -z "$1" ] && return 0 -+ -+ _name=$(dev_unit_name "$1") -+ [ -d /run/systemd/generator/systemd-fsck@${_name}.service.d ] || mkdir -p /run/systemd/generator/systemd-fsck@${_name}.service.d -+ if ! [ -f /run/systemd/generator/systemd-fsck@${_name}.service.d/after-pre-mount.conf ]; then -+ { -+ echo "[Unit]" -+ echo "After=dracut-pre-mount.service" -+ } > /run/systemd/generator/systemd-fsck@${_name}.service.d/after-pre-mount.conf -+ fi -+ -+} -+ - root=$(getarg root=) - case "$root" in - block:LABEL=*|LABEL=*) -@@ -95,6 +112,7 @@ GENERATOR_DIR="$1" - - if [ "$rootok" = "1" ]; then - generator_wait_for_dev "${root#block:}" "$RDRETRY" -+ generator_fsck_after_pre_mount "${root#block:}" - strstr "$(cat /proc/cmdline)" 'root=' || generator_mount_rootfs "${root#block:}" "$(getarg rootfstype=)" "$(getarg rootflags=)" - fi - diff --git a/0025-dracut-pre-mount.service-should-run-before-systemd-f.patch b/0025-dracut-pre-mount.service-should-run-before-systemd-f.patch deleted file mode 100644 index 7482179..0000000 --- a/0025-dracut-pre-mount.service-should-run-before-systemd-f.patch +++ /dev/null @@ -1,23 +0,0 @@ -From e860ef0e308364df3070d866950782544eb11950 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 7 Jul 2015 13:45:19 +0200 -Subject: [PATCH] dracut-pre-mount.service should run before - systemd-fsck-root.service - ---- - modules.d/98dracut-systemd/dracut-pre-mount.service | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/98dracut-systemd/dracut-pre-mount.service b/modules.d/98dracut-systemd/dracut-pre-mount.service -index 96ea995..1e4e29f 100644 ---- a/modules.d/98dracut-systemd/dracut-pre-mount.service -+++ b/modules.d/98dracut-systemd/dracut-pre-mount.service -@@ -11,7 +11,7 @@ - Description=dracut pre-mount hook - Documentation=man:dracut-pre-mount.service(8) - DefaultDependencies=no --Before=initrd-root-fs.target sysroot.mount -+Before=initrd-root-fs.target sysroot.mount systemd-fsck-root.service - After=dracut-initqueue.service - After=cryptsetup.target - ConditionPathExists=/usr/lib/initrd-release diff --git a/0026-TEST-04-FULL-SYSTEMD-fixup-loadkeys-keymap-loading.patch b/0026-TEST-04-FULL-SYSTEMD-fixup-loadkeys-keymap-loading.patch deleted file mode 100644 index 277e31a..0000000 --- a/0026-TEST-04-FULL-SYSTEMD-fixup-loadkeys-keymap-loading.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 9ee2f1e2358c86dce0da1a65f2352e8e3cba5ea4 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 7 Jul 2015 14:29:22 +0200 -Subject: [PATCH] TEST-04-FULL-SYSTEMD: fixup loadkeys keymap loading - ---- - test/TEST-04-FULL-SYSTEMD/test.sh | 15 ++++++++++----- - 1 file changed, 10 insertions(+), 5 deletions(-) - -diff --git a/test/TEST-04-FULL-SYSTEMD/test.sh b/test/TEST-04-FULL-SYSTEMD/test.sh -index 1c12e4f..6ea9281 100755 ---- a/test/TEST-04-FULL-SYSTEMD/test.sh -+++ b/test/TEST-04-FULL-SYSTEMD/test.sh -@@ -171,13 +171,18 @@ EOF - inst /usr/lib/systemd/system/dbus.socket - inst /usr/lib/systemd/system/dbus.service - -+ ( -+ echo "FONT=latarcyrheb-sun16" -+ echo "KEYMAP=us" -+ ) >$initrd/etc/vconsole.conf -+ - # install basic keyboard maps and fonts - for i in \ - /usr/lib/kbd/consolefonts/eurlatgr* \ - /usr/lib/kbd/consolefonts/latarcyrheb-sun16* \ -- /usr/lib/kbd/keymaps/include/* \ -- /usr/lib/kbd/keymaps/i386/include/* \ -- /usr/lib/kbd/keymaps/i386/qwerty/us.*; do -+ /usr/lib/kbd/keymaps/{legacy/,/}include/* \ -+ /usr/lib/kbd/keymaps/{legacy/,/}i386/include/* \ -+ /usr/lib/kbd/keymaps/{legacy/,/}i386/qwerty/us.*; do - [[ -f $i ]] || continue - inst $i - done -@@ -260,9 +265,9 @@ EOF - inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules - ) - sudo $basedir/dracut.sh -l -i $TESTDIR/overlay / \ -- -a "debug systemd" \ -+ -a "debug systemd i18n" \ - -I "/etc/machine-id /etc/hostname" \ -- -o "dash network plymouth lvm mdraid resume crypt i18n caps dm terminfo usrmount kernel-network-modules" \ -+ -o "dash network plymouth lvm mdraid resume crypt caps dm terminfo usrmount kernel-network-modules" \ - -d "piix ide-gd_mod ata_piix btrfs sd_mod i6300esb ib700wdt" \ - --no-hostonly-cmdline -N \ - -f $TESTDIR/initramfs.testing $KVERSION || return 1 diff --git a/0027-TEST-14-IMSM-remove-rd.auto.patch b/0027-TEST-14-IMSM-remove-rd.auto.patch deleted file mode 100644 index cd7866d..0000000 --- a/0027-TEST-14-IMSM-remove-rd.auto.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 3fa31c3a47be657a42640ba1669e0b77b8835534 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 7 Jul 2015 14:31:16 +0200 -Subject: [PATCH] TEST-14-IMSM: remove "rd.auto" - -otherwise rd.auto auto assembles the device ---- - test/TEST-14-IMSM/test.sh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/test/TEST-14-IMSM/test.sh b/test/TEST-14-IMSM/test.sh -index a05d091..f4ea7ae 100755 ---- a/test/TEST-14-IMSM/test.sh -+++ b/test/TEST-14-IMSM/test.sh -@@ -30,13 +30,13 @@ client_run() { - test_run() { - read MD_UUID < $TESTDIR/mduuid - client_run rd.auto rd.md.imsm=0 || return 1 -- client_run rd.auto rd.md.uuid=$MD_UUID rd.dm=0 || return 1 -+ client_run rd.md.uuid=$MD_UUID rd.dm=0 || return 1 - # This test succeeds, because the mirror parts are found without - # assembling the mirror itsself, which is what we want -- client_run rd.auto rd.md.uuid=$MD_UUID rd.md=0 rd.md.imsm failme && return 1 -- client_run rd.auto rd.md.uuid=$MD_UUID rd.md=0 failme && return 1 -+ client_run rd.md.uuid=$MD_UUID rd.md=0 rd.md.imsm failme && return 1 -+ client_run rd.md.uuid=$MD_UUID rd.md=0 failme && return 1 - # the following test hangs on newer md -- client_run rd.auto rd.md.uuid=$MD_UUID rd.dm=0 rd.md.imsm rd.md.conf=0 || return 1 -+ client_run rd.md.uuid=$MD_UUID rd.dm=0 rd.md.imsm rd.md.conf=0 || return 1 - return 0 - } - diff --git a/0028-TEST-50-MULTINIC-test.sh-correctly-call-ldconfig.patch b/0028-TEST-50-MULTINIC-test.sh-correctly-call-ldconfig.patch deleted file mode 100644 index beeecc3..0000000 --- a/0028-TEST-50-MULTINIC-test.sh-correctly-call-ldconfig.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 7ecb36aef43f7573e1ae0489731000c9c01bc481 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 7 Jul 2015 15:34:30 +0200 -Subject: [PATCH] TEST-50-MULTINIC/test.sh: correctly call ldconfig - ---- - test/TEST-50-MULTINIC/test.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/test/TEST-50-MULTINIC/test.sh b/test/TEST-50-MULTINIC/test.sh -index b878380..fdeb840 100755 ---- a/test/TEST-50-MULTINIC/test.sh -+++ b/test/TEST-50-MULTINIC/test.sh -@@ -205,7 +205,7 @@ test_setup() { - inst /etc/group /etc/group - - cp -a -- /etc/ld.so.conf* "$initdir"/etc -- sudo ldconfig -r -- "$initdir" -+ ldconfig -r "$initdir" - dracut_kernel_post - ) - diff --git a/0029-network-dhclient-script.sh-remove-bashism.patch b/0029-network-dhclient-script.sh-remove-bashism.patch deleted file mode 100644 index 072b6f7..0000000 --- a/0029-network-dhclient-script.sh-remove-bashism.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 78362bc5fea4fe640e7a767ebfbef7e3f5f57eba Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Wed, 8 Jul 2015 08:49:02 +0200 -Subject: [PATCH] network/dhclient-script.sh: remove bashism - ---- - modules.d/40network/dhclient-script.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/40network/dhclient-script.sh b/modules.d/40network/dhclient-script.sh -index 2550caf..c75ac89 100755 ---- a/modules.d/40network/dhclient-script.sh -+++ b/modules.d/40network/dhclient-script.sh -@@ -47,7 +47,7 @@ setup_interface() { - ${preferred_lft:+preferred_lft ${preferred_lft}} - - if [ -n "$gw" ] ; then -- if [ "$mask" == "255.255.255.255" ] ; then -+ if [ "$mask" = "255.255.255.255" ] ; then - # point-to-point connection => set explicit route to gateway - echo ip route add $gw dev $netif > /tmp/net.$netif.gw - fi diff --git a/0030-Add-all-btrfs-devices.patch b/0030-Add-all-btrfs-devices.patch deleted file mode 100644 index 8bcc862..0000000 --- a/0030-Add-all-btrfs-devices.patch +++ /dev/null @@ -1,103 +0,0 @@ -From 1cadc26fd44a602ffbcfb59786b400990541dc86 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 9 Jul 2015 13:18:13 +0200 -Subject: [PATCH] Add all btrfs devices - -We have to find them with "btrfs usage", which is cumbersome. ---- - dracut-functions.sh | 13 +++++++++++++ - dracut.sh | 22 ++++++++++++++++++++-- - modules.d/99base/module-setup.sh | 4 +++- - 3 files changed, 36 insertions(+), 3 deletions(-) - -diff --git a/dracut-functions.sh b/dracut-functions.sh -index f415f0d..639c5ae 100755 ---- a/dracut-functions.sh -+++ b/dracut-functions.sh -@@ -31,6 +31,10 @@ strstr() { [[ $1 = *"$2"* ]]; } - strglobin() { [[ $1 = *$2* ]]; } - # Generic glob matching function. If glob pattern $2 matches all of $1, OK - strglob() { [[ $1 = $2 ]]; } -+# returns OK if $1 contains literal string $2 at the beginning, and isn't empty -+str_starts() { [ "${1#"$2"*}" != "$1" ]; } -+# returns OK if $1 contains literal string $2 at the end, and isn't empty -+str_ends() { [ "${1%*"$2"}" != "$1" ]; } - - # helper function for check() in module-setup.sh - # to check for required installed binaries -@@ -1815,3 +1819,12 @@ lvm_internal_dev() { - [[ ${DM_LV_LAYER} ]] || [[ ! -L /dev/${DM_VG_NAME}/${DM_LV_NAME} ]] - } - -+btrfs_devs() { -+ local _mp="$1" -+ btrfs device usage "$_mp" \ -+ | while read _dev _rest; do -+ str_starts "$_dev" "/" || continue -+ _dev=${_dev%,} -+ printf -- "%s\n" "$_dev" -+ done -+} -diff --git a/dracut.sh b/dracut.sh -index 8394cee..bf1886f 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -1146,6 +1146,11 @@ for line in "${fstab_lines[@]}"; do - ;; - esac - [ -z "$dev" ] && dwarn "Bad fstab entry $@" && continue -+ if [[ "$3" == btrfs ]]; then -+ for i in $(btrfs_devs "$2"); do -+ push_host_devs "$i" -+ done -+ fi - push_host_devs "$dev" - host_fs_types["$dev"]="$3" - done -@@ -1194,8 +1199,14 @@ if [[ $hostonly ]]; then - _bdev=$(readlink -f "/dev/block/$_dev") - [[ -b $_bdev ]] && _dev=$_bdev - push_host_devs $_dev -- [[ "$mp" == "/" ]] && root_dev="$_dev" -+ [[ "$mp" == "/" ]] && push root_devs "$_dev" - push_host_devs "$_dev" -+ if [[ $(find_mp_fstype "$mp") == btrfs ]]; then -+ for i in $(btrfs_devs "$mp"); do -+ [[ "$mp" == "/" ]] && push root_devs "$i" -+ push_host_devs "$i" -+ done -+ fi - done - - if [[ -f /proc/swaps ]] && [[ -f /etc/fstab ]]; then -@@ -1240,7 +1251,14 @@ if [[ $hostonly ]]; then - [[ "$_o" != *x-initrd.mount* ]] && continue - _dev=$(expand_persistent_dev "$_d") - _dev="$(readlink -f "$_dev")" -- [[ -b $_dev ]] && push_host_devs "$_dev" -+ [[ -b $_dev ]] || continue -+ -+ push_host_devs "$_dev" -+ if [[ "$_t" == btrfs ]]; then -+ for i in $(find_btrfs_devs "$_m"); do -+ push_host_devs "$i" -+ done -+ fi - done < /etc/fstab - fi - -diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh -index bbc68ba..3fbdc41 100755 ---- a/modules.d/99base/module-setup.sh -+++ b/modules.d/99base/module-setup.sh -@@ -102,7 +102,9 @@ install() { - . "$moddir/dracut-lib.sh" - - for _dev in ${host_devs[@]}; do -- [[ "$_dev" == "$root_dev" ]] && continue -+ for _dev2 in ${root_devs[@]}; do -+ [[ "$_dev" == "$_dev2" ]] && continue 2 -+ done - - # We only actually wait for real devs - swap is only needed - # for resume and udev rules generated when parsing resume= diff --git a/0031-dracut.sh-remove-push.patch b/0031-dracut.sh-remove-push.patch deleted file mode 100644 index d630ec1..0000000 --- a/0031-dracut.sh-remove-push.patch +++ /dev/null @@ -1,155 +0,0 @@ -From 5a66d51102bc3522d46c60d8bd8e5d6837420063 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 9 Jul 2015 14:13:44 +0200 -Subject: [PATCH] dracut.sh: remove push() - -can be done with var+=(val) ---- - dracut.sh | 77 +++++++++++++++++++++++---------------------------------------- - 1 file changed, 28 insertions(+), 49 deletions(-) - -diff --git a/dracut.sh b/dracut.sh -index bf1886f..f7609fa 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -209,30 +209,13 @@ For example: - EOF - } - --# function push() --# push values to a stack --# $1 = stack variable --# $2.. values --# example: --# push stack 1 2 "3 4" --push() { -- local _i -- local __stack=$1; shift -- for _i in "$@"; do -- eval ${__stack}'[${#'${__stack}'[@]}]="$_i"' -- done --} -- - # Fills up host_devs stack variable and makes sure there are no duplicates - push_host_devs() { - local _dev -- for _dev in ${host_devs[@]}; do -- [ "$_dev" = "$1" ] && return -- done -- push host_devs "$1" -+ [[ " ${host_devs[@]} " == *" $1 "* ]] && return -+ host_devs+=( "$1" ) - } - -- - # function pop() - # pops the last value from a stack - # assigns value to second argument variable -@@ -486,28 +469,25 @@ while :; do - PARMS_TO_STORE+=" $1"; - fi - case $1 in -- --kver) kernel="$2"; PARMS_TO_STORE+=" '$2'"; shift;; -- -a|--add) push add_dracutmodules_l "$2"; PARMS_TO_STORE+=" '$2'"; shift;; -- --force-add) push force_add_dracutmodules_l "$2"; PARMS_TO_STORE+=" '$2'"; shift;; -- --add-drivers) push add_drivers_l "$2"; PARMS_TO_STORE+=" '$2'"; shift;; -- --force-drivers) push force_drivers_l "$2"; PARMS_TO_STORE+=" '$2'"; shift;; -- --omit-drivers) push omit_drivers_l "$2"; PARMS_TO_STORE+=" '$2'"; shift;; -- -m|--modules) push dracutmodules_l "$2"; PARMS_TO_STORE+=" '$2'"; shift;; -- -o|--omit) push omit_dracutmodules_l "$2"; PARMS_TO_STORE+=" '$2'"; shift;; -- -d|--drivers) push drivers_l "$2"; PARMS_TO_STORE+=" '$2'"; shift;; -- --filesystems) push filesystems_l "$2"; PARMS_TO_STORE+=" '$2'"; shift;; -- -I|--install) push install_items_l "$2"; PARMS_TO_STORE+=" '$2'"; shift;; -- --install-optional) -- push install_optional_items_l \ -- "$2"; PARMS_TO_STORE+=" '$2'"; shift;; -- --fwdir) push fw_dir_l "$2"; PARMS_TO_STORE+=" '$2'"; shift;; -- --libdirs) push libdirs_l "$2"; PARMS_TO_STORE+=" '$2'"; shift;; -- --fscks) push fscks_l "$2"; PARMS_TO_STORE+=" '$2'"; shift;; -- --add-fstab) push add_fstab_l "$2"; PARMS_TO_STORE+=" '$2'"; shift;; -- --mount) push fstab_lines "$2"; PARMS_TO_STORE+=" '$2'"; shift;; -- --add-device|--device) -- push add_device_l "$2"; PARMS_TO_STORE+=" '$2'"; shift;; -- --kernel-cmdline) push kernel_cmdline_l "$2"; PARMS_TO_STORE+=" '$2'"; shift;; -+ --kver) kernel="$2"; PARMS_TO_STORE+=" '$2'"; shift;; -+ -a|--add) add_dracutmodules_l+=("$2"); PARMS_TO_STORE+=" '$2'"; shift;; -+ --force-add) force_add_dracutmodules_l+=("$2"); PARMS_TO_STORE+=" '$2'"; shift;; -+ --add-drivers) add_drivers_l+=("$2"); PARMS_TO_STORE+=" '$2'"; shift;; -+ --force-drivers) force_drivers_l+=("$2"); PARMS_TO_STORE+=" '$2'"; shift;; -+ --omit-drivers) omit_drivers_l+=("$2"); PARMS_TO_STORE+=" '$2'"; shift;; -+ -m|--modules) dracutmodules_l+=("$2"); PARMS_TO_STORE+=" '$2'"; shift;; -+ -o|--omit) omit_dracutmodules_l+=("$2"); PARMS_TO_STORE+=" '$2'"; shift;; -+ -d|--drivers) drivers_l+=("$2"); PARMS_TO_STORE+=" '$2'"; shift;; -+ --filesystems) filesystems_l+=("$2"); PARMS_TO_STORE+=" '$2'"; shift;; -+ -I|--install) install_items_l+=("$2"); PARMS_TO_STORE+=" '$2'"; shift;; -+ --install-optional) install_optional_items_l+=("$2"); PARMS_TO_STORE+=" '$2'"; shift;; -+ --fwdir) fw_dir_l+=("$2"); PARMS_TO_STORE+=" '$2'"; shift;; -+ --libdirs) libdirs_l+=("$2"); PARMS_TO_STORE+=" '$2'"; shift;; -+ --fscks) fscks_l+=("$2"); PARMS_TO_STORE+=" '$2'"; shift;; -+ --add-fstab) add_fstab_l+=("$2"); PARMS_TO_STORE+=" '$2'"; shift;; -+ --mount) fstab_lines+=("$2"); PARMS_TO_STORE+=" '$2'"; shift;; -+ --add-device|--device) add_device_l+=("$2"); PARMS_TO_STORE+=" '$2'"; shift;; -+ --kernel-cmdline) kernel_cmdline_l+=("$2"); PARMS_TO_STORE+=" '$2'"; shift;; - --nofscks) nofscks_l="yes";; - --ro-mnt) ro_mnt_l="yes";; - -k|--kmoddir) drivers_dir_l="$2"; PARMS_TO_STORE+=" '$2'"; shift;; -@@ -566,7 +546,7 @@ while :; do - persistent_policy_l="$2"; PARMS_TO_STORE+=" '$2'"; shift;; - --fstab) use_fstab_l="yes" ;; - -h|--help) long_usage; exit 1 ;; -- -i|--include) push include_src "$2"; PARMS_TO_STORE+=" '$2'"; -+ -i|--include) include_src+=("$2"); PARMS_TO_STORE+=" '$2'"; - shift;; - --bzip2) compress_l="bzip2";; - --lzma) compress_l="lzma";; -@@ -602,8 +582,8 @@ done - - while (($# > 0)); do - if [ "${1%%=*}" == "++include" ]; then -- push include_src "$2" -- push include_target "$3" -+ include_src+=("$2") -+ include_target+=("$3") - PARMS_TO_STORE+=" --include '$2' '$3'" - shift 2 - fi -@@ -746,7 +726,7 @@ fi - - if (( ${#fstab_lines_l[@]} )); then - while pop fstab_lines_l val; do -- push fstab_lines $val -+ fstab_lines+=($val) - done - fi - -@@ -1199,11 +1179,11 @@ if [[ $hostonly ]]; then - _bdev=$(readlink -f "/dev/block/$_dev") - [[ -b $_bdev ]] && _dev=$_bdev - push_host_devs $_dev -- [[ "$mp" == "/" ]] && push root_devs "$_dev" -+ [[ "$mp" == "/" ]] && root_devs+=("$_dev") - push_host_devs "$_dev" - if [[ $(find_mp_fstype "$mp") == btrfs ]]; then - for i in $(btrfs_devs "$mp"); do -- [[ "$mp" == "/" ]] && push root_devs "$i" -+ [[ "$mp" == "/" ]] && root_devs+=("$i") - push_host_devs "$i" - done - fi -@@ -1237,7 +1217,7 @@ if [[ $hostonly ]]; then - - _dev="$(readlink -f "$dev")" - push_host_devs "$_dev" -- push swap_devs "$_dev" -+ swap_devs+=("$_dev") - break - done < /etc/fstab - done < /proc/swaps -@@ -1262,7 +1242,6 @@ if [[ $hostonly ]]; then - done < /etc/fstab - fi - -- - # record all host modaliases - declare -A host_modalias - find /sys/devices/ -name uevent -print > "$initdir/.modalias" diff --git a/0032-dracut.conf-remove-example-parameters.patch b/0032-dracut.conf-remove-example-parameters.patch deleted file mode 100644 index 213515b..0000000 --- a/0032-dracut.conf-remove-example-parameters.patch +++ /dev/null @@ -1,68 +0,0 @@ -From e833e26137b48063df59e777fe64e495ec538d0f Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 9 Jul 2015 14:31:26 +0200 -Subject: [PATCH] dracut.conf: remove example parameters - ---- - dracut.conf | 54 +++--------------------------------------------------- - 1 file changed, 3 insertions(+), 51 deletions(-) - -diff --git a/dracut.conf b/dracut.conf -index 8533f99..d6317a0 100644 ---- a/dracut.conf -+++ b/dracut.conf -@@ -1,51 +1,3 @@ --# PUT YOUR CONFIG HERE OR IN separate files named *.conf --# in /etc/dracut.conf.d --# SEE man dracut.conf(5) -- --# Sample dracut config file -- --#logfile=/var/log/dracut.log --#fileloglvl=6 -- --# Exact list of dracut modules to use. Modules not listed here are not going --# to be included. If you only want to add some optional modules use --# add_dracutmodules option instead. --#dracutmodules+="" -- --# dracut modules to omit --#omit_dracutmodules+="" -- --# dracut modules to add to the default --#add_dracutmodules+="" -- --# additional kernel modules to the default --#add_drivers+="" -- --# list of kernel filesystem modules to be included in the generic initramfs --#filesystems+="" -- --# build initrd only to boot current hardware --#hostonly="yes" --# -- --# install local /etc/mdadm.conf --#mdadmconf="no" -- --# install local /etc/lvm/lvm.conf --#lvmconf="no" -- --# A list of fsck tools to install. If it's not specified, module's hardcoded --# default is used, currently: "umount mount /sbin/fsck* xfs_db xfs_check --# xfs_repair e2fsck jfs_fsck reiserfsck btrfsck". The installation is --# opportunistic, so non-existing tools are just ignored. --#fscks="" -- --# inhibit installation of any fsck tools --#nofscks="yes" -- --# mount / and /usr read-only by default --#ro_mnt="no" -- --# set the directory for temporary files --# default: /var/tmp --#tmpdir=/tmp -+# PUT YOUR CONFIG IN separate files -+# in /etc/dracut.conf.d named ".conf" -+# SEE man dracut.conf(5) for options diff --git a/0033-dracut.sh-remove-pop.patch b/0033-dracut.sh-remove-pop.patch deleted file mode 100644 index 6e115b8..0000000 --- a/0033-dracut.sh-remove-pop.patch +++ /dev/null @@ -1,224 +0,0 @@ -From 694725abf0d4956bb07b5f96b7887a75e0f430df Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 9 Jul 2015 14:33:24 +0200 -Subject: [PATCH] dracut.sh: remove pop() - ---- - dracut.sh | 119 ++++++++++++++------------------------------------------------ - 1 file changed, 27 insertions(+), 92 deletions(-) - -diff --git a/dracut.sh b/dracut.sh -index f7609fa..54358f3 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -212,35 +212,10 @@ EOF - # Fills up host_devs stack variable and makes sure there are no duplicates - push_host_devs() { - local _dev -- [[ " ${host_devs[@]} " == *" $1 "* ]] && return -- host_devs+=( "$1" ) --} -- --# function pop() --# pops the last value from a stack --# assigns value to second argument variable --# or echo to stdout, if no second argument --# $1 = stack variable --# $2 = optional variable to store the value --# example: --# pop stack val --# val=$(pop stack) --pop() { -- local __stack=$1; shift -- local __resultvar=$1 -- local _value; -- # check for empty stack -- eval '[[ ${#'${__stack}'[@]} -eq 0 ]] && return 1' -- -- eval _value='${'${__stack}'[${#'${__stack}'[@]}-1]}' -- -- if [[ "$__resultvar" ]]; then -- eval $__resultvar="'$_value'" -- else -- printf "%s" "$_value" -- fi -- eval unset ${__stack}'[${#'${__stack}'[@]}-1]' -- return 0 -+ for _dev in "$@"; do -+ [[ " ${host_devs[@]} " == *" $_dev "* ]] && return -+ host_devs+=( "$_dev" ) -+ done - } - - # Little helper function for reading args from the commandline. -@@ -701,81 +676,52 @@ unset NPATH - - # these optins add to the stuff in the config file - if (( ${#add_dracutmodules_l[@]} )); then -- while pop add_dracutmodules_l val; do -- add_dracutmodules+=" $val " -- done -+ add_dracutmodules+=" ${add_dracutmodules_l[@]} " - fi - - if (( ${#force_add_dracutmodules_l[@]} )); then -- while pop force_add_dracutmodules_l val; do -- force_add_dracutmodules+=" $val " -- done -+ force_add_dracutmodules+=" ${force_add_dracutmodules_l[@]} " - fi - - if (( ${#fscks_l[@]} )); then -- while pop fscks_l val; do -- fscks+=" $val " -- done -+ fscks+=" ${fscks_l[@]} " - fi - - if (( ${#add_fstab_l[@]} )); then -- while pop add_fstab_l val; do -- add_fstab+=" $val " -- done -+ add_fstab+=" ${add_fstab_l[@]} " - fi - - if (( ${#fstab_lines_l[@]} )); then -- while pop fstab_lines_l val; do -- fstab_lines+=($val) -- done -+ fstab_lines+=( "${fstab_lines_l[@]}" ) - fi - - if (( ${#install_items_l[@]} )); then -- while pop install_items_l val; do -- install_items+=" $val " -- done -+ install_items+=" ${install_items_l[@]} " - fi - - if (( ${#install_optional_items_l[@]} )); then -- while pop install_optional_items_l val; do -- install_optional_items+=" $val " -- done -+ install_optional_items+=" ${install_optional_items_l[@]} " - fi - - # these options override the stuff in the config file - if (( ${#dracutmodules_l[@]} )); then -- dracutmodules='' -- while pop dracutmodules_l val; do -- dracutmodules+="$val " -- done -+ dracutmodules="${dracutmodules_l[@]}" - fi - - if (( ${#omit_dracutmodules_l[@]} )); then -- omit_dracutmodules='' -- while pop omit_dracutmodules_l val; do -- omit_dracutmodules+="$val " -- done -+ omit_dracutmodules="${omit_dracutmodules_l[@]}" - fi - - if (( ${#filesystems_l[@]} )); then -- filesystems='' -- while pop filesystems_l val; do -- filesystems+="$val " -- done -+ filesystems="${filesystems_l[@]}" - fi - - if (( ${#fw_dir_l[@]} )); then -- fw_dir='' -- while pop fw_dir_l val; do -- fw_dir+="$val " -- done -+ fw_dir="${fw_dir_l[@]}" - fi - - if (( ${#libdirs_l[@]} )); then -- libdirs='' -- while pop libdirs_l val; do -- libdirs+="$val " -- done -+ libdirs="${libdirs_l[@]}" - fi - - [[ $stdloglvl_l ]] && stdloglvl=$stdloglvl_l -@@ -925,38 +871,27 @@ dracutfunctions=$dracutbasedir/dracut-functions.sh - export dracutfunctions - - if (( ${#drivers_l[@]} )); then -- drivers='' -- while pop drivers_l val; do -- drivers+="$val " -- done -+ drivers="${drivers_l[@]}" - fi - drivers=${drivers/-/_} - - if (( ${#add_drivers_l[@]} )); then -- while pop add_drivers_l val; do -- add_drivers+=" $val " -- done -+ add_drivers+=" ${add_drivers_l[@]} " - fi - add_drivers=${add_drivers/-/_} - - if (( ${#force_drivers_l[@]} )); then -- while pop force_drivers_l val; do -- force_drivers+=" $val " -- done -+ force_drivers+=" ${force_drivers_l[@]} " - fi - force_drivers=${force_drivers/-/_} - - if (( ${#omit_drivers_l[@]} )); then -- while pop omit_drivers_l val; do -- omit_drivers+=" $val " -- done -+ omit_drivers+=" ${omit_drivers_l[@]} " - fi - omit_drivers=${omit_drivers/-/_} - - if (( ${#kernel_cmdline_l[@]} )); then -- while pop kernel_cmdline_l val; do -- kernel_cmdline+=" $val " -- done -+ kernel_cmdline+=" ${kernel_cmdline_l[@]} " - fi - - omit_drivers_corrected="" -@@ -1147,10 +1082,8 @@ for dev in $add_device; do - done - - if (( ${#add_device_l[@]} )); then -- while pop add_device_l val; do -- add_device+=" $val " -- push_host_devs "$val" -- done -+ add_device+=" ${add_device_l[@]} " -+ push_host_devs "${add_device_l[@]}" - fi - - if [[ $hostonly ]]; then -@@ -1527,7 +1460,7 @@ if [[ $kernel_only != yes ]]; then - - [[ $kernel_cmdline ]] && printf "%s\n" "$kernel_cmdline" >> "${initdir}/etc/cmdline.d/01-default.conf" - -- while pop fstab_lines line; do -+ for line in "${fstab_lines[@]}"; do - line=($line) - [ -z "${line[3]}" ] && line[3]="defaults" - [ -z "${line[4]}" ] && line[4]="0" -@@ -1566,7 +1499,9 @@ if [[ $kernel_only != yes ]]; then - done - fi - --while pop include_src src && pop include_target target; do -+for ((i=0; i < ${#include_src[@]}; i++)); do -+ src="${include_src[$i]}" -+ target="${include_target[$i]}" - if [[ $src && $target ]]; then - if [[ -f $src ]]; then - inst $src $target diff --git a/0034-guard-arrays-with.patch b/0034-guard-arrays-with.patch deleted file mode 100644 index 63e7563..0000000 --- a/0034-guard-arrays-with.patch +++ /dev/null @@ -1,182 +0,0 @@ -From 3721635b2c5df033fca1e19181d7598e075f5308 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 9 Jul 2015 15:27:44 +0200 -Subject: [PATCH] guard ${arrays[@]} with "" - ---- - dracut-functions.sh | 8 ++++---- - dracut.sh | 6 +++--- - lsinitrd.sh | 2 +- - modules.d/90btrfs/module-setup.sh | 2 +- - modules.d/90kernel-modules/module-setup.sh | 2 +- - modules.d/95cifs/module-setup.sh | 2 +- - modules.d/95nfs/module-setup.sh | 2 +- - modules.d/95virtfs/module-setup.sh | 2 +- - modules.d/99base/module-setup.sh | 6 +++--- - 9 files changed, 16 insertions(+), 16 deletions(-) - -diff --git a/dracut-functions.sh b/dracut-functions.sh -index 639c5ae..3a0a5a2 100755 ---- a/dracut-functions.sh -+++ b/dracut-functions.sh -@@ -596,7 +596,7 @@ for_each_host_dev_fs() - local _dev - local _ret=1 - -- [[ "${!host_fs_types[@]}" ]] || return 0 -+ [[ "${#host_fs_types[@]}" ]] || return 0 - - for _dev in "${!host_fs_types[@]}"; do - $_func "$_dev" "${host_fs_types[$_dev]}" && _ret=0 -@@ -657,7 +657,7 @@ for_each_host_dev_and_slaves_all() - - [[ "${host_devs[@]}" ]] || return 0 - -- for _dev in ${host_devs[@]}; do -+ for _dev in "${host_devs[@]}"; do - [[ -b "$_dev" ]] || continue - if check_block_and_slaves_all $_func $(get_maj_min $_dev); then - _ret=0 -@@ -673,7 +673,7 @@ for_each_host_dev_and_slaves() - - [[ "${host_devs[@]}" ]] || return 0 - -- for _dev in ${host_devs[@]}; do -+ for _dev in "${host_devs[@]}"; do - [[ -b "$_dev" ]] || continue - check_block_and_slaves $_func $(get_maj_min $_dev) && return 0 - done -@@ -1276,7 +1276,7 @@ check_mount() { - local _ret - local _moddep - -- [ "${#host_fs_types[*]}" -le 0 ] && return 1 -+ [ "${#host_fs_types[@]}" -le 0 ] && return 1 - - # If we are already scheduled to be loaded, no need to check again. - [[ " $mods_to_load " == *\ $_mod\ * ]] && return 0 -diff --git a/dracut.sh b/dracut.sh -index 54358f3..fc84a41 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -1220,7 +1220,7 @@ _get_fs_type() { - return 1 - } - --for dev in ${host_devs[@]}; do -+for dev in "${host_devs[@]}"; do - _get_fs_type "$dev" - check_block_and_slaves_all _get_fs_type "$(get_maj_min "$dev")" - done -@@ -1455,8 +1455,8 @@ if [[ $no_kernel != yes ]]; then - fi - - if [[ $kernel_only != yes ]]; then -- (( ${#install_items[@]} > 0 )) && inst_multiple ${install_items[@]} -- (( ${#install_optional_items[@]} > 0 )) && inst_multiple -o ${install_optional_items[@]} -+ (( ${#install_items[@]} > 0 )) && inst_multiple "${install_items[@]}" -+ (( ${#install_optional_items[@]} > 0 )) && inst_multiple -o "${install_optional_items[@]}" - - [[ $kernel_cmdline ]] && printf "%s\n" "$kernel_cmdline" >> "${initdir}/etc/cmdline.d/01-default.conf" - -diff --git a/lsinitrd.sh b/lsinitrd.sh -index 94674af..d2ddd76 100755 ---- a/lsinitrd.sh -+++ b/lsinitrd.sh -@@ -117,7 +117,7 @@ dracutlibdirs() { - extract_files() - { - (( ${#filenames[@]} == 1 )) && nofileinfo=1 -- for f in ${!filenames[@]}; do -+ for f in "${!filenames[@]}"; do - [[ $nofileinfo ]] || echo "initramfs:/$f" - [[ $nofileinfo ]] || echo "========================================================================" - $CAT $image | cpio --extract --verbose --quiet --to-stdout $f 2>/dev/null -diff --git a/modules.d/90btrfs/module-setup.sh b/modules.d/90btrfs/module-setup.sh -index 0771132..9303dbe 100755 ---- a/modules.d/90btrfs/module-setup.sh -+++ b/modules.d/90btrfs/module-setup.sh -@@ -8,7 +8,7 @@ check() { - require_binaries btrfs || return 1 - - [[ $hostonly ]] || [[ $mount_needs ]] && { -- for fs in ${host_fs_types[@]}; do -+ for fs in "${host_fs_types[@]}"; do - [[ "$fs" == "btrfs" ]] && return 0 - done - return 255 -diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh -index 40803df..41bf37d 100755 ---- a/modules.d/90kernel-modules/module-setup.sh -+++ b/modules.d/90kernel-modules/module-setup.sh -@@ -74,7 +74,7 @@ installkernel() { - instmods '=fs' - fi - else -- for i in $(host_fs_all); do -+ for i in "${host_fs_types[@]}"; do - hostonly='' instmods $i - done - fi -diff --git a/modules.d/95cifs/module-setup.sh b/modules.d/95cifs/module-setup.sh -index 0e69845..f711458 100755 ---- a/modules.d/95cifs/module-setup.sh -+++ b/modules.d/95cifs/module-setup.sh -@@ -6,7 +6,7 @@ check() { - require_binaries mount.cifs || return 1 - - [[ $hostonly ]] || [[ $mount_needs ]] && { -- for fs in ${host_fs_types[@]}; do -+ for fs in "${host_fs_types[@]}"; do - [[ "$fs" == "cifs" ]] && return 0 - done - return 255 -diff --git a/modules.d/95nfs/module-setup.sh b/modules.d/95nfs/module-setup.sh -index 8eb542c..9b5b8c8 100755 ---- a/modules.d/95nfs/module-setup.sh -+++ b/modules.d/95nfs/module-setup.sh -@@ -7,7 +7,7 @@ check() { - require_binaries rpc.statd mount.nfs mount.nfs4 umount || return 1 - - [[ $hostonly ]] || [[ $mount_needs ]] && { -- for fs in ${host_fs_types[@]}; do -+ for fs in "${host_fs_types[@]}"; do - [[ "$fs" == "nfs" ]] && return 0 - [[ "$fs" == "nfs3" ]] && return 0 - [[ "$fs" == "nfs4" ]] && return 0 -diff --git a/modules.d/95virtfs/module-setup.sh b/modules.d/95virtfs/module-setup.sh -index 97d39b9..96036ee 100755 ---- a/modules.d/95virtfs/module-setup.sh -+++ b/modules.d/95virtfs/module-setup.sh -@@ -3,7 +3,7 @@ - # called by dracut - check() { - [[ $hostonly ]] || [[ $mount_needs ]] && { -- for fs in ${host_fs_types[@]}; do -+ for fs in "${host_fs_types[@]}"; do - [[ "$fs" == "9p" ]] && return 0 - done - return 255 -diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh -index 3fbdc41..cc94d00 100755 ---- a/modules.d/99base/module-setup.sh -+++ b/modules.d/99base/module-setup.sh -@@ -101,15 +101,15 @@ install() { - - . "$moddir/dracut-lib.sh" - -- for _dev in ${host_devs[@]}; do -- for _dev2 in ${root_devs[@]}; do -+ for _dev in "${host_devs[@]}"; do -+ for _dev2 in "${root_devs[@]}"; do - [[ "$_dev" == "$_dev2" ]] && continue 2 - done - - # We only actually wait for real devs - swap is only needed - # for resume and udev rules generated when parsing resume= - # argument take care of the waiting for us -- for _dev2 in ${swap_devs[@]}; do -+ for _dev2 in "${swap_devs[@]}"; do - [[ "$_dev" == "$_dev2" ]] && continue 2 - done - diff --git a/0035-dracut-functions.sh-simplify-some-for-loops.patch b/0035-dracut-functions.sh-simplify-some-for-loops.patch deleted file mode 100644 index 81920ec..0000000 --- a/0035-dracut-functions.sh-simplify-some-for-loops.patch +++ /dev/null @@ -1,139 +0,0 @@ -From 32de4eb5d30b728c2fb42f802e5104095a4bc74c Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 9 Jul 2015 15:34:47 +0200 -Subject: [PATCH] dracut-functions.sh: simplify some for loops - -continue early, if condition is not met ---- - dracut-functions.sh | 73 +++++++++++++++++++++++------------------------------ - 1 file changed, 32 insertions(+), 41 deletions(-) - -diff --git a/dracut-functions.sh b/dracut-functions.sh -index 3a0a5a2..d559903 100755 ---- a/dracut-functions.sh -+++ b/dracut-functions.sh -@@ -937,26 +937,23 @@ inst_rules() { - for _rule in "$@"; do - if [ "${_rule#/}" = "$_rule" ]; then - for r in ${udevdir}/rules.d ${hostonly:+/etc/udev/rules.d}; do -- if [[ -e $r/$_rule ]]; then -- _found="$r/$_rule" -- inst_rule_programs "$_found" -- inst_rule_group_owner "$_found" -- inst_rule_initqueue "$_found" -- inst_simple "$_found" -- fi -+ [[ -e $r/$_rule ]] || continue -+ _found="$r/$_rule" -+ inst_rule_programs "$_found" -+ inst_rule_group_owner "$_found" -+ inst_rule_initqueue "$_found" -+ inst_simple "$_found" - done - fi - for r in '' $dracutbasedir/rules.d/; do - # skip rules without an absolute path - [[ "${r}$_rule" != /* ]] && continue -- -- if [[ -f ${r}$_rule ]]; then -- _found="${r}$_rule" -- inst_rule_programs "$_found" -- inst_rule_group_owner "$_found" -- inst_rule_initqueue "$_found" -- inst_simple "$_found" "$_target/${_found##*/}" -- fi -+ [[ -f ${r}$_rule ]] || continue -+ _found="${r}$_rule" -+ inst_rule_programs "$_found" -+ inst_rule_group_owner "$_found" -+ inst_rule_initqueue "$_found" -+ inst_simple "$_found" "$_target/${_found##*/}" - done - [[ $_found ]] || dinfo "Skipping udev rule: $_rule" - done -@@ -968,23 +965,21 @@ inst_rules_wildcard() { - inst_dir "${udevdir}/rules.d" - inst_dir "$_target" - for _rule in ${udevdir}/rules.d/$1 ${dracutbasedir}/rules.d/$1 ; do -- if [[ -e $_rule ]]; then -+ [[ -e $_rule ]] || continue -+ inst_rule_programs "$_rule" -+ inst_rule_group_owner "$_rule" -+ inst_rule_initqueue "$_rule" -+ inst_simple "$_rule" -+ _found=$_rule -+ done -+ if [[ -n ${hostonly} ]] ; then -+ for _rule in ${_target}/$1 ; do -+ [[ -f $_rule ]] || continue - inst_rule_programs "$_rule" - inst_rule_group_owner "$_rule" - inst_rule_initqueue "$_rule" - inst_simple "$_rule" - _found=$_rule -- fi -- done -- if [[ -n ${hostonly} ]] ; then -- for _rule in ${_target}/$1 ; do -- if [[ -f $_rule ]]; then -- inst_rule_programs "$_rule" -- inst_rule_group_owner "$_rule" -- inst_rule_initqueue "$_rule" -- inst_simple "$_rule" -- _found=$_rule -- fi - done - fi - [[ $_found ]] || dinfo "Skipping udev rule: $_rule" -@@ -1051,10 +1046,9 @@ inst_any() { - [[ $1 = '-d' ]] && to="$2" && shift 2 - - for f in "$@"; do -- if [[ -e $f ]]; then -- [[ $to ]] && inst "$f" "$to" && return 0 -- inst "$f" && return 0 -- fi -+ [[ -e $f ]] || continue -+ [[ $to ]] && inst "$f" "$to" && return 0 -+ inst "$f" && return 0 - done - - return 1 -@@ -1118,8 +1112,7 @@ inst_decompress() { - inst_opt_decompress() { - local _src - -- for _src in $@ -- do -+ for _src in $@; do - inst_decompress "${_src}" || inst "${_src}" - done - } -@@ -1482,10 +1475,9 @@ install_kmod_with_fw() { - for _fw in $(modinfo -k $kernel -F firmware $1 2>/dev/null); do - _found='' - for _fwdir in $fw_dir; do -- if [[ -d $_fwdir && -f $_fwdir/$_fw ]]; then -- inst_simple "$_fwdir/$_fw" "/lib/firmware/$_fw" -- _found=yes -- fi -+ [[ -d $_fwdir && -f $_fwdir/$_fw ]] || continue -+ inst_simple "$_fwdir/$_fw" "/lib/firmware/$_fw" -+ _found=yes - done - if [[ $_found != yes ]]; then - if ! [[ -d $(echo /sys/module/${_modname//-/_}|{ read a b; echo $a; }) ]]; then -@@ -1557,10 +1549,9 @@ dracut_kernel_post() { - else - for _fw in $(xargs -r modinfo -k $kernel -F firmware < "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist.dep"); do - for _fwdir in $fw_dir; do -- if [[ -d $_fwdir && -f $_fwdir/$_fw ]]; then -- inst_simple "$_fwdir/$_fw" "/lib/firmware/$_fw" -- break -- fi -+ [[ -d $_fwdir && -f $_fwdir/$_fw ]] || continue -+ inst_simple "$_fwdir/$_fw" "/lib/firmware/$_fw" -+ break - done - done - fi diff --git a/0036-dracut.sh-reduce-code.patch b/0036-dracut.sh-reduce-code.patch deleted file mode 100644 index bae71ba..0000000 --- a/0036-dracut.sh-reduce-code.patch +++ /dev/null @@ -1,117 +0,0 @@ -From cb0913db0d23bb0880e525e5cb3d7a179b0c7a20 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 9 Jul 2015 18:02:44 +0200 -Subject: [PATCH] dracut.sh: reduce code - ---- - dracut.sh | 80 ++++++++++++++------------------------------------------------- - 1 file changed, 18 insertions(+), 62 deletions(-) - -diff --git a/dracut.sh b/dracut.sh -index fc84a41..21d29bf 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -674,55 +674,21 @@ done - export PATH="${NPATH#:}" - unset NPATH - --# these optins add to the stuff in the config file --if (( ${#add_dracutmodules_l[@]} )); then -- add_dracutmodules+=" ${add_dracutmodules_l[@]} " --fi -- --if (( ${#force_add_dracutmodules_l[@]} )); then -- force_add_dracutmodules+=" ${force_add_dracutmodules_l[@]} " --fi -- --if (( ${#fscks_l[@]} )); then -- fscks+=" ${fscks_l[@]} " --fi -- --if (( ${#add_fstab_l[@]} )); then -- add_fstab+=" ${add_fstab_l[@]} " --fi -- --if (( ${#fstab_lines_l[@]} )); then -- fstab_lines+=( "${fstab_lines_l[@]}" ) --fi -- --if (( ${#install_items_l[@]} )); then -- install_items+=" ${install_items_l[@]} " --fi -- --if (( ${#install_optional_items_l[@]} )); then -- install_optional_items+=" ${install_optional_items_l[@]} " --fi -+# these options add to the stuff in the config file -+(( ${#add_dracutmodules_l[@]} )) && add_dracutmodules+=" ${add_dracutmodules_l[@]} " -+(( ${#force_add_dracutmodules_l[@]} )) && force_add_dracutmodules+=" ${force_add_dracutmodules_l[@]} " -+(( ${#fscks_l[@]} )) && fscks+=" ${fscks_l[@]} " -+(( ${#add_fstab_l[@]} )) && add_fstab+=" ${add_fstab_l[@]} " -+(( ${#fstab_lines_l[@]} )) && fstab_lines+=( "${fstab_lines_l[@]}" ) -+(( ${#install_items_l[@]} )) && install_items+=" ${install_items_l[@]} " -+(( ${#install_optional_items_l[@]} )) && install_optional_items+=" ${install_optional_items_l[@]} " - - # these options override the stuff in the config file --if (( ${#dracutmodules_l[@]} )); then -- dracutmodules="${dracutmodules_l[@]}" --fi -- --if (( ${#omit_dracutmodules_l[@]} )); then -- omit_dracutmodules="${omit_dracutmodules_l[@]}" --fi -- --if (( ${#filesystems_l[@]} )); then -- filesystems="${filesystems_l[@]}" --fi -- --if (( ${#fw_dir_l[@]} )); then -- fw_dir="${fw_dir_l[@]}" --fi -- --if (( ${#libdirs_l[@]} )); then -- libdirs="${libdirs_l[@]}" --fi -+(( ${#dracutmodules_l[@]} )) && dracutmodules="${dracutmodules_l[@]}" -+(( ${#omit_dracutmodules_l[@]} )) && omit_dracutmodules="${omit_dracutmodules_l[@]}" -+(( ${#filesystems_l[@]} )) && filesystems="${filesystems_l[@]}" -+(( ${#fw_dir_l[@]} )) && fw_dir="${fw_dir_l[@]}" -+(( ${#libdirs_l[@]} ))&& libdirs="${libdirs_l[@]}" - - [[ $stdloglvl_l ]] && stdloglvl=$stdloglvl_l - [[ ! $stdloglvl ]] && stdloglvl=4 -@@ -870,29 +836,19 @@ fi - dracutfunctions=$dracutbasedir/dracut-functions.sh - export dracutfunctions - --if (( ${#drivers_l[@]} )); then -- drivers="${drivers_l[@]}" --fi -+(( ${#drivers_l[@]} )) && drivers="${drivers_l[@]}" - drivers=${drivers/-/_} - --if (( ${#add_drivers_l[@]} )); then -- add_drivers+=" ${add_drivers_l[@]} " --fi -+(( ${#add_drivers_l[@]} )) && add_drivers+=" ${add_drivers_l[@]} " - add_drivers=${add_drivers/-/_} - --if (( ${#force_drivers_l[@]} )); then -- force_drivers+=" ${force_drivers_l[@]} " --fi -+(( ${#force_drivers_l[@]} )) && force_drivers+=" ${force_drivers_l[@]} " - force_drivers=${force_drivers/-/_} - --if (( ${#omit_drivers_l[@]} )); then -- omit_drivers+=" ${omit_drivers_l[@]} " --fi -+(( ${#omit_drivers_l[@]} )) && omit_drivers+=" ${omit_drivers_l[@]} " - omit_drivers=${omit_drivers/-/_} - --if (( ${#kernel_cmdline_l[@]} )); then -- kernel_cmdline+=" ${kernel_cmdline_l[@]} " --fi -+(( ${#kernel_cmdline_l[@]} )) && kernel_cmdline+=" ${kernel_cmdline_l[@]} " - - omit_drivers_corrected="" - for d in $omit_drivers; do diff --git a/0037-dracut.sh-remember-0-for-regenerate-all.patch b/0037-dracut.sh-remember-0-for-regenerate-all.patch deleted file mode 100644 index a724e29..0000000 --- a/0037-dracut.sh-remember-0-for-regenerate-all.patch +++ /dev/null @@ -1,66 +0,0 @@ -From e8f19bcf26304282301c7aa34dff10f51d5f6172 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 9 Jul 2015 18:22:15 +0200 -Subject: [PATCH] dracut.sh: remember $0 for --regenerate-all - ---- - dracut.sh | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) - -diff --git a/dracut.sh b/dracut.sh -index 21d29bf..77da887 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -23,6 +23,7 @@ - - # store for logging - dracut_args=( "$@" ) -+readonly dracut_cmd="$(readlink -f $0)" - - set -o pipefail - -@@ -34,7 +35,7 @@ usage() { - - # 80x25 linebreak here ^ - cat << EOF --Usage: $0 [OPTION]... [ []] -+Usage: $dracut_cmd [OPTION]... [ []] - - Version: $DRACUT_VERSION - -@@ -59,7 +60,7 @@ long_usage() { - - # 80x25 linebreak here ^ - cat << EOF --Usage: $0 [OPTION]... [ []] -+Usage: $dracut_cmd [OPTION]... [ []] - - Version: $DRACUT_VERSION - -@@ -586,7 +587,7 @@ if [[ $regenerate_all == "yes" ]]; then - cd /lib/modules - for i in *; do - [[ -f $i/modules.dep ]] || [[ -f $i/modules.dep.bin ]] || continue -- dracut --kver="$i" "${dracut_args[@]}" -+ "$dracut_cmd" --kver="$i" "${dracut_args[@]}" - ((ret+=$?)) - done - exit $ret -@@ -814,7 +815,7 @@ if [[ -f $dracutbasedir/dracut-init.sh ]]; then - else - printf "%s\n" "dracut: Cannot find $dracutbasedir/dracut-init.sh." >&2 - printf "%s\n" "dracut: Are you running from a git checkout?" >&2 -- printf "%s\n" "dracut: Try passing -l as an argument to $0" >&2 -+ printf "%s\n" "dracut: Try passing -l as an argument to $dracut_cmd" >&2 - exit 1 - fi - -@@ -866,7 +867,7 @@ for ((i=0; i < ${#dracut_args[@]}; i++)); do - #" keep vim happy - done - --dinfo "Executing: $0 ${dracut_args[@]}" -+dinfo "Executing: $dracut_cmd ${dracut_args[@]}" - - [[ $do_list = yes ]] && { - for mod in $dracutbasedir/modules.d/*; do diff --git a/0038-dracut.sh-early-check-for-bash-version.patch b/0038-dracut.sh-early-check-for-bash-version.patch deleted file mode 100644 index 33468f8..0000000 --- a/0038-dracut.sh-early-check-for-bash-version.patch +++ /dev/null @@ -1,40 +0,0 @@ -From ee44f6297293f895f2e446690a19e7114eff7ae8 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 9 Jul 2015 19:44:30 +0200 -Subject: [PATCH] dracut.sh: early check for bash version - ---- - dracut.sh | 13 +++++++------ - 1 file changed, 7 insertions(+), 6 deletions(-) - -diff --git a/dracut.sh b/dracut.sh -index 77da887..b7456dc 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -22,6 +22,13 @@ - # - - # store for logging -+ -+# Verify bash version, current minimum is 4 -+if (( BASH_VERSINFO[0] < 4 )); then -+ printf -- 'You need at least Bash 4 to use dracut, sorry.' >&2 -+ exit 1 -+fi -+ - dracut_args=( "$@" ) - readonly dracut_cmd="$(readlink -f $0)" - -@@ -828,12 +835,6 @@ if ! [[ $print_cmdline ]]; then - rm -fr -- ${initdir}/* - fi - --# Verify bash version, current minimum is 4 --if (( BASH_VERSINFO[0] < 4 )); then -- dfatal 'You need at least Bash 4 to use dracut, sorry.' -- exit 1 --fi -- - dracutfunctions=$dracutbasedir/dracut-functions.sh - export dracutfunctions - diff --git a/0039-network-add-rd.peerdns-0-parameter.patch b/0039-network-add-rd.peerdns-0-parameter.patch deleted file mode 100644 index 7e9d160..0000000 --- a/0039-network-add-rd.peerdns-0-parameter.patch +++ /dev/null @@ -1,72 +0,0 @@ -From df0bdd5ae9094133afa48b84189822e26d7bfecf Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Mon, 13 Jul 2015 10:14:15 +0200 -Subject: [PATCH] network: add rd.peerdns=0 parameter - -Add rd.peerdns=0 parameter to disable DHCP nameserver setting ---- - dracut.cmdline.7.asc | 3 +++ - modules.d/40network/dhclient-script.sh | 29 ++++++++++++++++------------- - 2 files changed, 19 insertions(+), 13 deletions(-) - -diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc -index 55e6f64..1a54377 100644 ---- a/dracut.cmdline.7.asc -+++ b/dracut.cmdline.7.asc -@@ -546,6 +546,9 @@ interface name. Better name it "bootnet" or "bluesocket". - **nameserver=**____ [**nameserver=**____ ...]:: - specify nameserver(s) to use - -+**rd.peerdns=0**:: -+ Disable DNS setting of DHCP parameters. -+ - **biosdevname=0**:: - boolean, turn off biosdevname network interface renaming - -diff --git a/modules.d/40network/dhclient-script.sh b/modules.d/40network/dhclient-script.sh -index c75ac89..1d891cd 100755 ---- a/modules.d/40network/dhclient-script.sh -+++ b/modules.d/40network/dhclient-script.sh -@@ -54,13 +54,14 @@ setup_interface() { - echo ip route replace default via $gw dev $netif >> /tmp/net.$netif.gw - fi - -- [ -n "${search}${domain}" ] && echo "search $search $domain" > /tmp/net.$netif.resolv.conf -- if [ -n "$namesrv" ] ; then -- for s in $namesrv; do -- echo nameserver $s -- done -- fi >> /tmp/net.$netif.resolv.conf -- -+ if getargbool 1 rd.peerdns; then -+ [ -n "${search}${domain}" ] && echo "search $search $domain" > /tmp/net.$netif.resolv.conf -+ if [ -n "$namesrv" ] ; then -+ for s in $namesrv; do -+ echo nameserver $s -+ done -+ fi >> /tmp/net.$netif.resolv.conf -+ fi - # Note: hostname can be fqdn OR short hostname, so chop off any - # trailing domain name and explicity add any domain if set. - [ -n "$hostname" ] && echo "echo ${hostname%.$domain}${domain:+.$domain} > /proc/sys/kernel/hostname" > /tmp/net.$netif.hostname -@@ -83,12 +84,14 @@ setup_interface6() { - ${lease_time:+valid_lft $lease_time} \ - ${preferred_lft:+preferred_lft ${preferred_lft}} - -- [ -n "${search}${domain}" ] && echo "search $search $domain" > /tmp/net.$netif.resolv.conf -- if [ -n "$namesrv" ] ; then -- for s in $namesrv; do -- echo nameserver $s -- done -- fi >> /tmp/net.$netif.resolv.conf -+ if getargbool 1 rd.peerdns; then -+ [ -n "${search}${domain}" ] && echo "search $search $domain" > /tmp/net.$netif.resolv.conf -+ if [ -n "$namesrv" ] ; then -+ for s in $namesrv; do -+ echo nameserver $s -+ done -+ fi >> /tmp/net.$netif.resolv.conf -+ fi - - # Note: hostname can be fqdn OR short hostname, so chop off any - # trailing domain name and explicity add any domain if set. diff --git a/0040-TODO-update.patch b/0040-TODO-update.patch deleted file mode 100644 index 06df789..0000000 --- a/0040-TODO-update.patch +++ /dev/null @@ -1,21 +0,0 @@ -From 8c7dc032f816d13d482bccebf2f7e56a81c207fd Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Mon, 13 Jul 2015 10:38:16 +0200 -Subject: [PATCH] TODO: update - ---- - TODO | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/TODO b/TODO -index 4a7d959..55fe13b 100644 ---- a/TODO -+++ b/TODO -@@ -7,7 +7,6 @@ Items are ordered in priority. - INITRAMFS TODO - - - search domain string --- peerdns=no - - allow dual stack configuration (IPv4, IPv6) for the same interface - - "bind-mount" kernel drivers in real root for the rescue image, - if the real root does not have any kernel modules for this kernel diff --git a/0041-crypt-skip-crypttab-entries-with-the-same-device.patch b/0041-crypt-skip-crypttab-entries-with-the-same-device.patch deleted file mode 100644 index bdc8f28..0000000 --- a/0041-crypt-skip-crypttab-entries-with-the-same-device.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 968280e37053bceab47183e5aa9e7bfb34e73d37 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Mon, 13 Jul 2015 10:39:07 +0200 -Subject: [PATCH] crypt: skip crypttab entries with the same device - -It was only checked, if the name of the crypttab entry matched. -This patch adds checking, if the device matches. ---- - modules.d/90crypt/crypt-lib.sh | 6 ++++++ - modules.d/90crypt/crypt-run-generator.sh | 2 +- - 2 files changed, 7 insertions(+), 1 deletion(-) - -diff --git a/modules.d/90crypt/crypt-lib.sh b/modules.d/90crypt/crypt-lib.sh -index 213003e..2e13da2 100755 ---- a/modules.d/90crypt/crypt-lib.sh -+++ b/modules.d/90crypt/crypt-lib.sh -@@ -5,11 +5,17 @@ command -v getarg >/dev/null || . /lib/dracut-lib.sh - # check if the crypttab contains an entry for a LUKS UUID - crypttab_contains() { - local luks="$1" -+ local dev="$2" - local l d rest - if [ -f /etc/crypttab ]; then - while read l d rest || [ -n "$l" ]; do - strstr "${l##luks-}" "${luks##luks-}" && return 0 - strstr "$d" "${luks##luks-}" && return 0 -+ if [ -n "$dev" ]; then -+ for _dev in "$(devnames $d)"; do -+ [ "$dev" -ef "$_dev" ] && return 0 -+ done -+ fi - done < /etc/crypttab - fi - return 1 -diff --git a/modules.d/90crypt/crypt-run-generator.sh b/modules.d/90crypt/crypt-run-generator.sh -index 3c5d7b1..5bf60ec 100755 ---- a/modules.d/90crypt/crypt-run-generator.sh -+++ b/modules.d/90crypt/crypt-run-generator.sh -@@ -6,7 +6,7 @@ type crypttab_contains >/dev/null 2>&1 || . /lib/dracut-crypt-lib.sh - dev=$1 - luks=$2 - --crypttab_contains "$luks" && exit 0 -+crypttab_contains "$luks" "$dev" && exit 0 - - allowdiscards="-" - diff --git a/0042-dracut-systemd-dracut-initqueue-only-start-service-i.patch b/0042-dracut-systemd-dracut-initqueue-only-start-service-i.patch deleted file mode 100644 index f4b7799..0000000 --- a/0042-dracut-systemd-dracut-initqueue-only-start-service-i.patch +++ /dev/null @@ -1,51 +0,0 @@ -From e47907cc6b6eead2ab5ef4d5015445668822612a Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Mon, 13 Jul 2015 10:51:47 +0200 -Subject: [PATCH] dracut-systemd/dracut-initqueue: only start service if really - needed - -Only start the dracut-initqueue.service, if the dracut_need_initqueue -command was issued on creation or later on set. ---- - modules.d/90lvm/module-setup.sh | 2 ++ - modules.d/90mdraid/module-setup.sh | 1 + - modules.d/98dracut-systemd/dracut-initqueue.service | 5 ----- - 3 files changed, 3 insertions(+), 5 deletions(-) - -diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh -index 8269078..42dda57 100755 ---- a/modules.d/90lvm/module-setup.sh -+++ b/modules.d/90lvm/module-setup.sh -@@ -140,4 +140,6 @@ install() { - cache_dump cache_restore cache_check cache_repair \ - era_check era_dump era_invalidate era_restore - fi -+ -+ dracut_need_initqueue - } -diff --git a/modules.d/90mdraid/module-setup.sh b/modules.d/90mdraid/module-setup.sh -index 621d0fb..cecf3bf 100755 ---- a/modules.d/90mdraid/module-setup.sh -+++ b/modules.d/90mdraid/module-setup.sh -@@ -132,4 +132,5 @@ install() { - fi - fi - inst_hook pre-shutdown 30 "$moddir/mdmon-pre-shutdown.sh" -+ dracut_need_initqueue - } -diff --git a/modules.d/98dracut-systemd/dracut-initqueue.service b/modules.d/98dracut-systemd/dracut-initqueue.service -index 5d772f7..fa5ca56 100644 ---- a/modules.d/98dracut-systemd/dracut-initqueue.service -+++ b/modules.d/98dracut-systemd/dracut-initqueue.service -@@ -17,11 +17,6 @@ After=systemd-udev-trigger.service - Wants=systemd-udev-trigger.service - ConditionPathExists=/usr/lib/initrd-release - ConditionPathExists=|/lib/dracut/need-initqueue --ConditionPathExistsGlob=|/lib/dracut/hooks/initqueue/*.sh --ConditionPathExistsGlob=|/lib/dracut/hooks/initqueue/settled/*.sh --ConditionPathExistsGlob=|/lib/dracut/hooks/initqueue/finished/*.sh --ConditionPathExistsGlob=|/lib/dracut/hooks/initqueue/online/*.sh --ConditionPathExistsGlob=|/lib/dracut/hooks/initqueue/timeout/*.sh - ConditionKernelCommandLine=|rd.break=initqueue - - [Service] diff --git a/0043-Replace-echo-n-with-printf-in-code-with-a-bin-sh-she.patch b/0043-Replace-echo-n-with-printf-in-code-with-a-bin-sh-she.patch deleted file mode 100644 index 41f91b5..0000000 --- a/0043-Replace-echo-n-with-printf-in-code-with-a-bin-sh-she.patch +++ /dev/null @@ -1,271 +0,0 @@ -From 5899f2f5163de4d68fbb35831e1f2230c22c71b3 Mon Sep 17 00:00:00 2001 -From: Mike Gilbert -Date: Tue, 14 Jul 2015 22:22:14 -0400 -Subject: [PATCH] Replace echo -n with printf in code with a /bin/sh shebang - -POSIX does not mandate that echo support the -n parameter. -printf has more well-defined behavior. ---- - modules.d/04watchdog/watchdog-stop.sh | 2 +- - modules.d/40network/net-lib.sh | 2 +- - modules.d/45ifcfg/write-ifcfg.sh | 2 +- - modules.d/90lvm/lvm_scan.sh | 4 ++-- - modules.d/95fcoe/fcoe-up.sh | 2 +- - modules.d/98usrmount/mount-usr.sh | 2 +- - modules.d/99base/dracut-lib.sh | 6 +++--- - modules.d/99base/init.sh | 2 +- - test/TEST-10-RAID/create-root.sh | 2 +- - test/TEST-10-RAID/cryptroot-ask.sh | 2 +- - test/TEST-12-RAID-DEG/create-root.sh | 2 +- - test/TEST-12-RAID-DEG/cryptroot-ask.sh | 2 +- - test/TEST-13-ENC-RAID-LVM/create-root.sh | 2 +- - test/TEST-13-ENC-RAID-LVM/cryptroot-ask.sh | 2 +- - test/TEST-14-IMSM/cryptroot-ask.sh | 2 +- - test/TEST-20-NFS/client-init.sh | 2 +- - test/TEST-40-NBD/create-root.sh | 2 +- - test/TEST-40-NBD/cryptroot-ask.sh | 2 +- - 18 files changed, 21 insertions(+), 21 deletions(-) - -diff --git a/modules.d/04watchdog/watchdog-stop.sh b/modules.d/04watchdog/watchdog-stop.sh -index 91d45d6..921f969 100755 ---- a/modules.d/04watchdog/watchdog-stop.sh -+++ b/modules.d/04watchdog/watchdog-stop.sh -@@ -1,2 +1,2 @@ - #!/bin/sh --[ -c /dev/watchdog ] && echo -n 'V' > /dev/watchdog -+[ -c /dev/watchdog ] && printf 'V' > /dev/watchdog -diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh -index a09cdaf..6c739e8 100755 ---- a/modules.d/40network/net-lib.sh -+++ b/modules.d/40network/net-lib.sh -@@ -189,7 +189,7 @@ set_ifname() { - fix_bootif() { - local macaddr=${1} - local IFS='-' -- macaddr=$(for i in ${macaddr} ; do echo -n $i:; done) -+ macaddr=$(printf '%s:' ${macaddr}) - macaddr=${macaddr%:} - # strip hardware type field from pxelinux - [ -n "${macaddr%??:??:??:??:??:??}" ] && macaddr=${macaddr#??:} -diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh -index fa7db27..251d684 100755 ---- a/modules.d/45ifcfg/write-ifcfg.sh -+++ b/modules.d/45ifcfg/write-ifcfg.sh -@@ -48,7 +48,7 @@ print_s390() { - for i in /sys/class/net/$_netif/device/cdev[0-9]*; do - [ -e $i ] || continue - channel=$(readlink -f $i) -- echo -n "${channel##*/}," -+ printf '%s' "${channel##*/}," - done - }) - [ -n "$SUBCHANNELS" ] || return 1 -diff --git a/modules.d/90lvm/lvm_scan.sh b/modules.d/90lvm/lvm_scan.sh -index 7495644..ead28aa 100755 ---- a/modules.d/90lvm/lvm_scan.sh -+++ b/modules.d/90lvm/lvm_scan.sh -@@ -15,14 +15,14 @@ SNAPSIZE=$(getargs rd.lvm.snapsize -d rd_LVM_SNAPSIZE=) - lvmdevs=$( - for f in /tmp/.lvm_scan-*; do - [ -e "$f" ] || continue -- echo -n "${f##/tmp/.lvm_scan-} " -+ printf '%s' "${f##/tmp/.lvm_scan-} " - done - ) - - if [ ! -e /etc/lvm/lvm.conf ]; then - { - echo 'devices {'; -- echo -n ' filter = [ ' -+ printf ' filter = [ ' - for dev in $lvmdevs; do - printf '"a|^/dev/%s$|", ' $dev; - done; -diff --git a/modules.d/95fcoe/fcoe-up.sh b/modules.d/95fcoe/fcoe-up.sh -index 43a0ad5..950e4b6 100755 ---- a/modules.d/95fcoe/fcoe-up.sh -+++ b/modules.d/95fcoe/fcoe-up.sh -@@ -64,7 +64,7 @@ elif [ "$netdriver" = "bnx2x" ]; then - sleep 3 - fipvlan "$netif" -c -s - else -- echo -n "$netif" > /sys/module/fcoe/parameters/create -+ printf '%s' "$netif" > /sys/module/fcoe/parameters/create - fi - - need_shutdown -diff --git a/modules.d/98usrmount/mount-usr.sh b/modules.d/98usrmount/mount-usr.sh -index c29610f..d1a629c 100755 ---- a/modules.d/98usrmount/mount-usr.sh -+++ b/modules.d/98usrmount/mount-usr.sh -@@ -12,7 +12,7 @@ filtersubvol() { - while [ $# -gt 0 ]; do - case $1 in - subvol\=*) :;; -- *) echo -n "${1}," ;; -+ *) printf '%s' "${1}," ;; - esac - shift - done -diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh -index cd1f49f..5ec7b23 100755 ---- a/modules.d/99base/dracut-lib.sh -+++ b/modules.d/99base/dracut-lib.sh -@@ -298,7 +298,7 @@ _dogetargs() { - fi - done - if [ -n "$_found" ]; then -- [ $# -gt 0 ] && echo -n "$@" -+ [ $# -gt 0 ] && printf '%s' "$*" - return 0 - fi - return 1; -@@ -329,9 +329,9 @@ getargs() { - done - if [ -n "$_gfound" ]; then - if [ $# -gt 0 ]; then -- echo -n "$@" -+ printf '%s' "$*" - else -- echo -n 1 -+ printf 1 - fi - debug_on - return 0 -diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh -index f96dbb5..a59e8ea 100755 ---- a/modules.d/99base/init.sh -+++ b/modules.d/99base/init.sh -@@ -253,7 +253,7 @@ while :; do - done - - { -- echo -n "Mounted root filesystem " -+ printf "Mounted root filesystem " - while read dev mp rest || [ -n "$dev" ]; do [ "$mp" = "$NEWROOT" ] && echo $dev; done < /proc/mounts - } | vinfo - -diff --git a/test/TEST-10-RAID/create-root.sh b/test/TEST-10-RAID/create-root.sh -index a7e56a5..7b5f2a7 100755 ---- a/test/TEST-10-RAID/create-root.sh -+++ b/test/TEST-10-RAID/create-root.sh -@@ -18,7 +18,7 @@ mdadm --create /dev/md0 --run --auto=yes --level=5 --raid-devices=3 /dev/sda2 /d - # randomly. - mdadm -W /dev/md0 - set -e --echo -n test >keyfile -+printf test >keyfile - cryptsetup -q luksFormat /dev/md0 /keyfile - echo "The passphrase is test" - cryptsetup luksOpen /dev/md0 dracut_crypt_test /keyfile -+printf test >/keyfile - /sbin/cryptsetup luksOpen "$1" "$2" keyfile -+printf test >keyfile - cryptsetup -q luksFormat /dev/md0 /keyfile - echo "The passphrase is test" - set -e -diff --git a/test/TEST-12-RAID-DEG/cryptroot-ask.sh b/test/TEST-12-RAID-DEG/cryptroot-ask.sh -index db27c5b..78ed7f5 100755 ---- a/test/TEST-12-RAID-DEG/cryptroot-ask.sh -+++ b/test/TEST-12-RAID-DEG/cryptroot-ask.sh -@@ -1,6 +1,6 @@ - #!/bin/sh - - [ -b /dev/mapper/$2 ] && exit 0 --echo -n test >/keyfile -+printf test >/keyfile - /sbin/cryptsetup luksOpen $1 $2 keyfile -+printf test >keyfile - cryptsetup -q luksFormat /dev/sda2 /keyfile - cryptsetup -q luksFormat /dev/sda3 /keyfile - cryptsetup -q luksFormat /dev/sda4 /keyfile -diff --git a/test/TEST-13-ENC-RAID-LVM/cryptroot-ask.sh b/test/TEST-13-ENC-RAID-LVM/cryptroot-ask.sh -index db27c5b..78ed7f5 100755 ---- a/test/TEST-13-ENC-RAID-LVM/cryptroot-ask.sh -+++ b/test/TEST-13-ENC-RAID-LVM/cryptroot-ask.sh -@@ -1,6 +1,6 @@ - #!/bin/sh - - [ -b /dev/mapper/$2 ] && exit 0 --echo -n test >/keyfile -+printf test >/keyfile - /sbin/cryptsetup luksOpen $1 $2 /keyfile -+printf test >/keyfile - /sbin/cryptsetup luksOpen $1 $2 /dev/watchdog -+ [ -c /dev/watchdog ] && printf 'V' > /dev/watchdog - strstr "$(setsid --help)" "control" && CTTY="-c" - setsid $CTTY sh -i - fi -diff --git a/test/TEST-40-NBD/create-root.sh b/test/TEST-40-NBD/create-root.sh -index 391279e..20d0eff 100755 ---- a/test/TEST-40-NBD/create-root.sh -+++ b/test/TEST-40-NBD/create-root.sh -@@ -5,7 +5,7 @@ for x in 64-lvm.rules 70-mdadm.rules 99-mount-rules; do - done - rm -f -- /etc/lvm/lvm.conf - udevadm control --reload --echo -n test >keyfile -+printf test >keyfile - cryptsetup -q luksFormat /dev/sdb /keyfile - echo "The passphrase is test" - cryptsetup luksOpen /dev/sdb dracut_crypt_test /keyfile -+printf test >/keyfile - /sbin/cryptsetup luksOpen $1 $2 -Date: Tue, 14 Jul 2015 11:12:16 -0400 -Subject: [PATCH] syncheck: Look for 'echo -n' usage in modules - ---- - Makefile | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 98a2fbf..f3a5c07 100644 ---- a/Makefile -+++ b/Makefile -@@ -212,7 +212,8 @@ syncheck: - [ "$${i##*/}" = "module-setup.sh" ] && continue; \ - read line < "$$i"; [ "$${line#*bash*}" != "$$line" ] && continue; \ - [ $$V ] && echo "posix syntax check: $$i"; bash --posix -n "$$i" ; ret=$$(($$ret+$$?)); \ -- [ $$V ] && echo "checking for [[: $$i"; if grep -Fq '[[ ' "$$i" ; then ret=$$(($$ret+1)); echo "$$i contains [["; fi \ -+ [ $$V ] && echo "checking for [[: $$i"; if grep -Fq '[[ ' "$$i" ; then ret=$$(($$ret+1)); echo "$$i contains [["; fi; \ -+ [ $$V ] && echo "checking for echo -n: $$i"; if grep -Fq 'echo -n ' "$$i" ; then ret=$$(($$ret+1)); echo "$$i contains echo -n"; fi \ - done;exit $$ret - @ret=0;for i in *.sh mkinitrd-dracut.sh modules.d/*/*.sh \ - modules.d/*/module-setup.sh; do \ diff --git a/0045-dracut.spec-add-dracut-init.sh.patch b/0045-dracut.spec-add-dracut-init.sh.patch deleted file mode 100644 index 1ef1840..0000000 --- a/0045-dracut.spec-add-dracut-init.sh.patch +++ /dev/null @@ -1,21 +0,0 @@ -From 7f2ea02b4ad95f59abb73dd4690f6f5ca9191633 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 10 Jul 2015 11:21:51 +0200 -Subject: [PATCH] dracut.spec: add dracut-init.sh - ---- - dracut.spec | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/dracut.spec b/dracut.spec -index 4775210..08b281d 100644 ---- a/dracut.spec -+++ b/dracut.spec -@@ -315,6 +315,7 @@ rm -rf -- $RPM_BUILD_ROOT - %dir %{dracutlibdir} - %dir %{dracutlibdir}/modules.d - %{dracutlibdir}/dracut-functions.sh -+%{dracutlibdir}/dracut-init.sh - %{dracutlibdir}/dracut-functions - %{dracutlibdir}/dracut-version.sh - %{dracutlibdir}/dracut-logger.sh diff --git a/0046-use-mktemp-p-instead-of-tmpdir-for-busybox.patch b/0046-use-mktemp-p-instead-of-tmpdir-for-busybox.patch deleted file mode 100644 index 826deda..0000000 --- a/0046-use-mktemp-p-instead-of-tmpdir-for-busybox.patch +++ /dev/null @@ -1,71 +0,0 @@ -From e50f91e6004a523d745179eaa789e28a75ff06d4 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 14 Jul 2015 10:11:59 +0200 -Subject: [PATCH] use mktemp "-p" instead of "--tmpdir" for busybox - ---- - dracut-logger.sh | 2 +- - dracut.sh | 10 +++++----- - test/test-functions | 2 +- - 3 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/dracut-logger.sh b/dracut-logger.sh -index 2a6019c..e5c9358 100755 ---- a/dracut-logger.sh -+++ b/dracut-logger.sh -@@ -148,7 +148,7 @@ dlog_init() { - && type -P systemd-cat &>/dev/null \ - && systemctl --quiet is-active systemd-journald.socket &>/dev/null \ - && { echo "dracut-$DRACUT_VERSION" | systemd-cat -t 'dracut' &>/dev/null; } ; then -- readonly _dlogdir="$(mktemp --tmpdir="$TMPDIR/" -d -t dracut-log.XXXXXX)" -+ readonly _dlogdir="$(mktemp -p "$TMPDIR/" -d -t dracut-log.XXXXXX)" - readonly _systemdcatfile="$_dlogdir/systemd-cat" - mkfifo "$_systemdcatfile" - readonly _dlogfd=15 -diff --git a/dracut.sh b/dracut.sh -index b7456dc..ee0a039 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -777,16 +777,16 @@ fi - [[ $reproducible == yes ]] && DRACUT_REPRODUCIBLE=1 - - readonly TMPDIR="$tmpdir" --readonly initdir="$(mktemp --tmpdir="$TMPDIR/" -d -t initramfs.XXXXXX)" -+readonly initdir="$(mktemp -p "$TMPDIR/" -d -t initramfs.XXXXXX)" - [ -d "$initdir" ] || { -- printf "%s\n" "dracut: mktemp --tmpdir='$TMPDIR/' -d -t initramfs.XXXXXX failed." >&2 -+ printf "%s\n" "dracut: mktemp -p '$TMPDIR/' -d -t initramfs.XXXXXX failed." >&2 - exit 1 - } - - if [[ $early_microcode = yes ]] || ( [[ $acpi_override = yes ]] && [[ -d $acpi_table_dir ]] ); then -- readonly early_cpio_dir="$(mktemp --tmpdir="$TMPDIR/" -d -t early_cpio.XXXXXX)" -+ readonly early_cpio_dir="$(mktemp -p "$TMPDIR/" -d -t early_cpio.XXXXXX)" - [ -d "$early_cpio_dir" ] || { -- printf "%s\n" "dracut: mktemp --tmpdir='$TMPDIR/' -d -t early_cpio.XXXXXX failed." >&2 -+ printf "%s\n" "dracut: mktemp -p '$TMPDIR/' -d -t early_cpio.XXXXXX failed." >&2 - exit 1 - } - fi -@@ -1614,7 +1614,7 @@ dinfo "*** Creating image file '$outfile' ***" - - if [[ $uefi = yes ]]; then - uefi_outfile="$outfile" -- readonly uefi_outdir="$(mktemp --tmpdir="$TMPDIR/" -d -t initrd.XXXXXX)" -+ readonly uefi_outdir="$(mktemp -p "$TMPDIR/" -d -t initrd.XXXXXX)" - # redirect initrd output - outfile="$uefi_outdir/initrd" - fi -diff --git a/test/test-functions b/test/test-functions -index 1f5eed5..2b8a4d2 100644 ---- a/test/test-functions -+++ b/test/test-functions -@@ -4,7 +4,7 @@ export PATH - - [[ -e .testdir ]] && . .testdir - if [[ -z "$TESTDIR" ]] || [[ ! -d "$TESTDIR" ]]; then -- TESTDIR=$(mktemp -d --tmpdir="/var/tmp" -t dracut-test.XXXXXX) -+ TESTDIR=$(mktemp -d -p "/var/tmp" -t dracut-test.XXXXXX) - fi - echo "TESTDIR=\"$TESTDIR\"" > .testdir - export TESTDIR diff --git a/0047-dmsquash-generator.sh-increase-timeout-for-checkisom.patch b/0047-dmsquash-generator.sh-increase-timeout-for-checkisom.patch deleted file mode 100644 index ae7b4cd..0000000 --- a/0047-dmsquash-generator.sh-increase-timeout-for-checkisom.patch +++ /dev/null @@ -1,25 +0,0 @@ -From f4d64d55ea825ec0d05aaa76d58cddc37d44f719 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Sat, 18 Jul 2015 13:02:25 +0200 -Subject: [PATCH] dmsquash-generator.sh: increase timeout for checkisomd5 - -if the checkisomd5 takes longer than 3 minutes, the device timeout for -/dev/mapper/live-rw cancels the boot process. ---- - modules.d/90dmsquash-live/dmsquash-generator.sh | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/modules.d/90dmsquash-live/dmsquash-generator.sh b/modules.d/90dmsquash-live/dmsquash-generator.sh -index e386d81..85a3592 100755 ---- a/modules.d/90dmsquash-live/dmsquash-generator.sh -+++ b/modules.d/90dmsquash-live/dmsquash-generator.sh -@@ -64,3 +64,9 @@ ROOTFLAGS="$(getarg rootflags)" - echo "What=/dev/mapper/live-rw" - [ -n "$ROOTFLAGS" ] && echo "Options=${ROOTFLAGS}" - } > "$GENERATOR_DIR"/sysroot.mount -+ -+mkdir -p "$GENERATOR_DIR/dev-mapper-live\x2drw.device.d" -+{ -+ echo "[Unit]" -+ echo "JobTimeoutSec=3000" -+} > "$GENERATOR_DIR/dev-mapper-live\x2drw.device.d/timeout.conf" diff --git a/0048-remove-the-incomplete-.img-file.patch b/0048-remove-the-incomplete-.img-file.patch deleted file mode 100644 index f554694..0000000 --- a/0048-remove-the-incomplete-.img-file.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 7eeaa4ab146907eb56bc03d4aeba1feea8357c1e Mon Sep 17 00:00:00 2001 -From: Chao Fan -Date: Tue, 21 Jul 2015 17:18:42 +0800 -Subject: [PATCH] remove the incomplete .img file - -If the directory where the .img file is saved has no enough space, or in -other wrong conditions, dracut will get an incomplete file xxx.img. But -sometimes this .img file will be loaded when rebooting the system. And then -some bugs will happen because this .img file is wrong. - -So I think dracut should remove the incomplete file because this .img file -with problems was made by dracut. And then the wrong file will not be loaded -anymore. - -Signed-off-by: Chao Fan ---- - dracut.sh | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/dracut.sh b/dracut.sh -index ee0a039..122ae0c 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -1651,6 +1651,7 @@ if ! ( - | $compress >> "$outfile" - ); then - dfatal "dracut: creation of $outfile failed" -+ rm -f $outfile - exit 1 - fi - dinfo "*** Creating initrd image file '$outfile' done ***" diff --git a/0049-Cleanup-compressor-handling.patch b/0049-Cleanup-compressor-handling.patch deleted file mode 100644 index 066384d..0000000 --- a/0049-Cleanup-compressor-handling.patch +++ /dev/null @@ -1,148 +0,0 @@ -From 693b7a32833b7c141f03d802f6bc9a767bdb11f8 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Wed, 22 Jul 2015 11:34:08 +0200 -Subject: [PATCH] Cleanup compressor handling - -If no compressor is specified, try to find a suitable one. - -Check if kernel modules can be uncompressed. ---- - dracut.sh | 78 +++++++++++++++++++++++++++++++++++++++++++++++-------------- - dracut.spec | 7 +++--- - 2 files changed, 64 insertions(+), 21 deletions(-) - -diff --git a/dracut.sh b/dracut.sh -index ee0a039..27be54a 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -751,25 +751,53 @@ if [[ -n "$logfile" ]];then - fi - - # handle compression options. --[[ $compress ]] || compress="gzip" -+if [[ $_no_compress_l = "cat" ]]; then -+ compress="cat" -+fi -+ -+if ! [[ $compress ]]; then -+ # check all known compressors, if none specified -+ for i in pigz gzip lz4 lzop lzma xz lbzip2 bzip2 cat; do -+ command -v "$i" &>/dev/null || continue -+ compress="$i" -+ break -+ done -+ if [[ $compress = cat ]]; then -+ printf "%s\n" "dracut: no compression tool available. Initramfs image is going to be big." >&2 -+ fi -+fi -+ -+# choose the right arguments for the compressor - case $compress in -- bzip2) compress="bzip2 -9"; -- command -v lbzip2 > /dev/null 2>&1 && compress="lbzip2 -9";; -- lzma) compress="lzma -9 -T0";; -- xz) compress="xz --check=crc32 --lzma2=dict=1MiB -T0";; -- gzip) compress="gzip -n -9"; -- if command -v pigz > /dev/null 2>&1; then -+ bzip2|lbzip2) -+ if [[ "$compress" = lbzip2 ]] || command -v lbzip2 &>/dev/null; then -+ compress="lbzip2 -9" -+ else -+ compress="bzip2 -9" -+ fi -+ ;; -+ lzma) -+ compress="lzma -9 -T0" -+ ;; -+ xz) -+ compress="xz --check=crc32 --lzma2=dict=1MiB -T0" -+ ;; -+ gzip|pigz) -+ if [[ "$compress" = pigz ]] || command -v pigz &>/dev/null; then - compress="pigz -9 -n -T -R" -- elif command -v gzip --help 2>&1 | grep -q rsyncable; then -+ elif command -v gzip &>/dev/null && gzip --help 2>&1 | grep -q rsyncable; then - compress="gzip -n -9 --rsyncable" -+ else -+ compress="gzip -n -9" - fi - ;; -- lzo) compress="lzop -9";; -- lz4) compress="lz4 -l -9";; -+ lzo|lzop) -+ compress="lzop -9" -+ ;; -+ lz4) -+ compress="lz4 -l -9" -+ ;; - esac --if [[ $_no_compress_l = "cat" ]]; then -- compress="cat" --fi - - [[ $hostonly = yes ]] && hostonly="-h" - [[ $hostonly != "-h" ]] && unset hostonly -@@ -887,10 +915,26 @@ esac - - abs_outfile=$(readlink -f "$outfile") && outfile="$abs_outfile" - --if [[ -d $srcmods ]]; then -- [[ -f $srcmods/modules.dep ]] || { -- dwarn "$srcmods/modules.dep is missing. Did you run depmod?" -- } -+if [[ $no_kernel != yes ]] && [[ -d $srcmods ]]; then -+ if ! [[ -f $srcmods/modules.dep ]]; then -+ dwarn "$srcmods/modules.dep is missing. Did you run depmod?" -+ elif ! ( command -v gzip &>/dev/null && command -v xz &>/dev/null); then -+ read _mod < $srcmods/modules.dep -+ _mod=${_mod%%:*} -+ if [[ -f $srcmods/"$_mod" ]]; then -+ # Check, if kernel modules are compressed, and if we can uncompress them -+ case "$_mod" in -+ *.ko.gz) kcompress=gzip;; -+ *.ko.xz) kcompress=xz;; -+ esac -+ if [[ $kcompress ]]; then -+ if ! command -v "$kcompress" &>/dev/null; then -+ dfatal "Kernel modules are compressed with $kcompress, but $kcompress is not available." -+ exit 1 -+ fi -+ fi -+ fi -+ fi - fi - - if [[ ! $print_cmdline ]]; then -diff --git a/dracut.spec b/dracut.spec -index 08b281d..6ef5de7 100644 ---- a/dracut.spec -+++ b/dracut.spec -@@ -60,7 +60,6 @@ BuildRequires: docbook-style-xsl docbook-dtds libxslt - BuildRequires: asciidoc - %endif - -- - %if 0%{?fedora} > 12 || 0%{?rhel} - # no "provides", because dracut does not offer - # all functionality of the obsoleted packages -@@ -94,17 +93,17 @@ Requires: findutils - Requires: grep - Requires: kmod - Requires: sed -+Requires: xz -+Requires: gzip - - %if 0%{?fedora} > 22 - Recommends: grubby - Recommends: hardlink --Recommends: gzip --Recommends: xz -+Recommends: pigz - Recommends: kpartx - %else - Requires: hardlink - Requires: gzip --Requires: xz - Requires: kpartx - %endif - diff --git a/0050-Add-missing-echo-to-output-the-result.patch b/0050-Add-missing-echo-to-output-the-result.patch deleted file mode 100644 index 8f94d0b..0000000 --- a/0050-Add-missing-echo-to-output-the-result.patch +++ /dev/null @@ -1,22 +0,0 @@ -From c1c96f2c4780bdf8ddc363ded40439cba31afa56 Mon Sep 17 00:00:00 2001 -From: Stefan Reimer -Date: Sat, 25 Jul 2015 01:17:04 +0000 -Subject: [PATCH] Add missing echo to output the result. - -Only place this function is currently called seems from line 28 in modules.d/95nfs/nfs-lib.sh. Bug fix. ---- - modules.d/40network/net-lib.sh | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh -index 6c739e8..68bc095 100755 ---- a/modules.d/40network/net-lib.sh -+++ b/modules.d/40network/net-lib.sh -@@ -5,6 +5,7 @@ get_ip() { - ip=$(ip -o -f inet addr show $iface) - ip=${ip%%/*} - ip=${ip##* } -+ echo $ip - } - - iface_for_remote_addr() { diff --git a/0051-crypt-s-allow-discards-discard-for-crypttab.patch b/0051-crypt-s-allow-discards-discard-for-crypttab.patch deleted file mode 100644 index f02df92..0000000 --- a/0051-crypt-s-allow-discards-discard-for-crypttab.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 2082cdf230574fa7482903730b584445ed3a2a08 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Mon, 27 Jul 2015 13:30:22 +0200 -Subject: [PATCH] crypt: s/allow-discards/discard for crypttab - -actually the option in crypttab is named "discard" and not -"allow-discards" - -https://bugzilla.suse.com/show_bug.cgi?id=932972 ---- - modules.d/90crypt/crypt-run-generator.sh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/modules.d/90crypt/crypt-run-generator.sh b/modules.d/90crypt/crypt-run-generator.sh -index 5bf60ec..8dad76b 100755 ---- a/modules.d/90crypt/crypt-run-generator.sh -+++ b/modules.d/90crypt/crypt-run-generator.sh -@@ -15,10 +15,10 @@ if strstr "$(cryptsetup --help)" "allow-discards"; then - if discarduuids=$(getargs "rd.luks.allow-discards"); then - discarduuids=$(str_replace "$discarduuids" 'luks-' '') - if strstr " $discarduuids " " ${luks##luks-}"; then -- allowdiscards="allow-discards" -+ allowdiscards="discard" - fi - elif getargbool 0 rd.luks.allow-discards; then -- allowdiscards="allow-discards" -+ allowdiscards="discard" - fi - fi - diff --git a/0052-qemu-add-spapr-vscsi-kernel-module.patch b/0052-qemu-add-spapr-vscsi-kernel-module.patch deleted file mode 100644 index 83c7bd8..0000000 --- a/0052-qemu-add-spapr-vscsi-kernel-module.patch +++ /dev/null @@ -1,21 +0,0 @@ -From cce34acace5876d06946dfb1fe70004a0b5176b0 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 28 Jul 2015 11:55:04 +0200 -Subject: [PATCH] qemu: add spapr-vscsi kernel module - ---- - modules.d/90qemu/module-setup.sh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/modules.d/90qemu/module-setup.sh b/modules.d/90qemu/module-setup.sh -index 37972e4..66ef884 100755 ---- a/modules.d/90qemu/module-setup.sh -+++ b/modules.d/90qemu/module-setup.sh -@@ -25,5 +25,6 @@ installkernel() { - hostonly='' instmods \ - ata_piix ata_generic pata_acpi cdrom sr_mod ahci \ - virtio_blk virtio virtio_ring virtio_pci \ -- virtio_scsi virtio_console virtio_rng -+ virtio_scsi virtio_console virtio_rng \ -+ spapr-vscsi - } diff --git a/0053-dracut-initramfs-restore-make-mount-error-nonfatal.patch b/0053-dracut-initramfs-restore-make-mount-error-nonfatal.patch deleted file mode 100644 index f14429b..0000000 --- a/0053-dracut-initramfs-restore-make-mount-error-nonfatal.patch +++ /dev/null @@ -1,25 +0,0 @@ -From da5304aabcb7c1b541a8eeabc69627f05ad47c09 Mon Sep 17 00:00:00 2001 -From: Alexander Tsoy -Date: Tue, 28 Jul 2015 14:55:59 +0300 -Subject: [PATCH] dracut-initramfs-restore: make mount error nonfatal - -Script enables errexit option (set -e). So if /boot is not a mount point -or is already mounted, then script dies after unsuccessful mount -command. Fix this by always returning successful result. ---- - dracut-initramfs-restore.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/dracut-initramfs-restore.sh b/dracut-initramfs-restore.sh -index 0e6a1a8..0c41a59 100644 ---- a/dracut-initramfs-restore.sh -+++ b/dracut-initramfs-restore.sh -@@ -14,7 +14,7 @@ SKIP="$dracutbasedir/skipcpio" - - [[ -f /etc/machine-id ]] && read MACHINE_ID < /etc/machine-id - --mount -o ro /boot &>/dev/null -+mount -o ro /boot &>/dev/null || true - - if [[ $MACHINE_ID ]] && [[ -d /boot/${MACHINE_ID} || -L /boot/${MACHINE_ID} ]] ; then - IMG="/boot/${MACHINE_ID}/${KERNEL_VERSION}/initrd" diff --git a/0054-dracut.sh-simplify-modalias-reading.patch b/0054-dracut.sh-simplify-modalias-reading.patch deleted file mode 100644 index 040a520..0000000 --- a/0054-dracut.sh-simplify-modalias-reading.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 96d694c0b5949586dad8eab5491ad41521eec514 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 30 Jul 2015 12:11:42 +0200 -Subject: [PATCH] dracut.sh: simplify modalias reading - ---- - dracut.sh | 10 +++------- - 1 file changed, 3 insertions(+), 7 deletions(-) - -diff --git a/dracut.sh b/dracut.sh -index 27be54a..77874ba 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -1179,13 +1179,9 @@ if [[ $hostonly ]]; then - - # record all host modaliases - declare -A host_modalias -- find /sys/devices/ -name uevent -print > "$initdir/.modalias" -- while read m || [ -n "$m" ]; do -- while read line || [ -n "$line" ]; do -- [[ "$line" != MODALIAS\=* ]] && continue -- modalias="${line##MODALIAS=}" && [[ $modalias ]] && host_modalias["$modalias"]=1 -- break -- done < "$m" -+ find /sys/devices -name modalias -exec cat '{}' \; > "$initdir/.modalias" -+ while read -r modalias || [ -n "$modalias" ]; do -+ [[ $modalias ]] && host_modalias["$modalias"]=1 - done < "$initdir/.modalias" - - rm -f -- "$initdir/.modalias" diff --git a/0055-90qemu-fixed-systemd-detect-virt-output-parsing.patch b/0055-90qemu-fixed-systemd-detect-virt-output-parsing.patch deleted file mode 100644 index 96de49e..0000000 --- a/0055-90qemu-fixed-systemd-detect-virt-output-parsing.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 4135eea634b20c7f7285d134bd6dfe6b799fe226 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 31 Jul 2015 09:05:51 +0200 -Subject: [PATCH] 90qemu: fixed systemd-detect-virt output parsing - -redirecting systemd-detect-virt to /dev/null doesn't help with parsing -the output :-/ - -Also, add "Red Hat" as a vendor. ---- - modules.d/90qemu/module-setup.sh | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/modules.d/90qemu/module-setup.sh b/modules.d/90qemu/module-setup.sh -index 66ef884..8cae124 100755 ---- a/modules.d/90qemu/module-setup.sh -+++ b/modules.d/90qemu/module-setup.sh -@@ -3,7 +3,7 @@ - # called by dracut - check() { - if type -P systemd-detect-virt >/dev/null 2>&1; then -- vm=$(systemd-detect-virt --vm >/dev/null 2>&1) -+ vm=$(systemd-detect-virt --vm 2>/dev/null) - (($? != 0)) && return 255 - [[ $vm = "qemu" ]] && return 0 - [[ $vm = "kvm" ]] && return 0 -@@ -13,8 +13,9 @@ check() { - for i in /sys/class/dmi/id/*_vendor; do - [[ -f $i ]] || continue - read vendor < $i -- [[ "$vendor" == "QEMU" ]] && return 0 -- [[ "$vendor" == "Bochs" ]] && return 0 -+ [[ "$vendor" == "QEMU" ]] && return 0 -+ [[ "$vendor" == "Red Hat" ]] && return 0 -+ [[ "$vendor" == "Bochs" ]] && return 0 - done - return 255 - } diff --git a/0056-Remove-98integrity-s-dependency-on-selinux.patch b/0056-Remove-98integrity-s-dependency-on-selinux.patch deleted file mode 100644 index 20eb07f..0000000 --- a/0056-Remove-98integrity-s-dependency-on-selinux.patch +++ /dev/null @@ -1,24 +0,0 @@ -From b05ad85b0c46d1001945bcb8c300a34eca2dd2da Mon Sep 17 00:00:00 2001 -From: Mimi Zohar -Date: Mon, 27 Apr 2015 18:24:11 -0400 -Subject: [PATCH] Remove 98integrity's dependency on selinux - -Loading the EVM key(s) is not dependent on selinux. Remove -the dependency. ---- - modules.d/98integrity/module-setup.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/98integrity/module-setup.sh b/modules.d/98integrity/module-setup.sh -index a838664..2d4d2ed 100755 ---- a/modules.d/98integrity/module-setup.sh -+++ b/modules.d/98integrity/module-setup.sh -@@ -7,7 +7,7 @@ check() { - - # called by dracut - depends() { -- echo masterkey securityfs selinux -+ echo masterkey securityfs - return 0 - } - diff --git a/0057-Extend-evm-enable.sh-to-load-the-EVM-public-key.patch b/0057-Extend-evm-enable.sh-to-load-the-EVM-public-key.patch deleted file mode 100644 index dd60426..0000000 --- a/0057-Extend-evm-enable.sh-to-load-the-EVM-public-key.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 396d3cc7ff39e54ce2de1fa9389348238b0ed92e Mon Sep 17 00:00:00 2001 -From: Mimi Zohar -Date: Mon, 27 Apr 2015 18:24:12 -0400 -Subject: [PATCH] Extend evm-enable.sh to load the EVM public key - -Create the _evm keyring and load the EVM public key on it. ---- - modules.d/98integrity/evm-enable.sh | 42 +++++++++++++++++++++++++++++++++++++ - 1 file changed, 42 insertions(+) - -diff --git a/modules.d/98integrity/evm-enable.sh b/modules.d/98integrity/evm-enable.sh -index dee1c6c..ec4f03b 100755 ---- a/modules.d/98integrity/evm-enable.sh -+++ b/modules.d/98integrity/evm-enable.sh -@@ -48,6 +48,45 @@ load_evm_key() - info "integrity: failed to load the EVM encrypted key: ${EVMKEYDESC}"; - return 1; - } -+ return 0 -+} -+ -+load_evm_x509() -+{ -+ info "Load EVM IMA X509" -+ -+ # override the EVM key path name from the 'evmx509=' parameter in -+ # the kernel command line -+ EVMX509ARG=$(getarg evmx509=) -+ [ $? -eq 0 ] && \ -+ EVMX509=${EVMX509ARG} -+ -+ # set the default value -+ [ -z "${EVMX509}" ] && \ -+ EVMX509="/etc/keys/x509_evm.der"; -+ -+ # set the EVM public key path name -+ EVMX509PATH="${NEWROOT}${EVMX509}" -+ -+ # check for EVM public key's existence -+ if [ ! -f "${EVMX509PATH}" ]; then -+ if [ "${RD_DEBUG}" = "yes" ]; then -+ info "integrity: EVM x509 cert file not found: ${EVMX509PATH}" -+ fi -+ return 1 -+ fi -+ -+ # load the EVM public key onto the EVM keyring -+ evm_pubid=`keyctl newring _evm @u` -+ EVMX509ID=$(evmctl import ${EVMX509PATH} ${evm_pubid}) -+ [ $? -eq 0 ] || { -+ info "integrity: failed to load the EVM X509 cert ${EVMX509PATH}"; -+ return 1; -+ } -+ -+ if [ "${RD_DEBUG}" = "yes" ]; then -+ keyctl show @u -+ fi - - return 0 - } -@@ -76,6 +115,9 @@ enable_evm() - # load the EVM encrypted key - load_evm_key || return 1 - -+ # load the EVM public key, if it exists -+ load_evm_x509 -+ - # initialize EVM - info "Enabling EVM" - echo 1 > ${EVMSECFILE} diff --git a/0058-Define-new-script-to-load-keys-on-the-IMA-keyring-up.patch b/0058-Define-new-script-to-load-keys-on-the-IMA-keyring-up.patch deleted file mode 100644 index fdb2668..0000000 --- a/0058-Define-new-script-to-load-keys-on-the-IMA-keyring-up.patch +++ /dev/null @@ -1,135 +0,0 @@ -From 41ac16b26fe05c8291d3467b8a7bee1bc2445393 Mon Sep 17 00:00:00 2001 -From: Mimi Zohar -Date: Wed, 29 Apr 2015 11:05:25 -0400 -Subject: [PATCH] Define new script to load keys on the IMA keyring (update) - -This patch supports loading keys either on the _ima keyring or, as of -Linux 3.17, on the trusted .ima keyring. Only certificates signed by -a key on the system keyring can be loaded onto the trusted .ima keyring. - -Changelog: -- Update 98integrity/README ---- - modules.d/98integrity/README | 28 +++++++++++++++ - modules.d/98integrity/ima-keys-load.sh | 62 ++++++++++++++++++++++++++++++++++ - modules.d/98integrity/module-setup.sh | 2 ++ - 3 files changed, 92 insertions(+) - create mode 100755 modules.d/98integrity/ima-keys-load.sh - -diff --git a/modules.d/98integrity/README b/modules.d/98integrity/README -index d74e063..64de0ae 100644 ---- a/modules.d/98integrity/README -+++ b/modules.d/98integrity/README -@@ -38,3 +38,31 @@ line. - ------------- '/etc/sysconfig/ima' (with the default value) ------------- - IMAPOLICY="/etc/sysconfig/ima-policy" - ------------------------------------------------------------------------- -+ -+ -+# Information on loading distro, third party or local keys on the trusted IMA keyring -+ -+# Loading distro, third party or local keys on the trusted IMA keyring requires -+# creating a local certificate authority(local-CA), installing the local-CA's -+# public key on the system-keyring and signing the certificates with the local-CA -+# key. -+# -+# Many directions for creating a mini certificate authority exist on the web -+# (eg. openssl, yubikey). (Reminder: safely storing the private key offline is -+# really important, especially in the case of the local-CA's private key.) The -+# local-CA's public key can be loaded onto the system keyring either by building -+# the key into the kernel or, on Fedora, storing it in the UEFI/Mok keyring. (As -+# of writing, the patches for loading the UEFI/Mok keys on the system-keyring -+# have not been upstreamed.) -+# -+# To view the system keyring: keyctl show %keyring:.system_keyring -+# -+# Most on-line directions for signing certificates requires creating a Certificate -+# Signing Request (CSR). Creating such a request requires access to the private -+# key, which would not be available when signing distro or 3rd party certificates. -+# Openssl provides the "-ss_cert" option for directly signing certificates. -+ -+# 98integrity/ima-keys-load.sh script loads the signed certificates stored -+# in the $IMAKEYSDIR onto the trusted IMA keyring. The default $IMAKEYSDIR -+# directory is /etc/keys/ima, but can be specified in the /etc/sysconfig/ima -+# policy. -diff --git a/modules.d/98integrity/ima-keys-load.sh b/modules.d/98integrity/ima-keys-load.sh -new file mode 100755 -index 0000000..659b722 ---- /dev/null -+++ b/modules.d/98integrity/ima-keys-load.sh -@@ -0,0 +1,62 @@ -+#!/bin/sh -+ -+SECURITYFSDIR="/sys/kernel/security" -+IMASECDIR="${SECURITYFSDIR}/ima" -+IMACONFIG="${NEWROOT}/etc/sysconfig/ima" -+ -+load_x509_keys() -+{ -+ KEYRING_ID=$1 -+ -+ # override the default configuration -+ if [ -f "${IMACONFIG}" ]; then -+ . ${IMACONFIG} -+ fi -+ -+ if [ -z "${IMAKEYDIR}" ]; then -+ IMAKEYSDIR="/etc/keys/ima" -+ fi -+ -+ PUBKEY_LIST=`ls ${NEWROOT}${IMAKEYSDIR}/*` -+ for PUBKEY in ${PUBKEY_LIST}; do -+ # check for public key's existence -+ if [ ! -f "${PUBKEY}" ]; then -+ if [ "${RD_DEBUG}" = "yes" ]; then -+ info "integrity: IMA x509 cert file not found: ${PUBKEY}" -+ fi -+ continue -+ fi -+ -+ X509ID=$(evmctl import ${PUBKEY} ${KEYRING_ID}) -+ if [ $? -ne 0 ]; then -+ info "integrity: IMA x509 cert not loaded on keyring: ${PUBKEY}" -+ fi -+ done -+ -+ if [ "${RD_DEBUG}" = "yes" ]; then -+ keyctl show ${KEYRING_ID} -+ fi -+ return 0 -+} -+ -+# check kernel support for IMA -+if [ ! -e "${IMASECDIR}" ]; then -+ if [ "${RD_DEBUG}" = "yes" ]; then -+ info "integrity: IMA kernel support is disabled" -+ fi -+ return 0 -+fi -+ -+# get the IMA keyring id -+line=$(keyctl describe %keyring:.ima) -+if [ $? -eq 0 ]; then -+ _ima_id=${line%%:*} -+else -+ _ima_id=`keyctl search @u keyring _ima` -+ if [ -z "${_ima_id}" ]; then -+ _ima_id=`keyctl newring _ima @u` -+ fi -+fi -+ -+# load the IMA public key(s) -+load_x509_keys ${_ima_id} -diff --git a/modules.d/98integrity/module-setup.sh b/modules.d/98integrity/module-setup.sh -index 2d4d2ed..34b33cd 100755 ---- a/modules.d/98integrity/module-setup.sh -+++ b/modules.d/98integrity/module-setup.sh -@@ -13,6 +13,8 @@ depends() { - - # called by dracut - install() { -+ dracut_install evmctl keyctl ls - inst_hook pre-pivot 61 "$moddir/evm-enable.sh" -+ inst_hook pre-pivot 61 "$moddir/ima-keys-load.sh" - inst_hook pre-pivot 62 "$moddir/ima-policy-load.sh" - } diff --git a/0059-Revert-securitfs-change.patch b/0059-Revert-securitfs-change.patch deleted file mode 100644 index 08b1af0..0000000 --- a/0059-Revert-securitfs-change.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 4f50a9bfb109f1705ca987db6301c3c66a00ea75 Mon Sep 17 00:00:00 2001 -From: Mimi Zohar -Date: Mon, 27 Apr 2015 18:24:14 -0400 -Subject: [PATCH] Revert securitfs change - -Commit 5e60145 use findmnt with "--source" or "--target" broke -mounting securityfs. This patch reverts only the securityfs -portion of the patch. ---- - modules.d/96securityfs/securityfs.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/96securityfs/securityfs.sh b/modules.d/96securityfs/securityfs.sh -index 8ccb151..8e57571 100755 ---- a/modules.d/96securityfs/securityfs.sh -+++ b/modules.d/96securityfs/securityfs.sh -@@ -3,6 +3,6 @@ - SECURITYFSDIR="/sys/kernel/security" - export SECURITYFSDIR - --if ! findmnt --target "${SECURITYFSDIR}" >/dev/null 2>&1; then -+if ! findmnt "${SECURITYFSDIR}" >/dev/null 2>&1; then - mount -t securityfs -o nosuid,noexec,nodev securityfs ${SECURITYFSDIR} >/dev/null 2>&1 - fi diff --git a/0060-base-dracut-lib.sh-Dup-stdout-and-stderr.patch b/0060-base-dracut-lib.sh-Dup-stdout-and-stderr.patch deleted file mode 100644 index 89d7775..0000000 --- a/0060-base-dracut-lib.sh-Dup-stdout-and-stderr.patch +++ /dev/null @@ -1,67 +0,0 @@ -From e6a2555c7ddde2ed542b2aae01d78a5c9309bf80 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Mon, 10 Aug 2015 13:40:43 +0200 -Subject: [PATCH] base/dracut-lib.sh: Dup stdout and stderr - -Dup stdout and stderr, so that subshell redirection does not affect -logging. - -Also gets rid of systemd printing info() to the console on "quiet". ---- - modules.d/99base/dracut-lib.sh | 24 ++++++++++++++++++++---- - 1 file changed, 20 insertions(+), 4 deletions(-) - -diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh -index 5ec7b23..200c263 100755 ---- a/modules.d/99base/dracut-lib.sh -+++ b/modules.d/99base/dracut-lib.sh -@@ -51,29 +51,45 @@ str_ends() { - [ "${1%*"$2"}" != "$1" ] - } - -+# Dup stdout and stderr, so that subshell redirection does not affect logging. -+if [ -z "$DRACUT_STDOUT" ]; then -+ if [ -n "$BASH" ]; then -+ readonly DRACUT_STDOUT=98 -+ readonly DRACUT_STDERR=98 -+ exec 98>&1 -+ exec 99>&2 -+ else -+ readonly DRACUT_STDOUT=8 -+ readonly DRACUT_STDERR=9 -+ exec 8>&1 -+ exec 9>&2 -+ fi -+fi -+ -+ - if [ -z "$DRACUT_SYSTEMD" ]; then - - warn() { - check_quiet - echo "<28>dracut Warning: $*" > /dev/kmsg -- echo "dracut Warning: $*" >&2 -+ echo "dracut Warning: $*" >&$DRACUT_STDERR - } - - info() { - check_quiet - echo "<30>dracut: $*" > /dev/kmsg - [ "$DRACUT_QUIET" != "yes" ] && \ -- echo "dracut: $*" >&2 -+ echo "dracut: $*" >&$DRACUT_STDERR - } - - else - - warn() { -- echo "Warning: $*" >&2 -+ echo "Warning: $*" >&$DRACUT_STDERR - } - - info() { -- echo "$*" >&2 -+ echo "$*" >&$DRACUT_STDOUT - } - - fi diff --git a/0061-dracut.sh-remove-quotes-from-install_items-and-insta.patch b/0061-dracut.sh-remove-quotes-from-install_items-and-insta.patch deleted file mode 100644 index 2fa85a1..0000000 --- a/0061-dracut.sh-remove-quotes-from-install_items-and-insta.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 3c00189988f6921c1affdd61a0f5025ee9b93bda Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Mon, 10 Aug 2015 14:05:15 +0200 -Subject: [PATCH] dracut.sh: remove quotes from install_items and - install_optional_items - -Unfortunately these are lists with whitespaces. ---- - dracut.sh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/dracut.sh b/dracut.sh -index 77874ba..f7d31a4 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -1453,8 +1453,8 @@ if [[ $no_kernel != yes ]]; then - fi - - if [[ $kernel_only != yes ]]; then -- (( ${#install_items[@]} > 0 )) && inst_multiple "${install_items[@]}" -- (( ${#install_optional_items[@]} > 0 )) && inst_multiple -o "${install_optional_items[@]}" -+ (( ${#install_items[@]} > 0 )) && inst_multiple ${install_items[@]} -+ (( ${#install_optional_items[@]} > 0 )) && inst_multiple -o ${install_optional_items[@]} - - [[ $kernel_cmdline ]] && printf "%s\n" "$kernel_cmdline" >> "${initdir}/etc/cmdline.d/01-default.conf" - diff --git a/0062-network-net-lib.sh-add-is_ip.patch b/0062-network-net-lib.sh-add-is_ip.patch deleted file mode 100644 index 94db0bb..0000000 --- a/0062-network-net-lib.sh-add-is_ip.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 01b23b6900eabefbfd1f589b9f12c8ff38c5afc0 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Wed, 12 Aug 2015 14:24:05 +0200 -Subject: [PATCH] network/net-lib.sh: add is_ip() - -add function to test if string is a valid IP ---- - modules.d/40network/net-lib.sh | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh -index 68bc095..5c65a2e 100755 ---- a/modules.d/40network/net-lib.sh -+++ b/modules.d/40network/net-lib.sh -@@ -1,5 +1,17 @@ - #!/bin/sh - -+is_ip() { -+ echo "$1" | { -+ IFS=. read a b c d -+ test "$a" -ge 0 -a "$a" -le 255 \ -+ -a "$b" -ge 0 -a "$b" -le 255 \ -+ -a "$c" -ge 0 -a "$c" -le 255 \ -+ -a "$d" -ge 0 -a "$d" -le 255 \ -+ 2> /dev/null -+ } && return 0 -+ return 1 -+} -+ - get_ip() { - local iface="$1" ip="" - ip=$(ip -o -f inet addr show $iface) diff --git a/0063-systemd-add-systemd-run-and-systemd-escape.patch b/0063-systemd-add-systemd-run-and-systemd-escape.patch deleted file mode 100644 index 825a618..0000000 --- a/0063-systemd-add-systemd-run-and-systemd-escape.patch +++ /dev/null @@ -1,21 +0,0 @@ -From b1b704bd67d0b397585618affcf12ad30ceae183 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Wed, 12 Aug 2015 14:24:45 +0200 -Subject: [PATCH] systemd: add systemd-run and systemd-escape - ---- - modules.d/00systemd/module-setup.sh | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/modules.d/00systemd/module-setup.sh b/modules.d/00systemd/module-setup.sh -index e763d9f..da95aee 100755 ---- a/modules.d/00systemd/module-setup.sh -+++ b/modules.d/00systemd/module-setup.sh -@@ -129,6 +129,7 @@ install() { - echo swapoff \ - kmod insmod rmmod modprobe modinfo depmod lsmod \ - mount umount reboot poweroff \ -+ systemd-run systemd-escape \ - systemd-cgls systemd-tmpfiles - - inst_multiple -o \ diff --git a/0064-network-parse-ip-opts.sh-assume-rd.neednet-for-multi.patch b/0064-network-parse-ip-opts.sh-assume-rd.neednet-for-multi.patch deleted file mode 100644 index c253c83..0000000 --- a/0064-network-parse-ip-opts.sh-assume-rd.neednet-for-multi.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 4e9ba952bfa607ac47bfe3cf4943ae3386da22bc Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Wed, 12 Aug 2015 14:25:23 +0200 -Subject: [PATCH] network/parse-ip-opts.sh: assume rd.neednet for multiple ip - options - -set rd.neednet on the kernel cmdline to disable this behaviour ---- - modules.d/40network/parse-ip-opts.sh | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/modules.d/40network/parse-ip-opts.sh b/modules.d/40network/parse-ip-opts.sh -index a481b46..33bb068 100755 ---- a/modules.d/40network/parse-ip-opts.sh -+++ b/modules.d/40network/parse-ip-opts.sh -@@ -36,8 +36,10 @@ unset count - # If needed, check if bootdev= contains anything usable - BOOTDEV=$(getarg bootdev=) - --if [ -n "$NEEDBOOTDEV" ] ; then -- [ -z "$BOOTDEV" ] && warn "Please supply bootdev argument for multiple ip= lines" -+if [ -n "$NEEDBOOTDEV" ] && getargbool 1 rd.neednet; then -+ #[ -z "$BOOTDEV" ] && warn "Please supply bootdev argument for multiple ip= lines" -+ echo "rd.neednet=1" > /etc/cmdline.d/dracut-neednet.conf -+ info "Multiple ip= arguments: assuming rd.neednet=1" - fi - - # Check ip= lines -@@ -48,7 +50,7 @@ for p in $(getargs ip=); do - # make first device specified the BOOTDEV - if [ -z "$BOOTDEV" ] && [ -n "$dev" ]; then - BOOTDEV="$dev" -- [ -n "$NEEDBOOTDEV" ] && warn "Setting bootdev to '$BOOTDEV'" -+ [ -n "$NEEDBOOTDEV" ] && info "Setting bootdev to '$BOOTDEV'" - fi - - # skip ibft since we did it above diff --git a/0065-nfs-parse-nfsroot.sh-silence-useless-warning-if-netr.patch b/0065-nfs-parse-nfsroot.sh-silence-useless-warning-if-netr.patch deleted file mode 100644 index 9b690d3..0000000 --- a/0065-nfs-parse-nfsroot.sh-silence-useless-warning-if-netr.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 50e86bf02be003f3de6214f8012e62edde0085fc Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Wed, 12 Aug 2015 14:27:01 +0200 -Subject: [PATCH] nfs/parse-nfsroot.sh: silence useless warning if netroot is - not nfs - ---- - modules.d/95nfs/parse-nfsroot.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/95nfs/parse-nfsroot.sh b/modules.d/95nfs/parse-nfsroot.sh -index 2200cad..54f73d8 100755 ---- a/modules.d/95nfs/parse-nfsroot.sh -+++ b/modules.d/95nfs/parse-nfsroot.sh -@@ -38,7 +38,7 @@ if [ -n "$netroot" ] ; then - [ "$n" = "$netroot" ] && break - done - if [ "$n" = "$netroot" ]; then -- warn "Ignoring netroot argument for NFS" -+ #warn "Ignoring netroot argument for NFS" - netroot=$root - fi - else diff --git a/0066-dracut-systemd-dracut-initqueue.sh-be-verbose-about-.patch b/0066-dracut-systemd-dracut-initqueue.sh-be-verbose-about-.patch deleted file mode 100644 index dcbc9ae..0000000 --- a/0066-dracut-systemd-dracut-initqueue.sh-be-verbose-about-.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 8ba684be1c04976204d2b671ab90cb27791f467b Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Wed, 12 Aug 2015 14:27:39 +0200 -Subject: [PATCH] dracut-systemd/dracut-initqueue.sh: be verbose about timeout - -Issue a warning, if timeout scripts are executed ---- - modules.d/98dracut-systemd/dracut-initqueue.sh | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/modules.d/98dracut-systemd/dracut-initqueue.sh b/modules.d/98dracut-systemd/dracut-initqueue.sh -index af9cec2..881f639 100755 ---- a/modules.d/98dracut-systemd/dracut-initqueue.sh -+++ b/modules.d/98dracut-systemd/dracut-initqueue.sh -@@ -55,6 +55,7 @@ while :; do - done - - if [ $main_loop -gt $((2*$RDRETRY/3)) ]; then -+ warn "dracut-initqueue timeout - starting timeout scripts" - for job in $hookdir/initqueue/timeout/*.sh; do - [ -e "$job" ] || break - job=$job . $job diff --git a/0067-base-dracut-lib.sh-forget-about-the-idea-of-output-r.patch b/0067-base-dracut-lib.sh-forget-about-the-idea-of-output-r.patch deleted file mode 100644 index 2e341a4..0000000 --- a/0067-base-dracut-lib.sh-forget-about-the-idea-of-output-r.patch +++ /dev/null @@ -1,65 +0,0 @@ -From f41720c3115011afb9577ed063a4bc521dc707ec Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Wed, 12 Aug 2015 14:28:45 +0200 -Subject: [PATCH] base/dracut-lib.sh: forget about the idea of output - redirection - -It's just not working :-/ ---- - modules.d/99base/dracut-lib.sh | 24 ++++-------------------- - 1 file changed, 4 insertions(+), 20 deletions(-) - -diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh -index 200c263..1eaf4b3 100755 ---- a/modules.d/99base/dracut-lib.sh -+++ b/modules.d/99base/dracut-lib.sh -@@ -51,45 +51,29 @@ str_ends() { - [ "${1%*"$2"}" != "$1" ] - } - --# Dup stdout and stderr, so that subshell redirection does not affect logging. --if [ -z "$DRACUT_STDOUT" ]; then -- if [ -n "$BASH" ]; then -- readonly DRACUT_STDOUT=98 -- readonly DRACUT_STDERR=98 -- exec 98>&1 -- exec 99>&2 -- else -- readonly DRACUT_STDOUT=8 -- readonly DRACUT_STDERR=9 -- exec 8>&1 -- exec 9>&2 -- fi --fi -- -- - if [ -z "$DRACUT_SYSTEMD" ]; then - - warn() { - check_quiet - echo "<28>dracut Warning: $*" > /dev/kmsg -- echo "dracut Warning: $*" >&$DRACUT_STDERR -+ echo "dracut Warning: $*" >&2 - } - - info() { - check_quiet - echo "<30>dracut: $*" > /dev/kmsg - [ "$DRACUT_QUIET" != "yes" ] && \ -- echo "dracut: $*" >&$DRACUT_STDERR -+ echo "dracut: $*" >&2 - } - - else - - warn() { -- echo "Warning: $*" >&$DRACUT_STDERR -+ echo "Warning: $*" >&2 - } - - info() { -- echo "$*" >&$DRACUT_STDOUT -+ echo "$*" - } - - fi diff --git a/0068-iscsi-integrate-with-systemd-and-improve-robustness.patch b/0068-iscsi-integrate-with-systemd-and-improve-robustness.patch deleted file mode 100644 index d3cdddb..0000000 --- a/0068-iscsi-integrate-with-systemd-and-improve-robustness.patch +++ /dev/null @@ -1,295 +0,0 @@ -From d94050ddaea8343d8adb8f151c8f4cad591d29d9 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Wed, 12 Aug 2015 14:33:49 +0200 -Subject: [PATCH] iscsi: integrate with systemd and improve robustness - -parse-cmdline sets up an initial initiator-name to let iscsid start. - -iscsid is started before doing any iscsistart business. - -iscsistart is done with systemd-run asynchrone to do things in -paralllel. Also restarted for every new interface which shows up. - -If rd.iscsi.waitnet (default) is set, iscsistart is done only -after all interfaces are up. - -If not all interfaces are up and rd.iscsi.testroute (default) is set, -the route to a iscsi target IP is checked and skipped, if there is none. - -If all things fail, we issue a "dummy" interface iscsiroot to retry -everything in the initqueue/timeout. ---- - modules.d/95iscsi/cleanup-iscsi.sh | 2 +- - modules.d/95iscsi/iscsiroot.sh | 116 ++++++++++++++++++++++++----------- - modules.d/95iscsi/module-setup.sh | 31 ++++++++++ - modules.d/95iscsi/parse-iscsiroot.sh | 13 +++- - 4 files changed, 125 insertions(+), 37 deletions(-) - -diff --git a/modules.d/95iscsi/cleanup-iscsi.sh b/modules.d/95iscsi/cleanup-iscsi.sh -index e97d65a..bfc8aef 100755 ---- a/modules.d/95iscsi/cleanup-iscsi.sh -+++ b/modules.d/95iscsi/cleanup-iscsi.sh -@@ -1,4 +1,4 @@ - #!/bin/sh - --[ -e /sys/module/bnx2i ] && killproc iscsiuio -+[ -z "${DRACUT_SYSTEMD}" ] && [ -e /sys/module/bnx2i ] && killproc iscsiuio - -diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh -index 460e438..fc62425 100755 ---- a/modules.d/95iscsi/iscsiroot.sh -+++ b/modules.d/95iscsi/iscsiroot.sh -@@ -36,7 +36,7 @@ iroot=${iroot#:} - # figured out a way how to check whether this is built-in or not - modprobe crc32c 2>/dev/null - --if [ -e /sys/module/bnx2i ] && ! [ -e /tmp/iscsiuio-started ]; then -+if [ -z "${DRACUT_SYSTEMD}" ] && [ -e /sys/module/bnx2i ] && ! [ -e /tmp/iscsiuio-started ]; then - iscsiuio - > /tmp/iscsiuio-started - fi -@@ -105,28 +105,47 @@ handle_netroot() - - parse_iscsi_root "$1" || return 1 - -+ # Bail out early, if there is no route to the destination -+ if is_ip "$iscsi_target_ip" && [ "$netif" != "dummy" ] && ! all_ifaces_up && getargbool 1 rd.iscsi.testroute; then -+ ip route get "$iscsi_target_ip" >/dev/null 2>&1 || return 0 -+ fi -+ - # XXX is this needed? - getarg ro && iscsirw=ro - getarg rw && iscsirw=rw - fsopts=${fsopts:+$fsopts,}${iscsirw} - -+ if [ -z $iscsi_initiator ] && [ -f /sys/firmware/ibft/initiator/initiator-name ] && ! [ -f /tmp/iscsi_set_initiator ]; then -+ iscsi_initiator=$(while read line || [ -n "$line" ]; do echo $line;done < /sys/firmware/ibft/initiator/initiator-name) -+ echo "InitiatorName=$iscsi_initiator" > /run/initiatorname.iscsi -+ rm -f /etc/iscsi/initiatorname.iscsi -+ mkdir -p /etc/iscsi -+ ln -fs /run/initiatorname.iscsi /etc/iscsi/initiatorname.iscsi -+ systemctl restart iscsid -+ sleep 1 -+ > /tmp/iscsi_set_initiator -+ fi -+ - if [ -z $iscsi_initiator ]; then -- # XXX Where are these from? -+ [ -f /run/initiatorname.iscsi ] && . /run/initiatorname.iscsi - [ -f /etc/initiatorname.iscsi ] && . /etc/initiatorname.iscsi - [ -f /etc/iscsi/initiatorname.iscsi ] && . /etc/iscsi/initiatorname.iscsi - iscsi_initiator=$InitiatorName -- -- # XXX rfc3720 says 'SCSI Initiator Name: The iSCSI Initiator Name specifies -- # the worldwide unique name of the initiator.' Could we use hostname/ip -- # if missing? - fi - - if [ -z $iscsi_initiator ]; then -- if [ -f /sys/firmware/ibft/initiator/initiator-name ]; then -- iscsi_initiator=$(while read line || [ -n "$line" ]; do echo $line;done < /sys/firmware/ibft/initiator/initiator-name) -- fi -+ iscsi_initiator=$(iscsi-iname) -+ echo "InitiatorName=$iscsi_initiator" > /run/initiatorname.iscsi -+ rm -f /etc/iscsi/initiatorname.iscsi -+ mkdir -p /etc/iscsi -+ ln -fs /run/initiatorname.iscsi /etc/iscsi/initiatorname.iscsi -+ systemctl restart iscsid -+ > /tmp/iscsi_set_initiator -+ # FIXME: iscsid is not yet ready, when the service is :-/ -+ sleep 1 - fi - -+ - if [ -z $iscsi_target_port ]; then - iscsi_target_port=3260 - fi -@@ -135,23 +154,21 @@ handle_netroot() - iscsi_target_group=1 - fi - -- if [ -z $iscsi_initiator ]; then -- # XXX is this correct? -- iscsi_initiator=$(iscsi-iname) -- fi -- - if [ -z $iscsi_lun ]; then - iscsi_lun=0 - fi - -- echo "InitiatorName='$iscsi_initiator'" > /run/initiatorname.iscsi -+ echo "InitiatorName=$iscsi_initiator" > /run/initiatorname.iscsi - ln -fs /run/initiatorname.iscsi /dev/.initiatorname.iscsi -- -+ if ! [ -e /etc/iscsi/initiatorname.iscsi ]; then -+ mkdir -p /etc/iscsi -+ ln -fs /run/initiatorname.iscsi /etc/iscsi/initiatorname.iscsi -+ fi - # FIXME $iscsi_protocol?? - -- if [ "$root" = "dhcp" ]; then -+ if [ "$root" = "dhcp" ] || [ "$netroot" = "dhcp" ]; then - # if root is not specified try to mount the whole iSCSI LUN -- printf 'SYMLINK=="disk/by-path/*-iscsi-*-%s", SYMLINK+="root"\n' $iscsi_lun >> /etc/udev/rules.d/99-iscsi-root.rules -+ printf 'SYMLINK=="disk/by-path/*-iscsi-*-%s", SYMLINK+="root"\n' "$iscsi_lun" >> /etc/udev/rules.d/99-iscsi-root.rules - udevadm control --reload - write_fs_tab /dev/root - wait_for_dev -n /dev/root -@@ -161,29 +178,58 @@ handle_netroot() - echo "iscsi_lun=$iscsi_lun . /bin/mount-lun.sh " > $hookdir/mount/01-$$-iscsi.sh - fi - -- # force udevsettle to break -- > $hookdir/initqueue/work -- -- iscsistart -i $iscsi_initiator -t $iscsi_target_name \ -- -g $iscsi_target_group -a $iscsi_target_ip \ -- -p $iscsi_target_port \ -- ${iscsi_username:+-u $iscsi_username} \ -- ${iscsi_password:+-w $iscsi_password} \ -- ${iscsi_in_username:+-U $iscsi_in_username} \ -- ${iscsi_in_password:+-W $iscsi_in_password} \ -- ${iscsi_iface_name:+--param iface.iscsi_ifacename=$iscsi_iface_name} \ -- ${iscsi_netdev_name:+--param iface.net_ifacename=$iscsi_netdev_name} \ -- ${iscsi_param} \ -- || : -- -+ if [ -n "$DRACUT_SYSTEMD" ] && command -v systemd-run >/dev/null 2>&1; then -+ netroot_enc=$(systemd-escape "iscsistart_${1}") -+ status=$(systemctl is-active "$netroot_enc" 2>/dev/null) -+ is_active=$? -+ if [ $is_active -ne 0 ]; then -+ if [ "$status" != "activating" ] && ! systemctl is-failed "$netroot_enc" >/dev/null 2>&1; then -+ systemd-run --no-block --service-type=oneshot --remain-after-exit --quiet \ -+ --description="Login iSCSI Target $iscsi_target_name" \ -+ --unit="$netroot_enc" -- \ -+ $(command -v iscsistart) \ -+ -i $iscsi_initiator -t $iscsi_target_name \ -+ -g $iscsi_target_group -a $iscsi_target_ip \ -+ -p $iscsi_target_port \ -+ ${iscsi_username:+-u $iscsi_username} \ -+ ${iscsi_password:+-w $iscsi_password} \ -+ ${iscsi_in_username:+-U $iscsi_in_username} \ -+ ${iscsi_in_password:+-W $iscsi_in_password} \ -+ ${iscsi_iface_name:+--param iface.iscsi_ifacename=$iscsi_iface_name} \ -+ ${iscsi_netdev_name:+--param iface.net_ifacename=$iscsi_netdev_name} \ -+ ${iscsi_param} >/dev/null 2>&1 -+ else -+ systemctl --no-block restart "$netroot_enc" >/dev/null 2>&1 -+ fi -+ fi -+ else -+ > $hookdir/initqueue/work -+ iscsistart -i $iscsi_initiator -t $iscsi_target_name \ -+ -g $iscsi_target_group -a $iscsi_target_ip \ -+ -p $iscsi_target_port \ -+ ${iscsi_username:+-u $iscsi_username} \ -+ ${iscsi_password:+-w $iscsi_password} \ -+ ${iscsi_in_username:+-U $iscsi_in_username} \ -+ ${iscsi_in_password:+-W $iscsi_in_password} \ -+ ${iscsi_iface_name:+--param iface.iscsi_ifacename=$iscsi_iface_name} \ -+ ${iscsi_netdev_name:+--param iface.net_ifacename=$iscsi_netdev_name} \ -+ ${iscsi_param} \ -+ || : -+ fi - netroot_enc=$(str_replace "$1" '/' '\2f') - echo 'started' > "/tmp/iscsistarted-iscsi:${netroot_enc}" -+ return 0 - } - - ret=0 - -+if [ "$netif" != "dummy" ] && getargbool 1 rd.iscsi.waitnet; then -+ all_ifaces_up || exit 0 -+fi -+ - # loop over all netroot parameter --if getarg netroot; then -+netroot=$(getarg netroot) -+if [ $? -eq 0 ] && [ "$netroot" != "dhcp" ]; then - for nroot in $(getargs netroot); do - [ "${nroot%%:*}" = "iscsi" ] || continue - nroot="${nroot##iscsi:}" -@@ -210,6 +256,6 @@ fi - - need_shutdown - --# now we have a root filesystem somewhere in /dev/sda* -+# now we have a root filesystem somewhere in /dev/sd* - # let the normal block handler handle root= - exit $ret -diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh -index 406a9da..3002591 100755 ---- a/modules.d/95iscsi/module-setup.sh -+++ b/modules.d/95iscsi/module-setup.sh -@@ -226,6 +226,37 @@ install() { - inst "$moddir/iscsiroot.sh" "/sbin/iscsiroot" - if ! dracut_module_included "systemd"; then - inst "$moddir/mount-lun.sh" "/bin/mount-lun.sh" -+ else -+ inst_multiple -o \ -+ $systemdsystemunitdir/iscsi.service \ -+ $systemdsystemunitdir/iscsid.service \ -+ $systemdsystemunitdir/iscsid.socket \ -+ $systemdsystemunitdir/iscsiuio.service \ -+ $systemdsystemunitdir/iscsiuio.socket \ -+ iscsiadm iscsid -+ -+ mkdir -p "${initdir}/$systemdsystemunitdir/sockets.target.wants" -+ for i in \ -+ iscsiuio.socket \ -+ ; do -+ ln_r "$systemdsystemunitdir/${i}" "$systemdsystemunitdir/sockets.target.wants/${i}" -+ done -+ -+ mkdir -p "${initdir}/$systemdsystemunitdir/basic.target.wants" -+ for i in \ -+ iscsid.service \ -+ ; do -+ ln_r "$systemdsystemunitdir/${i}" "$systemdsystemunitdir/basic.target.wants/${i}" -+ done -+ -+ # Make sure iscsid is started after dracut-cmdline and ready for the initqueue -+ mkdir -p "${initdir}/$systemdsystemunitdir/iscsid.service.d" -+ ( -+ echo "[Unit]" -+ echo "After=dracut-cmdline.service" -+ echo "Before=dracut-initqueue.service" -+ ) > "${initdir}/$systemdsystemunitdir/iscsid.service.d/dracut.conf" - fi -+ - dracut_need_initqueue - } -diff --git a/modules.d/95iscsi/parse-iscsiroot.sh b/modules.d/95iscsi/parse-iscsiroot.sh -index 52f7a97..2532ada 100755 ---- a/modules.d/95iscsi/parse-iscsiroot.sh -+++ b/modules.d/95iscsi/parse-iscsiroot.sh -@@ -62,9 +62,10 @@ if [ -n "$iscsi_firmware" ] ; then - [ -z "$netroot" ] && netroot=iscsi: - modprobe -b -q iscsi_boot_sysfs 2>/dev/null - modprobe -b -q iscsi_ibft -- initqueue --onetime --timeout /sbin/iscsiroot dummy "$netroot" "$NEWROOT" - fi - -+initqueue --onetime --timeout /sbin/iscsiroot dummy "$netroot" "$NEWROOT" -+ - # If it's not iscsi we don't continue - [ "${netroot%%:*}" = "iscsi" ] || return - -@@ -86,6 +87,16 @@ if [ -n "$netroot" ] && [ "$root" != "/dev/root" ] && [ "$root" != "dhcp" ]; the - fi - fi - -+if arg=$(getarg rd.iscsi.initiator -d iscsi_initiator=) && [ -n "$arg" ]; then -+ iscsi_initiator=$arg -+ echo "InitiatorName=$iscsi_initiator" > /run/initiatorname.iscsi -+ ln -fs /run/initiatorname.iscsi /dev/.initiatorname.iscsi -+ if ! [ -e /etc/iscsi/initiatorname.iscsi ]; then -+ mkdir -p /etc/iscsi -+ ln -fs /run/initiatorname.iscsi /etc/iscsi/initiatorname.iscsi -+ fi -+fi -+ - if [ -n "$iscsi_firmware" ] ; then - echo "[ -f '/tmp/iscsistarted-firmware' ]" > $hookdir/initqueue/finished/iscsi_started.sh - else diff --git a/0069-TEST-30-ISCSI-dhcpd.conf-set-the-LUN.patch b/0069-TEST-30-ISCSI-dhcpd.conf-set-the-LUN.patch deleted file mode 100644 index 1c14fb7..0000000 --- a/0069-TEST-30-ISCSI-dhcpd.conf-set-the-LUN.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 52b91b66980d0de18a52c6c1c5334364b115fee2 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Wed, 12 Aug 2015 14:40:42 +0200 -Subject: [PATCH] TEST-30-ISCSI/dhcpd.conf: set the LUN - -set the LUN, so the udev rule to mount the disk matches ---- - test/TEST-30-ISCSI/dhcpd.conf | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/test/TEST-30-ISCSI/dhcpd.conf b/test/TEST-30-ISCSI/dhcpd.conf -index 6eb035b..22c1790 100644 ---- a/test/TEST-30-ISCSI/dhcpd.conf -+++ b/test/TEST-30-ISCSI/dhcpd.conf -@@ -15,7 +15,7 @@ subnet 192.168.50.0 netmask 255.255.255.0 { - # NFSv3: last octect starts at 0x00 and works up - - group { -- option root-path "iscsi:192.168.50.1::::iqn.2009-06.dracut:target0"; -+ option root-path "iscsi:192.168.50.1:::1:iqn.2009-06.dracut:target0"; - - host iscsi-1 { - hardware ethernet 52:54:00:12:34:00; diff --git a/0070-TEST-30-ISCSI-switch-to-scsi-target-utils.patch b/0070-TEST-30-ISCSI-switch-to-scsi-target-utils.patch deleted file mode 100644 index 8fe68e9..0000000 --- a/0070-TEST-30-ISCSI-switch-to-scsi-target-utils.patch +++ /dev/null @@ -1,226 +0,0 @@ -From c22c43f81a5f15c8759e6aa69773d0e9010c4741 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Wed, 12 Aug 2015 14:42:03 +0200 -Subject: [PATCH] TEST-30-ISCSI: switch to scsi-target-utils - -netbsd-iscsi is not available on RHEL - -Beef up the testsuite to use the two targets over different -interfaces. - -Test the new iSCSI parameters rd.iscsi.waitnet and rd.iscsi.testroute. ---- - README.testsuite | 2 +- - test/TEST-30-ISCSI/server-init.sh | 17 ++++++++++- - test/TEST-30-ISCSI/targets | 25 ---------------- - test/TEST-30-ISCSI/test.sh | 62 ++++++++++++++++++++++++++------------- - 4 files changed, 59 insertions(+), 47 deletions(-) - delete mode 100644 test/TEST-30-ISCSI/targets - -diff --git a/README.testsuite b/README.testsuite -index b539d90..f9f60d4 100644 ---- a/README.testsuite -+++ b/README.testsuite -@@ -6,9 +6,9 @@ mdadm \ - lvm2 \ - cryptsetup \ - nfs-utils \ --netbsd-iscsi \ - nbd \ - dhcp-server \ -+scsi-target-utils \ - iscsi-initiator-utils - - -diff --git a/test/TEST-30-ISCSI/server-init.sh b/test/TEST-30-ISCSI/server-init.sh -index 0407b17..64a4755 100755 ---- a/test/TEST-30-ISCSI/server-init.sh -+++ b/test/TEST-30-ISCSI/server-init.sh -@@ -12,10 +12,25 @@ ip link set lo up - ip link set dev eth0 name ens3 - ip addr add 192.168.50.1/24 dev ens3 - ip link set ens3 up -+ip link set dev eth1 name ens4 -+ip addr add 192.168.51.1/24 dev ens4 -+ip link set ens4 up - >/var/lib/dhcpd/dhcpd.leases - chmod 777 /var/lib/dhcpd/dhcpd.leases - dhcpd -d -cf /etc/dhcpd.conf -lf /var/lib/dhcpd/dhcpd.leases & --/usr/sbin/iscsi-target -D -t iqn.2009-06.dracut & -+ -+tgtd -+tgtadm --lld iscsi --mode target --op new --tid 1 --targetname iqn.2009-06.dracut:target0 -+tgtadm --lld iscsi --mode target --op new --tid 2 --targetname iqn.2009-06.dracut:target1 -+tgtadm --lld iscsi --mode target --op new --tid 3 --targetname iqn.2009-06.dracut:target2 -+tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 -b /dev/sdb -+tgtadm --lld iscsi --mode logicalunit --op new --tid 2 --lun 2 -b /dev/sdc -+tgtadm --lld iscsi --mode logicalunit --op new --tid 3 --lun 3 -b /dev/sdd -+tgtadm --lld iscsi --mode target --op bind --tid 1 -I 192.168.50.101 -+tgtadm --lld iscsi --mode target --op bind --tid 2 -I 192.168.51.101 -+tgtadm --lld iscsi --mode target --op bind --tid 3 -I 192.168.50.101 -+ -+ - # Wait forever for the VM to die - echo "Serving iSCSI" - while :; do -diff --git a/test/TEST-30-ISCSI/targets b/test/TEST-30-ISCSI/targets -deleted file mode 100644 -index 6a6872e..0000000 ---- a/test/TEST-30-ISCSI/targets -+++ /dev/null -@@ -1,25 +0,0 @@ --# $NetBSD: targets,v 1.2 2006/03/04 21:53:16 agc Exp $ --# --# Structure of this file: --# --# + an extent is a straight (offset, length) pair of a file or device --# it's the lowest common storage denominator --# at least one is needed --# + a device is made up of one or more extents or other devices --# devices can be added in a hierachical manner, to enhance resilience --# + in this example, no device definitions are necessary, as the target --# will just use a simple extent for persistent storage --# + a target is made up of 1 or more devices --# The code does not support RAID1 recovery at present -- --# Simple file showing 1 extent, mapped straight into 1 target -- --# extents file start length --extent0 /dev/sdb 0 20971520 --extent1 /dev/sdc 0 20971520 --extent2 /dev/sdd 0 20971520 -- --# target flags storage netmask --target0 rw extent0 192.168.50.0/24 --target1 rw extent1 192.168.50.0/24 --target2 rw extent2 192.168.50.0/24 -diff --git a/test/TEST-30-ISCSI/test.sh b/test/TEST-30-ISCSI/test.sh -index 59e9c5b..cc6ec4e 100755 ---- a/test/TEST-30-ISCSI/test.sh -+++ b/test/TEST-30-ISCSI/test.sh -@@ -3,8 +3,10 @@ TEST_DESCRIPTION="root filesystem over iSCSI" - - KVERSION=${KVERSION-$(uname -r)} - --#DEBUGFAIL="rd.shell" --#SERIAL="tcp:127.0.0.1:9999" -+#DEBUGFAIL="rd.shell rd.break rd.debug loglevel=7 " -+DEBUGFAIL="loglevel=1" -+#SERVER_DEBUG="rd.debug loglevel=7" -+SERIAL="tcp:127.0.0.1:9999" - SERIAL="null" - - run_server() { -@@ -16,12 +18,13 @@ run_server() { - -drive format=raw,index=1,media=disk,file=$TESTDIR/root.ext3 \ - -drive format=raw,index=2,media=disk,file=$TESTDIR/iscsidisk2.img \ - -drive format=raw,index=3,media=disk,file=$TESTDIR/iscsidisk3.img \ -- -m 256M -smp 2 \ -+ -m 512M -smp 2 \ - -display none \ - -serial $SERIAL \ - -net nic,macaddr=52:54:00:12:34:56,model=e1000 \ -+ -net nic,macaddr=52:54:00:12:34:57,model=e1000 \ - -net socket,listen=127.0.0.1:12330 \ -- -append "root=/dev/sda rootfstype=ext3 rw rd.debug loglevel=77 console=ttyS0,115200n81 selinux=0" \ -+ -append "root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0 $SERVER_DEBUG" \ - -initrd $TESTDIR/initramfs.server \ - -pidfile $TESTDIR/server.pid -daemonize || return 1 - sudo chmod 644 $TESTDIR/server.pid || return 1 -@@ -41,10 +44,11 @@ run_client() { - - $testdir/run-qemu \ - -drive format=raw,index=0,media=disk,file=$TESTDIR/client.img \ -- -m 256M -smp 2 -nographic \ -+ -m 512M -smp 2 -nographic \ - -net nic,macaddr=52:54:00:12:34:00,model=e1000 \ -+ -net nic,macaddr=52:54:00:12:34:01,model=e1000 \ - -net socket,connect=127.0.0.1:12330 \ -- -append "$* rw quiet rd.auto rd.retry=5 rd.debug rd.info console=ttyS0,115200n81 selinux=0 $DEBUGFAIL" \ -+ -append "$* rw rd.auto rd.retry=20 console=ttyS0,115200n81 selinux=0 rd.debug=0 $DEBUGFAIL" \ - -initrd $TESTDIR/initramfs.testing - if ! grep -F -m 1 -q iscsi-OK $TESTDIR/client.img; then - echo "CLIENT TEST END: $test_name [FAILED - BAD EXIT]" -@@ -56,20 +60,39 @@ run_client() { - } - - do_test_run() { -+ run_client "root=dhcp" \ -+ "root=/dev/root netroot=dhcp ip=ens3:dhcp" \ -+ || return 1 - --# --# run_client "root=dhcp" \ --# "root=dhcp" \ --# || return 1 -+ run_client "netroot=iscsi target0"\ -+ "root=LABEL=singleroot netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target0" \ -+ "ip=192.168.50.101::192.168.50.1:255.255.255.0:iscsi-1:ens3:off" \ -+ || return 1 - -- run_client "netroot=iscsi target0"\ -- "root=LABEL=singleroot netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target0" \ -- "ip=192.168.50.101::192.168.50.1:255.255.255.0:iscsi-1:ens3:off" \ -+ run_client "netroot=iscsi target1 target2" \ -+ "root=LABEL=sysroot" \ -+ "ip=192.168.50.101:::255.255.255.0::ens3:off" \ -+ "ip=192.168.51.101:::255.255.255.0::ens4:off" \ -+ "netroot=iscsi:192.168.51.1::::iqn.2009-06.dracut:target1" \ -+ "netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \ -+ || return 1 -+ -+ run_client "netroot=iscsi target1 target2 rd.iscsi.waitnet=0" \ -+ "root=LABEL=sysroot" \ -+ "ip=192.168.50.101:::255.255.255.0::ens3:off" \ -+ "ip=192.168.51.101:::255.255.255.0::ens4:off" \ -+ "netroot=iscsi:192.168.51.1::::iqn.2009-06.dracut:target1" \ -+ "netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \ -+ "rd.waitnet=0" \ - || return 1 - -- run_client "netroot=iscsi target1 target2" \ -- "root=LABEL=sysroot ip=192.168.50.101::192.168.50.1:255.255.255.0:iscsi-1:ens3:off" \ -- "netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target1 netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \ -+ run_client "netroot=iscsi target1 target2 rd.iscsi.waitnet=0 rd.iscsi.testroute=0" \ -+ "root=LABEL=sysroot" \ -+ "ip=192.168.50.101:::255.255.255.0::ens3:off" \ -+ "ip=192.168.51.101:::255.255.255.0::ens4:off" \ -+ "netroot=iscsi:192.168.51.1::::iqn.2009-06.dracut:target1" \ -+ "netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \ -+ "rd.waitnet=0 rd.iscsi.testroute=0" \ - || return 1 - return 0 - } -@@ -170,7 +193,7 @@ test_setup() { - inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules - ) - sudo $basedir/dracut.sh -l -i $TESTDIR/overlay / \ -- -o "dash plymouth dmraid" \ -+ -o "dash plymouth dmraid nfs" \ - -a "debug" \ - -d "af_packet piix ide-gd_mod ata_piix ext3 sd_mod" \ - --no-hostonly-cmdline -N \ -@@ -195,13 +218,12 @@ test_setup() { - dmesg mkdir cp ping \ - modprobe tcpdump setsid \ - /etc/services sleep mount chmod -- inst_multiple /usr/sbin/iscsi-target -+ inst_multiple tgtd tgtadm - for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do - [ -f ${_terminfodir}/l/linux ] && break - done - inst_multiple -o ${_terminfodir}/l/linux - instmods iscsi_tcp crc32c ipv6 -- inst ./targets /etc/iscsi/targets - [ -f /etc/netconfig ] && inst_multiple /etc/netconfig - type -P dhcpd >/dev/null && inst_multiple dhcpd - [ -x /usr/sbin/dhcpd3 ] && inst /usr/sbin/dhcpd3 /usr/sbin/dhcpd -@@ -223,7 +245,7 @@ test_setup() { - # Make server's dracut image - $basedir/dracut.sh -l -i $TESTDIR/overlay / \ - -a "dash udev-rules base rootfs-block fs-lib debug kernel-modules" \ -- -d "af_packet piix ide-gd_mod ata_piix ext3 sd_mod e1000" \ -+ -d "af_packet piix ide-gd_mod ata_piix ext3 sd_mod e1000 drbg" \ - --no-hostonly-cmdline -N \ - -f $TESTDIR/initramfs.server $KVERSION || return 1 - diff --git a/0071-dracut.cmdline.7.asc-document-rd.iscsi.waitnet-and-r.patch b/0071-dracut.cmdline.7.asc-document-rd.iscsi.waitnet-and-r.patch deleted file mode 100644 index 5894db7..0000000 --- a/0071-dracut.cmdline.7.asc-document-rd.iscsi.waitnet-and-r.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 69171aa8fa4bdd196709318582d73076677bd16c Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Wed, 12 Aug 2015 15:11:17 +0200 -Subject: [PATCH] dracut.cmdline.7.asc: document rd.iscsi.waitnet and - rd.iscsi.testroute - ---- - dracut.cmdline.7.asc | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc -index 1a54377..8c7e965 100644 ---- a/dracut.cmdline.7.asc -+++ b/dracut.cmdline.7.asc -@@ -713,6 +713,12 @@ iscsistart -b --param node.session.timeo.replacement_timeout=30 - **rd.iscsi.ibft** **rd.iscsi.ibft=1**: - Turn on iBFT autoconfiguration for the interfaces - -+**rd.iscsi.waitnet=0**: -+ Turn off waiting for all interfaces to be up before trying to login to the iSCSI targets. -+ -+**rd.iscsi.testroute=0**: -+ Turn off checking, if the route to the iSCSI target IP is possible before trying to login. -+ - FCoE - ~~~~ - **fcoe=**____:__{dcb|nodcb}__:: diff --git a/0072-iscsi-parse-iscsiroot.sh-use-iBFT-initiator-name.patch b/0072-iscsi-parse-iscsiroot.sh-use-iBFT-initiator-name.patch deleted file mode 100644 index 31b4aa7..0000000 --- a/0072-iscsi-parse-iscsiroot.sh-use-iBFT-initiator-name.patch +++ /dev/null @@ -1,41 +0,0 @@ -From feb8dc685dca1229c517de9ec9854367b8c49524 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Wed, 12 Aug 2015 15:14:11 +0200 -Subject: [PATCH] iscsi/parse-iscsiroot.sh: use iBFT initiator name - ---- - modules.d/95iscsi/parse-iscsiroot.sh | 14 +++++++++++++- - 1 file changed, 13 insertions(+), 1 deletion(-) - -diff --git a/modules.d/95iscsi/parse-iscsiroot.sh b/modules.d/95iscsi/parse-iscsiroot.sh -index 2532ada..a889da1 100755 ---- a/modules.d/95iscsi/parse-iscsiroot.sh -+++ b/modules.d/95iscsi/parse-iscsiroot.sh -@@ -58,7 +58,7 @@ if [ -n "$iscsiroot" ] ; then - fi - - # iscsi_firmware does not need argument checking --if [ -n "$iscsi_firmware" ] ; then -+if [ -n "$iscsi_firmware" ] || getargbool 0 rd.iscsi.ibft -d "ip=ibft"; then - [ -z "$netroot" ] && netroot=iscsi: - modprobe -b -q iscsi_boot_sysfs 2>/dev/null - modprobe -b -q iscsi_ibft -@@ -97,6 +97,18 @@ if arg=$(getarg rd.iscsi.initiator -d iscsi_initiator=) && [ -n "$arg" ]; then - fi - fi - -+# If not given on the cmdline and initiator-name available via iBFT -+if [ -z $iscsi_initiator ] && [ -f /sys/firmware/ibft/initiator/initiator-name ] && ! [ -f /tmp/iscsi_set_initiator ]; then -+ iscsi_initiator=$(while read line || [ -n "$line" ]; do echo $line;done < /sys/firmware/ibft/initiator/initiator-name) -+ echo "InitiatorName=$iscsi_initiator" > /run/initiatorname.iscsi -+ rm -f /etc/iscsi/initiatorname.iscsi -+ mkdir -p /etc/iscsi -+ ln -fs /run/initiatorname.iscsi /etc/iscsi/initiatorname.iscsi -+ systemctl restart iscsid -+ sleep 1 -+ > /tmp/iscsi_set_initiator -+fi -+ - if [ -n "$iscsi_firmware" ] ; then - echo "[ -f '/tmp/iscsistarted-firmware' ]" > $hookdir/initqueue/finished/iscsi_started.sh - else diff --git a/0073-iscsi-iscsiroot.sh-handle-timeout-with-all-interface.patch b/0073-iscsi-iscsiroot.sh-handle-timeout-with-all-interface.patch deleted file mode 100644 index 9212cac..0000000 --- a/0073-iscsi-iscsiroot.sh-handle-timeout-with-all-interface.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 6802cf23499b05544079b26a39e339bb3476d38d Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 13 Aug 2015 11:53:21 +0200 -Subject: [PATCH] iscsi/iscsiroot.sh: handle timeout with all interfaces up - -restart iscsid, because it may disbehaved ---- - modules.d/95iscsi/iscsiroot.sh | 17 +++++++++++++---- - 1 file changed, 13 insertions(+), 4 deletions(-) - -diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh -index fc62425..ad95812 100755 ---- a/modules.d/95iscsi/iscsiroot.sh -+++ b/modules.d/95iscsi/iscsiroot.sh -@@ -197,13 +197,14 @@ handle_netroot() - ${iscsi_in_password:+-W $iscsi_in_password} \ - ${iscsi_iface_name:+--param iface.iscsi_ifacename=$iscsi_iface_name} \ - ${iscsi_netdev_name:+--param iface.net_ifacename=$iscsi_netdev_name} \ -- ${iscsi_param} >/dev/null 2>&1 -+ ${iscsi_param} >/dev/null 2>&1 \ -+ && { > $hookdir/initqueue/work ; } - else -- systemctl --no-block restart "$netroot_enc" >/dev/null 2>&1 -+ systemctl --no-block restart "$netroot_enc" >/dev/null 2>&1 \ -+ && { > $hookdir/initqueue/work ; } - fi - fi - else -- > $hookdir/initqueue/work - iscsistart -i $iscsi_initiator -t $iscsi_target_name \ - -g $iscsi_target_group -a $iscsi_target_ip \ - -p $iscsi_target_port \ -@@ -214,7 +215,7 @@ handle_netroot() - ${iscsi_iface_name:+--param iface.iscsi_ifacename=$iscsi_iface_name} \ - ${iscsi_netdev_name:+--param iface.net_ifacename=$iscsi_netdev_name} \ - ${iscsi_param} \ -- || : -+ && { > $hookdir/initqueue/work ; } - fi - netroot_enc=$(str_replace "$1" '/' '\2f') - echo 'started' > "/tmp/iscsistarted-iscsi:${netroot_enc}" -@@ -227,6 +228,14 @@ if [ "$netif" != "dummy" ] && getargbool 1 rd.iscsi.waitnet; then - all_ifaces_up || exit 0 - fi - -+if [ "$netif" = "dummy" ] && all_ifaces_up; then -+ # s.th. went wrong and the timeout script hits -+ # restart -+ systemctl restart iscsid -+ # damn iscsid is not ready after unit says it's ready -+ sleep 2 -+fi -+ - # loop over all netroot parameter - netroot=$(getarg netroot) - if [ $? -eq 0 ] && [ "$netroot" != "dhcp" ]; then diff --git a/0074-TEST-30-ISCSI-test-more-and-set-static-initiator-nam.patch b/0074-TEST-30-ISCSI-test-more-and-set-static-initiator-nam.patch deleted file mode 100644 index 7954d9a..0000000 --- a/0074-TEST-30-ISCSI-test-more-and-set-static-initiator-nam.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 0a66b74b51f7d58916504e0e8bb01b6e981b489b Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 13 Aug 2015 11:54:24 +0200 -Subject: [PATCH] TEST-30-ISCSI: test more and set static initiator name - ---- - test/TEST-30-ISCSI/test.sh | 42 ++++++++++++++++++++++++++++++------------ - 1 file changed, 30 insertions(+), 12 deletions(-) - -diff --git a/test/TEST-30-ISCSI/test.sh b/test/TEST-30-ISCSI/test.sh -index cc6ec4e..be3399a 100755 ---- a/test/TEST-30-ISCSI/test.sh -+++ b/test/TEST-30-ISCSI/test.sh -@@ -48,7 +48,7 @@ run_client() { - -net nic,macaddr=52:54:00:12:34:00,model=e1000 \ - -net nic,macaddr=52:54:00:12:34:01,model=e1000 \ - -net socket,connect=127.0.0.1:12330 \ -- -append "$* rw rd.auto rd.retry=20 console=ttyS0,115200n81 selinux=0 rd.debug=0 $DEBUGFAIL" \ -+ -append "rw rd.auto rd.retry=20 console=ttyS0,115200n81 selinux=0 rd.debug=0 $DEBUGFAIL $*" \ - -initrd $TESTDIR/initramfs.testing - if ! grep -F -m 1 -q iscsi-OK $TESTDIR/client.img; then - echo "CLIENT TEST END: $test_name [FAILED - BAD EXIT]" -@@ -60,22 +60,27 @@ run_client() { - } - - do_test_run() { -+ initiator=$(iscsi-iname) -+ - run_client "root=dhcp" \ -- "root=/dev/root netroot=dhcp ip=ens3:dhcp" \ -+ "root=/dev/root netroot=dhcp ip=ens3:dhcp" \ -+ "rd.iscsi.initiator=$initiator" \ - || return 1 - - run_client "netroot=iscsi target0"\ -- "root=LABEL=singleroot netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target0" \ -- "ip=192.168.50.101::192.168.50.1:255.255.255.0:iscsi-1:ens3:off" \ -+ "root=LABEL=singleroot netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target0" \ -+ "ip=192.168.50.101::192.168.50.1:255.255.255.0:iscsi-1:ens3:off" \ -+ "rd.iscsi.initiator=$initiator" \ - || return 1 - - run_client "netroot=iscsi target1 target2" \ -- "root=LABEL=sysroot" \ -- "ip=192.168.50.101:::255.255.255.0::ens3:off" \ -- "ip=192.168.51.101:::255.255.255.0::ens4:off" \ -- "netroot=iscsi:192.168.51.1::::iqn.2009-06.dracut:target1" \ -- "netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \ -- || return 1 -+ "root=LABEL=sysroot" \ -+ "ip=192.168.50.101:::255.255.255.0::ens3:off" \ -+ "ip=192.168.51.101:::255.255.255.0::ens4:off" \ -+ "netroot=iscsi:192.168.51.1::::iqn.2009-06.dracut:target1" \ -+ "netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \ -+ "rd.iscsi.initiator=$initiator" \ -+ || return 1 - - run_client "netroot=iscsi target1 target2 rd.iscsi.waitnet=0" \ - "root=LABEL=sysroot" \ -@@ -83,7 +88,8 @@ do_test_run() { - "ip=192.168.51.101:::255.255.255.0::ens4:off" \ - "netroot=iscsi:192.168.51.1::::iqn.2009-06.dracut:target1" \ - "netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \ -- "rd.waitnet=0" \ -+ "rd.iscsi.initiator=$initiator" \ -+ "rd.waitnet=0 rd.retry=30" \ - || return 1 - - run_client "netroot=iscsi target1 target2 rd.iscsi.waitnet=0 rd.iscsi.testroute=0" \ -@@ -92,8 +98,20 @@ do_test_run() { - "ip=192.168.51.101:::255.255.255.0::ens4:off" \ - "netroot=iscsi:192.168.51.1::::iqn.2009-06.dracut:target1" \ - "netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \ -- "rd.waitnet=0 rd.iscsi.testroute=0" \ -+ "rd.iscsi.initiator=$initiator" \ -+ "rd.waitnet=0 rd.iscsi.testroute=0 rd.retry=30" \ - || return 1 -+ -+ run_client "netroot=iscsi target1 target2 rd.iscsi.waitnet=0 rd.iscsi.testroute=0 default GW" \ -+ "root=LABEL=sysroot" \ -+ "ip=192.168.50.101::192.168.50.1:255.255.255.0::ens3:off" \ -+ "ip=192.168.51.101::192.168.51.1:255.255.255.0::ens4:off" \ -+ "netroot=iscsi:192.168.51.1::::iqn.2009-06.dracut:target1" \ -+ "netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \ -+ "rd.iscsi.initiator=$initiator" \ -+ "rd.waitnet=0 rd.iscsi.testroute=0 rd.retry=30" \ -+ || return 1 -+ - return 0 - } - diff --git a/0075-The-default-gateway-might-need-a-static-route.patch b/0075-The-default-gateway-might-need-a-static-route.patch deleted file mode 100644 index 05d0c4f..0000000 --- a/0075-The-default-gateway-might-need-a-static-route.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 110858025aab221d135335d85dba9317f5ef15c6 Mon Sep 17 00:00:00 2001 -From: Stijn Hoop -Date: Sun, 23 Aug 2015 14:45:53 +0200 -Subject: [PATCH] The default gateway might need a static route - -Some hosting providers need a static route set in order to be -able to reach the default gateway. Be sure to retry adding -the default gateway after setting the static routes. ---- - modules.d/40network/net-lib.sh | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh -index 5c65a2e..2e79619 100755 ---- a/modules.d/40network/net-lib.sh -+++ b/modules.d/40network/net-lib.sh -@@ -129,6 +129,13 @@ setup_net() { - fi - done - -+ # If a static route was necessary to reach the gateway, the -+ # first gateway setup call will have failed with -+ # RTNETLINK answers: Network is unreachable -+ # Replace the default route again after static routes to cover -+ # this scenario. -+ [ -e /tmp/net.$netif.gw ] && . /tmp/net.$netif.gw -+ - # Handle STP Timeout: arping the default gateway. - # (or the root server, if a) it's local or b) there's no gateway.) - # Note: This assumes that if no router is present the diff --git a/0076-dracut-functions.sh-remove-duplicate-declaratio-of-l.patch b/0076-dracut-functions.sh-remove-duplicate-declaratio-of-l.patch deleted file mode 100644 index a3a3f5a..0000000 --- a/0076-dracut-functions.sh-remove-duplicate-declaratio-of-l.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 9918afd244cbee479af4380c1fa2a7a81fba6bed Mon Sep 17 00:00:00 2001 -From: Lidong Zhong -Date: Mon, 24 Aug 2015 18:02:10 +0800 -Subject: [PATCH] dracut-functions.sh: remove duplicate declaratio of local - variable - ---- - dracut-functions.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/dracut-functions.sh b/dracut-functions.sh -index d559903..cb88078 100755 ---- a/dracut-functions.sh -+++ b/dracut-functions.sh -@@ -429,7 +429,7 @@ shorten_persistent_dev() { - # $ find_block_device /usr - # 8:4 - find_block_device() { -- local _majmin _dev _majmin _find_mpt -+ local _dev _majmin _find_mpt - _find_mpt="$1" - if [[ $use_fstab != yes ]]; then - [[ -d $_find_mpt/. ]] diff --git a/0077-dracut.sh-remove-duplicate-call-of-push_host_devs.patch b/0077-dracut.sh-remove-duplicate-call-of-push_host_devs.patch deleted file mode 100644 index 0dd4c9d..0000000 --- a/0077-dracut.sh-remove-duplicate-call-of-push_host_devs.patch +++ /dev/null @@ -1,22 +0,0 @@ -From aa169b3bd37b74bdf1e15318ab423ef4b9001fd2 Mon Sep 17 00:00:00 2001 -From: Lidong Zhong -Date: Mon, 24 Aug 2015 18:27:54 +0800 -Subject: [PATCH] dracut.sh: remove duplicate call of push_host_devs - -There is no way exit between the two places that call push_host_devs ---- - dracut.sh | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/dracut.sh b/dracut.sh -index f7d31a4..8ca319b 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -1113,7 +1113,6 @@ if [[ $hostonly ]]; then - _dev=$(find_block_device "$mp") - _bdev=$(readlink -f "/dev/block/$_dev") - [[ -b $_bdev ]] && _dev=$_bdev -- push_host_devs $_dev - [[ "$mp" == "/" ]] && root_devs+=("$_dev") - push_host_devs "$_dev" - if [[ $(find_mp_fstype "$mp") == btrfs ]]; then diff --git a/0078-dracut-functions.sh-fixed-dracutbasedir-when-sourced.patch b/0078-dracut-functions.sh-fixed-dracutbasedir-when-sourced.patch deleted file mode 100644 index 9ffadfa..0000000 --- a/0078-dracut-functions.sh-fixed-dracutbasedir-when-sourced.patch +++ /dev/null @@ -1,23 +0,0 @@ -From ea877ac6cc3df38d22728437b8a70bedee558f6a Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 3 Sep 2015 12:31:34 +0200 -Subject: [PATCH] dracut-functions.sh: fixed dracutbasedir, when sourced - directly - ---- - dracut-functions.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/dracut-functions.sh b/dracut-functions.sh -index d559903..3982fc8 100755 ---- a/dracut-functions.sh -+++ b/dracut-functions.sh -@@ -96,7 +96,7 @@ find_binary() { - - if ! [[ $dracutbasedir ]]; then - dracutbasedir=${BASH_SOURCE[0]%/*} -- [[ $dracutbasedir = "dracut-functions" ]] && dracutbasedir="." -+ [[ $dracutbasedir = dracut-functions* ]] && dracutbasedir="." - [[ $dracutbasedir ]] || dracutbasedir="." - dracutbasedir="$(readlink -f $dracutbasedir)" - fi diff --git a/0079-systemd-initrd-fix-typo-in-error-message.patch b/0079-systemd-initrd-fix-typo-in-error-message.patch deleted file mode 100644 index 5092a26..0000000 --- a/0079-systemd-initrd-fix-typo-in-error-message.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 5cb1e0efea5a331a743a6abac130003ad08b50ff Mon Sep 17 00:00:00 2001 -From: yuwata -Date: Mon, 7 Sep 2015 17:58:00 +0900 -Subject: [PATCH] systemd-initrd: fix typo in error message. - ---- - modules.d/01systemd-initrd/module-setup.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/01systemd-initrd/module-setup.sh b/modules.d/01systemd-initrd/module-setup.sh -index e313967..fb6a9ea 100755 ---- a/modules.d/01systemd-initrd/module-setup.sh -+++ b/modules.d/01systemd-initrd/module-setup.sh -@@ -5,7 +5,7 @@ check() { - [[ $mount_needs ]] && return 1 - - if ! dracut_module_included "systemd"; then -- derror "dracut-systemd needs systemd in the initramfs" -+ derror "systemd-initrd needs systemd in the initramfs" - return 1 - fi - diff --git a/0080-systemd-networkd-fix-typo-in-error-message.patch b/0080-systemd-networkd-fix-typo-in-error-message.patch deleted file mode 100644 index 8fe5e8e..0000000 --- a/0080-systemd-networkd-fix-typo-in-error-message.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 0888cf51ab82659ba71bca5ae6c5b6abe9a5ef06 Mon Sep 17 00:00:00 2001 -From: yuwata -Date: Mon, 7 Sep 2015 17:58:40 +0900 -Subject: [PATCH] systemd-networkd: fix typo in error message - ---- - modules.d/02systemd-networkd/module-setup.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/02systemd-networkd/module-setup.sh b/modules.d/02systemd-networkd/module-setup.sh -index df4661f..58842c0 100755 ---- a/modules.d/02systemd-networkd/module-setup.sh -+++ b/modules.d/02systemd-networkd/module-setup.sh -@@ -5,7 +5,7 @@ check() { - [[ $mount_needs ]] && return 1 - - if ! dracut_module_included "systemd"; then -- derror "dracut-systemd needs systemd in the initramfs" -+ derror "systemd-networkd needs systemd in the initramfs" - return 1 - fi - diff --git a/0081-install-blob-fix-typos-in-usage.patch b/0081-install-blob-fix-typos-in-usage.patch deleted file mode 100644 index 36395d5..0000000 --- a/0081-install-blob-fix-typos-in-usage.patch +++ /dev/null @@ -1,23 +0,0 @@ -From fc212358dab07011398c002849b2ebf8a412ffc8 Mon Sep 17 00:00:00 2001 -From: yuwata -Date: Mon, 7 Sep 2015 18:00:16 +0900 -Subject: [PATCH] install blob: fix typos in usage. - ---- - install/dracut-install.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/install/dracut-install.c b/install/dracut-install.c -index 0ff5c49..a7bfdb8 100644 ---- a/install/dracut-install.c -+++ b/install/dracut-install.c -@@ -709,7 +709,8 @@ static void usage(int status) - " -L --logdir Log files, which were installed from the host to \n" - " -R --resolvelazy Only install shebang executables and libraries\n" - " for all SOURCE files\n" -- " -H --fips Also install all '.SOURCE.hmac' files\n" -+ " -H --hostonly Mark all SOURCE files as hostonly\n\n" -+ " -f --fips Also install all '.SOURCE.hmac' files\n" - " -v --verbose Show more output\n" - " --debug Show debug output\n" - " --version Show package version\n" diff --git a/0082-dracut.8.asc-mention-lsinitrd-1-in-see-also.patch b/0082-dracut.8.asc-mention-lsinitrd-1-in-see-also.patch deleted file mode 100644 index 493d26c..0000000 --- a/0082-dracut.8.asc-mention-lsinitrd-1-in-see-also.patch +++ /dev/null @@ -1,19 +0,0 @@ -From 820f81016a31f069dc8ef9d7a6b65ffc1166daa5 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Wed, 9 Sep 2015 11:30:52 +0200 -Subject: [PATCH] dracut.8.asc: mention lsinitrd(1) in see also - ---- - dracut.8.asc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/dracut.8.asc b/dracut.8.asc -index 7a7ef9d..1fbbda4 100644 ---- a/dracut.8.asc -+++ b/dracut.8.asc -@@ -536,4 +536,4 @@ Will Woods - - SEE ALSO - -------- --*dracut.cmdline*(7) *dracut.conf*(5) -+*dracut.cmdline*(7) *dracut.conf*(5) *lsinitrd*(1) diff --git a/0083-dir-locals-Avoid-use-of-setq-which-triggers-Emacs-wa.patch b/0083-dir-locals-Avoid-use-of-setq-which-triggers-Emacs-wa.patch deleted file mode 100644 index 85a8793..0000000 --- a/0083-dir-locals-Avoid-use-of-setq-which-triggers-Emacs-wa.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 10d03bbfbc30a4ff596ffc77b73acdceef5a7826 Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Thu, 17 Sep 2015 11:33:40 -0400 -Subject: [PATCH] dir-locals: Avoid use of setq which triggers Emacs warning - -Emacs has a whitelist of "safe" variables, using `setq` overrides -that and causes it to warn when opening any file by default. - -Dropping the `setq` makes Emacs do the right thing. ---- - .dir-locals.el | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/.dir-locals.el b/.dir-locals.el -index cbbcec4..8130058 100644 ---- a/.dir-locals.el -+++ b/.dir-locals.el -@@ -1,3 +1,3 @@ --((nil . ((setq sh-basic-offset: 4) -- (setq indent-tabs-mode nil) -+((nil . ((sh-basic-offset . 4) -+ (indent-tabs-mode . nil) - ))) diff --git a/0084-lsinitrd-Suppress-cat-write-error-Broken-pipe.patch b/0084-lsinitrd-Suppress-cat-write-error-Broken-pipe.patch deleted file mode 100644 index 2aee86c..0000000 --- a/0084-lsinitrd-Suppress-cat-write-error-Broken-pipe.patch +++ /dev/null @@ -1,121 +0,0 @@ -From 3ce142861d88c357864d3a3bef7ec453826d737d Mon Sep 17 00:00:00 2001 -From: HATAYAMA Daisuke -Date: Wed, 4 Nov 2015 11:31:10 +0900 -Subject: [PATCH] lsinitrd: Suppress "cat: write error: Broken pipe" - -On systemd, SIGPIPE is ignored by default; see man 5 systemd.exec for -IgnoreSIGPIPE=. As a result, lsinitrd.sh under a systemd service -outputs "cat: write error: Broken pipe" in the processing of -determining a compression format of a given initramfs file using cat -command in the write part of a pipeline processing. - -For example, this is a log message of kdump.service in RHEL7.1, - - -- Logs begin at Wed 2015-11-04 09:57:33 JST, end at Wed 2015-11-04 09:58:28 JST. -- - Nov 04 09:57:33 localhost systemd[1]: Stopping Crash recovery kernel arming... - Nov 04 09:57:33 localhost kdumpctl[22545]: kexec: unloaded kdump kernel - Nov 04 09:57:33 localhost kdumpctl[22545]: Stopping kdump: [OK] - Nov 04 09:57:33 localhost systemd[1]: Starting Crash recovery kernel arming... - Nov 04 09:57:36 localhost kdumpctl[22553]: Detected change(s) in the following file(s): - Nov 04 09:57:36 localhost kdumpctl[22553]: /etc/kdump.conf - Nov 04 09:57:36 localhost kdumpctl[22553]: Rebuilding /boot/initramfs-3.10.0-229.el7.x86_64kdump.img - Nov 04 09:57:40 localhost dracut[24914]: Executing: /usr/sbin/dracut --hostonly --hostonly-cmdline -o "plymouth dash resume" -f /boot/initramfs-3.10.0-229.el7.x86_64kdump.img 3.10.0-229.el7.x86_64 - ...... - Nov 04 09:58:12 localhost dracut[24914]: *** Creating image file done *** - Nov 04 09:58:12 localhost dracut[24914]: Image: /boot/initramfs-3.10.0-229.el7.x86_64kdump.img: 18M - Nov 04 09:58:12 localhost kdumpctl[22553]: cat: write error: Broken pipe - Nov 04 09:58:12 localhost dracut[24914]: ======================================================================== - Nov 04 09:58:12 localhost dracut[24914]: Version: dracut-033-240.el7 - Nov 04 09:58:12 localhost dracut[24914]: - Nov 04 09:58:12 localhost dracut[24914]: Arguments: --hostonly --hostonly-cmdline -o 'plymouth dash resume' -f - Nov 04 09:58:13 localhost dracut[24914]: - Nov 04 09:58:13 localhost dracut[24914]: dracut modules: - Nov 04 09:58:13 localhost dracut[24914]: bash - -kdump.service builds and loads an initramfs for kdump kernel using -kdumpctl command which uses dracut command and so lsinitrd command, -too. - -Although there's no actual harm except for the error message, there -has been several inquiries from customers about this message so -far. We should suppress this message to reduce needless -communications. - -To suppress the message, this commit cleans up the processing of -reading the first 6 bytes of a given initramfs file without cat -command. ---- - lsinitrd.sh | 59 ++++++++++++++++++++++++++++------------------------------- - 1 file changed, 28 insertions(+), 31 deletions(-) - -diff --git a/lsinitrd.sh b/lsinitrd.sh -index d2ddd76..441fb92 100755 ---- a/lsinitrd.sh -+++ b/lsinitrd.sh -@@ -176,38 +176,35 @@ case $bin in - ;; - esac - --CAT=$({ -- if [[ $SKIP ]]; then -- $SKIP "$image" -+if [[ $SKIP ]] ; then -+ bin="$($SKIP "$image" | { read -N 6 bin && echo "$bin" ; })" -+else -+ read -N 6 bin < "$image" -+fi -+case $bin in -+ $'\x1f\x8b'*) -+ CAT="zcat --" -+ ;; -+ BZh*) -+ CAT="bzcat --" -+ ;; -+ $'\x71\xc7'*|070701) -+ CAT="cat --" -+ ;; -+ $'\x02\x21'*) -+ CAT="lz4 -d -c" -+ ;; -+ $'\x89'LZO$'\0'*) -+ CAT="lzop -d -c" -+ ;; -+ *) -+ if echo "test"|xz|xzcat --single-stream >/dev/null 2>&1; then -+ CAT="xzcat --single-stream --" - else -- cat "$image" -- fi } | { -- read -N 6 bin -- case $bin in -- $'\x1f\x8b'*) -- echo "zcat --" -- ;; -- BZh*) -- echo "bzcat --" -- ;; -- $'\x71\xc7'*|070701) -- echo "cat --" -- ;; -- $'\x02\x21'*) -- echo "lz4 -d -c" -- ;; -- $'\x89'LZO$'\0'*) -- echo "lzop -d -c" -- ;; -- *) -- if echo "test"|xz|xzcat --single-stream >/dev/null 2>&1; then -- echo "xzcat --single-stream --" -- else -- echo "xzcat --" -- fi -- ;; -- esac -- }) -+ CAT="xzcat --" -+ fi -+ ;; -+esac - - skipcpio() - { diff --git a/0085-PKGFILE-update-to-latest-makepkg.patch b/0085-PKGFILE-update-to-latest-makepkg.patch deleted file mode 100644 index c868f12..0000000 --- a/0085-PKGFILE-update-to-latest-makepkg.patch +++ /dev/null @@ -1,26 +0,0 @@ -From eb150a4feedf5ae3d8393ce365357bc40cced1b8 Mon Sep 17 00:00:00 2001 -From: Silvio Fricke -Date: Sun, 8 Nov 2015 12:48:26 +0100 -Subject: [PATCH] PKGFILE: update to latest makepkg - -makepkg needs now a package-section. - -Signed-off-by: Silvio Fricke ---- - PKGBUILD | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/PKGBUILD b/PKGBUILD -index f7c3664..a9f1b5a 100644 ---- a/PKGBUILD -+++ b/PKGBUILD -@@ -17,5 +17,9 @@ md5sums=() - build() { - cd .. - make sysconfdir=/etc || return 1 -+} -+ -+package() { -+ cd .. - make DESTDIR="${pkgdir}" sysconfdir=/etc install || return 1 - } diff --git a/0086-PKGFILE-version-is-now-completely-constructed-from-g.patch b/0086-PKGFILE-version-is-now-completely-constructed-from-g.patch deleted file mode 100644 index a794ea1..0000000 --- a/0086-PKGFILE-version-is-now-completely-constructed-from-g.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 4cca17eeeca4254248d58562f2ae6b56a885b91e Mon Sep 17 00:00:00 2001 -From: Silvio Fricke -Date: Sun, 8 Nov 2015 12:49:45 +0100 -Subject: [PATCH] PKGFILE: version is now completely constructed from git - -`pkgver` and `pkgrel` now hard coded to 1. The PKGFILE will getting -changed on a `makepkg`-run. - -To prevent some version crashes no commit with changes to `pkgver` and -`pkgrel` should be accepted. - -Signed-off-by: Silvio Fricke ---- - PKGBUILD | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/PKGBUILD b/PKGBUILD -index a9f1b5a..c625bdb 100644 ---- a/PKGBUILD -+++ b/PKGBUILD -@@ -1,6 +1,6 @@ - pkgname=dracut-git --pkgver=$(date +%s) --pkgrel=$(git log --pretty=format:%h |head -n 1) -+pkgver=1 -+pkgrel=1 - pkgdesc="Initramfs generation utility" - arch=('i686' 'x86_64') - url="https://dracut.wiki.kernel.org/" -@@ -14,6 +14,12 @@ backup=(etc/dracut.conf) - source=() - md5sums=() - -+pkgver() { -+ cd .. -+ desc="$(git describe)" -+ printf "%s.%s.%s" ${desc//-/ } -+} -+ - build() { - cd .. - make sysconfdir=/etc || return 1 diff --git a/0087-PKGFILE-prevent-out-of-tree-builds.patch b/0087-PKGFILE-prevent-out-of-tree-builds.patch deleted file mode 100644 index e0eaabf..0000000 --- a/0087-PKGFILE-prevent-out-of-tree-builds.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 0d5c02d3ab7b71a09d5d7b52a771f0fe0f32e4e2 Mon Sep 17 00:00:00 2001 -From: Silvio Fricke -Date: Sun, 8 Nov 2015 12:53:36 +0100 -Subject: [PATCH] PKGFILE: prevent out of tree builds - -With makepkg is it possible to build sources away from the PKGFILE. The -previous behavior was crash on build if this was setup. With this -patch we prevent this possibility. - -Signed-off-by: Silvio Fricke ---- - PKGBUILD | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/PKGBUILD b/PKGBUILD -index c625bdb..05a32b0 100644 ---- a/PKGBUILD -+++ b/PKGBUILD -@@ -14,6 +14,13 @@ backup=(etc/dracut.conf) - source=() - md5sums=() - -+# out of tree builds disallowed for this PKGFILE -+BUILDDIR="${PWD}" -+PKGDEST="${PWD}" -+SRCDEST="" -+SRCPKGDEST="" -+LOGDEST="" -+ - pkgver() { - cd .. - desc="$(git describe)" diff --git a/0088-dracut-logger-prefix-stderr-output-with-dracut.patch b/0088-dracut-logger-prefix-stderr-output-with-dracut.patch deleted file mode 100644 index fc504c9..0000000 --- a/0088-dracut-logger-prefix-stderr-output-with-dracut.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 8e1c4b354cdc01f32d7903fbd7564c2ea2a5a7a1 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Mon, 9 Nov 2015 15:33:27 +0100 -Subject: [PATCH] dracut-logger: prefix stderr output with "dracut: " - -dnf updates of the kernel execute dracut in %post. -For the user it is not possible to distinguish the dracut output from -other error messages. ---- - dracut-logger.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/dracut-logger.sh b/dracut-logger.sh -index e5c9358..d1cee98 100755 ---- a/dracut-logger.sh -+++ b/dracut-logger.sh -@@ -324,7 +324,7 @@ _do_dlog() { - local msg="$*" - local lmsg="$lvlc: $*" - -- (( $lvl <= $stdloglvl )) && echo "$msg" >&2 -+ (( $lvl <= $stdloglvl )) && printf -- 'dracut: %s\n' "$msg" >&2 - - if (( $lvl <= $sysloglvl )); then - if [[ "$_dlogfd" ]]; then diff --git a/0089-dmsquash-live-root-Request-overflow-support-for-pers.patch b/0089-dmsquash-live-root-Request-overflow-support-for-pers.patch deleted file mode 100644 index 5ca76c5..0000000 --- a/0089-dmsquash-live-root-Request-overflow-support-for-pers.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 97be933592a00289fba3755cf3a9aa3c5d3c4ee9 Mon Sep 17 00:00:00 2001 -From: Frederick Grose -Date: Mon, 9 Nov 2015 09:45:07 -0800 -Subject: [PATCH] dmsquash-live-root: Request overflow support for persistent - snapshot. - ---- - modules.d/90dmsquash-live/dmsquash-live-root.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh -index 531617e..714e1dc 100755 ---- a/modules.d/90dmsquash-live/dmsquash-live-root.sh -+++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh -@@ -171,7 +171,7 @@ do_live_overlay() { - # Create a snapshot of the base image - echo 0 $sz thin /dev/mapper/live-overlay-pool 0 $base | dmsetup create live-rw - else -- echo 0 $sz snapshot $base $over p 8 | dmsetup create live-rw -+ echo 0 $sz snapshot $base $over PO 8 | dmsetup create live-rw - fi - - # Create a device that always points to a ro base image diff --git a/0090-dmsquash-live-root-Use-non-persistent-metadata-snaps.patch b/0090-dmsquash-live-root-Use-non-persistent-metadata-snaps.patch deleted file mode 100644 index 8232b9b..0000000 --- a/0090-dmsquash-live-root-Use-non-persistent-metadata-snaps.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 49c9d8174ff7c25158861872bc0ea04a8cf2d242 Mon Sep 17 00:00:00 2001 -From: Frederick Grose -Date: Mon, 9 Nov 2015 10:46:27 -0800 -Subject: [PATCH] dmsquash-live-root: Use non-persistent metadata snapshots. - -Transient snapshots can take advantage of smaller, - non-persistent metadata structures. -Make the --readonly option explicit rather than inferred - for the readonly_overlay target. -Assure that the live-base target is on the BASE_LOOPDEV. ---- - modules.d/90dmsquash-live/dmsquash-live-root.sh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh -index 531617e..caf473b 100755 ---- a/modules.d/90dmsquash-live/dmsquash-live-root.sh -+++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh -@@ -141,7 +141,7 @@ do_live_overlay() { - # set up the snapshot - sz=$(blockdev --getsz $BASE_LOOPDEV) - if [ -n "$readonly_overlay" ]; then -- echo 0 $sz snapshot $BASE_LOOPDEV $OVERLAY_LOOPDEV p 8 | dmsetup create $readonly_overlay live-ro -+ echo 0 $sz snapshot $BASE_LOOPDEV $OVERLAY_LOOPDEV N 8 | dmsetup create --readonly live-ro - base="/dev/mapper/live-ro" - over=$RO_OVERLAY_LOOPDEV - else -@@ -175,7 +175,7 @@ do_live_overlay() { - fi - - # Create a device that always points to a ro base image -- echo 0 $sz linear $base 0 | dmsetup create --readonly live-base -+ echo 0 $sz linear $BASE_LOOPDEV 0 | dmsetup create --readonly live-base - } - - # live cd helper function -@@ -259,7 +259,7 @@ fi - if [ -b "$OSMIN_LOOPDEV" ]; then - # set up the devicemapper snapshot device, which will merge - # the normal live fs image, and the delta, into a minimzied fs image -- echo "0 $( blockdev --getsz $BASE_LOOPDEV ) snapshot $BASE_LOOPDEV $OSMIN_LOOPDEV p 8" | dmsetup create --readonly live-osimg-min -+ echo "0 $( blockdev --getsz $BASE_LOOPDEV ) snapshot $BASE_LOOPDEV $OSMIN_LOOPDEV N 8" | dmsetup create --readonly live-osimg-min - fi - - ROOTFLAGS="$(getarg rootflags)" diff --git a/0091-Makefile-fix-VERSION-and-GITVERSION.patch b/0091-Makefile-fix-VERSION-and-GITVERSION.patch deleted file mode 100644 index 3dd447a..0000000 --- a/0091-Makefile-fix-VERSION-and-GITVERSION.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 8019e0eef3d36a4933ab96a8a8edfef5f3685593 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Wed, 30 Sep 2015 14:10:05 +0200 -Subject: [PATCH] Makefile: fix VERSION and GITVERSION - ---- - Makefile | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Makefile b/Makefile -index f3a5c07..8454c63 100644 ---- a/Makefile -+++ b/Makefile -@@ -1,7 +1,7 @@ - -include dracut-version.sh - --VERSION = $(shell [ -d .git ] && git describe --abbrev=0 --tags 2>/dev/null || echo $(DRACUT_VERSION)) --GITVERSION = $(shell [ -d .git ] && { v=$$(git describe --tags 2>/dev/null); [ $${v\#*-} != $$v ] && echo -$${v\#*-}; } ) -+VERSION ?= $(shell [ -d .git ] && git describe --abbrev=0 --tags 2>/dev/null || echo $(DRACUT_VERSION)) -+GITVERSION ?= $(shell [ -d .git ] && { v=$$(git describe --tags 2>/dev/null); [ -n "$$v" ] && [ $${v\#*-} != $$v ] && echo -$${v\#*-}; } ) - - -include Makefile.inc - diff --git a/0092-dracut.spec-omit-pkg-config-from-dependencies.patch b/0092-dracut.spec-omit-pkg-config-from-dependencies.patch deleted file mode 100644 index 9e053af..0000000 --- a/0092-dracut.spec-omit-pkg-config-from-dependencies.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 9befacf0c51e15fe8a199242c3bfd97d1adf455c Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Wed, 30 Sep 2015 14:10:20 +0200 -Subject: [PATCH] dracut.spec: omit pkg-config from dependencies - ---- - dracut.spec | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/dracut.spec b/dracut.spec -index 6ef5de7..d0bb9bd 100644 ---- a/dracut.spec -+++ b/dracut.spec -@@ -1,6 +1,11 @@ - %define dracutlibdir %{_prefix}/lib/dracut - %bcond_without doc - -+# We ship a .pc file but don't want to have a dep on pkg-config. We -+# strip the automatically generated dep here and instead co-own the -+# directory. -+%global __requires_exclude pkg-config -+ - # Variables must be defined - %define with_nbd 1 - -@@ -327,6 +332,7 @@ rm -rf -- $RPM_BUILD_ROOT - %endif - %dir %{_sysconfdir}/dracut.conf.d - %dir %{dracutlibdir}/dracut.conf.d -+%dir %{_datadir}/pkgconfig - %{_datadir}/pkgconfig/dracut.pc - - %if %{with doc} diff --git a/0093-fips-add-authenc-and-authencesn-kernel-modules.patch b/0093-fips-add-authenc-and-authencesn-kernel-modules.patch deleted file mode 100644 index cc3b6eb..0000000 --- a/0093-fips-add-authenc-and-authencesn-kernel-modules.patch +++ /dev/null @@ -1,23 +0,0 @@ -From c97209fe69dbbacb1f87acf5ec8a0e558e553ddc Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 10 Nov 2015 17:35:27 +0100 -Subject: [PATCH] fips: add authenc and authencesn kernel modules - -https://bugzilla.redhat.com/show_bug.cgi?id=1115112#c5 ---- - modules.d/01fips/module-setup.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh -index 758bf6b..7278347 100755 ---- a/modules.d/01fips/module-setup.sh -+++ b/modules.d/01fips/module-setup.sh -@@ -13,7 +13,7 @@ depends() { - # called by dracut - installkernel() { - local _fipsmodules _mod -- _fipsmodules="aead aes_generic aes-x86_64 ansi_cprng arc4 blowfish camellia cast6 cbc ccm " -+ _fipsmodules="aead aes_generic aes-x86_64 ansi_cprng arc4 authenc authencesn blowfish camellia cast6 cbc ccm " - _fipsmodules+="chainiv crc32c crct10dif_generic cryptomgr crypto_null ctr cts deflate des des3_ede dm-crypt dm-mod drbg " - _fipsmodules+="ecb eseqiv fcrypt gcm ghash_generic hmac khazad lzo md4 md5 michael_mic rmd128 " - _fipsmodules+="rmd160 rmd256 rmd320 rot13 salsa20 seed seqiv serpent sha1 sha224 sha256 sha256_generic " diff --git a/0094-lvm-remove-all-quirk-arguments.patch b/0094-lvm-remove-all-quirk-arguments.patch deleted file mode 100644 index e77084e..0000000 --- a/0094-lvm-remove-all-quirk-arguments.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 53a738465371db3cb7df533a3ae2b5648dfd13e4 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 10 Nov 2015 17:55:50 +0100 -Subject: [PATCH] lvm: remove all quirk arguments - -https://bugzilla.redhat.com/show_bug.cgi?id=742564 - -Once lvm2 starts using /run (bug 742554), it should be no longer -necessary to disable file-based locking in the vgchange call in -fedora-storage-init. -Removing '--sysinit' will make it safe to call LVM operations -concurrently from other units. - -The --sysinit is a compound option consisting of: - - -> --ignorelockingfailure - not needed anymore, the /run/lock/lvm is -available rw soon in boot process - - -> --ignoremonitoring - not needed since /run is available, this would -require the dm-event.service to be run before -fedora-storage-init.service (and new lvm2-activation.service when -deployed). But that's a one line change - I'll have a look whether it -plays well with other services and if yes, I'll commit the change. N.B.: -This has a consequence that all volumes activated on vgchange -ay will -be monitored at the same time they're activated (which is a plus I -think). The lvm2-monitor will just grab all the other volumes not -activated at the time of the boot's vgchange -ay call. But that's not an -issue (for already monitored volumes, calling vgchange --monitor y will -just be a NOOP). - - -> --poll n - not needed, we can run the polldaemon as the /run is -available and rw (in case there's unfinished merge or mirror sync from -previous system run, the poll-daemon will be triggered at boot now). -Actually, the polldaemon should be triggered as a service like dmeventd -is, not forked off from the LVM command itself, like from vgchange in -this case - we still need to change this - there's a bug open for this -request already (bug #814857). However, we don't have this feature ready -yet so I need to check whether this is OK with the early boot process -with the current state. ---- - modules.d/90lvm/lvm_scan.sh | 28 ++++++++++++++-------------- - 1 file changed, 14 insertions(+), 14 deletions(-) - -diff --git a/modules.d/90lvm/lvm_scan.sh b/modules.d/90lvm/lvm_scan.sh -index ead28aa..8bf0864 100755 ---- a/modules.d/90lvm/lvm_scan.sh -+++ b/modules.d/90lvm/lvm_scan.sh -@@ -69,11 +69,19 @@ min=$2 - sub=${3%% *} - sub=${sub%%\(*}; - -+lvm_ignorelockingfailure="--ignorelockingfailure" -+lvm_quirk_args="--ignorelockingfailure --ignoremonitoring" -+ - check_lvm_ver 2 2 57 $maj $min $sub && \ -- nopoll="--poll n" -+ lvm_quirk_args="$lvm_quirk_args --poll n" - - if check_lvm_ver 2 2 65 $maj $min $sub; then -- sysinit=" --sysinit $extraargs" -+ lvm_quirk_args=" --sysinit $extraargs" -+fi -+ -+if check_lvm_ver 2 2 221 $maj $min $sub; then -+ lvm_quirk_args=" $extraargs" -+ unset lvm_ignorelockingfailure - fi - - unset extraargs -@@ -104,24 +112,16 @@ fi - - if [ -n "$LVS" ] ; then - info "Scanning devices $lvmdevs for LVM logical volumes $LVS" -- lvm lvscan --ignorelockingfailure 2>&1 | vinfo -+ lvm lvscan $lvm_ignorelockingfailure 2>&1 | vinfo - for LV in $LVS; do -- if [ -z "$sysinit" ]; then -- lvm lvchange --yes -ay --ignorelockingfailure $nopoll --ignoremonitoring $LV 2>&1 | vinfo -- else -- lvm lvchange --yes -ay $sysinit $LV 2>&1 | vinfo -- fi -+ lvm lvchange --yes -ay $lvm_quirk_args $LV 2>&1 | vinfo - done - fi - - if [ -z "$LVS" -o -n "$VGS" ]; then - info "Scanning devices $lvmdevs for LVM volume groups $VGS" -- lvm vgscan --ignorelockingfailure 2>&1 | vinfo -- if [ -z "$sysinit" ]; then -- lvm vgchange -ay --ignorelockingfailure $nopoll --ignoremonitoring $VGS 2>&1 | vinfo -- else -- lvm vgchange -ay $sysinit $VGS 2>&1 | vinfo -- fi -+ lvm vgscan $lvm_ignorelockingfailure 2>&1 | vinfo -+ lvm vgchange -ay $lvm_quirk_args $VGS 2>&1 | vinfo - fi - - if [ "$lvmwritten" ]; then diff --git a/0095-dracut.sh-remove-_EARLY-from-CONFIG_MICROCODE_-check.patch b/0095-dracut.sh-remove-_EARLY-from-CONFIG_MICROCODE_-check.patch deleted file mode 100644 index 07bd27b..0000000 --- a/0095-dracut.sh-remove-_EARLY-from-CONFIG_MICROCODE_-check.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 875426f2fc1360401ddb5f97c67df031e54958d5 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Wed, 11 Nov 2015 11:38:56 +0100 -Subject: [PATCH] dracut.sh: remove "_EARLY" from CONFIG_MICROCODE_* checks - -EARLY is merged in the main driver ---- - dracut.sh | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/dracut.sh b/dracut.sh -index 2712e9e..9ba481b 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -1016,18 +1016,18 @@ fi - if [[ $early_microcode = yes ]]; then - if [[ $hostonly ]]; then - [[ $(get_cpu_vendor) == "AMD" ]] \ -- && ! check_kernel_config CONFIG_MICROCODE_AMD_EARLY \ -+ && ! check_kernel_config CONFIG_MICROCODE_AMD \ - && unset early_microcode - [[ $(get_cpu_vendor) == "Intel" ]] \ -- && ! check_kernel_config CONFIG_MICROCODE_INTEL_EARLY \ -+ && ! check_kernel_config CONFIG_MICROCODE_INTEL \ - && unset early_microcode - else -- ! check_kernel_config CONFIG_MICROCODE_AMD_EARLY \ -- && ! check_kernel_config CONFIG_MICROCODE_INTEL_EARLY \ -+ ! check_kernel_config CONFIG_MICROCODE_AMD \ -+ && ! check_kernel_config CONFIG_MICROCODE_INTEL \ - && unset early_microcode - fi - [[ $early_microcode != yes ]] \ -- && dwarn "Disabling early microcode, because kernel does not support it. CONFIG_MICROCODE_[AMD|INTEL]_EARLY!=y" -+ && dwarn "Disabling early microcode, because kernel does not support it. CONFIG_MICROCODE_[AMD|INTEL]!=y" - fi - - # Need to be able to have non-root users read stuff (rpcbind etc) diff --git a/0096-dracut.sh-quote-outfile-on-error-removal.patch b/0096-dracut.sh-quote-outfile-on-error-removal.patch deleted file mode 100644 index d68862a..0000000 --- a/0096-dracut.sh-quote-outfile-on-error-removal.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 2cc5e92e210d8eba1bce3068ca2be96b2427862d Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Wed, 11 Nov 2015 11:49:34 +0100 -Subject: [PATCH] dracut.sh: quote $outfile on error removal - ---- - dracut.sh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/dracut.sh b/dracut.sh -index 9ba481b..1169037 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -1690,9 +1690,10 @@ if ! ( - | $compress >> "$outfile" - ); then - dfatal "dracut: creation of $outfile failed" -- rm -f $outfile -+ rm -f "$outfile" - exit 1 - fi -+ - dinfo "*** Creating initrd image file '$outfile' done ***" - - if (( maxloglvl >= 5 )); then diff --git a/0097-dracut-systemd-module-setup.sh-remove-duplicate-vcon.patch b/0097-dracut-systemd-module-setup.sh-remove-duplicate-vcon.patch deleted file mode 100644 index 36bf91f..0000000 --- a/0097-dracut-systemd-module-setup.sh-remove-duplicate-vcon.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 64c34f34593984d93d4781f1e5fa008871e11963 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Wed, 11 Nov 2015 12:16:13 +0100 -Subject: [PATCH] dracut-systemd/module-setup.sh: remove duplicate vconsole - wants - -Adding the dependency on vconsole is already done in the 00systemd -module and the rescue.service has this already in the unit file. ---- - modules.d/98dracut-systemd/module-setup.sh | 11 ----------- - 1 file changed, 11 deletions(-) - -diff --git a/modules.d/98dracut-systemd/module-setup.sh b/modules.d/98dracut-systemd/module-setup.sh -index d917557..900162c 100755 ---- a/modules.d/98dracut-systemd/module-setup.sh -+++ b/modules.d/98dracut-systemd/module-setup.sh -@@ -43,17 +43,6 @@ install() { - - inst_script "$moddir/rootfs-generator.sh" $systemdutildir/system-generators/dracut-rootfs-generator - -- for i in \ -- emergency.target \ -- rescue.service \ -- systemd-ask-password-console.service \ -- systemd-ask-password-plymouth.service \ -- ; do -- mkdir -p "${initdir}${systemdsystemunitdir}/${i}.wants" -- ln_r "${systemdsystemunitdir}/systemd-vconsole-setup.service" \ -- "${systemdsystemunitdir}/${i}.wants/systemd-vconsole-setup.service" -- done -- - mkdir -p "${initdir}/$systemdsystemunitdir/initrd.target.wants" - for i in \ - dracut-cmdline.service \ diff --git a/0098-Makefile-remove-output-file-before-creating-it.patch b/0098-Makefile-remove-output-file-before-creating-it.patch deleted file mode 100644 index afafa5f..0000000 --- a/0098-Makefile-remove-output-file-before-creating-it.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 3e1c531b4ebfcca8850b5fa56ea7ce2eeacb2cc9 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Wed, 11 Nov 2015 12:33:07 +0100 -Subject: [PATCH] Makefile: remove output file before creating it - ---- - Makefile | 11 ++++++++--- - 1 file changed, 8 insertions(+), 3 deletions(-) - -diff --git a/Makefile b/Makefile -index 8454c63..44c58cc 100644 ---- a/Makefile -+++ b/Makefile -@@ -82,20 +82,24 @@ all: doc - endif - - %: %.xml -- xsltproc -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< -+ @rm -f -- "$@" -+ xsltproc -o "$@" -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< - - %.xml: %.asc -- asciidoc -d manpage -b docbook -o $@ $< -+ @rm -f -- "$@" -+ asciidoc -d manpage -b docbook -o "$@" $< - - dracut.8: dracut.usage.asc dracut.8.asc - - dracut.html: dracut.asc $(manpages) dracut.css dracut.usage.asc -+ @rm -f -- dracut.xml - asciidoc -a numbered -d book -b docbook -o dracut.xml dracut.asc -+ @rm -f -- dracut.html - xsltproc -o dracut.html --xinclude -nonet \ - --stringparam custom.css.source dracut.css \ - --stringparam generate.css.header 1 \ - http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl dracut.xml -- rm -f -- dracut.xml -+ @rm -f -- dracut.xml - - dracut.pc: Makefile.inc Makefile - @echo "Name: dracut" > dracut.pc -@@ -169,6 +173,7 @@ endif - install -m 0644 dracut.pc $(DESTDIR)${pkgconfigdatadir}/dracut.pc - - dracut-version.sh: -+ @rm -f dracut-version.sh - @echo "DRACUT_VERSION=$(VERSION)$(GITVERSION)" > dracut-version.sh - - clean: diff --git a/0099-TEST-30-ISCSI-add-rd.scsi.firmware.patch b/0099-TEST-30-ISCSI-add-rd.scsi.firmware.patch deleted file mode 100644 index ab86800..0000000 --- a/0099-TEST-30-ISCSI-add-rd.scsi.firmware.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 6251f82c6fee64461fcccf820a5d12e144f714d3 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 25 Aug 2015 11:12:59 +0200 -Subject: [PATCH] TEST-30-ISCSI: add rd.scsi.firmware - -(cherry picked from commit 310574f7eaf68412035eb19855afe4ce2973b784) ---- - test/TEST-30-ISCSI/test.sh | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/test/TEST-30-ISCSI/test.sh b/test/TEST-30-ISCSI/test.sh -index be3399a..ffdb77f 100755 ---- a/test/TEST-30-ISCSI/test.sh -+++ b/test/TEST-30-ISCSI/test.sh -@@ -3,8 +3,9 @@ TEST_DESCRIPTION="root filesystem over iSCSI" - - KVERSION=${KVERSION-$(uname -r)} - --#DEBUGFAIL="rd.shell rd.break rd.debug loglevel=7 " - DEBUGFAIL="loglevel=1" -+#DEBUGFAIL="rd.shell rd.break rd.debug loglevel=7 " -+#DEBUGFAIL="rd.debug loglevel=7 " - #SERVER_DEBUG="rd.debug loglevel=7" - SERIAL="tcp:127.0.0.1:9999" - SERIAL="null" -@@ -70,6 +71,7 @@ do_test_run() { - run_client "netroot=iscsi target0"\ - "root=LABEL=singleroot netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target0" \ - "ip=192.168.50.101::192.168.50.1:255.255.255.0:iscsi-1:ens3:off" \ -+ "rd.iscsi.firmware" \ - "rd.iscsi.initiator=$initiator" \ - || return 1 - -@@ -79,6 +81,7 @@ do_test_run() { - "ip=192.168.51.101:::255.255.255.0::ens4:off" \ - "netroot=iscsi:192.168.51.1::::iqn.2009-06.dracut:target1" \ - "netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \ -+ "rd.iscsi.firmware" \ - "rd.iscsi.initiator=$initiator" \ - || return 1 - -@@ -88,6 +91,7 @@ do_test_run() { - "ip=192.168.51.101:::255.255.255.0::ens4:off" \ - "netroot=iscsi:192.168.51.1::::iqn.2009-06.dracut:target1" \ - "netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \ -+ "rd.iscsi.firmware" \ - "rd.iscsi.initiator=$initiator" \ - "rd.waitnet=0 rd.retry=30" \ - || return 1 -@@ -98,6 +102,7 @@ do_test_run() { - "ip=192.168.51.101:::255.255.255.0::ens4:off" \ - "netroot=iscsi:192.168.51.1::::iqn.2009-06.dracut:target1" \ - "netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \ -+ "rd.iscsi.firmware" \ - "rd.iscsi.initiator=$initiator" \ - "rd.waitnet=0 rd.iscsi.testroute=0 rd.retry=30" \ - || return 1 -@@ -108,6 +113,7 @@ do_test_run() { - "ip=192.168.51.101::192.168.51.1:255.255.255.0::ens4:off" \ - "netroot=iscsi:192.168.51.1::::iqn.2009-06.dracut:target1" \ - "netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \ -+ "rd.iscsi.firmware" \ - "rd.iscsi.initiator=$initiator" \ - "rd.waitnet=0 rd.iscsi.testroute=0 rd.retry=30" \ - || return 1 diff --git a/0100-initqueue-add-online-queue.patch b/0100-initqueue-add-online-queue.patch deleted file mode 100644 index 95e8f1a..0000000 --- a/0100-initqueue-add-online-queue.patch +++ /dev/null @@ -1,32 +0,0 @@ -From ab57132aa5df3f85123cd7991c402b3f9ebdce73 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 25 Aug 2015 11:13:23 +0200 -Subject: [PATCH] initqueue: add online queue - -(cherry picked from commit d3f61fb5cdaa56053ae8de0203a13722a7fe717a) ---- - modules.d/99base/initqueue.sh | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/modules.d/99base/initqueue.sh b/modules.d/99base/initqueue.sh -index 193cc5c..c301638 100755 ---- a/modules.d/99base/initqueue.sh -+++ b/modules.d/99base/initqueue.sh -@@ -13,6 +13,8 @@ while [ $# -gt 0 ]; do - case "$1" in - --onetime) - onetime="yes";; -+ --online) -+ qname="/online";; - --settled) - qname="/settled";; - --finished) -@@ -50,7 +52,7 @@ fi - { - [ -n "$onetime" ] && echo '[ -e "$job" ] && rm -f -- "$job"' - [ -n "$env" ] && echo "$env" -- echo "$exe $@" -+ echo "$exe" "$@" - } > "/tmp/$$-${job}.sh" - - mv -f "/tmp/$$-${job}.sh" "$hookdir/initqueue${qname}/${job}.sh" diff --git a/0101-dracut.spec-raise-systemd-requirement-to-219.patch b/0101-dracut.spec-raise-systemd-requirement-to-219.patch deleted file mode 100644 index 9011247..0000000 --- a/0101-dracut.spec-raise-systemd-requirement-to-219.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 01430d27d4c04e06a958164e6945ec7581f7190f Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 25 Aug 2015 11:13:38 +0200 -Subject: [PATCH] dracut.spec: raise systemd requirement to >= 219 - -needs systemd-escape - -(cherry picked from commit 35f40b75e444adae3b3c9bb610d635d9c17a753d) ---- - dracut.spec | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/dracut.spec b/dracut.spec -index d0bb9bd..9e19fcc 100644 ---- a/dracut.spec -+++ b/dracut.spec -@@ -114,7 +114,7 @@ Requires: kpartx - - %if 0%{?fedora} || 0%{?rhel} > 6 - Requires: util-linux >= 2.21 --Requires: systemd >= 199 -+Requires: systemd >= 219 - Requires: procps-ng - Conflicts: grubby < 8.23 - Conflicts: initscripts < 8.63-1 diff --git a/0102-iscsi-iscsiroot.sh-handle-firmware-in-online-queue.patch b/0102-iscsi-iscsiroot.sh-handle-firmware-in-online-queue.patch deleted file mode 100644 index 8193520..0000000 --- a/0102-iscsi-iscsiroot.sh-handle-firmware-in-online-queue.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 7391fef29ab9a4766b5eb04d05803f2ebaa95752 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 25 Aug 2015 11:14:38 +0200 -Subject: [PATCH] iscsi/iscsiroot.sh: handle firmware in online queue - -otherwise it does not get called, if no netroot is set - -(cherry picked from commit 3bd3bbec319eccd28145f77e42b83b479286ff34) ---- - modules.d/95iscsi/iscsiroot.sh | 32 +++++++++++++++----------------- - 1 file changed, 15 insertions(+), 17 deletions(-) - -diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh -index ad95812..893f279 100755 ---- a/modules.d/95iscsi/iscsiroot.sh -+++ b/modules.d/95iscsi/iscsiroot.sh -@@ -236,28 +236,26 @@ if [ "$netif" = "dummy" ] && all_ifaces_up; then - sleep 2 - fi - --# loop over all netroot parameter --netroot=$(getarg netroot) --if [ $? -eq 0 ] && [ "$netroot" != "dhcp" ]; then -- for nroot in $(getargs netroot); do -- [ "${nroot%%:*}" = "iscsi" ] || continue -- nroot="${nroot##iscsi:}" -- if [ -n "$nroot" ]; then -- handle_netroot "$nroot" -- ret=$(($ret + $?)) -- fi -- done -+if [ "$netif" = "online" ]; then - if getargbool 0 rd.iscsi.firmware -d -y iscsi_firmware ; then - handle_firmware -- ret=$(($ret + $?)) -+ ret=$? - fi - else -- if [ -n "$iroot" ]; then -- handle_netroot "$iroot" -- ret=$? -+ # loop over all netroot parameter -+ nroot=$(getarg netroot) -+ if [ $? -eq 0 ] && [ "$nroot" != "dhcp" ]; then -+ for nroot in $(getargs netroot); do -+ [ "${nroot%%:*}" = "iscsi" ] || continue -+ nroot="${nroot##iscsi:}" -+ if [ -n "$nroot" ]; then -+ handle_netroot "$nroot" -+ ret=$(($ret + $?)) -+ fi -+ done - else -- if getargbool 0 rd.iscsi.firmware -d -y iscsi_firmware ; then -- handle_firmware -+ if [ -n "$iroot" ]; then -+ handle_netroot "$iroot" - ret=$? - fi - fi diff --git a/0103-iscsi-parse-iscsiroot.sh-do-not-modify-netroot.patch b/0103-iscsi-parse-iscsiroot.sh-do-not-modify-netroot.patch deleted file mode 100644 index 30debf4..0000000 --- a/0103-iscsi-parse-iscsiroot.sh-do-not-modify-netroot.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 6138a45dd20319417a59f0592f67ac261a380031 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 25 Aug 2015 11:15:59 +0200 -Subject: [PATCH] iscsi/parse-iscsiroot.sh: do not modify netroot - -(cherry picked from commit 197e4c90b95f2d9e57104d3b462918c335494697) ---- - modules.d/95iscsi/parse-iscsiroot.sh | 17 +++++++++++++---- - 1 file changed, 13 insertions(+), 4 deletions(-) - -diff --git a/modules.d/95iscsi/parse-iscsiroot.sh b/modules.d/95iscsi/parse-iscsiroot.sh -index a889da1..c167dad 100755 ---- a/modules.d/95iscsi/parse-iscsiroot.sh -+++ b/modules.d/95iscsi/parse-iscsiroot.sh -@@ -14,10 +14,17 @@ - # This script is sourced, so root should be set. But let's be paranoid - [ -z "$root" ] && root=$(getarg root=) - if [ -z "$netroot" ]; then -- for netroot in $(getargs netroot=); do -- [ "${netroot%%:*}" = "iscsi" ] && break -+ for nroot in $(getargs netroot=); do -+ [ "${nroot%%:*}" = "iscsi" ] && break - done -- [ "${netroot%%:*}" = "iscsi" ] || unset netroot -+ if [ "${nroot%%:*}" = "iscsi" ]; then -+ netroot="$nroot" -+ else -+ for nroot in $(getargs netroot=); do -+ [ "${nroot%%:*}" = "dhcp" ] && break -+ done -+ netroot="$nroot" -+ fi - fi - [ -z "$iscsiroot" ] && iscsiroot=$(getarg iscsiroot=) - [ -z "$iscsi_firmware" ] && getargbool 0 rd.iscsi.firmware -y iscsi_firmware && iscsi_firmware="1" -@@ -59,7 +66,9 @@ fi - - # iscsi_firmware does not need argument checking - if [ -n "$iscsi_firmware" ] || getargbool 0 rd.iscsi.ibft -d "ip=ibft"; then -- [ -z "$netroot" ] && netroot=iscsi: -+ if [ "$root" != "dhcp" ] && [ "$netroot" != "dhcp" ]; then -+ [ -z "$netroot" ] && netroot=iscsi: -+ fi - modprobe -b -q iscsi_boot_sysfs 2>/dev/null - modprobe -b -q iscsi_ibft - fi diff --git a/0104-network-add-options-to-tweak-timeouts.patch b/0104-network-add-options-to-tweak-timeouts.patch deleted file mode 100644 index d2dde90..0000000 --- a/0104-network-add-options-to-tweak-timeouts.patch +++ /dev/null @@ -1,199 +0,0 @@ -From 2448fbf17b8deb28046b9721503cab15721716ca Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 3 Jul 2015 13:30:40 +0200 -Subject: [PATCH] network: add options to tweak timeouts - - rd.net.dhcp.retry= - If this option is set, dracut will try to connect via dhcp - times before failing. Default is 1. - - rd.net.timeout.dhcp= - If this option is set, dhclient is called with "-timeout ". - - rd.net.timeout.iflink= - Wait until link shows up. Default is 60 seconds. - - rd.net.timeout.ifup= - Wait until link has state "UP". Default is 20 seconds. - - rd.net.timeout.route= - Wait until route shows up. Default is 20 seconds. - - rd.net.timeout.ipv6dad= - Wait until IPv6 DAD is finished. Default is 50 seconds. - - rd.net.timeout.ipv6auto= - Wait until IPv6 automatic addresses are assigned. - Default is 40 seconds. - - rd.net.timeout.carrier= - Wait until carrier is recognized. Default is 5 seconds. - -(cherry picked from commit d8ad687e1a4c0343eb076902b11aff2b2b2c4b85) ---- - dracut.cmdline.7.asc | 25 +++++++++++++++++++++++++ - modules.d/40network/ifup.sh | 26 ++++++++++++++++++++++---- - modules.d/40network/net-lib.sh | 36 ++++++++++++++++++++++++++++++------ - 3 files changed, 77 insertions(+), 10 deletions(-) - -diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc -index 8c7e965..d790afd 100644 ---- a/dracut.cmdline.7.asc -+++ b/dracut.cmdline.7.asc -@@ -606,6 +606,31 @@ NFS - **rd.nfs.domain=**____:: - Set the NFSv4 domain name. Will overwrite the settings in _/etc/idmap.conf_. - -+**rd.net.dhcp.retry=**____:: -+ If this option is set, dracut will try to connect via dhcp times before failing. -+ Default is 1. -+ -+**rd.net.timeout.dhcp=**____:: -+ If this option is set, dhclient is called with "-timeout ". -+ -+**rd.net.timeout.iflink=**____:: -+ Wait until link shows up. Default is 60 seconds. -+ -+**rd.net.timeout.ifup=**____:: -+ Wait until link has state "UP". Default is 20 seconds. -+ -+**rd.net.timeout.route=**____:: -+ Wait until route shows up. Default is 20 seconds. -+ -+**rd.net.timeout.ipv6dad=**____:: -+ Wait until IPv6 DAD is finished. Default is 50 seconds. -+ -+**rd.net.timeout.ipv6auto=**____:: -+ Wait until IPv6 automatic addresses are assigned. Default is 40 seconds. -+ -+**rd.net.timeout.carrier=**____:: -+ Wait until carrier is recognized. Default is 5 seconds. -+ - CIFS - ~~~ - **root=**cifs://[____[:____]@]____:____:: -diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh -index 0138e01..bb20afe 100755 ---- a/modules.d/40network/ifup.sh -+++ b/modules.d/40network/ifup.sh -@@ -93,15 +93,33 @@ do_dhcp() { - # event for nfsroot - # XXX add -V vendor class and option parsing per kernel - -+ local _COUNT=0 -+ local _timeout=$(getargs rd.net.timeout.dhcp=) -+ local _DHCPRETRY=$(getargs rd.net.dhcp.retry=) -+ _DHCPRETRY=${_DHCPRETRY:-1} -+ - [ -e /tmp/dhclient.$netif.pid ] && return 0 - - if ! iface_has_link $netif; then -- echo "No carrier detected" -+ warn "No carrier detected on interface $netif" - return 1 - fi -- echo "Starting dhcp for interface $netif" -- dhclient "$@" -1 -q -cf /etc/dhclient.conf -pf /tmp/dhclient.$netif.pid -lf /tmp/dhclient.$netif.lease $netif \ -- || echo "dhcp failed" -+ -+ while [ $_COUNT -lt $_DHCPRETRY ]; do -+ info "Starting dhcp for interface $netif" -+ dhclient "$@" \ -+ ${_timeout:+-timeout $_timeout} \ -+ -1 -q \ -+ -cf /etc/dhclient.conf \ -+ -pf /tmp/dhclient.$netif.pid \ -+ -lf /tmp/dhclient.$netif.lease \ -+ $netif \ -+ && return 0 -+ _COUNT=$(($_COUNT+1)) -+ [ $_COUNT -lt $_DHCPRETRY ] && sleep 1 -+ done -+ warn "dhcp for interface $netif failed" -+ return 1 - } - - load_ipv6() { -diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh -index 2e79619..2f25de7 100755 ---- a/modules.d/40network/net-lib.sh -+++ b/modules.d/40network/net-lib.sh -@@ -504,7 +504,11 @@ parse_ifname_opts() { - wait_for_if_link() { - local cnt=0 - local li -- while [ $cnt -lt 600 ]; do -+ local timeout="$(getargs rd.net.timeout.iflink=)" -+ timeout=${timeout:-60} -+ timeout=$(($timeout*10)) -+ -+ while [ $cnt -lt $timeout ]; do - li=$(ip -o link show dev $1 2>/dev/null) - [ -n "$li" ] && return 0 - sleep 0.1 -@@ -516,7 +520,11 @@ wait_for_if_link() { - wait_for_if_up() { - local cnt=0 - local li -- while [ $cnt -lt 200 ]; do -+ local timeout="$(getargs rd.net.timeout.ifup=)" -+ timeout=${timeout:-20} -+ timeout=$(($timeout*10)) -+ -+ while [ $cnt -lt $timeout ]; do - li=$(ip -o link show up dev $1) - [ -n "$li" ] && [ -z "${li##*state UP*}" ] && return 0 - sleep 0.1 -@@ -527,7 +535,11 @@ wait_for_if_up() { - - wait_for_route_ok() { - local cnt=0 -- while [ $cnt -lt 200 ]; do -+ local timeout="$(getargs rd.net.timeout.route=)" -+ timeout=${timeout:-20} -+ timeout=$(($timeout*10)) -+ -+ while [ $cnt -lt $timeout ]; do - li=$(ip route show) - [ -n "$li" ] && [ -z "${li##*$1*}" ] && return 0 - sleep 0.1 -@@ -539,7 +551,11 @@ wait_for_route_ok() { - wait_for_ipv6_dad() { - local cnt=0 - local li -- while [ $cnt -lt 500 ]; do -+ local timeout="$(getargs rd.net.timeout.ipv6dad=)" -+ timeout=${timeout:-50} -+ timeout=$(($timeout*10)) -+ -+ while [ $cnt -lt $timeout ]; do - li=$(ip -6 addr show dev $1 scope link) - strstr "$li" "tentative" || return 0 - sleep 0.1 -@@ -551,7 +567,11 @@ wait_for_ipv6_dad() { - wait_for_ipv6_auto() { - local cnt=0 - local li -- while [ $cnt -lt 400 ]; do -+ local timeout="$(getargs rd.net.timeout.ipv6auto=)" -+ timeout=${timeout:-40} -+ timeout=$(($timeout*10)) -+ -+ while [ $cnt -lt $timeout ]; do - li=$(ip -6 addr show dev $1) - if ! strstr "$li" "tentative"; then - strstr "$li" "dynamic" && return 0 -@@ -579,8 +599,12 @@ iface_has_link() { - [ -n "$interface" ] || return 2 - interface="/sys/class/net/$interface" - [ -d "$interface" ] || return 2 -+ local timeout="$(getargs rd.net.timeout.carrier=)" -+ timeout=${timeout:-5} -+ timeout=$(($timeout*10)) -+ - linkup "$1" -- while [ $cnt -lt 50 ]; do -+ while [ $cnt -lt $timeout ]; do - [ "$(cat $interface/carrier)" = 1 ] && return 0 - sleep 0.1 - cnt=$(($cnt+1)) diff --git a/0105-fcoe-start-with-fcoemon-instead-of-fipvlan.patch b/0105-fcoe-start-with-fcoemon-instead-of-fipvlan.patch deleted file mode 100644 index 1cd844e..0000000 --- a/0105-fcoe-start-with-fcoemon-instead-of-fipvlan.patch +++ /dev/null @@ -1,127 +0,0 @@ -From 4891d9a2ce693f5649b4a0e9214d00488e0b128c Mon Sep 17 00:00:00 2001 -From: Chris Leech -Date: Fri, 3 Jul 2015 13:40:12 +0200 -Subject: [PATCH] fcoe: start with fcoemon instead of fipvlan - -(cherry picked from commit d02f522089863af2a802cef9e63965349bfcc819) ---- - modules.d/95fcoe/fcoe-up.sh | 30 ++++++++++++++++++++++++++++-- - modules.d/95fcoe/module-setup.sh | 8 +++++--- - modules.d/95fcoe/parse-fcoe.sh | 5 +---- - 3 files changed, 34 insertions(+), 9 deletions(-) - -diff --git a/modules.d/95fcoe/fcoe-up.sh b/modules.d/95fcoe/fcoe-up.sh -index 950e4b6..fb3b4c4 100755 ---- a/modules.d/95fcoe/fcoe-up.sh -+++ b/modules.d/95fcoe/fcoe-up.sh -@@ -15,6 +15,7 @@ type ip_to_var >/dev/null 2>&1 || . /lib/net-lib.sh - - netif=$1 - dcb=$2 -+vlan="yes" - - iflink=$(cat /sys/class/net/$netif/iflink) - ifindex=$(cat /sys/class/net/$netif/ifindex) -@@ -29,6 +30,21 @@ linkup "$netif" - netdriver=$(readlink -f /sys/class/net/$netif/device/driver) - netdriver=${netdriver##*/} - -+write_fcoemon_cfg() { -+ echo FCOE_ENABLE=\"yes\" > /etc/fcoe/cfg-$netif -+ if [ "$dcb" = "dcb" ]; then -+ echo DCB_REQUIRED=\"yes\" >> /etc/fcoe/cfg-$netif -+ else -+ echo DCB_REQUIRED=\"no\" >> /etc/fcoe/cfg-$netif -+ fi -+ if [ "$vlan" = "yes" ]; then -+ echo AUTO_VLAN=\"yes\" >> /etc/fcoe/cfg-$netif -+ else -+ echo AUTO_VLAN=\"no\" >> /etc/fcoe/cfg-$netif -+ fi -+ echo MODE=\"fabric\" >> /etc/fcoe/cfg-$netif -+} -+ - if [ "$dcb" = "dcb" ]; then - # wait for lldpad to be ready - i=0 -@@ -47,6 +63,13 @@ if [ "$dcb" = "dcb" ]; then - done - - while [ $i -lt 60 ]; do -+ dcbtool sc "$netif" pfc e:1 a:1 w:1 && break -+ info "Retrying to turn dcb on" -+ sleep 1 -+ i=$(($i+1)) -+ done -+ -+ while [ $i -lt 60 ]; do - dcbtool sc "$netif" app:fcoe e:1 a:1 w:1 && break - info "Retrying to turn fcoe on" - sleep 1 -@@ -55,7 +78,8 @@ if [ "$dcb" = "dcb" ]; then - - sleep 1 - -- fipvlan "$netif" -c -s -+ write_fcoemon_cfg -+ fcoemon --syslog - elif [ "$netdriver" = "bnx2x" ]; then - # If driver is bnx2x, do not use /sys/module/fcoe/parameters/create but fipvlan - modprobe 8021q -@@ -64,7 +88,9 @@ elif [ "$netdriver" = "bnx2x" ]; then - sleep 3 - fipvlan "$netif" -c -s - else -- printf '%s' "$netif" > /sys/module/fcoe/parameters/create -+ vlan="no" -+ write_fcoemon_cfg -+ fcoemon --syslog - fi - - need_shutdown -diff --git a/modules.d/95fcoe/module-setup.sh b/modules.d/95fcoe/module-setup.sh -index 9c67f17..ae606aa 100755 ---- a/modules.d/95fcoe/module-setup.sh -+++ b/modules.d/95fcoe/module-setup.sh -@@ -10,8 +10,7 @@ check() { - [ -z "$fcoe_ctlr" ] && return 255 - } - -- require_binaries dcbtool fipvlan lldpad ip readlink || return 1 -- -+ require_binaries dcbtool fipvlan lldpad ip readlink fcoemon fcoeadm || return 1 - return 0 - } - -@@ -67,9 +66,12 @@ cmdline() { - - # called by dracut - install() { -- inst_multiple ip dcbtool fipvlan lldpad readlink lldptool -+ inst_multiple ip dcbtool fipvlan lldpad readlink lldptool fcoemon fcoeadm -+ inst_libdir_file 'libhbalinux.so*' -+ inst "/etc/hba.conf" "/etc/hba.conf" - - mkdir -m 0755 -p "$initdir/var/lib/lldpad" -+ mkdir -m 0755 -p "$initdir/etc/fcoe" - - if [[ $hostonly_cmdline == "yes" ]] ; then - local _fcoeconf=$(cmdline) -diff --git a/modules.d/95fcoe/parse-fcoe.sh b/modules.d/95fcoe/parse-fcoe.sh -index a214007..9f47184 100755 ---- a/modules.d/95fcoe/parse-fcoe.sh -+++ b/modules.d/95fcoe/parse-fcoe.sh -@@ -18,12 +18,9 @@ - # If it's not set we don't continue - [ -z "$fcoe" ] && return - -- --# BRCM: Later, should check whether bnx2x is loaded first before loading bnx2fc so do not load bnx2fc when there are no Broadcom adapters --[ -d /sys/module/fcoe ] || modprobe -b -a fcoe || die "FCoE requested but kernel/initrd does not support FCoE" -+[ -e /sys/bus/fcoe/ctlr_create ] || modprobe -b -a fcoe || die "FCoE requested but kernel/initrd does not support FCoE" - - initqueue --onetime modprobe -b -q bnx2fc --udevadm settle --timeout=30 - - parse_fcoe_opts() { - local OLDIFS="$IFS" diff --git a/0106-fcoe-EDD-parsing-patch-for-i40e.patch b/0106-fcoe-EDD-parsing-patch-for-i40e.patch deleted file mode 100644 index 96f487b..0000000 --- a/0106-fcoe-EDD-parsing-patch-for-i40e.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 9a5bd6804a56d5c3091d26894c5302980b38252e Mon Sep 17 00:00:00 2001 -From: Chris Leech -Date: Fri, 3 Jul 2015 13:44:16 +0200 -Subject: [PATCH] fcoe: EDD parsing patch for i40e - -(cherry picked from commit 4031a2fa642c1db897c1340ad2718301bf873fb3) ---- - modules.d/95fcoe/fcoe-edd.sh | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -diff --git a/modules.d/95fcoe/fcoe-edd.sh b/modules.d/95fcoe/fcoe-edd.sh -index 9ab2d3e..fb3dcd7 100755 ---- a/modules.d/95fcoe/fcoe-edd.sh -+++ b/modules.d/95fcoe/fcoe-edd.sh -@@ -9,8 +9,21 @@ fi - - for disk in /sys/firmware/edd/int13_*; do - [ -d $disk ] || continue -+ if [ -e ${disk}/pci_dev/driver ]; then -+ driver=`readlink ${disk}/pci_dev/driver` -+ driver=${driver##*/} -+ fi -+ # i40e uses dev_port 1 for a virtual fcoe function -+ if [ "${driver}" == "i40e" ]; then -+ dev_port=1 -+ fi - for nic in ${disk}/pci_dev/net/*; do - [ -d $nic ] || continue -+ if [ -n "${dev_port}" -a -e ${nic}/dev_port ]; then -+ if [ `cat ${nic}/dev_port` -ne ${dev_port} ]; then -+ continue -+ fi -+ fi - if [ -e ${nic}/address ]; then - fcoe_interface=${nic##*/} - if ! [ -e "/tmp/.fcoe-$fcoe_interface" ]; then diff --git a/0107-fcoe-fcoe-edd.sh-cleanup-the-script.patch b/0107-fcoe-fcoe-edd.sh-cleanup-the-script.patch deleted file mode 100644 index fd8017b..0000000 --- a/0107-fcoe-fcoe-edd.sh-cleanup-the-script.patch +++ /dev/null @@ -1,87 +0,0 @@ -From cca313fa759997d8d2f2d1926e51c91b152e363b Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 3 Jul 2015 13:52:32 +0200 -Subject: [PATCH] fcoe/fcoe-edd.sh: cleanup the script - -- check if modprobe was successful -- add a timeout for /sys/firmware/edd -- only remove the module, if it was loaded by the script - -(cherry picked from commit 34203d03c0d43aa0aed12988d2719455e80eae54) ---- - modules.d/95fcoe/fcoe-edd.sh | 46 ++++++++++++++++++++++++++++++-------------- - 1 file changed, 32 insertions(+), 14 deletions(-) - -diff --git a/modules.d/95fcoe/fcoe-edd.sh b/modules.d/95fcoe/fcoe-edd.sh -index fb3dcd7..3b07ad3 100755 ---- a/modules.d/95fcoe/fcoe-edd.sh -+++ b/modules.d/95fcoe/fcoe-edd.sh -@@ -1,36 +1,54 @@ - #!/bin/sh - --dcb=$1 -+dcb="$1" - --if ! [ -d /sys/firmware/edd ]; then -- modprobe edd -- while ! [ -d /sys/firmware/edd ]; do sleep 0.1; done --fi -+_modprobe_r_edd="0" -+ -+check_edd() { -+ local cnt=0 -+ -+ [ -d /sys/firmware/edd ] && return 0 -+ -+ _modprobe_r_edd="1" -+ modprobe edd || return $? -+ -+ while [ $cnt -lt 600 ]; do -+ [ -d /sys/firmware/edd ] && return 0 -+ cnt=$(($cnt+1)) -+ sleep 0.1 -+ done -+ return 1 -+} -+ -+check_edd || exit 1 - - for disk in /sys/firmware/edd/int13_*; do -- [ -d $disk ] || continue -- if [ -e ${disk}/pci_dev/driver ]; then -- driver=`readlink ${disk}/pci_dev/driver` -+ [ -d "$disk" ] || continue -+ if [ -e "${disk}/pci_dev/driver" ]; then -+ driver=$(readlink "${disk}/pci_dev/driver") - driver=${driver##*/} - fi - # i40e uses dev_port 1 for a virtual fcoe function - if [ "${driver}" == "i40e" ]; then - dev_port=1 - fi -- for nic in ${disk}/pci_dev/net/*; do -- [ -d $nic ] || continue -- if [ -n "${dev_port}" -a -e ${nic}/dev_port ]; then -- if [ `cat ${nic}/dev_port` -ne ${dev_port} ]; then -+ for nic in "${disk}"/pci_dev/net/*; do -+ [ -d "$nic" ] || continue -+ if [ -n "${dev_port}" -a -e "${nic}/dev_port" ]; then -+ if [ "$(cat ${nic}/dev_port)" -ne "${dev_port}" ]; then - continue - fi - fi - if [ -e ${nic}/address ]; then - fcoe_interface=${nic##*/} - if ! [ -e "/tmp/.fcoe-$fcoe_interface" ]; then -- /sbin/fcoe-up $fcoe_interface $dcb -+ /sbin/fcoe-up "$fcoe_interface" "$dcb" - > "/tmp/.fcoe-$fcoe_interface" - fi - fi - done - done --modprobe -r edd -+ -+[ "$_modprobe_r_edd" = "1" ] && modprobe -r edd -+ -+unset _modprobe_r_edd diff --git a/0108-livenet-don-t-attempt-to-download-the-image-for-ever.patch b/0108-livenet-don-t-attempt-to-download-the-image-for-ever.patch deleted file mode 100644 index d1ae8cd..0000000 --- a/0108-livenet-don-t-attempt-to-download-the-image-for-ever.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 3913d061c4bdfad3f496f7a3d0a69e0f3ef51a47 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 3 Jul 2015 14:00:33 +0200 -Subject: [PATCH] livenet: don't attempt to download the image for every - interface - -https://bugzilla.redhat.com/show_bug.cgi?id=1152485 -(cherry picked from commit e5f4bbd804e337a7efaf3a0cb4fc3a37b7e33b47) ---- - modules.d/90livenet/livenetroot.sh | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -diff --git a/modules.d/90livenet/livenetroot.sh b/modules.d/90livenet/livenetroot.sh -index 1bbee55..2e36ee9 100755 ---- a/modules.d/90livenet/livenetroot.sh -+++ b/modules.d/90livenet/livenetroot.sh -@@ -7,12 +7,20 @@ type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh - - PATH=/usr/sbin:/usr/bin:/sbin:/bin - -+[ -e /tmp/livenet.downloaded ] && exit 0 -+ - # args get passed from 40network/netroot - netroot="$2" - liveurl="${netroot#livenet:}" - info "fetching $liveurl" - imgfile=$(fetch_url "$liveurl") --[ $? = 0 ] || die "failed to download live image: error $?" -+ -+if [ $? = 0 ]; then -+ warn "failed to download live image: error $?" -+ exit 1 -+fi -+ -+> /tmp/livenet.downloaded - - # TODO: couldn't dmsquash-live-root handle this? - if [ ${imgfile##*.} = "iso" ]; then diff --git a/0109-multipath-install-all-multipath-path-selector-kernel.patch b/0109-multipath-install-all-multipath-path-selector-kernel.patch deleted file mode 100644 index e1fb0f7..0000000 --- a/0109-multipath-install-all-multipath-path-selector-kernel.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 848edf22f0a2f664310026871139e1ab0f49bd52 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 3 Jul 2015 14:24:50 +0200 -Subject: [PATCH] multipath: install all multipath path selector kernel modules - -By default, dracut only builds in dm-service-time into the initramfs as -that is the default multipath.conf path selector. If the user changes -the path selector to "round robin" on the fly and runs dracut, multipath -does not find any paths on boot and the user will be dropped into a -shell. - -Apparently, in RHEL7 dracut defaults to "hostonly" mode, i.e. modules -not currently in use at the time dracut runs do not get built into -initramfs. This is definitely one case where this doesn't work. A change -to reconfigure multipath probably should not render the system -unbootable. - -https://bugzilla.redhat.com/show_bug.cgi?id=1195392 -(cherry picked from commit f11d7a81e2eec37ed5b6708ed8cd359f0a5eaa69) ---- - modules.d/90multipath/module-setup.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh -index 321f13e..831c99f 100755 ---- a/modules.d/90multipath/module-setup.sh -+++ b/modules.d/90multipath/module-setup.sh -@@ -84,7 +84,7 @@ installkernel() { - } - - ( find_kernel_modules_by_path drivers/scsi; if [ "$_arch" = "s390" -o "$_arch" = "s390x" ]; then find_kernel_modules_by_path drivers/s390/scsi; fi; -- find_kernel_modules_by_path drivers/md ) | mp_mod_filter | instmods -+ find_kernel_modules_by_path drivers/md ) | mp_mod_filter | hostonly='' instmods - } - - # called by dracut diff --git a/0110-man-page-changed-grub.conf-to-grub2.cfg.patch b/0110-man-page-changed-grub.conf-to-grub2.cfg.patch deleted file mode 100644 index 48ea24d..0000000 --- a/0110-man-page-changed-grub.conf-to-grub2.cfg.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 20486a16e9f2d203a1877ff5de0b1b0bf9d74d9a Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 3 Jul 2015 14:28:55 +0200 -Subject: [PATCH] man page: changed grub.conf to grub2.cfg - -(cherry picked from commit 77c0b308259d3b91c536de9a49c0b99427c5924e) ---- - dracut.usage.asc | 16 ++++++---------- - 1 file changed, 6 insertions(+), 10 deletions(-) - -diff --git a/dracut.usage.asc b/dracut.usage.asc -index b4a8663..2b25588 100644 ---- a/dracut.usage.asc -+++ b/dracut.usage.asc -@@ -99,10 +99,6 @@ raid with encryption and LVM on top), as long as you specify the correct - filesystem LABEL or UUID on the kernel command line for your root device, dracut - will find it and boot from it. - --The kernel command line usually can be configured in _/boot/grub/grub.conf_ or --_/boot/grub2/grub.cfg_, if grub is your bootloader and it also can be edited in --the real boot process in the grub menu. -- - The kernel command line can also be provided by the dhcp server with the - root-path option. See <>. - -@@ -310,7 +306,7 @@ stick and mount that. Then you can store the output for later inspection. - In all cases, the following should be mentioned and attached to your bug report: - - * The exact kernel command-line used. Typically from the bootloader --configuration file (e.g. _/etc/grub.conf_) or from _/proc/cmdline_. -+configuration file (e.g. _/boot/grub2/grub.cfg_) or from _/proc/cmdline_. - * A copy of your disk partition information from _/etc/fstab_, which might be - obtained booting an old working initramfs or a rescue medium. - * Turn on dracut debugging (see _the 'debugging dracut' section_), and attach -@@ -345,7 +341,7 @@ logging during the system boot. This section documents configuring a - serial console connection to record boot messages. - - . First, enable serial console output for both the kernel and the bootloader. --. Open the file _/etc/grub.conf_ for editing. Below the line ''timeout=5'', add -+. Open the file _/boot/grub2/grub.cfg_ for editing. Below the line ''timeout=5'', add - the following: - + - ---- -@@ -353,14 +349,14 @@ serial --unit=0 --speed=9600 - terminal --timeout=5 serial console - ---- - + --. Also in _/etc/grub.conf_, add the following boot arguemnts to the ''kernel'' -+. Also in _/boot/grub2/grub.cfg_, add the following boot arguemnts to the ''kernel'' - line: - + - ---- - console=tty0 console=ttyS0,9600 - ---- - + --. When finished, the _/etc/grub.conf_ file should look similar to the example -+. When finished, the _/boot/grub2/grub.cfg_ file should look similar to the example - below. - + - ---- -@@ -395,10 +391,10 @@ dracut offers a shell for interactive debugging in the event dracut fails to - locate your root filesystem. To enable the shell: - - . Add the boot parameter ''rd.shell'' to your bootloader configuration file --(e.g. _/etc/grub.conf_) -+(e.g. _/boot/grub2/grub.cfg_) - . Remove the boot arguments ''rhgb'' and ''quiet'' - + --A sample _/etc/grub.conf_ bootloader configuration file is listed below. -+A sample _/boot/grub2/grub.cfg_ bootloader configuration file is listed below. - + - ---- - default=0 diff --git a/0111-crypt-install-drbg-unconditionally-in-hostonly-mode.patch b/0111-crypt-install-drbg-unconditionally-in-hostonly-mode.patch deleted file mode 100644 index 8b704e3..0000000 --- a/0111-crypt-install-drbg-unconditionally-in-hostonly-mode.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 9af753c46896cfcb5480bbb1dd896e042043349c Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 9 Jul 2015 16:14:50 +0200 -Subject: [PATCH] crypt: install drbg unconditionally in hostonly mode - -older kernels had the drbg kernel module and didn't need it - -(cherry picked from commit 89948e58fd0f80def0912c18c503912873aa9c48) ---- - modules.d/90crypt/module-setup.sh | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/modules.d/90crypt/module-setup.sh b/modules.d/90crypt/module-setup.sh -index e8c690e..4df520c 100755 ---- a/modules.d/90crypt/module-setup.sh -+++ b/modules.d/90crypt/module-setup.sh -@@ -25,6 +25,7 @@ depends() { - # called by dracut - installkernel() { - instmods dm_crypt =crypto -+ hostonly="" instmods drbg - } - - # called by dracut diff --git a/0112-iscsi-module-setup.sh-iscsid-need-var-lib-iscsi.patch b/0112-iscsi-module-setup.sh-iscsid-need-var-lib-iscsi.patch deleted file mode 100644 index 9ab5ed7..0000000 --- a/0112-iscsi-module-setup.sh-iscsid-need-var-lib-iscsi.patch +++ /dev/null @@ -1,22 +0,0 @@ -From f5753e1861c5eaf688d552ca50a6dd0f8e1d0f85 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Sat, 15 Aug 2015 13:22:07 +0200 -Subject: [PATCH] iscsi/module-setup.sh: iscsid need /var/lib/iscsi - -(cherry picked from commit f74b0a9f38838dddcf6f56daa9f20fc3e86087ca) ---- - modules.d/95iscsi/module-setup.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh -index 3002591..beb80e3 100755 ---- a/modules.d/95iscsi/module-setup.sh -+++ b/modules.d/95iscsi/module-setup.sh -@@ -257,6 +257,6 @@ install() { - echo "Before=dracut-initqueue.service" - ) > "${initdir}/$systemdsystemunitdir/iscsid.service.d/dracut.conf" - fi -- -+ inst_dir /var/lib/iscsi - dracut_need_initqueue - } diff --git a/0113-TEST-30-ISCSI-fix-test-to-run-with-new-iscsi.patch b/0113-TEST-30-ISCSI-fix-test-to-run-with-new-iscsi.patch deleted file mode 100644 index a79dc8e..0000000 --- a/0113-TEST-30-ISCSI-fix-test-to-run-with-new-iscsi.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 0a10d7fc51e181f6e9c4715f563be3861c054a56 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Sat, 15 Aug 2015 13:22:44 +0200 -Subject: [PATCH] TEST-30-ISCSI: fix test to run with new iscsi - -(cherry picked from commit 836ca3f47eb0b0a4c97ae704b0b9619a00dbfa87) ---- - test/TEST-30-ISCSI/test.sh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/test/TEST-30-ISCSI/test.sh b/test/TEST-30-ISCSI/test.sh -index ffdb77f..fc4bdce 100755 ---- a/test/TEST-30-ISCSI/test.sh -+++ b/test/TEST-30-ISCSI/test.sh -@@ -49,7 +49,7 @@ run_client() { - -net nic,macaddr=52:54:00:12:34:00,model=e1000 \ - -net nic,macaddr=52:54:00:12:34:01,model=e1000 \ - -net socket,connect=127.0.0.1:12330 \ -- -append "rw rd.auto rd.retry=20 console=ttyS0,115200n81 selinux=0 rd.debug=0 $DEBUGFAIL $*" \ -+ -append "rw rd.auto rd.retry=50 console=ttyS0,115200n81 selinux=0 rd.debug=0 $DEBUGFAIL $*" \ - -initrd $TESTDIR/initramfs.testing - if ! grep -F -m 1 -q iscsi-OK $TESTDIR/client.img; then - echo "CLIENT TEST END: $test_name [FAILED - BAD EXIT]" -@@ -93,7 +93,7 @@ do_test_run() { - "netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \ - "rd.iscsi.firmware" \ - "rd.iscsi.initiator=$initiator" \ -- "rd.waitnet=0 rd.retry=30" \ -+ "rd.iscsi.waitnet=0" \ - || return 1 - - run_client "netroot=iscsi target1 target2 rd.iscsi.waitnet=0 rd.iscsi.testroute=0" \ -@@ -104,7 +104,7 @@ do_test_run() { - "netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \ - "rd.iscsi.firmware" \ - "rd.iscsi.initiator=$initiator" \ -- "rd.waitnet=0 rd.iscsi.testroute=0 rd.retry=30" \ -+ "rd.iscsi.waitnet=0 rd.iscsi.testroute=0" \ - || return 1 - - run_client "netroot=iscsi target1 target2 rd.iscsi.waitnet=0 rd.iscsi.testroute=0 default GW" \ -@@ -115,7 +115,7 @@ do_test_run() { - "netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \ - "rd.iscsi.firmware" \ - "rd.iscsi.initiator=$initiator" \ -- "rd.waitnet=0 rd.iscsi.testroute=0 rd.retry=30" \ -+ "rd.iscsi.waitnet=0 rd.iscsi.testroute=0" \ - || return 1 - - return 0 diff --git a/0114-iscsi-handle-timeout-case-better.patch b/0114-iscsi-handle-timeout-case-better.patch deleted file mode 100644 index 33fc0b5..0000000 --- a/0114-iscsi-handle-timeout-case-better.patch +++ /dev/null @@ -1,120 +0,0 @@ -From bcbcacb5d66276157274c1e35d1fea2f937c4677 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 18 Aug 2015 11:50:15 +0200 -Subject: [PATCH] iscsi: handle timeout case better - -(cherry picked from commit bfe65f913a4bc6bc5fdb7aa75234c229a2ceef8f) ---- - modules.d/95iscsi/iscsiroot.sh | 6 +++--- - modules.d/95iscsi/parse-iscsiroot.sh | 41 +++++++++++++++++++++--------------- - 2 files changed, 27 insertions(+), 20 deletions(-) - -diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh -index 893f279..e730cb0 100755 ---- a/modules.d/95iscsi/iscsiroot.sh -+++ b/modules.d/95iscsi/iscsiroot.sh -@@ -106,7 +106,7 @@ handle_netroot() - parse_iscsi_root "$1" || return 1 - - # Bail out early, if there is no route to the destination -- if is_ip "$iscsi_target_ip" && [ "$netif" != "dummy" ] && ! all_ifaces_up && getargbool 1 rd.iscsi.testroute; then -+ if is_ip "$iscsi_target_ip" && [ "$netif" != "timeout" ] && ! all_ifaces_up && getargbool 1 rd.iscsi.testroute; then - ip route get "$iscsi_target_ip" >/dev/null 2>&1 || return 0 - fi - -@@ -224,11 +224,11 @@ handle_netroot() - - ret=0 - --if [ "$netif" != "dummy" ] && getargbool 1 rd.iscsi.waitnet; then -+if [ "$netif" != "timeout" ] && getargbool 1 rd.iscsi.waitnet; then - all_ifaces_up || exit 0 - fi - --if [ "$netif" = "dummy" ] && all_ifaces_up; then -+if [ "$netif" = "timeout" ] && all_ifaces_up; then - # s.th. went wrong and the timeout script hits - # restart - systemctl restart iscsid -diff --git a/modules.d/95iscsi/parse-iscsiroot.sh b/modules.d/95iscsi/parse-iscsiroot.sh -index c167dad..35628cc 100755 ---- a/modules.d/95iscsi/parse-iscsiroot.sh -+++ b/modules.d/95iscsi/parse-iscsiroot.sh -@@ -47,7 +47,11 @@ if [ "${root%%:*}" = "iscsi" ] ; then - fi - - # If it's not empty or iscsi we don't continue --[ -z "$netroot" ] || [ "${netroot%%:*}" = "iscsi" ] || return -+for nroot in $(getargs netroot); do -+ [ "${nroot%%:*}" = "iscsi" ] || continue -+ netroot="$nroot" -+ break -+done - - if [ -n "$iscsiroot" ] ; then - [ -z "$netroot" ] && netroot=$root -@@ -71,19 +75,18 @@ if [ -n "$iscsi_firmware" ] || getargbool 0 rd.iscsi.ibft -d "ip=ibft"; then - fi - modprobe -b -q iscsi_boot_sysfs 2>/dev/null - modprobe -b -q iscsi_ibft -+ # if no ip= is given, but firmware -+ echo "[ -f '/tmp/iscsistarted-firmware' ]" > $hookdir/initqueue/finished/iscsi_started.sh -+ initqueue --unique --onetime --timeout /sbin/iscsiroot timeout "$netroot" "$NEWROOT" -+ initqueue --unique --onetime --settled /sbin/iscsiroot dummy "'$netroot'" "'$NEWROOT'" - fi - --initqueue --onetime --timeout /sbin/iscsiroot dummy "$netroot" "$NEWROOT" - --# If it's not iscsi we don't continue --[ "${netroot%%:*}" = "iscsi" ] || return -+[ -z "$netroot" ] || [ "${netroot%%:*}" = "iscsi" ] || return 1 - --initqueue --onetime modprobe --all -b -q qla4xxx cxgb3i cxgb4i bnx2i be2iscsi -+initqueue --unique --onetime --timeout /sbin/iscsiroot timeout "$netroot" "$NEWROOT" - --if [ -z "$iscsi_firmware" ] ; then -- type parse_iscsi_root >/dev/null 2>&1 || . /lib/net-lib.sh -- parse_iscsi_root "$netroot" || return --fi -+initqueue --onetime modprobe --all -b -q qla4xxx cxgb3i cxgb4i bnx2i be2iscsi - - # ISCSI actually supported? - if ! [ -e /sys/module/iscsi_tcp ]; then -@@ -92,7 +95,7 @@ fi - - if [ -n "$netroot" ] && [ "$root" != "/dev/root" ] && [ "$root" != "dhcp" ]; then - if ! getargbool 1 rd.neednet >/dev/null || ! getarg "ip="; then -- initqueue --onetime --settled /sbin/iscsiroot dummy "$netroot" "$NEWROOT" -+ initqueue --unique --onetime --settled /sbin/iscsiroot dummy "'$netroot'" "'$NEWROOT'" - fi - fi - -@@ -113,17 +116,21 @@ if [ -z $iscsi_initiator ] && [ -f /sys/firmware/ibft/initiator/initiator-name ] - rm -f /etc/iscsi/initiatorname.iscsi - mkdir -p /etc/iscsi - ln -fs /run/initiatorname.iscsi /etc/iscsi/initiatorname.iscsi -- systemctl restart iscsid -- sleep 1 - > /tmp/iscsi_set_initiator -+ if systemctl --quiet is-active iscsid.service; then -+ systemctl restart iscsid -+ sleep 1 -+ fi - fi - --if [ -n "$iscsi_firmware" ] ; then -- echo "[ -f '/tmp/iscsistarted-firmware' ]" > $hookdir/initqueue/finished/iscsi_started.sh --else -- netroot_enc=$(str_replace "$netroot" '/' '\2f') -+ -+for nroot in $(getargs netroot); do -+ [ "${nroot%%:*}" = "iscsi" ] || continue -+ type parse_iscsi_root >/dev/null 2>&1 || . /lib/net-lib.sh -+ parse_iscsi_root "$nroot" || return 1 -+ netroot_enc=$(str_replace "$nroot" '/' '\2f') - echo "[ -f '/tmp/iscsistarted-$netroot_enc' ]" > $hookdir/initqueue/finished/iscsi_started.sh --fi -+done - - # Done, all good! - rootok=1 diff --git a/0115-systemd-dracut-cmdline.sh-print-out-cmdline-in-one-l.patch b/0115-systemd-dracut-cmdline.sh-print-out-cmdline-in-one-l.patch deleted file mode 100644 index 6f468c3..0000000 --- a/0115-systemd-dracut-cmdline.sh-print-out-cmdline-in-one-l.patch +++ /dev/null @@ -1,24 +0,0 @@ -From db7d7398186f025adb746fd9f70fb36249ba6f86 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 18 Aug 2015 11:52:56 +0200 -Subject: [PATCH] systemd/dracut-cmdline.sh: print out cmdline in one line - -(cherry picked from commit 93a5a3d3ca6738e3f0282c4d3fc8be3f38f150d3) ---- - modules.d/98dracut-systemd/dracut-cmdline.sh | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/modules.d/98dracut-systemd/dracut-cmdline.sh b/modules.d/98dracut-systemd/dracut-cmdline.sh -index 871f81b..a1dcf84 100755 ---- a/modules.d/98dracut-systemd/dracut-cmdline.sh -+++ b/modules.d/98dracut-systemd/dracut-cmdline.sh -@@ -14,8 +14,7 @@ if ! getargbool 1 'rd.hostonly'; then - [ -f /tmp/99-cmdline-ask.conf ] && mv /tmp/99-cmdline-ask.conf /etc/cmdline.d/99-cmdline-ask.conf - fi - --info "Using kernel command line parameters:" --getcmdline | vinfo -+info "Using kernel command line parameters:" $(getcmdline) - - getargbool 0 rd.udev.log-priority=info -d rd.udev.info -d -n -y rdudevinfo && echo 'udev_log="info"' >> /etc/udev/udev.conf - getargbool 0 rd.udev.log-priority=debug -d rd.udev.debug -d -n -y rdudevdebug && echo 'udev_log="debug"' >> /etc/udev/udev.conf diff --git a/0116-network-ifup.sh-let-dhcp-client-run-in-the-backgroun.patch b/0116-network-ifup.sh-let-dhcp-client-run-in-the-backgroun.patch deleted file mode 100644 index 902394c..0000000 --- a/0116-network-ifup.sh-let-dhcp-client-run-in-the-backgroun.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 93b9885a65e693d264e9199b42cf9a08b167b332 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 18 Aug 2015 11:53:31 +0200 -Subject: [PATCH] network/ifup.sh: let dhcp client run in the background - -we need to renew the lease - -(cherry picked from commit fb2d643a385f1b02fbac6c2782b0026029c6bde7) ---- - modules.d/40network/ifup.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh -index bb20afe..ceb5f5c 100755 ---- a/modules.d/40network/ifup.sh -+++ b/modules.d/40network/ifup.sh -@@ -109,7 +109,7 @@ do_dhcp() { - info "Starting dhcp for interface $netif" - dhclient "$@" \ - ${_timeout:+-timeout $_timeout} \ -- -1 -q \ -+ -q \ - -cf /etc/dhclient.conf \ - -pf /tmp/dhclient.$netif.pid \ - -lf /tmp/dhclient.$netif.lease \ diff --git a/0117-network-ifup.sh-arping-for-static-IPv4-addresses.patch b/0117-network-ifup.sh-arping-for-static-IPv4-addresses.patch deleted file mode 100644 index 0f32b6b..0000000 --- a/0117-network-ifup.sh-arping-for-static-IPv4-addresses.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 9ab5ddf16ab973ae63af8cad33b58e31b53ce170 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 18 Aug 2015 12:07:41 +0200 -Subject: [PATCH] network/ifup.sh: arping for static IPv4 addresses - -(cherry picked from commit 38180271c587f3053710bf38a6cda829d3a7c00f) ---- - modules.d/40network/ifup.sh | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh -index ceb5f5c..7da9171 100755 ---- a/modules.d/40network/ifup.sh -+++ b/modules.d/40network/ifup.sh -@@ -158,6 +158,10 @@ do_static() { - ip addr add $ip/$mask ${srv:+peer $srv} dev $netif - wait_for_ipv6_dad $netif - else -+ if ! arping -f -q -D -c 2 -I $netif $ip; then -+ warn "Duplicate address detected for $ip for interface $netif." -+ return 1 -+ fi - ip addr flush dev $netif - ip addr add $ip/$mask ${srv:+peer $srv} brd + dev $netif - fi diff --git a/0118-network-parse-ip-opts.sh-bind-enx-interface-to-the-M.patch b/0118-network-parse-ip-opts.sh-bind-enx-interface-to-the-M.patch deleted file mode 100644 index f134ce1..0000000 --- a/0118-network-parse-ip-opts.sh-bind-enx-interface-to-the-M.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 0c004c8e646a2d93d722e65203cc33239b6757be Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 18 Aug 2015 12:13:55 +0200 -Subject: [PATCH] network/parse-ip-opts.sh: bind enx* interface to the MAC - -do it automatically for the persistent naming scheme - -(cherry picked from commit 2eb3b00133d572183ca022b626d200549ce4ffa8) ---- - modules.d/40network/parse-ip-opts.sh | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/modules.d/40network/parse-ip-opts.sh b/modules.d/40network/parse-ip-opts.sh -index 33bb068..12f4765 100755 ---- a/modules.d/40network/parse-ip-opts.sh -+++ b/modules.d/40network/parse-ip-opts.sh -@@ -111,6 +111,16 @@ for p in $(getargs ip=); do - die "Server-ip or dhcp for netboot needed, but current arguments say otherwise" - fi - -+ if str_starts "$dev" "enx" && [ ${#dev} -eq 15 ]; then -+ printf -- "ifname=%s:%s:%s:%s:%s:%s:%s\n" \ -+ "$dev" \ -+ "${dev:3:2}" \ -+ "${dev:5:2}" \ -+ "${dev:7:2}" \ -+ "${dev:9:2}" \ -+ "${dev:11:2}" \ -+ "${dev:13:2}" >> /etc/cmdline.d/80-enx.conf -+ fi - done - - # put BOOTIF in IFACES to make sure it comes up diff --git a/0119-udev-rules-install-40-redhat.rules.patch b/0119-udev-rules-install-40-redhat.rules.patch deleted file mode 100644 index 263cc12..0000000 --- a/0119-udev-rules-install-40-redhat.rules.patch +++ /dev/null @@ -1,32 +0,0 @@ -From dd8d161afe4a22455dd0139055215ca78fa9220d Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 18 Aug 2015 12:25:53 +0200 -Subject: [PATCH] udev-rules: install 40-redhat.rules - -(cherry picked from commit 0c0abf97ccc2306a7089d53a0a1f92e80b2e733c) ---- - modules.d/95udev-rules/module-setup.sh | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh -index 141d29d..f4f9cf8 100755 ---- a/modules.d/95udev-rules/module-setup.sh -+++ b/modules.d/95udev-rules/module-setup.sh -@@ -27,6 +27,7 @@ install() { - fi - - inst_rules \ -+ 40-redhat.rules \ - 50-firmware.rules \ - 50-udev.rules \ - 50-udev-default.rules \ -@@ -46,7 +47,8 @@ install() { - 80-net-setup-link.rules \ - 95-late.rules \ - "$moddir/59-persistent-storage.rules" \ -- "$moddir/61-persistent-storage.rules" -+ "$moddir/61-persistent-storage.rules" \ -+ ${NULL} - - prepare_udev_rules 59-persistent-storage.rules 61-persistent-storage.rules - # debian udev rules diff --git a/0120-fcoe-cleanup-lldpad.patch b/0120-fcoe-cleanup-lldpad.patch deleted file mode 100644 index 9bc2d4b..0000000 --- a/0120-fcoe-cleanup-lldpad.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 4a88aaff1006b9c9126ecfe26e0a0eb286eea211 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 18 Aug 2015 12:27:32 +0200 -Subject: [PATCH] fcoe: cleanup lldpad - -Resolves: rhbz#1246217 -(cherry picked from commit 69c437dd1c3b877f60ced307068e01619124fef4) ---- - modules.d/95fcoe/cleanup-fcoe.sh | 10 ++++++++++ - modules.d/95fcoe/module-setup.sh | 1 + - 2 files changed, 11 insertions(+) - create mode 100644 modules.d/95fcoe/cleanup-fcoe.sh - -diff --git a/modules.d/95fcoe/cleanup-fcoe.sh b/modules.d/95fcoe/cleanup-fcoe.sh -new file mode 100644 -index 0000000..5ff4d05 ---- /dev/null -+++ b/modules.d/95fcoe/cleanup-fcoe.sh -@@ -0,0 +1,10 @@ -+#!/bin/sh -+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- -+# ex: ts=8 sw=4 sts=4 et filetype=sh -+ -+if [ -e /var/run/lldpad.pid ]; then -+ lldpad -k -+ mkdir -m 0755 -p /run/initramfs/state/dev/shm -+ cp /dev/shm/lldpad.state /run/initramfs/state/dev/shm/ > /dev/null 2>&1 -+ echo "files /dev/shm/lldpad.state" >> /run/initramfs/rwtab -+fi -diff --git a/modules.d/95fcoe/module-setup.sh b/modules.d/95fcoe/module-setup.sh -index ae606aa..059bfde 100755 ---- a/modules.d/95fcoe/module-setup.sh -+++ b/modules.d/95fcoe/module-setup.sh -@@ -82,6 +82,7 @@ install() { - inst "$moddir/fcoe-genrules.sh" "/sbin/fcoe-genrules.sh" - inst_hook pre-trigger 03 "$moddir/lldpad.sh" - inst_hook cmdline 99 "$moddir/parse-fcoe.sh" -+ inst_hook cleanup 90 "$moddir/cleanup-fcoe.sh" - dracut_need_initqueue - } - diff --git a/0121-network-net-lib.sh-ibft-unset-gateway-or-dns-if-set-.patch b/0121-network-net-lib.sh-ibft-unset-gateway-or-dns-if-set-.patch deleted file mode 100644 index 817277e..0000000 --- a/0121-network-net-lib.sh-ibft-unset-gateway-or-dns-if-set-.patch +++ /dev/null @@ -1,28 +0,0 @@ -From c04a321b92ba9c7a5e63fc07e58607025c588bed Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 18 Aug 2015 12:40:01 +0200 -Subject: [PATCH] network/net-lib.sh:ibft unset gateway or dns, if set to - 0.0.0.0 - -(cherry picked from commit 942d60d8afad4eb8b131a33fe9618e3e8392d33f) ---- - modules.d/40network/net-lib.sh | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh -index 2f25de7..b61a1e8 100755 ---- a/modules.d/40network/net-lib.sh -+++ b/modules.d/40network/net-lib.sh -@@ -242,9 +242,12 @@ ibft_to_cmdline() { - # skip not assigned ip adresses - [ "$ip" = "0.0.0.0" ] && continue - [ -e ${iface}/gateway ] && gw=$(read a < ${iface}/gateway; echo $a) -+ [ "$gateway" = "0.0.0.0" ] && unset $gateway - [ -e ${iface}/subnet-mask ] && mask=$(read a < ${iface}/subnet-mask; echo $a) - [ -e ${iface}/primary-dns ] && dns1=$(read a < ${iface}/primary-dns; echo $a) -+ [ "$dns1" = "0.0.0.0" ] && unset $dns1 - [ -e ${iface}/secondary-dns ] && dns2=$(read a < ${iface}/secondary-dns; echo $a) -+ [ "$dns2" = "0.0.0.0" ] && unset $dns2 - [ -e ${iface}/hostname ] && hostname=$(read a < ${iface}/hostname; echo $a) - if [ -n "$ip" ] && [ -n "$mask" ]; then - echo "ip=$ip::$gw:$mask:$hostname:$dev:none${dns1:+:$dns1}${dns2:+:$dns2}" diff --git a/0122-network-dhclient-exit-arping-immediatly-if-we-get-an.patch b/0122-network-dhclient-exit-arping-immediatly-if-we-get-an.patch deleted file mode 100644 index 6bfd12b..0000000 --- a/0122-network-dhclient-exit-arping-immediatly-if-we-get-an.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 4483fff87c0a5074f3498bfd59387179c20c7ea3 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 18 Aug 2015 12:41:12 +0200 -Subject: [PATCH] network/dhclient: exit arping immediatly, if we get an answer - -(cherry picked from commit d6bfa7052a620ebdd37f78655462120871c49ebd) ---- - modules.d/40network/dhclient-script.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/40network/dhclient-script.sh b/modules.d/40network/dhclient-script.sh -index 1d891cd..4e2090d 100755 ---- a/modules.d/40network/dhclient-script.sh -+++ b/modules.d/40network/dhclient-script.sh -@@ -117,7 +117,7 @@ case $reason in - read layer2 < /sys/class/net/$netif/device/layer2 - fi - if [ "$layer2" != "0" ]; then -- if ! arping -q -D -c 2 -I $netif $new_ip_address ; then -+ if ! arping -f -q -D -c 2 -I $netif $new_ip_address ; then - warn "Duplicate address detected for $new_ip_address while doing dhcp. retrying" - exit 1 - fi diff --git a/0123-dmraid-only-scan-once-because-of-one-device.patch b/0123-dmraid-only-scan-once-because-of-one-device.patch deleted file mode 100644 index e8d3000..0000000 --- a/0123-dmraid-only-scan-once-because-of-one-device.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a283636b83da0ea967bb0281a8f730750f6a2702 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 18 Aug 2015 15:04:31 +0200 -Subject: [PATCH] dmraid: only scan once because of one device - -(cherry picked from commit 80153acc0f8bbb3829575201e2a0ba3da41268a8) ---- - modules.d/90dmraid/61-dmraid-imsm.rules | 2 +- - modules.d/90dmraid/dmraid.sh | 7 +++++++ - 2 files changed, 8 insertions(+), 1 deletion(-) - -diff --git a/modules.d/90dmraid/61-dmraid-imsm.rules b/modules.d/90dmraid/61-dmraid-imsm.rules -index 33e060b..de7e97e 100644 ---- a/modules.d/90dmraid/61-dmraid-imsm.rules -+++ b/modules.d/90dmraid/61-dmraid-imsm.rules -@@ -24,6 +24,6 @@ PROGRAM=="/bin/sh -c 'for i in $sys/$devpath/holders/dm-[0-9]*; do [ -e $$i ] && - ENV{DEVTYPE}!="partition", \ - RUN+="/sbin/partx -d --nr 1-1024 $env{DEVNAME}" - --RUN+="/sbin/initqueue --onetime --unique --settled /sbin/dmraid_scan" -+RUN+="/sbin/initqueue --onetime --unique --settled /sbin/dmraid_scan $env{DEVNAME}" - - LABEL="dm_end" -diff --git a/modules.d/90dmraid/dmraid.sh b/modules.d/90dmraid/dmraid.sh -index 3dcff38..e7a09b0 100755 ---- a/modules.d/90dmraid/dmraid.sh -+++ b/modules.d/90dmraid/dmraid.sh -@@ -2,6 +2,13 @@ - - type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh - -+dev="$1" -+devenc=$(str_replace "$1" '/' '\2f') -+ -+[ -e /tmp/dmraid.$devenc ] && exit 0 -+ -+>/tmp/dmraid.$devenc -+ - DM_RAIDS=$(getargs rd.dm.uuid -d rd_DM_UUID=) - - if [ -n "$DM_RAIDS" ] || getargbool 0 rd.auto; then diff --git a/0124-test-TEST-04-FULL-SYSTEMD-create-root.sh-modprobe-bt.patch b/0124-test-TEST-04-FULL-SYSTEMD-create-root.sh-modprobe-bt.patch deleted file mode 100644 index e373d40..0000000 --- a/0124-test-TEST-04-FULL-SYSTEMD-create-root.sh-modprobe-bt.patch +++ /dev/null @@ -1,24 +0,0 @@ -From f939cffdac08fb40eac0e633a8d58965b9ee275a Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 18 Aug 2015 15:05:11 +0200 -Subject: [PATCH] test/TEST-04-FULL-SYSTEMD/create-root.sh: modprobe btrfs - -why so ever... it used to load automatically - -(cherry picked from commit 65977ef1d107c8741d9f2633b8618aa3aee2a49d) ---- - test/TEST-04-FULL-SYSTEMD/create-root.sh | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/test/TEST-04-FULL-SYSTEMD/create-root.sh b/test/TEST-04-FULL-SYSTEMD/create-root.sh -index 5972bd3..0a66257 100755 ---- a/test/TEST-04-FULL-SYSTEMD/create-root.sh -+++ b/test/TEST-04-FULL-SYSTEMD/create-root.sh -@@ -4,6 +4,7 @@ for x in 64-lvm.rules 70-mdadm.rules 99-mount-rules; do - > "/etc/udev/rules.d/$x" - done - rm -f -- /etc/lvm/lvm.conf -+modprobe btrfs - udevadm control --reload - set -e - # save a partition at the beginning for future flagging purposes diff --git a/0125-TEST-15-BTRFS-load-btrfs-module.patch b/0125-TEST-15-BTRFS-load-btrfs-module.patch deleted file mode 100644 index d70f5fd..0000000 --- a/0125-TEST-15-BTRFS-load-btrfs-module.patch +++ /dev/null @@ -1,22 +0,0 @@ -From c606be49d7f78c688f3b4696bc2b05adaf408ec9 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 18 Aug 2015 15:26:23 +0200 -Subject: [PATCH] TEST-15-BTRFS: load btrfs module - -(cherry picked from commit d9b5a98532b6823adb35f7c68766f4df9db8a3c9) ---- - test/TEST-15-BTRFSRAID/create-root.sh | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/test/TEST-15-BTRFSRAID/create-root.sh b/test/TEST-15-BTRFSRAID/create-root.sh -index f4062f5..e95e57d 100755 ---- a/test/TEST-15-BTRFSRAID/create-root.sh -+++ b/test/TEST-15-BTRFSRAID/create-root.sh -@@ -3,6 +3,7 @@ - for x in 64-lvm.rules 70-mdadm.rules 99-mount-rules; do - > "/etc/udev/rules.d/$x" - done -+modprobe btrfs - udevadm control --reload - # save a partition at the beginning for future flagging purposes - sfdisk -X gpt /dev/sda < -Date: Wed, 19 Aug 2015 13:59:40 +0200 -Subject: [PATCH] network/ifup.sh:do_static(): error out, if interface could - not be brought up - -(cherry picked from commit 77f46adf5e5ab1f6da2e459bb55435d4b70842c5) ---- - modules.d/40network/ifup.sh | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh -index 7da9171..69a4567 100755 ---- a/modules.d/40network/ifup.sh -+++ b/modules.d/40network/ifup.sh -@@ -150,7 +150,11 @@ do_ipv6auto() { - do_static() { - strglobin $ip '*:*:*' && load_ipv6 - -- linkup $netif -+ if ! linkup $netif; then -+ warn "Could bring interface $netif up!" -+ return 1 -+ fi -+ - [ -n "$macaddr" ] && ip link set address $macaddr dev $netif - [ -n "$mtu" ] && ip link set mtu $mtu dev $netif - if strglobin $ip '*:*:*'; then diff --git a/0127-network-ifup.sh-do_static-error-out-if-IP-is-already.patch b/0127-network-ifup.sh-do_static-error-out-if-IP-is-already.patch deleted file mode 100644 index 1eae822..0000000 --- a/0127-network-ifup.sh-do_static-error-out-if-IP-is-already.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 27a5aecf56fbfa9a8d92d86d7e68c2781c0b4523 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Wed, 19 Aug 2015 14:00:28 +0200 -Subject: [PATCH] network/ifup.sh:do_static(): error out, if IP is already - assigned - -(cherry picked from commit 32770ca79a1f6828ca9fdf4b6841e6a6d4e4754a) ---- - modules.d/40network/ifup.sh | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh -index 69a4567..381ff43 100755 ---- a/modules.d/40network/ifup.sh -+++ b/modules.d/40network/ifup.sh -@@ -155,6 +155,15 @@ do_static() { - return 1 - fi - -+ ip route get "$ip" | { -+ read a rest -+ if [ "$a" = "local" ]; then -+ warn "Not assigning $ip to interface $netif, cause it is already assigned!" -+ return 1 -+ fi -+ return 0 -+ } || return 1 -+ - [ -n "$macaddr" ] && ip link set address $macaddr dev $netif - [ -n "$mtu" ] && ip link set mtu $mtu dev $netif - if strglobin $ip '*:*:*'; then diff --git a/0128-iscsi-parse-iscsiroot.sh-handle-firmware-in-online-q.patch b/0128-iscsi-parse-iscsiroot.sh-handle-firmware-in-online-q.patch deleted file mode 100644 index 1ec2070..0000000 --- a/0128-iscsi-parse-iscsiroot.sh-handle-firmware-in-online-q.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 782e909eef9c6e2ec5ebc8c2b0bb54761a0d92ad Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 25 Aug 2015 11:16:29 +0200 -Subject: [PATCH] iscsi/parse-iscsiroot.sh: handle firmware in online queue - -(cherry picked from commit 7f59cbd31817c81fa5aec9f86c33dfe1ce23ec6a) ---- - modules.d/95iscsi/parse-iscsiroot.sh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/modules.d/95iscsi/parse-iscsiroot.sh b/modules.d/95iscsi/parse-iscsiroot.sh -index 35628cc..aa17f8e 100755 ---- a/modules.d/95iscsi/parse-iscsiroot.sh -+++ b/modules.d/95iscsi/parse-iscsiroot.sh -@@ -77,11 +77,11 @@ if [ -n "$iscsi_firmware" ] || getargbool 0 rd.iscsi.ibft -d "ip=ibft"; then - modprobe -b -q iscsi_ibft - # if no ip= is given, but firmware - echo "[ -f '/tmp/iscsistarted-firmware' ]" > $hookdir/initqueue/finished/iscsi_started.sh -- initqueue --unique --onetime --timeout /sbin/iscsiroot timeout "$netroot" "$NEWROOT" -- initqueue --unique --onetime --settled /sbin/iscsiroot dummy "'$netroot'" "'$NEWROOT'" -+ initqueue --unique --online /sbin/iscsiroot online "iscsi:" "$NEWROOT" -+ initqueue --unique --onetime --timeout /sbin/iscsiroot timeout "iscsi:" "$NEWROOT" -+ initqueue --unique --onetime --settled /sbin/iscsiroot online "iscsi:" "'$NEWROOT'" - fi - -- - [ -z "$netroot" ] || [ "${netroot%%:*}" = "iscsi" ] || return 1 - - initqueue --unique --onetime --timeout /sbin/iscsiroot timeout "$netroot" "$NEWROOT" diff --git a/0129-iscsi-parse-iscsiroot.sh-restart-iscsid-with-try-res.patch b/0129-iscsi-parse-iscsiroot.sh-restart-iscsid-with-try-res.patch deleted file mode 100644 index cde4d7f..0000000 --- a/0129-iscsi-parse-iscsiroot.sh-restart-iscsid-with-try-res.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 3632be079bd7aa1cd456dc8aff2cc42d6a449a67 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 25 Aug 2015 11:16:46 +0200 -Subject: [PATCH] iscsi/parse-iscsiroot.sh: restart iscsid with try-restart - -(cherry picked from commit a6befb52eb5eeb87c0c41303fe08e50bd2fde0d3) ---- - modules.d/95iscsi/parse-iscsiroot.sh | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) - -diff --git a/modules.d/95iscsi/parse-iscsiroot.sh b/modules.d/95iscsi/parse-iscsiroot.sh -index aa17f8e..dab58db 100755 ---- a/modules.d/95iscsi/parse-iscsiroot.sh -+++ b/modules.d/95iscsi/parse-iscsiroot.sh -@@ -99,7 +99,7 @@ if [ -n "$netroot" ] && [ "$root" != "/dev/root" ] && [ "$root" != "dhcp" ]; the - fi - fi - --if arg=$(getarg rd.iscsi.initiator -d iscsi_initiator=) && [ -n "$arg" ]; then -+if arg=$(getarg rd.iscsi.initiator -d iscsi_initiator=) && [ -n "$arg" ] && ! [ -f /run/initiatorname.iscsi ] ; then - iscsi_initiator=$arg - echo "InitiatorName=$iscsi_initiator" > /run/initiatorname.iscsi - ln -fs /run/initiatorname.iscsi /dev/.initiatorname.iscsi -@@ -117,10 +117,7 @@ if [ -z $iscsi_initiator ] && [ -f /sys/firmware/ibft/initiator/initiator-name ] - mkdir -p /etc/iscsi - ln -fs /run/initiatorname.iscsi /etc/iscsi/initiatorname.iscsi - > /tmp/iscsi_set_initiator -- if systemctl --quiet is-active iscsid.service; then -- systemctl restart iscsid -- sleep 1 -- fi -+ systemctl try-restart iscsid && sleep 1 - fi - - diff --git a/0130-network-ifup.sh-save-return-value-of-ifup.patch b/0130-network-ifup.sh-save-return-value-of-ifup.patch deleted file mode 100644 index 495a4e7..0000000 --- a/0130-network-ifup.sh-save-return-value-of-ifup.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 744c65939be7aa791d5538c6733e05d390c8cd3a Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 25 Aug 2015 11:20:30 +0200 -Subject: [PATCH] network/ifup.sh: save return value of ifup - -(cherry picked from commit b4006781e8a59dc69a0dd3836fce137f08b23001) ---- - modules.d/40network/ifup.sh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh -index 381ff43..647c856 100755 ---- a/modules.d/40network/ifup.sh -+++ b/modules.d/40network/ifup.sh -@@ -373,6 +373,7 @@ for p in $(getargs ip=); do - do_static ;; - esac - done -+ ret=$? - - > /tmp/net.${netif}.up - -@@ -380,7 +381,7 @@ for p in $(getargs ip=); do - dhcp|on|any|dhcp6) - ;; - *) -- if [ $? -eq 0 ]; then -+ if [ $ret -eq 0 ]; then - setup_net $netif - source_hook initqueue/online $netif - if [ -z "$manualup" ]; then diff --git a/0131-network-also-mark-interfaces-up-with-their-MAC.patch b/0131-network-also-mark-interfaces-up-with-their-MAC.patch deleted file mode 100644 index 8639d1a..0000000 --- a/0131-network-also-mark-interfaces-up-with-their-MAC.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 26fbe97bbe3079d7dc63b19fb3a0728570da7628 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 25 Aug 2015 11:30:00 +0200 -Subject: [PATCH] network: also mark interfaces up with their MAC - -(cherry picked from commit 53537f4d23091457f644ab8b3edf09c2dca4351c) ---- - modules.d/40network/dhclient-script.sh | 7 +++++++ - modules.d/40network/ifup.sh | 4 ++++ - 2 files changed, 11 insertions(+) - -diff --git a/modules.d/40network/dhclient-script.sh b/modules.d/40network/dhclient-script.sh -index 4e2090d..f55611d 100755 ---- a/modules.d/40network/dhclient-script.sh -+++ b/modules.d/40network/dhclient-script.sh -@@ -139,6 +139,10 @@ case $reason in - - echo "[ -f /tmp/net.$netif.did-setup ]" > $hookdir/initqueue/finished/dhclient-$netif.sh - >/tmp/net.$netif.up -+ if [ -e /sys/class/net/${netif}/address ]; then -+ > /tmp/net.$(cat /sys/class/net/${netif}/address).up -+ fi -+ - ;; - - RENEW|REBIND) -@@ -171,6 +175,9 @@ case $reason in - - echo "[ -f /tmp/net.$netif.did-setup ]" > $hookdir/initqueue/finished/dhclient-$netif.sh - >/tmp/net.$netif.up -+ if [ -e /sys/class/net/${netif}/address ]; then -+ > /tmp/net.$(cat /sys/class/net/${netif}/address).up -+ fi - ;; - - RENEW6|REBIND6) -diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh -index 647c856..dd47e4b 100755 ---- a/modules.d/40network/ifup.sh -+++ b/modules.d/40network/ifup.sh -@@ -377,6 +377,10 @@ for p in $(getargs ip=); do - - > /tmp/net.${netif}.up - -+ if [ -e /sys/class/net/${netif}/address ]; then -+ > /tmp/net.$(cat /sys/class/net/${netif}/address).up -+ fi -+ - case $autoconf in - dhcp|on|any|dhcp6) - ;; diff --git a/0132-network-ifup.sh-only-use-dhcp-on-unknown-interfaces-.patch b/0132-network-ifup.sh-only-use-dhcp-on-unknown-interfaces-.patch deleted file mode 100644 index 98c2caa..0000000 --- a/0132-network-ifup.sh-only-use-dhcp-on-unknown-interfaces-.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 686f9675dfb30f492723b8629e05f284054f2acb Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 25 Aug 2015 11:37:16 +0200 -Subject: [PATCH] network/ifup.sh: only use dhcp on unknown interfaces for - ip=dhcp - -(cherry picked from commit 7c24815034241e490422691b5f18671c4b9812a9) ---- - modules.d/40network/ifup.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh -index dd47e4b..b83d7e7 100755 ---- a/modules.d/40network/ifup.sh -+++ b/modules.d/40network/ifup.sh -@@ -410,7 +410,7 @@ if [ ! -e /tmp/net.${netif}.up ]; then - if getargs 'ip=dhcp6'; then - load_ipv6 - do_dhcp -6 -- else -+ elif getargs 'ip=dhcp'; then - do_dhcp -4 - fi - fi diff --git a/0133-cms-cmsifup.sh-do-not-use-ifup-m.patch b/0133-cms-cmsifup.sh-do-not-use-ifup-m.patch deleted file mode 100644 index d990fb5..0000000 --- a/0133-cms-cmsifup.sh-do-not-use-ifup-m.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 195b5d0725b7caf016def2ecedb915c1422e043a Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 1 Sep 2015 17:21:53 +0200 -Subject: [PATCH] cms/cmsifup.sh: do not use ifup -m - -we don't want to bring the interface up several times - -(cherry picked from commit 0852c38b7a2b893e4f9e5894ba09eebc649f047f) ---- - modules.d/80cms/cmsifup.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/80cms/cmsifup.sh b/modules.d/80cms/cmsifup.sh -index b1b9616..902df8d 100755 ---- a/modules.d/80cms/cmsifup.sh -+++ b/modules.d/80cms/cmsifup.sh -@@ -35,4 +35,4 @@ fi - IFACES="$IFACES $DEVICE" - echo "$IFACES" >> /tmp/net.ifaces - --ifup $DEVICE -m -+exec ifup "$DEVICE" diff --git a/0134-network-ifup-fix-warning-about-not-bringing-interfac.patch b/0134-network-ifup-fix-warning-about-not-bringing-interfac.patch deleted file mode 100644 index dd34622..0000000 --- a/0134-network-ifup-fix-warning-about-not-bringing-interfac.patch +++ /dev/null @@ -1,23 +0,0 @@ -From b519ae7008aa20828b30f021b25c38cfd459f27c Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 1 Sep 2015 17:22:37 +0200 -Subject: [PATCH] network/ifup: fix warning about not bringing interface up - -(cherry picked from commit 70f3c07846e92d11484a1f7b5cb84aacc47489b4) ---- - modules.d/40network/ifup.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh -index b83d7e7..9246da7 100755 ---- a/modules.d/40network/ifup.sh -+++ b/modules.d/40network/ifup.sh -@@ -151,7 +151,7 @@ do_static() { - strglobin $ip '*:*:*' && load_ipv6 - - if ! linkup $netif; then -- warn "Could bring interface $netif up!" -+ warn "Could not bring interface $netif up!" - return 1 - fi - diff --git a/0135-network-net-lib.sh-fix-wait_for_if_up.patch b/0135-network-net-lib.sh-fix-wait_for_if_up.patch deleted file mode 100644 index a0c9002..0000000 --- a/0135-network-net-lib.sh-fix-wait_for_if_up.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 42b4fc90f2248444da3a769a3706503503df8e80 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 1 Sep 2015 17:22:56 +0200 -Subject: [PATCH] network/net-lib.sh: fix wait_for_if_up() - -wait for <*UP*> and not "state UP" - -state can be UNKNOWN - -(cherry picked from commit d8572e0bf4d49a8d2ec71726d0fd38d1c73ca3f7) ---- - modules.d/40network/net-lib.sh | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) - -diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh -index b61a1e8..43528e2 100755 ---- a/modules.d/40network/net-lib.sh -+++ b/modules.d/40network/net-lib.sh -@@ -529,7 +529,21 @@ wait_for_if_up() { - - while [ $cnt -lt $timeout ]; do - li=$(ip -o link show up dev $1) -- [ -n "$li" ] && [ -z "${li##*state UP*}" ] && return 0 -+ if [ -n "$li" ]; then -+ case "$li" in -+ *\*) -+ return 0;; -+ *\<*,UP,*\>*) -+ return 0;; -+ esac -+ fi -+ if strstr "$li" "LOWER_UP" \ -+ && strstr "$li" "state UNKNOWN" \ -+ && ! strstr "$li" "DORMANT"; then -+ return 0 -+ fi - sleep 0.1 - cnt=$(($cnt+1)) - done diff --git a/0136-network-net-lib.sh-fix-IPv6-route-parsing.patch b/0136-network-net-lib.sh-fix-IPv6-route-parsing.patch deleted file mode 100644 index e41c660..0000000 --- a/0136-network-net-lib.sh-fix-IPv6-route-parsing.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 29b885b46e5d2a368af70031e5d52ca21b9cdd31 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 1 Sep 2015 17:25:34 +0200 -Subject: [PATCH] network/net-lib.sh: fix IPv6 route parsing - -(cherry picked from commit a4c47ce0ddc7f7b46c2395709cf83f731f90685b) ---- - modules.d/40network/net-lib.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh -index 43528e2..8096481 100755 ---- a/modules.d/40network/net-lib.sh -+++ b/modules.d/40network/net-lib.sh -@@ -120,7 +120,7 @@ setup_net() { - route_to_var "$_p" || continue - [ -n "$route_dev" ] && [ "$route_dev" != "$netif" ] && continue - ip route add "$route_mask" ${route_gw:+via "$route_gw"} ${route_dev:+dev "$route_dev"} -- if strstr ":" "$route_mask"; then -+ if strstr "$route_mask" ":"; then - printf -- "%s\n" "$route_mask ${route_gw:+via $route_gw} ${route_dev:+dev $route_dev}" \ - > /tmp/net.route6."$netif" - else diff --git a/0137-network-ifup-do-DHCP-for-BOOTDEV.patch b/0137-network-ifup-do-DHCP-for-BOOTDEV.patch deleted file mode 100644 index 6511e3f..0000000 --- a/0137-network-ifup-do-DHCP-for-BOOTDEV.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 6cfdb5aa1f7aba5715f6d670e3b8b4c93d0d64a0 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 1 Sep 2015 19:05:37 +0200 -Subject: [PATCH] network/ifup: do DHCP for BOOTDEV - -(cherry picked from commit 7316d68353cfd6e08f007d10ea3e32fa4d083487) ---- - modules.d/40network/ifup.sh | 19 ++++++++++++++----- - 1 file changed, 14 insertions(+), 5 deletions(-) - -diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh -index 9246da7..366744f 100755 ---- a/modules.d/40network/ifup.sh -+++ b/modules.d/40network/ifup.sh -@@ -407,11 +407,20 @@ fi - - # no ip option directed at our interface? - if [ ! -e /tmp/net.${netif}.up ]; then -- if getargs 'ip=dhcp6'; then -- load_ipv6 -- do_dhcp -6 -- elif getargs 'ip=dhcp'; then -- do_dhcp -4 -+ if [ -e /tmp/net.bootdev ]; then -+ BOOTDEV=$(cat /tmp/net.bootdev) -+ if [ "$netif" = "$BOOTDEV" ] || [ "$BOOTDEV" = "$(cat /sys/class/net/${netif}/address)" ]; then -+ load_ipv6 -+ do_dhcp -+ fi -+ else -+ if getargs 'ip=dhcp6'; then -+ load_ipv6 -+ do_dhcp -6 -+ fi -+ if getargs 'ip=dhcp'; then -+ do_dhcp -4 -+ fi - fi - fi - diff --git a/0138-livenet-livenetroot.sh-fixed-error-condition.patch b/0138-livenet-livenetroot.sh-fixed-error-condition.patch deleted file mode 100644 index 52e5611..0000000 --- a/0138-livenet-livenetroot.sh-fixed-error-condition.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 7d47178e0ddccbecfbf144348da24c1a3be32da2 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Wed, 2 Sep 2015 09:47:35 +0200 -Subject: [PATCH] livenet/livenetroot.sh: fixed error condition - -copy&paste error - -(cherry picked from commit b813b1b3064d4951c5403bb0f96480de9a355d8e) ---- - modules.d/90livenet/livenetroot.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/90livenet/livenetroot.sh b/modules.d/90livenet/livenetroot.sh -index 2e36ee9..b7592bc 100755 ---- a/modules.d/90livenet/livenetroot.sh -+++ b/modules.d/90livenet/livenetroot.sh -@@ -15,7 +15,7 @@ liveurl="${netroot#livenet:}" - info "fetching $liveurl" - imgfile=$(fetch_url "$liveurl") - --if [ $? = 0 ]; then -+if [ $? != 0 ]; then - warn "failed to download live image: error $?" - exit 1 - fi diff --git a/0139-iscsi-parse-iscsiroot.sh-only-set-initiator-name-if-.patch b/0139-iscsi-parse-iscsiroot.sh-only-set-initiator-name-if-.patch deleted file mode 100644 index 1764646..0000000 --- a/0139-iscsi-parse-iscsiroot.sh-only-set-initiator-name-if-.patch +++ /dev/null @@ -1,36 +0,0 @@ -From e803d076f8689a92ae42de4f5675c51e8a9c492d Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 3 Sep 2015 12:41:06 +0200 -Subject: [PATCH] iscsi/parse-iscsiroot.sh: only set initiator-name, if not - empty - -(cherry picked from commit eb87dc91d078ee942ef9c8bbc8e82f4ee4ccf0c6) ---- - modules.d/95iscsi/parse-iscsiroot.sh | 14 ++++++++------ - 1 file changed, 8 insertions(+), 6 deletions(-) - -diff --git a/modules.d/95iscsi/parse-iscsiroot.sh b/modules.d/95iscsi/parse-iscsiroot.sh -index dab58db..81be6a9 100755 ---- a/modules.d/95iscsi/parse-iscsiroot.sh -+++ b/modules.d/95iscsi/parse-iscsiroot.sh -@@ -112,12 +112,14 @@ fi - # If not given on the cmdline and initiator-name available via iBFT - if [ -z $iscsi_initiator ] && [ -f /sys/firmware/ibft/initiator/initiator-name ] && ! [ -f /tmp/iscsi_set_initiator ]; then - iscsi_initiator=$(while read line || [ -n "$line" ]; do echo $line;done < /sys/firmware/ibft/initiator/initiator-name) -- echo "InitiatorName=$iscsi_initiator" > /run/initiatorname.iscsi -- rm -f /etc/iscsi/initiatorname.iscsi -- mkdir -p /etc/iscsi -- ln -fs /run/initiatorname.iscsi /etc/iscsi/initiatorname.iscsi -- > /tmp/iscsi_set_initiator -- systemctl try-restart iscsid && sleep 1 -+ if [ -n "$iscsi_initiator" ]; then -+ echo "InitiatorName=$iscsi_initiator" > /run/initiatorname.iscsi -+ rm -f /etc/iscsi/initiatorname.iscsi -+ mkdir -p /etc/iscsi -+ ln -fs /run/initiatorname.iscsi /etc/iscsi/initiatorname.iscsi -+ > /tmp/iscsi_set_initiator -+ systemctl try-restart iscsid && sleep 1 -+ fi - fi - - diff --git a/0140-network-move-ip-ibft-handling-to-network-module.patch b/0140-network-move-ip-ibft-handling-to-network-module.patch deleted file mode 100644 index 4c751a1..0000000 --- a/0140-network-move-ip-ibft-handling-to-network-module.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 73833796b4592b06777fa1991163b74e9bb1e477 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 3 Sep 2015 12:41:44 +0200 -Subject: [PATCH] network: move "ip=ibft" handling to network module - -(cherry picked from commit b334c83e4abdc1dd87276fa7de4617cd349a5a4f) ---- - modules.d/40network/parse-ibft.sh | 2 ++ - modules.d/90kernel-network-modules/module-setup.sh | 1 + - modules.d/95iscsi/parse-iscsiroot.sh | 2 +- - 3 files changed, 4 insertions(+), 1 deletion(-) - -diff --git a/modules.d/40network/parse-ibft.sh b/modules.d/40network/parse-ibft.sh -index 144e205..8895b04 100755 ---- a/modules.d/40network/parse-ibft.sh -+++ b/modules.d/40network/parse-ibft.sh -@@ -4,5 +4,7 @@ command -v getarg >/dev/null || . /lib/dracut-lib.sh - command -v ibft_to_cmdline >/dev/null || . /lib/net-lib.sh - - if getargbool 0 rd.iscsi.ibft -d "ip=ibft"; then -+ modprobe -b -q iscsi_boot_sysfs 2>/dev/null -+ modprobe -b -q iscsi_ibft - ibft_to_cmdline - fi -diff --git a/modules.d/90kernel-network-modules/module-setup.sh b/modules.d/90kernel-network-modules/module-setup.sh -index b956ebe..18d7d96 100755 ---- a/modules.d/90kernel-network-modules/module-setup.sh -+++ b/modules.d/90kernel-network-modules/module-setup.sh -@@ -62,6 +62,7 @@ installkernel() { - =drivers/net/team \ - =drivers/net/ethernet \ - ecb arc4 bridge stp llc ipv6 bonding 8021q af_packet virtio_net -+ hostonly="" instmods iscsi_ibft crc32c iscsi_boot_sysfs - } - - # called by dracut -diff --git a/modules.d/95iscsi/parse-iscsiroot.sh b/modules.d/95iscsi/parse-iscsiroot.sh -index 81be6a9..63a822f 100755 ---- a/modules.d/95iscsi/parse-iscsiroot.sh -+++ b/modules.d/95iscsi/parse-iscsiroot.sh -@@ -69,7 +69,7 @@ if [ -n "$iscsiroot" ] ; then - fi - - # iscsi_firmware does not need argument checking --if [ -n "$iscsi_firmware" ] || getargbool 0 rd.iscsi.ibft -d "ip=ibft"; then -+if [ -n "$iscsi_firmware" ]; then - if [ "$root" != "dhcp" ] && [ "$netroot" != "dhcp" ]; then - [ -z "$netroot" ] && netroot=iscsi: - fi diff --git a/0141-network-dhclient-script.sh-fix-RENEW.patch b/0141-network-dhclient-script.sh-fix-RENEW.patch deleted file mode 100644 index dd1160f..0000000 --- a/0141-network-dhclient-script.sh-fix-RENEW.patch +++ /dev/null @@ -1,37 +0,0 @@ -From e847a78bb6fb65ca9ea7e7987f378639e6d395b8 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 8 Sep 2015 11:44:13 +0200 -Subject: [PATCH] network/dhclient-script.sh: fix RENEW - -Remove check, if interface is already up. It is for RENEW. - -new_prefix is apparently new_subnet_mask - -(cherry picked from commit 52845b168d0909d72b4c2f0b6511ed18877a31e8) ---- - modules.d/40network/dhclient-script.sh | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -diff --git a/modules.d/40network/dhclient-script.sh b/modules.d/40network/dhclient-script.sh -index f55611d..9aac2b1 100755 ---- a/modules.d/40network/dhclient-script.sh -+++ b/modules.d/40network/dhclient-script.sh -@@ -8,9 +8,6 @@ type ip_to_var >/dev/null 2>&1 || . /lib/net-lib.sh - # We already need a set netif here - netif=$interface - --# Huh? Interface configured? --[ -f "/tmp/net.$netif.up" ] && exit 0 -- - setup_interface() { - ip=$new_ip_address - mtu=$new_interface_mtu -@@ -151,7 +148,7 @@ case $reason in - [ -n "$new_max_life" ] && lease_time=$new_max_life - preferred_lft=$lease_time - [ -n "$new_preferred_life" ] && preferred_lft=$new_preferred_life -- ip -4 addr change ${new_ip_address}/${new_prefix} broadcast ${new_broadcast_address} dev ${interface} \ -+ ip -4 addr change ${new_ip_address}/${new_subnet_mask} broadcast ${new_broadcast_address} dev ${interface} \ - ${lease_time:+valid_lft $lease_time} ${preferred_lft:+preferred_lft ${preferred_lft}} \ - >/dev/null 2>&1 - ;; diff --git a/0142-network-add-all_ifaces_setup.patch b/0142-network-add-all_ifaces_setup.patch deleted file mode 100644 index aa22a85..0000000 --- a/0142-network-add-all_ifaces_setup.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 5d90ba4fca3b5e3ca544ff76e6e7286eef16c438 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 10 Sep 2015 13:20:18 +0200 -Subject: [PATCH] network: add all_ifaces_setup() - -all_ifaces_up() is true, if all interfaces are up. - -all_ifaces_setup() is true, if all interfaces are up and the gateways -and nameserver are setup. - -(cherry picked from commit 63e75dc4cdb14e392e38a8973126c9a29b266411) ---- - modules.d/40network/net-lib.sh | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh -index 8096481..706a9a5 100755 ---- a/modules.d/40network/net-lib.sh -+++ b/modules.d/40network/net-lib.sh -@@ -73,6 +73,14 @@ all_ifaces_up() { - done - } - -+all_ifaces_setup() { -+ local iface="" IFACES="" -+ [ -e "/tmp/net.ifaces" ] && read IFACES < /tmp/net.ifaces -+ for iface in $IFACES; do -+ [ -e /tmp/net.$iface.did-setup ] || return 1 -+ done -+} -+ - get_netroot_ip() { - local prefix="" server="" rest="" - splitsep "$1" ":" prefix server rest diff --git a/0143-iscsi-iscsiroot.sh-use-all_ifaces_setup.patch b/0143-iscsi-iscsiroot.sh-use-all_ifaces_setup.patch deleted file mode 100644 index b10b8cd..0000000 --- a/0143-iscsi-iscsiroot.sh-use-all_ifaces_setup.patch +++ /dev/null @@ -1,38 +0,0 @@ -From df087c45d820f22e9bf772fa0009d68e647c0af7 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 10 Sep 2015 13:21:53 +0200 -Subject: [PATCH] iscsi/iscsiroot.sh: use all_ifaces_setup() - -we want the route and gateway setup - -(cherry picked from commit 7cddfbbadbc40a4b6d331be25a3c38ad3a52239b) ---- - modules.d/95iscsi/iscsiroot.sh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh -index e730cb0..b14a71b 100755 ---- a/modules.d/95iscsi/iscsiroot.sh -+++ b/modules.d/95iscsi/iscsiroot.sh -@@ -106,7 +106,7 @@ handle_netroot() - parse_iscsi_root "$1" || return 1 - - # Bail out early, if there is no route to the destination -- if is_ip "$iscsi_target_ip" && [ "$netif" != "timeout" ] && ! all_ifaces_up && getargbool 1 rd.iscsi.testroute; then -+ if is_ip "$iscsi_target_ip" && [ "$netif" != "timeout" ] && ! all_ifaces_setup && getargbool 1 rd.iscsi.testroute; then - ip route get "$iscsi_target_ip" >/dev/null 2>&1 || return 0 - fi - -@@ -225,10 +225,10 @@ handle_netroot() - ret=0 - - if [ "$netif" != "timeout" ] && getargbool 1 rd.iscsi.waitnet; then -- all_ifaces_up || exit 0 -+ all_ifaces_setup || exit 0 - fi - --if [ "$netif" = "timeout" ] && all_ifaces_up; then -+if [ "$netif" = "timeout" ] && all_ifaces_setup; then - # s.th. went wrong and the timeout script hits - # restart - systemctl restart iscsid diff --git a/0144-network-netroot.sh-better-handling-of-netroot-and-dh.patch b/0144-network-netroot.sh-better-handling-of-netroot-and-dh.patch deleted file mode 100644 index dd9e9af..0000000 --- a/0144-network-netroot.sh-better-handling-of-netroot-and-dh.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 19b0065cac88259026d43e48454544f7628c2963 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 10 Sep 2015 13:23:32 +0200 -Subject: [PATCH] network/netroot.sh: better handling of $netroot and dhcp - -if $netroot is emtpy, get it from cmdline - -check cmdline directly for root=dhcp(6) and netroot=dhcp(6) - -(cherry picked from commit 17cee31b115a146bca5519b6ac4b422080d764c7) ---- - modules.d/40network/netroot.sh | 17 +++++++++++------ - 1 file changed, 11 insertions(+), 6 deletions(-) - -diff --git a/modules.d/40network/netroot.sh b/modules.d/40network/netroot.sh -index 0fccaf1..c80a59f 100755 ---- a/modules.d/40network/netroot.sh -+++ b/modules.d/40network/netroot.sh -@@ -12,6 +12,11 @@ command -v setup_net >/dev/null || . /lib/net-lib.sh - # no sense in doing something if no (net)root info is available - # or root is already there - [ -d $NEWROOT/proc ] && exit 0 -+ -+if [ -z "$netroot" ]; then -+ netroot=$(getarg netroot=) -+fi -+ - [ -z "$netroot" ] && exit 1 - - # Set or override primary interface -@@ -33,7 +38,7 @@ esac - # Figure out the handler for root=dhcp by recalling all netroot cmdline - # handlers when this is not called from manually network bringing up. - if [ -z "$2" ]; then -- if [ "$netroot" = "dhcp" ] || [ "$netroot" = "dhcp6" ] ; then -+ if getarg "root=dhcp" || getarg "netroot=dhcp" || getarg "root=dhcp6" || getarg "netroot=dhcp6"; then - # Load dhcp options - [ -e /tmp/dhclient.$netif.dhcpopts ] && . /tmp/dhclient.$netif.dhcpopts - -@@ -45,6 +50,8 @@ if [ -z "$2" ]; then - exit 1 - fi - -+ rm -f -- $hookdir/initqueue/finished/dhcp.sh -+ - # Set netroot to new_root_path, so cmdline parsers don't call - netroot=$new_root_path - -@@ -74,9 +81,7 @@ source_hook netroot $netif - - # Run the handler; don't store the root, it may change from device to device - # XXX other variables to export? --if $handler $netif $netroot $NEWROOT; then -- rm -f -- $hookdir/initqueue/finished/dhcp.sh -- # Network rootfs mount successful - save interface info for ifcfg etc. -- save_netinfo $netif --fi -+[ -n "$handler" ] && "$handler" "$netif" "$netroot" "$NEWROOT" -+save_netinfo $netif -+ - exit 0 diff --git a/0145-iscsi-iscsiroot.sh-handle-iscsi_firmware-in-online-a.patch b/0145-iscsi-iscsiroot.sh-handle-iscsi_firmware-in-online-a.patch deleted file mode 100644 index a80b998..0000000 --- a/0145-iscsi-iscsiroot.sh-handle-iscsi_firmware-in-online-a.patch +++ /dev/null @@ -1,83 +0,0 @@ -From b5363e834a5fe49d5651c12e70f664b96c841cae Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 10 Sep 2015 13:25:13 +0200 -Subject: [PATCH] iscsi/iscsiroot.sh: handle iscsi_firmware in online and - timeout queue - -The return code of iscsi_firmware is broken, so set the marker -unconditionally. - -(cherry picked from commit fd3eddf06990a617a2f90b0a699947ab3faf2cc2) ---- - modules.d/95iscsi/iscsiroot.sh | 43 +++++++++++++++++++----------------------- - 1 file changed, 19 insertions(+), 24 deletions(-) - -diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh -index b14a71b..5752cce 100755 ---- a/modules.d/95iscsi/iscsiroot.sh -+++ b/modules.d/95iscsi/iscsiroot.sh -@@ -43,29 +43,23 @@ fi - - handle_firmware() - { -- if ! [ -e /tmp/iscsistarted-firmware ]; then -- if ! iscsistart -f; then -- warn "iscistart: Could not get list of targets from firmware." -- return 1 -- fi -+ if ! iscsistart -f; then -+ warn "iscistart: Could not get list of targets from firmware." -+ return 1 -+ fi - -- for p in $(getargs rd.iscsi.param -d iscsi_param); do -- iscsi_param="$iscsi_param --param $p" -- done -+ for p in $(getargs rd.iscsi.param -d iscsi_param); do -+ iscsi_param="$iscsi_param --param $p" -+ done - -- if ! iscsistart -b $iscsi_param; then -- warn "'iscsistart -b $iscsi_param' failed" -- fi -+ if ! iscsistart -b $iscsi_param; then -+ warn "'iscsistart -b $iscsi_param' failed with return code $?" -+ fi - -- if [ -d /sys/class/iscsi_session ]; then -- echo 'started' > "/tmp/iscsistarted-iscsi:" -- echo 'started' > "/tmp/iscsistarted-firmware" -- else -- return 1 -- fi -+ echo 'started' > "/tmp/iscsistarted-iscsi:" -+ echo 'started' > "/tmp/iscsistarted-firmware" - -- need_shutdown -- fi -+ need_shutdown - return 0 - } - -@@ -236,15 +230,16 @@ if [ "$netif" = "timeout" ] && all_ifaces_setup; then - sleep 2 - fi - --if [ "$netif" = "online" ]; then -- if getargbool 0 rd.iscsi.firmware -d -y iscsi_firmware ; then -+if getargbool 0 rd.iscsi.firmware -d -y iscsi_firmware ; then -+ if [ "$netif" = "timeout" ] || [ "$netif" = "online" ]; then - handle_firmware - ret=$? - fi --else -+fi -+ -+if ! [ "$netif" = "online" ]; then - # loop over all netroot parameter -- nroot=$(getarg netroot) -- if [ $? -eq 0 ] && [ "$nroot" != "dhcp" ]; then -+ if nroot=$(getarg netroot) && [ "$nroot" != "dhcp" ]; then - for nroot in $(getargs netroot); do - [ "${nroot%%:*}" = "iscsi" ] || continue - nroot="${nroot##iscsi:}" diff --git a/0146-dracut.sh-add-command-line-option-for-install_i18_al.patch b/0146-dracut.sh-add-command-line-option-for-install_i18_al.patch deleted file mode 100644 index 56cc131..0000000 --- a/0146-dracut.sh-add-command-line-option-for-install_i18_al.patch +++ /dev/null @@ -1,45 +0,0 @@ -From b73e00aff7baf6b48e9b7af6ea1defee724b13a9 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 15 Sep 2015 16:04:09 +0200 -Subject: [PATCH] dracut.sh: add command line option for install_i18_all - ---no-hostonly-i18n -> install_i18n_all=yes ---hostonly-i18n -> install_i18n_all=no - -(cherry picked from commit 34b551a1c4d4513189807ee2a639c9214d887ddb) ---- - dracut.sh | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/dracut.sh b/dracut.sh -index 1169037..9128cb0 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -362,6 +362,8 @@ rearrange_params() - --long uefi \ - --long uefi-stub: \ - --long kernel-image: \ -+ --long no-hostonly-i18n \ -+ --long hostonly-i18n \ - -- "$@") - - if (( $? != 0 )); then -@@ -523,6 +525,10 @@ while :; do - hostonly_l="no" ;; - --hostonly-cmdline) - hostonly_cmdline_l="yes" ;; -+ --hostonly-i18n) -+ i18n_install_all_l="no" ;; -+ --no-hostonly-i18n) -+ i18n_install_all_l="yes" ;; - --no-hostonly-cmdline) - hostonly_cmdline_l="no" ;; - --persistent-policy) -@@ -716,6 +722,7 @@ stdloglvl=$((stdloglvl + verbosity_mod_l)) - [[ $hostonly_l ]] && hostonly=$hostonly_l - [[ $hostonly_cmdline_l ]] && hostonly_cmdline=$hostonly_cmdline_l - [[ "$hostonly" == "yes" ]] && ! [[ $hostonly_cmdline ]] && hostonly_cmdline="yes" -+[[ $i18n_install_all_l ]] && i18n_install_all=$i18n_install_all_l - [[ $persistent_policy_l ]] && persistent_policy=$persistent_policy_l - [[ $use_fstab_l ]] && use_fstab=$use_fstab_l - [[ $mdadmconf_l ]] && mdadmconf=$mdadmconf_l diff --git a/0147-dracut.sh-do-not-create-microcode-if-no-firmware-is-.patch b/0147-dracut.sh-do-not-create-microcode-if-no-firmware-is-.patch deleted file mode 100644 index c76033c..0000000 --- a/0147-dracut.sh-do-not-create-microcode-if-no-firmware-is-.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 583fb23199d4c1293d38c72e0c29e74079441e46 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 15 Sep 2015 16:08:25 +0200 -Subject: [PATCH] dracut.sh: do not create microcode, if no firmware is - available - -(cherry picked from commit 13b5c1d09e0e242f1817057501292fe9d7e9ad92) ---- - dracut.sh | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/dracut.sh b/dracut.sh -index 9128cb0..fe735bd 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -1617,6 +1617,10 @@ if [[ $early_microcode = yes ]]; then - break; - fi - fi -+ for i in $_fwdir/$_fw/$_src; do -+ [ -e $i ] && break -+ break 2 -+ done - cat $_fwdir/$_fw/$_src > $_dest_dir/${ucode_dest[$idx]} - create_early_cpio="yes" - fi diff --git a/0148-iscsi-parse-iscsiroot.sh-correct-handling-if-netroot.patch b/0148-iscsi-parse-iscsiroot.sh-correct-handling-if-netroot.patch deleted file mode 100644 index 8efe43b..0000000 --- a/0148-iscsi-parse-iscsiroot.sh-correct-handling-if-netroot.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 79cb273dc081598ea0dec4734ee0413491f7c45e Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 17 Sep 2015 15:41:12 +0200 -Subject: [PATCH] iscsi/parse-iscsiroot.sh: correct handling if netroot isn't - set - -corrects bfe65f913a4bc6bc5fdb7aa75234c229a2ceef8f - -(cherry picked from commit 7fd112f20e63def6d274ab445b5eb82138348901) ---- - modules.d/95iscsi/parse-iscsiroot.sh | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/modules.d/95iscsi/parse-iscsiroot.sh b/modules.d/95iscsi/parse-iscsiroot.sh -index 63a822f..971bab2 100755 ---- a/modules.d/95iscsi/parse-iscsiroot.sh -+++ b/modules.d/95iscsi/parse-iscsiroot.sh -@@ -82,7 +82,9 @@ if [ -n "$iscsi_firmware" ]; then - initqueue --unique --onetime --settled /sbin/iscsiroot online "iscsi:" "'$NEWROOT'" - fi - --[ -z "$netroot" ] || [ "${netroot%%:*}" = "iscsi" ] || return 1 -+if [ -z "$netroot" ] || ! [ "${netroot%%:*}" = "iscsi" ]; then -+ return 1 -+fi - - initqueue --unique --onetime --timeout /sbin/iscsiroot timeout "$netroot" "$NEWROOT" - diff --git a/0149-dracut.sh-no-microcode-if-get_ucode_file-returns-emp.patch b/0149-dracut.sh-no-microcode-if-get_ucode_file-returns-emp.patch deleted file mode 100644 index 7374fba..0000000 --- a/0149-dracut.sh-no-microcode-if-get_ucode_file-returns-emp.patch +++ /dev/null @@ -1,33 +0,0 @@ -From efba549a2635a05f57b892851e629de94328ddbc Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 17 Sep 2015 20:03:54 +0200 -Subject: [PATCH] dracut.sh: no microcode, if get_ucode_file returns empty file - -check, if get_ucode_file() returned an empty string. - -(cherry picked from commit 327d765512135721a323822a8b10ac1539bd20c6) ---- - dracut.sh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/dracut.sh b/dracut.sh -index fe735bd..b84013a 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -1613,12 +1613,12 @@ if [[ $early_microcode = yes ]]; then - dinfo "*** Constructing ${ucode_dest[$idx]} ****" - if [[ $hostonly ]]; then - _src=$(get_ucode_file) -- if ! [[ -r $_fwdir/$_fw/$_src ]];then -- break; -- fi -+ [[ $src ]] || break -+ [[ -r $_fwdir/$_fw/$_src ]] || break - fi -+ - for i in $_fwdir/$_fw/$_src; do -- [ -e $i ] && break -+ [ -e "$i" ] && break - break 2 - done - cat $_fwdir/$_fw/$_src > $_dest_dir/${ucode_dest[$idx]} diff --git a/0150-network-wait_for_ifup-handle-NO-CARRIER-output.patch b/0150-network-wait_for_ifup-handle-NO-CARRIER-output.patch deleted file mode 100644 index 8d7512b..0000000 --- a/0150-network-wait_for_ifup-handle-NO-CARRIER-output.patch +++ /dev/null @@ -1,53 +0,0 @@ -From a49c1f049b1256ef17e94ef94c236f163001fee6 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 25 Sep 2015 10:14:33 -0400 -Subject: [PATCH] network:wait_for_ifup() handle "NO-CARRIER" output - -if "NO-CARRIER" is one of the flags, we surely have no link yet. - -(cherry picked from commit f059985b14f80a41f3b8103b67cb8fae0d3fc2fc) ---- - modules.d/40network/net-lib.sh | 30 ++++++++++++++++-------------- - 1 file changed, 16 insertions(+), 14 deletions(-) - -diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh -index 706a9a5..135c378 100755 ---- a/modules.d/40network/net-lib.sh -+++ b/modules.d/40network/net-lib.sh -@@ -537,20 +537,22 @@ wait_for_if_up() { - - while [ $cnt -lt $timeout ]; do - li=$(ip -o link show up dev $1) -- if [ -n "$li" ]; then -- case "$li" in -- *\*) -- return 0;; -- *\<*,UP,*\>*) -- return 0;; -- esac -- fi -- if strstr "$li" "LOWER_UP" \ -- && strstr "$li" "state UNKNOWN" \ -- && ! strstr "$li" "DORMANT"; then -- return 0 -+ if ! strstr "$li" "NO-CARRIER"; then -+ if [ -n "$li" ]; then -+ case "$li" in -+ *\*) -+ return 0;; -+ *\<*,UP,*\>*) -+ return 0;; -+ esac -+ fi -+ if strstr "$li" "LOWER_UP" \ -+ && strstr "$li" "state UNKNOWN" \ -+ && ! strstr "$li" "DORMANT"; then -+ return 0 -+ fi - fi - sleep 0.1 - cnt=$(($cnt+1)) diff --git a/0151-dracut.sh-fixed-typo-in-microcode-generation.patch b/0151-dracut.sh-fixed-typo-in-microcode-generation.patch deleted file mode 100644 index 7078593..0000000 --- a/0151-dracut.sh-fixed-typo-in-microcode-generation.patch +++ /dev/null @@ -1,23 +0,0 @@ -From b44156c6fc445e5777b6c10bcebc90a1415df4d7 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 25 Sep 2015 14:10:20 -0400 -Subject: [PATCH] dracut.sh: fixed typo in microcode generation - -(cherry picked from commit a594b4e357bc63dd22ae04346dbca648e0d62744) ---- - dracut.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/dracut.sh b/dracut.sh -index b84013a..1f75b24 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -1613,7 +1613,7 @@ if [[ $early_microcode = yes ]]; then - dinfo "*** Constructing ${ucode_dest[$idx]} ****" - if [[ $hostonly ]]; then - _src=$(get_ucode_file) -- [[ $src ]] || break -+ [[ $_src ]] || break - [[ -r $_fwdir/$_fw/$_src ]] || break - fi - diff --git a/0152-base-dracut-lib.sh-getargs-don-t-return-1-for-empty-.patch b/0152-base-dracut-lib.sh-getargs-don-t-return-1-for-empty-.patch deleted file mode 100644 index 3065d8a..0000000 --- a/0152-base-dracut-lib.sh-getargs-don-t-return-1-for-empty-.patch +++ /dev/null @@ -1,27 +0,0 @@ -From ecdee70c487316f396510c7cd3c4efe65003fac1 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 9 Oct 2015 11:30:03 +0200 -Subject: [PATCH] base/dracut-lib.sh:getargs() don't return 1 for empty values - -getargs() is only used with real values and not booleans. - -So, return the values only. - -(cherry picked from commit d1f7f2ac046c77913d1ca97cf8414d9226ae1286) ---- - modules.d/99base/dracut-lib.sh | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh -index 1eaf4b3..03a283c 100755 ---- a/modules.d/99base/dracut-lib.sh -+++ b/modules.d/99base/dracut-lib.sh -@@ -330,8 +330,6 @@ getargs() { - if [ -n "$_gfound" ]; then - if [ $# -gt 0 ]; then - printf '%s' "$*" -- else -- printf 1 - fi - debug_on - return 0 diff --git a/0153-network-ifup.sh-skip-empty-nameserver-values.patch b/0153-network-ifup.sh-skip-empty-nameserver-values.patch deleted file mode 100644 index 9ef738d..0000000 --- a/0153-network-ifup.sh-skip-empty-nameserver-values.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 5b43377d74967bd445fe9c0e06d928194b800dd5 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 9 Oct 2015 11:35:43 +0200 -Subject: [PATCH] network/ifup.sh: skip empty nameserver values - -(cherry picked from commit e65825117377a8e1e730912aa4c0e786122d892a) ---- - modules.d/40network/ifup.sh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh -index 366744f..109fb4b 100755 ---- a/modules.d/40network/ifup.sh -+++ b/modules.d/40network/ifup.sh -@@ -313,8 +313,8 @@ fi - ip=$(getarg ip) - - if [ -z "$ip" ]; then -- namesrv=$(getargs nameserver) -- for s in $namesrv; do -+ for s in $(getargs nameserver); do -+ [ -n "$s" ] || continue - echo nameserver $s >> /tmp/net.$netif.resolv.conf - done - -@@ -350,8 +350,8 @@ for p in $(getargs ip=); do - [ "$use_vlan" != 'true' ] && continue - - # setup nameserver -- namesrv="$dns1 $dns2 $(getargs nameserver)" -- for s in $namesrv; do -+ for s in "$dns1" "$dns2" $(getargs nameserver); do -+ [ -n "$s" ] || continue - echo nameserver $s >> /tmp/net.$netif.resolv.conf - done - diff --git a/0154-dracut-systemd-rootfs-generator.sh-s-RequiresOverrid.patch b/0154-dracut-systemd-rootfs-generator.sh-s-RequiresOverrid.patch deleted file mode 100644 index 2886ea0..0000000 --- a/0154-dracut-systemd-rootfs-generator.sh-s-RequiresOverrid.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 35a666d02a6e818b8bf9879d1cf8cf2c32d9af06 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 13 Nov 2015 10:13:08 +0100 -Subject: [PATCH] dracut-systemd/rootfs-generator.sh: - s/RequiresOverridable/Requires - -RequiresOverridable will be deprecated ---- - modules.d/98dracut-systemd/rootfs-generator.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/98dracut-systemd/rootfs-generator.sh b/modules.d/98dracut-systemd/rootfs-generator.sh -index 5e79d0b..eada3d1 100755 ---- a/modules.d/98dracut-systemd/rootfs-generator.sh -+++ b/modules.d/98dracut-systemd/rootfs-generator.sh -@@ -50,7 +50,7 @@ generator_mount_rootfs() - { - echo "[Unit]" - echo "Before=initrd-root-fs.target" -- echo "RequiresOverridable=systemd-fsck@${_name}.service" -+ echo "Requires=systemd-fsck@${_name}.service" - echo "After=systemd-fsck@${_name}.service" - echo "[Mount]" - echo "Where=/sysroot" diff --git a/0155-add-no-reproducible-to-turn-off-reproducible-mode.patch b/0155-add-no-reproducible-to-turn-off-reproducible-mode.patch deleted file mode 100644 index 0a2be35..0000000 --- a/0155-add-no-reproducible-to-turn-off-reproducible-mode.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 10f8df1bdfd0a19a0415e7db18b1a071313f0e57 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 13 Nov 2015 11:53:36 +0100 -Subject: [PATCH] add --no-reproducible to turn off reproducible mode - -Also warn about cpio not supporting it and turn it on by default for -fedora. ---- - dracut.conf.d/fedora.conf.example | 1 + - dracut.sh | 9 ++++++++- - 2 files changed, 9 insertions(+), 1 deletion(-) - -diff --git a/dracut.conf.d/fedora.conf.example b/dracut.conf.d/fedora.conf.example -index b126b09..b32abb0 100644 ---- a/dracut.conf.d/fedora.conf.example -+++ b/dracut.conf.d/fedora.conf.example -@@ -17,3 +17,4 @@ udevdir=/usr/lib/udev - hostonly="yes" - hostonly_cmdline="no" - early_microcode="yes" -+reproducible="yes" -diff --git a/dracut.sh b/dracut.sh -index 1f75b24..fb5d400 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -202,6 +202,7 @@ Creates initial ramdisk images for preloading modules - --sshkey [SSHKEY] Add ssh key to initramfs (use with ssh-client module) - --logfile [FILE] Logfile to use (overrides configuration setting) - --reproducible Create reproducible images -+ --no-reproducible Do not create reproducible images - --loginstall [DIR] Log all files installed from the host to [DIR] - --uefi Create an UEFI executable with the kernel cmdline and - kernel combined -@@ -358,6 +359,7 @@ rearrange_params() - --long early-microcode \ - --long no-early-microcode \ - --long reproducible \ -+ --long no-reproducible \ - --long loginstall: \ - --long uefi \ - --long uefi-stub: \ -@@ -553,6 +555,7 @@ while :; do - --regenerate-all) regenerate_all="yes";; - --noimageifnotneeded) noimageifnotneeded="yes";; - --reproducible) reproducible_l="yes";; -+ --no-reproducible) reproducible_l="no";; - --uefi) uefi="yes";; - --uefi-stub) - uefi_stub_l="$2"; PARMS_TO_STORE+=" '$2'"; shift;; -@@ -1673,7 +1676,11 @@ if [[ $DRACUT_REPRODUCIBLE ]]; then - find "$initdir" -newer "$dracutbasedir/dracut-functions.sh" -print0 \ - | xargs -r -0 touch -h -m -c -r "$dracutbasedir/dracut-functions.sh" - -- [[ "$(cpio --help)" == *--reproducible* ]] && CPIO_REPRODUCIBLE=1 -+ if [[ "$(cpio --help)" == *--reproducible* ]]; then -+ CPIO_REPRODUCIBLE=1 -+ else -+ dinfo "cpio does not support '--reproducible'. Resulting image will not be reproducible." -+ fi - fi - - [[ "$UID" != 0 ]] && cpio_owner_root="-R 0:0" diff --git a/0156-reduce-dracut-functions.sh-and-add-to-dracut-init.sh.patch b/0156-reduce-dracut-functions.sh-and-add-to-dracut-init.sh.patch deleted file mode 100644 index 1b80002..0000000 --- a/0156-reduce-dracut-functions.sh-and-add-to-dracut-init.sh.patch +++ /dev/null @@ -1,2371 +0,0 @@ -From 561eb42f39e26cd43f1df1484bba5883048e3178 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 13 Nov 2015 13:06:01 +0100 -Subject: [PATCH] reduce dracut-functions.sh and add to dracut-init.sh - -move all dracut specific functions to dracut-init.sh ---- - dracut-functions.sh | 1148 +-------------------------------------------------- - dracut-init.sh | 1144 +++++++++++++++++++++++++++++++++++++++++++++++++- - 2 files changed, 1146 insertions(+), 1146 deletions(-) - -diff --git a/dracut-functions.sh b/dracut-functions.sh -index 1c6d327..59747ec 100755 ---- a/dracut-functions.sh -+++ b/dracut-functions.sh -@@ -19,11 +19,12 @@ - # - export LC_MESSAGES=C - --if [[ $DRACUT_KERNEL_LAZY ]] && ! [[ $DRACUT_KERNEL_LAZY_HASHDIR ]]; then -- if [[ -d "$initdir/.kernelmodseen" ]]; then -- DRACUT_KERNEL_LAZY_HASHDIR="$initdir/.kernelmodseen" -- fi --fi -+# is_func -+# Check whether $1 is a function. -+is_func() { -+ [[ "$(type -t "$1")" = "function" ]] -+} -+ - - # Generic substring function. If $2 is in $1, return 0. - strstr() { [[ $1 = *"$2"* ]]; } -@@ -36,51 +37,6 @@ str_starts() { [ "${1#"$2"*}" != "$1" ]; } - # returns OK if $1 contains literal string $2 at the end, and isn't empty - str_ends() { [ "${1%*"$2"}" != "$1" ]; } - --# helper function for check() in module-setup.sh --# to check for required installed binaries --# issues a standardized warning message --require_binaries() { -- local _module_name="${moddir##*/}" -- local _ret=0 -- -- if [[ "$1" = "-m" ]]; then -- _module_name="$2" -- shift 2 -- fi -- -- for cmd in "$@"; do -- if ! find_binary "$cmd" &>/dev/null; then -- dinfo "dracut module '${_module_name#[0-9][0-9]}' will not be installed, because command '$cmd' could not be found!" -- ((_ret++)) -- fi -- done -- return $_ret --} -- --require_any_binary() { -- local _module_name="${moddir##*/}" -- local _ret=1 -- -- if [[ "$1" = "-m" ]]; then -- _module_name="$2" -- shift 2 -- fi -- -- for cmd in "$@"; do -- if find_binary "$cmd" &>/dev/null; then -- _ret=0 -- break -- fi -- done -- -- if (( $_ret != 0 )); then -- dinfo "$_module_name: Could not find any command of '$@'!" -- return 1 -- fi -- -- return 0 --} -- - # find a binary. If we were not passed the full path directly, - # search in the usual places to find the binary. - find_binary() { -@@ -94,39 +50,11 @@ find_binary() { - type -P "${1##*/}" - } - --if ! [[ $dracutbasedir ]]; then -- dracutbasedir=${BASH_SOURCE[0]%/*} -- [[ $dracutbasedir = dracut-functions* ]] && dracutbasedir="." -- [[ $dracutbasedir ]] || dracutbasedir="." -- dracutbasedir="$(readlink -f $dracutbasedir)" --fi -- - ldconfig_paths() - { - ldconfig -pN 2>/dev/null | grep -E -v '/(lib|lib64|usr/lib|usr/lib64)/[^/]*$' | sed -n 's,.* => \(.*\)/.*,\1,p' | sort | uniq - } - --# Detect lib paths --if ! [[ $libdirs ]] ; then -- if [[ "$(ldd /bin/sh)" == */lib64/* ]] &>/dev/null \ -- && [[ -d /lib64 ]]; then -- libdirs+=" /lib64" -- [[ -d /usr/lib64 ]] && libdirs+=" /usr/lib64" -- else -- libdirs+=" /lib" -- [[ -d /usr/lib ]] && libdirs+=" /usr/lib" -- fi -- -- libdirs+=" $(ldconfig_paths)" -- -- export libdirs --fi -- --if ! [[ $kernel ]]; then -- kernel=$(uname -r) -- export kernel --fi -- - # Version comparision function. Assumes Linux style version scheme. - # $1 = version a - # $2 = comparision op (gt, ge, eq, le, lt, ne) -@@ -154,50 +82,6 @@ vercmp() { - esac - } - --srcmods="/lib/modules/$kernel/" -- --[[ $drivers_dir ]] && { -- if ! command -v kmod &>/dev/null && vercmp "$(modprobe --version | cut -d' ' -f3)" lt 3.7; then -- dfatal 'To use --kmoddir option module-init-tools >= 3.7 is required.' -- exit 1 -- fi -- srcmods="$drivers_dir" --} --export srcmods -- --# is_func --# Check whether $1 is a function. --is_func() { -- [[ "$(type -t "$1")" = "function" ]] --} -- --if ! is_func dinfo >/dev/null 2>&1; then -- . "$dracutbasedir/dracut-logger.sh" -- dlog_init --fi -- --if ! [[ $initdir ]]; then -- dfatal "initdir not set" -- exit 1 --fi -- --# export standard hookdirs --[[ $hookdirs ]] || { -- hookdirs="cmdline pre-udev pre-trigger netroot " -- hookdirs+="initqueue initqueue/settled initqueue/online initqueue/finished initqueue/timeout " -- hookdirs+="pre-mount pre-pivot cleanup mount " -- hookdirs+="emergency shutdown-emergency pre-shutdown shutdown " -- export hookdirs --} -- --dracut_need_initqueue() { -- >"$initdir/lib/dracut/need-initqueue" --} -- --dracut_module_included() { -- [[ " $mods_to_load $modules_loaded " == *\ $*\ * ]] --} -- - # Create all subdirectories for given path without creating the last element. - # $1 = path - mksubdirs() { -@@ -728,1026 +612,6 @@ fs_get_option() { - done - } - --if ! [[ $DRACUT_INSTALL ]]; then -- DRACUT_INSTALL=$(find_binary dracut-install) --fi -- --if ! [[ $DRACUT_INSTALL ]] && [[ -x $dracutbasedir/dracut-install ]]; then -- DRACUT_INSTALL=$dracutbasedir/dracut-install --elif ! [[ $DRACUT_INSTALL ]] && [[ -x $dracutbasedir/install/dracut-install ]]; then -- DRACUT_INSTALL=$dracutbasedir/install/dracut-install --fi -- --if ! [[ -x $DRACUT_INSTALL ]]; then -- dfatal "dracut-install not found!" -- exit 10 --fi -- --[[ $DRACUT_RESOLVE_LAZY ]] || export DRACUT_RESOLVE_DEPS=1 --inst_dir() { -- [[ -e ${initdir}/"$1" ]] && return 0 # already there -- $DRACUT_INSTALL ${initdir:+-D "$initdir"} -d "$@" -- (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} -d "$@" || : --} -- --inst() { -- local _hostonly_install -- if [[ "$1" == "-H" ]]; then -- _hostonly_install="-H" -- shift -- fi -- [[ -e ${initdir}/"${2:-$1}" ]] && return 0 # already there -- $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@" -- (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@" || : --} -- --inst_simple() { -- local _hostonly_install -- if [[ "$1" == "-H" ]]; then -- _hostonly_install="-H" -- shift -- fi -- [[ -e ${initdir}/"${2:-$1}" ]] && return 0 # already there -- [[ -e $1 ]] || return 1 # no source -- $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${_hostonly_install:+-H} "$@" -- (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${_hostonly_install:+-H} "$@" || : --} -- --inst_symlink() { -- local _hostonly_install -- if [[ "$1" == "-H" ]]; then -- _hostonly_install="-H" -- shift -- fi -- [[ -e ${initdir}/"${2:-$1}" ]] && return 0 # already there -- [[ -L $1 ]] || return 1 -- $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@" -- (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@" || : --} -- --inst_multiple() { -- local _ret -- $DRACUT_INSTALL ${initdir:+-D "$initdir"} -a ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@" -- _ret=$? -- (($_ret != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} -a ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@" || : -- return $_ret --} -- --dracut_install() { -- inst_multiple "$@" --} -- --inst_library() { -- local _hostonly_install -- if [[ "$1" == "-H" ]]; then -- _hostonly_install="-H" -- shift -- fi -- [[ -e ${initdir}/"${2:-$1}" ]] && return 0 # already there -- [[ -e $1 ]] || return 1 # no source -- $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@" -- (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@" || : --} -- --inst_binary() { -- $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@" -- (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@" || : --} -- --inst_script() { -- $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@" -- (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@" || : --} -- --mark_hostonly() { -- for i in "$@"; do -- echo "$i" >> "$initdir/lib/dracut/hostonly-files" -- done --} -- --# find symlinks linked to given library file --# $1 = library file --# Function searches for symlinks by stripping version numbers appended to --# library filename, checks if it points to the same target and finally --# prints the list of symlinks to stdout. --# --# Example: --# rev_lib_symlinks libfoo.so.8.1 --# output: libfoo.so.8 libfoo.so --# (Only if libfoo.so.8 and libfoo.so exists on host system.) --rev_lib_symlinks() { -- [[ ! $1 ]] && return 0 -- -- local fn="$1" orig="$(readlink -f "$1")" links='' -- -- [[ ${fn} == *.so.* ]] || return 1 -- -- until [[ ${fn##*.} == so ]]; do -- fn="${fn%.*}" -- [[ -L ${fn} && $(readlink -f "${fn}") == ${orig} ]] && links+=" ${fn}" -- done -- -- echo "${links}" --} -- --# attempt to install any programs specified in a udev rule --inst_rule_programs() { -- local _prog _bin -- -- if grep -qE 'PROGRAM==?"[^ "]+' "$1"; then -- for _prog in $(grep -E 'PROGRAM==?"[^ "]+' "$1" | sed -r 's/.*PROGRAM==?"([^ "]+).*/\1/'); do -- _bin="" -- if [ -x ${udevdir}/$_prog ]; then -- _bin=${udevdir}/$_prog -- elif [[ "${_prog/\$env\{/}" == "$_prog" ]]; then -- _bin=$(find_binary "$_prog") || { -- dinfo "Skipping program $_prog using in udev rule ${1##*/} as it cannot be found" -- continue; -- } -- fi -- -- [[ $_bin ]] && inst_binary "$_bin" -- done -- fi -- if grep -qE 'RUN[+=]=?"[^ "]+' "$1"; then -- for _prog in $(grep -E 'RUN[+=]=?"[^ "]+' "$1" | sed -r 's/.*RUN[+=]=?"([^ "]+).*/\1/'); do -- _bin="" -- if [ -x ${udevdir}/$_prog ]; then -- _bin=${udevdir}/$_prog -- elif [[ "${_prog/\$env\{/}" == "$_prog" ]] && [[ "${_prog}" != "/sbin/initqueue" ]]; then -- _bin=$(find_binary "$_prog") || { -- dinfo "Skipping program $_prog using in udev rule ${1##*/} as it cannot be found" -- continue; -- } -- fi -- -- [[ $_bin ]] && inst_binary "$_bin" -- done -- fi -- if grep -qE 'IMPORT\{program\}==?"[^ "]+' "$1"; then -- for _prog in $(grep -E 'IMPORT\{program\}==?"[^ "]+' "$1" | sed -r 's/.*IMPORT\{program\}==?"([^ "]+).*/\1/'); do -- _bin="" -- if [ -x ${udevdir}/$_prog ]; then -- _bin=${udevdir}/$_prog -- elif [[ "${_prog/\$env\{/}" == "$_prog" ]]; then -- _bin=$(find_binary "$_prog") || { -- dinfo "Skipping program $_prog using in udev rule ${1##*/} as it cannot be found" -- continue; -- } -- fi -- -- [[ $_bin ]] && dracut_install "$_bin" -- done -- fi --} -- --# attempt to install any programs specified in a udev rule --inst_rule_group_owner() { -- local i -- -- if grep -qE 'OWNER=?"[^ "]+' "$1"; then -- for i in $(grep -E 'OWNER=?"[^ "]+' "$1" | sed -r 's/.*OWNER=?"([^ "]+).*/\1/'); do -- if ! egrep -q "^$i:" "$initdir/etc/passwd" 2>/dev/null; then -- egrep "^$i:" /etc/passwd 2>/dev/null >> "$initdir/etc/passwd" -- fi -- done -- fi -- if grep -qE 'GROUP=?"[^ "]+' "$1"; then -- for i in $(grep -E 'GROUP=?"[^ "]+' "$1" | sed -r 's/.*GROUP=?"([^ "]+).*/\1/'); do -- if ! egrep -q "^$i:" "$initdir/etc/group" 2>/dev/null; then -- egrep "^$i:" /etc/group 2>/dev/null >> "$initdir/etc/group" -- fi -- done -- fi --} -- --inst_rule_initqueue() { -- if grep -q -F initqueue "$1"; then -- dracut_need_initqueue -- fi --} -- --# udev rules always get installed in the same place, so --# create a function to install them to make life simpler. --inst_rules() { -- local _target=/etc/udev/rules.d _rule _found -- -- inst_dir "${udevdir}/rules.d" -- inst_dir "$_target" -- for _rule in "$@"; do -- if [ "${_rule#/}" = "$_rule" ]; then -- for r in ${udevdir}/rules.d ${hostonly:+/etc/udev/rules.d}; do -- [[ -e $r/$_rule ]] || continue -- _found="$r/$_rule" -- inst_rule_programs "$_found" -- inst_rule_group_owner "$_found" -- inst_rule_initqueue "$_found" -- inst_simple "$_found" -- done -- fi -- for r in '' $dracutbasedir/rules.d/; do -- # skip rules without an absolute path -- [[ "${r}$_rule" != /* ]] && continue -- [[ -f ${r}$_rule ]] || continue -- _found="${r}$_rule" -- inst_rule_programs "$_found" -- inst_rule_group_owner "$_found" -- inst_rule_initqueue "$_found" -- inst_simple "$_found" "$_target/${_found##*/}" -- done -- [[ $_found ]] || dinfo "Skipping udev rule: $_rule" -- done --} -- --inst_rules_wildcard() { -- local _target=/etc/udev/rules.d _rule _found -- -- inst_dir "${udevdir}/rules.d" -- inst_dir "$_target" -- for _rule in ${udevdir}/rules.d/$1 ${dracutbasedir}/rules.d/$1 ; do -- [[ -e $_rule ]] || continue -- inst_rule_programs "$_rule" -- inst_rule_group_owner "$_rule" -- inst_rule_initqueue "$_rule" -- inst_simple "$_rule" -- _found=$_rule -- done -- if [[ -n ${hostonly} ]] ; then -- for _rule in ${_target}/$1 ; do -- [[ -f $_rule ]] || continue -- inst_rule_programs "$_rule" -- inst_rule_group_owner "$_rule" -- inst_rule_initqueue "$_rule" -- inst_simple "$_rule" -- _found=$_rule -- done -- fi -- [[ $_found ]] || dinfo "Skipping udev rule: $_rule" --} -- --prepare_udev_rules() { -- [ -z "$UDEVVERSION" ] && export UDEVVERSION=$(udevadm --version) -- -- for f in "$@"; do -- f="${initdir}/etc/udev/rules.d/$f" -- [ -e "$f" ] || continue -- while read line || [ -n "$line" ]; do -- if [ "${line%%IMPORT PATH_ID}" != "$line" ]; then -- if [ $UDEVVERSION -ge 174 ]; then -- printf '%sIMPORT{builtin}="path_id"\n' "${line%%IMPORT PATH_ID}" -- else -- printf '%sIMPORT{program}="path_id %%p"\n' "${line%%IMPORT PATH_ID}" -- fi -- elif [ "${line%%IMPORT BLKID}" != "$line" ]; then -- if [ $UDEVVERSION -ge 176 ]; then -- printf '%sIMPORT{builtin}="blkid"\n' "${line%%IMPORT BLKID}" -- else -- printf '%sIMPORT{program}="/sbin/blkid -o udev -p $tempnode"\n' "${line%%IMPORT BLKID}" -- fi -- else -- echo "$line" -- fi -- done < "${f}" > "${f}.new" -- mv "${f}.new" "$f" -- done --} -- --# install function specialized for hooks --# $1 = type of hook, $2 = hook priority (lower runs first), $3 = hook --# All hooks should be POSIX/SuS compliant, they will be sourced by init. --inst_hook() { -- if ! [[ -f $3 ]]; then -- dfatal "Cannot install a hook ($3) that does not exist." -- dfatal "Aborting initrd creation." -- exit 1 -- elif ! [[ "$hookdirs" == *$1* ]]; then -- dfatal "No such hook type $1. Aborting initrd creation." -- exit 1 -- fi -- inst_simple "$3" "/lib/dracut/hooks/${1}/${2}-${3##*/}" --} -- --# install any of listed files --# --# If first argument is '-d' and second some destination path, first accessible --# source is installed into this path, otherwise it will installed in the same --# path as source. If none of listed files was installed, function return 1. --# On first successful installation it returns with 0 status. --# --# Example: --# --# inst_any -d /bin/foo /bin/bar /bin/baz --# --# Lets assume that /bin/baz exists, so it will be installed as /bin/foo in --# initramfs. --inst_any() { -- local to f -- -- [[ $1 = '-d' ]] && to="$2" && shift 2 -- -- for f in "$@"; do -- [[ -e $f ]] || continue -- [[ $to ]] && inst "$f" "$to" && return 0 -- inst "$f" && return 0 -- done -- -- return 1 --} -- -- --# inst_libdir_file [-n ] [...] --# Install a located on a lib directory to the initramfs image --# -n install matching files --inst_libdir_file() { -- local _files -- if [[ "$1" == "-n" ]]; then -- local _pattern=$2 -- shift 2 -- for _dir in $libdirs; do -- for _i in "$@"; do -- for _f in "$_dir"/$_i; do -- [[ "$_f" =~ $_pattern ]] || continue -- [[ -e "$_f" ]] && _files+="$_f " -- done -- done -- done -- else -- for _dir in $libdirs; do -- for _i in "$@"; do -- for _f in "$_dir"/$_i; do -- [[ -e "$_f" ]] && _files+="$_f " -- done -- done -- done -- fi -- [[ $_files ]] && inst_multiple $_files --} -- -- --# install function decompressing the target and handling symlinks --# $@ = list of compressed (gz or bz2) files or symlinks pointing to such files --# --# Function install targets in the same paths inside overlay but decompressed --# and without extensions (.gz, .bz2). --inst_decompress() { -- local _src _cmd -- -- for _src in $@ -- do -- case ${_src} in -- *.gz) _cmd='gzip -f -d' ;; -- *.bz2) _cmd='bzip2 -d' ;; -- *) return 1 ;; -- esac -- inst_simple ${_src} -- # Decompress with chosen tool. We assume that tool changes name e.g. -- # from 'name.gz' to 'name'. -- ${_cmd} "${initdir}${_src}" -- done --} -- --# It's similar to above, but if file is not compressed, performs standard --# install. --# $@ = list of files --inst_opt_decompress() { -- local _src -- -- for _src in $@; do -- inst_decompress "${_src}" || inst "${_src}" -- done --} -- --# module_check --# execute the check() function of module-setup.sh of --# or the "check" script, if module-setup.sh is not found --# "check $hostonly" is called --module_check() { -- local _moddir=$(echo ${dracutbasedir}/modules.d/??${1} | { read a b; echo "$a"; }) -- local _ret -- local _forced=0 -- local _hostonly=$hostonly -- [ $# -eq 2 ] && _forced=$2 -- [[ -d $_moddir ]] || return 1 -- if [[ ! -f $_moddir/module-setup.sh ]]; then -- # if we do not have a check script, we are unconditionally included -- [[ -x $_moddir/check ]] || return 0 -- [ $_forced -ne 0 ] && unset hostonly -- $_moddir/check $hostonly -- _ret=$? -- else -- unset check depends cmdline install installkernel -- check() { true; } -- . $_moddir/module-setup.sh -- is_func check || return 0 -- [ $_forced -ne 0 ] && unset hostonly -- moddir=$_moddir check $hostonly -- _ret=$? -- unset check depends cmdline install installkernel -- fi -- hostonly=$_hostonly -- return $_ret --} -- --# module_check_mount --# execute the check() function of module-setup.sh of --# or the "check" script, if module-setup.sh is not found --# "mount_needs=1 check 0" is called --module_check_mount() { -- local _moddir=$(echo ${dracutbasedir}/modules.d/??${1} | { read a b; echo "$a"; }) -- local _ret -- mount_needs=1 -- [[ -d $_moddir ]] || return 1 -- if [[ ! -f $_moddir/module-setup.sh ]]; then -- # if we do not have a check script, we are unconditionally included -- [[ -x $_moddir/check ]] || return 0 -- mount_needs=1 $_moddir/check 0 -- _ret=$? -- else -- unset check depends cmdline install installkernel -- check() { false; } -- . $_moddir/module-setup.sh -- moddir=$_moddir check 0 -- _ret=$? -- unset check depends cmdline install installkernel -- fi -- unset mount_needs -- return $_ret --} -- --# module_depends --# execute the depends() function of module-setup.sh of --# or the "depends" script, if module-setup.sh is not found --module_depends() { -- local _moddir=$(echo ${dracutbasedir}/modules.d/??${1} | { read a b; echo "$a"; }) -- local _ret -- [[ -d $_moddir ]] || return 1 -- if [[ ! -f $_moddir/module-setup.sh ]]; then -- # if we do not have a check script, we have no deps -- [[ -x $_moddir/check ]] || return 0 -- $_moddir/check -d -- return $? -- else -- unset check depends cmdline install installkernel -- depends() { true; } -- . $_moddir/module-setup.sh -- moddir=$_moddir depends -- _ret=$? -- unset check depends cmdline install installkernel -- return $_ret -- fi --} -- --# module_cmdline --# execute the cmdline() function of module-setup.sh of --# or the "cmdline" script, if module-setup.sh is not found --module_cmdline() { -- local _moddir=$(echo ${dracutbasedir}/modules.d/??${1} | { read a b; echo "$a"; }) -- local _ret -- [[ -d $_moddir ]] || return 1 -- if [[ ! -f $_moddir/module-setup.sh ]]; then -- [[ -x $_moddir/cmdline ]] && . "$_moddir/cmdline" -- return $? -- else -- unset check depends cmdline install installkernel -- cmdline() { true; } -- . $_moddir/module-setup.sh -- moddir=$_moddir cmdline -- _ret=$? -- unset check depends cmdline install installkernel -- return $_ret -- fi --} -- --# module_install --# execute the install() function of module-setup.sh of --# or the "install" script, if module-setup.sh is not found --module_install() { -- local _moddir=$(echo ${dracutbasedir}/modules.d/??${1} | { read a b; echo "$a"; }) -- local _ret -- [[ -d $_moddir ]] || return 1 -- if [[ ! -f $_moddir/module-setup.sh ]]; then -- [[ -x $_moddir/install ]] && . "$_moddir/install" -- return $? -- else -- unset check depends cmdline install installkernel -- install() { true; } -- . $_moddir/module-setup.sh -- moddir=$_moddir install -- _ret=$? -- unset check depends cmdline install installkernel -- return $_ret -- fi --} -- --# module_installkernel --# execute the installkernel() function of module-setup.sh of --# or the "installkernel" script, if module-setup.sh is not found --module_installkernel() { -- local _moddir=$(echo ${dracutbasedir}/modules.d/??${1} | { read a b; echo "$a"; }) -- local _ret -- [[ -d $_moddir ]] || return 1 -- if [[ ! -f $_moddir/module-setup.sh ]]; then -- [[ -x $_moddir/installkernel ]] && . "$_moddir/installkernel" -- return $? -- else -- unset check depends cmdline install installkernel -- installkernel() { true; } -- . $_moddir/module-setup.sh -- moddir=$_moddir installkernel -- _ret=$? -- unset check depends cmdline install installkernel -- return $_ret -- fi --} -- --# check_mount --# check_mount checks, if a dracut module is needed for the given --# device and filesystem types in "${host_fs_types[@]}" --check_mount() { -- local _mod=$1 -- local _moddir=$(echo ${dracutbasedir}/modules.d/??${1} | { read a b; echo "$a"; }) -- local _ret -- local _moddep -- -- [ "${#host_fs_types[@]}" -le 0 ] && return 1 -- -- # If we are already scheduled to be loaded, no need to check again. -- [[ " $mods_to_load " == *\ $_mod\ * ]] && return 0 -- [[ " $mods_checked_as_dep " == *\ $_mod\ * ]] && return 1 -- -- # This should never happen, but... -- [[ -d $_moddir ]] || return 1 -- -- [[ $2 ]] || mods_checked_as_dep+=" $_mod " -- -- if [[ " $omit_dracutmodules " == *\ $_mod\ * ]]; then -- return 1 -- fi -- -- if [[ " $dracutmodules $add_dracutmodules $force_add_dracutmodules" == *\ $_mod\ * ]]; then -- module_check_mount $_mod; ret=$? -- -- # explicit module, so also accept ret=255 -- [[ $ret = 0 || $ret = 255 ]] || return 1 -- else -- # module not in our list -- if [[ $dracutmodules = all ]]; then -- # check, if we can and should install this module -- module_check_mount $_mod || return 1 -- else -- # skip this module -- return 1 -- fi -- fi -- -- for _moddep in $(module_depends $_mod); do -- # handle deps as if they were manually added -- [[ " $dracutmodules " == *\ $_mod\ * ]] \ -- && [[ " $dracutmodules " != *\ $_moddep\ * ]] \ -- && dracutmodules+=" $_moddep " -- [[ " $add_dracutmodules " == *\ $_mod\ * ]] \ -- && [[ " $add_dracutmodules " != *\ $_moddep\ * ]] \ -- && add_dracutmodules+=" $_moddep " -- [[ " $force_add_dracutmodules " == *\ $_mod\ * ]] \ -- && [[ " $force_add_dracutmodules " != *\ $_moddep\ * ]] \ -- && force_add_dracutmodules+=" $_moddep " -- # if a module we depend on fail, fail also -- if ! check_module $_moddep; then -- derror "dracut module '$_mod' depends on '$_moddep', which can't be installed" -- return 1 -- fi -- done -- -- [[ " $mods_to_load " == *\ $_mod\ * ]] || \ -- mods_to_load+=" $_mod " -- -- return 0 --} -- --# check_module [] --# check if a dracut module is to be used in the initramfs process --# if is set, then the process also keeps track --# that the modules were checked for the dependency tracking process --check_module() { -- local _mod=$1 -- local _moddir=$(echo ${dracutbasedir}/modules.d/??${1} | { read a b; echo "$a"; }) -- local _ret -- local _moddep -- # If we are already scheduled to be loaded, no need to check again. -- [[ " $mods_to_load " == *\ $_mod\ * ]] && return 0 -- [[ " $mods_checked_as_dep " == *\ $_mod\ * ]] && return 1 -- -- # This should never happen, but... -- [[ -d $_moddir ]] || return 1 -- -- [[ $2 ]] || mods_checked_as_dep+=" $_mod " -- -- if [[ " $omit_dracutmodules " == *\ $_mod\ * ]]; then -- dinfo "dracut module '$_mod' will not be installed, because it's in the list to be omitted!" -- return 1 -- fi -- -- if [[ " $dracutmodules $add_dracutmodules $force_add_dracutmodules" == *\ $_mod\ * ]]; then -- if [[ " $dracutmodules $force_add_dracutmodules " == *\ $_mod\ * ]]; then -- module_check $_mod 1; ret=$? -- else -- module_check $_mod 0; ret=$? -- fi -- # explicit module, so also accept ret=255 -- [[ $ret = 0 || $ret = 255 ]] || return 1 -- else -- # module not in our list -- if [[ $dracutmodules = all ]]; then -- # check, if we can and should install this module -- module_check $_mod; ret=$? -- if [[ $ret != 0 ]]; then -- [[ $2 ]] && return 1 -- [[ $ret != 255 ]] && return 1 -- fi -- else -- # skip this module -- return 1 -- fi -- fi -- -- for _moddep in $(module_depends $_mod); do -- # handle deps as if they were manually added -- [[ " $dracutmodules " == *\ $_mod\ * ]] \ -- && [[ " $dracutmodules " != *\ $_moddep\ * ]] \ -- && dracutmodules+=" $_moddep " -- [[ " $add_dracutmodules " == *\ $_mod\ * ]] \ -- && [[ " $add_dracutmodules " != *\ $_moddep\ * ]] \ -- && add_dracutmodules+=" $_moddep " -- [[ " $force_add_dracutmodules " == *\ $_mod\ * ]] \ -- && [[ " $force_add_dracutmodules " != *\ $_moddep\ * ]] \ -- && force_add_dracutmodules+=" $_moddep " -- # if a module we depend on fail, fail also -- if ! check_module $_moddep; then -- derror "dracut module '$_mod' depends on '$_moddep', which can't be installed" -- return 1 -- fi -- done -- -- [[ " $mods_to_load " == *\ $_mod\ * ]] || \ -- mods_to_load+=" $_mod " -- -- return 0 --} -- --# for_each_module_dir --# execute " 1" --for_each_module_dir() { -- local _modcheck -- local _mod -- local _moddir -- local _func -- _func=$1 -- for _moddir in "$dracutbasedir/modules.d"/[0-9][0-9]*; do -- [[ -d $_moddir ]] || continue; -- [[ -e $_moddir/install || -e $_moddir/installkernel || \ -- -e $_moddir/module-setup.sh ]] || continue -- _mod=${_moddir##*/}; _mod=${_mod#[0-9][0-9]} -- $_func $_mod 1 -- done -- -- # Report any missing dracut modules, the user has specified -- _modcheck="$add_dracutmodules $force_add_dracutmodules" -- [[ $dracutmodules != all ]] && _modcheck="$_modcheck $dracutmodules" -- for _mod in $_modcheck; do -- [[ " $mods_to_load " == *\ $_mod\ * ]] && continue -- -- [[ " $force_add_dracutmodules " != *\ $_mod\ * ]] \ -- && [[ " $dracutmodules " != *\ $_mod\ * ]] \ -- && [[ " $omit_dracutmodules " == *\ $_mod\ * ]] \ -- && continue -- -- derror "dracut module '$_mod' cannot be found or installed." -- [[ " $force_add_dracutmodules " == *\ $_mod\ * ]] && exit 1 -- [[ " $dracutmodules " == *\ $_mod\ * ]] && exit 1 -- [[ " $add_dracutmodules " == *\ $_mod\ * ]] && exit 1 -- done --} -- --# Install a single kernel module along with any firmware it may require. --# $1 = full path to kernel module to install --install_kmod_with_fw() { -- # no need to go further if the module is already installed -- -- [[ -e "${initdir}/lib/modules/$kernel/${1##*/lib/modules/$kernel/}" ]] \ -- && return 0 -- -- if [[ $DRACUT_KERNEL_LAZY_HASHDIR ]] && [[ -e "$DRACUT_KERNEL_LAZY_HASHDIR/${1##*/}" ]]; then -- read ret < "$DRACUT_KERNEL_LAZY_HASHDIR/${1##*/}" -- return $ret -- fi -- -- if [[ $omit_drivers ]]; then -- local _kmod=${1##*/} -- _kmod=${_kmod%.ko*} -- _kmod=${_kmod/-/_} -- if [[ "$_kmod" =~ $omit_drivers ]]; then -- dinfo "Omitting driver $_kmod" -- return 0 -- fi -- if [[ "${1##*/lib/modules/$kernel/}" =~ $omit_drivers ]]; then -- dinfo "Omitting driver $_kmod" -- return 0 -- fi -- fi -- -- if [[ $silent_omit_drivers ]]; then -- local _kmod=${1##*/} -- _kmod=${_kmod%.ko*} -- _kmod=${_kmod/-/_} -- [[ "$_kmod" =~ $silent_omit_drivers ]] && return 0 -- [[ "${1##*/lib/modules/$kernel/}" =~ $silent_omit_drivers ]] && return 0 -- fi -- -- inst_simple "$1" "/lib/modules/$kernel/${1##*/lib/modules/$kernel/}" -- ret=$? -- [[ $DRACUT_KERNEL_LAZY_HASHDIR ]] && \ -- [[ -d "$DRACUT_KERNEL_LAZY_HASHDIR" ]] && \ -- echo $ret > "$DRACUT_KERNEL_LAZY_HASHDIR/${1##*/}" -- (($ret != 0)) && return $ret -- -- local _modname=${1##*/} _fwdir _found _fw -- _modname=${_modname%.ko*} -- for _fw in $(modinfo -k $kernel -F firmware $1 2>/dev/null); do -- _found='' -- for _fwdir in $fw_dir; do -- [[ -d $_fwdir && -f $_fwdir/$_fw ]] || continue -- inst_simple "$_fwdir/$_fw" "/lib/firmware/$_fw" -- _found=yes -- done -- if [[ $_found != yes ]]; then -- if ! [[ -d $(echo /sys/module/${_modname//-/_}|{ read a b; echo $a; }) ]]; then -- dinfo "Possible missing firmware \"${_fw}\" for kernel module" \ -- "\"${_modname}.ko\"" -- else -- dwarn "Possible missing firmware \"${_fw}\" for kernel module" \ -- "\"${_modname}.ko\"" -- fi -- fi -- done -- return 0 --} -- --# Do something with all the dependencies of a kernel module. --# Note that kernel modules depend on themselves using the technique we use --# $1 = function to call for each dependency we find --# It will be passed the full path to the found kernel module --# $2 = module to get dependencies for --# rest of args = arguments to modprobe --# _fderr specifies FD passed from surrounding scope --for_each_kmod_dep() { -- local _func=$1 _kmod=$2 _cmd _modpath _options -- shift 2 -- modprobe "$@" --ignore-install --show-depends $_kmod 2>&${_fderr} | ( -- while read _cmd _modpath _options || [ -n "$_cmd" ]; do -- [[ $_cmd = insmod ]] || continue -- $_func ${_modpath} || exit $? -- done -- ) --} -- --dracut_kernel_post() { -- local _moddirname=${srcmods%%/lib/modules/*} -- local _pid -- -- if [[ $DRACUT_KERNEL_LAZY_HASHDIR ]] && [[ -f "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist" ]]; then -- xargs -r modprobe -a ${_moddirname:+-d ${_moddirname}/} \ -- --ignore-install --show-depends --set-version $kernel \ -- < "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist" 2>/dev/null \ -- | sort -u \ -- | while read _cmd _modpath _options || [ -n "$_cmd" ]; do -- [[ $_cmd = insmod ]] || continue -- echo "$_modpath" -- done > "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist.dep" -- -- ( -- if [[ $DRACUT_INSTALL ]] && [[ -z $_moddirname ]]; then -- xargs -r $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} -a < "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist.dep" -- else -- while read _modpath || [ -n "$_modpath" ]; do -- local _destpath=$_modpath -- [[ $_moddirname ]] && _destpath=${_destpath##$_moddirname/} -- _destpath=${_destpath##*/lib/modules/$kernel/} -- inst_simple "$_modpath" "/lib/modules/$kernel/${_destpath}" || exit $? -- done < "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist.dep" -- fi -- ) & -- _pid=$(jobs -p | while read a || [ -n "$a" ]; do printf ":$a";done) -- _pid=${_pid##*:} -- -- if [[ $DRACUT_INSTALL ]]; then -- xargs -r modinfo -k $kernel -F firmware < "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist.dep" \ -- | while read line || [ -n "$line" ]; do -- for _fwdir in $fw_dir; do -- echo $_fwdir/$line; -- done; -- done | xargs -r $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} -a -o -- else -- for _fw in $(xargs -r modinfo -k $kernel -F firmware < "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist.dep"); do -- for _fwdir in $fw_dir; do -- [[ -d $_fwdir && -f $_fwdir/$_fw ]] || continue -- inst_simple "$_fwdir/$_fw" "/lib/firmware/$_fw" -- break -- done -- done -- fi -- -- wait $_pid -- fi -- -- for _f in modules.builtin.bin modules.builtin modules.order; do -- [[ $srcmods/$_f ]] && inst_simple "$srcmods/$_f" "/lib/modules/$kernel/$_f" -- done -- -- # generate module dependencies for the initrd -- if [[ -d $initdir/lib/modules/$kernel ]] && \ -- ! depmod -a -b "$initdir" $kernel; then -- dfatal "\"depmod -a $kernel\" failed." -- exit 1 -- fi -- -- [[ $DRACUT_KERNEL_LAZY_HASHDIR ]] && rm -fr -- "$DRACUT_KERNEL_LAZY_HASHDIR" --} -- --[[ "$kernel_current" ]] || export kernel_current=$(uname -r) -- --module_is_host_only() { -- local _mod=$1 -- local _modenc a i _k _s _v _aliases -- _mod=${_mod##*/} -- _mod=${_mod%.ko*} -- _modenc=${_mod//-/_} -- -- [[ " $add_drivers " == *\ ${_mod}\ * ]] && return 0 -- -- # check if module is loaded -- [[ ${host_modules["$_modenc"]} ]] && return 0 -- -- [[ "$kernel_current" ]] || export kernel_current=$(uname -r) -- -- if [[ "$kernel_current" != "$kernel" ]]; then -- # check if module is loadable on the current kernel -- # this covers the case, where a new module is introduced -- # or a module was renamed -- # or a module changed from builtin to a module -- -- if [[ -d /lib/modules/$kernel_current ]]; then -- # if the modinfo can be parsed, but the module -- # is not loaded, then we can safely return 1 -- modinfo -F filename "$_mod" &>/dev/null && return 1 -- fi -- -- _aliases=$(modinfo -k $kernel -F alias $_mod 2>/dev/null) -- -- # if the module has no aliases, install it -- [[ $_aliases ]] || return 0 -- -- # finally check all modalias -- for a in $_aliases; do -- for i in "${!host_modalias[@]}"; do -- [[ $i == $a ]] && return 0 -- done -- done -- -- fi -- -- return 1 --} -- --find_kernel_modules_by_path () { -- local _OLDIFS -- -- [[ -f "$srcmods/modules.dep" ]] || return 0 -- -- _OLDIFS=$IFS -- IFS=: -- while read a rest || [ -n "$a" ]; do -- [[ $a = */$1/* ]] || [[ $a = updates/* ]] || continue -- printf "%s\n" "$srcmods/$a" -- done < "$srcmods/modules.dep" -- IFS=$_OLDIFS -- return 0 --} -- --find_kernel_modules () { -- find_kernel_modules_by_path drivers --} -- --# instmods [-c [-s]] [ ... ] --# instmods [-c [-s]] --# install kernel modules along with all their dependencies. --# can be e.g. "=block" or "=drivers/usb/storage" --instmods() { -- [[ $no_kernel = yes ]] && return -- # called [sub]functions inherit _fderr -- local _fderr=9 -- local _check=no -- local _silent=no -- if [[ $1 = '-c' ]]; then -- _check=yes -- shift -- fi -- -- if [[ $1 = '-s' ]]; then -- _silent=yes -- shift -- fi -- -- function inst1mod() { -- local _ret=0 _mod="$1" -- case $_mod in -- =*) -- ( [[ "$_mpargs" ]] && echo $_mpargs -- find_kernel_modules_by_path "${_mod#=}" ) \ -- | instmods -- ((_ret+=$?)) -- ;; -- --*) _mpargs+=" $_mod" ;; -- *) -- _mod=${_mod##*/} -- # Check for aliased modules -- _modalias=$(modinfo -k $kernel -F filename $_mod 2> /dev/null) -- _modalias=${_modalias%.ko*} -- if [[ $_modalias ]] && [ "${_modalias##*/}" != "${_mod%.ko*}" ] ; then -- _mod=${_modalias##*/} -- fi -- -- # if we are already installed, skip this module and go on -- # to the next one. -- if [[ $DRACUT_KERNEL_LAZY_HASHDIR ]] && \ -- [[ -f "$DRACUT_KERNEL_LAZY_HASHDIR/${_mod%.ko*}" ]]; then -- read _ret <"$DRACUT_KERNEL_LAZY_HASHDIR/${_mod%.ko*}" -- return $_ret -- fi -- -- _mod=${_mod/-/_} -- if [[ $omit_drivers ]] && [[ "$_mod" =~ $omit_drivers ]]; then -- dinfo "Omitting driver ${_mod##$srcmods}" -- return 0 -- fi -- -- # If we are building a host-specific initramfs and this -- # module is not already loaded, move on to the next one. -- [[ $hostonly ]] \ -- && ! module_is_host_only "$_mod" \ -- && return 0 -- -- if [[ "$_check" = "yes" ]] || ! [[ $DRACUT_KERNEL_LAZY_HASHDIR ]]; then -- # We use '-d' option in modprobe only if modules prefix path -- # differs from default '/'. This allows us to use dracut with -- # old version of modprobe which doesn't have '-d' option. -- local _moddirname=${srcmods%%/lib/modules/*} -- [[ -n ${_moddirname} ]] && _moddirname="-d ${_moddirname}/" -- -- # ok, load the module, all its dependencies, and any firmware -- # it may require -- for_each_kmod_dep install_kmod_with_fw $_mod \ -- --set-version $kernel ${_moddirname} $_mpargs -- ((_ret+=$?)) -- else -- [[ $DRACUT_KERNEL_LAZY_HASHDIR ]] && \ -- echo ${_mod%.ko*} >> "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist" -- fi -- ;; -- esac -- return $_ret -- } -- -- function instmods_1() { -- local _mod _mpargs -- if (($# == 0)); then # filenames from stdin -- while read _mod || [ -n "$_mod" ]; do -- inst1mod "${_mod%.ko*}" || { -- if [[ "$_check" == "yes" ]] && [[ "$_silent" == "no" ]]; then -- dfatal "Failed to install module $_mod" -- fi -- } -- done -- fi -- while (($# > 0)); do # filenames as arguments -- inst1mod ${1%.ko*} || { -- if [[ "$_check" == "yes" ]] && [[ "$_silent" == "no" ]]; then -- dfatal "Failed to install module $1" -- fi -- } -- shift -- done -- return 0 -- } -- -- local _ret _filter_not_found='FATAL: Module .* not found.' -- # Capture all stderr from modprobe to _fderr. We could use {var}>... -- # redirections, but that would make dracut require bash4 at least. -- eval "( instmods_1 \"\$@\" ) ${_fderr}>&1" \ -- | while read line || [ -n "$line" ]; do [[ "$line" =~ $_filter_not_found ]] || echo $line;done | derror -- _ret=$? -- return $_ret --} -- - check_kernel_config() - { - local _config_opt="$1" -diff --git a/dracut-init.sh b/dracut-init.sh -index 469e42a..d254e76 100644 ---- a/dracut-init.sh -+++ b/dracut-init.sh -@@ -1,6 +1,6 @@ - #!/bin/bash - # --# functions used by dracut and other tools. -+# functions used only by dracut and dracut modules - # - # Copyright 2005-2009 Red Hat, Inc. All rights reserved. - # -@@ -19,6 +19,33 @@ - # - export LC_MESSAGES=C - -+# is_func -+# Check whether $1 is a function. -+is_func() { -+ [[ "$(type -t "$1")" = "function" ]] -+} -+ -+if ! [[ $dracutbasedir ]]; then -+ dracutbasedir=${BASH_SOURCE[0]%/*} -+ [[ $dracutbasedir = dracut-functions* ]] && dracutbasedir="." -+ [[ $dracutbasedir ]] || dracutbasedir="." -+ dracutbasedir="$(readlink -f $dracutbasedir)" -+fi -+ -+if ! is_func dinfo >/dev/null 2>&1; then -+ . "$dracutbasedir/dracut-logger.sh" -+ dlog_init -+fi -+ -+if ! [[ $initdir ]]; then -+ dfatal "initdir not set" -+ exit 1 -+fi -+ -+if ! [[ -d $initdir ]]; then -+ mkdir -p "$initdir" -+fi -+ - if [[ $DRACUT_KERNEL_LAZY ]] && ! [[ $DRACUT_KERNEL_LAZY_HASHDIR ]]; then - if ! [[ -d "$initdir/.kernelmodseen" ]]; then - mkdir -p "$initdir/.kernelmodseen" -@@ -26,9 +53,1118 @@ if [[ $DRACUT_KERNEL_LAZY ]] && ! [[ $DRACUT_KERNEL_LAZY_HASHDIR ]]; then - DRACUT_KERNEL_LAZY_HASHDIR="$initdir/.kernelmodseen" - fi - --if [[ $initdir ]] && ! [[ -d $initdir ]]; then -- mkdir -p "$initdir" -+if ! [[ $kernel ]]; then -+ kernel=$(uname -r) -+ export kernel -+fi -+ -+srcmods="/lib/modules/$kernel/" -+ -+[[ $drivers_dir ]] && { -+ if ! command -v kmod &>/dev/null && vercmp "$(modprobe --version | cut -d' ' -f3)" lt 3.7; then -+ dfatal 'To use --kmoddir option module-init-tools >= 3.7 is required.' -+ exit 1 -+ fi -+ srcmods="$drivers_dir" -+} -+export srcmods -+ -+# export standard hookdirs -+[[ $hookdirs ]] || { -+ hookdirs="cmdline pre-udev pre-trigger netroot " -+ hookdirs+="initqueue initqueue/settled initqueue/online initqueue/finished initqueue/timeout " -+ hookdirs+="pre-mount pre-pivot cleanup mount " -+ hookdirs+="emergency shutdown-emergency pre-shutdown shutdown " -+ export hookdirs -+} -+ -+# Detect lib paths -+if ! [[ $libdirs ]] ; then -+ if [[ "$(ldd /bin/sh)" == */lib64/* ]] &>/dev/null \ -+ && [[ -d /lib64 ]]; then -+ libdirs+=" /lib64" -+ [[ -d /usr/lib64 ]] && libdirs+=" /usr/lib64" -+ else -+ libdirs+=" /lib" -+ [[ -d /usr/lib ]] && libdirs+=" /usr/lib" -+ fi -+ -+ libdirs+=" $(ldconfig_paths)" -+ -+ export libdirs - fi - --[[ $dracutbasedir ]] || export dracutbasedir=${BASH_SOURCE%/*} - . $dracutbasedir/dracut-functions.sh -+ -+# helper function for check() in module-setup.sh -+# to check for required installed binaries -+# issues a standardized warning message -+require_binaries() { -+ local _module_name="${moddir##*/}" -+ local _ret=0 -+ -+ if [[ "$1" = "-m" ]]; then -+ _module_name="$2" -+ shift 2 -+ fi -+ -+ for cmd in "$@"; do -+ if ! find_binary "$cmd" &>/dev/null; then -+ dinfo "dracut module '${_module_name#[0-9][0-9]}' will not be installed, because command '$cmd' could not be found!" -+ ((_ret++)) -+ fi -+ done -+ return $_ret -+} -+ -+require_any_binary() { -+ local _module_name="${moddir##*/}" -+ local _ret=1 -+ -+ if [[ "$1" = "-m" ]]; then -+ _module_name="$2" -+ shift 2 -+ fi -+ -+ for cmd in "$@"; do -+ if find_binary "$cmd" &>/dev/null; then -+ _ret=0 -+ break -+ fi -+ done -+ -+ if (( $_ret != 0 )); then -+ dinfo "$_module_name: Could not find any command of '$@'!" -+ return 1 -+ fi -+ -+ return 0 -+} -+ -+dracut_need_initqueue() { -+ >"$initdir/lib/dracut/need-initqueue" -+} -+ -+dracut_module_included() { -+ [[ " $mods_to_load $modules_loaded " == *\ $*\ * ]] -+} -+ -+if ! [[ $DRACUT_INSTALL ]]; then -+ DRACUT_INSTALL=$(find_binary dracut-install) -+fi -+ -+if ! [[ $DRACUT_INSTALL ]] && [[ -x $dracutbasedir/dracut-install ]]; then -+ DRACUT_INSTALL=$dracutbasedir/dracut-install -+elif ! [[ $DRACUT_INSTALL ]] && [[ -x $dracutbasedir/install/dracut-install ]]; then -+ DRACUT_INSTALL=$dracutbasedir/install/dracut-install -+fi -+ -+if ! [[ -x $DRACUT_INSTALL ]]; then -+ dfatal "dracut-install not found!" -+ exit 10 -+fi -+ -+[[ $DRACUT_RESOLVE_LAZY ]] || export DRACUT_RESOLVE_DEPS=1 -+inst_dir() { -+ [[ -e ${initdir}/"$1" ]] && return 0 # already there -+ $DRACUT_INSTALL ${initdir:+-D "$initdir"} -d "$@" -+ (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} -d "$@" || : -+} -+ -+inst() { -+ local _hostonly_install -+ if [[ "$1" == "-H" ]]; then -+ _hostonly_install="-H" -+ shift -+ fi -+ [[ -e ${initdir}/"${2:-$1}" ]] && return 0 # already there -+ $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@" -+ (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@" || : -+} -+ -+inst_simple() { -+ local _hostonly_install -+ if [[ "$1" == "-H" ]]; then -+ _hostonly_install="-H" -+ shift -+ fi -+ [[ -e ${initdir}/"${2:-$1}" ]] && return 0 # already there -+ [[ -e $1 ]] || return 1 # no source -+ $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${_hostonly_install:+-H} "$@" -+ (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${_hostonly_install:+-H} "$@" || : -+} -+ -+inst_symlink() { -+ local _hostonly_install -+ if [[ "$1" == "-H" ]]; then -+ _hostonly_install="-H" -+ shift -+ fi -+ [[ -e ${initdir}/"${2:-$1}" ]] && return 0 # already there -+ [[ -L $1 ]] || return 1 -+ $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@" -+ (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@" || : -+} -+ -+inst_multiple() { -+ local _ret -+ $DRACUT_INSTALL ${initdir:+-D "$initdir"} -a ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@" -+ _ret=$? -+ (($_ret != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} -a ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@" || : -+ return $_ret -+} -+ -+dracut_install() { -+ inst_multiple "$@" -+} -+ -+inst_library() { -+ local _hostonly_install -+ if [[ "$1" == "-H" ]]; then -+ _hostonly_install="-H" -+ shift -+ fi -+ [[ -e ${initdir}/"${2:-$1}" ]] && return 0 # already there -+ [[ -e $1 ]] || return 1 # no source -+ $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@" -+ (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@" || : -+} -+ -+inst_binary() { -+ $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@" -+ (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@" || : -+} -+ -+inst_script() { -+ $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@" -+ (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@" || : -+} -+ -+mark_hostonly() { -+ for i in "$@"; do -+ echo "$i" >> "$initdir/lib/dracut/hostonly-files" -+ done -+} -+ -+# find symlinks linked to given library file -+# $1 = library file -+# Function searches for symlinks by stripping version numbers appended to -+# library filename, checks if it points to the same target and finally -+# prints the list of symlinks to stdout. -+# -+# Example: -+# rev_lib_symlinks libfoo.so.8.1 -+# output: libfoo.so.8 libfoo.so -+# (Only if libfoo.so.8 and libfoo.so exists on host system.) -+rev_lib_symlinks() { -+ [[ ! $1 ]] && return 0 -+ -+ local fn="$1" orig="$(readlink -f "$1")" links='' -+ -+ [[ ${fn} == *.so.* ]] || return 1 -+ -+ until [[ ${fn##*.} == so ]]; do -+ fn="${fn%.*}" -+ [[ -L ${fn} && $(readlink -f "${fn}") == ${orig} ]] && links+=" ${fn}" -+ done -+ -+ echo "${links}" -+} -+ -+# attempt to install any programs specified in a udev rule -+inst_rule_programs() { -+ local _prog _bin -+ -+ if grep -qE 'PROGRAM==?"[^ "]+' "$1"; then -+ for _prog in $(grep -E 'PROGRAM==?"[^ "]+' "$1" | sed -r 's/.*PROGRAM==?"([^ "]+).*/\1/'); do -+ _bin="" -+ if [ -x ${udevdir}/$_prog ]; then -+ _bin=${udevdir}/$_prog -+ elif [[ "${_prog/\$env\{/}" == "$_prog" ]]; then -+ _bin=$(find_binary "$_prog") || { -+ dinfo "Skipping program $_prog using in udev rule ${1##*/} as it cannot be found" -+ continue; -+ } -+ fi -+ -+ [[ $_bin ]] && inst_binary "$_bin" -+ done -+ fi -+ if grep -qE 'RUN[+=]=?"[^ "]+' "$1"; then -+ for _prog in $(grep -E 'RUN[+=]=?"[^ "]+' "$1" | sed -r 's/.*RUN[+=]=?"([^ "]+).*/\1/'); do -+ _bin="" -+ if [ -x ${udevdir}/$_prog ]; then -+ _bin=${udevdir}/$_prog -+ elif [[ "${_prog/\$env\{/}" == "$_prog" ]] && [[ "${_prog}" != "/sbin/initqueue" ]]; then -+ _bin=$(find_binary "$_prog") || { -+ dinfo "Skipping program $_prog using in udev rule ${1##*/} as it cannot be found" -+ continue; -+ } -+ fi -+ -+ [[ $_bin ]] && inst_binary "$_bin" -+ done -+ fi -+ if grep -qE 'IMPORT\{program\}==?"[^ "]+' "$1"; then -+ for _prog in $(grep -E 'IMPORT\{program\}==?"[^ "]+' "$1" | sed -r 's/.*IMPORT\{program\}==?"([^ "]+).*/\1/'); do -+ _bin="" -+ if [ -x ${udevdir}/$_prog ]; then -+ _bin=${udevdir}/$_prog -+ elif [[ "${_prog/\$env\{/}" == "$_prog" ]]; then -+ _bin=$(find_binary "$_prog") || { -+ dinfo "Skipping program $_prog using in udev rule ${1##*/} as it cannot be found" -+ continue; -+ } -+ fi -+ -+ [[ $_bin ]] && dracut_install "$_bin" -+ done -+ fi -+} -+ -+# attempt to install any programs specified in a udev rule -+inst_rule_group_owner() { -+ local i -+ -+ if grep -qE 'OWNER=?"[^ "]+' "$1"; then -+ for i in $(grep -E 'OWNER=?"[^ "]+' "$1" | sed -r 's/.*OWNER=?"([^ "]+).*/\1/'); do -+ if ! egrep -q "^$i:" "$initdir/etc/passwd" 2>/dev/null; then -+ egrep "^$i:" /etc/passwd 2>/dev/null >> "$initdir/etc/passwd" -+ fi -+ done -+ fi -+ if grep -qE 'GROUP=?"[^ "]+' "$1"; then -+ for i in $(grep -E 'GROUP=?"[^ "]+' "$1" | sed -r 's/.*GROUP=?"([^ "]+).*/\1/'); do -+ if ! egrep -q "^$i:" "$initdir/etc/group" 2>/dev/null; then -+ egrep "^$i:" /etc/group 2>/dev/null >> "$initdir/etc/group" -+ fi -+ done -+ fi -+} -+ -+inst_rule_initqueue() { -+ if grep -q -F initqueue "$1"; then -+ dracut_need_initqueue -+ fi -+} -+ -+# udev rules always get installed in the same place, so -+# create a function to install them to make life simpler. -+inst_rules() { -+ local _target=/etc/udev/rules.d _rule _found -+ -+ inst_dir "${udevdir}/rules.d" -+ inst_dir "$_target" -+ for _rule in "$@"; do -+ if [ "${_rule#/}" = "$_rule" ]; then -+ for r in ${udevdir}/rules.d ${hostonly:+/etc/udev/rules.d}; do -+ [[ -e $r/$_rule ]] || continue -+ _found="$r/$_rule" -+ inst_rule_programs "$_found" -+ inst_rule_group_owner "$_found" -+ inst_rule_initqueue "$_found" -+ inst_simple "$_found" -+ done -+ fi -+ for r in '' $dracutbasedir/rules.d/; do -+ # skip rules without an absolute path -+ [[ "${r}$_rule" != /* ]] && continue -+ [[ -f ${r}$_rule ]] || continue -+ _found="${r}$_rule" -+ inst_rule_programs "$_found" -+ inst_rule_group_owner "$_found" -+ inst_rule_initqueue "$_found" -+ inst_simple "$_found" "$_target/${_found##*/}" -+ done -+ [[ $_found ]] || dinfo "Skipping udev rule: $_rule" -+ done -+} -+ -+inst_rules_wildcard() { -+ local _target=/etc/udev/rules.d _rule _found -+ -+ inst_dir "${udevdir}/rules.d" -+ inst_dir "$_target" -+ for _rule in ${udevdir}/rules.d/$1 ${dracutbasedir}/rules.d/$1 ; do -+ [[ -e $_rule ]] || continue -+ inst_rule_programs "$_rule" -+ inst_rule_group_owner "$_rule" -+ inst_rule_initqueue "$_rule" -+ inst_simple "$_rule" -+ _found=$_rule -+ done -+ if [[ -n ${hostonly} ]] ; then -+ for _rule in ${_target}/$1 ; do -+ [[ -f $_rule ]] || continue -+ inst_rule_programs "$_rule" -+ inst_rule_group_owner "$_rule" -+ inst_rule_initqueue "$_rule" -+ inst_simple "$_rule" -+ _found=$_rule -+ done -+ fi -+ [[ $_found ]] || dinfo "Skipping udev rule: $_rule" -+} -+ -+prepare_udev_rules() { -+ [ -z "$UDEVVERSION" ] && export UDEVVERSION=$(udevadm --version) -+ -+ for f in "$@"; do -+ f="${initdir}/etc/udev/rules.d/$f" -+ [ -e "$f" ] || continue -+ while read line || [ -n "$line" ]; do -+ if [ "${line%%IMPORT PATH_ID}" != "$line" ]; then -+ if [ $UDEVVERSION -ge 174 ]; then -+ printf '%sIMPORT{builtin}="path_id"\n' "${line%%IMPORT PATH_ID}" -+ else -+ printf '%sIMPORT{program}="path_id %%p"\n' "${line%%IMPORT PATH_ID}" -+ fi -+ elif [ "${line%%IMPORT BLKID}" != "$line" ]; then -+ if [ $UDEVVERSION -ge 176 ]; then -+ printf '%sIMPORT{builtin}="blkid"\n' "${line%%IMPORT BLKID}" -+ else -+ printf '%sIMPORT{program}="/sbin/blkid -o udev -p $tempnode"\n' "${line%%IMPORT BLKID}" -+ fi -+ else -+ echo "$line" -+ fi -+ done < "${f}" > "${f}.new" -+ mv "${f}.new" "$f" -+ done -+} -+ -+# install function specialized for hooks -+# $1 = type of hook, $2 = hook priority (lower runs first), $3 = hook -+# All hooks should be POSIX/SuS compliant, they will be sourced by init. -+inst_hook() { -+ if ! [[ -f $3 ]]; then -+ dfatal "Cannot install a hook ($3) that does not exist." -+ dfatal "Aborting initrd creation." -+ exit 1 -+ elif ! [[ "$hookdirs" == *$1* ]]; then -+ dfatal "No such hook type $1. Aborting initrd creation." -+ exit 1 -+ fi -+ inst_simple "$3" "/lib/dracut/hooks/${1}/${2}-${3##*/}" -+} -+ -+# install any of listed files -+# -+# If first argument is '-d' and second some destination path, first accessible -+# source is installed into this path, otherwise it will installed in the same -+# path as source. If none of listed files was installed, function return 1. -+# On first successful installation it returns with 0 status. -+# -+# Example: -+# -+# inst_any -d /bin/foo /bin/bar /bin/baz -+# -+# Lets assume that /bin/baz exists, so it will be installed as /bin/foo in -+# initramfs. -+inst_any() { -+ local to f -+ -+ [[ $1 = '-d' ]] && to="$2" && shift 2 -+ -+ for f in "$@"; do -+ [[ -e $f ]] || continue -+ [[ $to ]] && inst "$f" "$to" && return 0 -+ inst "$f" && return 0 -+ done -+ -+ return 1 -+} -+ -+ -+# inst_libdir_file [-n ] [...] -+# Install a located on a lib directory to the initramfs image -+# -n install matching files -+inst_libdir_file() { -+ local _files -+ if [[ "$1" == "-n" ]]; then -+ local _pattern=$2 -+ shift 2 -+ for _dir in $libdirs; do -+ for _i in "$@"; do -+ for _f in "$_dir"/$_i; do -+ [[ "$_f" =~ $_pattern ]] || continue -+ [[ -e "$_f" ]] && _files+="$_f " -+ done -+ done -+ done -+ else -+ for _dir in $libdirs; do -+ for _i in "$@"; do -+ for _f in "$_dir"/$_i; do -+ [[ -e "$_f" ]] && _files+="$_f " -+ done -+ done -+ done -+ fi -+ [[ $_files ]] && inst_multiple $_files -+} -+ -+ -+# install function decompressing the target and handling symlinks -+# $@ = list of compressed (gz or bz2) files or symlinks pointing to such files -+# -+# Function install targets in the same paths inside overlay but decompressed -+# and without extensions (.gz, .bz2). -+inst_decompress() { -+ local _src _cmd -+ -+ for _src in $@ -+ do -+ case ${_src} in -+ *.gz) _cmd='gzip -f -d' ;; -+ *.bz2) _cmd='bzip2 -d' ;; -+ *) return 1 ;; -+ esac -+ inst_simple ${_src} -+ # Decompress with chosen tool. We assume that tool changes name e.g. -+ # from 'name.gz' to 'name'. -+ ${_cmd} "${initdir}${_src}" -+ done -+} -+ -+# It's similar to above, but if file is not compressed, performs standard -+# install. -+# $@ = list of files -+inst_opt_decompress() { -+ local _src -+ -+ for _src in $@; do -+ inst_decompress "${_src}" || inst "${_src}" -+ done -+} -+ -+# module_check -+# execute the check() function of module-setup.sh of -+# or the "check" script, if module-setup.sh is not found -+# "check $hostonly" is called -+module_check() { -+ local _moddir=$(echo ${dracutbasedir}/modules.d/??${1} | { read a b; echo "$a"; }) -+ local _ret -+ local _forced=0 -+ local _hostonly=$hostonly -+ [ $# -eq 2 ] && _forced=$2 -+ [[ -d $_moddir ]] || return 1 -+ if [[ ! -f $_moddir/module-setup.sh ]]; then -+ # if we do not have a check script, we are unconditionally included -+ [[ -x $_moddir/check ]] || return 0 -+ [ $_forced -ne 0 ] && unset hostonly -+ $_moddir/check $hostonly -+ _ret=$? -+ else -+ unset check depends cmdline install installkernel -+ check() { true; } -+ . $_moddir/module-setup.sh -+ is_func check || return 0 -+ [ $_forced -ne 0 ] && unset hostonly -+ moddir=$_moddir check $hostonly -+ _ret=$? -+ unset check depends cmdline install installkernel -+ fi -+ hostonly=$_hostonly -+ return $_ret -+} -+ -+# module_check_mount -+# execute the check() function of module-setup.sh of -+# or the "check" script, if module-setup.sh is not found -+# "mount_needs=1 check 0" is called -+module_check_mount() { -+ local _moddir=$(echo ${dracutbasedir}/modules.d/??${1} | { read a b; echo "$a"; }) -+ local _ret -+ mount_needs=1 -+ [[ -d $_moddir ]] || return 1 -+ if [[ ! -f $_moddir/module-setup.sh ]]; then -+ # if we do not have a check script, we are unconditionally included -+ [[ -x $_moddir/check ]] || return 0 -+ mount_needs=1 $_moddir/check 0 -+ _ret=$? -+ else -+ unset check depends cmdline install installkernel -+ check() { false; } -+ . $_moddir/module-setup.sh -+ moddir=$_moddir check 0 -+ _ret=$? -+ unset check depends cmdline install installkernel -+ fi -+ unset mount_needs -+ return $_ret -+} -+ -+# module_depends -+# execute the depends() function of module-setup.sh of -+# or the "depends" script, if module-setup.sh is not found -+module_depends() { -+ local _moddir=$(echo ${dracutbasedir}/modules.d/??${1} | { read a b; echo "$a"; }) -+ local _ret -+ [[ -d $_moddir ]] || return 1 -+ if [[ ! -f $_moddir/module-setup.sh ]]; then -+ # if we do not have a check script, we have no deps -+ [[ -x $_moddir/check ]] || return 0 -+ $_moddir/check -d -+ return $? -+ else -+ unset check depends cmdline install installkernel -+ depends() { true; } -+ . $_moddir/module-setup.sh -+ moddir=$_moddir depends -+ _ret=$? -+ unset check depends cmdline install installkernel -+ return $_ret -+ fi -+} -+ -+# module_cmdline -+# execute the cmdline() function of module-setup.sh of -+# or the "cmdline" script, if module-setup.sh is not found -+module_cmdline() { -+ local _moddir=$(echo ${dracutbasedir}/modules.d/??${1} | { read a b; echo "$a"; }) -+ local _ret -+ [[ -d $_moddir ]] || return 1 -+ if [[ ! -f $_moddir/module-setup.sh ]]; then -+ [[ -x $_moddir/cmdline ]] && . "$_moddir/cmdline" -+ return $? -+ else -+ unset check depends cmdline install installkernel -+ cmdline() { true; } -+ . $_moddir/module-setup.sh -+ moddir=$_moddir cmdline -+ _ret=$? -+ unset check depends cmdline install installkernel -+ return $_ret -+ fi -+} -+ -+# module_install -+# execute the install() function of module-setup.sh of -+# or the "install" script, if module-setup.sh is not found -+module_install() { -+ local _moddir=$(echo ${dracutbasedir}/modules.d/??${1} | { read a b; echo "$a"; }) -+ local _ret -+ [[ -d $_moddir ]] || return 1 -+ if [[ ! -f $_moddir/module-setup.sh ]]; then -+ [[ -x $_moddir/install ]] && . "$_moddir/install" -+ return $? -+ else -+ unset check depends cmdline install installkernel -+ install() { true; } -+ . $_moddir/module-setup.sh -+ moddir=$_moddir install -+ _ret=$? -+ unset check depends cmdline install installkernel -+ return $_ret -+ fi -+} -+ -+# module_installkernel -+# execute the installkernel() function of module-setup.sh of -+# or the "installkernel" script, if module-setup.sh is not found -+module_installkernel() { -+ local _moddir=$(echo ${dracutbasedir}/modules.d/??${1} | { read a b; echo "$a"; }) -+ local _ret -+ [[ -d $_moddir ]] || return 1 -+ if [[ ! -f $_moddir/module-setup.sh ]]; then -+ [[ -x $_moddir/installkernel ]] && . "$_moddir/installkernel" -+ return $? -+ else -+ unset check depends cmdline install installkernel -+ installkernel() { true; } -+ . $_moddir/module-setup.sh -+ moddir=$_moddir installkernel -+ _ret=$? -+ unset check depends cmdline install installkernel -+ return $_ret -+ fi -+} -+ -+# check_mount -+# check_mount checks, if a dracut module is needed for the given -+# device and filesystem types in "${host_fs_types[@]}" -+check_mount() { -+ local _mod=$1 -+ local _moddir=$(echo ${dracutbasedir}/modules.d/??${1} | { read a b; echo "$a"; }) -+ local _ret -+ local _moddep -+ -+ [ "${#host_fs_types[@]}" -le 0 ] && return 1 -+ -+ # If we are already scheduled to be loaded, no need to check again. -+ [[ " $mods_to_load " == *\ $_mod\ * ]] && return 0 -+ [[ " $mods_checked_as_dep " == *\ $_mod\ * ]] && return 1 -+ -+ # This should never happen, but... -+ [[ -d $_moddir ]] || return 1 -+ -+ [[ $2 ]] || mods_checked_as_dep+=" $_mod " -+ -+ if [[ " $omit_dracutmodules " == *\ $_mod\ * ]]; then -+ return 1 -+ fi -+ -+ if [[ " $dracutmodules $add_dracutmodules $force_add_dracutmodules" == *\ $_mod\ * ]]; then -+ module_check_mount $_mod; ret=$? -+ -+ # explicit module, so also accept ret=255 -+ [[ $ret = 0 || $ret = 255 ]] || return 1 -+ else -+ # module not in our list -+ if [[ $dracutmodules = all ]]; then -+ # check, if we can and should install this module -+ module_check_mount $_mod || return 1 -+ else -+ # skip this module -+ return 1 -+ fi -+ fi -+ -+ for _moddep in $(module_depends $_mod); do -+ # handle deps as if they were manually added -+ [[ " $dracutmodules " == *\ $_mod\ * ]] \ -+ && [[ " $dracutmodules " != *\ $_moddep\ * ]] \ -+ && dracutmodules+=" $_moddep " -+ [[ " $add_dracutmodules " == *\ $_mod\ * ]] \ -+ && [[ " $add_dracutmodules " != *\ $_moddep\ * ]] \ -+ && add_dracutmodules+=" $_moddep " -+ [[ " $force_add_dracutmodules " == *\ $_mod\ * ]] \ -+ && [[ " $force_add_dracutmodules " != *\ $_moddep\ * ]] \ -+ && force_add_dracutmodules+=" $_moddep " -+ # if a module we depend on fail, fail also -+ if ! check_module $_moddep; then -+ derror "dracut module '$_mod' depends on '$_moddep', which can't be installed" -+ return 1 -+ fi -+ done -+ -+ [[ " $mods_to_load " == *\ $_mod\ * ]] || \ -+ mods_to_load+=" $_mod " -+ -+ return 0 -+} -+ -+# check_module [] -+# check if a dracut module is to be used in the initramfs process -+# if is set, then the process also keeps track -+# that the modules were checked for the dependency tracking process -+check_module() { -+ local _mod=$1 -+ local _moddir=$(echo ${dracutbasedir}/modules.d/??${1} | { read a b; echo "$a"; }) -+ local _ret -+ local _moddep -+ # If we are already scheduled to be loaded, no need to check again. -+ [[ " $mods_to_load " == *\ $_mod\ * ]] && return 0 -+ [[ " $mods_checked_as_dep " == *\ $_mod\ * ]] && return 1 -+ -+ # This should never happen, but... -+ [[ -d $_moddir ]] || return 1 -+ -+ [[ $2 ]] || mods_checked_as_dep+=" $_mod " -+ -+ if [[ " $omit_dracutmodules " == *\ $_mod\ * ]]; then -+ dinfo "dracut module '$_mod' will not be installed, because it's in the list to be omitted!" -+ return 1 -+ fi -+ -+ if [[ " $dracutmodules $add_dracutmodules $force_add_dracutmodules" == *\ $_mod\ * ]]; then -+ if [[ " $dracutmodules $force_add_dracutmodules " == *\ $_mod\ * ]]; then -+ module_check $_mod 1; ret=$? -+ else -+ module_check $_mod 0; ret=$? -+ fi -+ # explicit module, so also accept ret=255 -+ [[ $ret = 0 || $ret = 255 ]] || return 1 -+ else -+ # module not in our list -+ if [[ $dracutmodules = all ]]; then -+ # check, if we can and should install this module -+ module_check $_mod; ret=$? -+ if [[ $ret != 0 ]]; then -+ [[ $2 ]] && return 1 -+ [[ $ret != 255 ]] && return 1 -+ fi -+ else -+ # skip this module -+ return 1 -+ fi -+ fi -+ -+ for _moddep in $(module_depends $_mod); do -+ # handle deps as if they were manually added -+ [[ " $dracutmodules " == *\ $_mod\ * ]] \ -+ && [[ " $dracutmodules " != *\ $_moddep\ * ]] \ -+ && dracutmodules+=" $_moddep " -+ [[ " $add_dracutmodules " == *\ $_mod\ * ]] \ -+ && [[ " $add_dracutmodules " != *\ $_moddep\ * ]] \ -+ && add_dracutmodules+=" $_moddep " -+ [[ " $force_add_dracutmodules " == *\ $_mod\ * ]] \ -+ && [[ " $force_add_dracutmodules " != *\ $_moddep\ * ]] \ -+ && force_add_dracutmodules+=" $_moddep " -+ # if a module we depend on fail, fail also -+ if ! check_module $_moddep; then -+ derror "dracut module '$_mod' depends on '$_moddep', which can't be installed" -+ return 1 -+ fi -+ done -+ -+ [[ " $mods_to_load " == *\ $_mod\ * ]] || \ -+ mods_to_load+=" $_mod " -+ -+ return 0 -+} -+ -+# for_each_module_dir -+# execute " 1" -+for_each_module_dir() { -+ local _modcheck -+ local _mod -+ local _moddir -+ local _func -+ _func=$1 -+ for _moddir in "$dracutbasedir/modules.d"/[0-9][0-9]*; do -+ [[ -d $_moddir ]] || continue; -+ [[ -e $_moddir/install || -e $_moddir/installkernel || \ -+ -e $_moddir/module-setup.sh ]] || continue -+ _mod=${_moddir##*/}; _mod=${_mod#[0-9][0-9]} -+ $_func $_mod 1 -+ done -+ -+ # Report any missing dracut modules, the user has specified -+ _modcheck="$add_dracutmodules $force_add_dracutmodules" -+ [[ $dracutmodules != all ]] && _modcheck="$_modcheck $dracutmodules" -+ for _mod in $_modcheck; do -+ [[ " $mods_to_load " == *\ $_mod\ * ]] && continue -+ -+ [[ " $force_add_dracutmodules " != *\ $_mod\ * ]] \ -+ && [[ " $dracutmodules " != *\ $_mod\ * ]] \ -+ && [[ " $omit_dracutmodules " == *\ $_mod\ * ]] \ -+ && continue -+ -+ derror "dracut module '$_mod' cannot be found or installed." -+ [[ " $force_add_dracutmodules " == *\ $_mod\ * ]] && exit 1 -+ [[ " $dracutmodules " == *\ $_mod\ * ]] && exit 1 -+ [[ " $add_dracutmodules " == *\ $_mod\ * ]] && exit 1 -+ done -+} -+ -+# Install a single kernel module along with any firmware it may require. -+# $1 = full path to kernel module to install -+install_kmod_with_fw() { -+ # no need to go further if the module is already installed -+ -+ [[ -e "${initdir}/lib/modules/$kernel/${1##*/lib/modules/$kernel/}" ]] \ -+ && return 0 -+ -+ if [[ $DRACUT_KERNEL_LAZY_HASHDIR ]] && [[ -e "$DRACUT_KERNEL_LAZY_HASHDIR/${1##*/}" ]]; then -+ read ret < "$DRACUT_KERNEL_LAZY_HASHDIR/${1##*/}" -+ return $ret -+ fi -+ -+ if [[ $omit_drivers ]]; then -+ local _kmod=${1##*/} -+ _kmod=${_kmod%.ko*} -+ _kmod=${_kmod/-/_} -+ if [[ "$_kmod" =~ $omit_drivers ]]; then -+ dinfo "Omitting driver $_kmod" -+ return 0 -+ fi -+ if [[ "${1##*/lib/modules/$kernel/}" =~ $omit_drivers ]]; then -+ dinfo "Omitting driver $_kmod" -+ return 0 -+ fi -+ fi -+ -+ if [[ $silent_omit_drivers ]]; then -+ local _kmod=${1##*/} -+ _kmod=${_kmod%.ko*} -+ _kmod=${_kmod/-/_} -+ [[ "$_kmod" =~ $silent_omit_drivers ]] && return 0 -+ [[ "${1##*/lib/modules/$kernel/}" =~ $silent_omit_drivers ]] && return 0 -+ fi -+ -+ inst_simple "$1" "/lib/modules/$kernel/${1##*/lib/modules/$kernel/}" -+ ret=$? -+ [[ $DRACUT_KERNEL_LAZY_HASHDIR ]] && \ -+ [[ -d "$DRACUT_KERNEL_LAZY_HASHDIR" ]] && \ -+ echo $ret > "$DRACUT_KERNEL_LAZY_HASHDIR/${1##*/}" -+ (($ret != 0)) && return $ret -+ -+ local _modname=${1##*/} _fwdir _found _fw -+ _modname=${_modname%.ko*} -+ for _fw in $(modinfo -k $kernel -F firmware $1 2>/dev/null); do -+ _found='' -+ for _fwdir in $fw_dir; do -+ [[ -d $_fwdir && -f $_fwdir/$_fw ]] || continue -+ inst_simple "$_fwdir/$_fw" "/lib/firmware/$_fw" -+ _found=yes -+ done -+ if [[ $_found != yes ]]; then -+ if ! [[ -d $(echo /sys/module/${_modname//-/_}|{ read a b; echo $a; }) ]]; then -+ dinfo "Possible missing firmware \"${_fw}\" for kernel module" \ -+ "\"${_modname}.ko\"" -+ else -+ dwarn "Possible missing firmware \"${_fw}\" for kernel module" \ -+ "\"${_modname}.ko\"" -+ fi -+ fi -+ done -+ return 0 -+} -+ -+# Do something with all the dependencies of a kernel module. -+# Note that kernel modules depend on themselves using the technique we use -+# $1 = function to call for each dependency we find -+# It will be passed the full path to the found kernel module -+# $2 = module to get dependencies for -+# rest of args = arguments to modprobe -+# _fderr specifies FD passed from surrounding scope -+for_each_kmod_dep() { -+ local _func=$1 _kmod=$2 _cmd _modpath _options -+ shift 2 -+ modprobe "$@" --ignore-install --show-depends $_kmod 2>&${_fderr} | ( -+ while read _cmd _modpath _options || [ -n "$_cmd" ]; do -+ [[ $_cmd = insmod ]] || continue -+ $_func ${_modpath} || exit $? -+ done -+ ) -+} -+ -+dracut_kernel_post() { -+ local _moddirname=${srcmods%%/lib/modules/*} -+ local _pid -+ -+ if [[ $DRACUT_KERNEL_LAZY_HASHDIR ]] && [[ -f "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist" ]]; then -+ xargs -r modprobe -a ${_moddirname:+-d ${_moddirname}/} \ -+ --ignore-install --show-depends --set-version $kernel \ -+ < "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist" 2>/dev/null \ -+ | sort -u \ -+ | while read _cmd _modpath _options || [ -n "$_cmd" ]; do -+ [[ $_cmd = insmod ]] || continue -+ echo "$_modpath" -+ done > "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist.dep" -+ -+ ( -+ if [[ $DRACUT_INSTALL ]] && [[ -z $_moddirname ]]; then -+ xargs -r $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} -a < "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist.dep" -+ else -+ while read _modpath || [ -n "$_modpath" ]; do -+ local _destpath=$_modpath -+ [[ $_moddirname ]] && _destpath=${_destpath##$_moddirname/} -+ _destpath=${_destpath##*/lib/modules/$kernel/} -+ inst_simple "$_modpath" "/lib/modules/$kernel/${_destpath}" || exit $? -+ done < "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist.dep" -+ fi -+ ) & -+ _pid=$(jobs -p | while read a || [ -n "$a" ]; do printf ":$a";done) -+ _pid=${_pid##*:} -+ -+ if [[ $DRACUT_INSTALL ]]; then -+ xargs -r modinfo -k $kernel -F firmware < "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist.dep" \ -+ | while read line || [ -n "$line" ]; do -+ for _fwdir in $fw_dir; do -+ echo $_fwdir/$line; -+ done; -+ done | xargs -r $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} -a -o -+ else -+ for _fw in $(xargs -r modinfo -k $kernel -F firmware < "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist.dep"); do -+ for _fwdir in $fw_dir; do -+ [[ -d $_fwdir && -f $_fwdir/$_fw ]] || continue -+ inst_simple "$_fwdir/$_fw" "/lib/firmware/$_fw" -+ break -+ done -+ done -+ fi -+ -+ wait $_pid -+ fi -+ -+ for _f in modules.builtin.bin modules.builtin modules.order; do -+ [[ $srcmods/$_f ]] && inst_simple "$srcmods/$_f" "/lib/modules/$kernel/$_f" -+ done -+ -+ # generate module dependencies for the initrd -+ if [[ -d $initdir/lib/modules/$kernel ]] && \ -+ ! depmod -a -b "$initdir" $kernel; then -+ dfatal "\"depmod -a $kernel\" failed." -+ exit 1 -+ fi -+ -+ [[ $DRACUT_KERNEL_LAZY_HASHDIR ]] && rm -fr -- "$DRACUT_KERNEL_LAZY_HASHDIR" -+} -+ -+[[ "$kernel_current" ]] || export kernel_current=$(uname -r) -+ -+module_is_host_only() { -+ local _mod=$1 -+ local _modenc a i _k _s _v _aliases -+ _mod=${_mod##*/} -+ _mod=${_mod%.ko*} -+ _modenc=${_mod//-/_} -+ -+ [[ " $add_drivers " == *\ ${_mod}\ * ]] && return 0 -+ -+ # check if module is loaded -+ [[ ${host_modules["$_modenc"]} ]] && return 0 -+ -+ [[ "$kernel_current" ]] || export kernel_current=$(uname -r) -+ -+ if [[ "$kernel_current" != "$kernel" ]]; then -+ # check if module is loadable on the current kernel -+ # this covers the case, where a new module is introduced -+ # or a module was renamed -+ # or a module changed from builtin to a module -+ -+ if [[ -d /lib/modules/$kernel_current ]]; then -+ # if the modinfo can be parsed, but the module -+ # is not loaded, then we can safely return 1 -+ modinfo -F filename "$_mod" &>/dev/null && return 1 -+ fi -+ -+ _aliases=$(modinfo -k $kernel -F alias $_mod 2>/dev/null) -+ -+ # if the module has no aliases, install it -+ [[ $_aliases ]] || return 0 -+ -+ # finally check all modalias -+ for a in $_aliases; do -+ for i in "${!host_modalias[@]}"; do -+ [[ $i == $a ]] && return 0 -+ done -+ done -+ -+ fi -+ -+ return 1 -+} -+ -+find_kernel_modules_by_path () { -+ local _OLDIFS -+ -+ [[ -f "$srcmods/modules.dep" ]] || return 0 -+ -+ _OLDIFS=$IFS -+ IFS=: -+ while read a rest || [ -n "$a" ]; do -+ [[ $a = */$1/* ]] || [[ $a = updates/* ]] || continue -+ printf "%s\n" "$srcmods/$a" -+ done < "$srcmods/modules.dep" -+ IFS=$_OLDIFS -+ return 0 -+} -+ -+find_kernel_modules () { -+ find_kernel_modules_by_path drivers -+} -+ -+# instmods [-c [-s]] [ ... ] -+# instmods [-c [-s]] -+# install kernel modules along with all their dependencies. -+# can be e.g. "=block" or "=drivers/usb/storage" -+instmods() { -+ [[ $no_kernel = yes ]] && return -+ # called [sub]functions inherit _fderr -+ local _fderr=9 -+ local _check=no -+ local _silent=no -+ if [[ $1 = '-c' ]]; then -+ _check=yes -+ shift -+ fi -+ -+ if [[ $1 = '-s' ]]; then -+ _silent=yes -+ shift -+ fi -+ -+ function inst1mod() { -+ local _ret=0 _mod="$1" -+ case $_mod in -+ =*) -+ ( [[ "$_mpargs" ]] && echo $_mpargs -+ find_kernel_modules_by_path "${_mod#=}" ) \ -+ | instmods -+ ((_ret+=$?)) -+ ;; -+ --*) _mpargs+=" $_mod" ;; -+ *) -+ _mod=${_mod##*/} -+ # Check for aliased modules -+ _modalias=$(modinfo -k $kernel -F filename $_mod 2> /dev/null) -+ _modalias=${_modalias%.ko*} -+ if [[ $_modalias ]] && [ "${_modalias##*/}" != "${_mod%.ko*}" ] ; then -+ _mod=${_modalias##*/} -+ fi -+ -+ # if we are already installed, skip this module and go on -+ # to the next one. -+ if [[ $DRACUT_KERNEL_LAZY_HASHDIR ]] && \ -+ [[ -f "$DRACUT_KERNEL_LAZY_HASHDIR/${_mod%.ko*}" ]]; then -+ read _ret <"$DRACUT_KERNEL_LAZY_HASHDIR/${_mod%.ko*}" -+ return $_ret -+ fi -+ -+ _mod=${_mod/-/_} -+ if [[ $omit_drivers ]] && [[ "$_mod" =~ $omit_drivers ]]; then -+ dinfo "Omitting driver ${_mod##$srcmods}" -+ return 0 -+ fi -+ -+ # If we are building a host-specific initramfs and this -+ # module is not already loaded, move on to the next one. -+ [[ $hostonly ]] \ -+ && ! module_is_host_only "$_mod" \ -+ && return 0 -+ -+ if [[ "$_check" = "yes" ]] || ! [[ $DRACUT_KERNEL_LAZY_HASHDIR ]]; then -+ # We use '-d' option in modprobe only if modules prefix path -+ # differs from default '/'. This allows us to use dracut with -+ # old version of modprobe which doesn't have '-d' option. -+ local _moddirname=${srcmods%%/lib/modules/*} -+ [[ -n ${_moddirname} ]] && _moddirname="-d ${_moddirname}/" -+ -+ # ok, load the module, all its dependencies, and any firmware -+ # it may require -+ for_each_kmod_dep install_kmod_with_fw $_mod \ -+ --set-version $kernel ${_moddirname} $_mpargs -+ ((_ret+=$?)) -+ else -+ [[ $DRACUT_KERNEL_LAZY_HASHDIR ]] && \ -+ echo ${_mod%.ko*} >> "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist" -+ fi -+ ;; -+ esac -+ return $_ret -+ } -+ -+ function instmods_1() { -+ local _mod _mpargs -+ if (($# == 0)); then # filenames from stdin -+ while read _mod || [ -n "$_mod" ]; do -+ inst1mod "${_mod%.ko*}" || { -+ if [[ "$_check" == "yes" ]] && [[ "$_silent" == "no" ]]; then -+ dfatal "Failed to install module $_mod" -+ fi -+ } -+ done -+ fi -+ while (($# > 0)); do # filenames as arguments -+ inst1mod ${1%.ko*} || { -+ if [[ "$_check" == "yes" ]] && [[ "$_silent" == "no" ]]; then -+ dfatal "Failed to install module $1" -+ fi -+ } -+ shift -+ done -+ return 0 -+ } -+ -+ local _ret _filter_not_found='FATAL: Module .* not found.' -+ # Capture all stderr from modprobe to _fderr. We could use {var}>... -+ # redirections, but that would make dracut require bash4 at least. -+ eval "( instmods_1 \"\$@\" ) ${_fderr}>&1" \ -+ | while read line || [ -n "$line" ]; do [[ "$line" =~ $_filter_not_found ]] || echo $line;done | derror -+ _ret=$? -+ return $_ret -+} diff --git a/0157-repro-squash.patch b/0157-repro-squash.patch deleted file mode 100644 index 7595e1d..0000000 --- a/0157-repro-squash.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 4a6c14f9875da2373f21cafadfe32c7c9acb39d6 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 13 Nov 2015 13:14:05 +0100 -Subject: [PATCH] repro squash - ---- - dracut.8.asc | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/dracut.8.asc b/dracut.8.asc -index 1fbbda4..5f45ed9 100644 ---- a/dracut.8.asc -+++ b/dracut.8.asc -@@ -428,6 +428,9 @@ will not be able to boot. - **--reproducible**:: - Create reproducible images. - -+**--no-reproducible**:: -+ Do not create reproducible images. -+ - **--list-modules**:: - List all available dracut modules. - diff --git a/0158-iscsi-iscsiroot.sh-put-variables-in-quotes.patch b/0158-iscsi-iscsiroot.sh-put-variables-in-quotes.patch deleted file mode 100644 index e3b87b1..0000000 --- a/0158-iscsi-iscsiroot.sh-put-variables-in-quotes.patch +++ /dev/null @@ -1,109 +0,0 @@ -From 98e9db275596577b649caa73f8580429f3abb8f4 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 13 Nov 2015 13:15:05 +0100 -Subject: [PATCH] iscsi/iscsiroot.sh: put variables in quotes - -best practice ---- - modules.d/95iscsi/iscsiroot.sh | 48 +++++++++++++++++++++--------------------- - 1 file changed, 24 insertions(+), 24 deletions(-) - -diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh -index 5752cce..8a98881 100755 ---- a/modules.d/95iscsi/iscsiroot.sh -+++ b/modules.d/95iscsi/iscsiroot.sh -@@ -109,7 +109,7 @@ handle_netroot() - getarg rw && iscsirw=rw - fsopts=${fsopts:+$fsopts,}${iscsirw} - -- if [ -z $iscsi_initiator ] && [ -f /sys/firmware/ibft/initiator/initiator-name ] && ! [ -f /tmp/iscsi_set_initiator ]; then -+ if [ -z "$iscsi_initiator" ] && [ -f /sys/firmware/ibft/initiator/initiator-name ] && ! [ -f /tmp/iscsi_set_initiator ]; then - iscsi_initiator=$(while read line || [ -n "$line" ]; do echo $line;done < /sys/firmware/ibft/initiator/initiator-name) - echo "InitiatorName=$iscsi_initiator" > /run/initiatorname.iscsi - rm -f /etc/iscsi/initiatorname.iscsi -@@ -120,14 +120,14 @@ handle_netroot() - > /tmp/iscsi_set_initiator - fi - -- if [ -z $iscsi_initiator ]; then -+ if [ -z "$iscsi_initiator" ]; then - [ -f /run/initiatorname.iscsi ] && . /run/initiatorname.iscsi - [ -f /etc/initiatorname.iscsi ] && . /etc/initiatorname.iscsi - [ -f /etc/iscsi/initiatorname.iscsi ] && . /etc/iscsi/initiatorname.iscsi - iscsi_initiator=$InitiatorName - fi - -- if [ -z $iscsi_initiator ]; then -+ if [ -z "$iscsi_initiator" ]; then - iscsi_initiator=$(iscsi-iname) - echo "InitiatorName=$iscsi_initiator" > /run/initiatorname.iscsi - rm -f /etc/iscsi/initiatorname.iscsi -@@ -140,15 +140,15 @@ handle_netroot() - fi - - -- if [ -z $iscsi_target_port ]; then -+ if [ -z "$iscsi_target_port" ]; then - iscsi_target_port=3260 - fi - -- if [ -z $iscsi_target_group ]; then -+ if [ -z "$iscsi_target_group" ]; then - iscsi_target_group=1 - fi - -- if [ -z $iscsi_lun ]; then -+ if [ -z "$iscsi_lun" ]; then - iscsi_lun=0 - fi - -@@ -182,15 +182,15 @@ handle_netroot() - --description="Login iSCSI Target $iscsi_target_name" \ - --unit="$netroot_enc" -- \ - $(command -v iscsistart) \ -- -i $iscsi_initiator -t $iscsi_target_name \ -- -g $iscsi_target_group -a $iscsi_target_ip \ -- -p $iscsi_target_port \ -- ${iscsi_username:+-u $iscsi_username} \ -- ${iscsi_password:+-w $iscsi_password} \ -- ${iscsi_in_username:+-U $iscsi_in_username} \ -- ${iscsi_in_password:+-W $iscsi_in_password} \ -- ${iscsi_iface_name:+--param iface.iscsi_ifacename=$iscsi_iface_name} \ -- ${iscsi_netdev_name:+--param iface.net_ifacename=$iscsi_netdev_name} \ -+ -i "$iscsi_initiator" -t "$iscsi_target_name" \ -+ -g "$iscsi_target_group" -a "$iscsi_target_ip" \ -+ -p "$iscsi_target_port" \ -+ ${iscsi_username:+-u "$iscsi_username"} \ -+ ${iscsi_password:+-w "$iscsi_password"} \ -+ ${iscsi_in_username:+-U "$iscsi_in_username"} \ -+ ${iscsi_in_password:+-W "$iscsi_in_password"} \ -+ ${iscsi_iface_name:+--param "iface.iscsi_ifacename=$iscsi_iface_name"} \ -+ ${iscsi_netdev_name:+--param "iface.net_ifacename=$iscsi_netdev_name"} \ - ${iscsi_param} >/dev/null 2>&1 \ - && { > $hookdir/initqueue/work ; } - else -@@ -199,15 +199,15 @@ handle_netroot() - fi - fi - else -- iscsistart -i $iscsi_initiator -t $iscsi_target_name \ -- -g $iscsi_target_group -a $iscsi_target_ip \ -- -p $iscsi_target_port \ -- ${iscsi_username:+-u $iscsi_username} \ -- ${iscsi_password:+-w $iscsi_password} \ -- ${iscsi_in_username:+-U $iscsi_in_username} \ -- ${iscsi_in_password:+-W $iscsi_in_password} \ -- ${iscsi_iface_name:+--param iface.iscsi_ifacename=$iscsi_iface_name} \ -- ${iscsi_netdev_name:+--param iface.net_ifacename=$iscsi_netdev_name} \ -+ iscsistart -i "$iscsi_initiator" -t "$iscsi_target_name" \ -+ -g "$iscsi_target_group" -a "$iscsi_target_ip" \ -+ -p "$iscsi_target_port" \ -+ ${iscsi_username:+-u "$iscsi_username"} \ -+ ${iscsi_password:+-w "$iscsi_password"} \ -+ ${iscsi_in_username:+-U "$iscsi_in_username"} \ -+ ${iscsi_in_password:+-W "$iscsi_in_password"} \ -+ ${iscsi_iface_name:+--param "iface.iscsi_ifacename=$iscsi_iface_name"} \ -+ ${iscsi_netdev_name:+--param "iface.net_ifacename=$iscsi_netdev_name"} \ - ${iscsi_param} \ - && { > $hookdir/initqueue/work ; } - fi diff --git a/0159-iscsi-only-systemctl-try-restart-iscsid-if-systemd-i.patch b/0159-iscsi-only-systemctl-try-restart-iscsid-if-systemd-i.patch deleted file mode 100644 index e0239b8..0000000 --- a/0159-iscsi-only-systemctl-try-restart-iscsid-if-systemd-i.patch +++ /dev/null @@ -1,86 +0,0 @@ -From ed92ecaa3cafa890583e22377c5f5014a332e59f Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 13 Nov 2015 13:16:10 +0100 -Subject: [PATCH] iscsi: only systemctl try-restart iscsid, if systemd is used - ---- - modules.d/95iscsi/iscsiroot.sh | 20 +++++++++++++++----- - modules.d/95iscsi/parse-iscsiroot.sh | 11 ++++++++++- - 2 files changed, 25 insertions(+), 6 deletions(-) - -diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh -index 8a98881..38cbc5e 100755 ---- a/modules.d/95iscsi/iscsiroot.sh -+++ b/modules.d/95iscsi/iscsiroot.sh -@@ -115,9 +115,12 @@ handle_netroot() - rm -f /etc/iscsi/initiatorname.iscsi - mkdir -p /etc/iscsi - ln -fs /run/initiatorname.iscsi /etc/iscsi/initiatorname.iscsi -- systemctl restart iscsid -- sleep 1 - > /tmp/iscsi_set_initiator -+ if [ -n "$DRACUT_SYSTEMD" ]; then -+ systemctl try-restart iscsid -+ # FIXME: iscsid is not yet ready, when the service is :-/ -+ sleep 1 -+ fi - fi - - if [ -z "$iscsi_initiator" ]; then -@@ -133,10 +136,12 @@ handle_netroot() - rm -f /etc/iscsi/initiatorname.iscsi - mkdir -p /etc/iscsi - ln -fs /run/initiatorname.iscsi /etc/iscsi/initiatorname.iscsi -- systemctl restart iscsid - > /tmp/iscsi_set_initiator -- # FIXME: iscsid is not yet ready, when the service is :-/ -- sleep 1 -+ if [ -n "$DRACUT_SYSTEMD" ]; then -+ systemctl try-restart iscsid -+ # FIXME: iscsid is not yet ready, when the service is :-/ -+ sleep 1 -+ fi - fi - - -@@ -157,6 +162,11 @@ handle_netroot() - if ! [ -e /etc/iscsi/initiatorname.iscsi ]; then - mkdir -p /etc/iscsi - ln -fs /run/initiatorname.iscsi /etc/iscsi/initiatorname.iscsi -+ if [ -n "$DRACUT_SYSTEMD" ]; then -+ systemctl try-restart iscsid -+ # FIXME: iscsid is not yet ready, when the service is :-/ -+ sleep 1 -+ fi - fi - # FIXME $iscsi_protocol?? - -diff --git a/modules.d/95iscsi/parse-iscsiroot.sh b/modules.d/95iscsi/parse-iscsiroot.sh -index 971bab2..1d62b03 100755 ---- a/modules.d/95iscsi/parse-iscsiroot.sh -+++ b/modules.d/95iscsi/parse-iscsiroot.sh -@@ -108,6 +108,11 @@ if arg=$(getarg rd.iscsi.initiator -d iscsi_initiator=) && [ -n "$arg" ] && ! [ - if ! [ -e /etc/iscsi/initiatorname.iscsi ]; then - mkdir -p /etc/iscsi - ln -fs /run/initiatorname.iscsi /etc/iscsi/initiatorname.iscsi -+ if [ -n "$DRACUT_SYSTEMD" ]; then -+ systemctl try-restart iscsid -+ # FIXME: iscsid is not yet ready, when the service is :-/ -+ sleep 1 -+ fi - fi - fi - -@@ -120,7 +125,11 @@ if [ -z $iscsi_initiator ] && [ -f /sys/firmware/ibft/initiator/initiator-name ] - mkdir -p /etc/iscsi - ln -fs /run/initiatorname.iscsi /etc/iscsi/initiatorname.iscsi - > /tmp/iscsi_set_initiator -- systemctl try-restart iscsid && sleep 1 -+ if [ -n "$DRACUT_SYSTEMD" ]; then -+ systemctl try-restart iscsid -+ # FIXME: iscsid is not yet ready, when the service is :-/ -+ sleep 1 -+ fi - fi - fi - diff --git a/0160-Add-awk-and-getopt-as-dependencies-of-znetconf.patch b/0160-Add-awk-and-getopt-as-dependencies-of-znetconf.patch deleted file mode 100644 index 25b9997..0000000 --- a/0160-Add-awk-and-getopt-as-dependencies-of-znetconf.patch +++ /dev/null @@ -1,34 +0,0 @@ -From dcc2a4344b064ab91a0a89baa2453244de78ceb4 Mon Sep 17 00:00:00 2001 -From: Mei Liu -Date: Tue, 10 Nov 2015 12:34:24 +0800 -Subject: [PATCH] Add awk and getopt as dependencies of znetconf - -znetconf command is part of s390utils-base package. It depends on -awk and getopt. - -This patch is used to fix the following error: - -dracut:/# -znetconf -c - -/usr/sbin/znetconf: line 70: awk: command not found -/usr/sbin/znetconf: line 1138: getopt: command not found - -Signed-off-by: Mei Liu ---- - modules.d/80cms/module-setup.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/80cms/module-setup.sh b/modules.d/80cms/module-setup.sh -index 1afac16..05c93e5 100755 ---- a/modules.d/80cms/module-setup.sh -+++ b/modules.d/80cms/module-setup.sh -@@ -27,7 +27,7 @@ install() { - inst_script "$moddir/cmsifup.sh" /sbin/cmsifup - inst_multiple /etc/cmsfs-fuse/filetypes.conf /etc/udev/rules.d/99-fuse.rules /etc/fuse.conf \ - cmsfs-fuse fusermount ulockmgr_server bash insmod rmmod cat normalize_dasd_arg sed \ -- $(rpm -ql s390utils-base) -+ $(rpm -ql s390utils-base) awk getopt - - inst_libdir_file "gconv/*" - #inst /usr/lib/locale/locale-archive diff --git a/0161-dracut.sh-Support-mount-with-just-mountpoint-as-para.patch b/0161-dracut.sh-Support-mount-with-just-mountpoint-as-para.patch deleted file mode 100644 index ef95f68..0000000 --- a/0161-dracut.sh-Support-mount-with-just-mountpoint-as-para.patch +++ /dev/null @@ -1,63 +0,0 @@ -From edbd9ca058bcb19f351aca470581db1a67b706d7 Mon Sep 17 00:00:00 2001 -From: Fabian -Date: Fri, 11 Sep 2015 13:35:57 +0200 -Subject: [PATCH] dracut.sh: Support --mount with just mountpoint as parameter - -Right now the --mount parameter of dracut expects a rather long fstab-like -line. This makes it possible to invoke dracut with e.g. --mount /boot. ---- - dracut.8.asc | 4 ++++ - dracut.sh | 16 +++++++++++++++- - 2 files changed, 19 insertions(+), 1 deletion(-) - -diff --git a/dracut.8.asc b/dracut.8.asc -index 5f45ed9..d22c1cb 100644 ---- a/dracut.8.asc -+++ b/dracut.8.asc -@@ -338,6 +338,10 @@ provide a valid _/etc/fstab_. - The default __ is "0". - the default __ is "2". - -+**--mount** "__":: -+ Like above, but __, __ and __ -+ are determined by looking at the current mounts. -+ - **--add-device** __ :: - Bring up __ in initramfs, __ should be the device name. - This can be useful in hostonly mode for resume support when your swap is on -diff --git a/dracut.sh b/dracut.sh -index fb5d400..52a628a 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -160,6 +160,8 @@ Creates initial ramdisk images for preloading modules - --mount "[DEV] [MP] [FSTYPE] [FSOPTS]" - Mount device [DEV] on mountpoint [MP] with filesystem - [FSTYPE] and options [FSOPTS] in the initramfs -+ --mount "[MP]" Same as above, but [DEV], [FSTYPE] and [FSOPTS] are -+ determined by looking at the current mounts. - --add-device "[DEV]" Bring up [DEV] in initramfs - -i, --include [SOURCE] [TARGET] - Include the files in the SOURCE directory into the -@@ -1469,9 +1471,21 @@ if [[ $kernel_only != yes ]]; then - - for line in "${fstab_lines[@]}"; do - line=($line) -- [ -z "${line[3]}" ] && line[3]="defaults" -+ -+ if [ -z "${line[1]}" ]; then -+ # Determine device and mount options from current system -+ mountpoint -q "${line[0]}" || derror "${line[0]} is not a mount point!" -+ line=($(findmnt --raw -n --target "${line[0]}" --output=source,target,fstype,options)) -+ dinfo "Line for ${line[1]}: ${line[@]}" -+ else -+ # Use default options -+ [ -z "${line[3]}" ] && line[3]="defaults" -+ fi -+ -+ # Default options for freq and passno - [ -z "${line[4]}" ] && line[4]="0" - [ -z "${line[5]}" ] && line[5]="2" -+ - strstr "${line[2]}" "nfs" && line[5]="0" - echo "${line[@]}" >> "${initdir}/etc/fstab" - done diff --git a/0162-Revert-Change-the-implementation-of-action_on_fail.patch b/0162-Revert-Change-the-implementation-of-action_on_fail.patch deleted file mode 100644 index 515c596..0000000 --- a/0162-Revert-Change-the-implementation-of-action_on_fail.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 74c9fb947b265f30f4190ce77269ec0cd0e73925 Mon Sep 17 00:00:00 2001 -From: "dyoung@redhat.com" -Date: Mon, 31 Aug 2015 10:43:15 +0800 -Subject: [PATCH] Revert "Change the implementation of action_on_fail" - -This reverts commit d2765b5175663d094737d6819cc3f3df53e7a4cb. - -action_on_fail is useless thus remove the commits for it one by one. - -Signed-off-by: Dave Young ---- - dracut.cmdline.7.asc | 4 ++++ - .../98dracut-systemd/dracut-emergency.service | 2 +- - modules.d/98dracut-systemd/emergency.service | 2 +- - modules.d/99base/dracut-lib.sh | 28 ++++++++++++++-------- - 4 files changed, 24 insertions(+), 12 deletions(-) - -diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc -index d790afd..ad99799 100644 ---- a/dracut.cmdline.7.asc -+++ b/dracut.cmdline.7.asc -@@ -159,6 +159,10 @@ Misc - specify the controlling terminal for the console. - This is useful, if you have multiple "console=" arguments. - -+**rd.action_on_fail=**_{shell|continue}_:: -+ Specify the action after failure. By default it's emergency_shell. -+ 'continue' means: ignore the current failure and go ahead. -+ - [[dracutkerneldebug]] - Debug - ~~~~~ -diff --git a/modules.d/98dracut-systemd/dracut-emergency.service b/modules.d/98dracut-systemd/dracut-emergency.service -index 5a6d525..a4b81bc 100644 ---- a/modules.d/98dracut-systemd/dracut-emergency.service -+++ b/modules.d/98dracut-systemd/dracut-emergency.service -@@ -13,7 +13,7 @@ DefaultDependencies=no - After=systemd-vconsole-setup.service - Wants=systemd-vconsole-setup.service - Conflicts=emergency.service emergency.target --ConditionPathExists=!/lib/dracut/no-emergency-shell -+ConditionKernelCommandLine=!action_on_fail=continue - - [Service] - Environment=HOME=/ -diff --git a/modules.d/98dracut-systemd/emergency.service b/modules.d/98dracut-systemd/emergency.service -index 5f1eaa2..c19fe37 100644 ---- a/modules.d/98dracut-systemd/emergency.service -+++ b/modules.d/98dracut-systemd/emergency.service -@@ -12,7 +12,7 @@ Description=Emergency Shell - DefaultDependencies=no - After=systemd-vconsole-setup.service - Wants=systemd-vconsole-setup.service --ConditionPathExists=!/lib/dracut/no-emergency-shell -+ConditionKernelCommandLine=!action_on_fail=continue - - [Service] - Environment=HOME=/ -diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh -index 03a283c..cc5bb42 100755 ---- a/modules.d/99base/dracut-lib.sh -+++ b/modules.d/99base/dracut-lib.sh -@@ -1143,16 +1143,24 @@ emergency_shell() - - action_on_fail() - { -- if [ -f "$initdir/lib/dracut/no-emergency-shell" ]; then -- [ "$1" = "-n" ] && shift 2 -- [ "$1" = "--shutdown" ] && shift 2 -- warn "$*" -- warn "Not dropping to emergency shell, because $initdir/lib/dracut/no-emergency-shell exists." -- return 0 -- fi -- -- emergency_shell $@ -- return 1 -+ local _action=$(getarg rd.action_on_fail= -d action_on_fail=) -+ case "$_action" in -+ continue) -+ [ "$1" = "-n" ] && shift 2 -+ [ "$1" = "--shutdown" ] && shift 2 -+ warn "$*" -+ warn "Not dropping to emergency shell, because 'action_on_fail=continue' was set on the kernel command line." -+ return 0 -+ ;; -+ shell) -+ emergency_shell $@ -+ return 1 -+ ;; -+ *) -+ emergency_shell $@ -+ return 1 -+ ;; -+ esac - } - - # Retain the values of these variables but ensure that they are unexported diff --git a/0163-Revert-rename-kernel-command-line-param-action_on_fa.patch b/0163-Revert-rename-kernel-command-line-param-action_on_fa.patch deleted file mode 100644 index d3310ef..0000000 --- a/0163-Revert-rename-kernel-command-line-param-action_on_fa.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 927d1e28c9ad63794df6c1a21c2e7b7bca8d86ce Mon Sep 17 00:00:00 2001 -From: "dyoung@redhat.com" -Date: Mon, 31 Aug 2015 10:43:16 +0800 -Subject: [PATCH] Revert "rename kernel command line param action_on_fail to - rd.action_on_fail" - -This reverts commit 391d6057908be2fe78f8084eb1b2adc27c781c0b. - -action_on_fail is useless thus remove the commits for it one by one. - -Signed-off-by: Dave Young ---- - dracut.cmdline.7.asc | 2 +- - modules.d/99base/dracut-lib.sh | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc -index ad99799..cd8cc66 100644 ---- a/dracut.cmdline.7.asc -+++ b/dracut.cmdline.7.asc -@@ -159,7 +159,7 @@ Misc - specify the controlling terminal for the console. - This is useful, if you have multiple "console=" arguments. - --**rd.action_on_fail=**_{shell|continue}_:: -+**action_on_fail=**_{shell|continue}_:: - Specify the action after failure. By default it's emergency_shell. - 'continue' means: ignore the current failure and go ahead. - -diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh -index cc5bb42..1ac9b3c 100755 ---- a/modules.d/99base/dracut-lib.sh -+++ b/modules.d/99base/dracut-lib.sh -@@ -1143,7 +1143,7 @@ emergency_shell() - - action_on_fail() - { -- local _action=$(getarg rd.action_on_fail= -d action_on_fail=) -+ local _action=$(getarg action_on_fail=) - case "$_action" in - continue) - [ "$1" = "-n" ] && shift 2 diff --git a/0164-Revert-systemd-emergency.service-do-not-run-for-acti.patch b/0164-Revert-systemd-emergency.service-do-not-run-for-acti.patch deleted file mode 100644 index 081974f..0000000 --- a/0164-Revert-systemd-emergency.service-do-not-run-for-acti.patch +++ /dev/null @@ -1,27 +0,0 @@ -From a95a727fdcd110470d99bd431129ec1624881c7f Mon Sep 17 00:00:00 2001 -From: "dyoung@redhat.com" -Date: Mon, 31 Aug 2015 10:43:17 +0800 -Subject: [PATCH] Revert "systemd/emergency.service: do not run for - action_on_fail=continue" - -This reverts commit dcae873414ff643e1de790f256e414923e2aef8b. - -action_on_fail is useless thus remove the commits for it one by one. - -Signed-off-by: Dave Young ---- - modules.d/98dracut-systemd/emergency.service | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/modules.d/98dracut-systemd/emergency.service b/modules.d/98dracut-systemd/emergency.service -index c19fe37..35d9c31 100644 ---- a/modules.d/98dracut-systemd/emergency.service -+++ b/modules.d/98dracut-systemd/emergency.service -@@ -12,7 +12,6 @@ Description=Emergency Shell - DefaultDependencies=no - After=systemd-vconsole-setup.service - Wants=systemd-vconsole-setup.service --ConditionKernelCommandLine=!action_on_fail=continue - - [Service] - Environment=HOME=/ diff --git a/0165-Revert-dracut-emergency.service-do-not-start-for-act.patch b/0165-Revert-dracut-emergency.service-do-not-start-for-act.patch deleted file mode 100644 index 6f246b7..0000000 --- a/0165-Revert-dracut-emergency.service-do-not-start-for-act.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 946722e4655924915e46a50d3f0700e26832fba3 Mon Sep 17 00:00:00 2001 -From: "dyoung@redhat.com" -Date: Mon, 31 Aug 2015 10:43:18 +0800 -Subject: [PATCH] Revert "dracut-emergency.service: do not start for - "action_on_fail=continue"" - -This reverts commit b78e6ac2c328c76057b17059a761ab44707f9aa0. - -action_on_fail is useless thus remove the commits for it one by one. - -Signed-off-by: Dave Young ---- - modules.d/98dracut-systemd/dracut-emergency.service | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/modules.d/98dracut-systemd/dracut-emergency.service b/modules.d/98dracut-systemd/dracut-emergency.service -index a4b81bc..a523671 100644 ---- a/modules.d/98dracut-systemd/dracut-emergency.service -+++ b/modules.d/98dracut-systemd/dracut-emergency.service -@@ -13,7 +13,6 @@ DefaultDependencies=no - After=systemd-vconsole-setup.service - Wants=systemd-vconsole-setup.service - Conflicts=emergency.service emergency.target --ConditionKernelCommandLine=!action_on_fail=continue - - [Service] - Environment=HOME=/ diff --git a/0166-Revert-99fs-lib-fs-lib.sh-Let-user-specify-the-actio.patch b/0166-Revert-99fs-lib-fs-lib.sh-Let-user-specify-the-actio.patch deleted file mode 100644 index 044c5d4..0000000 --- a/0166-Revert-99fs-lib-fs-lib.sh-Let-user-specify-the-actio.patch +++ /dev/null @@ -1,36 +0,0 @@ -From d6dfde78303ed20a4d8b3e7b77a447e7e12cbbba Mon Sep 17 00:00:00 2001 -From: "dyoung@redhat.com" -Date: Mon, 31 Aug 2015 10:43:19 +0800 -Subject: [PATCH] Revert "99fs-lib/fs-lib.sh: Let user specify the action after - fail for fsck" - -This reverts commit 679fa7ed3c0f4c827bfc6885d34f56713fe85c1e. - -action_on_fail is useless thus remove the commits for it one by one. - -Signed-off-by: Dave Young ---- - modules.d/99fs-lib/fs-lib.sh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/modules.d/99fs-lib/fs-lib.sh b/modules.d/99fs-lib/fs-lib.sh -index df3803d..672d027 100755 ---- a/modules.d/99fs-lib/fs-lib.sh -+++ b/modules.d/99fs-lib/fs-lib.sh -@@ -5,14 +5,14 @@ type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh - fsck_ask_reboot() { - info "note - fsck suggests reboot, if you" - info "leave shell, booting will continue normally" -- action_on_fail -n "(reboot ?)" -+ emergency_shell -n "(reboot ?)" - } - - fsck_ask_err() { - warn "*** An error occurred during the file system check." - warn "*** Dropping you to a shell; the system will try" - warn "*** to mount the filesystem(s), when you leave the shell." -- action_on_fail -n "(Repair filesystem)" -+ emergency_shell -n "(Repair filesystem)" - } - - # inherits: _ret _drv _out diff --git a/0167-Revert-Let-user-specify-the-action-after-fail.patch b/0167-Revert-Let-user-specify-the-action-after-fail.patch deleted file mode 100644 index 05584e8..0000000 --- a/0167-Revert-Let-user-specify-the-action-after-fail.patch +++ /dev/null @@ -1,209 +0,0 @@ -From 687000767464401261f336d118de9bba7f50e88d Mon Sep 17 00:00:00 2001 -From: "dyoung@redhat.com" -Date: Mon, 31 Aug 2015 10:43:20 +0800 -Subject: [PATCH] Revert "Let user specify the action after fail" - -This reverts commit 9d787df19674937e8c07bd295b5d282a63829209 - -action_on_fail is useless thus remove the commits for it one by one. - -Signed-off-by: Dave Young ---- - dracut.cmdline.7.asc | 4 ---- - modules.d/95rootfs-block/mount-root.sh | 2 +- - modules.d/98dracut-systemd/dracut-initqueue.sh | 2 +- - modules.d/98dracut-systemd/dracut-mount.sh | 2 +- - modules.d/98selinux/selinux-loadpolicy.sh | 6 ++++-- - modules.d/98usrmount/mount-usr.sh | 4 ++-- - modules.d/99base/dracut-lib.sh | 22 ---------------------- - modules.d/99base/init.sh | 12 ++++++------ - 8 files changed, 15 insertions(+), 39 deletions(-) - -diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc -index cd8cc66..d790afd 100644 ---- a/dracut.cmdline.7.asc -+++ b/dracut.cmdline.7.asc -@@ -159,10 +159,6 @@ Misc - specify the controlling terminal for the console. - This is useful, if you have multiple "console=" arguments. - --**action_on_fail=**_{shell|continue}_:: -- Specify the action after failure. By default it's emergency_shell. -- 'continue' means: ignore the current failure and go ahead. -- - [[dracutkerneldebug]] - Debug - ~~~~~ -diff --git a/modules.d/95rootfs-block/mount-root.sh b/modules.d/95rootfs-block/mount-root.sh -index 7e9c5bb..924393b 100755 ---- a/modules.d/95rootfs-block/mount-root.sh -+++ b/modules.d/95rootfs-block/mount-root.sh -@@ -66,7 +66,7 @@ mount_root() { - warn "*** Warning -- the system did not shut down cleanly. " - warn "*** Dropping you to a shell; the system will continue" - warn "*** when you leave the shell." -- action_on_fail -+ emergency_shell - fi - fsckoptions="$AUTOFSCK_OPT $fsckoptions" - fi -diff --git a/modules.d/98dracut-systemd/dracut-initqueue.sh b/modules.d/98dracut-systemd/dracut-initqueue.sh -index 881f639..3ddc236 100755 ---- a/modules.d/98dracut-systemd/dracut-initqueue.sh -+++ b/modules.d/98dracut-systemd/dracut-initqueue.sh -@@ -68,7 +68,7 @@ while :; do - main_loop=$(($main_loop+1)) - if [ $main_loop -gt $RDRETRY ]; then - if ! [ -f /sysroot/etc/fstab ] || ! [ -e /sysroot/sbin/init ] ; then -- action_on_fail "Could not boot." && break -+ emergency_shell "Could not boot." - fi - warn "Not all disks have been found." - warn "You might want to regenerate your initramfs." -diff --git a/modules.d/98dracut-systemd/dracut-mount.sh b/modules.d/98dracut-systemd/dracut-mount.sh -index 11ba7bc..c4febfe 100755 ---- a/modules.d/98dracut-systemd/dracut-mount.sh -+++ b/modules.d/98dracut-systemd/dracut-mount.sh -@@ -29,7 +29,7 @@ while :; do - done - - i=$(($i+1)) -- [ $i -gt 20 ] && action_on_fail "Can't mount root filesystem" && break -+ [ $i -gt 20 ] && emergency_shell "Can't mount root filesystem" - done - - export -p > /dracut-state.sh -diff --git a/modules.d/98selinux/selinux-loadpolicy.sh b/modules.d/98selinux/selinux-loadpolicy.sh -index d0ac834..ca81a38 100755 ---- a/modules.d/98selinux/selinux-loadpolicy.sh -+++ b/modules.d/98selinux/selinux-loadpolicy.sh -@@ -54,14 +54,16 @@ rd_load_policy() - if [ $ret -eq 3 -o $permissive -eq 0 ]; then - warn "Machine in enforcing mode." - warn "Not continuing" -- action_on_fail -n selinux || exit 1 -+ emergency_shell -n selinux -+ exit 1 - fi - return 0 - elif [ $permissive -eq 0 -a "$SELINUX" != "disabled" ]; then - warn "Machine in enforcing mode and cannot execute load_policy." - warn "To disable selinux, add selinux=0 to the kernel command line." - warn "Not continuing" -- action_on_fail -n selinux || exit 1 -+ emergency_shell -n selinux -+ exit 1 - fi - } - -diff --git a/modules.d/98usrmount/mount-usr.sh b/modules.d/98usrmount/mount-usr.sh -index d1a629c..1699604 100755 ---- a/modules.d/98usrmount/mount-usr.sh -+++ b/modules.d/98usrmount/mount-usr.sh -@@ -40,7 +40,7 @@ fsck_usr() - warn "*** Warning -- the system did not shut down cleanly. " - warn "*** Dropping you to a shell; the system will continue" - warn "*** when you leave the shell." -- action_on_fail -+ emergency_shell - fi - _fsckoptions="$AUTOFSCK_OPT $_fsckoptions" - fi -@@ -103,7 +103,7 @@ mount_usr() - warn "Mounting /usr to $NEWROOT/usr failed" - warn "*** Dropping you to a shell; the system will continue" - warn "*** when you leave the shell." -- action_on_fail -+ emergency_shell - fi - fi - } -diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh -index 1ac9b3c..d3a7b59 100755 ---- a/modules.d/99base/dracut-lib.sh -+++ b/modules.d/99base/dracut-lib.sh -@@ -1141,28 +1141,6 @@ emergency_shell() - fi - } - --action_on_fail() --{ -- local _action=$(getarg action_on_fail=) -- case "$_action" in -- continue) -- [ "$1" = "-n" ] && shift 2 -- [ "$1" = "--shutdown" ] && shift 2 -- warn "$*" -- warn "Not dropping to emergency shell, because 'action_on_fail=continue' was set on the kernel command line." -- return 0 -- ;; -- shell) -- emergency_shell $@ -- return 1 -- ;; -- *) -- emergency_shell $@ -- return 1 -- ;; -- esac --} -- - # Retain the values of these variables but ensure that they are unexported - # This is a POSIX-compliant equivalent of bash's "export -n" - export_n() -diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh -index a59e8ea..e2e4029 100755 ---- a/modules.d/99base/init.sh -+++ b/modules.d/99base/init.sh -@@ -85,7 +85,7 @@ if command -v kmod >/dev/null 2>/dev/null; then - done - fi - --trap "action_on_fail Signal caught!" 0 -+trap "emergency_shell Signal caught!" 0 - - export UDEVVERSION=$(udevadm --version) - if [ $UDEVVERSION -gt 166 ]; then -@@ -214,7 +214,7 @@ while :; do - - main_loop=$(($main_loop+1)) - [ $main_loop -gt $RDRETRY ] \ -- && { flock -s 9 ; action_on_fail "Could not boot." && break; } 9>/.console_lock -+ && { flock -s 9 ; emergency_shell "Could not boot."; } 9>/.console_lock - done - unset job - unset queuetriggered -@@ -249,7 +249,7 @@ while :; do - - _i_mount=$(($_i_mount+1)) - [ $_i_mount -gt 20 ] \ -- && { flock -s 9 ; action_on_fail "Can't mount root filesystem" && break; } 9>/.console_lock -+ && { flock -s 9 ; emergency_shell "Can't mount root filesystem"; } 9>/.console_lock - done - - { -@@ -283,7 +283,7 @@ done - [ "$INIT" ] || { - echo "Cannot find init!" - echo "Please check to make sure you passed a valid root filesystem!" -- action_on_fail -+ emergency_shell - } - - if [ $UDEVVERSION -lt 168 ]; then -@@ -387,13 +387,13 @@ if [ -f /etc/capsdrop ]; then - warn "Command:" - warn capsh --drop=$CAPS_INIT_DROP -- -c exec switch_root "$NEWROOT" "$INIT" $initargs - warn "failed." -- action_on_fail -+ emergency_shell - } - else - unset RD_DEBUG - exec $SWITCH_ROOT "$NEWROOT" "$INIT" $initargs || { - warn "Something went very badly wrong in the initramfs. Please " - warn "file a bug against dracut." -- action_on_fail -+ emergency_shell - } - fi diff --git a/0168-dracut.sh-remove-the-concept-of-host_modalias.patch b/0168-dracut.sh-remove-the-concept-of-host_modalias.patch deleted file mode 100644 index 1609a39..0000000 --- a/0168-dracut.sh-remove-the-concept-of-host_modalias.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 07a081f352497258862ae164d11d9e6dc2c5b959 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 13 Nov 2015 13:40:38 +0100 -Subject: [PATCH] dracut.sh: remove the concept of host_modalias - -We can never gather enough information about compiled in modules, so -don't pretend to know and do smart decisions. ---- - dracut-init.sh | 14 ++------------ - dracut.sh | 22 +--------------------- - 2 files changed, 3 insertions(+), 33 deletions(-) - -diff --git a/dracut-init.sh b/dracut-init.sh -index d254e76..f22256c 100644 ---- a/dracut-init.sh -+++ b/dracut-init.sh -@@ -1022,18 +1022,8 @@ module_is_host_only() { - modinfo -F filename "$_mod" &>/dev/null && return 1 - fi - -- _aliases=$(modinfo -k $kernel -F alias $_mod 2>/dev/null) -- -- # if the module has no aliases, install it -- [[ $_aliases ]] || return 0 -- -- # finally check all modalias -- for a in $_aliases; do -- for i in "${!host_modalias[@]}"; do -- [[ $i == $a ]] && return 0 -- done -- done -- -+ # just install the module, better safe than sorry -+ return 0 - fi - - return 1 -diff --git a/dracut.sh b/dracut.sh -index 52a628a..a21295d 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -1187,26 +1187,6 @@ if [[ $hostonly ]]; then - fi - done < /etc/fstab - fi -- -- # record all host modaliases -- declare -A host_modalias -- find /sys/devices -name modalias -exec cat '{}' \; > "$initdir/.modalias" -- while read -r modalias || [ -n "$modalias" ]; do -- [[ $modalias ]] && host_modalias["$modalias"]=1 -- done < "$initdir/.modalias" -- -- rm -f -- "$initdir/.modalias" -- -- while read _k _s _v || [ -n "$_k" ]; do -- [ "$_k" != "name" -a "$_k" != "driver" ] && continue -- host_modalias["$_v"]=1 -- done -Date: Fri, 16 Oct 2015 04:04:34 +0200 -Subject: [PATCH] Check rd.zfcp= format in dracut hook:cmdline process stage - -When using rd.zfcp= parameter in generic.prm file, wrong format -parameters will prevent the zfcp driver to add the correct SCSI -disk. dracut should die when a wrong rd.zfcp= parameter supplied. - -Signed-off-by: Zhiguo Deng ---- - modules.d/95zfcp/parse-zfcp.sh | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/modules.d/95zfcp/parse-zfcp.sh b/modules.d/95zfcp/parse-zfcp.sh -index 223cd32..6e1514f 100755 ---- a/modules.d/95zfcp/parse-zfcp.sh -+++ b/modules.d/95zfcp/parse-zfcp.sh -@@ -3,6 +3,8 @@ - getargbool 1 rd.zfcp.conf -d -n rd_NO_ZFCPCONF || rm /etc/zfcp.conf - - for zfcp_arg in $(getargs rd.zfcp -d 'rd_ZFCP='); do -+ echo $zfcp_arg | grep '0\.[0-9a-fA-F]\.[0-9a-fA-F]\{4\},0x[0-9a-fA-F]\{16\},0x[0-9a-fA-F]\{16\}' >/dev/null -+ test $? -ne 0 && die "For argument 'rd.zfcp=$zfcp_arg'\nSorry, invalid format." - ( - IFS="," - set $zfcp_arg diff --git a/0170-dracut-init.sh-libdir-paths-need-dracut-function.sh.patch b/0170-dracut-init.sh-libdir-paths-need-dracut-function.sh.patch deleted file mode 100644 index 8125695..0000000 --- a/0170-dracut-init.sh-libdir-paths-need-dracut-function.sh.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 456f299ab8e3168d709c35cf7ec09d1683c4cec3 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 13 Nov 2015 14:19:53 +0100 -Subject: [PATCH] dracut-init.sh: libdir paths need dracut-function.sh - ---- - dracut-init.sh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/dracut-init.sh b/dracut-init.sh -index f22256c..fc35d7b 100644 ---- a/dracut-init.sh -+++ b/dracut-init.sh -@@ -78,6 +78,8 @@ export srcmods - export hookdirs - } - -+. $dracutbasedir/dracut-functions.sh -+ - # Detect lib paths - if ! [[ $libdirs ]] ; then - if [[ "$(ldd /bin/sh)" == */lib64/* ]] &>/dev/null \ -@@ -94,8 +96,6 @@ if ! [[ $libdirs ]] ; then - export libdirs - fi - --. $dracutbasedir/dracut-functions.sh -- - # helper function for check() in module-setup.sh - # to check for required installed binaries - # issues a standardized warning message diff --git a/0171-iscsi-parse-iscsiroot.sh-reload-udev-rules.patch b/0171-iscsi-parse-iscsiroot.sh-reload-udev-rules.patch deleted file mode 100644 index 4ef9c53..0000000 --- a/0171-iscsi-parse-iscsiroot.sh-reload-udev-rules.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 602dce9ff2f865038e8e6c618a24b04157809026 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 13 Nov 2015 16:37:48 +0100 -Subject: [PATCH] iscsi/parse-iscsiroot.sh: reload udev rules - -in the DHCP case udev is already running, so reload the rules before -continuing. ---- - modules.d/95iscsi/parse-iscsiroot.sh | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/modules.d/95iscsi/parse-iscsiroot.sh b/modules.d/95iscsi/parse-iscsiroot.sh -index 1d62b03..43b2e08 100755 ---- a/modules.d/95iscsi/parse-iscsiroot.sh -+++ b/modules.d/95iscsi/parse-iscsiroot.sh -@@ -41,6 +41,7 @@ if [ "${root%%:*}" = "iscsi" ] ; then - netroot=$root - # if root is not specified try to mount the whole iSCSI LUN - printf 'ENV{DEVTYPE}!="partition", SYMLINK=="disk/by-path/*-iscsi-*-*", SYMLINK+="root"\n' >> /etc/udev/rules.d/99-iscsi-root.rules -+ [ -n "$DRACUT_SYSTEMD" ] && systemctl is-active systemd-udevd && udevadm control --reload-rules - root=/dev/root - - write_fs_tab /dev/root -@@ -53,6 +54,13 @@ for nroot in $(getargs netroot); do - break - done - -+# Root takes precedence over netroot -+if [ "${root}" = "/dev/root" ] && getarg "netroot=dhcp" ; then -+ # if root is not specified try to mount the whole iSCSI LUN -+ printf 'ENV{DEVTYPE}!="partition", SYMLINK=="disk/by-path/*-iscsi-*-*", SYMLINK+="root"\n' >> /etc/udev/rules.d/99-iscsi-root.rules -+ [ -n "$DRACUT_SYSTEMD" ] && systemctl is-active systemd-udevd && udevadm control --reload-rules -+fi -+ - if [ -n "$iscsiroot" ] ; then - [ -z "$netroot" ] && netroot=$root - diff --git a/0172-dracut.sh-add-back-host_modules-part.patch b/0172-dracut.sh-add-back-host_modules-part.patch deleted file mode 100644 index c5a79b4..0000000 --- a/0172-dracut.sh-add-back-host_modules-part.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 63a44c8dc31f3168c85d9851619af2876cda4d00 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Mon, 16 Nov 2015 09:24:50 +0100 -Subject: [PATCH] dracut.sh: add back host_modules part - -host_modules was removed accidently while remove host_modaliases ---- - dracut.sh | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/dracut.sh b/dracut.sh -index a21295d..be4c107 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -1100,6 +1100,8 @@ if (( ${#add_device_l[@]} )); then - push_host_devs "${add_device_l[@]}" - fi - -+declare -A host_modules -+ - if [[ $hostonly ]]; then - # in hostonly mode, determine all devices, which have to be accessed - # and examine them for filesystem types -@@ -1187,6 +1189,11 @@ if [[ $hostonly ]]; then - fi - done < /etc/fstab - fi -+ -+ # check /proc/modules -+ while read m rest || [ -n "$m" ]; do -+ host_modules["$m"]=1 -+ done -Date: Mon, 16 Nov 2015 09:41:26 +0100 -Subject: [PATCH] Check for systemd before installing systemd specific files - -https://bugzilla.redhat.com/show_bug.cgi?id=1282010 ---- - dracut.sh | 16 +++++++++------- - modules.d/90crypt/module-setup.sh | 21 ++++++++++++--------- - modules.d/95udev-rules/module-setup.sh | 6 ++++-- - 3 files changed, 25 insertions(+), 18 deletions(-) - -diff --git a/dracut.sh b/dracut.sh -index be4c107..9e85f50 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -1481,13 +1481,15 @@ if [[ $kernel_only != yes ]]; then - cat "$f" >> "${initdir}/etc/fstab" - done - -- if [ -d ${initdir}/$systemdutildir ]; then -- mkdir -p ${initdir}/etc/conf.d -- { -- printf "%s\n" "systemdutildir=\"$systemdutildir\"" -- printf "%s\n" "systemdsystemunitdir=\"$systemdsystemunitdir\"" -- printf "%s\n" "systemdsystemconfdir=\"$systemdsystemconfdir\"" -- } > ${initdir}/etc/conf.d/systemd.conf -+ if dracut_module_included "systemd"; then -+ if [ -d ${initdir}/$systemdutildir ]; then -+ mkdir -p ${initdir}/etc/conf.d -+ { -+ printf "%s\n" "systemdutildir=\"$systemdutildir\"" -+ printf "%s\n" "systemdsystemunitdir=\"$systemdsystemunitdir\"" -+ printf "%s\n" "systemdsystemconfdir=\"$systemdsystemconfdir\"" -+ } > ${initdir}/etc/conf.d/systemd.conf -+ fi - fi - - if [[ $DRACUT_RESOLVE_LAZY ]] && [[ $DRACUT_INSTALL ]]; then -diff --git a/modules.d/90crypt/module-setup.sh b/modules.d/90crypt/module-setup.sh -index 4df520c..5d964f4 100755 ---- a/modules.d/90crypt/module-setup.sh -+++ b/modules.d/90crypt/module-setup.sh -@@ -86,14 +86,17 @@ install() { - - inst_simple "$moddir/crypt-lib.sh" "/lib/dracut-crypt-lib.sh" - -- inst_multiple -o \ -- $systemdutildir/system-generators/systemd-cryptsetup-generator \ -- $systemdutildir/systemd-cryptsetup \ -- $systemdsystemunitdir/systemd-ask-password-console.path \ -- $systemdsystemunitdir/systemd-ask-password-console.service \ -- $systemdsystemunitdir/cryptsetup.target \ -- $systemdsystemunitdir/sysinit.target.wants/cryptsetup.target \ -- systemd-ask-password systemd-tty-ask-password-agent -- inst_script "$moddir"/crypt-run-generator.sh /sbin/crypt-run-generator -+ if dracut_module_included "systemd"; then -+ inst_multiple -o \ -+ $systemdutildir/system-generators/systemd-cryptsetup-generator \ -+ $systemdutildir/systemd-cryptsetup \ -+ $systemdsystemunitdir/systemd-ask-password-console.path \ -+ $systemdsystemunitdir/systemd-ask-password-console.service \ -+ $systemdsystemunitdir/cryptsetup.target \ -+ $systemdsystemunitdir/sysinit.target.wants/cryptsetup.target \ -+ systemd-ask-password systemd-tty-ask-password-agent -+ inst_script "$moddir"/crypt-run-generator.sh /sbin/crypt-run-generator -+ fi -+ - dracut_need_initqueue - } -diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh -index f4f9cf8..6a0625a 100755 ---- a/modules.d/95udev-rules/module-setup.sh -+++ b/modules.d/95udev-rules/module-setup.sh -@@ -56,8 +56,10 @@ install() { - # eudev rules - inst_rules 80-drivers-modprobe.rules - -- inst_multiple -o ${systemdutildir}/network/*.link -- [[ $hostonly ]] && inst_multiple -H -o /etc/systemd/network/*.link -+ if dracut_module_included "systemd"; then -+ inst_multiple -o ${systemdutildir}/network/*.link -+ [[ $hostonly ]] && inst_multiple -H -o /etc/systemd/network/*.link -+ fi - - { - for i in cdrom tape dialout floppy; do diff --git a/dracut.spec b/dracut.spec index 307cba9..16f8244 100644 --- a/dracut.spec +++ b/dracut.spec @@ -15,8 +15,8 @@ %endif Name: dracut -Version: 043 -Release: 174.git20151116%{?dist} +Version: 044 +Release: 1%{?dist} Summary: Initramfs generator using udev %if 0%{?fedora} || 0%{?rhel} @@ -35,179 +35,6 @@ URL: https://dracut.wiki.kernel.org/ # Source can be generated by # http://git.kernel.org/?p=boot/dracut/dracut.git;a=snapshot;h=%{version};sf=tgz Source0: http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version}.tar.xz -Patch1: 0001-Fix-default-udev-systemd-dir-detection-in-usr-merge-.patch -Patch2: 0002-rootfs-generator-check-for-rootok-before-doing-any-a.patch -Patch3: 0003-uefi-lib-remove-bogus-comment.patch -Patch4: 0004-dracut.spec-move-dmsquash-and-livnet-to-subpackage.patch -Patch5: 0005-dracut.spec-Recommends-grubby.patch -Patch6: 0006-dracut.spec-turn-requires-in-recommends.patch -Patch7: 0007-Revert-lvm-Don-t-activate-LVs-with-activationskip-se.patch -Patch8: 0008-systemd-if-kdbus-is-available-include-the-kernel-mod.patch -Patch9: 0009-network-dhclient-script.sh-add-RENEW-REBIND.patch -Patch10: 0010-network-dhclient-script.sh-make-IPv4-DHCP-lease-time.patch -Patch11: 0011-network-don-t-use-ifup-m.patch -Patch12: 0012-lower-the-log-level-for-dfatal.patch -Patch13: 0013-dracut.sh-add-devices-with-x-initrd.mount-in-etc-fst.patch -Patch14: 0014-dracut-lib.sh-info-output-info-to-stderr.patch -Patch15: 0015-nfs-nfs-lib.sh-add-anaconda_nfsv6_to_var.patch -Patch16: 0016-splitup-dracut-init.sh-from-dracut-functions.sh.patch -Patch17: 0017-network-dhclient-script.sh-fixup-lease-time.patch -Patch18: 0018-90multipath-add-hostonly-multipath.conf-in-case-host.patch -Patch19: 0019-dmsquash-live-dmsquash-live-root.sh-fixup-checkisomd.patch -Patch20: 0020-skipcpio-skipcpio.c-linux-kernel-only-accepts-070701.patch -Patch21: 0021-Reset-IFS-variable.patch -Patch22: 0022-mkinitrd-suse.sh-Bail-out-with-exit-1-if-initrd-cann.patch -Patch23: 0023-Use-the-uncompressed-kernel-file-on-arm-and-aarch-to.patch -Patch24: 0024-ensure-pre-mount-and-resume-run-before-root-fsck.patch -Patch25: 0025-dracut-pre-mount.service-should-run-before-systemd-f.patch -Patch26: 0026-TEST-04-FULL-SYSTEMD-fixup-loadkeys-keymap-loading.patch -Patch27: 0027-TEST-14-IMSM-remove-rd.auto.patch -Patch28: 0028-TEST-50-MULTINIC-test.sh-correctly-call-ldconfig.patch -Patch29: 0029-network-dhclient-script.sh-remove-bashism.patch -Patch30: 0030-Add-all-btrfs-devices.patch -Patch31: 0031-dracut.sh-remove-push.patch -Patch32: 0032-dracut.conf-remove-example-parameters.patch -Patch33: 0033-dracut.sh-remove-pop.patch -Patch34: 0034-guard-arrays-with.patch -Patch35: 0035-dracut-functions.sh-simplify-some-for-loops.patch -Patch36: 0036-dracut.sh-reduce-code.patch -Patch37: 0037-dracut.sh-remember-0-for-regenerate-all.patch -Patch38: 0038-dracut.sh-early-check-for-bash-version.patch -Patch39: 0039-network-add-rd.peerdns-0-parameter.patch -Patch40: 0040-TODO-update.patch -Patch41: 0041-crypt-skip-crypttab-entries-with-the-same-device.patch -Patch42: 0042-dracut-systemd-dracut-initqueue-only-start-service-i.patch -Patch43: 0043-Replace-echo-n-with-printf-in-code-with-a-bin-sh-she.patch -Patch44: 0044-syncheck-Look-for-echo-n-usage-in-modules.patch -Patch45: 0045-dracut.spec-add-dracut-init.sh.patch -Patch46: 0046-use-mktemp-p-instead-of-tmpdir-for-busybox.patch -Patch47: 0047-dmsquash-generator.sh-increase-timeout-for-checkisom.patch -Patch48: 0048-remove-the-incomplete-.img-file.patch -Patch49: 0049-Cleanup-compressor-handling.patch -Patch50: 0050-Add-missing-echo-to-output-the-result.patch -Patch51: 0051-crypt-s-allow-discards-discard-for-crypttab.patch -Patch52: 0052-qemu-add-spapr-vscsi-kernel-module.patch -Patch53: 0053-dracut-initramfs-restore-make-mount-error-nonfatal.patch -Patch54: 0054-dracut.sh-simplify-modalias-reading.patch -Patch55: 0055-90qemu-fixed-systemd-detect-virt-output-parsing.patch -Patch56: 0056-Remove-98integrity-s-dependency-on-selinux.patch -Patch57: 0057-Extend-evm-enable.sh-to-load-the-EVM-public-key.patch -Patch58: 0058-Define-new-script-to-load-keys-on-the-IMA-keyring-up.patch -Patch59: 0059-Revert-securitfs-change.patch -Patch60: 0060-base-dracut-lib.sh-Dup-stdout-and-stderr.patch -Patch61: 0061-dracut.sh-remove-quotes-from-install_items-and-insta.patch -Patch62: 0062-network-net-lib.sh-add-is_ip.patch -Patch63: 0063-systemd-add-systemd-run-and-systemd-escape.patch -Patch64: 0064-network-parse-ip-opts.sh-assume-rd.neednet-for-multi.patch -Patch65: 0065-nfs-parse-nfsroot.sh-silence-useless-warning-if-netr.patch -Patch66: 0066-dracut-systemd-dracut-initqueue.sh-be-verbose-about-.patch -Patch67: 0067-base-dracut-lib.sh-forget-about-the-idea-of-output-r.patch -Patch68: 0068-iscsi-integrate-with-systemd-and-improve-robustness.patch -Patch69: 0069-TEST-30-ISCSI-dhcpd.conf-set-the-LUN.patch -Patch70: 0070-TEST-30-ISCSI-switch-to-scsi-target-utils.patch -Patch71: 0071-dracut.cmdline.7.asc-document-rd.iscsi.waitnet-and-r.patch -Patch72: 0072-iscsi-parse-iscsiroot.sh-use-iBFT-initiator-name.patch -Patch73: 0073-iscsi-iscsiroot.sh-handle-timeout-with-all-interface.patch -Patch74: 0074-TEST-30-ISCSI-test-more-and-set-static-initiator-nam.patch -Patch75: 0075-The-default-gateway-might-need-a-static-route.patch -Patch76: 0076-dracut-functions.sh-remove-duplicate-declaratio-of-l.patch -Patch77: 0077-dracut.sh-remove-duplicate-call-of-push_host_devs.patch -Patch78: 0078-dracut-functions.sh-fixed-dracutbasedir-when-sourced.patch -Patch79: 0079-systemd-initrd-fix-typo-in-error-message.patch -Patch80: 0080-systemd-networkd-fix-typo-in-error-message.patch -Patch81: 0081-install-blob-fix-typos-in-usage.patch -Patch82: 0082-dracut.8.asc-mention-lsinitrd-1-in-see-also.patch -Patch83: 0083-dir-locals-Avoid-use-of-setq-which-triggers-Emacs-wa.patch -Patch84: 0084-lsinitrd-Suppress-cat-write-error-Broken-pipe.patch -Patch85: 0085-PKGFILE-update-to-latest-makepkg.patch -Patch86: 0086-PKGFILE-version-is-now-completely-constructed-from-g.patch -Patch87: 0087-PKGFILE-prevent-out-of-tree-builds.patch -Patch88: 0088-dracut-logger-prefix-stderr-output-with-dracut.patch -Patch89: 0089-dmsquash-live-root-Request-overflow-support-for-pers.patch -Patch90: 0090-dmsquash-live-root-Use-non-persistent-metadata-snaps.patch -Patch91: 0091-Makefile-fix-VERSION-and-GITVERSION.patch -Patch92: 0092-dracut.spec-omit-pkg-config-from-dependencies.patch -Patch93: 0093-fips-add-authenc-and-authencesn-kernel-modules.patch -Patch94: 0094-lvm-remove-all-quirk-arguments.patch -Patch95: 0095-dracut.sh-remove-_EARLY-from-CONFIG_MICROCODE_-check.patch -Patch96: 0096-dracut.sh-quote-outfile-on-error-removal.patch -Patch97: 0097-dracut-systemd-module-setup.sh-remove-duplicate-vcon.patch -Patch98: 0098-Makefile-remove-output-file-before-creating-it.patch -Patch99: 0099-TEST-30-ISCSI-add-rd.scsi.firmware.patch -Patch100: 0100-initqueue-add-online-queue.patch -Patch101: 0101-dracut.spec-raise-systemd-requirement-to-219.patch -Patch102: 0102-iscsi-iscsiroot.sh-handle-firmware-in-online-queue.patch -Patch103: 0103-iscsi-parse-iscsiroot.sh-do-not-modify-netroot.patch -Patch104: 0104-network-add-options-to-tweak-timeouts.patch -Patch105: 0105-fcoe-start-with-fcoemon-instead-of-fipvlan.patch -Patch106: 0106-fcoe-EDD-parsing-patch-for-i40e.patch -Patch107: 0107-fcoe-fcoe-edd.sh-cleanup-the-script.patch -Patch108: 0108-livenet-don-t-attempt-to-download-the-image-for-ever.patch -Patch109: 0109-multipath-install-all-multipath-path-selector-kernel.patch -Patch110: 0110-man-page-changed-grub.conf-to-grub2.cfg.patch -Patch111: 0111-crypt-install-drbg-unconditionally-in-hostonly-mode.patch -Patch112: 0112-iscsi-module-setup.sh-iscsid-need-var-lib-iscsi.patch -Patch113: 0113-TEST-30-ISCSI-fix-test-to-run-with-new-iscsi.patch -Patch114: 0114-iscsi-handle-timeout-case-better.patch -Patch115: 0115-systemd-dracut-cmdline.sh-print-out-cmdline-in-one-l.patch -Patch116: 0116-network-ifup.sh-let-dhcp-client-run-in-the-backgroun.patch -Patch117: 0117-network-ifup.sh-arping-for-static-IPv4-addresses.patch -Patch118: 0118-network-parse-ip-opts.sh-bind-enx-interface-to-the-M.patch -Patch119: 0119-udev-rules-install-40-redhat.rules.patch -Patch120: 0120-fcoe-cleanup-lldpad.patch -Patch121: 0121-network-net-lib.sh-ibft-unset-gateway-or-dns-if-set-.patch -Patch122: 0122-network-dhclient-exit-arping-immediatly-if-we-get-an.patch -Patch123: 0123-dmraid-only-scan-once-because-of-one-device.patch -Patch124: 0124-test-TEST-04-FULL-SYSTEMD-create-root.sh-modprobe-bt.patch -Patch125: 0125-TEST-15-BTRFS-load-btrfs-module.patch -Patch126: 0126-network-ifup.sh-do_static-error-out-if-interface-cou.patch -Patch127: 0127-network-ifup.sh-do_static-error-out-if-IP-is-already.patch -Patch128: 0128-iscsi-parse-iscsiroot.sh-handle-firmware-in-online-q.patch -Patch129: 0129-iscsi-parse-iscsiroot.sh-restart-iscsid-with-try-res.patch -Patch130: 0130-network-ifup.sh-save-return-value-of-ifup.patch -Patch131: 0131-network-also-mark-interfaces-up-with-their-MAC.patch -Patch132: 0132-network-ifup.sh-only-use-dhcp-on-unknown-interfaces-.patch -Patch133: 0133-cms-cmsifup.sh-do-not-use-ifup-m.patch -Patch134: 0134-network-ifup-fix-warning-about-not-bringing-interfac.patch -Patch135: 0135-network-net-lib.sh-fix-wait_for_if_up.patch -Patch136: 0136-network-net-lib.sh-fix-IPv6-route-parsing.patch -Patch137: 0137-network-ifup-do-DHCP-for-BOOTDEV.patch -Patch138: 0138-livenet-livenetroot.sh-fixed-error-condition.patch -Patch139: 0139-iscsi-parse-iscsiroot.sh-only-set-initiator-name-if-.patch -Patch140: 0140-network-move-ip-ibft-handling-to-network-module.patch -Patch141: 0141-network-dhclient-script.sh-fix-RENEW.patch -Patch142: 0142-network-add-all_ifaces_setup.patch -Patch143: 0143-iscsi-iscsiroot.sh-use-all_ifaces_setup.patch -Patch144: 0144-network-netroot.sh-better-handling-of-netroot-and-dh.patch -Patch145: 0145-iscsi-iscsiroot.sh-handle-iscsi_firmware-in-online-a.patch -Patch146: 0146-dracut.sh-add-command-line-option-for-install_i18_al.patch -Patch147: 0147-dracut.sh-do-not-create-microcode-if-no-firmware-is-.patch -Patch148: 0148-iscsi-parse-iscsiroot.sh-correct-handling-if-netroot.patch -Patch149: 0149-dracut.sh-no-microcode-if-get_ucode_file-returns-emp.patch -Patch150: 0150-network-wait_for_ifup-handle-NO-CARRIER-output.patch -Patch151: 0151-dracut.sh-fixed-typo-in-microcode-generation.patch -Patch152: 0152-base-dracut-lib.sh-getargs-don-t-return-1-for-empty-.patch -Patch153: 0153-network-ifup.sh-skip-empty-nameserver-values.patch -Patch154: 0154-dracut-systemd-rootfs-generator.sh-s-RequiresOverrid.patch -Patch155: 0155-add-no-reproducible-to-turn-off-reproducible-mode.patch -Patch156: 0156-reduce-dracut-functions.sh-and-add-to-dracut-init.sh.patch -Patch157: 0157-repro-squash.patch -Patch158: 0158-iscsi-iscsiroot.sh-put-variables-in-quotes.patch -Patch159: 0159-iscsi-only-systemctl-try-restart-iscsid-if-systemd-i.patch -Patch160: 0160-Add-awk-and-getopt-as-dependencies-of-znetconf.patch -Patch161: 0161-dracut.sh-Support-mount-with-just-mountpoint-as-para.patch -Patch162: 0162-Revert-Change-the-implementation-of-action_on_fail.patch -Patch163: 0163-Revert-rename-kernel-command-line-param-action_on_fa.patch -Patch164: 0164-Revert-systemd-emergency.service-do-not-run-for-acti.patch -Patch165: 0165-Revert-dracut-emergency.service-do-not-start-for-act.patch -Patch166: 0166-Revert-99fs-lib-fs-lib.sh-Let-user-specify-the-actio.patch -Patch167: 0167-Revert-Let-user-specify-the-action-after-fail.patch -Patch168: 0168-dracut.sh-remove-the-concept-of-host_modalias.patch -Patch169: 0169-Check-rd.zfcp-format-in-dracut-hook-cmdline-process-.patch -Patch170: 0170-dracut-init.sh-libdir-paths-need-dracut-function.sh.patch -Patch171: 0171-iscsi-parse-iscsiroot.sh-reload-udev-rules.patch -Patch172: 0172-dracut.sh-add-back-host_modules-part.patch -Patch173: 0173-Check-for-systemd-before-installing-systemd-specific.patch Source1: https://www.gnu.org/licenses/lgpl-2.1.txt @@ -668,6 +495,9 @@ rm -rf -- $RPM_BUILD_ROOT %endif %changelog +* Wed Nov 25 2015 Harald Hoyer - 044-1 +- version 044 + * Mon Nov 16 2015 Harald Hoyer - 043-174.git20151116 - git snapshot diff --git a/sources b/sources index 30249bd..c47819e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -85de75ddf00962e7bb0ae387f05794e5 dracut-043.tar.xz +4841a986a80f1696f03a1e1dfc0a7b37 dracut-044.tar.xz