diff --git a/0001-modsign-do-not-hardcode-path-to-keyctl.patch b/0001-modsign-do-not-hardcode-path-to-keyctl.patch deleted file mode 100644 index 49b4916..0000000 --- a/0001-modsign-do-not-hardcode-path-to-keyctl.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 8ca5e8c319c3e44bbd06d8c0da429d2df221707b Mon Sep 17 00:00:00 2001 -From: Alexander Tsoy -Date: Mon, 31 Mar 2014 17:56:13 +0400 -Subject: [PATCH] modsign: do not hardcode path to keyctl - -https://bugs.gentoo.org/show_bug.cgi?id=506094 ---- - modules.d/03modsign/module-setup.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/03modsign/module-setup.sh b/modules.d/03modsign/module-setup.sh -index 09285d3..cc0e241 100755 ---- a/modules.d/03modsign/module-setup.sh -+++ b/modules.d/03modsign/module-setup.sh -@@ -29,7 +29,7 @@ depends() { - # called by dracut - install() { - inst_dir /lib/modules/keys -- inst_binary /usr/bin/keyctl -+ inst_binary keyctl - - inst_hook pre-trigger 01 "$moddir/load-modsign-keys.sh" - diff --git a/0001-shutdown-shutdown.sh-loop-over-shutdown-hooks-until-.patch b/0001-shutdown-shutdown.sh-loop-over-shutdown-hooks-until-.patch new file mode 100644 index 0000000..f008f95 --- /dev/null +++ b/0001-shutdown-shutdown.sh-loop-over-shutdown-hooks-until-.patch @@ -0,0 +1,41 @@ +From b09faad8779f5579b2f1c559edf7c0570e8d50ac Mon Sep 17 00:00:00 2001 +From: Lukas Wunner +Date: Mon, 6 Oct 2014 13:43:58 +0200 +Subject: [PATCH] shutdown/shutdown.sh: loop over shutdown hooks until all + succeed + +Up until now, _check_shutdown() returns true if at least one of +the shutdown hooks succeeded. Change this to only return true if +*all* succeeded. To prevent an infinite loop, introduce an upper +bound of 40 iterations. +--- + modules.d/99shutdown/shutdown.sh | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/modules.d/99shutdown/shutdown.sh b/modules.d/99shutdown/shutdown.sh +index 6e5e559..98eab1d 100755 +--- a/modules.d/99shutdown/shutdown.sh ++++ b/modules.d/99shutdown/shutdown.sh +@@ -90,16 +90,19 @@ _check_shutdown() { + ( . "$__f" $1 ) + if [ $? -eq 0 ]; then + rm -f -- $__f ++ else + __s=0 + fi + done + return $__s + } + +-while _check_shutdown; do +-: ++_cnt=0 ++while [ $_cnt -le 40 ]; do ++ _check_shutdown || break ++ _cnt=$(($_cnt+1)) + done +-_check_shutdown final ++[ $_cnt -ge 40 ] && _check_shutdown final + + getarg 'rd.break=shutdown' && emergency_shell --shutdown shutdown "Break before shutdown" + diff --git a/0002-NEWS-add-040-entry.patch b/0002-NEWS-add-040-entry.patch new file mode 100644 index 0000000..89e7d34 --- /dev/null +++ b/0002-NEWS-add-040-entry.patch @@ -0,0 +1,22 @@ +From 1c08ad507b1a40bdc58292e05b6efc05ffcd13d8 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 24 Oct 2014 14:41:29 +0200 +Subject: [PATCH] NEWS: add 040 entry + +--- + NEWS | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/NEWS b/NEWS +index 1b79da1..da44068 100644 +--- a/NEWS ++++ b/NEWS +@@ -1,3 +1,8 @@ ++dracut-040 ++========== ++- fixed dracut module dependency checks ++- fixed test suite ++ + dracut-039 + ========== + - DRACUT_PATH can now be used to specify the PATH used by dracut diff --git a/0002-lvm-module-setup.sh-check-for-existance-of-69-dm-lvm.patch b/0002-lvm-module-setup.sh-check-for-existance-of-69-dm-lvm.patch deleted file mode 100644 index dbb03c9..0000000 --- a/0002-lvm-module-setup.sh-check-for-existance-of-69-dm-lvm.patch +++ /dev/null @@ -1,39 +0,0 @@ -From fecc1d69e5a12c305d93e7dca64bd690a1fe8ff5 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 3 Jul 2014 15:04:17 +0200 -Subject: [PATCH] lvm:module-setup.sh: check for existance of - 69-dm-lvm-metad.rules - -fixup for 12819a579900b9691e2bfaf14e76fbb025851530 ---- - modules.d/90lvm/module-setup.sh | 17 ++++++++++------- - 1 file changed, 10 insertions(+), 7 deletions(-) - -diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh -index 00d4e5a..2f2b64c 100755 ---- a/modules.d/90lvm/module-setup.sh -+++ b/modules.d/90lvm/module-setup.sh -@@ -80,13 +80,16 @@ install() { - inst_rules 11-dm-lvm.rules 69-dm-lvm-metad.rules - - # Do not run lvmetad update via pvscan in udev rule - lvmetad is not running yet in dracut! -- if [[ -f ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules ]] && \ -- grep -q SYSTEMD_WANTS ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules; then -- sed -i -e 's/^ENV{SYSTEMD_ALIAS}=.*/# No LVM pvscan in dracut - lvmetad is not running yet/' ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules -- sed -i -e 's/^ENV{ID_MODEL}=.*//' ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules -- sed -i -e 's/^ENV{SYSTEMD_WANTS}=.*//' ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules -- else -- sed -i -e 's/.*lvm pvscan.*/# No LVM pvscan for in dracut - lvmetad is not running yet/' ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules -+ if [[ -f ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules ]]; then -+ if grep -q SYSTEMD_WANTS ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules; then -+ sed -i -e 's/^ENV{SYSTEMD_ALIAS}=.*/# No LVM pvscan in dracut - lvmetad is not running yet/' \ -+ ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules -+ sed -i -e 's/^ENV{ID_MODEL}=.*//' ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules -+ sed -i -e 's/^ENV{SYSTEMD_WANTS}=.*//' ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules -+ else -+ sed -i -e 's/.*lvm pvscan.*/# No LVM pvscan for in dracut - lvmetad is not running yet/' \ -+ ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules -+ fi - fi - - # Gentoo ebuild for LVM2 prior to 2.02.63-r1 doesn't install above rules diff --git a/0003-dracut.sh-always-copy-prelink-files-in-FIPS-mode.patch b/0003-dracut.sh-always-copy-prelink-files-in-FIPS-mode.patch deleted file mode 100644 index 14587a8..0000000 --- a/0003-dracut.sh-always-copy-prelink-files-in-FIPS-mode.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 6cd7001b35c66a12787bc0943b9a7e83a3d443c0 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 8 Jul 2014 11:50:04 +0200 -Subject: [PATCH] dracut.sh: always copy prelink files in FIPS mode - -regardless of the the prelink={yes|no} switch ---- - dracut.sh | 26 ++++++++++++-------------- - 1 file changed, 12 insertions(+), 14 deletions(-) - -diff --git a/dracut.sh b/dracut.sh -index c6da411..22273a5 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -1400,20 +1400,18 @@ if [[ $kernel_only != yes ]]; then - fi - fi - --if [[ $do_prelink == yes ]]; then -- PRELINK_BIN="$(command -v prelink)" -- if [[ $UID = 0 ]] && [[ $PRELINK_BIN ]]; then -- if [[ $DRACUT_FIPS_MODE ]]; then -- dinfo "*** Installing prelink files ***" -- inst_multiple -o prelink /etc/prelink.conf /etc/prelink.conf.d/*.conf /etc/prelink.cache -- else -- dinfo "*** Pre-linking files ***" -- inst_multiple -o prelink /etc/prelink.conf /etc/prelink.conf.d/*.conf -- chroot "$initdir" "$PRELINK_BIN" -a -- rm -f -- "$initdir/$PRELINK_BIN" -- rm -fr -- "$initdir"/etc/prelink.* -- dinfo "*** Pre-linking files done ***" -- fi -+PRELINK_BIN="$(command -v prelink)" -+if [[ $UID = 0 ]] && [[ $PRELINK_BIN ]]; then -+ if [[ $DRACUT_FIPS_MODE ]]; then -+ dinfo "*** Installing prelink files ***" -+ inst_multiple -o prelink /etc/prelink.conf /etc/prelink.conf.d/*.conf /etc/prelink.cache -+ elif [[ $do_prelink == yes ]]; then -+ dinfo "*** Pre-linking files ***" -+ inst_multiple -o prelink /etc/prelink.conf /etc/prelink.conf.d/*.conf -+ chroot "$initdir" "$PRELINK_BIN" -a -+ rm -f -- "$initdir/$PRELINK_BIN" -+ rm -fr -- "$initdir"/etc/prelink.* -+ dinfo "*** Pre-linking files done ***" - fi - fi - diff --git a/0003-fix-gzip-compress-then-it-not-supports-rsyncable-opt.patch b/0003-fix-gzip-compress-then-it-not-supports-rsyncable-opt.patch new file mode 100644 index 0000000..a21a654 --- /dev/null +++ b/0003-fix-gzip-compress-then-it-not-supports-rsyncable-opt.patch @@ -0,0 +1,26 @@ +From 3c90cc2f482d13718a45fed2f8aa34442c8651a0 Mon Sep 17 00:00:00 2001 +From: Vasiliy Tolstov +Date: Mon, 27 Oct 2014 13:42:06 +0300 +Subject: [PATCH] fix gzip compress then it not supports rsyncable option + +dracut fail to create initramfs when compressor gzip and +it not have rsyncable option + +Signed-off-by: Vasiliy Tolstov +--- + dracut.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dracut.sh b/dracut.sh +index 1c7e208..7aa1264 100755 +--- a/dracut.sh ++++ b/dracut.sh +@@ -822,7 +822,7 @@ case $compress in + bzip2) compress="bzip2 -9";; + lzma) compress="lzma -9 -T0";; + xz) compress="xz --check=crc32 --lzma2=dict=1MiB -T0";; +- gzip) compress="gzip -n -9 --rsyncable"; command -v pigz > /dev/null 2>&1 && compress="pigz -9 -n -T -R";; ++ gzip) compress="gzip -n -9"; command -v gzip --help 2>&1 | grep -q rsyncable && compress="gzip -n -9 --rsyncable"; command -v pigz > /dev/null 2>&1 && compress="pigz -9 -n -T -R";; + lzo) compress="lzop -9";; + lz4) compress="lz4 -l -9";; + esac diff --git a/0004-ifcfg-write-ifcfg-only-write-DEVICE-for-non-kernel-n.patch b/0004-ifcfg-write-ifcfg-only-write-DEVICE-for-non-kernel-n.patch new file mode 100644 index 0000000..3fef7de --- /dev/null +++ b/0004-ifcfg-write-ifcfg-only-write-DEVICE-for-non-kernel-n.patch @@ -0,0 +1,187 @@ +From 3947f07d93cde5e1cf0d788537e93b135d6c27b0 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 24 Oct 2014 15:47:24 +0200 +Subject: [PATCH] ifcfg/write-ifcfg: only write DEVICE for non-kernel names + +Rename an interface to the kernel namespace is not allowed, so don't add +DEVICE="", if HWADDR is given. +--- + modules.d/40network/net-lib.sh | 46 ++++++++++++++++++++++++++++++- + modules.d/45ifcfg/write-ifcfg.sh | 59 ++++++++++++++++++++++++++-------------- + 2 files changed, 84 insertions(+), 21 deletions(-) + +diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh +index 8b5fbc6..48e7014 100755 +--- a/modules.d/40network/net-lib.sh ++++ b/modules.d/40network/net-lib.sh +@@ -551,7 +551,19 @@ find_iface_with_link() { + } + + is_persistent_ethernet_name() { +- case "$1" in ++ local _netif="$1" ++ local _name_assign_type="0" ++ ++ [ -f "/sys/class/net/$_netif/name_assign_type" ] \ ++ && _name_assign_type=$(cat "/sys/class/net/$_netif/name_assign_type") ++ ++ # NET_NAME_ENUM 1 ++ [ "$_name_assign_type" = "1" ] && return 1 ++ ++ # NET_NAME_PREDICTABLE 2 ++ [ "$_name_assign_type" = "2" ] && return 0 ++ ++ case "$_netif" in + # udev persistent interface names + eno[0-9]|eno[0-9][0-9]|eno[0-9][0-9][0-9]*) + ;; +@@ -571,3 +583,35 @@ is_persistent_ethernet_name() { + esac + return 0 + } ++ ++is_kernel_ethernet_name() { ++ local _netif="$1" ++ local _name_assign_type="1" ++ ++ if [ -e "/sys/class/net/$_netif/name_assign_type" ]; then ++ _name_assign_type=$(cat "/sys/class/net/$_netif/name_assign_type") ++ ++ case "$_name_assign_type" in ++ 2|3|4) ++ # NET_NAME_PREDICTABLE 2 ++ # NET_NAME_USER 3 ++ # NET_NAME_RENAMED 4 ++ return 1 ++ ;; ++ 1|*) ++ # NET_NAME_ENUM 1 ++ return 0 ++ ;; ++ esac ++ fi ++ ++ # fallback to error prone manual name check ++ case "$_netif" in ++ eth[0-9]|eth[0-9][0-9]|eth[0-9][0-9][0-9]*) ++ return 0 ++ ;; ++ *) ++ return 1 ++ esac ++ ++} +diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh +index bb706f6..3dcf304 100755 +--- a/modules.d/45ifcfg/write-ifcfg.sh ++++ b/modules.d/45ifcfg/write-ifcfg.sh +@@ -80,18 +80,41 @@ print_s390() { + return 0 + } + ++hw_bind() { ++ local _netif="$1" ++ local _macaddr="$2" ++ ++ [ -n "$_macaddr" ] \ ++ && echo "MACADDR=\"$_macaddr\"" ++ ++ print_s390 "$_netif" \ ++ && return 0 ++ ++ [ -n "$_macaddr" ] && return 0 ++ ++ is_persistent_ethernet_name "$_netif" && return 0 ++ ++ [ -f "/sys/class/net/$_netif/addr_assign_type" ] \ ++ && [ "$(cat "/sys/class/net/$_netif/addr_assign_type")" != "0" ] \ ++ && return 1 ++ ++ [ -f "/sys/class/net/$_netif/address" ] \ ++ || return 1 ++ ++ echo "HWADDR=\"$(cat /sys/class/net/$_netif/address)\"" ++} ++ + interface_bind() { +- local netif="$1" +- local macaddr="$2" +- if ! print_s390 $netif; then +- if [ -z "$macaddr" ] && \ +- ! is_persistent_ethernet_name "$netif" && \ +- [ -f /sys/class/net/$netif/addr_assign_type ] && \ +- [ "$(cat /sys/class/net/$netif/addr_assign_type)" = "0" ] && \ +- [ -f /sys/class/net/$netif/address ]; then +- echo "HWADDR=\"$(cat /sys/class/net/$netif/address)\"" +- fi ++ local _netif="$1" ++ local _macaddr="$2" ++ ++ # see, if we can bind it to some hw parms ++ if hw_bind "$_netif" "$_macaddr"; then ++ # only print out DEVICE, if it's user assigned ++ is_kernel_ethernet_name "$_netif" && return 0 + fi ++ ++ echo "DEVICE=\"$_netif\"" + } + + for netup in /tmp/net.*.did-setup ; do +@@ -129,7 +152,8 @@ for netup in /tmp/net.*.did-setup ; do + + { + echo "# Generated by dracut initrd" +- echo "DEVICE=\"$netif\"" ++ echo "NAME=\"$netif\"" ++ interface_bind "$netif" "$macaddr" + echo "ONBOOT=yes" + echo "NETBOOT=yes" + echo "UUID=\"$uuid\"" +@@ -175,10 +199,7 @@ for netup in /tmp/net.*.did-setup ; do + if [ -z "$bridge" ] && [ -z "$bond" ] && [ -z "$vlan" ]; then + # standard interface + { +- [ -n "$macaddr" ] && echo "MACADDR=\"$macaddr\"" +- interface_bind "$netif" "$macaddr" + echo "TYPE=Ethernet" +- echo "NAME=\"$netif\"" + [ -n "$mtu" ] && echo "MTU=\"$mtu\"" + } >> /tmp/ifcfg/ifcfg-$netif + fi +@@ -205,16 +226,15 @@ for netup in /tmp/net.*.did-setup ; do + # write separate ifcfg file for the raw eth interface + ( + echo "# Generated by dracut initrd" +- echo "DEVICE=\"$slave\"" ++ echo "NAME=\"$slave\"" + echo "TYPE=Ethernet" + echo "ONBOOT=yes" + echo "NETBOOT=yes" + echo "SLAVE=yes" + echo "MASTER=\"$netif\"" +- echo "NAME=\"$slave\"" + echo "UUID=\"$(cat /proc/sys/kernel/random/uuid)\"" ++ unset macaddr + [ -e /tmp/net.$slave.override ] && . /tmp/net.$slave.override +- [ -n "$macaddr" ] && echo "MACADDR=\"$macaddr\"" + interface_bind "$slave" "$macaddr" + ) >> /tmp/ifcfg/ifcfg-$slave + done +@@ -230,15 +250,14 @@ for netup in /tmp/net.*.did-setup ; do + # write separate ifcfg file for the raw eth interface + ( + echo "# Generated by dracut initrd" +- echo "DEVICE=\"$slave\"" ++ echo "NAME=\"$slave\"" + echo "TYPE=Ethernet" + echo "ONBOOT=yes" + echo "NETBOOT=yes" + echo "BRIDGE=\"$bridgename\"" +- echo "NAME=\"$slave\"" + echo "UUID=\"$(cat /proc/sys/kernel/random/uuid)\"" ++ unset macaddr + [ -e /tmp/net.$slave.override ] && . /tmp/net.$slave.override +- [ -n "$macaddr" ] && echo "MACADDR=\"$macaddr\"" + interface_bind "$slave" "$macaddr" + ) >> /tmp/ifcfg/ifcfg-$slave + done diff --git a/0004-plymouth-also-find-the-pkglibdir-on-debian.patch b/0004-plymouth-also-find-the-pkglibdir-on-debian.patch deleted file mode 100644 index 5d65caf..0000000 --- a/0004-plymouth-also-find-the-pkglibdir-on-debian.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 4adeefc4abb8fb1d83e483d12da6b337c486fded Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 8 Jul 2014 11:50:51 +0200 -Subject: [PATCH] plymouth: also find the pkglibdir on debian - ---- - modules.d/50plymouth/module-setup.sh | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - -diff --git a/modules.d/50plymouth/module-setup.sh b/modules.d/50plymouth/module-setup.sh -index b818324..33fab11 100755 ---- a/modules.d/50plymouth/module-setup.sh -+++ b/modules.d/50plymouth/module-setup.sh -@@ -15,12 +15,18 @@ depends() { - - # called by dracut - install() { -- if grep -q nash /usr/libexec/plymouth/plymouth-populate-initrd \ -- || [ ! -x /usr/libexec/plymouth/plymouth-populate-initrd ]; then -+ PKGLIBDIR="/usr/lib/plymouth" -+ if type -P dpkg-architecture &>/dev/null; then -+ PKGLIBDIR="/usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)/plymouth" -+ fi -+ [ -x /usr/libexec/plymouth/plymouth-populate-initrd ] && PKGLIBDIR="/usr/libexec/plymouth" -+ -+ if grep -q nash ${PKGLIBDIR}/plymouth-populate-initrd \ -+ || [ ! -x ${PKGLIBDIR}/plymouth-populate-initrd ]; then - . "$moddir"/plymouth-populate-initrd.sh - else - PLYMOUTH_POPULATE_SOURCE_FUNCTIONS="$dracutfunctions" \ -- /usr/libexec/plymouth/plymouth-populate-initrd -t "$initdir" -+ ${PKGLIBDIR}/plymouth-populate-initrd -t "$initdir" - fi - - inst_hook emergency 50 "$moddir"/plymouth-emergency.sh diff --git a/0005-Fix-location-of-dracut-install-for-local-mode.patch b/0005-Fix-location-of-dracut-install-for-local-mode.patch new file mode 100644 index 0000000..8946cca --- /dev/null +++ b/0005-Fix-location-of-dracut-install-for-local-mode.patch @@ -0,0 +1,24 @@ +From 972d6b44ba54e44c01801614fb57e128604b4a12 Mon Sep 17 00:00:00 2001 +From: Stefan Reimer +Date: Tue, 28 Oct 2014 17:58:22 -0700 +Subject: [PATCH] Fix location of dracut-install for local mode + +--- + dracut-functions.sh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/dracut-functions.sh b/dracut-functions.sh +index 1bcc3b4..3ad8d81 100755 +--- a/dracut-functions.sh ++++ b/dracut-functions.sh +@@ -741,8 +741,8 @@ if ! [[ $DRACUT_INSTALL ]]; then + DRACUT_INSTALL=$(find_binary dracut-install) + fi + +-if ! [[ $DRACUT_INSTALL ]] && [[ -x $dracutbasedir/dracut-install ]]; then +- DRACUT_INSTALL=$dracutbasedir/dracut-install ++if ! [[ $DRACUT_INSTALL ]] && [[ -x $dracutbasedir/install/dracut-install ]]; then ++ DRACUT_INSTALL=$dracutbasedir/install/dracut-install + fi + + if ! [[ -x $DRACUT_INSTALL ]]; then diff --git a/0005-dracut-functions.sh-speed-up-ldconfig_paths.patch b/0005-dracut-functions.sh-speed-up-ldconfig_paths.patch deleted file mode 100644 index 4c0529f..0000000 --- a/0005-dracut-functions.sh-speed-up-ldconfig_paths.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 5ea0be0a8c83969fd0041b3e647f82fcfb365e44 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 8 Jul 2014 12:54:21 +0200 -Subject: [PATCH] dracut-functions.sh: speed up ldconfig_paths() - ---- - dracut-functions.sh | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -diff --git a/dracut-functions.sh b/dracut-functions.sh -index d30e835..9f481b2 100755 ---- a/dracut-functions.sh -+++ b/dracut-functions.sh -@@ -109,12 +109,11 @@ ldconfig_paths() - local a i - declare -A a - for i in $( -- ldconfig -pN 2>/dev/null | while read a b c d; do -- [[ "$c" != "=>" ]] && continue -- printf "%s\n" ${d%/*}; -+ ldconfig -pN 2>/dev/null | grep -F '=>' | grep -E -v '/(lib|lib64|usr/lib|usr/lib64)/[^/]*$' | while read a b c d; do -+ d=${d%/*} -+ printf "%s\n" "$d"; - done - ); do -- [[ "$i" = "/lib" || "$i" = "/usr/lib" || "$i" = "/lib64" || "$i" = "/usr/lib64" ]] && continue - a["$i"]=1; - done; - printf "%s\n" ${!a[@]} diff --git a/0006-Installing-an-OS-with-VLAN-enabled-to-an-ISCSI-LUN-f.patch b/0006-Installing-an-OS-with-VLAN-enabled-to-an-ISCSI-LUN-f.patch deleted file mode 100644 index dce717c..0000000 --- a/0006-Installing-an-OS-with-VLAN-enabled-to-an-ISCSI-LUN-f.patch +++ /dev/null @@ -1,41 +0,0 @@ -From f4eb0d98048d51a0782d4a7137f699de174a65e4 Mon Sep 17 00:00:00 2001 -From: "Praveen_Paladugu@Dell.com" -Date: Tue, 10 Jun 2014 10:35:16 -0500 -Subject: [PATCH] Installing an OS with VLAN enabled to an ISCSI LUN (from - ibft) - -When installing OS to a VLAN enabled iscsi LUN (extracted from iBFT), "/tmp/net.{xyz}.has_ibft_config" is not being set properly. - -Then anaconda installer requires 'BOOTPROTO="ibft"' populated in ifcfg of the vlan interface (ex: ibft0.20), for it to properly populate the kernel parameters post installation. The setting 'BOOTPROTO="ibft"' is populated by write-ifcfg.sh script only if the corresponding interface has a file /tmp/net.{xyz}.has_inft_config - -To get around this issue, in ibft_to_cmdline() function in net-lib.sh file, I made the following changes to populate the has_ibft_config file for the vlan interface(ex: ibft0.20): ---- - modules.d/40network/net-lib.sh | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh -index a82f1a8..f8e1179 100755 ---- a/modules.d/40network/net-lib.sh -+++ b/modules.d/40network/net-lib.sh -@@ -233,15 +233,20 @@ ibft_to_cmdline() { - case "$vlan" in - [0-9]*) - echo "vlan=$dev.$vlan:$dev" -+ echo $mac > /tmp/net.${dev}.${vlan}.has_ibft_config - ;; - *) - echo "vlan=$vlan:$dev" -+ echo $mac > /tmp/net.${vlan}.has_ibft_config - ;; - esac -+ else -+ echo $mac > /tmp/net.${dev}.has_ibft_config - fi -+ else -+ echo $mac > /tmp/net.${dev}.has_ibft_config - fi - -- echo $mac > /tmp/net.${dev}.has_ibft_config - done - ) >> /etc/cmdline.d/40-ibft.conf - } diff --git a/0006-dracut-functions.sh-fixup-for-34a1ec6-for-non-local-.patch b/0006-dracut-functions.sh-fixup-for-34a1ec6-for-non-local-.patch new file mode 100644 index 0000000..9700f89 --- /dev/null +++ b/0006-dracut-functions.sh-fixup-for-34a1ec6-for-non-local-.patch @@ -0,0 +1,24 @@ +From 2f0f1b0bbc0aae6b5f54c64d911eb6b09030798d Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Wed, 29 Oct 2014 13:39:28 +0100 +Subject: [PATCH] dracut-functions.sh: fixup for 34a1ec6 for non-local mode + +--- + dracut-functions.sh | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/dracut-functions.sh b/dracut-functions.sh +index 3ad8d81..b43b766 100755 +--- a/dracut-functions.sh ++++ b/dracut-functions.sh +@@ -741,7 +741,9 @@ if ! [[ $DRACUT_INSTALL ]]; then + DRACUT_INSTALL=$(find_binary dracut-install) + fi + +-if ! [[ $DRACUT_INSTALL ]] && [[ -x $dracutbasedir/install/dracut-install ]]; then ++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 + diff --git a/0007-dracut-functions.sh-fix-inst-functions-for-H-handlin.patch b/0007-dracut-functions.sh-fix-inst-functions-for-H-handlin.patch deleted file mode 100644 index 8bbd09e..0000000 --- a/0007-dracut-functions.sh-fix-inst-functions-for-H-handlin.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 4ef45f13f4d11c86c4c8c3fd8d8a6be2c5b4deef Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Mon, 21 Jul 2014 16:58:15 +0200 -Subject: [PATCH] dracut-functions.sh: fix inst*() functions for "-H" handling - -because some inst*() functions check the existance of the source files -and do not know about the "-H" option, some failed to install the -hostonly files. ---- - dracut-functions.sh | 46 ++++++++++++++++++++++++++++++++-------------- - 1 file changed, 32 insertions(+), 14 deletions(-) - -diff --git a/dracut-functions.sh b/dracut-functions.sh -index 9f481b2..6cdfea0 100755 ---- a/dracut-functions.sh -+++ b/dracut-functions.sh -@@ -760,33 +760,46 @@ inst_dir() { - } - - inst() { -+ local _hostonly_install -+ if [[ "$1" == "-H" ]]; then -+ _hostonly_install="-H" -+ shift -+ fi - [[ -e ${initdir}/"${2:-$1}" ]] && return 0 # already there -- #dinfo "$DRACUT_INSTALL -l $@" -- $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@" -- (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@" || : -+ $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@" -+ (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${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"} "$@" -- (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} "$@" || : -+ $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${_hostonly_install:+-H} "$@" -+ (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${_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"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@" -- (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@" || : -+ $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@" -+ (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@" || : - } - - inst_multiple() { -- local ret -- #dinfo "initdir=$initdir $DRACUT_INSTALL -l $@" -+ local _ret - $DRACUT_INSTALL ${initdir:+-D "$initdir"} -a ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@" -- ret=$? -- (($ret != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} -a ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@" || : -- return $ret -+ _ret=$? -+ (($_ret != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} -a ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@" || : -+ return $_ret - } - - dracut_install() { -@@ -794,10 +807,15 @@ dracut_install() { - } - - 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"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@" -- (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@" || : -+ $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@" -+ (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@" || : - } - - inst_binary() { diff --git a/0007-shutdown.sh-correct-return-code-of-_check_shutdown.patch b/0007-shutdown.sh-correct-return-code-of-_check_shutdown.patch new file mode 100644 index 0000000..68a3124 --- /dev/null +++ b/0007-shutdown.sh-correct-return-code-of-_check_shutdown.patch @@ -0,0 +1,40 @@ +From 5cac9e14ecadc21cc5a903101135d07eb3fa60e2 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Wed, 29 Oct 2014 13:51:15 +0100 +Subject: [PATCH] shutdown.sh: correct return code of _check_shutdown() + +fix commit b09faad8779f5579, which reversed the return code +--- + modules.d/99shutdown/shutdown.sh | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/modules.d/99shutdown/shutdown.sh b/modules.d/99shutdown/shutdown.sh +index 98eab1d..c183f9d 100755 +--- a/modules.d/99shutdown/shutdown.sh ++++ b/modules.d/99shutdown/shutdown.sh +@@ -84,14 +84,14 @@ fi + + _check_shutdown() { + local __f +- local __s=1 ++ local __s=0 + for __f in $hookdir/shutdown/*.sh; do + [ -e "$__f" ] || continue + ( . "$__f" $1 ) + if [ $? -eq 0 ]; then + rm -f -- $__f + else +- __s=0 ++ __s=1 + fi + done + return $__s +@@ -99,7 +99,7 @@ _check_shutdown() { + + _cnt=0 + while [ $_cnt -le 40 ]; do +- _check_shutdown || break ++ _check_shutdown && break + _cnt=$(($_cnt+1)) + done + [ $_cnt -ge 40 ] && _check_shutdown final diff --git a/0008-ARM-update-modules-for-ARM-host-only-options.patch b/0008-ARM-update-modules-for-ARM-host-only-options.patch deleted file mode 100644 index fe2ffbe..0000000 --- a/0008-ARM-update-modules-for-ARM-host-only-options.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 611c895772c73ebb5f769942bca5d5991adc169e Mon Sep 17 00:00:00 2001 -From: Peter Robinson -Date: Sun, 20 Jul 2014 22:20:04 +0100 -Subject: [PATCH] ARM: update modules for ARM host only options - ---- - modules.d/90kernel-modules/module-setup.sh | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh -index cc79b88..1ce133f 100755 ---- a/modules.d/90kernel-modules/module-setup.sh -+++ b/modules.d/90kernel-modules/module-setup.sh -@@ -51,9 +51,10 @@ installkernel() { - - if [[ "$(uname -p)" == arm* ]]; then - # arm specific modules -- hostonly='' instmods omapdrm panel-tfp410 -- instmods i2c-tegra gpio-regulator as3722-regulator \ -- phy-tegra-usb ehci-tegra sdhci-tegra -+ hostonly='' instmods \ -+ connector-hdmi connector-dvi encoder-tfp410 \ -+ encoder-tpd12s015 i2c-tegra gpio-regulator \ -+ as3722-regulator orion-ehci ehci-tegra - fi - - # install virtual machine support diff --git a/0008-kernel-modules-Drop-explicit-modules-that-are-found-.patch b/0008-kernel-modules-Drop-explicit-modules-that-are-found-.patch new file mode 100644 index 0000000..2576419 --- /dev/null +++ b/0008-kernel-modules-Drop-explicit-modules-that-are-found-.patch @@ -0,0 +1,28 @@ +From 27dcc3a583e5488ee70dcd0299646cc33faf8a21 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Sun, 26 Oct 2014 11:48:15 +0000 +Subject: [PATCH] kernel-modules: Drop explicit modules that are found with + block_module_filter + +The usb_storage, nvme and sdhci_acpi modules are discovered with the +block_module_filter so there's no need to explicitly list them here. + +Signed-off-by: +--- + modules.d/90kernel-modules/module-setup.sh | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh +index 83b8995..2fa263c 100755 +--- a/modules.d/90kernel-modules/module-setup.sh ++++ b/modules.d/90kernel-modules/module-setup.sh +@@ -44,8 +44,7 @@ installkernel() { + instmods yenta_socket scsi_dh_rdac scsi_dh_emc \ + atkbd i8042 usbhid hid-apple hid-sunplus hid-cherry hid-logitech \ + hid-logitech-dj hid-microsoft hid-lcpower firewire-ohci \ +- pcmcia usb_storage nvme hid-hyperv hv-vmbus \ +- sdhci_acpi hyperv-keyboard ++ pcmcia hid-hyperv hv-vmbus hyperv-keyboard + + if [[ "$(uname -p)" == arm* ]]; then + # arm specific modules diff --git a/0009-40network-Copy-the-customize-dhcp-config.patch b/0009-40network-Copy-the-customize-dhcp-config.patch new file mode 100644 index 0000000..2a4b47b --- /dev/null +++ b/0009-40network-Copy-the-customize-dhcp-config.patch @@ -0,0 +1,36 @@ +From 56d2aed1c82a9ff62a081722f4b9ff9d49a0fe78 Mon Sep 17 00:00:00 2001 +From: Minfei Huang +Date: Mon, 27 Oct 2014 14:33:11 +0800 +Subject: [PATCH] 40network: Copy the customize dhcp config + +It is not available to valid the customize dhcp config +/etc/dhclient.conf in the initram environment. + +Dracut uses the default follow config to construct the initramfs. + +request subnet-mask, broadcast-address, time-offset, routers, + domain-name, domain-name-servers, domain-search, host-name, + root-path, interface-mtu; + +Copy the customize config to make the config availably in the +initram environment. + +Signed-off-by: Minfei Huang +--- + modules.d/40network/module-setup.sh | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh +index ae1f43f..55bee4c 100755 +--- a/modules.d/40network/module-setup.sh ++++ b/modules.d/40network/module-setup.sh +@@ -79,7 +79,8 @@ install() { + inst_script "$moddir/netroot.sh" "/sbin/netroot" + inst_script "$moddir/dhclient-script.sh" "/sbin/dhclient-script" + inst_simple "$moddir/net-lib.sh" "/lib/net-lib.sh" +- inst_simple "$moddir/dhclient.conf" "/etc/dhclient.conf" ++ inst_simple -H "/etc/dhclient.conf" ++ cat "$moddir/dhclient.conf" >> "${initdir}/etc/dhclient.conf" + inst_hook pre-udev 50 "$moddir/ifname-genrules.sh" + inst_hook pre-udev 60 "$moddir/net-genrules.sh" + inst_hook cmdline 91 "$moddir/dhcp-root.sh" diff --git a/0009-base-dracut-lib-pidof-turn-off-debugging.patch b/0009-base-dracut-lib-pidof-turn-off-debugging.patch deleted file mode 100644 index 5805c35..0000000 --- a/0009-base-dracut-lib-pidof-turn-off-debugging.patch +++ /dev/null @@ -1,40 +0,0 @@ -From ad8638e04e4ac3641afee0e273c91aa3fb6d4278 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 22 Jul 2014 11:51:08 +0200 -Subject: [PATCH] base/dracut-lib:pidof() turn off debugging - ---- - modules.d/99base/dracut-lib.sh | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh -index a77b843..abcebf5 100755 ---- a/modules.d/99base/dracut-lib.sh -+++ b/modules.d/99base/dracut-lib.sh -@@ -991,13 +991,17 @@ wait_for_loginit() - # pidof version for root - if ! command -v pidof >/dev/null 2>/dev/null; then - pidof() { -+ debug_off - local _cmd - local _exe - local _rl - local _ret=1 - local i - _cmd="$1" -- [ -z "$_cmd" ] && return 1 -+ if [ -z "$_cmd" ]; then -+ debug_on -+ return 1 -+ fi - _exe=$(type -P "$1") - for i in /proc/*/exe; do - [ -e "$i" ] || continue -@@ -1011,6 +1015,7 @@ if ! command -v pidof >/dev/null 2>/dev/null; then - echo ${i##/proc/} - _ret=0 - done -+ debug_on - return $_ret - } - fi diff --git a/0010-dracut.sh-don-t-check-gzip-for-rsyncable-if-pigz-is-.patch b/0010-dracut.sh-don-t-check-gzip-for-rsyncable-if-pigz-is-.patch new file mode 100644 index 0000000..ca7fb7d --- /dev/null +++ b/0010-dracut.sh-don-t-check-gzip-for-rsyncable-if-pigz-is-.patch @@ -0,0 +1,29 @@ +From 66fd7e43295cb67ac6eaaced3c7b271920e07dce Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Wed, 29 Oct 2014 14:18:34 +0100 +Subject: [PATCH] dracut.sh: don't check gzip for --rsyncable, if pigz is + available + +--- + dracut.sh | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/dracut.sh b/dracut.sh +index 7aa1264..4590f79 100755 +--- a/dracut.sh ++++ b/dracut.sh +@@ -822,7 +822,13 @@ case $compress in + bzip2) compress="bzip2 -9";; + lzma) compress="lzma -9 -T0";; + xz) compress="xz --check=crc32 --lzma2=dict=1MiB -T0";; +- gzip) compress="gzip -n -9"; command -v gzip --help 2>&1 | grep -q rsyncable && compress="gzip -n -9 --rsyncable"; command -v pigz > /dev/null 2>&1 && compress="pigz -9 -n -T -R";; ++ gzip) compress="gzip -n -9"; ++ if command -v pigz > /dev/null 2>&1; then ++ compress="pigz -9 -n -T -R" ++ elif command -v gzip --help 2>&1 | grep -q rsyncable; then ++ compress="gzip -n -9 --rsyncable" ++ fi ++ ;; + lzo) compress="lzop -9";; + lz4) compress="lz4 -l -9";; + esac diff --git a/0010-network-add-rd.route-parameter.patch b/0010-network-add-rd.route-parameter.patch deleted file mode 100644 index 2334367..0000000 --- a/0010-network-add-rd.route-parameter.patch +++ /dev/null @@ -1,125 +0,0 @@ -From 7b46244bb94e3dfd635a8d222044ae7fc920240d Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 22 Jul 2014 11:03:56 +0200 -Subject: [PATCH] network: add rd.route parameter - ---- - dracut.cmdline.7.asc | 15 +++++++++++++- - modules.d/40network/net-lib.sh | 42 ++++++++++++++++++++++++++++++++++++++++ - modules.d/45ifcfg/write-ifcfg.sh | 3 +++ - 3 files changed, 59 insertions(+), 1 deletion(-) - -diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc -index fef13b3..f66bace 100644 ---- a/dracut.cmdline.7.asc -+++ b/dracut.cmdline.7.asc -@@ -493,6 +493,19 @@ WARNING: Do **not** use the default kernel naming scheme for the interface name, - as it can conflict with the kernel names. So, don't use "eth[0-9]+" for the - interface name. Better name it "bootnet" or "bluesocket". - -+**rd.route=**____/____:____[:____]:: -+ Add a static route with route options, which are separated by a colon. -+ IPv6 addresses have to be put in brackets. -++ -+[listing] -+.Example -+-- -+ rd.route=192.168.200.0/24:192.168.100.222:ens10 -+ rd.route=192.168.200.0/24:192.168.100.222 -+ rd.route=192.168.200.0/24::ens10 -+ rd.route=[2001:DB8:3::/8]:[2001:DB8:2::1]:ens10 -+-- -+ - **bootdev=**____:: - specify network interface to use routing and netroot information from. - Required if multiple ip= lines are used. -@@ -540,7 +553,7 @@ NFS - ~~~ - **root=**\[__:]____[:____]:: - mount nfs share from :/, if no server-ip is given, use -- dhcp next_server. if server-ip is an IPv6 address it has to be put in -+ dhcp next_server. If server-ip is an IPv6 address it has to be put in - brackets, e.g. [2001:DB8::1]. NFS options can be appended with the prefix - ":" or "," and are seperated by ",". - -diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh -index f8e1179..c118c53 100755 ---- a/modules.d/40network/net-lib.sh -+++ b/modules.d/40network/net-lib.sh -@@ -89,6 +89,7 @@ ifdown() { - - setup_net() { - local netif="$1" f="" gw_ip="" netroot_ip="" iface="" IFACES="" -+ local _p - [ -e /tmp/net.$netif.did-setup ] && return - [ -e /sys/class/net/$netif/address ] && \ - [ -e /tmp/net.$(cat /sys/class/net/$netif/address).did-setup ] && return -@@ -103,6 +104,20 @@ setup_net() { - [ -e /tmp/net.$netif.resolv.conf ] && \ - cp -f /tmp/net.$netif.resolv.conf /etc/resolv.conf - -+ # add static route -+ for _p in $(getargs rd.route); do -+ 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 -+ printf -- "%s\n" "$route_mask ${route_gw:+via $route_gw} ${route_dev:+dev $route_dev}" \ -+ > /tmp/net.route6."$netif" -+ else -+ printf -- "%s\n" "$route_mask ${route_gw:+via $route_gw} ${route_dev:+dev $route_dev}" \ -+ > /tmp/net.route."$netif" -+ fi -+ done -+ - # 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 -@@ -400,6 +415,33 @@ ip_to_var() { - fi - } - -+route_to_var() { -+ local v=${1}: -+ local i -+ set -- -+ while [ -n "$v" ]; do -+ if [ "${v#\[*:*:*\]:}" != "$v" ]; then -+ # handle IPv6 address -+ i="${v%%\]:*}" -+ i="${i##\[}" -+ set -- "$@" "$i" -+ v=${v#\[$i\]:} -+ else -+ set -- "$@" "${v%%:*}" -+ v=${v#*:} -+ fi -+ done -+ -+ unset route_mask route_gw route_dev -+ case $# in -+ 2) [ -n "$1" ] && route_mask="$1"; [ -n "$2" ] && route_gw="$2" -+ return 0;; -+ 3) [ -n "$1" ] && route_mask="$1"; [ -n "$2" ] && route_gw="$2"; [ -n "$3" ] && route_dev="$3" -+ return 0;; -+ *) return 1;; -+ esac -+} -+ - parse_ifname_opts() { - local IFS=: - set $1 -diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh -index 803ae8e..7e301de 100755 ---- a/modules.d/45ifcfg/write-ifcfg.sh -+++ b/modules.d/45ifcfg/write-ifcfg.sh -@@ -268,6 +268,9 @@ for netup in /tmp/net.*.did-setup ; do - echo "DNS${i}=\"${ns}\"" >> /tmp/ifcfg/ifcfg-$netif - i=$((i+1)) - done -+ -+ [ -f /tmp/net.route6."$netif" ] && cp /tmp/net.route6."$netif" /tmp/ifcfg/route6-"$netif" -+ [ -f /tmp/net.route."$netif" ] && cp /tmp/net.route."$netif" /tmp/ifcfg/route-"$netif" - done - - # Pass network opts diff --git a/0011-add-install-optional-and-install_optional_items.patch b/0011-add-install-optional-and-install_optional_items.patch deleted file mode 100644 index e909bc6..0000000 --- a/0011-add-install-optional-and-install_optional_items.patch +++ /dev/null @@ -1,129 +0,0 @@ -From 54b68829b60bc3f4c28cfca1ab0336584fe1e74c Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 22 Jul 2014 14:09:06 +0200 -Subject: [PATCH] add "--install-optional" and install_optional_items - ---- - dracut-bash-completion.sh | 4 ++-- - dracut.8.asc | 3 +++ - dracut.conf.5.asc | 4 ++++ - dracut.conf.d/fedora.conf.example | 2 +- - dracut.sh | 13 +++++++++++++ - 5 files changed, 23 insertions(+), 3 deletions(-) - -diff --git a/dracut-bash-completion.sh b/dracut-bash-completion.sh -index 9f359c6..feced60 100644 ---- a/dracut-bash-completion.sh -+++ b/dracut-bash-completion.sh -@@ -40,7 +40,7 @@ _dracut() { - --omit-drivers --modules --omit --drivers --filesystems --install - --fwdir --libdirs --fscks --add-fstab --mount --device --nofscks - --kmoddir --conf --confdir --tmpdir --stdlog --compress --prefix -- --kernel-cmdline --sshkey --persistent-policy' -+ --kernel-cmdline --sshkey --persistent-policy --install-optional' - ) - - if __contains_word "$prev" ${OPTS[ARG]}; then -@@ -49,7 +49,7 @@ _dracut() { - comps=$(compgen -d -- "$cur") - compopt -o filenames - ;; -- -c|--conf|--sshkey|--add-fstab|--add-device|-I|--install) -+ -c|--conf|--sshkey|--add-fstab|--add-device|-I|--install|--install-optional) - comps=$(compgen -f -- "$cur") - compopt -o filenames - ;; -diff --git a/dracut.8.asc b/dracut.8.asc -index 14ce26b..51a4e9f 100644 ---- a/dracut.8.asc -+++ b/dracut.8.asc -@@ -349,6 +349,9 @@ example: - ---- - =============================== - -+**--install-optional** __:: -+ install the space separated list of files into the initramfs, if they exist. -+ - **--gzip**:: - Compress the generated initramfs using gzip. This will be done by default, - unless another compression option or --no-compress is passed. Equivalent to -diff --git a/dracut.conf.5.asc b/dracut.conf.5.asc -index be62da9..0b6be6a 100644 ---- a/dracut.conf.5.asc -+++ b/dracut.conf.5.asc -@@ -66,6 +66,10 @@ Configuration files must have the extension .conf; other extensions are ignored. - *install_items+=*" ____[ ____ ...] ":: - Specify additional files to include in the initramfs, separated by spaces. - -+*install_optional_items+=*" ____[ ____ ...] ":: -+ Specify additional files to include in the initramfs, separated by spaces, -+ if they exist. -+ - *do_strip=*"__{yes|no}__":: - Strip binaries in the initramfs (default=yes) - -diff --git a/dracut.conf.d/fedora.conf.example b/dracut.conf.d/fedora.conf.example -index 495e8fb..c06202b 100644 ---- a/dracut.conf.d/fedora.conf.example -+++ b/dracut.conf.d/fedora.conf.example -@@ -6,7 +6,7 @@ i18n_default_font="latarcyrheb-sun16" - i18n_install_all="yes" - stdloglvl=3 - sysloglvl=5 --install_items+=" vi /etc/virc ps grep cat rm " -+install_optional_items+=" vi /etc/virc ps grep cat rm " - prefix="/" - systemdutildir=/usr/lib/systemd - systemdsystemunitdir=/usr/lib/systemd/system -diff --git a/dracut.sh b/dracut.sh -index 22273a5..3e1bf44 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -158,6 +158,8 @@ Creates initial ramdisk images for preloading modules - in the final initramfs. - -I, --install [LIST] Install the space separated list of files into the - initramfs. -+ --install-optional [LIST] Install the space separated list of files into the -+ initramfs, if they exist. - --gzip Compress the generated initramfs using gzip. - This will be done by default, unless another - compression option or --no-compress is passed. -@@ -305,6 +307,7 @@ rearrange_params() - --long drivers: \ - --long filesystems: \ - --long install: \ -+ --long install-optional: \ - --long fwdir: \ - --long libdirs: \ - --long fscks: \ -@@ -469,6 +472,9 @@ while :; do - -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;; -@@ -716,6 +722,12 @@ if (( ${#install_items_l[@]} )); then - done - fi - -+if (( ${#install_optional_items_l[@]} )); then -+ while pop install_optional_items_l val; do -+ install_optional_items+=" $val " -+ done -+fi -+ - # these options override the stuff in the config file - if (( ${#dracutmodules_l[@]} )); then - dracutmodules='' -@@ -1317,6 +1329,7 @@ fi - - if [[ $kernel_only != yes ]]; then - (( ${#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/0011-systemd-add-90-vconsole.rules.patch b/0011-systemd-add-90-vconsole.rules.patch new file mode 100644 index 0000000..1570839 --- /dev/null +++ b/0011-systemd-add-90-vconsole.rules.patch @@ -0,0 +1,28 @@ +From 027565d0233f76edf434b63a847a717185d267e2 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Thu, 6 Nov 2014 10:44:33 +0100 +Subject: [PATCH] systemd: add 90-vconsole.rules + +run systemd-vconsole-setup if fbcon device shows up +--- + modules.d/98systemd/module-setup.sh | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh +index 1ab253d..bd4433e 100755 +--- a/modules.d/98systemd/module-setup.sh ++++ b/modules.d/98systemd/module-setup.sh +@@ -198,7 +198,12 @@ install() { + inst_binary true + ln_r $(type -P true) "/usr/bin/loginctl" + ln_r $(type -P true) "/bin/loginctl" +- inst_rules 70-uaccess.rules 71-seat.rules 73-seat-late.rules 99-systemd.rules ++ inst_rules \ ++ 70-uaccess.rules \ ++ 71-seat.rules \ ++ 73-seat-late.rules \ ++ 90-vconsole.rules \ ++ 99-systemd.rules + + for i in \ + emergency.target \ diff --git a/0012-base-Set-udevd-log-level-via-environment-var-to-cove.patch b/0012-base-Set-udevd-log-level-via-environment-var-to-cove.patch new file mode 100644 index 0000000..ccbd681 --- /dev/null +++ b/0012-base-Set-udevd-log-level-via-environment-var-to-cove.patch @@ -0,0 +1,56 @@ +From af67d62151b0c4708c4478cc5b2cbdaae5803699 Mon Sep 17 00:00:00 2001 +From: Colin Guthrie +Date: Mon, 10 Nov 2014 14:17:39 +0000 +Subject: [PATCH] base: Set udevd log level via environment var to cover early + startup. + +udevd will these days default to 'info' logging and thus will +often print out the 'starting version nnn' message (which is +logged at level 'info'), thus spamming the console, even on +'quiet' boots. + +We generally expect a udev log level of err (the old default +from pre-October 2013) so we should set that explicilty before +launching udevd in order to suppress the spurious 'info' message. + +As we are using the environment variable approach anyway, we +may as well use this method rather than setting the log level +later via udevadm control commands when rd.udev.info/debug are +given on the kernel command line. + +The enviroment variable has been around since udev 6b493a20e1 +around 2005 so should be safe to use in all cases without version +checks. +--- + modules.d/99base/init.sh | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh +index e249b27..3afe6d5 100755 +--- a/modules.d/99base/init.sh ++++ b/modules.d/99base/init.sh +@@ -137,19 +137,19 @@ make_trace_mem "hook pre-udev" '1:shortmem' '2+:mem' '3+:slab' + getarg 'rd.break=pre-udev' -d 'rdbreak=pre-udev' && emergency_shell -n pre-udev "Break before pre-udev" + source_hook pre-udev + ++UDEV_LOG=err ++getargbool 0 rd.udev.info -d -y rdudevinfo && UDEV_LOG=info ++getargbool 0 rd.udev.debug -d -y rdudevdebug && UDEV_LOG=debug ++ + # start up udev and trigger cold plugs +-$systemdutildir/systemd-udevd --daemon --resolve-names=never ++UDEV_LOG=$UDEV_LOG $systemdutildir/systemd-udevd --daemon --resolve-names=never + +-UDEV_LOG_PRIO_ARG=--log-priority + UDEV_QUEUE_EMPTY="udevadm settle --timeout=0" + + if [ $UDEVVERSION -lt 140 ]; then +- UDEV_LOG_PRIO_ARG=--log_priority + UDEV_QUEUE_EMPTY="udevadm settle --timeout=1" + fi + +-getargbool 0 rd.udev.info -d -y rdudevinfo && udevadm control "$UDEV_LOG_PRIO_ARG=info" +-getargbool 0 rd.udev.debug -d -y rdudevdebug && udevadm control "$UDEV_LOG_PRIO_ARG=debug" + udevproperty "hookdir=$hookdir" + + make_trace_mem "hook pre-trigger" '1:shortmem' '2+:mem' '3+:slab' diff --git a/0012-test-TEST-30-ISCSI-add-rd.shell-to-client-root.patch b/0012-test-TEST-30-ISCSI-add-rd.shell-to-client-root.patch deleted file mode 100644 index f68067d..0000000 --- a/0012-test-TEST-30-ISCSI-add-rd.shell-to-client-root.patch +++ /dev/null @@ -1,31 +0,0 @@ -From ece72160cedbe47b973a7925d5e2f5adc409a849 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 22 Jul 2014 14:22:21 +0200 -Subject: [PATCH] test/TEST-30-ISCSI: add rd.shell to client root - ---- - test/TEST-30-ISCSI/client-init.sh | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/test/TEST-30-ISCSI/client-init.sh b/test/TEST-30-ISCSI/client-init.sh -index e78db27..b3e2ee1 100755 ---- a/test/TEST-30-ISCSI/client-init.sh -+++ b/test/TEST-30-ISCSI/client-init.sh -@@ -1,6 +1,8 @@ - #!/bin/sh - export PATH=/sbin:/bin:/usr/sbin:/usr/bin - exec >/dev/console 2>&1 -+strstr() { [ "${1##*"$2"*}" != "$1" ]; } -+CMDLINE=$(while read line; do echo $line;done < /proc/cmdline) - export TERM=linux - export PS1='initramfs-test:\w\$ ' - stty sane -@@ -11,4 +13,8 @@ while read dev fs fstype opts rest; do - break - done < /proc/mounts - #sh -i -+if strstr "$CMDLINE" "rd.shell"; then -+ strstr "$(setsid --help)" "control" && CTTY="-c" -+ setsid $CTTY sh -i -+fi - poweroff -f diff --git a/0013-dracut.sh-add-DRACUT_PATH.patch b/0013-dracut.sh-add-DRACUT_PATH.patch deleted file mode 100644 index 111f022..0000000 --- a/0013-dracut.sh-add-DRACUT_PATH.patch +++ /dev/null @@ -1,62 +0,0 @@ -From eab9b75c8a9b106d2f35faae0af51ab1c66e8da1 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 22 Jul 2014 14:43:33 +0200 -Subject: [PATCH] dracut.sh: add DRACUT_PATH - -DRACUT_PATH can now be used to specify the PATH used by dracut -to search for binaries instead of the default -/usr/sbin:/sbin:/usr/bin:/bin - -This should be set in the distribution config file -/usr/lib/dracut/dracut.conf.d/01-dist.conf ---- - dracut.sh | 25 ++++++++++++++----------- - 1 file changed, 14 insertions(+), 11 deletions(-) - -diff --git a/dracut.sh b/dracut.sh -index 3e1bf44..1844336 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -626,21 +626,10 @@ if ! [[ $outfile ]]; then - fi - fi - --for i in /usr/sbin /sbin /usr/bin /bin; do -- rl=$i -- if [ -L "$i" ]; then -- rl=$(readlink -f $i) -- fi -- if [[ "$NPATH" != *:$rl* ]] ; then -- NPATH+=":$rl" -- fi --done --export PATH="${NPATH#:}" - unset LC_MESSAGES - unset LC_CTYPE - export LC_ALL=C - export LANG=C --unset NPATH - unset LD_LIBRARY_PATH - unset LD_PRELOAD - unset GREP_OPTIONS -@@ -685,6 +674,20 @@ for f in $(dropindirs_sort ".conf" "$confdir" "$dracutbasedir/dracut.conf.d"); d - [[ -e $f ]] && . "$f" - done - -+DRACUT_PATH=${DRACUT_PATH:-/usr/sbin /sbin /usr/bin /bin} -+ -+for i in $DRACUT_PATH; do -+ rl=$i -+ if [ -L "$i" ]; then -+ rl=$(readlink -f $i) -+ fi -+ if [[ "$NPATH" != *:$rl* ]] ; then -+ NPATH+=":$rl" -+ fi -+done -+export PATH="${NPATH#:}" -+unset NPATH -+ - # these optins add to the stuff in the config file - if (( ${#add_dracutmodules_l[@]} )); then - while pop add_dracutmodules_l val; do diff --git a/0013-multipath-add-rd.multipath-0-option.patch b/0013-multipath-add-rd.multipath-0-option.patch new file mode 100644 index 0000000..d7d374f --- /dev/null +++ b/0013-multipath-add-rd.multipath-0-option.patch @@ -0,0 +1,47 @@ +From 778b3543609d8c9d32df7111229f4072d00d02f0 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Thu, 20 Nov 2014 11:27:40 +0100 +Subject: [PATCH] multipath: add "rd.multipath=0" option + +--- + dracut.cmdline.7.asc | 7 +++++++ + modules.d/90multipath/multipathd.sh | 2 +- + 2 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc +index 48356c7..8e4835d 100644 +--- a/dracut.cmdline.7.asc ++++ b/dracut.cmdline.7.asc +@@ -379,6 +379,11 @@ DM RAID + only activate the raid sets with the given UUID. This parameter can be + specified multiple times. + ++MULTIPATH ++~~~~~~~~~ ++**rd.multipath=0**:: ++ disable multipath detection ++ + FIPS + ~~~~ + **rd.fips**:: +@@ -952,6 +957,8 @@ rd_NO_MD:: rd.md=0 + + rd_MD_UUID:: rd.md.uuid + ++rd_NO_MULTIPATH: rd.multipath=0 ++ + rd_NFS_DOMAIN:: rd.nfs.domain + + iscsi_initiator:: rd.iscsi.initiator +diff --git a/modules.d/90multipath/multipathd.sh b/modules.d/90multipath/multipathd.sh +index 1e0e907..2c2dcc8 100755 +--- a/modules.d/90multipath/multipathd.sh ++++ b/modules.d/90multipath/multipathd.sh +@@ -1,6 +1,6 @@ + #!/bin/sh + +-if [ -e /etc/multipath.conf ]; then ++if getargbool 1 rd.multipath -d -n rd_NO_MULTIPATH && [ -e /etc/multipath.conf ]; then + modprobe dm-multipath + multipathd -B || multipathd + need_shutdown diff --git a/0014-TODO-update.patch b/0014-TODO-update.patch new file mode 100644 index 0000000..8af7541 --- /dev/null +++ b/0014-TODO-update.patch @@ -0,0 +1,21 @@ +From e1e4ee9d7c005f61b6ad88d92ef8993d2cfe92be Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Thu, 20 Nov 2014 16:22:51 +0100 +Subject: [PATCH] TODO: update + +--- + TODO | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/TODO b/TODO +index 78dae0f..917b97c 100644 +--- a/TODO ++++ b/TODO +@@ -28,6 +28,7 @@ GENERATOR TODO + + - report errors on missing files in check() + - remove wait for swap devs, if no "resume=" is given on the kernel command line ++- remove wait for swap devs, if the "resume" dracut module is not included (omitted) + - add presets (predefined set of modules) + - add interpreter/plugin-scripts to be sourced at the beginning or end (can use dracut-functions) + - add mechanism for module specific command line options diff --git a/0014-dracut.spec-fixed-license-file-packaging.patch b/0014-dracut.spec-fixed-license-file-packaging.patch deleted file mode 100644 index 9c73493..0000000 --- a/0014-dracut.spec-fixed-license-file-packaging.patch +++ /dev/null @@ -1,54 +0,0 @@ -From caa72f829007a868bf47a9bb82a3e359acd6a420 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 24 Jul 2014 14:47:14 +0200 -Subject: [PATCH] dracut.spec: fixed license file packaging - ---- - dracut.spec | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/dracut.spec b/dracut.spec -index cb27f37..8912938 100644 ---- a/dracut.spec -+++ b/dracut.spec -@@ -30,6 +30,8 @@ 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 -+Source1: https://www.gnu.org/licenses/lgpl-2.1.txt -+ - - BuildRequires: bash git - -@@ -194,6 +196,7 @@ This package contains tools to assemble the local initrd and host configuration. - - %prep - %setup -q -n %{name}-%{version} -+cp %{SOURCE1} . - - %if %{defined PATCH1} - git init -@@ -293,8 +296,10 @@ rm -rf -- $RPM_BUILD_ROOT - %files - %defattr(-,root,root,0755) - %if %{with doc} --%doc README HACKING TODO COPYING AUTHORS NEWS dracut.html dracut.png dracut.svg -+%doc README HACKING TODO AUTHORS NEWS dracut.html dracut.png dracut.svg - %endif -+%{!?_licensedir:%global license %%doc} -+%license COPYING lgpl-2.1.txt - %{_bindir}/dracut - # compat symlink - %{_sbindir}/dracut -@@ -441,11 +446,6 @@ rm -rf -- $RPM_BUILD_ROOT - - %files fips-aesni - %defattr(-,root,root,0755) -- --%if %{with doc} --%doc COPYING --%endif -- - %{dracutlibdir}/modules.d/02fips-aesni - - %files caps diff --git a/0015-NEWS-update.patch b/0015-NEWS-update.patch deleted file mode 100644 index cad7861..0000000 --- a/0015-NEWS-update.patch +++ /dev/null @@ -1,32 +0,0 @@ -From ba7dab6dbab3fee9527384868695de12033529ed Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 29 Jul 2014 11:04:09 +0200 -Subject: [PATCH] NEWS: update - ---- - NEWS | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -diff --git a/NEWS b/NEWS -index 102fd03..126a9d7 100644 ---- a/NEWS -+++ b/NEWS -@@ -1,3 +1,18 @@ -+dracut-039 -+========== -+- DRACUT_PATH can now be used to specify the PATH used by dracut -+ to search for binaries instead of the default -+ /usr/sbin:/sbin:/usr/bin:/bin -+ This should be set in the distribution config file -+ /usr/lib/dracut/dracut.conf.d/01-dist.conf -+- "rd.route" kernel command line parameter added -+- "--install-optional" and install_optional_items added -+- find plymouth pkglibdir on debian -+- speed up ldconfig_paths() -+- more ARM modules -+- fixed inst*() functions and "-H" handling -+- various bugfixes -+ - dracut-038 - ========== - - "rd.cmdline=ask" will ask the user on the console to enter additional diff --git a/0015-dracut-functions.sh-check-if-dinfo-is-a-function.patch b/0015-dracut-functions.sh-check-if-dinfo-is-a-function.patch new file mode 100644 index 0000000..a604069 --- /dev/null +++ b/0015-dracut-functions.sh-check-if-dinfo-is-a-function.patch @@ -0,0 +1,44 @@ +From 26d14fb3d36d6091f64258a62c49939478405693 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Mon, 24 Nov 2014 15:17:45 +0100 +Subject: [PATCH] dracut-functions.sh: check if dinfo is a function + +If "dinfo" is an executable, dracut-logger.sh would never be sourced. + +See: https://bugzilla.redhat.com/show_bug.cgi?id=1167082 +--- + dracut-functions.sh | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/dracut-functions.sh b/dracut-functions.sh +index b43b766..17a71f0 100755 +--- a/dracut-functions.sh ++++ b/dracut-functions.sh +@@ -176,7 +176,13 @@ srcmods="/lib/modules/$kernel/" + } + export srcmods + +-if ! type dinfo >/dev/null 2>&1; then ++# 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 +@@ -209,12 +215,6 @@ mksubdirs() { + [[ -e ${1%/*} ]] || mkdir -m 0755 -p -- "${1%/*}" + } + +-# is_func +-# Check whether $1 is a function. +-is_func() { +- [[ "$(type -t "$1")" = "function" ]] +-} +- + # Function prints global variables in format name=value line by line. + # $@ = list of global variables' name + print_vars() { diff --git a/0016-90multipath-Install-libgcc_s-library.patch b/0016-90multipath-Install-libgcc_s-library.patch new file mode 100644 index 0000000..f7d0fda --- /dev/null +++ b/0016-90multipath-Install-libgcc_s-library.patch @@ -0,0 +1,27 @@ +From cf864c1b8009f4544e6b494979bf396bafcd8834 Mon Sep 17 00:00:00 2001 +From: Hannes Reinecke +Date: Thu, 20 Nov 2014 15:56:43 +0100 +Subject: [PATCH] 90multipath: Install libgcc_s library + +multipathd is using pthreads, which require libgcc_s for +pthread_cancel to work. Without it multipathd might crash +with SIGABRT. + +Signed-off-by: Hannes Reinecke +Signed-off-by: Thomas Renninger +--- + modules.d/90multipath/module-setup.sh | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh +index c86c5d9..a547c07 100755 +--- a/modules.d/90multipath/module-setup.sh ++++ b/modules.d/90multipath/module-setup.sh +@@ -87,6 +87,7 @@ install() { + inst $(command -v partx) /sbin/partx + + inst_libdir_file "libmultipath*" "multipath/*" ++ inst_libdir_file 'libgcc_s.so*' + + if dracut_module_included "systemd"; then + inst_multiple \ diff --git a/0016-TEST-20-NFS-client-init.sh-add-shell-on-rd.shell.patch b/0016-TEST-20-NFS-client-init.sh-add-shell-on-rd.shell.patch deleted file mode 100644 index b5c336f..0000000 --- a/0016-TEST-20-NFS-client-init.sh-add-shell-on-rd.shell.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 28d03673f9aa76b041ce9a41a82a632d5399d8d1 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 1 Aug 2014 13:15:05 +0200 -Subject: [PATCH] TEST-20-NFS:client-init.sh: add shell on rd.shell - ---- - test/TEST-20-NFS/client-init.sh | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -diff --git a/test/TEST-20-NFS/client-init.sh b/test/TEST-20-NFS/client-init.sh -index a16db3c..a1c4590 100755 ---- a/test/TEST-20-NFS/client-init.sh -+++ b/test/TEST-20-NFS/client-init.sh -@@ -7,14 +7,18 @@ CMDLINE=$(while read line; do echo $line;done < /proc/cmdline) - strstr() { [ "${1##*"$2"*}" != "$1" ]; } - - stty sane --strstr "$CMDLINE" "rd.shell" && sh -i -+if strstr "$CMDLINE" "rd.shell"; then -+ [ -c /dev/watchdog ] && echo -n 'V' > /dev/watchdog -+ strstr "$(setsid --help)" "control" && CTTY="-c" -+ setsid $CTTY sh -i -+fi -+ - echo "made it to the rootfs! Powering down." -+ - while read dev fs fstype opts rest; do - [ "$fstype" != "nfs" -a "$fstype" != "nfs4" ] && continue - echo "nfs-OK $dev $fstype $opts" > /dev/sda - break - done < /proc/mounts --#echo 'V' > /dev/watchdog --#sh -i - >/dev/watchdog - poweroff -f diff --git a/0017-90multipath-Load-device_handler-modules-early-during.patch b/0017-90multipath-Load-device_handler-modules-early-during.patch new file mode 100644 index 0000000..f579234 --- /dev/null +++ b/0017-90multipath-Load-device_handler-modules-early-during.patch @@ -0,0 +1,48 @@ +From 856f8265aa8b86ff74802fbfe3e555864794ec2a Mon Sep 17 00:00:00 2001 +From: Hannes Reinecke +Date: Thu, 20 Nov 2014 15:56:44 +0100 +Subject: [PATCH] 90multipath: Load device_handler modules early during boot + +The device handler modules need to be loaded early during boot +to avoid I/O errors being printed to the system log. + +References: bnc#871617 + +Signed-off-by: Hannes Reinecke +Signed-off-by: Thomas Renninger +--- + modules.d/90multipath/module-setup.sh | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh +index a547c07..6f4728a 100755 +--- a/modules.d/90multipath/module-setup.sh ++++ b/modules.d/90multipath/module-setup.sh +@@ -28,6 +28,15 @@ depends() { + } + + # called by dracut ++cmdline() { ++ for m in scsi_dh_alua scsi_dh_emc scsi_dh_rdac ; do ++ if module_is_host_only $m ; then ++ printf 'rd.driver.pre=%s ' "$m" ++ fi ++ done ++} ++ ++# called by dracut + installkernel() { + local _ret + local _arch=$(uname -m) +@@ -89,6 +98,11 @@ install() { + inst_libdir_file "libmultipath*" "multipath/*" + inst_libdir_file 'libgcc_s.so*' + ++ if [[ $hostonly_cmdline ]] ; then ++ local _conf=$(cmdline) ++ [[ $_conf ]] && echo "$_conf" >> "${initdir}/etc/cmdline.d/90multipath.conf" ++ fi ++ + if dracut_module_included "systemd"; then + inst_multiple \ + $systemdsystemunitdir/multipathd.service diff --git a/0017-TEST-20-NFS-add-more-commands-and-fix-client-root-di.patch b/0017-TEST-20-NFS-add-more-commands-and-fix-client-root-di.patch deleted file mode 100644 index 5a29238..0000000 --- a/0017-TEST-20-NFS-add-more-commands-and-fix-client-root-di.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 4e1f8d0c5f071e0e8270eadf73e97aa41b07cb12 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 1 Aug 2014 13:15:44 +0200 -Subject: [PATCH] TEST-20-NFS: add more commands and fix client root dirs - ---- - test/TEST-20-NFS/test.sh | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/test/TEST-20-NFS/test.sh b/test/TEST-20-NFS/test.sh -index 4f21d45..19bf510 100755 ---- a/test/TEST-20-NFS/test.sh -+++ b/test/TEST-20-NFS/test.sh -@@ -290,7 +290,7 @@ test_setup() { - . $basedir/dracut-functions.sh - - inst_multiple sh shutdown poweroff stty cat ps ln ip \ -- mount dmesg mkdir cp ping grep -+ mount dmesg mkdir cp ping grep setsid ls vi /etc/virc less cat - for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do - [ -f ${_terminfodir}/l/linux ] && break - done -@@ -301,6 +301,10 @@ test_setup() { - cd "$initdir" - mkdir -p dev sys proc etc run - mkdir -p var/lib/nfs/rpc_pipefs -+ mkdir -p root usr/bin usr/lib usr/lib64 usr/sbin -+ for i in bin sbin lib lib64; do -+ ln -sfnr usr/$i $i -+ done - ) - inst /etc/nsswitch.conf /etc/nsswitch.conf - inst /etc/passwd /etc/passwd diff --git a/0018-90multipath-install-dracut-specific-service-file.patch b/0018-90multipath-install-dracut-specific-service-file.patch new file mode 100644 index 0000000..137e10a --- /dev/null +++ b/0018-90multipath-install-dracut-specific-service-file.patch @@ -0,0 +1,63 @@ +From 78a78e4239e16a033134dde71830d5bb977f6814 Mon Sep 17 00:00:00 2001 +From: Hannes Reinecke +Date: Thu, 20 Nov 2014 15:56:45 +0100 +Subject: [PATCH] 90multipath: install dracut-specific service file + +The multipathd package might install a service and a socket +file. Using the original service file from the installed +system without the socket file triggers a bug in systemd, +causing systemd to crash. + +As we don't actually need to socket file in the initrd we +should be installing our own service file which does not +reference the socket file at all. + +References: bnc#871610 + +Signed-off-by: Hannes Reinecke +Signed-off-by: Thomas Renninger +--- + modules.d/90multipath/module-setup.sh | 7 +++---- + modules.d/90multipath/multipathd.service | 15 +++++++++++++++ + 2 files changed, 18 insertions(+), 4 deletions(-) + create mode 100644 modules.d/90multipath/multipathd.service + +diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh +index 6f4728a..a8700f4 100755 +--- a/modules.d/90multipath/module-setup.sh ++++ b/modules.d/90multipath/module-setup.sh +@@ -104,10 +104,9 @@ install() { + fi + + if dracut_module_included "systemd"; then +- inst_multiple \ +- $systemdsystemunitdir/multipathd.service +- mkdir -p "${initdir}${systemdsystemconfdir}/sysinit.target.wants" +- ln -rfs "${initdir}${systemdsystemunitdir}/multipathd.service" "${initdir}${systemdsystemconfdir}/sysinit.target.wants/multipathd.service" ++ inst_simple "${moddir}/multipathd.service" "${systemdsystemunitdir}/multipathd.service" ++ mkdir -p "${initdir}${systemdsystemunitdir}/sysinit.target.wants" ++ ln -rfs "${initdir}${systemdsystemunitdir}/multipathd.service" "${initdir}${systemdsystemunitdir}/sysinit.target.wants/multipathd.service" + else + inst_hook pre-trigger 02 "$moddir/multipathd.sh" + inst_hook cleanup 02 "$moddir/multipathd-stop.sh" +diff --git a/modules.d/90multipath/multipathd.service b/modules.d/90multipath/multipathd.service +new file mode 100644 +index 0000000..44a7b80 +--- /dev/null ++++ b/modules.d/90multipath/multipathd.service +@@ -0,0 +1,15 @@ ++[Unit] ++Description=Device-Mapper Multipath Device Controller ++Before=iscsi.service iscsid.service lvm2-activation-early.service ++DefaultDependencies=no ++Conflicts=shutdown.target ++ ++[Service] ++Type=simple ++ExecStartPre=/sbin/modprobe dm-multipath ++ExecStart=/sbin/multipathd -s -d ++ExecReload=/sbin/multipathd reconfigure ++ExecStop=/sbin/multipathd shutdown ++ ++[Install] ++WantedBy=sysinit.target diff --git a/0018-fixed-bridge-setup.patch b/0018-fixed-bridge-setup.patch deleted file mode 100644 index 8e37437..0000000 --- a/0018-fixed-bridge-setup.patch +++ /dev/null @@ -1,170 +0,0 @@ -From 2db6d7111870c5d16d812d9cddc23558f3f4a202 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 1 Aug 2014 13:16:29 +0200 -Subject: [PATCH] fixed bridge setup - -renamed "ethnames" in bridge.info to "bridgeslaves" - -fixed ifcfg generation ---- - modules.d/40network/ifup.sh | 4 ++-- - modules.d/40network/net-genrules.sh | 2 +- - modules.d/40network/parse-bridge.sh | 18 ++++++++-------- - modules.d/45ifcfg/write-ifcfg.sh | 42 +++++++++---------------------------- - 4 files changed, 22 insertions(+), 44 deletions(-) - -diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh -index 349530f..41ea631 100755 ---- a/modules.d/40network/ifup.sh -+++ b/modules.d/40network/ifup.sh -@@ -60,7 +60,7 @@ fi - # bridge this interface? - if [ -e /tmp/bridge.info ]; then - . /tmp/bridge.info -- for ethname in $ethnames ; do -+ for ethname in $bridgeslaves ; do - if [ "$netif" = "$ethname" ]; then - if [ "$netif" = "$bondname" ] && [ -n "$DO_BOND_SETUP" ] ; then - : # We need to really setup bond (recursive call) -@@ -236,7 +236,7 @@ if [ -e /tmp/bridge.info ]; then - if [ "$netif" = "$bridgename" ] && [ ! -e /tmp/net.$bridgename.up ]; then - brctl addbr $bridgename - brctl setfd $bridgename 0 -- for ethname in $ethnames ; do -+ for ethname in $bridgeslaves ; do - if [ "$ethname" = "$bondname" ] ; then - DO_BOND_SETUP=yes ifup $bondname -m - elif [ "$ethname" = "$teammaster" ] ; then -diff --git a/modules.d/40network/net-genrules.sh b/modules.d/40network/net-genrules.sh -index af2f09c..a43e3df 100755 ---- a/modules.d/40network/net-genrules.sh -+++ b/modules.d/40network/net-genrules.sh -@@ -16,7 +16,7 @@ command -v fix_bootif >/dev/null || . /lib/net-lib.sh - # bridge: attempt only the defined interface - if [ -e /tmp/bridge.info ]; then - . /tmp/bridge.info -- IFACES="$IFACES ${ethnames%% *}" -+ IFACES="$IFACES ${bridgeslaves%% *}" - MASTER_IFACES="$MASTER_IFACES $bridgename" - fi - -diff --git a/modules.d/40network/parse-bridge.sh b/modules.d/40network/parse-bridge.sh -index 8c305c0..a910109 100755 ---- a/modules.d/40network/parse-bridge.sh -+++ b/modules.d/40network/parse-bridge.sh -@@ -3,9 +3,9 @@ - # ex: ts=8 sw=4 sts=4 et filetype=sh - # - # Format: --# bridge=: -+# bridge=: - # --# is a comma-separated list of physical (ethernet) interfaces -+# is a comma-separated list of physical (ethernet) interfaces - # bridge without parameters assumes bridge=br0:eth0 - # - -@@ -25,20 +25,20 @@ parsebridge() { - v=${v#*:} - done - -- unset bridgename ethnames -+ unset bridgename bridgeslaves - case $# in -- 0) bridgename=br0; ethnames=$iface ;; -+ 0) bridgename=br0; bridgeslaves=$iface ;; - 1) die "bridge= requires two parameters" ;; -- 2) bridgename=$1; ethnames=$(str_replace "$2" "," " ") ;; -+ 2) bridgename=$1; bridgeslaves=$(str_replace "$2" "," " ") ;; - *) die "bridge= requires two parameters" ;; - esac - } - --unset bridgename ethnames -+unset bridgename bridgeslaves - - iface=eth0 - --# Parse bridge for bridgename and ethnames -+# Parse bridge for bridgename and bridgeslaves - if bridge="$(getarg bridge)"; then - # Read bridge= parameters if they exist - if [ -n "$bridge" ]; then -@@ -47,9 +47,9 @@ if bridge="$(getarg bridge)"; then - # Simple default bridge - if [ -z "$bridgename" ]; then - bridgename=br0 -- ethnames=$iface -+ bridgeslaves=$iface - fi - echo "bridgename=$bridgename" > /tmp/bridge.info -- echo "ethnames=\"$ethnames\"" >> /tmp/bridge.info -+ echo "bridgeslaves=\"$bridgeslaves\"" >> /tmp/bridge.info - return - fi -diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh -index 7e301de..d920c22 100755 ---- a/modules.d/45ifcfg/write-ifcfg.sh -+++ b/modules.d/45ifcfg/write-ifcfg.sh -@@ -214,6 +214,7 @@ for netup in /tmp/net.*.did-setup ; do - echo "SLAVE=yes" - echo "MASTER=\"$netif\"" - echo "NAME=\"$slave\"" -+ echo "UUID=\"$(cat /proc/sys/kernel/random/uuid)\"" - } >> /tmp/ifcfg/ifcfg-$slave - done - fi -@@ -224,44 +225,21 @@ for netup in /tmp/net.*.did-setup ; do - echo "TYPE=Bridge" - echo "NAME=\"$netif\"" - } >> /tmp/ifcfg/ifcfg-$netif -- if [ "$ethname" = "$bondname" ] ; then -- { -- echo "# Generated by dracut initrd" -- echo "DEVICE=\"$bondname\"" -- echo "ONBOOT=yes" -- echo "NETBOOT=yes" -- # This variable is an indicator of a bond interface for initscripts -- echo "BONDING_OPTS=\"$bondoptions\"" -- echo "BRIDGE=\"$netif\"" -- echo "NAME=\"$bondname\"" -- } >> /tmp/ifcfg/ifcfg-$bondname -- for slave in $bondslaves ; do -- # write separate ifcfg file for the raw eth interface -- { -- echo "# Generated by dracut initrd" -- echo "DEVICE=\"$slave\"" -- echo "TYPE=Ethernet" -- echo "ONBOOT=yes" -- echo "NETBOOT=yes" -- echo "HWADDR=\"$(cat /sys/class/net/$slave/address)\"" -- echo "SLAVE=yes" -- echo "MASTER=\"$bondname\"" -- echo "NAME=\"$slave\"" -- } >> /tmp/ifcfg/ifcfg-$slave -- done -- else -+ for slave in $bridgeslaves ; do - # write separate ifcfg file for the raw eth interface - { - echo "# Generated by dracut initrd" -- echo "DEVICE=\"$ethname\"" -+ echo "DEVICE=\"$slave\"" - echo "TYPE=Ethernet" - echo "ONBOOT=yes" - echo "NETBOOT=yes" -- echo "HWADDR=\"$(cat /sys/class/net/$ethname/address)\"" -- echo "BRIDGE=\"$netif\"" -- echo "NAME=\"$ethname\"" -- } >> /tmp/ifcfg/ifcfg-$ethname -- fi -+ echo "HWADDR=\"$(cat /sys/class/net/$slave/address)\"" -+ echo "SLAVE=yes" -+ echo "MASTER=\"$bridgename\"" -+ echo "NAME=\"$slave\"" -+ echo "UUID=\"$(cat /proc/sys/kernel/random/uuid)\"" -+ } >> /tmp/ifcfg/ifcfg-$slave -+ done - fi - i=1 - for ns in $(getargs nameserver); do diff --git a/0019-multipath-multipathd.service-add-more-Conditions.patch b/0019-multipath-multipathd.service-add-more-Conditions.patch new file mode 100644 index 0000000..9c9e32c --- /dev/null +++ b/0019-multipath-multipathd.service-add-more-Conditions.patch @@ -0,0 +1,26 @@ +From 2b2033e561bbf35dcdf849b8014be5b9162b8bd6 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Tue, 25 Nov 2014 13:23:21 +0100 +Subject: [PATCH] multipath/multipathd.service: add more Conditions + +Do not start multipathd on rd.multipath=0 rd_NO_MULTIPATH and if there +is no multipath.conf. +--- + modules.d/90multipath/multipathd.service | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/modules.d/90multipath/multipathd.service b/modules.d/90multipath/multipathd.service +index 44a7b80..b64b02c 100644 +--- a/modules.d/90multipath/multipathd.service ++++ b/modules.d/90multipath/multipathd.service +@@ -3,6 +3,10 @@ Description=Device-Mapper Multipath Device Controller + Before=iscsi.service iscsid.service lvm2-activation-early.service + DefaultDependencies=no + Conflicts=shutdown.target ++ConditionKernelCommandLine=!nompath ++ConditionKernelCommandLine=!rd.multipath=0 ++ConditionKernelCommandLine=!rd_NO_MULTIPATH ++ConditionPathExists=/etc/multipath.conf + + [Service] + Type=simple diff --git a/0019-test-make-testsuite-work-with-the-new-systemd-minima.patch b/0019-test-make-testsuite-work-with-the-new-systemd-minima.patch deleted file mode 100644 index 663fa87..0000000 --- a/0019-test-make-testsuite-work-with-the-new-systemd-minima.patch +++ /dev/null @@ -1,474 +0,0 @@ -From 068531232b994ef93b3245484987df1cf1504dd0 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 8 Aug 2014 13:34:04 +0200 -Subject: [PATCH] test: make testsuite work with the new systemd minimal root - req - -systemd needs more directories to switch root ---- - test/TEST-01-BASIC/test.sh | 9 ++++++++- - test/TEST-02-SYSTEMD/test.sh | 10 +++++++++- - test/TEST-03-USR-MOUNT/test.sh | 9 ++++++++- - test/TEST-10-RAID/test.sh | 9 ++++++++- - test/TEST-11-LVM/test.sh | 10 +++++++++- - test/TEST-12-RAID-DEG/test.sh | 9 ++++++++- - test/TEST-13-ENC-RAID-LVM/test.sh | 10 +++++++++- - test/TEST-14-IMSM/test.sh | 9 ++++++++- - test/TEST-15-BTRFSRAID/test.sh | 10 +++++++++- - test/TEST-16-DMSQUASH/test.sh | 9 ++++++++- - test/TEST-17-LVM-THIN/test.sh | 10 +++++++++- - test/TEST-30-ISCSI/test.sh | 10 +++++++++- - test/TEST-40-NBD/test.sh | 25 ++++++++++++++++++++++--- - test/TEST-50-MULTINIC/client-init.sh | 7 ++++--- - test/TEST-50-MULTINIC/test.sh | 18 +++++++++++------- - 15 files changed, 139 insertions(+), 25 deletions(-) - -diff --git a/test/TEST-01-BASIC/test.sh b/test/TEST-01-BASIC/test.sh -index f857fd4..6c8f1a6 100755 ---- a/test/TEST-01-BASIC/test.sh -+++ b/test/TEST-01-BASIC/test.sh -@@ -30,6 +30,14 @@ test_setup() { - export initdir=$TESTDIR/overlay/source - mkdir -p $initdir - . $basedir/dracut-functions.sh -+ ( -+ cd "$initdir" -+ mkdir -p -- dev sys proc etc var/run tmp -+ mkdir -p root usr/bin usr/lib usr/lib64 usr/sbin -+ for i in bin sbin lib lib64; do -+ ln -sfnr usr/$i $i -+ done -+ ) - inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip route \ - mount dmesg ifconfig dhclient mkdir cp ping dhclient \ - umount strace less setsid -@@ -43,7 +51,6 @@ test_setup() { - inst_simple /etc/os-release - inst ./test-init.sh /sbin/init - find_binary plymouth >/dev/null && inst_multiple plymouth -- (cd "$initdir"; mkdir -p dev sys proc etc var/run tmp ) - cp -a /etc/ld.so.conf* $initdir/etc - sudo ldconfig -r "$initdir" - ) -diff --git a/test/TEST-02-SYSTEMD/test.sh b/test/TEST-02-SYSTEMD/test.sh -index cc9da27..3eac744 100755 ---- a/test/TEST-02-SYSTEMD/test.sh -+++ b/test/TEST-02-SYSTEMD/test.sh -@@ -26,6 +26,15 @@ test_setup() { - export initdir=$TESTDIR/overlay/source - mkdir -p $initdir - . $basedir/dracut-functions.sh -+ ( -+ cd "$initdir" -+ mkdir -p -- dev sys proc etc var/run tmp -+ mkdir -p root usr/bin usr/lib usr/lib64 usr/sbin -+ for i in bin sbin lib lib64; do -+ ln -sfnr usr/$i $i -+ done -+ mkdir -p -- var/lib/nfs/rpc_pipefs -+ ) - inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip route \ - mount dmesg ifconfig dhclient mkdir cp ping dhclient \ - umount strace less setsid -@@ -39,7 +48,6 @@ test_setup() { - inst_simple /etc/os-release - inst ./test-init.sh /sbin/init - find_binary plymouth >/dev/null && inst_multiple plymouth -- (cd "$initdir"; mkdir -p dev sys proc etc var/run tmp ) - cp -a /etc/ld.so.conf* $initdir/etc - sudo ldconfig -r "$initdir" - ) -diff --git a/test/TEST-03-USR-MOUNT/test.sh b/test/TEST-03-USR-MOUNT/test.sh -index b3d709e..2a0cd8e 100755 ---- a/test/TEST-03-USR-MOUNT/test.sh -+++ b/test/TEST-03-USR-MOUNT/test.sh -@@ -57,6 +57,14 @@ test_setup() { - export initdir=$TESTDIR/overlay/source - mkdir -p $initdir - . $basedir/dracut-functions.sh -+ ( -+ cd "$initdir" -+ mkdir -p -- dev sys proc etc var/run tmp -+ mkdir -p root usr/bin usr/lib usr/lib64 usr/sbin -+ for i in bin sbin lib lib64; do -+ ln -sfnr usr/$i $i -+ done -+ ) - inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip route \ - mount dmesg ifconfig dhclient mkdir cp ping dhclient \ - umount strace less setsid -@@ -71,7 +79,6 @@ test_setup() { - inst_simple /etc/os-release - inst ./test-init.sh /sbin/init - find_binary plymouth >/dev/null && inst_multiple plymouth -- (cd "$initdir"; mkdir -p dev sys proc etc var/run tmp ) - cp -a /etc/ld.so.conf* $initdir/etc - sudo ldconfig -r "$initdir" - ) -diff --git a/test/TEST-10-RAID/test.sh b/test/TEST-10-RAID/test.sh -index b17e912..2a420f5 100755 ---- a/test/TEST-10-RAID/test.sh -+++ b/test/TEST-10-RAID/test.sh -@@ -27,8 +27,15 @@ test_setup() { - # Create what will eventually be our root filesystem onto an overlay - ( - export initdir=$TESTDIR/overlay/source -- (mkdir -p "$initdir"; cd "$initdir"; mkdir -p dev sys proc etc var/run tmp run) - . $basedir/dracut-functions.sh -+ ( -+ cd "$initdir" -+ mkdir -p -- dev sys proc etc var/run tmp -+ mkdir -p root usr/bin usr/lib usr/lib64 usr/sbin -+ for i in bin sbin lib lib64; do -+ ln -sfnr usr/$i $i -+ done -+ ) - inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip route \ - mount dmesg ifconfig dhclient mkdir cp ping dhclient - for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do -diff --git a/test/TEST-11-LVM/test.sh b/test/TEST-11-LVM/test.sh -index 6f2461c..44a4c9c 100755 ---- a/test/TEST-11-LVM/test.sh -+++ b/test/TEST-11-LVM/test.sh -@@ -25,6 +25,15 @@ test_setup() { - ( - export initdir=$TESTDIR/overlay/source - . $basedir/dracut-functions.sh -+ ( -+ cd "$initdir" -+ mkdir -p -- dev sys proc etc var/run tmp -+ mkdir -p root usr/bin usr/lib usr/lib64 usr/sbin -+ for i in bin sbin lib lib64; do -+ ln -sfnr usr/$i $i -+ done -+ mkdir -p -- var/lib/nfs/rpc_pipefs -+ ) - inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip route \ - mount dmesg ifconfig dhclient mkdir cp ping dhclient - for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do -@@ -37,7 +46,6 @@ test_setup() { - inst_simple /etc/os-release - inst ./test-init.sh /sbin/init - find_binary plymouth >/dev/null && inst_multiple plymouth -- (cd "$initdir"; mkdir -p dev sys proc etc var/run tmp ) - cp -a /etc/ld.so.conf* $initdir/etc - mkdir $initdir/run - sudo ldconfig -r "$initdir" -diff --git a/test/TEST-12-RAID-DEG/test.sh b/test/TEST-12-RAID-DEG/test.sh -index dfcf3dc..00ff4bc 100755 ---- a/test/TEST-12-RAID-DEG/test.sh -+++ b/test/TEST-12-RAID-DEG/test.sh -@@ -67,6 +67,14 @@ test_setup() { - ( - export initdir=$TESTDIR/overlay/source - . $basedir/dracut-functions.sh -+ ( -+ cd "$initdir" -+ mkdir -p -- dev sys proc etc var/run tmp -+ mkdir -p root usr/bin usr/lib usr/lib64 usr/sbin -+ for i in bin sbin lib lib64; do -+ ln -sfnr usr/$i $i -+ done -+ ) - inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip route \ - mount dmesg ifconfig dhclient mkdir cp ping dhclient - for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do -@@ -79,7 +87,6 @@ test_setup() { - inst_simple /etc/os-release - inst ./test-init.sh /sbin/init - find_binary plymouth >/dev/null && inst_multiple plymouth -- (cd "$initdir"; mkdir -p dev sys proc etc var/run tmp ) - cp -a /etc/ld.so.conf* $initdir/etc - sudo ldconfig -r "$initdir" - ) -diff --git a/test/TEST-13-ENC-RAID-LVM/test.sh b/test/TEST-13-ENC-RAID-LVM/test.sh -index 5102142..55968a1 100755 ---- a/test/TEST-13-ENC-RAID-LVM/test.sh -+++ b/test/TEST-13-ENC-RAID-LVM/test.sh -@@ -63,6 +63,15 @@ test_setup() { - ( - export initdir=$TESTDIR/overlay/source - . $basedir/dracut-functions.sh -+ ( -+ cd "$initdir" -+ mkdir -p -- dev sys proc etc var/run tmp -+ mkdir -p root usr/bin usr/lib usr/lib64 usr/sbin -+ for i in bin sbin lib lib64; do -+ ln -sfnr usr/$i $i -+ done -+ mkdir -p -- var/lib/nfs/rpc_pipefs -+ ) - inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip route \ - mount dmesg ifconfig dhclient mkdir cp ping dhclient - for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do -@@ -75,7 +84,6 @@ test_setup() { - inst_simple /etc/os-release - inst ./test-init.sh /sbin/init - find_binary plymouth >/dev/null && inst_multiple plymouth -- (cd "$initdir"; mkdir -p dev sys proc etc var/run tmp ) - cp -a /etc/ld.so.conf* $initdir/etc - sudo ldconfig -r "$initdir" - ) -diff --git a/test/TEST-14-IMSM/test.sh b/test/TEST-14-IMSM/test.sh -index 9353a92..53cca27 100755 ---- a/test/TEST-14-IMSM/test.sh -+++ b/test/TEST-14-IMSM/test.sh -@@ -55,6 +55,14 @@ test_setup() { - ( - export initdir=$TESTDIR/overlay/source - . $basedir/dracut-functions.sh -+ ( -+ cd "$initdir" -+ mkdir -p -- dev sys proc etc var/run tmp -+ mkdir -p root usr/bin usr/lib usr/lib64 usr/sbin -+ for i in bin sbin lib lib64; do -+ ln -sfnr usr/$i $i -+ done -+ ) - inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip route \ - mount dmesg ifconfig dhclient mkdir cp ping dhclient - for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do -@@ -67,7 +75,6 @@ test_setup() { - inst_multiple grep - inst ./test-init.sh /sbin/init - find_binary plymouth >/dev/null && inst_multiple plymouth -- (cd "$initdir"; mkdir -p dev sys proc etc var/run tmp ) - cp -a /etc/ld.so.conf* $initdir/etc - mkdir $initdir/run - sudo ldconfig -r "$initdir" -diff --git a/test/TEST-15-BTRFSRAID/test.sh b/test/TEST-15-BTRFSRAID/test.sh -index 3fc1d45..2752e86 100755 ---- a/test/TEST-15-BTRFSRAID/test.sh -+++ b/test/TEST-15-BTRFSRAID/test.sh -@@ -27,6 +27,15 @@ test_setup() { - ( - export initdir=$TESTDIR/overlay/source - . $basedir/dracut-functions.sh -+ ( -+ cd "$initdir" -+ mkdir -p -- dev sys proc etc var/run tmp -+ mkdir -p root usr/bin usr/lib usr/lib64 usr/sbin -+ for i in bin sbin lib lib64; do -+ ln -sfnr usr/$i $i -+ done -+ mkdir -p -- var/lib/nfs/rpc_pipefs -+ ) - inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip route \ - mount dmesg ifconfig dhclient mkdir cp ping dhclient - for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do -@@ -39,7 +48,6 @@ test_setup() { - inst ./test-init.sh /sbin/init - inst_simple /etc/os-release - find_binary plymouth >/dev/null && inst_multiple plymouth -- (cd "$initdir"; mkdir -p dev sys proc etc var/run tmp ) - cp -a /etc/ld.so.conf* $initdir/etc - sudo ldconfig -r "$initdir" - ) -diff --git a/test/TEST-16-DMSQUASH/test.sh b/test/TEST-16-DMSQUASH/test.sh -index 252e845..036cf58 100755 ---- a/test/TEST-16-DMSQUASH/test.sh -+++ b/test/TEST-16-DMSQUASH/test.sh -@@ -49,6 +49,14 @@ test_setup() { - ( - export initdir="$TESTDIR"/root-source - . "$basedir"/dracut-functions.sh -+ ( -+ cd "$initdir" -+ mkdir -p -- dev sys proc etc var/run tmp -+ mkdir -p root usr/bin usr/lib usr/lib64 usr/sbin -+ for i in bin sbin lib lib64; do -+ ln -sfnr usr/$i $i -+ done -+ ) - inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip route \ - mount dmesg ifconfig dhclient mkdir cp ping dhclient \ - umount strace less -@@ -67,7 +75,6 @@ test_setup() { - inst "$TESTDIR"/initramfs.testing "/boot/initramfs-$KVERSION.img" - inst /boot/vmlinuz-"$KVERSION" - find_binary plymouth >/dev/null && inst_multiple plymouth -- (cd "$initdir"; mkdir -p -- dev sys proc etc var/run tmp ) - cp -a -- /etc/ld.so.conf* "$initdir"/etc - sudo ldconfig -r -- "$initdir" - ) -diff --git a/test/TEST-17-LVM-THIN/test.sh b/test/TEST-17-LVM-THIN/test.sh -index 0cfce19..af6fac3 100755 ---- a/test/TEST-17-LVM-THIN/test.sh -+++ b/test/TEST-17-LVM-THIN/test.sh -@@ -25,6 +25,15 @@ test_setup() { - ( - export initdir=$TESTDIR/overlay/source - . $basedir/dracut-functions.sh -+ ( -+ cd "$initdir" -+ mkdir -p -- dev sys proc etc var/run tmp -+ mkdir -p root usr/bin usr/lib usr/lib64 usr/sbin -+ for i in bin sbin lib lib64; do -+ ln -sfnr usr/$i $i -+ done -+ mkdir -p -- var/lib/nfs/rpc_pipefs -+ ) - inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip route \ - mount dmesg ifconfig dhclient mkdir cp ping dhclient - for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do -@@ -37,7 +46,6 @@ test_setup() { - inst_simple /etc/os-release - inst ./test-init.sh /sbin/init - find_binary plymouth >/dev/null && inst_multiple plymouth -- (cd "$initdir"; mkdir -p dev sys proc etc var/run tmp ) - cp -a /etc/ld.so.conf* $initdir/etc - mkdir $initdir/run - sudo ldconfig -r "$initdir" -diff --git a/test/TEST-30-ISCSI/test.sh b/test/TEST-30-ISCSI/test.sh -index f597783..d3f59c9 100755 ---- a/test/TEST-30-ISCSI/test.sh -+++ b/test/TEST-30-ISCSI/test.sh -@@ -105,6 +105,15 @@ test_setup() { - ( - export initdir=$TESTDIR/overlay/source - . $basedir/dracut-functions.sh -+ ( -+ cd "$initdir" -+ mkdir -p -- dev sys proc etc var/run tmp -+ mkdir -p root usr/bin usr/lib usr/lib64 usr/sbin -+ for i in bin sbin lib lib64; do -+ ln -sfnr usr/$i $i -+ done -+ mkdir -p -- var/lib/nfs/rpc_pipefs -+ ) - inst_multiple sh shutdown poweroff stty cat ps ln ip \ - mount dmesg mkdir cp ping grep - for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do -@@ -113,7 +122,6 @@ test_setup() { - inst_multiple -o ${_terminfodir}/l/linux - inst_simple /etc/os-release - inst ./client-init.sh /sbin/init -- (cd "$initdir"; mkdir -p dev sys proc etc var/run tmp ) - cp -a /etc/ld.so.conf* $initdir/etc - sudo ldconfig -r "$initdir" - ) -diff --git a/test/TEST-40-NBD/test.sh b/test/TEST-40-NBD/test.sh -index 7cf64b1..3bc0dad 100755 ---- a/test/TEST-40-NBD/test.sh -+++ b/test/TEST-40-NBD/test.sh -@@ -6,7 +6,7 @@ TEST_DESCRIPTION="root filesystem on NBD" - KVERSION=${KVERSION-$(uname -r)} - - # Uncomment this to debug failures --#DEBUGFAIL="rd.shell rd.retry=10 rd.break" -+#DEBUGFAIL="rd.shell rd.break" - #SERIAL="udp:127.0.0.1:9999" - SERIAL="null" - -@@ -197,7 +197,13 @@ make_encrypted_root() { - export initdir=$TESTDIR/overlay/source - . $basedir/dracut-functions.sh - mkdir -p "$initdir" -- (cd "$initdir"; mkdir -p dev sys proc etc var/run tmp ) -+ ( -+ cd "$initdir"; mkdir -p dev sys proc etc var/run tmp -+ mkdir -p root usr/bin usr/lib usr/lib64 usr/sbin -+ for i in bin sbin lib lib64; do -+ ln -sfnr usr/$i $i -+ done -+ ) - inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip \ - mount dmesg mkdir cp ping - for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do -@@ -215,6 +221,13 @@ make_encrypted_root() { - ( - export initdir=$TESTDIR/overlay - . $basedir/dracut-functions.sh -+ ( -+ cd "$initdir"; mkdir -p dev sys proc etc var/run tmp -+ mkdir -p root usr/bin usr/lib usr/lib64 usr/sbin -+ for i in bin sbin lib lib64; do -+ ln -sfnr usr/$i $i -+ done -+ ) - inst_multiple mke2fs poweroff cp umount tune2fs - inst_hook emergency 000 ./hard-off.sh - inst_hook initqueue 01 ./create-root.sh -@@ -255,7 +268,13 @@ make_client_root() { - export initdir=$TESTDIR/mnt - . $basedir/dracut-functions.sh - mkdir -p "$initdir" -- (cd "$initdir"; mkdir -p dev sys proc etc var/run tmp ) -+ ( -+ cd "$initdir"; mkdir -p dev sys proc etc var/run tmp -+ mkdir -p root usr/bin usr/lib usr/lib64 usr/sbin -+ for i in bin sbin lib lib64; do -+ ln -sfnr usr/$i $i -+ done -+ ) - inst_multiple sh ls shutdown poweroff stty cat ps ln ip \ - dmesg mkdir cp ping - for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do -diff --git a/test/TEST-50-MULTINIC/client-init.sh b/test/TEST-50-MULTINIC/client-init.sh -index 13affc4..3f3e079 100755 ---- a/test/TEST-50-MULTINIC/client-init.sh -+++ b/test/TEST-50-MULTINIC/client-init.sh -@@ -10,9 +10,10 @@ export PS1='initramfs-test:\w\$ ' - stty sane - echo "made it to the rootfs! Powering down." - for i in /run/initramfs/net.*.did-setup; do -- strglobin "$i" ":*:*:*:*:" && continue -- i=${i%.did-setup} -- IFACES+="${i##*/net.} " -+ [ -f "$i" ] || continue -+ strglobin "$i" ":*:*:*:*:" && continue -+ i=${i%.did-setup} -+ IFACES+="${i##*/net.} " - done - { - echo "OK" -diff --git a/test/TEST-50-MULTINIC/test.sh b/test/TEST-50-MULTINIC/test.sh -index add849c..fa4d692 100755 ---- a/test/TEST-50-MULTINIC/test.sh -+++ b/test/TEST-50-MULTINIC/test.sh -@@ -6,7 +6,7 @@ TEST_DESCRIPTION="root filesystem on NFS with multiple nics" - KVERSION=${KVERSION-$(uname -r)} - - # Uncomment this to debug failures --#DEBUGFAIL="rd.shell" -+#DEBUGFAIL="rd.shell rd.break" - #SERIAL="tcp:127.0.0.1:9999" - - run_server() { -@@ -154,7 +154,7 @@ test_setup() { - - ( - cd "$initdir"; -- mkdir -p -- dev sys proc run etc var/run tmp var/lib/{dhcpd,rpcbind} -+ mkdir -p -- dev sys proc run var/run etc tmp var/lib/{dhcpd,rpcbind} - mkdir -p -- var/lib/nfs/{v4recovery,rpc_pipefs} - chmod 777 -- var/lib/rpcbind var/lib/nfs - ) -@@ -217,6 +217,15 @@ test_setup() { - ( - export initdir="$TESTDIR"/mnt/nfs/client - . "$basedir"/dracut-functions.sh -+ ( -+ cd "$initdir" -+ mkdir -p dev sys proc etc run -+ mkdir -p var/lib/nfs/rpc_pipefs -+ mkdir -p root usr/bin usr/lib usr/lib64 usr/sbin -+ for i in bin sbin lib lib64; do -+ ln -sfnr usr/$i $i -+ done -+ ) - inst_multiple sh shutdown poweroff stty cat ps ln ip \ - mount dmesg mkdir cp ping grep ls - for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do -@@ -225,11 +234,6 @@ test_setup() { - inst_multiple -o "${_terminfodir}"/l/linux - inst_simple /etc/os-release - inst ./client-init.sh /sbin/init -- ( -- cd "$initdir" -- mkdir -p -- dev sys proc etc run -- mkdir -p -- var/lib/nfs/rpc_pipefs -- ) - inst /etc/nsswitch.conf /etc/nsswitch.conf - inst /etc/passwd /etc/passwd - inst /etc/group /etc/group diff --git a/0020-bridging-update-the-ifcfg-files-generated-for-bridge.patch b/0020-bridging-update-the-ifcfg-files-generated-for-bridge.patch deleted file mode 100644 index 4d8ba11..0000000 --- a/0020-bridging-update-the-ifcfg-files-generated-for-bridge.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 32125a976bb6ff67768ca813446743b781ba012f Mon Sep 17 00:00:00 2001 -From: Alex Harpin -Date: Sat, 2 Aug 2014 20:08:25 +0100 -Subject: [PATCH] bridging: update the ifcfg files generated for bridge slaves - -Update the ifcfg files generated for bridge slaves so they reference -the bridge they are part of. Related to early patch submitted as a -fix for Bug #1123552. - -Bug #1123552 https://bugzilla.redhat.com/show_bug.cgi?id=1123552 ---- - modules.d/45ifcfg/write-ifcfg.sh | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh -index d920c22..7f068cb 100755 ---- a/modules.d/45ifcfg/write-ifcfg.sh -+++ b/modules.d/45ifcfg/write-ifcfg.sh -@@ -234,8 +234,7 @@ for netup in /tmp/net.*.did-setup ; do - echo "ONBOOT=yes" - echo "NETBOOT=yes" - echo "HWADDR=\"$(cat /sys/class/net/$slave/address)\"" -- echo "SLAVE=yes" -- echo "MASTER=\"$bridgename\"" -+ echo "BRIDGE=\"$bridgename\"" - echo "NAME=\"$slave\"" - echo "UUID=\"$(cat /proc/sys/kernel/random/uuid)\"" - } >> /tmp/ifcfg/ifcfg-$slave diff --git a/0020-dmsquash-live-do-not-abort-if-user-pressed-ESC-on-ch.patch b/0020-dmsquash-live-do-not-abort-if-user-pressed-ESC-on-ch.patch new file mode 100644 index 0000000..e539e0b --- /dev/null +++ b/0020-dmsquash-live-do-not-abort-if-user-pressed-ESC-on-ch.patch @@ -0,0 +1,36 @@ +From 370035d561baa6852bcb02161ef736a78b62b336 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Tue, 25 Nov 2014 13:44:54 +0100 +Subject: [PATCH] dmsquash-live: do not abort, if user pressed ESC on + checkisomd5 + +If the user pressed ESC while checkisomd5 runs the media check, it will +exit with "2". Previously that would mean, that the media check was not +successful. +--- + modules.d/90dmsquash-live/checkisomd5@.service | 1 + + modules.d/90dmsquash-live/dmsquash-live-root.sh | 2 +- + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/modules.d/90dmsquash-live/checkisomd5@.service b/modules.d/90dmsquash-live/checkisomd5@.service +index 20e40bd..c4ca10f 100644 +--- a/modules.d/90dmsquash-live/checkisomd5@.service ++++ b/modules.d/90dmsquash-live/checkisomd5@.service +@@ -11,3 +11,4 @@ StandardInput=tty-force + StandardOutput=inherit + StandardError=inherit + TimeoutSec=0 ++SuccessExitStatus=2 +diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh +index 246235b..d921f0c 100755 +--- a/modules.d/90dmsquash-live/dmsquash-live-root.sh ++++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh +@@ -42,7 +42,7 @@ if [ -n "$check" ]; then + else + checkisomd5 --verbose $livedev + fi +- if [ $? -ne 0 ]; then ++ if [ $? -eq 1 ]; then + die "CD check failed!" + exit 1 + fi diff --git a/0021-fips-add-libfreeblpriv3.so-and-libfreeblpriv3.chk.patch b/0021-fips-add-libfreeblpriv3.so-and-libfreeblpriv3.chk.patch new file mode 100644 index 0000000..cf72193 --- /dev/null +++ b/0021-fips-add-libfreeblpriv3.so-and-libfreeblpriv3.chk.patch @@ -0,0 +1,23 @@ +From 3659d64df3fe87e2ec2ca6a55c8f456dabb953db Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 28 Nov 2014 15:32:17 +0100 +Subject: [PATCH] fips: add libfreeblpriv3.so and libfreeblpriv3.chk + +--- + modules.d/01fips/module-setup.sh | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh +index aab96da..01e84e5 100755 +--- a/modules.d/01fips/module-setup.sh ++++ b/modules.d/01fips/module-setup.sh +@@ -40,7 +40,8 @@ install() { + + inst_libdir_file libsoftokn3.so libsoftokn3.so \ + libsoftokn3.chk libfreebl3.so libfreebl3.chk \ +- libssl.so 'hmaccalc/sha512hmac.hmac' libssl.so.10 ++ libssl.so 'hmaccalc/sha512hmac.hmac' libssl.so.10 \ ++ libfreeblpriv3.so and libfreeblpriv3.chk + + inst_multiple -o prelink + inst_simple /etc/system-fips diff --git a/0021-i18n-check-for-i18n_install_all-yes-rather-than-bein.patch b/0021-i18n-check-for-i18n_install_all-yes-rather-than-bein.patch deleted file mode 100644 index 8935594..0000000 --- a/0021-i18n-check-for-i18n_install_all-yes-rather-than-bein.patch +++ /dev/null @@ -1,25 +0,0 @@ -From ae488efa5e6103ffc1be8b8782f8a1c7a5aa90b4 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 14 Aug 2014 12:56:53 +0200 -Subject: [PATCH] i18n: check for $i18n_install_all == "yes" rather than being - set - -i18n_install_all="no" does not have the expected effect without this -patch ---- - modules.d/10i18n/module-setup.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh -index a091f89..720fcbd 100755 ---- a/modules.d/10i18n/module-setup.sh -+++ b/modules.d/10i18n/module-setup.sh -@@ -247,7 +247,7 @@ install() { - if checks; then - install_base - -- if [[ ${hostonly} ]] && ! [[ ${i18n_install_all} ]]; then -+ if [[ ${hostonly} ]] && ! [[ ${i18n_install_all} == "yes" ]]; then - install_local_i18n || install_all_kbd - else - install_all_kbd diff --git a/0022-base-init.sh-ignore-exclamation-mark-for-kmod-static.patch b/0022-base-init.sh-ignore-exclamation-mark-for-kmod-static.patch new file mode 100644 index 0000000..f6238ac --- /dev/null +++ b/0022-base-init.sh-ignore-exclamation-mark-for-kmod-static.patch @@ -0,0 +1,41 @@ +From fa45d0d9c9109f3c2953ad02d7e3aa69c4e09add Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Mon, 1 Dec 2014 11:50:00 +0100 +Subject: [PATCH] base/init.sh: ignore exclamation mark for kmod static-nodes + +newer versions add an exclamation mark for the type, to mark it to be +created on boot only. +--- + modules.d/99base/init.sh | 19 ++++++++++--------- + 1 file changed, 10 insertions(+), 9 deletions(-) + +diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh +index 3afe6d5..5f66d1f 100755 +--- a/modules.d/99base/init.sh ++++ b/modules.d/99base/init.sh +@@ -73,15 +73,16 @@ fi + if command -v kmod >/dev/null 2>/dev/null; then + kmod static-nodes --format=tmpfiles 2>/dev/null | \ + while read type file mode a a a majmin; do +- case $type in +- d) +- mkdir -m $mode -p $file +- ;; +- c) +- mknod -m $mode $file $type ${majmin%:*} ${majmin#*:} +- ;; +- esac +- done ++ type=${type%\!} ++ case $type in ++ d) ++ mkdir -m $mode -p $file ++ ;; ++ c) ++ mknod -m $mode $file $type ${majmin%:*} ${majmin#*:} ++ ;; ++ esac ++ done + fi + + trap "action_on_fail Signal caught!" 0 diff --git a/0022-dracut.usage.asc-extend-parameters-for-shutdown-debu.patch b/0022-dracut.usage.asc-extend-parameters-for-shutdown-debu.patch deleted file mode 100644 index adbcf7f..0000000 --- a/0022-dracut.usage.asc-extend-parameters-for-shutdown-debu.patch +++ /dev/null @@ -1,23 +0,0 @@ -From e02a29e7a2403dd1bb4f581b14ec4bf4ace6cba7 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 15 Aug 2014 11:44:26 +0200 -Subject: [PATCH] dracut.usage.asc: extend parameters for shutdown debug - procedure - ---- - dracut.usage.asc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/dracut.usage.asc b/dracut.usage.asc -index 6979af6..50ceb49 100644 ---- a/dracut.usage.asc -+++ b/dracut.usage.asc -@@ -528,7 +528,7 @@ on _pre-shutdown_ or _shutdown_. - To do this from an already booted system: - ---- - # mkdir -p /run/initramfs/etc/cmdline.d --# echo "rd.break=pre-shutdown" > /run/initramfs/etc/cmdline.d/debug.conf -+# echo "rd.debug rd.break=pre-shutdown rd.break=shutdown" > /run/initramfs/etc/cmdline.d/debug.conf - # touch /run/initramfs/.need_shutdown - ---- - diff --git a/0023-dracut.sh-add-tmpfilesdir-to-install-files-to-usr-li.patch b/0023-dracut.sh-add-tmpfilesdir-to-install-files-to-usr-li.patch new file mode 100644 index 0000000..2dccd0f --- /dev/null +++ b/0023-dracut.sh-add-tmpfilesdir-to-install-files-to-usr-li.patch @@ -0,0 +1,39 @@ +From 3a04bddeed15c810865aa49a2575bf13e651272d Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Mon, 1 Dec 2014 12:34:54 +0100 +Subject: [PATCH] dracut.sh: add $tmpfilesdir to install files to + /usr/lib/tmpfiles.d + +--- + dracut.sh | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/dracut.sh b/dracut.sh +index 4590f79..2357987 100755 +--- a/dracut.sh ++++ b/dracut.sh +@@ -1226,6 +1226,14 @@ fi + + [[ -d "$systemdsystemconfdir" ]] || systemdsystemconfdir=/etc/systemd/system + ++[[ -d $tmpfilesdir ]] \ ++ || tmpfilesdir=$(pkg-config systemd --variable=tmpfilesdir 2>/dev/null) ++ ++if ! [[ -d "$tmpfilesdir" ]]; then ++ [[ -f /lib/tmpfiles.d ]] && tmpfilesdir=/lib/tmpfiles.d ++ [[ -f /usr/lib/tmpfiles.d ]] && tmpfilesdir=/usr/lib/tmpfiles.d ++fi ++ + export initdir dracutbasedir \ + dracutmodules force_add_dracutmodules add_dracutmodules omit_dracutmodules \ + mods_to_load \ +@@ -1236,7 +1244,8 @@ export initdir dracutbasedir \ + debug host_fs_types host_devs sshkey add_fstab \ + DRACUT_VERSION udevdir prefix filesystems drivers \ + systemdutildir systemdsystemunitdir systemdsystemconfdir \ +- host_modalias host_modules hostonly_cmdline loginstall ++ host_modalias host_modules hostonly_cmdline loginstall \ ++ tmpfilesdir + + mods_to_load="" + # check all our modules to see if they should be sourced. diff --git a/0023-dracut.usage.asc-also-add-a-link-for-RHEL-7-storage-.patch b/0023-dracut.usage.asc-also-add-a-link-for-RHEL-7-storage-.patch deleted file mode 100644 index cc8c7f5..0000000 --- a/0023-dracut.usage.asc-also-add-a-link-for-RHEL-7-storage-.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 11b5db88c2d9290fc438b12a79a50bdd1d327203 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 15 Aug 2014 11:50:31 +0200 -Subject: [PATCH] dracut.usage.asc: also add a link for RHEL-7 storage admin - guide - ---- - dracut.usage.asc | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/dracut.usage.asc b/dracut.usage.asc -index 50ceb49..6128ec4 100644 ---- a/dracut.usage.asc -+++ b/dracut.usage.asc -@@ -259,7 +259,9 @@ local hard drive or it can be served by a PXE/TFTP server. - - How to setup your PXE/TFTP server can be found in the - http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/[Red --Hat Enterprise Linux Storage Administration Guide]. -+Hat Enterprise Linux 6 Storage Administration Guide] -+or http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/[Red -+Hat Enterprise Linux 7 Storage Administration Guide]. - - If you specify ip=auto on the kernel command line, then dracut asks a dhcp - server about the ip adress for the machine. The dhcp server can also serve an diff --git a/0024-do-not-symlink-var-log-to-run-log.patch b/0024-do-not-symlink-var-log-to-run-log.patch new file mode 100644 index 0000000..98b0b85 --- /dev/null +++ b/0024-do-not-symlink-var-log-to-run-log.patch @@ -0,0 +1,79 @@ +From 99d4fd6bb791ca8ce07e07e13b58445f3e20894a Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Mon, 1 Dec 2014 12:36:20 +0100 +Subject: [PATCH] do not symlink /var/log to /run/log + +some programs e.g. systemd-journald expect a directory in /var/log as +the marker to do some actions. Here journald tries to flush +/run/log/journal to /var/log/journal, if the directory is seen. + +/var/log is now a symlink to /run/initramfs/log. +--- + dracut.sh | 1 - + modules.d/98systemd/dracut-tmpfiles.conf | 3 +++ + modules.d/98systemd/module-setup.sh | 5 +++++ + modules.d/99base/dracut-lib.sh | 6 +++++- + 4 files changed, 13 insertions(+), 2 deletions(-) + create mode 100644 modules.d/98systemd/dracut-tmpfiles.conf + +diff --git a/dracut.sh b/dracut.sh +index 2357987..a542f33 100755 +--- a/dracut.sh ++++ b/dracut.sh +@@ -1300,7 +1300,6 @@ if [[ $kernel_only != yes ]]; then + + ln -sfn ../run "$initdir/var/run" + ln -sfn ../run/lock "$initdir/var/lock" +- ln -sfn ../run/log "$initdir/var/log" + else + for d in lib "$libdir"; do + [[ -e "${initdir}${prefix}/$d" ]] && continue +diff --git a/modules.d/98systemd/dracut-tmpfiles.conf b/modules.d/98systemd/dracut-tmpfiles.conf +new file mode 100644 +index 0000000..3c21ce8 +--- /dev/null ++++ b/modules.d/98systemd/dracut-tmpfiles.conf +@@ -0,0 +1,3 @@ ++d /run/initramfs 0755 root root - ++d /run/initramfs/log 0755 root root - ++L /var/log - - - - ../run/initramfs/log +diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh +index bd4433e..8052984 100755 +--- a/modules.d/98systemd/module-setup.sh ++++ b/modules.d/98systemd/module-setup.sh +@@ -123,6 +123,8 @@ install() { + $systemdsystemunitdir/slices.target \ + $systemdsystemunitdir/system.slice \ + \ ++ $tmpfilesdir/systemd.conf \ ++ \ + journalctl systemctl echo swapoff systemd-cgls systemd-tmpfiles + + inst_multiple -o \ +@@ -232,6 +234,9 @@ install() { + ln_r "$systemdsystemunitdir/${i}" "$systemdsystemunitdir/initrd.target.wants/${i}" + done + ++ inst_simple "$moddir/dracut-tmpfiles.conf" "$tmpfilesdir/dracut-tmpfiles.conf" ++ ++ + mkdir -p "$initdir/etc/systemd" + # turn off RateLimit for journal + { +diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh +index 8bc6b26..0a89cc8 100755 +--- a/modules.d/99base/dracut-lib.sh ++++ b/modules.d/99base/dracut-lib.sh +@@ -6,7 +6,11 @@ if [ -n "$NEWROOT" ]; then + [ -d $NEWROOT ] || mkdir -p -m 0755 $NEWROOT + fi + +-[ -d /run/initramfs ] || mkdir -p -m 0755 /run/initramfs ++if ! [ -d /run/initramfs ]; then ++ mkdir -p -m 0755 /run/initramfs/log ++ ln -sfn /run/initramfs/log /var/log ++fi ++ + [ -d /run/lock ] || mkdir -p -m 0755 /run/lock + [ -d /run/log ] || mkdir -p -m 0755 /run/log + diff --git a/0024-dracut-functions-get_persistent_dev-fall-back-to-the.patch b/0024-dracut-functions-get_persistent_dev-fall-back-to-the.patch deleted file mode 100644 index 8490f8d..0000000 --- a/0024-dracut-functions-get_persistent_dev-fall-back-to-the.patch +++ /dev/null @@ -1,28 +0,0 @@ -From a628b7caf52459a31c46463744fafc42bb8f3407 Mon Sep 17 00:00:00 2001 -From: WANG Chao -Date: Mon, 28 Jul 2014 22:26:28 +0800 -Subject: [PATCH] dracut-functions: get_persistent_dev() fall back to the - original name - -In case of raw disk/partition, ex. /dev/vda1, which doesn't contain any -filesystem on it. get_persistent_dev() would return empty. Now fix it to -return its original name, /dev/vda1 in above case. So that we don't have -to check its return string every time. - -Signed-off-by: WANG Chao ---- - dracut-functions.sh | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/dracut-functions.sh b/dracut-functions.sh -index 6cdfea0..b07063f 100755 ---- a/dracut-functions.sh -+++ b/dracut-functions.sh -@@ -388,6 +388,7 @@ get_persistent_dev() { - return - fi - done -+ echo $1 - } - - expand_persistent_dev() { diff --git a/0025-Test-soc-path-for-modalias-needed-by-drm.patch b/0025-Test-soc-path-for-modalias-needed-by-drm.patch deleted file mode 100644 index 7a7c2cc..0000000 --- a/0025-Test-soc-path-for-modalias-needed-by-drm.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 4a3f3ba68c73707231bba72cdf7ab01464456e5a Mon Sep 17 00:00:00 2001 -From: Nicolas Chauvet -Date: Mon, 4 Aug 2014 22:04:37 +0200 -Subject: [PATCH] Test soc path for modalias needed by drm - -On ARM, both pci and soc path can be tested for drm. - -With this patchset, that was missing in recent kernel, -the tegra_drm case is not needed anymore: -http://patchwork.ozlabs.org/patch/361765/ -http://www.spinics.net/lists/linux-tegra/msg17948.html ---- - modules.d/50drm/module-setup.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/50drm/module-setup.sh b/modules.d/50drm/module-setup.sh -index e25fc9f..9a48aaf 100755 ---- a/modules.d/50drm/module-setup.sh -+++ b/modules.d/50drm/module-setup.sh -@@ -57,7 +57,7 @@ installkernel() { - # as we could e.g. be in the installer; nokmsboot boot parameter will disable - # loading of the driver if needed - if [[ $hostonly ]] && modinfo -F alias $_modname | sed -e 's,\?,\.,g' -e 's,\*,\.\*,g' \ -- | grep -qxf - /sys/bus/pci/devices/*/modalias 2>/dev/null; then -+ | grep -qxf - /sys/bus/{pci/devices,soc/devices/soc?}/*/modalias 2>/dev/null; then - hostonly='' instmods $_modname - continue - fi diff --git a/0025-cms-cms-write-ifcfg.sh-turn-SUBCHANNELS-into-lowerca.patch b/0025-cms-cms-write-ifcfg.sh-turn-SUBCHANNELS-into-lowerca.patch new file mode 100644 index 0000000..b06b15e --- /dev/null +++ b/0025-cms-cms-write-ifcfg.sh-turn-SUBCHANNELS-into-lowerca.patch @@ -0,0 +1,21 @@ +From 3ae03005b85a702256ead058375c9fab2e53950e Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Mon, 1 Dec 2014 15:04:53 +0100 +Subject: [PATCH] cms/cms-write-ifcfg.sh: turn SUBCHANNELS into lowercase + +--- + modules.d/80cms/cms-write-ifcfg.sh | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/modules.d/80cms/cms-write-ifcfg.sh b/modules.d/80cms/cms-write-ifcfg.sh +index d3c7c46..eb10ae2 100755 +--- a/modules.d/80cms/cms-write-ifcfg.sh ++++ b/modules.d/80cms/cms-write-ifcfg.sh +@@ -7,6 +7,7 @@ mkdir -m 0755 -p /run/initramfs/state/etc/sysconfig/network-scripts + function cms_write_config() + { + . /tmp/cms.conf ++ SUBCHANNELS="$(echo $SUBCHANNELS | sed 'y/ABCDEF/abcdef/')" + OLDIFS=$IFS + IFS=, + read -a subch_array <<< "indexzero,$SUBCHANNELS" diff --git a/0026-40network-Fix-the-syntax-to-correct-the-judgment-sen.patch b/0026-40network-Fix-the-syntax-to-correct-the-judgment-sen.patch new file mode 100644 index 0000000..cafbef1 --- /dev/null +++ b/0026-40network-Fix-the-syntax-to-correct-the-judgment-sen.patch @@ -0,0 +1,28 @@ +From c440d302f1cdfc0336e9086c7b9016356f961936 Mon Sep 17 00:00:00 2001 +From: Minfei Huang +Date: Mon, 1 Dec 2014 12:37:06 +0800 +Subject: [PATCH] 40network: Fix the syntax to correct the judgment sentence + +In the judgment sentence, it will print the following warning message, +becasuse of lacking the blank on the left of ']'. + +/lib/net-lib.sh: line 110: [: missing `]' + +Signed-off-by: Minfei Huang +--- + 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 48e7014..d9c5a1d 100755 +--- a/modules.d/40network/net-lib.sh ++++ b/modules.d/40network/net-lib.sh +@@ -105,7 +105,7 @@ setup_net() { + # add static route + for _p in $(getargs rd.route); do + route_to_var "$_p" || continue +- [ -n "$route_dev" ] && [ "$route_dev" != "$netif"] && 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 + printf -- "%s\n" "$route_mask ${route_gw:+via $route_gw} ${route_dev:+dev $route_dev}" \ diff --git a/0026-Categorize-needed-modules-on-ARM.patch b/0026-Categorize-needed-modules-on-ARM.patch deleted file mode 100644 index d89d860..0000000 --- a/0026-Categorize-needed-modules-on-ARM.patch +++ /dev/null @@ -1,31 +0,0 @@ -From b96ea1e196ae5706a68644a3679ee8c432b0b8f1 Mon Sep 17 00:00:00 2001 -From: Nicolas Chauvet -Date: Mon, 4 Aug 2014 22:04:38 +0200 -Subject: [PATCH] Categorize needed modules on ARM - ---- - modules.d/90kernel-modules/module-setup.sh | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh -index 1ce133f..f3e4f65 100755 ---- a/modules.d/90kernel-modules/module-setup.sh -+++ b/modules.d/90kernel-modules/module-setup.sh -@@ -51,10 +51,13 @@ installkernel() { - - if [[ "$(uname -p)" == arm* ]]; then - # arm specific modules -- hostonly='' instmods \ -- connector-hdmi connector-dvi encoder-tfp410 \ -- encoder-tpd12s015 i2c-tegra gpio-regulator \ -- as3722-regulator orion-ehci ehci-tegra -+ instmods \ -+ "=drivers/i2c/busses" \ -+ "=drivers/regulator" \ -+ "=drivers/rtc" \ -+ "=drivers/usb/host" \ -+ "=drivers/usb/phy" \ -+ ${NULL} - fi - - # install virtual machine support diff --git a/0027-Introduce-ARM-specific-modules-needed-by-drm.patch b/0027-Introduce-ARM-specific-modules-needed-by-drm.patch deleted file mode 100644 index 9c31601..0000000 --- a/0027-Introduce-ARM-specific-modules-needed-by-drm.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 49fe860b22afd355b67f5f3f2ee30d5a3f0d3f5f Mon Sep 17 00:00:00 2001 -From: Nicolas Chauvet -Date: Mon, 4 Aug 2014 22:04:39 +0200 -Subject: [PATCH] Introduce ARM specific modules needed by drm - ---- - modules.d/50drm/module-setup.sh | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/modules.d/50drm/module-setup.sh b/modules.d/50drm/module-setup.sh -index 9a48aaf..a42bcba 100755 ---- a/modules.d/50drm/module-setup.sh -+++ b/modules.d/50drm/module-setup.sh -@@ -51,6 +51,17 @@ installkernel() { - return 0 - } - -+ if [[ "$(uname -p)" == arm* ]]; then -+ # arm specific modules needed by drm -+ instmods \ -+ "=drivers/gpu/drm/i2c" \ -+ "=drivers/gpu/drm/panel" \ -+ "=drivers/pwm" \ -+ "=drivers/video/backlight" \ -+ "=drivers/video/fbdev/omap2/displays-new" \ -+ ${NULL} -+ fi -+ - for _modname in $(find_kernel_modules_by_path drivers/gpu/drm \ - | drm_module_filter) ; do - # if the hardware is present, include module even if it is not currently loaded, diff --git a/0027-initrd-release-move-from-etc-to-usr-lib.patch b/0027-initrd-release-move-from-etc-to-usr-lib.patch new file mode 100644 index 0000000..99e0b6d --- /dev/null +++ b/0027-initrd-release-move-from-etc-to-usr-lib.patch @@ -0,0 +1,195 @@ +From ca4108b78e04d6ee202efbeea13840fac46f76f6 Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Mon, 1 Dec 2014 16:59:09 +0100 +Subject: [PATCH] initrd-release: move from /etc to /usr/lib + +This mimicks the similar move of os-release which was done in systemd. These +files are not configuration, but part of the OS. + +Still symlinks are in place for compatibility, but those should probably be +dropped eventually. +--- + modules.d/98systemd/dracut-cmdline-ask.service | 2 +- + modules.d/98systemd/dracut-cmdline.service | 2 +- + modules.d/98systemd/dracut-cmdline.sh | 2 +- + modules.d/98systemd/dracut-initqueue.service | 2 +- + modules.d/98systemd/dracut-mount.service | 2 +- + modules.d/98systemd/dracut-pre-mount.service | 2 +- + modules.d/98systemd/dracut-pre-pivot.service | 2 +- + modules.d/98systemd/dracut-pre-trigger.service | 2 +- + modules.d/98systemd/dracut-pre-udev.service | 2 +- + modules.d/98systemd/initrd.target | 2 +- + modules.d/99base/dracut-lib.sh | 2 +- + modules.d/99base/init.sh | 2 +- + modules.d/99base/module-setup.sh | 4 +++- + 13 files changed, 15 insertions(+), 13 deletions(-) + +diff --git a/modules.d/98systemd/dracut-cmdline-ask.service b/modules.d/98systemd/dracut-cmdline-ask.service +index 9993671..9a34b35 100644 +--- a/modules.d/98systemd/dracut-cmdline-ask.service ++++ b/modules.d/98systemd/dracut-cmdline-ask.service +@@ -13,7 +13,7 @@ DefaultDependencies=no + Before=dracut-cmdline.service + After=systemd-journald.socket + Wants=systemd-journald.socket +-ConditionPathExists=/etc/initrd-release ++ConditionPathExists=/usr/lib/initrd-release + ConditionKernelCommandLine=rd.cmdline=ask + + [Service] +diff --git a/modules.d/98systemd/dracut-cmdline.service b/modules.d/98systemd/dracut-cmdline.service +index f888bf4..6eeb991 100644 +--- a/modules.d/98systemd/dracut-cmdline.service ++++ b/modules.d/98systemd/dracut-cmdline.service +@@ -14,7 +14,7 @@ DefaultDependencies=no + Before=dracut-pre-udev.service + After=systemd-journald.socket + Wants=systemd-journald.socket +-ConditionPathExists=/etc/initrd-release ++ConditionPathExists=/usr/lib/initrd-release + ConditionPathExistsGlob=|/etc/cmdline.d/*.conf + ConditionDirectoryNotEmpty=|/lib/dracut/hooks/cmdline + ConditionKernelCommandLine=|rd.break=cmdline +diff --git a/modules.d/98systemd/dracut-cmdline.sh b/modules.d/98systemd/dracut-cmdline.sh +index ad81501..871f81b 100755 +--- a/modules.d/98systemd/dracut-cmdline.sh ++++ b/modules.d/98systemd/dracut-cmdline.sh +@@ -5,7 +5,7 @@ if [ -f /dracut-state.sh ]; then + fi + type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh + +-[ -f /etc/initrd-release ] && . /etc/initrd-release ++[ -f /usr/lib/initrd-release ] && . /usr/lib/initrd-release + [ -n "$VERSION" ] && info "dracut-$VERSION" + + if ! getargbool 1 'rd.hostonly'; then +diff --git a/modules.d/98systemd/dracut-initqueue.service b/modules.d/98systemd/dracut-initqueue.service +index 1b9e701..5d772f7 100644 +--- a/modules.d/98systemd/dracut-initqueue.service ++++ b/modules.d/98systemd/dracut-initqueue.service +@@ -15,7 +15,7 @@ Before=remote-fs-pre.target + Wants=remote-fs-pre.target + After=systemd-udev-trigger.service + Wants=systemd-udev-trigger.service +-ConditionPathExists=/etc/initrd-release ++ConditionPathExists=/usr/lib/initrd-release + ConditionPathExists=|/lib/dracut/need-initqueue + ConditionPathExistsGlob=|/lib/dracut/hooks/initqueue/*.sh + ConditionPathExistsGlob=|/lib/dracut/hooks/initqueue/settled/*.sh +diff --git a/modules.d/98systemd/dracut-mount.service b/modules.d/98systemd/dracut-mount.service +index 20c633d..1b14f4a 100644 +--- a/modules.d/98systemd/dracut-mount.service ++++ b/modules.d/98systemd/dracut-mount.service +@@ -12,7 +12,7 @@ Description=dracut mount hook + Documentation=man:dracut-mount.service(8) + After=initrd-root-fs.target initrd-parse-etc.service + After=dracut-initqueue.service dracut-pre-mount.service +-ConditionPathExists=/etc/initrd-release ++ConditionPathExists=/usr/lib/initrd-release + ConditionDirectoryNotEmpty=|/lib/dracut/hooks/mount + ConditionKernelCommandLine=|rd.break=mount + +diff --git a/modules.d/98systemd/dracut-pre-mount.service b/modules.d/98systemd/dracut-pre-mount.service +index d7be48d..96ea995 100644 +--- a/modules.d/98systemd/dracut-pre-mount.service ++++ b/modules.d/98systemd/dracut-pre-mount.service +@@ -14,7 +14,7 @@ DefaultDependencies=no + Before=initrd-root-fs.target sysroot.mount + After=dracut-initqueue.service + After=cryptsetup.target +-ConditionPathExists=/etc/initrd-release ++ConditionPathExists=/usr/lib/initrd-release + ConditionDirectoryNotEmpty=|/lib/dracut/hooks/pre-mount + ConditionKernelCommandLine=|rd.break=pre-mount + +diff --git a/modules.d/98systemd/dracut-pre-pivot.service b/modules.d/98systemd/dracut-pre-pivot.service +index d7c7b1d..f5a85ce 100644 +--- a/modules.d/98systemd/dracut-pre-pivot.service ++++ b/modules.d/98systemd/dracut-pre-pivot.service +@@ -15,7 +15,7 @@ After=dracut-initqueue.service dracut-pre-mount.service dracut-mount.service + Before=initrd-cleanup.service + Wants=remote-fs.target + After=remote-fs.target +-ConditionPathExists=/etc/initrd-release ++ConditionPathExists=/usr/lib/initrd-release + ConditionDirectoryNotEmpty=|/lib/dracut/hooks/pre-pivot + ConditionDirectoryNotEmpty=|/lib/dracut/hooks/cleanup + ConditionKernelCommandLine=|rd.break=pre-pivot +diff --git a/modules.d/98systemd/dracut-pre-trigger.service b/modules.d/98systemd/dracut-pre-trigger.service +index 69b4cce..826b89b 100644 +--- a/modules.d/98systemd/dracut-pre-trigger.service ++++ b/modules.d/98systemd/dracut-pre-trigger.service +@@ -14,7 +14,7 @@ DefaultDependencies=no + Before=systemd-udev-trigger.service dracut-initqueue.service + After=dracut-pre-udev.service systemd-udevd.service systemd-tmpfiles-setup-dev.service + Wants=dracut-pre-udev.service systemd-udevd.service +-ConditionPathExists=/etc/initrd-release ++ConditionPathExists=/usr/lib/initrd-release + ConditionDirectoryNotEmpty=|/lib/dracut/hooks/pre-trigger + ConditionKernelCommandLine=|rd.break=pre-trigger + +diff --git a/modules.d/98systemd/dracut-pre-udev.service b/modules.d/98systemd/dracut-pre-udev.service +index d125b37..73740be 100644 +--- a/modules.d/98systemd/dracut-pre-udev.service ++++ b/modules.d/98systemd/dracut-pre-udev.service +@@ -14,7 +14,7 @@ DefaultDependencies=no + Before=systemd-udevd.service dracut-pre-trigger.service + After=dracut-cmdline.service + Wants=dracut-cmdline.service +-ConditionPathExists=/etc/initrd-release ++ConditionPathExists=/usr/lib/initrd-release + ConditionDirectoryNotEmpty=|/lib/dracut/hooks/pre-udev + ConditionKernelCommandLine=|rd.break=pre-udev + ConditionKernelCommandLine=|rd.driver.blacklist +diff --git a/modules.d/98systemd/initrd.target b/modules.d/98systemd/initrd.target +index 19494d4..4b7e7da 100644 +--- a/modules.d/98systemd/initrd.target ++++ b/modules.d/98systemd/initrd.target +@@ -6,4 +6,4 @@ After=basic.target rescue.service rescue.target + AllowIsolate=yes + OnFailure=emergency.target + OnFailureIsolate=yes +-ConditionPathExists=/etc/initrd-release ++ConditionPathExists=/usr/lib/initrd-release +diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh +index 0a89cc8..5fc5615 100755 +--- a/modules.d/99base/dracut-lib.sh ++++ b/modules.d/99base/dracut-lib.sh +@@ -393,7 +393,7 @@ splitsep() { + } + + setdebug() { +- [ -f /etc/initrd-release ] || return ++ [ -f /usr/lib/initrd-release ] || return + if [ -z "$RD_DEBUG" ]; then + if [ -e /proc/cmdline ]; then + RD_DEBUG=no +diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh +index 5f66d1f..7fcea4a 100755 +--- a/modules.d/99base/init.sh ++++ b/modules.d/99base/init.sh +@@ -106,7 +106,7 @@ else + exec 0<>/dev/console 1<>/dev/console 2<>/dev/console + fi + +-[ -f /etc/initrd-release ] && . /etc/initrd-release ++[ -f /usr/lib/initrd-release ] && . /usr/lib/initrd-release + [ -n "$VERSION_ID" ] && info "$NAME-$VERSION_ID" + + source_conf /etc/conf.d +diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh +index fab4a78..7d30320 100755 +--- a/modules.d/99base/module-setup.sh ++++ b/modules.d/99base/module-setup.sh +@@ -88,8 +88,10 @@ install() { + echo VERSION_ID=$VERSION_ID + echo PRETTY_NAME=\"$PRETTY_NAME\" + echo ANSI_COLOR=\"$ANSI_COLOR\" +- } > $initdir/etc/initrd-release ++ } > $initdir/usr/lib/initrd-release + echo dracut-$DRACUT_VERSION > $initdir/lib/dracut/dracut-$DRACUT_VERSION ++ ln -sf ../usr/lib/initrd-release $initdir/etc/initrd-release ++ ln -sf initrd-release $initdir/usr/lib/os-release + ln -sf initrd-release $initdir/etc/os-release + + ## save host_devs which we need bring up diff --git a/0028-dracut-functions.sh-get_persistent_dev-use-printf-in.patch b/0028-dracut-functions.sh-get_persistent_dev-use-printf-in.patch deleted file mode 100644 index b5853f5..0000000 --- a/0028-dracut-functions.sh-get_persistent_dev-use-printf-in.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 9efb74a32d34533f7ccb201160ea0e40adc13987 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 15 Aug 2014 12:36:04 +0200 -Subject: [PATCH] dracut-functions.sh:get_persistent_dev(): use printf, instead - of echo - ---- - dracut-functions.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/dracut-functions.sh b/dracut-functions.sh -index b07063f..9286828 100755 ---- a/dracut-functions.sh -+++ b/dracut-functions.sh -@@ -388,7 +388,7 @@ get_persistent_dev() { - return - fi - done -- echo $1 -+ printf -- "%s" "$1" - } - - expand_persistent_dev() { diff --git a/0028-dracut.conf.d-fedora.conf.example-turn-on-early_micr.patch b/0028-dracut.conf.d-fedora.conf.example-turn-on-early_micr.patch new file mode 100644 index 0000000..4eba544 --- /dev/null +++ b/0028-dracut.conf.d-fedora.conf.example-turn-on-early_micr.patch @@ -0,0 +1,27 @@ +From 414dc51ca2b60a15405bb2b0b1ac23d4d1ef905c Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Thu, 4 Dec 2014 11:54:47 +0100 +Subject: [PATCH] dracut.conf.d/fedora.conf.example: turn on early_microcode + +--- + dracut.conf.d/fedora.conf.example | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/dracut.conf.d/fedora.conf.example b/dracut.conf.d/fedora.conf.example +index c06202b..f248f51 100644 +--- a/dracut.conf.d/fedora.conf.example ++++ b/dracut.conf.d/fedora.conf.example +@@ -4,6 +4,8 @@ + i18n_vars="/etc/sysconfig/keyboard:KEYTABLE-KEYMAP /etc/sysconfig/i18n:SYSFONT-FONT,FONTACM-FONT_MAP,FONT_UNIMAP" + i18n_default_font="latarcyrheb-sun16" + i18n_install_all="yes" ++ ++ + stdloglvl=3 + sysloglvl=5 + install_optional_items+=" vi /etc/virc ps grep cat rm " +@@ -13,3 +15,4 @@ systemdsystemunitdir=/usr/lib/systemd/system + systemdsystemconfdir=/etc/systemd/system + udevdir=/usr/lib/udev + hostonly="yes" ++early_microcode="yes" diff --git a/0029-Generate-reproducible-initramfs-images.patch b/0029-Generate-reproducible-initramfs-images.patch deleted file mode 100644 index d362d19..0000000 --- a/0029-Generate-reproducible-initramfs-images.patch +++ /dev/null @@ -1,154 +0,0 @@ -From 80626ded3e849ba840ddd64c1713be5abb1c7449 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 3 Jul 2014 12:52:58 +0200 -Subject: [PATCH] Generate reproducible initramfs images - -With the same source of files, it should be possible to generate the -same image file with every dracut run. - -To accomplish this, we modify the timestamps of the files we generate at -runtime, call gzip with "-n" and cpio with "--reproducible". - -The cpio --reproducible option is not yet upstream though, so if you -feel like it should be then please nag at the cpio mailing list. -http://lists.gnu.org/archive/html/bug-cpio/2014-08/msg00000.html ---- - dracut.8.asc | 3 +++ - dracut.conf.5.asc | 3 +++ - dracut.sh | 40 ++++++++++++++++++++++++++++++++++------ - 3 files changed, 40 insertions(+), 6 deletions(-) - -diff --git a/dracut.8.asc b/dracut.8.asc -index 51a4e9f..44530bd 100644 ---- a/dracut.8.asc -+++ b/dracut.8.asc -@@ -412,6 +412,9 @@ will not be able to boot. - Do not compress the generated initramfs. This will override any other - compression options. - -+**--reproducible**:: -+ Create reproducible images. -+ - **--list-modules**:: - List all available dracut modules. - -diff --git a/dracut.conf.5.asc b/dracut.conf.5.asc -index 0b6be6a..9259951 100644 ---- a/dracut.conf.5.asc -+++ b/dracut.conf.5.asc -@@ -179,6 +179,9 @@ provide a valid _/etc/fstab_. - *i18n_install_all=*"__{yes|no}__":: - Install everything regardless of generic or hostonly mode. - -+*reproducible=*"__{yes|no}__":: -+ Create reproducible images. -+ - Files - ----- - _/etc/dracut.conf_:: -diff --git a/dracut.sh b/dracut.sh -index 1844336..2cce85b 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -191,6 +191,7 @@ Creates initial ramdisk images for preloading modules - --printsize Print out the module install size - --sshkey [SSHKEY] Add ssh key to initramfs (use with ssh-client module) - --logfile [FILE] Logfile to use (overrides configuration setting) -+ --reproducible Create reproducible images - - If [LIST] has multiple arguments, then you have to put these in quotes. - -@@ -372,6 +373,7 @@ rearrange_params() - --long noimageifnotneeded \ - --long early-microcode \ - --long no-early-microcode \ -+ --long reproducible \ - -- "$@") - - if (( $? != 0 )); then -@@ -557,7 +559,7 @@ while :; do - --printsize) printsize="yes";; - --regenerate-all) regenerate_all="yes";; - --noimageifnotneeded) noimageifnotneeded="yes";; -- -+ --reproducible) reproducible_l="yes";; - --) shift; break;; - - *) # should not even reach this point -@@ -801,6 +803,8 @@ stdloglvl=$((stdloglvl + verbosity_mod_l)) - [[ $early_microcode_l ]] && early_microcode=$early_microcode_l - [[ $early_microcode ]] || early_microcode=no - [[ $logfile_l ]] && logfile="$logfile_l" -+[[ $reproducible_l ]] && reproducible="$reproducible_l" -+ - # eliminate IFS hackery when messing with fw_dir - fw_dir=${fw_dir//:/ } - -@@ -810,7 +814,7 @@ case $compress in - bzip2) compress="bzip2 -9";; - lzma) compress="lzma -9 -T0";; - xz) compress="xz --check=crc32 --lzma2=dict=1MiB -T0";; -- gzip) compress="gzip -9"; command -v pigz > /dev/null 2>&1 && compress="pigz -9";; -+ gzip) compress="gzip -n -9 --rsyncable"; command -v pigz > /dev/null 2>&1 && compress="pigz -9 -n -T -R";; - lzo) compress="lzop -9";; - lz4) compress="lz4 -l -9";; - esac -@@ -821,6 +825,8 @@ fi - [[ $hostonly = yes ]] && hostonly="-h" - [[ $hostonly != "-h" ]] && unset hostonly - -+[[ $reproducible == yes ]] && DRACUT_REPRODUCIBLE=1 -+ - readonly TMPDIR="$tmpdir" - readonly initdir="$(mktemp --tmpdir="$TMPDIR/" -d -t initramfs.XXXXXX)" - [ -d "$initdir" ] || { -@@ -1498,7 +1504,7 @@ if [[ $acpi_override = yes ]] && [[ -d $acpi_table_dir ]]; then - mkdir -p $_dest_dir - for table in $acpi_table_dir/*.aml; do - dinfo " Adding ACPI table: $table" -- cp $table $_dest_dir -+ cp -a $table $_dest_dir - create_early_cpio="yes" - done - fi -@@ -1512,15 +1518,37 @@ fi - rm -f -- "$outfile" - dinfo "*** Creating image file ***" - -+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 -+fi -+ - [[ "$UID" != 0 ]] && cpio_owner_root="-R 0:0" - - if [[ $create_early_cpio = yes ]]; then - echo 1 > "$early_cpio_dir/d/early_cpio" -+ -+ if [[ $DRACUT_REPRODUCIBLE ]]; then -+ find "$early_cpio_dir/d" -newer "$dracutbasedir/dracut-functions.sh" -print0 \ -+ | xargs -r -0 touch -h -m -c -r "$dracutbasedir/dracut-functions.sh" -+ fi -+ - # The microcode blob is _before_ the initramfs blob, not after -- (cd "$early_cpio_dir/d"; find . -print0 | cpio --null $cpio_owner_root -H newc -o --quiet > $outfile) -+ ( -+ cd "$early_cpio_dir/d" -+ find . -print0 | sort -z \ -+ | cpio ${CPIO_REPRODUCIBLE:+--reproducible} --null $cpio_owner_root -H newc -o --quiet > $outfile -+ ) - fi --if ! ( umask 077; cd "$initdir"; find . -print0 | cpio --null $cpio_owner_root -H newc -o --quiet | \ -- $compress >> "$outfile"; ); then -+ -+if ! ( -+ umask 077; cd "$initdir" -+ find . -print0 | sort -z \ -+ | cpio ${CPIO_REPRODUCIBLE:+--reproducible} --null $cpio_owner_root -H newc -o --quiet \ -+ | $compress >> "$outfile" -+ ); then - dfatal "dracut: creation of $outfile failed" - exit 1 - fi diff --git a/0030-Makefile-rpm-wget-the-lgpl-license-for-Source1.patch b/0030-Makefile-rpm-wget-the-lgpl-license-for-Source1.patch deleted file mode 100644 index 7b930af..0000000 --- a/0030-Makefile-rpm-wget-the-lgpl-license-for-Source1.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 99128f2b64775313866b1d4edd3cd6220be937f8 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 15 Aug 2014 14:03:39 +0200 -Subject: [PATCH] Makefile:rpm: wget the lgpl license for Source1 - ---- - Makefile | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 7383309..f68960a 100644 ---- a/Makefile -+++ b/Makefile -@@ -188,7 +188,9 @@ rpm: dracut-$(VERSION).tar.xz syncheck - rpmbuild=$$(mktemp -d -t rpmbuild-dracut.XXXXXX); src=$$(pwd); \ - cp dracut-$(VERSION).tar.xz "$$rpmbuild"; \ - LC_MESSAGES=C $$src/git2spec.pl $(VERSION) "$$rpmbuild" < dracut.spec > $$rpmbuild/dracut.spec; \ -- (cd "$$rpmbuild"; rpmbuild --define "_topdir $$PWD" --define "_sourcedir $$PWD" \ -+ (cd "$$rpmbuild"; \ -+ wget https://www.gnu.org/licenses/lgpl-2.1.txt; \ -+ rpmbuild --define "_topdir $$PWD" --define "_sourcedir $$PWD" \ - --define "_specdir $$PWD" --define "_srcrpmdir $$PWD" \ - --define "_rpmdir $$PWD" -ba dracut.spec; ) && \ - ( mv "$$rpmbuild"/$$(arch)/*.rpm .; mv "$$rpmbuild"/*.src.rpm .;rm -fr -- "$$rpmbuild"; ls *.rpm ) diff --git a/0031-51-dracut-rescue.install-fixed-proc-cmdline-read.patch b/0031-51-dracut-rescue.install-fixed-proc-cmdline-read.patch deleted file mode 100644 index 2436d2d..0000000 --- a/0031-51-dracut-rescue.install-fixed-proc-cmdline-read.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 95957248a18cd1bd87d017b1b9ec81f2e193be45 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 15 Aug 2014 14:56:42 +0200 -Subject: [PATCH] 51-dracut-rescue.install: fixed /proc/cmdline read - ---- - 51-dracut-rescue.install | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/51-dracut-rescue.install b/51-dracut-rescue.install -index b655bc2..677805a 100755 ---- a/51-dracut-rescue.install -+++ b/51-dracut-rescue.install -@@ -45,7 +45,7 @@ if [[ -f /etc/kernel/cmdline ]]; then - readarray -t BOOT_OPTIONS < /etc/kernel/cmdline - fi - if ! [[ "${BOOT_OPTIONS[@]}" ]]; then -- readarray -t BOOT_OPTIONS < /proc/cmdline -+ read -ar BOOT_OPTIONS < /proc/cmdline - fi - if ! [[ $BOOT_OPTIONS ]]; then - exit 1 -@@ -75,7 +75,7 @@ case "$COMMAND" in - echo "Can't copy '$KERNEL_IMAGE to '$BOOT_DIR_ABS/linux'!" >&2 - fi - -- dracut --no-hostonly -a "rescue" "$BOOT_DIR_ABS"/initrd "$2" -+ dracut --no-hostonly -a "rescue" "$BOOT_DIR_ABS"/initrd "$KERNEL_VERSION" - ((ret+=$?)) - - { diff --git a/0032-50-dracut.install-fixed-proc-cmdline-reading.patch b/0032-50-dracut.install-fixed-proc-cmdline-reading.patch deleted file mode 100644 index e482e9f..0000000 --- a/0032-50-dracut.install-fixed-proc-cmdline-reading.patch +++ /dev/null @@ -1,68 +0,0 @@ -From ccb8ce0403056fc9af5b010a8d279d3891cbc399 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 15 Aug 2014 14:58:02 +0200 -Subject: [PATCH] 50-dracut.install: fixed /proc/cmdline reading - -and beautified the code a bit ---- - 50-dracut.install | 40 ++++++++++++++++++++++------------------ - 1 file changed, 22 insertions(+), 18 deletions(-) - -diff --git a/50-dracut.install b/50-dracut.install -index 0282741..b0cc7c3 100755 ---- a/50-dracut.install -+++ b/50-dracut.install -@@ -2,31 +2,35 @@ - # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- - # ex: ts=8 sw=4 sts=4 et filetype=sh - --if [[ -f /etc/kernel/cmdline ]]; then -- readarray -t BOOT_OPTIONS < /etc/kernel/cmdline --fi -+COMMAND="$1" -+KERNEL_VERSION="$2" -+BOOT_DIR_ABS="$3" -+KERNEL_IMAGE="$4" - --if ! [[ "${BOOT_OPTIONS[@]}" ]]; then -- readarray -t BOOT_OPTIONS < /proc/cmdline --fi -+ret=0 -+case "$COMMAND" in -+ add) -+ if [[ -f /etc/kernel/cmdline ]]; then -+ readarray -t BOOT_OPTIONS < /etc/kernel/cmdline -+ fi - --unset noimageifnotneeded -+ if ! [[ "${BOOT_OPTIONS[@]}" ]]; then -+ read -ar BOOT_OPTIONS < /proc/cmdline -+ fi - --for ((i=0; i < "${#BOOT_OPTIONS[@]}"; i++)); do -- if [[ ${BOOT_OPTIONS[$i]} == root\=PARTUUID\=* ]]; then -- noimageifnotneeded="yes" -- break -- fi --done -+ unset noimageifnotneeded - --ret=0 --case "$1" in -- add) -- dracut ${noimageifnotneeded:+--noimageifnotneeded} "$3"/initrd "$2" -+ for ((i=0; i < "${#BOOT_OPTIONS[@]}"; i++)); do -+ if [[ ${BOOT_OPTIONS[$i]} == root\=PARTUUID\=* ]]; then -+ noimageifnotneeded="yes" -+ break -+ fi -+ done -+ dracut ${noimageifnotneeded:+--noimageifnotneeded} "$BOOT_DIR_ABS"/initrd "$KERNEL_VERSION" - ret=$? - ;; - remove) -- rm -f -- "$3"/initrd -+ rm -f -- "$BOOT_DIR_ABS"/initrd - ret=$? - ;; - esac diff --git a/0033-50-dracut.install-install-pregenerated-initrd.patch b/0033-50-dracut.install-install-pregenerated-initrd.patch deleted file mode 100644 index 76a0445..0000000 --- a/0033-50-dracut.install-install-pregenerated-initrd.patch +++ /dev/null @@ -1,32 +0,0 @@ -From bc140a0b299d6f873f6d583d85cbdbc40afbc964 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 15 Aug 2014 14:58:34 +0200 -Subject: [PATCH] 50-dracut.install: install pregenerated initrd - -If there is an already pregenerated initrd at the same location as the -kernel install that and do not generate a new one. ---- - 50-dracut.install | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/50-dracut.install b/50-dracut.install -index b0cc7c3..ad5fc0e 100755 ---- a/50-dracut.install -+++ b/50-dracut.install -@@ -10,6 +10,16 @@ KERNEL_IMAGE="$4" - ret=0 - case "$COMMAND" in - add) -+ INITRD_IMAGE_PREGENERATED=${KERNEL_IMAGE%/*}/initrd -+ if [[ -f ${INITRD_IMAGE_PREGENERATED} ]]; then -+ # we found an initrd at the same place as the kernel -+ # use this and don't generate a new one -+ cp "$INITRD_IMAGE_PREGENERATED" "$BOOT_DIR_ABS/initrd" \ -+ && chown root:root "$BOOT_DIR_ABS/initrd" \ -+ && chmod 0600 "$BOOT_DIR_ABS/initrd" \ -+ && exit 0 -+ fi -+ - if [[ -f /etc/kernel/cmdline ]]; then - readarray -t BOOT_OPTIONS < /etc/kernel/cmdline - fi diff --git a/0034-Enable-early-microcode-by-default.patch b/0034-Enable-early-microcode-by-default.patch deleted file mode 100644 index 660a8ce..0000000 --- a/0034-Enable-early-microcode-by-default.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 03901ba727136d02f76a2ec6ad6cc9a971b1dd10 Mon Sep 17 00:00:00 2001 -From: Fedora dracut team -Date: Fri, 26 Sep 2014 08:49:24 -0400 -Subject: [PATCH] Enable early-microcode by default - -See bug 1083716 ---- - dracut.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/dracut.sh b/dracut.sh -index 2cce85b..e4f171b 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -801,7 +801,7 @@ stdloglvl=$((stdloglvl + verbosity_mod_l)) - [[ $nofscks_l ]] && nofscks="yes" - [[ $ro_mnt_l ]] && ro_mnt="yes" - [[ $early_microcode_l ]] && early_microcode=$early_microcode_l --[[ $early_microcode ]] || early_microcode=no -+[[ $early_microcode ]] || early_microcode=yes - [[ $logfile_l ]] && logfile="$logfile_l" - [[ $reproducible_l ]] && reproducible="$reproducible_l" - --- -1.9.3 - diff --git a/0035-dmsquash-live-treat-cancelled-check-as-successfull.patch b/0035-dmsquash-live-treat-cancelled-check-as-successfull.patch deleted file mode 100644 index 4c13cde..0000000 --- a/0035-dmsquash-live-treat-cancelled-check-as-successfull.patch +++ /dev/null @@ -1,25 +0,0 @@ -From c434437890ee3fd949830b294955318863edce3b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 30 Sep 2014 07:55:11 -0400 -Subject: [PATCH] dmsquash-live: treat cancelled check as successfull - -Also remove JobTimeout=0 setting, it is the default for Type=oneshot. - -https://bugzilla.redhat.com/show_bug.cgi?id=1147941 ---- - modules.d/90dmsquash-live/checkisomd5@.service | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/90dmsquash-live/checkisomd5@.service b/modules.d/90dmsquash-live/checkisomd5@.service -index 20e40bd7c8..1efb4a7b45 100644 ---- a/modules.d/90dmsquash-live/checkisomd5@.service -+++ b/modules.d/90dmsquash-live/checkisomd5@.service -@@ -10,4 +10,4 @@ ExecStart=/bin/checkisomd5 --verbose %f - StandardInput=tty-force - StandardOutput=inherit - StandardError=inherit --TimeoutSec=0 -+SuccessExitStatus=2 --- -1.9.3 - diff --git a/dracut.spec b/dracut.spec index 44a8f05..a60ff77 100644 --- a/dracut.spec +++ b/dracut.spec @@ -10,8 +10,8 @@ %endif Name: dracut -Version: 038 -Release: 36.git20140815%{?dist} +Version: 040 +Release: 29.git20141204%{?dist} Summary: Initramfs generator using udev %if 0%{?fedora} || 0%{?rhel} @@ -30,41 +30,34 @@ 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-modsign-do-not-hardcode-path-to-keyctl.patch -Patch2: 0002-lvm-module-setup.sh-check-for-existance-of-69-dm-lvm.patch -Patch3: 0003-dracut.sh-always-copy-prelink-files-in-FIPS-mode.patch -Patch4: 0004-plymouth-also-find-the-pkglibdir-on-debian.patch -Patch5: 0005-dracut-functions.sh-speed-up-ldconfig_paths.patch -Patch6: 0006-Installing-an-OS-with-VLAN-enabled-to-an-ISCSI-LUN-f.patch -Patch7: 0007-dracut-functions.sh-fix-inst-functions-for-H-handlin.patch -Patch8: 0008-ARM-update-modules-for-ARM-host-only-options.patch -Patch9: 0009-base-dracut-lib-pidof-turn-off-debugging.patch -Patch10: 0010-network-add-rd.route-parameter.patch -Patch11: 0011-add-install-optional-and-install_optional_items.patch -Patch12: 0012-test-TEST-30-ISCSI-add-rd.shell-to-client-root.patch -Patch13: 0013-dracut.sh-add-DRACUT_PATH.patch -Patch14: 0014-dracut.spec-fixed-license-file-packaging.patch -Patch15: 0015-NEWS-update.patch -Patch16: 0016-TEST-20-NFS-client-init.sh-add-shell-on-rd.shell.patch -Patch17: 0017-TEST-20-NFS-add-more-commands-and-fix-client-root-di.patch -Patch18: 0018-fixed-bridge-setup.patch -Patch19: 0019-test-make-testsuite-work-with-the-new-systemd-minima.patch -Patch20: 0020-bridging-update-the-ifcfg-files-generated-for-bridge.patch -Patch21: 0021-i18n-check-for-i18n_install_all-yes-rather-than-bein.patch -Patch22: 0022-dracut.usage.asc-extend-parameters-for-shutdown-debu.patch -Patch23: 0023-dracut.usage.asc-also-add-a-link-for-RHEL-7-storage-.patch -Patch24: 0024-dracut-functions-get_persistent_dev-fall-back-to-the.patch -Patch25: 0025-Test-soc-path-for-modalias-needed-by-drm.patch -Patch26: 0026-Categorize-needed-modules-on-ARM.patch -Patch27: 0027-Introduce-ARM-specific-modules-needed-by-drm.patch -Patch28: 0028-dracut-functions.sh-get_persistent_dev-use-printf-in.patch -Patch29: 0029-Generate-reproducible-initramfs-images.patch -Patch30: 0030-Makefile-rpm-wget-the-lgpl-license-for-Source1.patch -Patch31: 0031-51-dracut-rescue.install-fixed-proc-cmdline-read.patch -Patch32: 0032-50-dracut.install-fixed-proc-cmdline-reading.patch -Patch33: 0033-50-dracut.install-install-pregenerated-initrd.patch -Patch34: 0034-Enable-early-microcode-by-default.patch -Patch35: 0035-dmsquash-live-treat-cancelled-check-as-successfull.patch +Patch1: 0001-shutdown-shutdown.sh-loop-over-shutdown-hooks-until-.patch +Patch2: 0002-NEWS-add-040-entry.patch +Patch3: 0003-fix-gzip-compress-then-it-not-supports-rsyncable-opt.patch +Patch4: 0004-ifcfg-write-ifcfg-only-write-DEVICE-for-non-kernel-n.patch +Patch5: 0005-Fix-location-of-dracut-install-for-local-mode.patch +Patch6: 0006-dracut-functions.sh-fixup-for-34a1ec6-for-non-local-.patch +Patch7: 0007-shutdown.sh-correct-return-code-of-_check_shutdown.patch +Patch8: 0008-kernel-modules-Drop-explicit-modules-that-are-found-.patch +Patch9: 0009-40network-Copy-the-customize-dhcp-config.patch +Patch10: 0010-dracut.sh-don-t-check-gzip-for-rsyncable-if-pigz-is-.patch +Patch11: 0011-systemd-add-90-vconsole.rules.patch +Patch12: 0012-base-Set-udevd-log-level-via-environment-var-to-cove.patch +Patch13: 0013-multipath-add-rd.multipath-0-option.patch +Patch14: 0014-TODO-update.patch +Patch15: 0015-dracut-functions.sh-check-if-dinfo-is-a-function.patch +Patch16: 0016-90multipath-Install-libgcc_s-library.patch +Patch17: 0017-90multipath-Load-device_handler-modules-early-during.patch +Patch18: 0018-90multipath-install-dracut-specific-service-file.patch +Patch19: 0019-multipath-multipathd.service-add-more-Conditions.patch +Patch20: 0020-dmsquash-live-do-not-abort-if-user-pressed-ESC-on-ch.patch +Patch21: 0021-fips-add-libfreeblpriv3.so-and-libfreeblpriv3.chk.patch +Patch22: 0022-base-init.sh-ignore-exclamation-mark-for-kmod-static.patch +Patch23: 0023-dracut.sh-add-tmpfilesdir-to-install-files-to-usr-li.patch +Patch24: 0024-do-not-symlink-var-log-to-run-log.patch +Patch25: 0025-cms-cms-write-ifcfg.sh-turn-SUBCHANNELS-into-lowerca.patch +Patch26: 0026-40network-Fix-the-syntax-to-correct-the-judgment-sen.patch +Patch27: 0027-initrd-release-move-from-etc-to-usr-lib.patch +Patch28: 0028-dracut.conf.d-fedora.conf.example-turn-on-early_micr.patch Source1: https://www.gnu.org/licenses/lgpl-2.1.txt @@ -435,7 +428,7 @@ rm -rf -- $RPM_BUILD_ROOT %dir %{_sharedstatedir}/initramfs %if %{defined _unitdir} %{_unitdir}/dracut-shutdown.service -%{_unitdir}/shutdown.target.wants/dracut-shutdown.service +%{_unitdir}/sysinit.target.wants/dracut-shutdown.service %{_unitdir}/dracut-cmdline.service %{_unitdir}/dracut-initqueue.service %{_unitdir}/dracut-mount.service @@ -513,6 +506,9 @@ rm -rf -- $RPM_BUILD_ROOT %endif %changelog +* Thu Dec 04 2014 Harald Hoyer 040-29.git20141204 +- git snapshot + * Tue Sep 30 2014 Zbigniew Jędrzejewski-Szmek - 038-36.git20140815 - Allow media check to be cancelled (rhbz 1147941)