dracut/0124.patch
Pavel Valena f085d0a35f dracut-057-126.git20260813
- fix(dracut): rework timeout for devices added via --mount and --add-device
    - fix(base): escape die() message in emergency hook script
    - fix(base): replace eval with safe variable indirection in splitsep and export_n
    - refactor(cms): use zdev to simplify handling CMSDASD=... boot option
    - refactor(cms): use consolidated dasd config with zdev from s390-tools
    - fix(qemu): add missing bochs module explicitly

Resolves: RHEL-151848,RHEL-210940,RHEL-212601,RHEL-217597
2026-08-13 17:17:15 +02:00

84 lines
2.9 KiB
Diff

From c5997ed914de814eb0a616165a9947affee616a3 Mon Sep 17 00:00:00 2001
From: Steffen Maier <maier@linux.ibm.com>
Date: Wed, 24 May 2023 19:04:48 +0200
Subject: [PATCH] refactor(cms): use consolidated dasd config with zdev from
s390-tools
Depends on https://github.com/ibm-s390-linux/s390-tools commit
9b2fb1d4d2e2 ("zdev: add helper to convert from dasd_mod.dasd to zdev
config").
This is just internal to initrd, so it's possible to migrate the code to
consolidated dasd device configuration with zdev
https://github.com/ibm-s390-linux/s390-tools/tree/master/zdev/.
The code change is transparent to users after dracut switch root.
The generated persistent config of chzdev are pure udev rules so it has no
dependency on other dracut modules such as zdev, dasd, or dasd_mod.
Instead now install the corresponding kernel device drivers here directly.
Signed-off-by: Steffen Maier <maier@linux.ibm.com>
(cherry picked from commit 168c0c667d0fb14a8565e999c367494c85c7262c)
Resolves: RHEL-151848
---
modules.d/80cms/cmssetup.sh | 6 +++---
modules.d/80cms/module-setup.sh | 6 +++---
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/modules.d/80cms/cmssetup.sh b/modules.d/80cms/cmssetup.sh
index 23e81ca98..b80ce23ab 100755
--- a/modules.d/80cms/cmssetup.sh
+++ b/modules.d/80cms/cmssetup.sh
@@ -1,6 +1,7 @@
#!/bin/bash
type getarg > /dev/null 2>&1 || . /lib/dracut-lib.sh
+type zdev_parse_dasd_list > /dev/null 2>&1 || . /lib/s390-tools/zdev-from-dasd_mod.dasd
function dasd_settle() {
local dasd_status
@@ -112,9 +113,8 @@ processcmsfile() {
fi
if [[ $DASD ]] && [[ $DASD != "none" ]]; then
- echo "$DASD" | normalize_dasd_arg > /etc/dasd.conf
- echo "options dasd_mod dasd=$DASD" > /etc/modprobe.d/dasd_mod.conf
- dasd_cio_free
+ echo "$DASD" | zdev_parse_dasd_list globals 2>&1 | vinfo
+ echo "$DASD" | zdev_parse_dasd_list ranges 2>&1 | vinfo
fi
unset _do_zfcp
diff --git a/modules.d/80cms/module-setup.sh b/modules.d/80cms/module-setup.sh
index 4872734b1..622d397e9 100755
--- a/modules.d/80cms/module-setup.sh
+++ b/modules.d/80cms/module-setup.sh
@@ -12,13 +12,13 @@ check() {
depends() {
arch=${DRACUT_ARCH:-$(uname -m)}
[ "$arch" = "s390" -o "$arch" = "s390x" ] || return 1
- echo znet zfcp dasd dasd_mod bash
+ echo znet zfcp bash
return 0
}
# called by dracut
installkernel() {
- instmods zfcp
+ instmods zfcp dasd_mod dasd_eckd_mod dasd_fba_mod dasd_diag_mod
}
# called by dracut
@@ -28,7 +28,7 @@ install() {
inst_script "$moddir/cmsifup.sh" /sbin/cmsifup
# shellcheck disable=SC2046
inst_multiple /etc/cmsfs-fuse/filetypes.conf /etc/udev/rules.d/99-fuse.rules /etc/fuse.conf \
- cmsfs-fuse fusermount bash insmod rmmod cat normalize_dasd_arg sed \
+ cmsfs-fuse fusermount bash insmod rmmod cat /lib/s390-tools/zdev-from-dasd_mod.dasd sed \
$(rpm -ql s390utils-base) awk getopt chzdev lszdev
inst_libdir_file "gconv/*"