e4f609fba2
From-source-git-commit: a24e1272faba2875f9b78fcf42109028af0869bc * switch to dracut-ng upstream fork The original dracut repository is no longer maintained, new initiative was started: https://github.com/dracut-ng/dracut-ng/ * applied additional fixes 9df3cb58a19f38157a615c311356cfd6ae55d2d7 fix(rngd): install system service file 0b65ac224d831cc96da940cce510523c7276a5ec feat(hwdb): add hwdb module to install hwdb.bin on demand 10b86edba3ffe0ce13c5f43ff0193cdf04661358 fix(nvmf): move /etc/nvme/host{nqn,id} requirement to hostonly bad2bc80cdcfac8915374497cc47ce9d5670d015 fix(systemd): explicitly install some libs that will not be statically included 55a56c546bde71fb42c99aadd96e98fca2199823 fix(dracut): move hooks directory from /usr/lib to /var/lib 110fec3e41faf47277447f1c56635c5a876c1f96 feat(ifcfg): minimize s390-specific network configuration aspects b6913f66b6c9e9ea81fd0832405c170876bc993a refactor(ifcfg): delete code duplication using iface_get_subchannels() cbc5eece88b8f6d0e69fdfbb8f34eabb45425c86 fix(znet): append to udev rules so each rd.znet_ifname is effective 7ad6fef8fe110093939c422b5c3b381ebe47e4e9 feat(qeth_rules): remove qeth handling consolidated in 95znet addb383b375fd0db07eacf8a9f5d9b4e23343855 docs(dracut.cmdline): generalize description of rd.znet 86b6e2979999cf5ecce8c76c6230d1f085b3a333 feat(znet): use zdev for consolidated device configuration 1ff6be8aef787513b8143df444a1dd2d696b0944 feat(dasd): minimize dasd handling consolidated in s390-tools a82045ef34bc8c913502eba37b6b9c60709d6997 feat(dasd_mod): minimize dasd handling consolidated in s390-tools 7294e45b5204e47bb8ee2108e2c38c5843e64fac feat(dasd_rules): remove dasd handling consolidated in s390-tools 8d6098969aa9dc34edfd1bc96e6aa0384ae2fb99 feat(zfcp): minimize zfcp handling consolidated in s390-tools 71876ea8c73090741bdf26abb89c28fb260ed575 feat(zfcp_rules): remove zfcp handling consolidated in s390-tools a2c1fc530d8bcbdeaf1806f4a22019052715fc98 refactor(cms): remove now unnecessary inclusion of full s390utils-base cc14fe218861f2855ca88ad03220ecb78d4aa31a refactor(cms): use consolidated network config with zdev from s390-tools 74edb9758da26ef063e4686a595f1d34f07f86f7 refactor(cms): use consolidated dasd config with zdev from s390-tools 3a9b9a5cf507a868f8b3ec33cf686b3a552286c2 refactor(cms): use consolidated zfcp config with zdev from s390-tools 38412977daad049b12273966300d07211674834e refactor(cms): use zdev to simplify handling CMSDASD=... boot option (Possibly also resolves other open issues.) Resolves: RHEL-26887 RHEL-34954 RHEL-35521
110 lines
4.6 KiB
Diff
110 lines
4.6 KiB
Diff
From cc14fe218861f2855ca88ad03220ecb78d4aa31a Mon Sep 17 00:00:00 2001
|
|
From: Steffen Maier <maier@linux.ibm.com>
|
|
Date: Wed, 26 Jul 2023 13:50:03 +0200
|
|
Subject: [PATCH 06/23] refactor(cms): use consolidated network config with
|
|
zdev from s390-tools
|
|
|
|
This is just internal to initrd, so we can already migrate the code to
|
|
consolidated network 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 the zdev dracut module.
|
|
|
|
Keep the dependency on dracut module znet to at least pull in the required
|
|
kernel device drivers.
|
|
|
|
Since consolidated s390 network device configuration with zdev is used,
|
|
it takes care of all s390-specific settings.
|
|
None of the s390-specific ifcfg variables should be used anymore.
|
|
NETTYPE, OPTIONS, PORTNAME, and CTCPROT can be removed entirely.
|
|
SUBCHANNELS is kept because there are some dependency chains
|
|
(probably around the key identifiying an interface which is not HWADDR):
|
|
|
|
modules.d/35network-legacy/module-setup.sh
|
|
parses (sources) each of /etc/sysconfig/network-scripts/ifcfg-*
|
|
and if that contains SUBCHANNELS, create a symlink from the ifcfg file to
|
|
/etc/sysconfig/network-scripts/ccw-${SUBCHANNELS}.conf
|
|
|
|
modules.d/35network-legacy/ifup.sh installed as /sbin/ifup
|
|
checks during team setup if a slave interface is an s390 channel-attached
|
|
network interface and then parses (sources)
|
|
/etc/sysconfig/network-scripts/ccw-${SUBCHANNELS}.conf
|
|
from above, if that file exists
|
|
|
|
Signed-off-by: Steffen Maier <maier@linux.ibm.com>
|
|
---
|
|
modules.d/80cms/cms-write-ifcfg.sh | 13 -------------
|
|
modules.d/80cms/cmssetup.sh | 21 +++++++++++++--------
|
|
2 files changed, 13 insertions(+), 21 deletions(-)
|
|
|
|
diff --git a/modules.d/80cms/cms-write-ifcfg.sh b/modules.d/80cms/cms-write-ifcfg.sh
|
|
index ecfd53ef..91263092 100755
|
|
--- a/modules.d/80cms/cms-write-ifcfg.sh
|
|
+++ b/modules.d/80cms/cms-write-ifcfg.sh
|
|
@@ -81,21 +81,8 @@ EOF
|
|
fi
|
|
# colons in SEARCHDNS already replaced with spaces above for /etc/resolv.conf
|
|
[[ $SEARCHDNS ]] && echo "DOMAIN=\"$SEARCHDNS\"" >> "$IFCFGFILE"
|
|
- [[ $NETTYPE ]] && echo "NETTYPE=$NETTYPE" >> "$IFCFGFILE"
|
|
[[ $PEERID ]] && echo "PEERID=$PEERID" >> "$IFCFGFILE"
|
|
- [[ $PORTNAME ]] && echo "PORTNAME=$PORTNAME" >> "$IFCFGFILE"
|
|
- [[ $CTCPROT ]] && echo "CTCPROT=$CTCPROT" >> "$IFCFGFILE"
|
|
[[ $MACADDR ]] && echo "MACADDR=$MACADDR" >> "$IFCFGFILE"
|
|
- optstr=""
|
|
- for option in LAYER2 PORTNO; do
|
|
- [ -z "${!option}" ] && continue
|
|
- [ -n "$optstr" ] && optstr=${optstr}" "
|
|
- optstr=${optstr}$(echo ${option} | sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/')"="${!option}
|
|
- done
|
|
- # write single quotes since network.py removes double quotes but we need quotes
|
|
- echo "OPTIONS='$optstr'" >> "$IFCFGFILE"
|
|
- unset option
|
|
- unset optstr
|
|
unset DNS1
|
|
unset DNS2
|
|
echo "files /etc/sysconfig/network-scripts" >> /run/initramfs/rwtab
|
|
diff --git a/modules.d/80cms/cmssetup.sh b/modules.d/80cms/cmssetup.sh
|
|
index 01cfd303..5e5b9267 100755
|
|
--- a/modules.d/80cms/cmssetup.sh
|
|
+++ b/modules.d/80cms/cmssetup.sh
|
|
@@ -82,13 +82,19 @@ processcmsfile() {
|
|
SUBCHANNELS="$(echo "$SUBCHANNELS" | sed 'y/ABCDEF/abcdef/')"
|
|
|
|
if [[ $NETTYPE ]]; then
|
|
- (
|
|
- echo -n "$NETTYPE","$SUBCHANNELS"
|
|
- [[ $PORTNAME ]] && echo -n ",portname=$PORTNAME"
|
|
- [[ $LAYER2 ]] && echo -n ",layer2=$LAYER2"
|
|
- [[ $NETTYPE == "ctc" ]] && [[ $CTCPROT ]] && echo -n ",protocol=$CTCPROT"
|
|
- echo
|
|
- ) >> /etc/ccw.conf
|
|
+ _cms_attrs=""
|
|
+ if [[ $PORTNAME ]]; then
|
|
+ if [[ $NETTYPE == lcs ]]; then
|
|
+ _cms_attrs="$_cms_attrs portno=$PORTNAME"
|
|
+ else
|
|
+ _cms_attrs="$_cms_attrs portname=$PORTNAME"
|
|
+ fi
|
|
+ fi
|
|
+ [[ $LAYER2 ]] && _cms_attrs="$_cms_attrs layer2=$LAYER2"
|
|
+ [[ $CTCPROT ]] && _cms_attrs="$_cms_attrs protocol=$CTCPROT"
|
|
+ # shellcheck disable=SC2086
|
|
+ chzdev --enable --persistent --yes --no-root-update --force \
|
|
+ "$NETTYPE" "$SUBCHANNELS" $_cms_attrs 2>&1 | vinfo
|
|
|
|
OLDIFS=$IFS
|
|
IFS=,
|
|
@@ -109,7 +115,6 @@ processcmsfile() {
|
|
[[ -f /etc/udev/rules.d/90-net.rules ]] \
|
|
|| printf 'SUBSYSTEM=="net", ACTION=="online", RUN+="/sbin/initqueue --onetime --env netif=$name source_hook initqueue/online"\n' >> /etc/udev/rules.d/99-cms.rules
|
|
udevadm control --reload
|
|
- znet_cio_free
|
|
fi
|
|
|
|
if [[ $DASD ]] && [[ $DASD != "none" ]]; then
|
|
--
|
|
2.42.0
|
|
|