forked from pool/s390-tools
6a6c0cb679
*** v2.34.0 * Changes of existing tools: - ap_tools/ap-check: Add support for vfio-ap dynamic configuration - dbginfo.sh: Update/Add additional DASD data collection - dumpconf: Add new parameter 'SCP_DATA' for SCSI/NVMe/ECKD dump devices - libutil: Make formatted meta-data configurable - s390-tools: Replace 'which' with built-in 'command -v' - zdump/dfi_elf: Support core dumps of vr-kernels * Bug Fixes: - chzdev: Fix warning about failed ATTR writes by udev - rust/pv: Try again if first CRL-URI is invalid - rust/pvattest: Add short option for --arpk - zdump: Fix 'zgetdump -i' ioctl error on s390 formatted dump file *** v2.33.1 * Bug Fixes: - s390-tools: Fix formatting and typos in README.md - s390-tools: Fix release string *** v2.33.0 * Add new tools / libraries: - chpstat: New tool for displaying channel path statistics - libutil: Add output format helpers(util_fmt: JSON, JSON-SEQ, CSV, text pairs) * Changes of existing tools / libraries: - chzdev: Add --is-owner to identify files created by zdev - dasdfmt: Change default mode to always use full-format (Note: affects ESE DASD) - libap: Significantly reduce delay time between file lock retries - pvattest: Rewrite from C to Rust - pvattest: Support additional data & user-data - rust/pv: Support for Attestation * Bug Fixes: - chreipl: Improve disk type detection when running under QEMU - dbginfo.sh: Use POSIX option with uname - s390-tools: Fix missing hyphen escapes in the man page for many tools - zipl/src: Fix bugs in disk_get_info() reproducible in corner cases *** v2.32.0 * Changes of existing tools: - cpumf/lscpumf: add support for machine type 3932 - genprotimg, pvattest, and pvsecret accept IBM signing key with Armonk as subject locality - zdump/zipl: Support for List-Directed dump from ECKD DASD - zkey: Detect FIPS mode and generate PBKDF for luksFormat according to it * Bug Fixes: - dbginfo.sh: dash compatible copy sequence - rust/pv_core: Fix UvDeviceInfo::get() method - zipl/src: Fix leak of files if run with a broken configuration - zkey: Fix convert command to accept only keys of type CCA-AESDATA * Revendored vendor.tar.gz * Removed obsolete patches - s390-tools-sles15sp5-01-rust-pv-support-Armonk-in-IBM-signing-key-subject.patch - s390-tools-sles15sp6-02-genprotimg-support-Armonk-in-IBM-signing-key-subject.patch - s390-tools-sles15sp6-03-libpv-support-Armonk-in-IBM-signing-key-subject.patch - s390-tools-sles15sp6-04-pvattest-Fix-root-ca-parsing.patch - s390-tools-sles15sp6-genprotimg-makefile.patch OBS-URL: https://build.opensuse.org/package/show/Base:System/s390-tools?expand=0&rev=219
113 lines
3.9 KiB
Diff
113 lines
3.9 KiB
Diff
From 001c5aa5d40ffa7a40d64416c43c67004de29b8f Mon Sep 17 00:00:00 2001
|
|
From: Thomas Blume <Thomas.Blume@suse.com>
|
|
Date: Thu, 28 Mar 2024 13:32:46 +0100
|
|
Subject: [PATCH] parse ipl device for activation
|
|
|
|
ported from dracut modules
|
|
---
|
|
zdev/dracut/95zdev/parse-dasd.sh | 20 +++++++++++--
|
|
zdev/dracut/95zdev/parse-zfcp.sh | 56 +++++++++++++++++++++++++--------------
|
|
2 files changed, 54 insertions(+), 22 deletions(-)
|
|
|
|
--- a/zdev/dracut/95zdev/parse-dasd.sh
|
|
+++ b/zdev/dracut/95zdev/parse-dasd.sh
|
|
@@ -10,6 +10,8 @@
|
|
# parameters are evaluated and used to configure dasd devices.
|
|
#
|
|
|
|
+zdev_dasd_base_args="--no-settle --yes --no-root-update --force"
|
|
+
|
|
# shellcheck source=/dev/null
|
|
type zdev_parse_dasd_list > /dev/null 2>&1 || . /lib/s390-tools/zdev-from-dasd_mod.dasd
|
|
|
|
@@ -27,9 +29,21 @@
|
|
|
|
zdev_parse_rd_dasd() {
|
|
local _zdev_dasd _zdev_dasd_list
|
|
- for _zdev_dasd in $(getargs rd.dasd -d 'rd_DASD='); do
|
|
- _zdev_dasd_list="${_zdev_dasd_list:+${_zdev_dasd_list},}$_zdev_dasd"
|
|
- done
|
|
+ # autodetect active bootdev from zipl device
|
|
+ if ! getargbool 0 'rd.dasd' \
|
|
+ && [[ -f /sys/firmware/ipl/ipl_type ]] \
|
|
+ && [[ $(< /sys/firmware/ipl/ipl_type) == "ccw" ]]; then
|
|
+ read -r _ccw < /sys/firmware/ipl/device
|
|
+
|
|
+ if lszdev --offline "$_ccw" &>/dev/null; then
|
|
+ chzdev --offline --existing --enable --active $zdev_dasd_base_args \
|
|
+ dasd "$_ccw"
|
|
+ fi
|
|
+ else
|
|
+ for _zdev_dasd in $(getargs rd.dasd -d 'rd_DASD='); do
|
|
+ _zdev_dasd_list="${_zdev_dasd_list:+${_zdev_dasd_list},}$_zdev_dasd"
|
|
+ done
|
|
+ fi
|
|
echo "$_zdev_dasd_list"
|
|
}
|
|
|
|
--- a/zdev/dracut/95zdev/parse-zfcp.sh
|
|
+++ b/zdev/dracut/95zdev/parse-zfcp.sh
|
|
@@ -12,25 +12,43 @@
|
|
|
|
zdev_zfcp_base_args="--no-settle --yes --no-root-update --force"
|
|
|
|
-for zdev_zfcp_arg in $(getargs rd.zfcp -d 'rd_ZFCP='); do
|
|
- (
|
|
- IFS_SAVED="$IFS"
|
|
- IFS="," # did not work in front of built-in set command below
|
|
- # shellcheck disable=SC2086
|
|
- set -- $zdev_zfcp_arg
|
|
- IFS=":" args="$*"
|
|
- IFS="$IFS_SAVED"
|
|
- echo "rd.zfcp ${zdev_zfcp_arg} :" | zdev_vinfo
|
|
- if [ "$#" -eq 1 ]; then
|
|
- # shellcheck disable=SC2086
|
|
- chzdev --enable --persistent $zdev_zfcp_base_args \
|
|
- zfcp-host "$args" 2>&1 | zdev_vinfo
|
|
- else
|
|
+zdev_vinfo() {
|
|
+ local _zdev_vinfo_line
|
|
+ while read -r _zdev_vinfo_line || [ -n "$_zdev_vinfo_line" ]; do
|
|
+ # Prefix "<30>" represents facility LOG_DAEMON 3 and loglevel INFO 6:
|
|
+ # (facility << 3) | level.
|
|
+ echo "<30>dracut: $_zdev_vinfo_line" > /dev/kmsg
|
|
+ done
|
|
+}
|
|
+
|
|
+# autodetect active bootdev from zipl device
|
|
+if ! getargbool 0 'rd.zfcp' \
|
|
+ && [[ -f /sys/firmware/ipl/ipl_type ]] \
|
|
+ && [[ $(< /sys/firmware/ipl/ipl_type) == "fcp" ]]; then
|
|
+ chzdev --offline --existing --enable --active $zdev_zfcp_base_args \
|
|
+ zfcp-host 2>&1 | zdev_vinfo
|
|
+else
|
|
+ for zdev_zfcp_arg in $(getargs rd.zfcp -d 'rd_ZFCP='); do
|
|
+ (
|
|
+ IFS_SAVED="$IFS"
|
|
+ IFS="," # did not work in front of built-in set command below
|
|
# shellcheck disable=SC2086
|
|
- chzdev --enable --persistent $zdev_zfcp_base_args \
|
|
- zfcp-lun "$args" 2>&1 | zdev_vinfo
|
|
- fi
|
|
- )
|
|
-done
|
|
+ set -- $zdev_zfcp_arg
|
|
+ IFS=":" args="$*"
|
|
+ IFS="$IFS_SAVED"
|
|
+ echo "rd.zfcp ${zdev_zfcp_arg} :" | zdev_vinfo
|
|
+ if [ "$#" -eq 1 ]; then
|
|
+ # shellcheck disable=SC2086
|
|
+ chzdev --enable --persistent $zdev_zfcp_base_args \
|
|
+ zfcp-host "$args" 2>&1 | zdev_vinfo
|
|
+ else
|
|
+ # shellcheck disable=SC2086
|
|
+ chzdev --enable --persistent $zdev_zfcp_base_args \
|
|
+ zfcp-lun "$args" 2>&1 | zdev_vinfo
|
|
+ fi
|
|
+ )
|
|
+ done
|
|
+fi
|
|
+
|
|
unset zdev_zfcp_arg
|
|
unset zdev_zfcp_base_args
|