The package rpms/dracut.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/dracut.git/commit/?id=d9da6674aa4....
Change:
+%ifarch s390 s390x
Thanks.
Full change:
============
commit d9da6674aa42ec3aa2a6a6526264be71c63acc6b
Author: Harald Hoyer <harald(a)redhat.com>
Date: Thu Jan 18 10:07:29 2018 +0100
dracut - 046-92
- git snapshot
diff --git a/0066.patch b/0066.patch
index f884f16..136ce53 100644
--- a/0066.patch
+++ b/0066.patch
@@ -19,3 +19,4 @@ index 50d42a31..0b4c2e85 100644
%{dracutlibdir}/modules.d/95zfcp
%{dracutlibdir}/modules.d/95zfcp_rules
%{dracutlibdir}/modules.d/95terminfo
+
diff --git a/0067.patch b/0067.patch
new file mode 100644
index 0000000..86814f6
--- /dev/null
+++ b/0067.patch
@@ -0,0 +1,34 @@
+From d300160e70bd2ae038acabb12f18fbf039798b26 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Fri, 5 Jan 2018 11:02:12 +0100
+Subject: [PATCH] Revert "mdraid: call mdadm with "--wait-clean" instead
of
+ "-W""
+
+This reverts commit bc4ce61efce3e2d8b2be4f4e3e5fdef6ca08409f.
+
+Read wrong man page section. Got confused by
+https://github.com/dracutdevs/dracut/issues/342
+---
+ modules.d/90mdraid/mdraid-waitclean.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/modules.d/90mdraid/mdraid-waitclean.sh
b/modules.d/90mdraid/mdraid-waitclean.sh
+index d7f0ffdb..5c901982 100755
+--- a/modules.d/90mdraid/mdraid-waitclean.sh
++++ b/modules.d/90mdraid/mdraid-waitclean.sh
+@@ -13,12 +13,12 @@ if getargbool 0 rd.md.waitclean; then
+ continue
+ fi
+ info "Waiting for $md to become clean"
+- mdadm $_offroot --wait-clean "$md" >/dev/null 2>&1
++ mdadm $_offroot -W "$md" >/dev/null 2>&1
+ done
+
+ for md in $containers; do
+ info "Waiting for $md to become clean"
+- mdadm $_offroot --wait-clean "$md" >/dev/null 2>&1
++ mdadm $_offroot -W "$md" >/dev/null 2>&1
+ done
+
+ unset containers udevinfo _offroot
+
diff --git a/0068.patch b/0068.patch
new file mode 100644
index 0000000..20647a8
--- /dev/null
+++ b/0068.patch
@@ -0,0 +1,36 @@
+From 577f109243bc96cd99c2b8204b7ca4426918f8ae Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)hoyer.xyz>
+Date: Mon, 8 Jan 2018 13:31:55 +0100
+Subject: [PATCH] Merge pull request #339 from danimo/fix_include_parsing
+
+Fix parsing of "-i" and "--include"
+---
+ dracut.sh | 14 +++++++++-----
+ 1 file changed, 9 insertions(+), 5 deletions(-)
+
+diff --git a/dracut.sh b/dracut.sh
+index f5c8d74c..c857b624 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -286,11 +286,15 @@ dropindirs_sort()
+ rearrange_params()
+ {
+ # Workaround -i, --include taking 2 arguments
+- set -- "${@/--include/++include}"
+-
+- # This prevents any long argument ending with "-i"
+- # -i, like --opt-i but I think we can just prevent that
+- set -- "${@/%-i/++include}"
++ newat=()
++ for i in "$@"; do
++ if [[ $i == "-i" ]] || [[ $i == "--include" ]]; then
++ newat+=("++include") # Replace --include by ++include
++ else
++ newat+=("$i")
++ fi
++ done
++ set -- "${newat[@]}" # Set new $@
+
+ TEMP=$(unset POSIXLY_CORRECT; getopt \
+ -o "a:m:o:d:I:k:c:L:fvqlHhMN" \
+
diff --git a/0069.patch b/0069.patch
new file mode 100644
index 0000000..798e453
--- /dev/null
+++ b/0069.patch
@@ -0,0 +1,49 @@
+From ba2cfcab1e47045690ef6bc6d8f8089066b929a2 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)hoyer.xyz>
+Date: Mon, 8 Jan 2018 15:05:28 +0100
+Subject: [PATCH] Merge pull request #338 from danimo/fshelp
+
+dracut-emergency: optionally print fs help
+---
+ dracut-init.sh | 6 ++++++
+ modules.d/98dracut-systemd/dracut-emergency.sh | 2 ++
+ 2 files changed, 8 insertions(+)
+
+diff --git a/dracut-init.sh b/dracut-init.sh
+index e8a705ec..53e6f13a 100644
+--- a/dracut-init.sh
++++ b/dracut-init.sh
+@@ -261,6 +261,12 @@ inst_script() {
+ (($? != 0)) && derror FAILED: $DRACUT_INSTALL ${initdir:+-D
"$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l}
${DRACUT_FIPS_MODE:+-f} "$@" || :
+ }
+
++inst_fsck_help() {
++ local _helper="/run/dracut/fsck/fsck_help_$1.txt"
++ $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L
"$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$2"
$_helper
++ (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"}
${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l}
${DRACUT_FIPS_MODE:+-f} "$2" $_helper || :
++}
++
+ mark_hostonly() {
+ for i in "$@"; do
+ echo "$i" >> "$initdir/lib/dracut/hostonly-files"
+diff --git a/modules.d/98dracut-systemd/dracut-emergency.sh
b/modules.d/98dracut-systemd/dracut-emergency.sh
+index 548f64b9..f17460a7 100755
+--- a/modules.d/98dracut-systemd/dracut-emergency.sh
++++ b/modules.d/98dracut-systemd/dracut-emergency.sh
+@@ -14,6 +14,7 @@ export _rdshell_name="dracut" action="Boot"
hook="emergency"
+ _emergency_action=$(getarg rd.emergency)
+
+ if getargbool 1 rd.shell -d -y rdshell || getarg rd.break -d rdbreak; then
++ FSTXT="/run/dracut/fsck/fsck_help_$fstype.txt"
+ source_hook "$hook"
+ echo
+ rdsosreport
+@@ -25,6 +26,7 @@ if getargbool 1 rd.shell -d -y rdshell || getarg rd.break -d rdbreak;
then
+ echo 'after mounting them and attach it to a bug report.'
+ echo
+ echo
++ [ -f "$FSTXT" ] && cat "$FSTXT"
+ [ -f /etc/profile ] && . /etc/profile
+ [ -z "$PS1" ] && export PS1="$_name:\${PWD}# "
+ exec sh -i -l
+
diff --git a/0070.patch b/0070.patch
new file mode 100644
index 0000000..99f4c3a
--- /dev/null
+++ b/0070.patch
@@ -0,0 +1,25 @@
+From 17414dd01bd71bb187fee20c2148ccad3b35a887 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)hoyer.xyz>
+Date: Tue, 9 Jan 2018 13:24:46 +0100
+Subject: [PATCH] Merge pull request #344 from yuwata/spec-cleanup
+
+spec: use if-undefined instead of empty if-defined block
+---
+ dracut.spec | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/dracut.spec b/dracut.spec
+index 0b4c2e85..08e5a098 100644
+--- a/dracut.spec
++++ b/dracut.spec
+@@ -370,8 +370,7 @@ rm -rf -- $RPM_BUILD_ROOT
+ %{_mandir}/man5/dracut.conf.5*
+ %endif
+
+-%if %{defined _unitdir}
+-%else
++%if %{undefined _unitdir}
+ %{dracutlibdir}/modules.d/00bootchart
+ %endif
+ %{dracutlibdir}/modules.d/00bash
+
diff --git a/0071.patch b/0071.patch
new file mode 100644
index 0000000..93f0c73
--- /dev/null
+++ b/0071.patch
@@ -0,0 +1,45 @@
+From 5a8efed021af6a3a06b484f9ad363935c1a875e3 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Wed, 10 Jan 2018 09:10:19 +0100
+Subject: [PATCH] TEST-3[01]-ISCSI*: increase disk size
+
+---
+ test/TEST-30-ISCSI/test.sh | 6 +++---
+ test/TEST-31-ISCSI-MULTI/test.sh | 6 +++---
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/test/TEST-30-ISCSI/test.sh b/test/TEST-30-ISCSI/test.sh
+index d5068e0c..e667587a 100755
+--- a/test/TEST-30-ISCSI/test.sh
++++ b/test/TEST-30-ISCSI/test.sh
+@@ -102,9 +102,9 @@ test_setup() {
+ fi
+
+ # Create the blank file to use as a root filesystem
+- dd if=/dev/null of=$TESTDIR/root.ext3 bs=1M seek=20
+- dd if=/dev/null of=$TESTDIR/iscsidisk2.img bs=1M seek=20
+- dd if=/dev/null of=$TESTDIR/iscsidisk3.img bs=1M seek=20
++ dd if=/dev/null of=$TESTDIR/root.ext3 bs=1M seek=40
++ dd if=/dev/null of=$TESTDIR/iscsidisk2.img bs=1M seek=40
++ dd if=/dev/null of=$TESTDIR/iscsidisk3.img bs=1M seek=40
+
+ kernel=$KVERSION
+ # Create what will eventually be our root filesystem onto an overlay
+diff --git a/test/TEST-31-ISCSI-MULTI/test.sh b/test/TEST-31-ISCSI-MULTI/test.sh
+index 5dde4b68..2b63ff46 100755
+--- a/test/TEST-31-ISCSI-MULTI/test.sh
++++ b/test/TEST-31-ISCSI-MULTI/test.sh
+@@ -99,9 +99,9 @@ test_setup() {
+ fi
+
+ # Create the blank file to use as a root filesystem
+- dd if=/dev/null of=$TESTDIR/root.ext3 bs=1M seek=20
+- dd if=/dev/null of=$TESTDIR/iscsidisk2.img bs=1M seek=20
+- dd if=/dev/null of=$TESTDIR/iscsidisk3.img bs=1M seek=20
++ dd if=/dev/null of=$TESTDIR/root.ext3 bs=1M seek=40
++ dd if=/dev/null of=$TESTDIR/iscsidisk2.img bs=1M seek=40
++ dd if=/dev/null of=$TESTDIR/iscsidisk3.img bs=1M seek=40
+
+ kernel=$KVERSION
+ # Create what will eventually be our root filesystem onto an overlay
+
diff --git a/0072.patch b/0072.patch
new file mode 100644
index 0000000..583b287
--- /dev/null
+++ b/0072.patch
@@ -0,0 +1,37 @@
+From 0f6d93eb9d63695a64002ec8b0421fbc9fc8a7a3 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 11 Jan 2018 11:39:44 +0100
+Subject: [PATCH] crypt: escape backslashes for systemd unit names b/c
+ udev/initqueue/bash
+
+otherwise
+luks\x2d25e41d19\x2d1580\x2d4e7c\x2d8875\x2d134045008f33
+turns to
+luksx2d25e41d19x2d1580x2d4e7cx2d8875x2d134045008f33
+---
+ modules.d/90crypt/parse-crypt.sh | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/modules.d/90crypt/parse-crypt.sh b/modules.d/90crypt/parse-crypt.sh
+index f0a4fba9..ea6802e8 100755
+--- a/modules.d/90crypt/parse-crypt.sh
++++ b/modules.d/90crypt/parse-crypt.sh
+@@ -64,6 +64,8 @@ else
+ } >> /etc/udev/rules.d/70-luks.rules.new
+ else
+ luksname=$(dev_unit_name "$luksname")
++ luksname="$(str_replace "$luksname" '\'
'\\')"
++
+ if ! crypttab_contains "$serialid"; then
+ {
+ printf -- 'ENV{ID_SERIAL_SHORT}=="*%s*", '
"$serialid"
+@@ -95,6 +97,8 @@ else
+ } >> /etc/udev/rules.d/70-luks.rules.new
+ else
+ luksname=$(dev_unit_name "$luksname")
++ luksname="$(str_replace "$luksname" '\'
'\\')"
++
+ if ! crypttab_contains "$luksid"; then
+ {
+ printf -- 'ENV{ID_FS_TYPE}=="crypto_LUKS", '
+
diff --git a/0073.patch b/0073.patch
new file mode 100644
index 0000000..66b6bac
--- /dev/null
+++ b/0073.patch
@@ -0,0 +1,27 @@
+From cd83391c72aab5ea3732e70f8ebabc32d6440a0b Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)hoyer.xyz>
+Date: Thu, 11 Jan 2018 12:30:01 +0100
+Subject: [PATCH] Merge pull request #350 from yuwata/fsfreeze
+
+dracut.sh: do not invoke fsfreeze on EFI System Partition
+---
+ dracut.sh | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/dracut.sh b/dracut.sh
+index c857b624..f6a75996 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -1834,8 +1834,10 @@ command -v restorecon &>/dev/null && restorecon --
"$outfile"
+ if ! sync "$outfile" 2> /dev/null; then
+ dinfo "dracut: sync operation on newly created initramfs $outfile failed"
+ exit 1
++fi
++
+ # use fsfreeze only if we're not writing to /
+-elif ! [ "$(stat -c %m -- "$outfile")" == "/" ]; then
++if [[ "$(stat -c %m -- "$outfile")" != "/" &&
"$(stat -f -c %T -- "$outfile")" != "msdos" ]]; then
+ if ! $(fsfreeze -f $(dirname "$outfile") 2>/dev/null &&
fsfreeze -u $(dirname "$outfile") 2>/dev/null); then
+ dinfo "dracut: warning: could not fsfreeze $(dirname
"$outfile")"
+ fi
+
diff --git a/0074.patch b/0074.patch
new file mode 100644
index 0000000..81ef819
--- /dev/null
+++ b/0074.patch
@@ -0,0 +1,60 @@
+From 3a6a8d5c83af952f66c7786f17e59da6012da0b6 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)hoyer.xyz>
+Date: Thu, 11 Jan 2018 12:34:40 +0100
+Subject: [PATCH] Merge pull request #346 from danimo/95dcssblk
+
+95dcssblk: Add new module for DCSS block devices
+---
+ modules.d/95dcssblk/module-setup.sh | 28 ++++++++++++++++++++++++++++
+ modules.d/95dcssblk/parse-dcssblk.sh | 8 ++++++++
+ 2 files changed, 36 insertions(+)
+
+diff --git a/modules.d/95dcssblk/module-setup.sh b/modules.d/95dcssblk/module-setup.sh
+new file mode 100644
+index 00000000..11e38490
+--- /dev/null
++++ b/modules.d/95dcssblk/module-setup.sh
+@@ -0,0 +1,28 @@
++#!/bin/bash
++# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
++# ex: ts=8 sw=4 sts=4 et filetype=sh
++
++# called by dracut
++check() {
++ local _arch=$(uname -m)
++ [ "$_arch" = "s390" -o "$_arch" = "s390x" ]
|| return 1
++ return 0
++}
++
++# called by dracut
++installkernel() {
++ if [ -e /sys/devices/dcssblk/*/block/dcssblk* ];then
++ hostonly='' instmods dcssblk
++ fi
++}
++
++# called by dracut
++install() {
++ inst_hook cmdline 30 "$moddir/parse-dcssblk.sh"
++ # If there is a config file which contains avail (best only of root device)
++ # disks to activate add it and use it during boot -> then we do not need
++ # a kernel param anymore
++ #if [[ $hostonly ]]; then
++ # inst /etc/dcssblk.conf
++ #fi
++}
+diff --git a/modules.d/95dcssblk/parse-dcssblk.sh b/modules.d/95dcssblk/parse-dcssblk.sh
+new file mode 100644
+index 00000000..8f174408
+--- /dev/null
++++ b/modules.d/95dcssblk/parse-dcssblk.sh
+@@ -0,0 +1,8 @@
++#!/bin/sh
++# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
++# ex: ts=8 sw=4 sts=4 et filetype=sh
++dcssblk_arg=$(getarg rd.dcssblk=)
++if [ $? == 0 ];then
++ info "Loading dcssblk segments=$dcssblk_arg"
++ modprobe dcssblk segments=$dcssblk_arg
++fi
+
diff --git a/0075.patch b/0075.patch
new file mode 100644
index 0000000..713977b
--- /dev/null
+++ b/0075.patch
@@ -0,0 +1,24 @@
+From b8b341a07f755d69e557bfbca92ae54fc3f84dda Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)hoyer.xyz>
+Date: Thu, 11 Jan 2018 13:18:14 +0100
+Subject: [PATCH] Merge pull request #352 from lnykryn/ntfs
+
+90dmsquash-live-ntfs: fix depends()
+---
+ modules.d/90dmsquash-live-ntfs/module-setup.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/90dmsquash-live-ntfs/module-setup.sh
b/modules.d/90dmsquash-live-ntfs/module-setup.sh
+index bc77376b..2354b840 100755
+--- a/modules.d/90dmsquash-live-ntfs/module-setup.sh
++++ b/modules.d/90dmsquash-live-ntfs/module-setup.sh
+@@ -8,7 +8,7 @@ check() {
+ }
+
+ depends() {
+- echo 90dmsquash-live
++ echo dmsquash-live
+ return 0
+ }
+
+
diff --git a/0076.patch b/0076.patch
new file mode 100644
index 0000000..e879b1c
--- /dev/null
+++ b/0076.patch
@@ -0,0 +1,24 @@
+From 47f83419a711d540cf758b56c8ad4fadaa964592 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)hoyer.xyz>
+Date: Thu, 11 Jan 2018 15:33:45 +0100
+Subject: [PATCH] Merge pull request #353 from lnykryn/ntfs_3
+
+90dmsquash-live: we don't have find_binary inside initramdisk
+---
+ modules.d/90dmsquash-live/dmsquash-live-root.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh
b/modules.d/90dmsquash-live/dmsquash-live-root.sh
+index 1458329c..8f3b2bf9 100755
+--- a/modules.d/90dmsquash-live/dmsquash-live-root.sh
++++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh
+@@ -84,7 +84,7 @@ else
+ # Symlinking /usr/bin/ntfs-3g as /sbin/mount.ntfs seems to boot
+ # at the first glance, but ends with lots and lots of squashfs
+ # errors, because systemd attempts to kill the ntfs-3g process?!
+- if [ -x "$(find_binary "ntfs-3g")" ]; then
++ if [ -x "/usr/bin/ntfs-3g" ]; then
+ ( exec -a @ntfs-3g ntfs-3g -o ${liverw:-ro} $livedev /run/initramfs/live ) |
vwarn
+ else
+ die "Failed to mount block device of live image: Missing NTFS
support"
+
diff --git a/0077.patch b/0077.patch
new file mode 100644
index 0000000..4145279
--- /dev/null
+++ b/0077.patch
@@ -0,0 +1,30 @@
+From 6ccb77e19a80f1be32170d85766f1925fbeb732b Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Fri, 12 Jan 2018 09:31:18 +0100
+Subject: [PATCH] dracut-systemd/dracut-pre-udev.service: also run for
+ /etc/cmdline
+
+Fixes #117
+---
+ modules.d/98dracut-systemd/dracut-pre-udev.service | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/98dracut-systemd/dracut-pre-udev.service
b/modules.d/98dracut-systemd/dracut-pre-udev.service
+index dffb8d55..570ec02d 100644
+--- a/modules.d/98dracut-systemd/dracut-pre-udev.service
++++ b/modules.d/98dracut-systemd/dracut-pre-udev.service
+@@ -10,12 +10,12 @@ Before=systemd-udevd.service dracut-pre-trigger.service
+ After=dracut-cmdline.service
+ Wants=dracut-cmdline.service
+ ConditionPathExists=/usr/lib/initrd-release
+-ConditionPathExists=|/etc/cmdline.d/20-force_drivers.conf
+ ConditionDirectoryNotEmpty=|/lib/dracut/hooks/pre-udev
+ ConditionKernelCommandLine=|rd.break=pre-udev
+ ConditionKernelCommandLine=|rd.driver.blacklist
+ ConditionKernelCommandLine=|rd.driver.pre
+ ConditionKernelCommandLine=|rd.driver.post
++ConditionPathExistsGlob=|/etc/cmdline.d/*.conf
+ Conflicts=shutdown.target emergency.target
+
+ [Service]
+
diff --git a/0078.patch b/0078.patch
new file mode 100644
index 0000000..dc81d13
--- /dev/null
+++ b/0078.patch
@@ -0,0 +1,212 @@
+From 8e7d0856d0c94e9cc0e17c2f715aa7bc715fd37d Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)hoyer.xyz>
+Date: Fri, 12 Jan 2018 09:34:08 +0100
+Subject: [PATCH] Merge pull request #351 from danimo/91zipl
+
+Add 91zipl, which adds support for indirect booting on s390.
+---
+ dracut.cmdline.7.asc | 14 ++++++++
+ dracut.sh | 1 +
+ modules.d/91zipl/install_zipl_cmdline.sh | 40 +++++++++++++++++++++
+ modules.d/91zipl/module-setup.sh | 61 ++++++++++++++++++++++++++++++++
+ modules.d/91zipl/parse-zipl.sh | 41 +++++++++++++++++++++
+ 5 files changed, 157 insertions(+)
+
+diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
+index b5f6f0f6..f95f4d63 100644
+--- a/dracut.cmdline.7.asc
++++ b/dracut.cmdline.7.asc
+@@ -1001,6 +1001,20 @@ be mounted read only through a higher level transient overlay
directory, has
+ been implemented through the multiple lower layers feature of OverlayFS.
+
+
++ZIPL
++~~~~
++**rd.zipl=**__<path to blockdevice>__::
++ Update the dracut commandline with the values found in the
++ _dracut-cmdline.conf_ file on the given device.
++ The values are merged into the existing commandline values
++ and the udev events are regenerated.
+++
++[listing]
++.Example
++--
++rd.zipl=UUID=0fb28157-99e3-4395-adef-da3f7d44835a
++--
++
+ Plymouth Boot Splash
+ ~~~~~~~~~~~~~~~~~~~~
+ **plymouth.enable=0**::
+diff --git a/dracut.sh b/dracut.sh
+index f6a75996..fb23f117 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -1172,6 +1172,7 @@ if [[ $hostonly ]] && [[
"$hostonly_default_device" != "no" ]]; then
+ "/usr/lib64" \
+ "/boot" \
+ "/boot/efi" \
++ "/boot/zipl" \
+ ;
+ do
+ mp=$(readlink -f "$mp")
+diff --git a/modules.d/91zipl/install_zipl_cmdline.sh
b/modules.d/91zipl/install_zipl_cmdline.sh
+new file mode 100755
+index 00000000..b7546bef
+--- /dev/null
++++ b/modules.d/91zipl/install_zipl_cmdline.sh
+@@ -0,0 +1,40 @@
++#!/bin/bash
++
++DEV="$1"
++MNT=/boot/zipl
++
++if [ -z "$DEV" ] ; then
++ echo "No IPL device given"
++ > /tmp/install.zipl.cmdline-done
++ exit 1
++fi
++
++[ -d ${MNT} ] || mkdir -p ${MNT}
++
++mount -o ro ${DEV} ${MNT}
++if [ "$?" != "0" ] ; then
++ echo "Failed to mount ${MNT}"
++ > /tmp/install.zipl.cmdline-done
++ exit 1
++fi
++
++if [ -f ${MNT}/dracut-cmdline.conf ] ; then
++ cp ${MNT}/dracut-cmdline.conf /etc/cmdline.d/99zipl.conf
++fi
++
++if [ -f ${MNT}/active_devices.txt ] ; then
++ while read dev etc ; do
++ [ "$dev" = "#" -o "$dev" = "" ]
&& continue;
++ cio_ignore -r $dev
++ done < ${MNT}/active_devices.txt
++fi
++
++umount ${MNT}
++
++if [ -f /etc/cmdline.d/99zipl.conf ] ; then
++ systemctl restart dracut-cmdline.service
++ systemctl restart systemd-udev-trigger.service
++fi
++> /tmp/install.zipl.cmdline-done
++
++exit 0
+diff --git a/modules.d/91zipl/module-setup.sh b/modules.d/91zipl/module-setup.sh
+new file mode 100755
+index 00000000..d0cd75da
+--- /dev/null
++++ b/modules.d/91zipl/module-setup.sh
+@@ -0,0 +1,61 @@
++#!/bin/bash
++# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
++# ex: ts=8 sw=4 sts=4 et filetype=sh
++
++# called by dracut
++check() {
++ local _arch=$(uname -m)
++ # Only for systems on s390 using indirect booting via userland grub
++ [ "$_arch" = "s390" -o "$_arch" = "s390x" ]
|| return 1
++ # /boot/zipl contains a first stage kernel used to launch grub in initrd
++ [ -d /boot/zipl ] || return 1
++ return 0
++}
++
++# called by dracut
++depends() {
++ echo grub2
++ return 0
++}
++
++# called by dracut
++installkernel() {
++ local _boot_zipl
++
++ _boot_zipl=$(sed -n 's/\(.*\)\w*\/boot\/zipl.*/\1/p' /etc/fstab)
++ if [ -n "$_boot_zipl" ] ; then
++ eval $(blkid -s TYPE -o udev ${_boot_zipl})
++ if [ -n "$ID_FS_TYPE" ] ; then
++ case "$ID_FS_TYPE" in
++ ext?)
++ ID_FS_TYPE=ext4
++ ;;
++ esac
++ instmods ${ID_FS_TYPE}
++ fi
++ fi
++}
++
++# called by dracut
++cmdline() {
++ local _boot_zipl
++
++ _boot_zipl=$(sed -n 's/\(.*\)\w*\/boot\/zipl.*/\1/p' /etc/fstab)
++ if [ -n "$_boot_zipl" ] ; then
++ echo "rd.zipl=${_boot_zipl}"
++ fi
++}
++
++# called by dracut
++install() {
++ inst_multiple mount umount
++
++ inst_hook cmdline 91 "$moddir/parse-zipl.sh"
++ inst_script "${moddir}/install_zipl_cmdline.sh"
/sbin/install_zipl_cmdline.sh
++ if [[ $hostonly_cmdline == "yes" ]] ; then
++ local _zipl=$(cmdline)
++
++ [[ $_zipl ]] && printf "%s\n" "$_zipl" >
"${initdir}/etc/cmdline.d/91zipl.conf"
++ fi
++ dracut_need_initqueue
++}
+diff --git a/modules.d/91zipl/parse-zipl.sh b/modules.d/91zipl/parse-zipl.sh
+new file mode 100755
+index 00000000..308f228b
+--- /dev/null
++++ b/modules.d/91zipl/parse-zipl.sh
+@@ -0,0 +1,41 @@
++#!/bin/sh
++# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
++# ex: ts=8 sw=4 sts=4 et filetype=sh
++
++zipl_arg=$(getarg rd.zipl)
++
++if [ -n "$zipl_arg" ] ; then
++ case "$zipl_arg" in
++ LABEL=*) \
++ zipl_env="ENV{ID_FS_LABEL}"
++ zipl_val=${zipl_arg#LABEL=}
++ zipl_arg="/dev/disk/by-label/${zipl_val}"
++ ;;
++ UUID=*) \
++ zipl_env="ENV{ID_FS_UUID}"
++ zipl_val=${zipl_arg#UUID=}
++ zipl_arg="/dev/disk/by-uuid/${zipl_val}"
++ ;;
++ /dev/mapper/*) \
++ zipl_env="ENV{DM_NAME}"
++ zipl_val=${zipl_arg#/dev/mapper/}
++ ;;
++ /dev/disk/by-*) \
++ zipl_env="SYMLINK"
++ zipl_val=${zipl_arg#/dev/}
++ ;;
++ /dev/*) \
++ zipl_env="KERNEL"
++ zipl_val=${zipl_arg}
++ ;;
++ esac
++ if [ "$zipl_env" ] ; then
++ {
++ printf 'ACTION=="add|change", SUBSYSTEM=="block",
%s=="%s", RUN+="/sbin/initqueue --settled --onetime --unique --name
install_zipl_cmdline /sbin/install_zipl_cmdline.sh %s"\n' \
++ ${zipl_env} ${zipl_val} ${zipl_arg}
++ echo "[ -f /tmp/install.zipl.cmdline-done ]"
>$hookdir/initqueue/finished/wait-zipl-conf.sh
++ } >> /etc/udev/rules.d/99zipl-conf.rules
++ cat /etc/udev/rules.d/99zipl-conf.rules
++ fi
++ wait_for_dev -n "$zipl_arg"
++fi
+
diff --git a/0079.patch b/0079.patch
new file mode 100644
index 0000000..27b9c9a
--- /dev/null
+++ b/0079.patch
@@ -0,0 +1,108 @@
+From b7a7ab194398ab3519004376d35d834385e2d916 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)hoyer.xyz>
+Date: Fri, 12 Jan 2018 10:36:56 +0100
+Subject: [PATCH] Merge pull request #354 from yuwata/spec-s390x
+
+spec: do not package s390 specific modules
+---
+ dracut.spec | 41 ++++++++++++++++++++++++++++++-----------
+ 1 file changed, 30 insertions(+), 11 deletions(-)
+
+diff --git a/dracut.spec b/dracut.spec
+index 08e5a098..11c7459a 100644
+--- a/dracut.spec
++++ b/dracut.spec
+@@ -284,6 +284,19 @@ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/97masterkey
+ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/98integrity
+ %endif
+
++%infarch s390 s390x
++# remove architecture specific modules
++rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/80cms
++rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/91zipl
++rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95dasd
++rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95dasd_mod
++rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95dasd_rules
++rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95dcssblk
++rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95zfcp
++rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95zfcp_rules
++rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95znet
++%endif
++
+ mkdir -p $RPM_BUILD_ROOT/boot/dracut
+ mkdir -p $RPM_BUILD_ROOT/var/lib/dracut/overlay
+ mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log
+@@ -385,7 +398,6 @@ rm -rf -- $RPM_BUILD_ROOT
+ %{dracutlibdir}/modules.d/45url-lib
+ %{dracutlibdir}/modules.d/50drm
+ %{dracutlibdir}/modules.d/50plymouth
+-%{dracutlibdir}/modules.d/80cms
+ %{dracutlibdir}/modules.d/80lvmmerge
+ %{dracutlibdir}/modules.d/90btrfs
+ %{dracutlibdir}/modules.d/90crypt
+@@ -400,29 +412,34 @@ rm -rf -- $RPM_BUILD_ROOT
+ %{dracutlibdir}/modules.d/91crypt-gpg
+ %{dracutlibdir}/modules.d/91crypt-loop
+ %{dracutlibdir}/modules.d/95debug
++%{dracutlibdir}/modules.d/95fstab-sys
++%{dracutlibdir}/modules.d/95lunmask
+ %{dracutlibdir}/modules.d/95resume
+ %{dracutlibdir}/modules.d/95rootfs-block
++%{dracutlibdir}/modules.d/95terminfo
++%{dracutlibdir}/modules.d/95udev-rules
++%{dracutlibdir}/modules.d/95virtfs
++%ifarch s390 s390x
++%{dracutlibdir}/modules.d/80cms
++%{dracutlibdir}/modules.d/91zipl
+ %{dracutlibdir}/modules.d/95dasd
+ %{dracutlibdir}/modules.d/95dasd_mod
+ %{dracutlibdir}/modules.d/95dasd_rules
+-%{dracutlibdir}/modules.d/95fstab-sys
+-%{dracutlibdir}/modules.d/95lunmask
++%{dracutlibdir}/modules.d/95dcssblk
+ %{dracutlibdir}/modules.d/95zfcp
+ %{dracutlibdir}/modules.d/95zfcp_rules
+-%{dracutlibdir}/modules.d/95terminfo
+-%{dracutlibdir}/modules.d/95udev-rules
+-%{dracutlibdir}/modules.d/95virtfs
++%endif
+ %if %{undefined _unitdir}
+ %{dracutlibdir}/modules.d/96securityfs
+ %{dracutlibdir}/modules.d/97masterkey
+ %{dracutlibdir}/modules.d/98integrity
+ %endif
+ %{dracutlibdir}/modules.d/97biosdevname
++%{dracutlibdir}/modules.d/98dracut-systemd
+ %{dracutlibdir}/modules.d/98ecryptfs
+ %{dracutlibdir}/modules.d/98pollcdrom
+ %{dracutlibdir}/modules.d/98selinux
+ %{dracutlibdir}/modules.d/98syslog
+-%{dracutlibdir}/modules.d/98dracut-systemd
+ %{dracutlibdir}/modules.d/98usrmount
+ %{dracutlibdir}/modules.d/99base
+ %{dracutlibdir}/modules.d/99fs-lib
+@@ -456,17 +473,19 @@ rm -rf -- $RPM_BUILD_ROOT
+ %defattr(-,root,root,0755)
+ %{dracutlibdir}/modules.d/02systemd-networkd
+ %{dracutlibdir}/modules.d/40network
++%{dracutlibdir}/modules.d/45ifcfg
+ %{dracutlibdir}/modules.d/90kernel-network-modules
+-%{dracutlibdir}/modules.d/95fcoe
+-%{dracutlibdir}/modules.d/95iscsi
+ %{dracutlibdir}/modules.d/90qemu-net
+ %{dracutlibdir}/modules.d/95cifs
++%{dracutlibdir}/modules.d/95fcoe
++%{dracutlibdir}/modules.d/95fcoe-uefi
++%{dracutlibdir}/modules.d/95iscsi
+ %{dracutlibdir}/modules.d/95nbd
+ %{dracutlibdir}/modules.d/95nfs
+ %{dracutlibdir}/modules.d/95ssh-client
+-%{dracutlibdir}/modules.d/45ifcfg
++%ifarch s390 s390x
+ %{dracutlibdir}/modules.d/95znet
+-%{dracutlibdir}/modules.d/95fcoe-uefi
++%endif
+ %{dracutlibdir}/modules.d/99uefi-lib
+
+ %if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version}
+
diff --git a/0080.patch b/0080.patch
new file mode 100644
index 0000000..f7863cf
--- /dev/null
+++ b/0080.patch
@@ -0,0 +1,253 @@
+From 28a68f1f3ce15b40d45e6987ab0997584d4fa901 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Fri, 12 Jan 2018 10:24:20 +0100
+Subject: [PATCH] iSCSI: no more iscsid
+
+According to Cathy Zhou <Cathy.Zhou(a)Oracle.COM>:
+
+"iscsistart is not designed to be working together with iscsid. When an
+interface gets the dhcp offer successfully, the iscsiroot script is run
+which starts the iscsistart service to establish the iSCSI session. With
+the existence of iscsid, the iscsistart service's attempt to setup its
+own mgmt ipc fails. Instead, the request to login to the iscsi target
+is handled by the mgmt ipc of iscsid. After iscsistart finishes its
+login attempt, it eventually sends a stop_event_loop request to stop
+the mgmt process. As the result, it terminates iscsid."
+
+So, iscsid is kicked out again.
+
+Additionally iscsistart-flocked is used to make sure iscsistart is not
+run in parallel.
+---
+ modules.d/95iscsi/cleanup-iscsi.sh | 2 +-
+ modules.d/95iscsi/iscsiroot.sh | 25 +++++--------------------
+ modules.d/95iscsi/iscsistart-flocked.sh | 5 +++++
+ modules.d/95iscsi/module-setup.sh | 31 +------------------------------
+ modules.d/95iscsi/parse-iscsiroot.sh | 10 ----------
+ test/TEST-31-ISCSI-MULTI/test.sh | 32 ++++++++++++++++++++++++++++++++
+ 6 files changed, 44 insertions(+), 61 deletions(-)
+
+diff --git a/modules.d/95iscsi/cleanup-iscsi.sh b/modules.d/95iscsi/cleanup-iscsi.sh
+index bfc8aefc..e97d65ac 100755
+--- a/modules.d/95iscsi/cleanup-iscsi.sh
++++ b/modules.d/95iscsi/cleanup-iscsi.sh
+@@ -1,4 +1,4 @@
+ #!/bin/sh
+
+-[ -z "${DRACUT_SYSTEMD}" ] && [ -e /sys/module/bnx2i ] &&
killproc iscsiuio
++[ -e /sys/module/bnx2i ] && killproc iscsiuio
+
+diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh
+index aefd263d..d6325f7d 100755
+--- a/modules.d/95iscsi/iscsiroot.sh
++++ b/modules.d/95iscsi/iscsiroot.sh
+@@ -36,14 +36,14 @@ iroot=${iroot#:}
+ # figured out a way how to check whether this is built-in or not
+ modprobe crc32c 2>/dev/null
+
+-if [ -z "${DRACUT_SYSTEMD}" ] && [ -e /sys/module/bnx2i ] && !
[ -e /tmp/iscsiuio-started ]; then
++if [ -e /sys/module/bnx2i ] && ! [ -e /tmp/iscsiuio-started ]; then
+ iscsiuio
+ > /tmp/iscsiuio-started
+ fi
+
+ handle_firmware()
+ {
+- if ! iscsistart -f; then
++ if ! iscsistart-flocked -f; then
+ warn "iscistart: Could not get list of targets from firmware.
Skipping."
+ echo 'skipped' > "/tmp/iscsistarted-firmware"
+ return 0
+@@ -53,7 +53,7 @@ handle_firmware()
+ iscsi_param="$iscsi_param --param $p"
+ done
+
+- if ! iscsistart -b $iscsi_param; then
++ if ! iscsistart-flocked -b $iscsi_param; then
+ warn "'iscsistart -b $iscsi_param' failed with return code
$?"
+ fi
+
+@@ -117,11 +117,6 @@ handle_netroot()
+ mkdir -p /etc/iscsi
+ ln -fs /run/initiatorname.iscsi /etc/iscsi/initiatorname.iscsi
+ > /tmp/iscsi_set_initiator
+- if [ -n "$DRACUT_SYSTEMD" ]; then
+- systemctl try-restart iscsid
+- # FIXME: iscsid is not yet ready, when the service is :-/
+- sleep 1
+- fi
+ fi
+
+ if [ -z "$iscsi_initiator" ]; then
+@@ -138,11 +133,6 @@ handle_netroot()
+ mkdir -p /etc/iscsi
+ ln -fs /run/initiatorname.iscsi /etc/iscsi/initiatorname.iscsi
+ > /tmp/iscsi_set_initiator
+- if [ -n "$DRACUT_SYSTEMD" ]; then
+- systemctl try-restart iscsid
+- # FIXME: iscsid is not yet ready, when the service is :-/
+- sleep 1
+- fi
+ fi
+
+
+@@ -163,11 +153,6 @@ handle_netroot()
+ if ! [ -e /etc/iscsi/initiatorname.iscsi ]; then
+ mkdir -p /etc/iscsi
+ ln -fs /run/initiatorname.iscsi /etc/iscsi/initiatorname.iscsi
+- if [ -n "$DRACUT_SYSTEMD" ]; then
+- systemctl try-restart iscsid
+- # FIXME: iscsid is not yet ready, when the service is :-/
+- sleep 1
+- fi
+ fi
+ # FIXME $iscsi_protocol??
+
+@@ -193,7 +178,7 @@ handle_netroot()
+ --description="Login iSCSI Target
$iscsi_target_name" \
+ -p 'DefaultDependencies=no' \
+ --unit="$netroot_enc" -- \
+- $(command -v iscsistart) \
++ $(command -v iscsistart-flocked) \
+ -i "$iscsi_initiator" -t
"$iscsi_target_name" \
+ -g "$iscsi_target_group" -a
"$iscsi_target_ip" \
+ -p "$iscsi_target_port" \
+@@ -211,7 +196,7 @@ handle_netroot()
+ fi
+ fi
+ else
+- iscsistart -i "$iscsi_initiator" -t "$iscsi_target_name"
\
++ iscsistart-flocked -i "$iscsi_initiator" -t
"$iscsi_target_name" \
+ -g "$iscsi_target_group" -a "$iscsi_target_ip"
\
+ -p "$iscsi_target_port" \
+ ${iscsi_username:+-u "$iscsi_username"} \
+diff --git a/modules.d/95iscsi/iscsistart-flocked.sh
b/modules.d/95iscsi/iscsistart-flocked.sh
+new file mode 100755
+index 00000000..6366335d
+--- /dev/null
++++ b/modules.d/95iscsi/iscsistart-flocked.sh
+@@ -0,0 +1,5 @@
++#!/bin/sh
++{
++ flock -e 9
++ iscsistart "$@"
++} 9>/tmp/.iscsi_lock
+diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
+index 04937b5b..5c47750a 100755
+--- a/modules.d/95iscsi/module-setup.sh
++++ b/modules.d/95iscsi/module-setup.sh
+@@ -194,41 +194,12 @@ install() {
+ [[ $_iscsiconf ]] && printf "%s\n" "$_iscsiconf"
>> "${initdir}/etc/cmdline.d/95iscsi.conf"
+ fi
+
++ inst "$moddir/iscsistart-flocked.sh" "/bin/iscsistart-flocked"
+ inst_hook cmdline 90 "$moddir/parse-iscsiroot.sh"
+ inst_hook cleanup 90 "$moddir/cleanup-iscsi.sh"
+ inst "$moddir/iscsiroot.sh" "/sbin/iscsiroot"
+ if ! dracut_module_included "systemd"; then
+ inst "$moddir/mount-lun.sh" "/bin/mount-lun.sh"
+- else
+- inst_multiple -o \
+- $systemdsystemunitdir/iscsi.service \
+- $systemdsystemunitdir/iscsid.service \
+- $systemdsystemunitdir/iscsid.socket \
+- $systemdsystemunitdir/iscsiuio.service \
+- $systemdsystemunitdir/iscsiuio.socket \
+- iscsiadm iscsid
+-
+- mkdir -p "${initdir}/$systemdsystemunitdir/sockets.target.wants"
+- for i in \
+- iscsiuio.socket \
+- ; do
+- ln_r "$systemdsystemunitdir/${i}"
"$systemdsystemunitdir/sockets.target.wants/${i}"
+- done
+-
+- mkdir -p "${initdir}/$systemdsystemunitdir/basic.target.wants"
+- for i in \
+- iscsid.service \
+- ; do
+- ln_r "$systemdsystemunitdir/${i}"
"$systemdsystemunitdir/basic.target.wants/${i}"
+- done
+-
+- # Make sure iscsid is started after dracut-cmdline and ready for the initqueue
+- mkdir -p "${initdir}/$systemdsystemunitdir/iscsid.service.d"
+- (
+- echo "[Unit]"
+- echo "After=dracut-cmdline.service"
+- echo "Before=dracut-initqueue.service"
+- ) >
"${initdir}/$systemdsystemunitdir/iscsid.service.d/dracut.conf"
+ fi
+ inst_dir /var/lib/iscsi
+ dracut_need_initqueue
+diff --git a/modules.d/95iscsi/parse-iscsiroot.sh b/modules.d/95iscsi/parse-iscsiroot.sh
+index 43b2e088..c8c66ccf 100755
+--- a/modules.d/95iscsi/parse-iscsiroot.sh
++++ b/modules.d/95iscsi/parse-iscsiroot.sh
+@@ -116,11 +116,6 @@ if arg=$(getarg rd.iscsi.initiator -d iscsi_initiator=) && [
-n "$arg" ] && ! [
+ if ! [ -e /etc/iscsi/initiatorname.iscsi ]; then
+ mkdir -p /etc/iscsi
+ ln -fs /run/initiatorname.iscsi /etc/iscsi/initiatorname.iscsi
+- if [ -n "$DRACUT_SYSTEMD" ]; then
+- systemctl try-restart iscsid
+- # FIXME: iscsid is not yet ready, when the service is :-/
+- sleep 1
+- fi
+ fi
+ fi
+
+@@ -133,11 +128,6 @@ if [ -z $iscsi_initiator ] && [ -f
/sys/firmware/ibft/initiator/initiator-name ]
+ mkdir -p /etc/iscsi
+ ln -fs /run/initiatorname.iscsi /etc/iscsi/initiatorname.iscsi
+ > /tmp/iscsi_set_initiator
+- if [ -n "$DRACUT_SYSTEMD" ]; then
+- systemctl try-restart iscsid
+- # FIXME: iscsid is not yet ready, when the service is :-/
+- sleep 1
+- fi
+ fi
+ fi
+
+diff --git a/test/TEST-31-ISCSI-MULTI/test.sh b/test/TEST-31-ISCSI-MULTI/test.sh
+index 2b63ff46..2f2b6ed5 100755
+--- a/test/TEST-31-ISCSI-MULTI/test.sh
++++ b/test/TEST-31-ISCSI-MULTI/test.sh
+@@ -73,6 +73,38 @@ do_test_run() {
+ "rd.iscsi.initiator=$initiator" \
+ || return 1
+
++ run_client "netroot=iscsi target1 target2 rd.iscsi.waitnet=0" \
++ "root=LABEL=sysroot" \
++ "ip=192.168.50.101:::255.255.255.0::ens3:off" \
++ "ip=192.168.51.101:::255.255.255.0::ens4:off" \
++ "netroot=iscsi:192.168.51.1::::iqn.2009-06.dracut:target1" \
++ "netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \
++ "rd.iscsi.firmware" \
++ "rd.iscsi.initiator=$initiator" \
++ "rd.iscsi.waitnet=0" \
++ || return 1
++
++ run_client "netroot=iscsi target1 target2 rd.iscsi.waitnet=0
rd.iscsi.testroute=0" \
++ "root=LABEL=sysroot" \
++ "ip=192.168.50.101:::255.255.255.0::ens3:off" \
++ "ip=192.168.51.101:::255.255.255.0::ens4:off" \
++ "netroot=iscsi:192.168.51.1::::iqn.2009-06.dracut:target1" \
++ "netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \
++ "rd.iscsi.firmware" \
++ "rd.iscsi.initiator=$initiator" \
++ "rd.iscsi.waitnet=0 rd.iscsi.testroute=0" \
++ || return 1
++
++ run_client "netroot=iscsi target1 target2 rd.iscsi.waitnet=0
rd.iscsi.testroute=0 default GW" \
++ "root=LABEL=sysroot" \
++ "ip=192.168.50.101::192.168.50.1:255.255.255.0::ens3:off" \
++ "ip=192.168.51.101::192.168.51.1:255.255.255.0::ens4:off" \
++ "netroot=iscsi:192.168.51.1::::iqn.2009-06.dracut:target1" \
++ "netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \
++ "rd.iscsi.firmware" \
++ "rd.iscsi.initiator=$initiator" \
++ "rd.iscsi.waitnet=0 rd.iscsi.testroute=0" \
++ || return 1
+
+ echo "All tests passed [OK]"
+ return 0
+
diff --git a/0081.patch b/0081.patch
new file mode 100644
index 0000000..ee83c71
--- /dev/null
+++ b/0081.patch
@@ -0,0 +1,24 @@
+From 2bb4881b8206cc26d48b31985c4078510bf6c8cd Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Fri, 12 Jan 2018 11:33:26 +0100
+Subject: [PATCH] dracut.spec: fixed typo
+
+introduced with commit 52d19cb161fcdf260f956db32480d1593bd20b52
+---
+ dracut.spec | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dracut.spec b/dracut.spec
+index 11c7459a..81a5098c 100644
+--- a/dracut.spec
++++ b/dracut.spec
+@@ -284,7 +284,7 @@ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/97masterkey
+ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/98integrity
+ %endif
+
+-%infarch s390 s390x
++%ifnarch s390 s390x
+ # remove architecture specific modules
+ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/80cms
+ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/91zipl
+
diff --git a/0082.patch b/0082.patch
new file mode 100644
index 0000000..e06df49
--- /dev/null
+++ b/0082.patch
@@ -0,0 +1,39 @@
+From 5cc17c25c2f450e54a67c0de9b5031d4c2fd24cb Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Fri, 12 Jan 2018 11:34:45 +0100
+Subject: [PATCH] TEST-14-IMSM: fail early, if setup failed
+
+---
+ test/TEST-14-IMSM/test.sh | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/test/TEST-14-IMSM/test.sh b/test/TEST-14-IMSM/test.sh
+index 9f4ed8a8..21172357 100755
+--- a/test/TEST-14-IMSM/test.sh
++++ b/test/TEST-14-IMSM/test.sh
+@@ -30,6 +30,11 @@ client_run() {
+
+ test_run() {
+ read MD_UUID < $TESTDIR/mduuid
++ if [[ -z $MD_UUID ]]; then
++ echo "Setup failed"
++ return 1
++ fi
++
+ client_run rd.auto rd.md.imsm=0 || return 1
+ client_run rd.md.uuid=$MD_UUID rd.dm=0 || return 1
+ # This test succeeds, because the mirror parts are found without
+@@ -109,6 +114,12 @@ test_setup() {
+ -initrd $TESTDIR/initramfs.makeroot || return 1
+ grep -F -m 1 -q dracut-root-block-created $TESTDIR/root.ext2 || return 1
+ eval $(grep -F --binary-files=text -m 1 MD_UUID $TESTDIR/root.ext2)
++
++ if [[ -z $MD_UUID ]]; then
++ echo "Setup failed"
++ return 1
++ fi
++
+ echo $MD_UUID > $TESTDIR/mduuid
+ (
+ export initdir=$TESTDIR/overlay
+
diff --git a/0083.patch b/0083.patch
new file mode 100644
index 0000000..1059bf5
--- /dev/null
+++ b/0083.patch
@@ -0,0 +1,35 @@
+From d888e21b5d3b830ab2a40fa4194d0ae59cb1b331 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Fri, 12 Jan 2018 13:04:34 +0100
+Subject: [PATCH] test/ci-matrix.txt: add file specifying which tests to run
+
+---
+ test/ci-matrix.txt | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+diff --git a/test/ci-matrix.txt b/test/ci-matrix.txt
+new file mode 100644
+index 00000000..3d6aca62
+--- /dev/null
++++ b/test/ci-matrix.txt
+@@ -0,0 +1,19 @@
++01
++02
++03
++04
++10
++11
++12
++13
++14
++15
++16
++17
++20
++30
++31
++40
++50
++60
++70
+
diff --git a/0084.patch b/0084.patch
new file mode 100644
index 0000000..b6d53e2
--- /dev/null
+++ b/0084.patch
@@ -0,0 +1,22 @@
+From cc3808184c741c6a793e0200bdc7d2abf9f68c08 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Fri, 12 Jan 2018 13:34:57 +0100
+Subject: [PATCH] README.md: add test 31
+
+---
+ README.md | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/README.md b/README.md
+index 93449a76..e229641b 100644
+--- a/README.md
++++ b/README.md
+@@ -20,6 +20,7 @@ dracut is an initramfs infrastructure.
+ - Test 17: [![Test
17](https://ci.centos.org/job/dracut-matrix-master/TESTS=17,label=dracut-...
+ - Test 20: [![Test
20](https://ci.centos.org/job/dracut-matrix-master/TESTS=20,label=dracut-...
+ - Test 30: [![Test
30](https://ci.centos.org/job/dracut-matrix-master/TESTS=30,label=dracut-...
++- Test 31: [![Test
31](https://ci.centos.org/job/dracut-matrix-master/TESTS=31,label=dracut-...
+ - Test 40: [![Test
40](https://ci.centos.org/job/dracut-matrix-master/TESTS=40,label=dracut-...
+ - Test 50: [![Test
50](https://ci.centos.org/job/dracut-matrix-master/TESTS=50,label=dracut-...
+ - Test 70: [![Test
70](https://ci.centos.org/job/dracut-matrix-master/TESTS=70,label=dracut-...
+
diff --git a/0085.patch b/0085.patch
new file mode 100644
index 0000000..060143f
--- /dev/null
+++ b/0085.patch
@@ -0,0 +1,29 @@
+From 8b4b7dc5b2f1477825cf8a52f412af372b4646f8 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Fri, 12 Jan 2018 13:45:20 +0100
+Subject: [PATCH] iscsi: remove last iscsid code snippet
+
+---
+ modules.d/95iscsi/iscsiroot.sh | 8 --------
+ 1 file changed, 8 deletions(-)
+
+diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh
+index d6325f7d..f7c99a60 100755
+--- a/modules.d/95iscsi/iscsiroot.sh
++++ b/modules.d/95iscsi/iscsiroot.sh
+@@ -219,14 +219,6 @@ if [ "$netif" != "timeout" ] &&
getargbool 1 rd.iscsi.waitnet; then
+ all_ifaces_setup || exit 0
+ fi
+
+-if [ "$netif" = "timeout" ] && all_ifaces_setup; then
+- # s.th. went wrong and the timeout script hits
+- # restart
+- systemctl restart iscsid
+- # damn iscsid is not ready after unit says it's ready
+- sleep 2
+-fi
+-
+ if getargbool 0 rd.iscsi.firmware -d -y iscsi_firmware ; then
+ if [ "$netif" = "timeout" ] || [ "$netif" =
"online" ]; then
+ handle_firmware
+
diff --git a/0086.patch b/0086.patch
new file mode 100644
index 0000000..bd747d4
--- /dev/null
+++ b/0086.patch
@@ -0,0 +1,113 @@
+From b925f7f5d97259dd81e9d562fd1c6433e4b04f30 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)hoyer.xyz>
+Date: Mon, 15 Jan 2018 09:04:12 +0100
+Subject: [PATCH] Merge pull request #347 from danimo/81cio_ignore
+
+81cio_ignore: handle cio_ignore commandline
+---
+ dracut.cmdline.7.asc | 15 +++++++++++
+ modules.d/81cio_ignore/module-setup.sh | 40 ++++++++++++++++++++++++++++++
+ modules.d/81cio_ignore/parse-cio_accept.sh | 22 ++++++++++++++++
+ 3 files changed, 77 insertions(+)
+
+diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
+index f95f4d63..8f83405e 100644
+--- a/dracut.cmdline.7.asc
++++ b/dracut.cmdline.7.asc
+@@ -1015,6 +1015,21 @@ ZIPL
+ rd.zipl=UUID=0fb28157-99e3-4395-adef-da3f7d44835a
+ --
+
++CIO_IGNORE
++~~~~~~~~~~
++**rd.cio_accept=**__<device-ids>__::
++ Remove the devices listed in <device-ids> from the default
++ cio_ignore kernel command-line settings.
++ <device-ids> is a list of comma-separated CCW device ids.
++ The default for this value is taken from the
++ _/boot/zipl/active_devices.txt_ file.
+++
++[listing]
++.Example
++--
++rd.cio_accept=0.0.0180,0.0.0800,0.0.0801,0.0.0802
++--
++
+ Plymouth Boot Splash
+ ~~~~~~~~~~~~~~~~~~~~
+ **plymouth.enable=0**::
+diff --git a/modules.d/81cio_ignore/module-setup.sh
b/modules.d/81cio_ignore/module-setup.sh
+new file mode 100755
+index 00000000..37b414bf
+--- /dev/null
++++ b/modules.d/81cio_ignore/module-setup.sh
+@@ -0,0 +1,40 @@
++#!/bin/bash
++# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
++# ex: ts=8 sw=4 sts=4 et filetype=sh
++
++# called by dracut
++check() {
++# do not add this module by default
++ local arch=$(uname -m)
++ [ "$arch" = "s390" -o "$arch" = "s390x" ] ||
return 1
++ return 0
++}
++
++cmdline() {
++ local cio_accept
++
++ if [ -e /boot/zipl/active_devices.txt ] ; then
++ while read dev etc ; do
++ [ "$dev" = "#" -o "$dev" = "" ]
&& continue;
++ if [ -z "$cio_accept" ] ; then
++ cio_accept="$dev"
++ else
++ cio_accept="${cio_accept},${dev}"
++ fi
++ done < /boot/zipl/active_devices.txt
++ fi
++ if [ -n "$cio_accept" ] ; then
++ echo "rd.cio_accept=${cio_accept}"
++ fi
++}
++
++# called by dracut
++install() {
++ if [[ $hostonly_cmdline == "yes" ]] ; then
++ local _cio_accept=$(cmdline)
++ [[ $_cio_accept ]] && printf "%s\n" "$_cio_accept"
>> "${initdir}/etc/cmdline.d/01cio_accept.conf"
++ fi
++
++ inst_hook cmdline 20 "$moddir/parse-cio_accept.sh"
++ inst_multiple cio_ignore
++}
+diff --git a/modules.d/81cio_ignore/parse-cio_accept.sh
b/modules.d/81cio_ignore/parse-cio_accept.sh
+new file mode 100755
+index 00000000..4f899d25
+--- /dev/null
++++ b/modules.d/81cio_ignore/parse-cio_accept.sh
+@@ -0,0 +1,22 @@
++#!/bin/sh
++# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
++# ex: ts=8 sw=4 sts=4 et filetype=sh
++
++CIO_IGNORE=$(getarg cio_ignore)
++CIO_ACCEPT=$(getarg rd.cio_accept)
++
++if [ -z $CIO_IGNORE ] ; then
++ info "cio_ignored disabled on commandline"
++ return
++fi
++if [ -n "$CIO_ACCEPT" ] ; then
++ OLDIFS="$IFS"
++ IFS=,
++ set -- $CIO_ACCEPT
++ while (($# > 0)) ; do
++ info "Enabling device $1"
++ cio_ignore --remove $1
++ shift
++ done
++ IFS="$OLDIFS"
++fi
+
diff --git a/0087.patch b/0087.patch
new file mode 100644
index 0000000..24c1d2c
--- /dev/null
+++ b/0087.patch
@@ -0,0 +1,94 @@
+From 9ed6eb741f0bc0178167e7063751eb2bb4ac6de5 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Mon, 15 Jan 2018 15:44:46 +0100
+Subject: [PATCH] dracut-functions.sh:check_vol_slaves() speedup LV -> VG name
+
+Instead of trying all /dev/mapper/* devices to match the maj:min, and
+get the VG name with "lvm lvs", use the dm/name from /sys and dmsetup
+splitname.
+
+This should speedup execution with lots of LVs.
+---
+ dracut-functions.sh | 64 ++++++++++++++++++++++++-----------------------------
+ 1 file changed, 29 insertions(+), 35 deletions(-)
+
+diff --git a/dracut-functions.sh b/dracut-functions.sh
+index e99c4533..badd2a22 100755
+--- a/dracut-functions.sh
++++ b/dracut-functions.sh
+@@ -560,45 +560,39 @@ for_each_host_dev_and_slaves()
+ # but you cannot create the logical volume without the volume group.
+ # And the volume group might be bigger than the devices the LV needs.
+ check_vol_slaves() {
+- local _lv _vg _pv _dm
+- for i in /dev/mapper/*; do
+- [[ $i == /dev/mapper/control ]] && continue
+- _lv=$(get_maj_min $i)
+- _dm=/sys/dev/block/$_lv/dm
+- [[ -f $_dm/uuid && $(<$_dm/uuid) =~ LVM-* ]] || continue
+- if [[ $_lv = $2 ]]; then
+- _vg=$(lvm lvs --noheadings -o vg_name $i 2>/dev/null)
+- # strip space
+- _vg="${_vg//[[:space:]]/}"
+- if [[ $_vg ]]; then
+- for _pv in $(lvm vgs --noheadings -o pv_name "$_vg"
2>/dev/null)
+- do
+- check_block_and_slaves $1 $(get_maj_min $_pv) && return 0
+- done
+- fi
+- fi
+- done
++ local _lv _vg _pv _dm _majmin
++ _majmin="$2"
++ _lv="/dev/block/$_majmin"
++ _dm=/sys/dev/block/$_majmin/dm
++ [[ -f $_dm/uuid && $(<$_dm/uuid) =~ LVM-* ]] || return 1
++ _vg=$(dmsetup splitname --noheadings -o vg_name $(<"$_dm/name") )
++ # strip space
++ _vg="${_vg//[[:space:]]/}"
++ if [[ $_vg ]]; then
++ for _pv in $(lvm vgs --noheadings -o pv_name "$_vg" 2>/dev/null)
++ do
++ check_block_and_slaves $1 $(get_maj_min $_pv) && return 0
++ done
++ fi
+ return 1
+ }
+
+ check_vol_slaves_all() {
+- local _lv _vg _pv
+- for i in /dev/mapper/*; do
+- [[ $i == /dev/mapper/control ]] && continue
+- _lv=$(get_maj_min $i)
+- if [[ $_lv = $2 ]]; then
+- _vg=$(lvm lvs --noheadings -o vg_name $i 2>/dev/null)
+- # strip space
+- _vg="${_vg//[[:space:]]/}"
+- if [[ $_vg ]]; then
+- for _pv in $(lvm vgs --noheadings -o pv_name "$_vg"
2>/dev/null)
+- do
+- check_block_and_slaves_all $1 $(get_maj_min $_pv)
+- done
+- return 0
+- fi
+- fi
+- done
++ local _lv _vg _pv _majmin
++ _majmin="$2"
++ _lv="/dev/block/$_majmin"
++ _dm="/sys/dev/block/$_majmin/dm"
++ [[ -f $_dm/uuid && $(<$_dm/uuid) =~ LVM-* ]] || return 1
++ _vg=$(dmsetup splitname --noheadings -o vg_name $(<"$_dm/name") )
++ # strip space
++ _vg="${_vg//[[:space:]]/}"
++ if [[ $_vg ]]; then
++ for _pv in $(lvm vgs --noheadings -o pv_name "$_vg" 2>/dev/null)
++ do
++ check_block_and_slaves_all $1 $(get_maj_min $_pv)
++ done
++ return 0
++ fi
+ return 1
+ }
+
+
diff --git a/0088.patch b/0088.patch
new file mode 100644
index 0000000..316464a
--- /dev/null
+++ b/0088.patch
@@ -0,0 +1,45 @@
+From 33b560fcc2c77cef5a53839b39ac38b4c1ed978c Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)hoyer.xyz>
+Date: Tue, 16 Jan 2018 10:15:38 +0100
+Subject: [PATCH] Merge pull request #356 from yuwata/spec-s390-2
+
+spec: remove 81cio_ignore module from non-s390 arch
+---
+ AUTHORS | 2 +-
+ dracut.spec | 2 ++
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/AUTHORS b/AUTHORS
+index 7be1072f..29670e42 100644
+--- a/AUTHORS
++++ b/AUTHORS
+@@ -69,7 +69,7 @@ Silvio Fricke <silvio.fricke(a)gmail.com>
+ Stig Telfer <stelfer(a)cray.com>
+ Vasiliy Tolstov <v.tolstov(a)selfip.ru>
+ Wim Muskee <wimmuskee(a)gmail.com>
+-yuwata <watanabe.yu+github(a)gmail.com>
++Yu Watanabe <watanabe.yu+github(a)gmail.com>
+ Alan Jenkins <alan-jenkins(a)tuffmail.co.uk>
+ Alan Pevec <apevec(a)redhat.com>
+ Alex Harpin <development(a)landsofshadow.co.uk>
+diff --git a/dracut.spec b/dracut.spec
+index 81a5098c..c52364b8 100644
+--- a/dracut.spec
++++ b/dracut.spec
+@@ -287,6 +287,7 @@ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/98integrity
+ %ifnarch s390 s390x
+ # remove architecture specific modules
+ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/80cms
++rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/81cio_ignore
+ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/91zipl
+ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95dasd
+ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95dasd_mod
+@@ -421,6 +422,7 @@ rm -rf -- $RPM_BUILD_ROOT
+ %{dracutlibdir}/modules.d/95virtfs
+ %ifarch s390 s390x
+ %{dracutlibdir}/modules.d/80cms
++%{dracutlibdir}/modules.d/81cio_ignore
+ %{dracutlibdir}/modules.d/91zipl
+ %{dracutlibdir}/modules.d/95dasd
+ %{dracutlibdir}/modules.d/95dasd_mod
+
diff --git a/0089.patch b/0089.patch
new file mode 100644
index 0000000..8101f38
--- /dev/null
+++ b/0089.patch
@@ -0,0 +1,45 @@
+From bce6823a19b3fc0be50ff5c29c5ef90fa58b3430 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Tue, 16 Jan 2018 12:14:15 +0100
+Subject: [PATCH] lsinitrd: no more cat: write error: Broken pipe
+
+silence the cat
+---
+ lsinitrd.sh | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/lsinitrd.sh b/lsinitrd.sh
+index f4088453..4892704a 100755
+--- a/lsinitrd.sh
++++ b/lsinitrd.sh
+@@ -130,7 +130,7 @@ extract_files()
+ for f in "${!filenames[@]}"; do
+ [[ $nofileinfo ]] || echo "initramfs:/$f"
+ [[ $nofileinfo ]] || echo
"========================================================================"
+- $CAT $image | cpio --extract --verbose --quiet --to-stdout $f 2>/dev/null
++ $CAT "$image" 2>/dev/null | cpio --extract --verbose --quiet
--to-stdout $f 2>/dev/null
+ ((ret+=$?))
+ [[ $nofileinfo ]] || echo
"========================================================================"
+ [[ $nofileinfo ]] || echo
+@@ -149,9 +149,9 @@ list_files()
+ {
+ echo
"========================================================================"
+ if [ "$sorted" -eq 1 ]; then
+- $CAT "$image" | cpio --extract --verbose --quiet --list | sort -n -k5
++ $CAT "$image" 2>/dev/null | cpio --extract --verbose --quiet --list
| sort -n -k5
+ else
+- $CAT "$image" | cpio --extract --verbose --quiet --list | sort -k9
++ $CAT "$image" 2>/dev/null | cpio --extract --verbose --quiet --list
| sort -k9
+ fi
+ ((ret+=$?))
+ echo
"========================================================================"
+@@ -159,7 +159,7 @@ list_files()
+
+ unpack_files()
+ {
+- $CAT "$image" | cpio -id --quiet $verbose
++ $CAT "$image" 2>/dev/null | cpio -id --quiet $verbose
+ ((ret+=$?))
+ }
+
+
diff --git a/0090.patch b/0090.patch
new file mode 100644
index 0000000..8d3b8a6
--- /dev/null
+++ b/0090.patch
@@ -0,0 +1,26 @@
+From 2a0da60ed18b33e39fe8e36864800bbaaa0448b4 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Tue, 16 Jan 2018 14:16:37 +0100
+Subject: [PATCH] configure: bump kmod version to >= 23
+
+for issue #357
+---
+ configure | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure b/configure
+index 23686805..d8985ad4 100755
+--- a/configure
++++ b/configure
+@@ -66,8 +66,8 @@ sbindir ?= ${sbindir:-${prefix}/sbin}
+ mandir ?= ${mandir:-${prefix}/share/man}
+ enable_documentation ?= ${enable_documentation:-yes}
+ bindir ?= ${bindir:-${prefix}/bin}
+-KMOD_CFLAGS ?= $(${PKG_CONFIG} --cflags " libkmod >= 15 ")
+-KMOD_LIBS ?= $(${PKG_CONFIG} --libs " libkmod >= 15 ")
++KMOD_CFLAGS ?= $(${PKG_CONFIG} --cflags " libkmod >= 23 ")
++KMOD_LIBS ?= $(${PKG_CONFIG} --libs " libkmod >= 23 ")
+ EOF
+
+ {
+
diff --git a/0091.patch b/0091.patch
new file mode 100644
index 0000000..cd0a955
--- /dev/null
+++ b/0091.patch
@@ -0,0 +1,24 @@
+From bff3ee1936e8444bce3a43c53e7558949e099556 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)hoyer.xyz>
+Date: Wed, 17 Jan 2018 09:50:54 +0100
+Subject: [PATCH] Merge pull request #361 from danimo/dm_multipath
+
+90multipath: load dm_multipath module during startup
+---
+ modules.d/90multipath/module-setup.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/90multipath/module-setup.sh
b/modules.d/90multipath/module-setup.sh
+index 983f6f24..446dceb0 100755
+--- a/modules.d/90multipath/module-setup.sh
++++ b/modules.d/90multipath/module-setup.sh
+@@ -30,7 +30,7 @@ depends() {
+
+ # called by dracut
+ cmdline() {
+- for m in scsi_dh_alua scsi_dh_emc scsi_dh_rdac ; do
++ for m in scsi_dh_alua scsi_dh_emc scsi_dh_rdac dm_multipath; do
+ if grep -m 1 -q "$m" /proc/modules ; then
+ printf 'rd.driver.pre=%s ' "$m"
+ fi
+
diff --git a/0092.patch b/0092.patch
new file mode 100644
index 0000000..81aebe3
--- /dev/null
+++ b/0092.patch
@@ -0,0 +1,40 @@
+From 308c4066fee31b08d67413ce7920d63c8d05038e Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)hoyer.xyz>
+Date: Wed, 17 Jan 2018 09:51:54 +0100
+Subject: [PATCH] Merge pull request #359 from yuwata/kmod-version
+
+configure, kmod: bump kmod version to >= 23
+---
+ configure | 4 ++--
+ dracut.spec | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/configure b/configure
+index d8985ad4..b55fb609 100755
+--- a/configure
++++ b/configure
+@@ -52,8 +52,8 @@ while (($# > 0)); do
+ shift
+ done
+
+-if ! ${PKG_CONFIG} --exists --print-errors " libkmod >= 15 "; then
+- echo "dracut needs pkg-config and libkmod >= 15." >&2
++if ! ${PKG_CONFIG} --exists --print-errors " libkmod >= 23 "; then
++ echo "dracut needs pkg-config and libkmod >= 23." >&2
+ exit 1
+ fi
+
+diff --git a/dracut.spec b/dracut.spec
+index c52364b8..d547e847 100644
+--- a/dracut.spec
++++ b/dracut.spec
+@@ -40,7 +40,7 @@ Source0:
http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version}.tar
+ Source1:
https://www.gnu.org/licenses/lgpl-2.1.txt
+
+ BuildRequires: bash git
+-BuildRequires: kmod-devel >= 15
++BuildRequires: kmod-devel >= 23
+
+ %if 0%{?fedora} || 0%{?rhel}
+ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
diff --git a/0093.patch b/0093.patch
new file mode 100644
index 0000000..5665e8e
--- /dev/null
+++ b/0093.patch
@@ -0,0 +1,38 @@
+From 83b19de168bf63698c53537bbb662242370fc17a Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)hoyer.xyz>
+Date: Wed, 17 Jan 2018 18:32:52 +0100
+Subject: [PATCH] Merge pull request #363 from danimo/dracut_dmraid_use_udev
+
+0202-dracut_dmraid_use_udev
+---
+ modules.d/90dmraid/dmraid.sh | 2 --
+ modules.d/90dmraid/module-setup.sh | 2 ++
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/modules.d/90dmraid/dmraid.sh b/modules.d/90dmraid/dmraid.sh
+index e7a09b07..edae9784 100755
+--- a/modules.d/90dmraid/dmraid.sh
++++ b/modules.d/90dmraid/dmraid.sh
+@@ -33,8 +33,6 @@ if [ -n "$DM_RAIDS" ] || getargbool 0 rd.auto; then
+ if [ "${s##$r}" != "$s" ]; then
+ info "Activating $s"
+ dmraid -ay -i -p --rm_partitions "$s" 2>&1 | vinfo
+- [ -e "/dev/mapper/$s" ] && kpartx -a
"/dev/mapper/$s" 2>&1 | vinfo
+- udevsettle
+ fi
+ done
+ done
+diff --git a/modules.d/90dmraid/module-setup.sh b/modules.d/90dmraid/module-setup.sh
+index e8de5f56..797a58e5 100755
+--- a/modules.d/90dmraid/module-setup.sh
++++ b/modules.d/90dmraid/module-setup.sh
+@@ -74,6 +74,8 @@ install() {
+
+ inst "$moddir/dmraid.sh" /sbin/dmraid_scan
+
++ inst_rules 66-kpartx.rules 67-kpartx-compat.rules
++
+ inst_libdir_file "libdmraid-events*.so*"
+
+ inst_rules "$moddir/61-dmraid-imsm.rules"
+
diff --git a/0094.patch b/0094.patch
new file mode 100644
index 0000000..ba494e7
--- /dev/null
+++ b/0094.patch
@@ -0,0 +1,38 @@
+From a54206722d075b773801f8663bd50b14cb4b56c6 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 18 Jan 2018 08:55:34 +0100
+Subject: [PATCH] dracut.cmdline.7.asc: document rd.ccw and rd.znet
+
+rd.znet should be used instead of rd.ccw.
+
+Add more info about rd.znet.
+
+Fixes github issue 364
+---
+ dracut.cmdline.7.asc | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
+index 8f83405e..8f86efe0 100644
+--- a/dracut.cmdline.7.asc
++++ b/dracut.cmdline.7.asc
+@@ -811,6 +811,9 @@ rd.zfcp=0.0.4000
+ ZNET
+ ~~~~
+ **rd.znet=**__<nettype>__,__<subchannels>__,__<options>__::
++ The whole parameter is appended to /etc/ccw.conf, which is used on
++ RHEL/Fedora with ccw_init, which is called from udev for certain
++ devices on z-series.
+ rd.znet can be specified multiple times on the kernel command line.
+ +
+ [listing]
+@@ -1083,7 +1086,8 @@ their new replacement.
+
+ rdbreak:: rd.break
+
+-rd_CCW:: rd.ccw
++rd.ccw:: rd.znet
++rd_CCW:: rd.znet
+
+ rd_DASD_MOD:: rd.dasd
+
diff --git a/dracut.spec b/dracut.spec
index 0e57d66..c0f7139 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -14,7 +14,7 @@
%define with_nbd 0
%endif
-%define dist_free_release 64.git20180105
+%define dist_free_release 92.git20180118
Name: dracut
Version: 046
@@ -100,11 +100,39 @@ Patch60: 0063.patch
Patch61: 0064.patch
Patch62: 0065.patch
Patch63: 0066.patch
+Patch64: 0067.patch
+Patch65: 0068.patch
+Patch66: 0069.patch
+Patch67: 0070.patch
+Patch68: 0071.patch
+Patch69: 0072.patch
+Patch70: 0073.patch
+Patch71: 0074.patch
+Patch72: 0075.patch
+Patch73: 0076.patch
+Patch74: 0077.patch
+Patch75: 0078.patch
+Patch76: 0079.patch
+Patch77: 0080.patch
+Patch78: 0081.patch
+Patch79: 0082.patch
+Patch80: 0083.patch
+Patch81: 0084.patch
+Patch82: 0085.patch
+Patch83: 0086.patch
+Patch84: 0087.patch
+Patch85: 0088.patch
+Patch86: 0089.patch
+Patch87: 0090.patch
+Patch88: 0091.patch
+Patch89: 0092.patch
+Patch90: 0093.patch
+Patch91: 0094.patch
Source1:
https://www.gnu.org/licenses/lgpl-2.1.txt
BuildRequires: bash git
-BuildRequires: kmod-devel >= 15
+BuildRequires: kmod-devel >= 23
%if 0%{?fedora} || 0%{?rhel}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -348,6 +376,20 @@ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/97masterkey
rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/98integrity
%endif
+%ifnarch s390 s390x
+# remove architecture specific modules
+rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/80cms
+rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/81cio_ignore
+rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/91zipl
+rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95dasd
+rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95dasd_mod
+rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95dasd_rules
+rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95dcssblk
+rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95zfcp
+rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95zfcp_rules
+rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95znet
+%endif
+
mkdir -p $RPM_BUILD_ROOT/boot/dracut
mkdir -p $RPM_BUILD_ROOT/var/lib/dracut/overlay
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log
@@ -434,8 +476,7 @@ rm -rf -- $RPM_BUILD_ROOT
%{_mandir}/man5/dracut.conf.5*
%endif
-%if %{defined _unitdir}
-%else
+%if %{undefined _unitdir}
%{dracutlibdir}/modules.d/00bootchart
%endif
%{dracutlibdir}/modules.d/00bash
@@ -450,7 +491,6 @@ rm -rf -- $RPM_BUILD_ROOT
%{dracutlibdir}/modules.d/45url-lib
%{dracutlibdir}/modules.d/50drm
%{dracutlibdir}/modules.d/50plymouth
-%{dracutlibdir}/modules.d/80cms
%{dracutlibdir}/modules.d/80lvmmerge
%{dracutlibdir}/modules.d/90btrfs
%{dracutlibdir}/modules.d/90crypt
@@ -465,29 +505,35 @@ rm -rf -- $RPM_BUILD_ROOT
%{dracutlibdir}/modules.d/91crypt-gpg
%{dracutlibdir}/modules.d/91crypt-loop
%{dracutlibdir}/modules.d/95debug
+%{dracutlibdir}/modules.d/95fstab-sys
+%{dracutlibdir}/modules.d/95lunmask
%{dracutlibdir}/modules.d/95resume
%{dracutlibdir}/modules.d/95rootfs-block
+%{dracutlibdir}/modules.d/95terminfo
+%{dracutlibdir}/modules.d/95udev-rules
+%{dracutlibdir}/modules.d/95virtfs
+%ifarch s390 s390x
+%{dracutlibdir}/modules.d/80cms
+%{dracutlibdir}/modules.d/81cio_ignore
+%{dracutlibdir}/modules.d/91zipl
%{dracutlibdir}/modules.d/95dasd
%{dracutlibdir}/modules.d/95dasd_mod
%{dracutlibdir}/modules.d/95dasd_rules
-%{dracutlibdir}/modules.d/95fstab-sys
-%{dracutlibdir}/modules.d/95lunmask
+%{dracutlibdir}/modules.d/95dcssblk
%{dracutlibdir}/modules.d/95zfcp
%{dracutlibdir}/modules.d/95zfcp_rules
-%{dracutlibdir}/modules.d/95terminfo
-%{dracutlibdir}/modules.d/95udev-rules
-%{dracutlibdir}/modules.d/95virtfs
+%endif
%if %{undefined _unitdir}
%{dracutlibdir}/modules.d/96securityfs
%{dracutlibdir}/modules.d/97masterkey
%{dracutlibdir}/modules.d/98integrity
%endif
%{dracutlibdir}/modules.d/97biosdevname
+%{dracutlibdir}/modules.d/98dracut-systemd
%{dracutlibdir}/modules.d/98ecryptfs
%{dracutlibdir}/modules.d/98pollcdrom
%{dracutlibdir}/modules.d/98selinux
%{dracutlibdir}/modules.d/98syslog
-%{dracutlibdir}/modules.d/98dracut-systemd
%{dracutlibdir}/modules.d/98usrmount
%{dracutlibdir}/modules.d/99base
%{dracutlibdir}/modules.d/99fs-lib
@@ -521,17 +567,19 @@ rm -rf -- $RPM_BUILD_ROOT
%defattr(-,root,root,0755)
%{dracutlibdir}/modules.d/02systemd-networkd
%{dracutlibdir}/modules.d/40network
+%{dracutlibdir}/modules.d/45ifcfg
%{dracutlibdir}/modules.d/90kernel-network-modules
-%{dracutlibdir}/modules.d/95fcoe
-%{dracutlibdir}/modules.d/95iscsi
%{dracutlibdir}/modules.d/90qemu-net
%{dracutlibdir}/modules.d/95cifs
+%{dracutlibdir}/modules.d/95fcoe
+%{dracutlibdir}/modules.d/95fcoe-uefi
+%{dracutlibdir}/modules.d/95iscsi
%{dracutlibdir}/modules.d/95nbd
%{dracutlibdir}/modules.d/95nfs
%{dracutlibdir}/modules.d/95ssh-client
-%{dracutlibdir}/modules.d/45ifcfg
+%ifarch s390 s390x
%{dracutlibdir}/modules.d/95znet
-%{dracutlibdir}/modules.d/95fcoe-uefi
+%endif
%{dracutlibdir}/modules.d/99uefi-lib
%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version}
@@ -582,6 +630,9 @@ rm -rf -- $RPM_BUILD_ROOT
%endif
%changelog
+* Thu Jan 18 2018 Harald Hoyer <harald(a)redhat.com> - 046-92
+- git snapshot
+
* Fri Jan 05 2018 Harald Hoyer <harald(a)redhat.com> - 046-64
- git snapshot