diff --git a/packages/s/s390-tools/.files b/packages/s/s390-tools/.files index c2501f7..180d813 100644 Binary files a/packages/s/s390-tools/.files and b/packages/s/s390-tools/.files differ diff --git a/packages/s/s390-tools/.rev b/packages/s/s390-tools/.rev index 8da3002..cd11120 100644 --- a/packages/s/s390-tools/.rev +++ b/packages/s/s390-tools/.rev @@ -683,4 +683,12 @@ 1071822 + + a500dcb3a3608e948d5b9c4bf59288e9 + 2.25.0 + + dimstar_suse + + 1073791 + diff --git a/packages/s/s390-tools/module-setup.sh b/packages/s/s390-tools/module-setup.sh new file mode 100644 index 0000000..bb2e547 --- /dev/null +++ b/packages/s/s390-tools/module-setup.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +# called by dracut +check() { + arch=${DRACUT_ARCH:-$(uname -m)} + [ "$arch" = "s390" -o "$arch" = "s390x" ] || return 1 + + require_binaries chzdev || return 1 + + [[ $hostonly ]] || return 0 + + # or on request + return 255 +} + +# called by dracut +depends() { + echo bash + return 0 +} + +# called by dracut +installkernel() { + instmods ctcm lcs qeth qeth_l2 qeth_l3 dasd_diag_mod dasd_eckd_mod dasd_fba_mod +} + +# called by dracut +install() { + inst_hook cmdline 41 "$moddir/parse-zdev-suse.sh" + inst_hook cleanup 41 "$moddir/write-udev-live-suse.sh" + inst_multiple chzdev +} diff --git a/packages/s/s390-tools/parse-zdev-suse.sh b/packages/s/s390-tools/parse-zdev-suse.sh new file mode 100644 index 0000000..d33b4c3 --- /dev/null +++ b/packages/s/s390-tools/parse-zdev-suse.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +for zdev in $(getargs rd.zdev -d 'rd_ZDEV='); do + IFS=, read -r z_drv z_chan znet_opts <<< "$zdev" + if [ -n "$z_drv" ] && [ "$z_drv" = "no-auto" ] ; then + : # ignore, as it's handled by 95zdev + elif [ -z "$z_drv" ] || [ -z "$z_chan" ]; then + warn "Invalid arguments for rd.zdev=" + else + info "+ chzdev --persistent --enable [...] $z_drv $z_chan $z_opts" + chzdev --persistent --enable --force --yes --no-root-update --no-settle $z_drv $z_chan $z_opts + fi +done + +# REMOVE everything below for FCS! +# support initial implementation only for already deployed `parmfile`s +for znet in $(getargs rd.znet -d 'rd_ZNET='); do + IFS=, read -r znet_drv znet_sc0 znet_sc1 znet_sc2 znet_options <<< "$znet" + if [ -z "$znet_drv" ] || [ -z "$znet_sc0" ] || [ -z "$znet_sc1" ] || [ -z "$znet_sc2" ] ; then + warn "Invalid arguments for rd.znet=" + else + info "+ chzdev --persistent --enable $znet_drv $znet_sc0:$znet_sc1:$znet_sc2 $znet_options" + chzdev --persistent --enable --force --yes --no-root-update --no-settle $znet_drv $znet_sc0:$znet_sc1:$znet_sc2 $znet_options + fi +done + +for dasd in $(getargs rd.dasd -d 'rd_DASD='); do + dasd_drv=dasd + IFS=, read -r dasd_sc0 dasd_options <<< "$dasd" + if [ -z "$dasd_sc0" ]; then + warn "Invalid arguments for rd.dasd=" + else + info "+ chzdev --persistent --enable $dasd_drv $dasd_sc0 $dasd_options" + chzdev --persistent --enable --force --yes --no-root-update --no-settle $dasd_drv $dasd_sc0 $dasd_options + fi +done + diff --git a/packages/s/s390-tools/s390-tools.changes b/packages/s/s390-tools/s390-tools.changes index 096a08b..b5f3984 100644 --- a/packages/s/s390-tools/s390-tools.changes +++ b/packages/s/s390-tools/s390-tools.changes @@ -1,4 +1,12 @@ ------------------------------------------------------------------- +Wed Mar 22 12:13:52 UTC 2023 - Nikolay Gueorguiev + +- Added SUSE scripts + * module-setup.sh + * parse-zdev-suse.sh + * write-udev-live-suse.sh + +------------------------------------------------------------------- Mon Mar 13 15:33:43 UTC 2023 - Nikolay Gueorguiev - Applied a patch (bsc#1209196) diff --git a/packages/s/s390-tools/s390-tools.spec b/packages/s/s390-tools/s390-tools.spec index db093b1..cb942c7 100644 --- a/packages/s/s390-tools/s390-tools.spec +++ b/packages/s/s390-tools/s390-tools.spec @@ -104,7 +104,11 @@ Source39: vmlogrdr.service.suse %endif Source40: xpram.service Source41: pkey.conf - +### +Source42: module-setup.sh +Source43: parse-zdev-suse.sh +Source44: write-udev-live-suse.sh +### ### Obsolete scripts and man pages to be removed once changes in other tools are made ### That's been delayed to at least SLES12 SP1, but I'm leaving the comments here. Source86: read_values.c diff --git a/packages/s/s390-tools/write-udev-live-suse.sh b/packages/s/s390-tools/write-udev-live-suse.sh new file mode 100644 index 0000000..177c12c --- /dev/null +++ b/packages/s/s390-tools/write-udev-live-suse.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +if [ -w /sysroot/etc/udev/rules.d ]; then + # chzdev generated device activation starts with 41 ... + cp -p /etc/udev/rules.d/41-* /sysroot/etc/udev/rules.d +fi