dracut - 046-92

- git snapshot
This commit is contained in:
Harald Hoyer 2018-01-18 10:07:29 +01:00
parent 3610a11337
commit d9da6674aa
30 changed files with 1645 additions and 17 deletions

View File

@ -19,3 +19,4 @@ index 50d42a31..0b4c2e85 100644
%{dracutlibdir}/modules.d/95zfcp
%{dracutlibdir}/modules.d/95zfcp_rules
%{dracutlibdir}/modules.d/95terminfo

34
0067.patch Normal file
View File

@ -0,0 +1,34 @@
From d300160e70bd2ae038acabb12f18fbf039798b26 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@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

36
0068.patch Normal file
View File

@ -0,0 +1,36 @@
From 577f109243bc96cd99c2b8204b7ca4426918f8ae Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@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" \

49
0069.patch Normal file
View File

@ -0,0 +1,49 @@
From ba2cfcab1e47045690ef6bc6d8f8089066b929a2 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@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

25
0070.patch Normal file
View File

@ -0,0 +1,25 @@
From 17414dd01bd71bb187fee20c2148ccad3b35a887 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@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

45
0071.patch Normal file
View File

@ -0,0 +1,45 @@
From 5a8efed021af6a3a06b484f9ad363935c1a875e3 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@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

37
0072.patch Normal file
View File

@ -0,0 +1,37 @@
From 0f6d93eb9d63695a64002ec8b0421fbc9fc8a7a3 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@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", '

27
0073.patch Normal file
View File

@ -0,0 +1,27 @@
From cd83391c72aab5ea3732e70f8ebabc32d6440a0b Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@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

60
0074.patch Normal file
View File

@ -0,0 +1,60 @@
From 3a6a8d5c83af952f66c7786f17e59da6012da0b6 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@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

24
0075.patch Normal file
View File

@ -0,0 +1,24 @@
From b8b341a07f755d69e557bfbca92ae54fc3f84dda Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@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
}

24
0076.patch Normal file
View File

@ -0,0 +1,24 @@
From 47f83419a711d540cf758b56c8ad4fadaa964592 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@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"

30
0077.patch Normal file
View File

@ -0,0 +1,30 @@
From 6ccb77e19a80f1be32170d85766f1925fbeb732b Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@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]

212
0078.patch Normal file
View File

@ -0,0 +1,212 @@
From 8e7d0856d0c94e9cc0e17c2f715aa7bc715fd37d Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@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

108
0079.patch Normal file
View File

@ -0,0 +1,108 @@
From b7a7ab194398ab3519004376d35d834385e2d916 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@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}

253
0080.patch Normal file
View File

@ -0,0 +1,253 @@
From 28a68f1f3ce15b40d45e6987ab0997584d4fa901 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 12 Jan 2018 10:24:20 +0100
Subject: [PATCH] iSCSI: no more iscsid
According to Cathy Zhou <Cathy.Zhou@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

24
0081.patch Normal file
View File

@ -0,0 +1,24 @@
From 2bb4881b8206cc26d48b31985c4078510bf6c8cd Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@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

39
0082.patch Normal file
View File

@ -0,0 +1,39 @@
From 5cc17c25c2f450e54a67c0de9b5031d4c2fd24cb Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@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

35
0083.patch Normal file
View File

@ -0,0 +1,35 @@
From d888e21b5d3b830ab2a40fa4194d0ae59cb1b331 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@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

22
0084.patch Normal file
View File

@ -0,0 +1,22 @@
From cc3808184c741c6a793e0200bdc7d2abf9f68c08 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@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-ci-slave01/badge/icon)](https://ci.centos.org/job/dracut-matrix-master/TESTS=17,label=dracut-ci-slave01/)
- Test 20: [![Test 20](https://ci.centos.org/job/dracut-matrix-master/TESTS=20,label=dracut-ci-slave01/badge/icon)](https://ci.centos.org/job/dracut-matrix-master/TESTS=20,label=dracut-ci-slave01/)
- Test 30: [![Test 30](https://ci.centos.org/job/dracut-matrix-master/TESTS=30,label=dracut-ci-slave01/badge/icon)](https://ci.centos.org/job/dracut-matrix-master/TESTS=30,label=dracut-ci-slave01/)
+- Test 31: [![Test 31](https://ci.centos.org/job/dracut-matrix-master/TESTS=31,label=dracut-ci-slave01/badge/icon)](https://ci.centos.org/job/dracut-matrix-master/TESTS=31,label=dracut-ci-slave01/)
- Test 40: [![Test 40](https://ci.centos.org/job/dracut-matrix-master/TESTS=40,label=dracut-ci-slave01/badge/icon)](https://ci.centos.org/job/dracut-matrix-master/TESTS=40,label=dracut-ci-slave01/)
- Test 50: [![Test 50](https://ci.centos.org/job/dracut-matrix-master/TESTS=50,label=dracut-ci-slave01/badge/icon)](https://ci.centos.org/job/dracut-matrix-master/TESTS=50,label=dracut-ci-slave01/)
- Test 70: [![Test 70](https://ci.centos.org/job/dracut-matrix-master/TESTS=70,label=dracut-ci-slave01/badge/icon)](https://ci.centos.org/job/dracut-matrix-master/TESTS=70,label=dracut-ci-slave01/)

29
0085.patch Normal file
View File

@ -0,0 +1,29 @@
From 8b4b7dc5b2f1477825cf8a52f412af372b4646f8 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@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

113
0086.patch Normal file
View File

@ -0,0 +1,113 @@
From b925f7f5d97259dd81e9d562fd1c6433e4b04f30 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@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

94
0087.patch Normal file
View File

@ -0,0 +1,94 @@
From 9ed6eb741f0bc0178167e7063751eb2bb4ac6de5 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@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
}

45
0088.patch Normal file
View File

@ -0,0 +1,45 @@
From 33b560fcc2c77cef5a53839b39ac38b4c1ed978c Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@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@gmail.com>
Stig Telfer <stelfer@cray.com>
Vasiliy Tolstov <v.tolstov@selfip.ru>
Wim Muskee <wimmuskee@gmail.com>
-yuwata <watanabe.yu+github@gmail.com>
+Yu Watanabe <watanabe.yu+github@gmail.com>
Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Alan Pevec <apevec@redhat.com>
Alex Harpin <development@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

45
0089.patch Normal file
View File

@ -0,0 +1,45 @@
From bce6823a19b3fc0be50ff5c29c5ef90fa58b3430 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@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+=$?))
}

26
0090.patch Normal file
View File

@ -0,0 +1,26 @@
From 2a0da60ed18b33e39fe8e36864800bbaaa0448b4 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@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
{

24
0091.patch Normal file
View File

@ -0,0 +1,24 @@
From bff3ee1936e8444bce3a43c53e7558949e099556 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@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

40
0092.patch Normal file
View File

@ -0,0 +1,40 @@
From 308c4066fee31b08d67413ce7920d63c8d05038e Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@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)

38
0093.patch Normal file
View File

@ -0,0 +1,38 @@
From 83b19de168bf63698c53537bbb662242370fc17a Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@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"

38
0094.patch Normal file
View File

@ -0,0 +1,38 @@
From a54206722d075b773801f8663bd50b14cb4b56c6 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@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

View File

@ -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/95resume
%{dracutlibdir}/modules.d/95rootfs-block
%{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/95zfcp
%{dracutlibdir}/modules.d/95zfcp_rules
%{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/95dcssblk
%{dracutlibdir}/modules.d/95zfcp
%{dracutlibdir}/modules.d/95zfcp_rules
%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@redhat.com> - 046-92
- git snapshot
* Fri Jan 05 2018 Harald Hoyer <harald@redhat.com> - 046-64
- git snapshot