Parsing of rd.zfcp is handled by s390-tools zdev dracut module 95zdev as of
https://github.com/ibm-s390-linux/s390-tools/commit/
06a30ae529a5d6ad2369ed81da056bf3a6147bb6
("zdev/dracut: add rd.zfcp cmdline option handling").
Even though this removes the last implementation of parsing rd.zfcp in
dracut, above s390-tools change introduces another implementation of
parsing the exact same rd.zfcp syntax. Therefore, it would be good to keep
the documentation in man/dracut.cmdline.7 of dracut as one central place
describing all s390 device types that dracut handles.
For the time being, keep copying /etc/zfcp.conf.
Retain the call of zfcp_cio_free so /etc/zfcp.conf gets processed even
with the typical cio_ignore kernel boot parameter ignoring most devices.
Also keep handling rd.zfcp.conf=0 so users can, at boot time, ignore
/etc/zfcp.conf already copied into initrd.
Preparation for consolidating persistent configuration with zdev.
Signed-off-by: Steffen Maier <maier@linux.ibm.com>
**rd.zfcp=**__<zfcp adaptor device bus ID>__,__<WWPN>__,__<FCPLUN>__::
rd.zfcp can be specified multiple times on the kernel command
line.
++
+NOTE:
+ This parameter is no longer handled by dracut itself but with the exact
+ same syntax by
+ https://github.com/ibm-s390-linux/s390-tools/tree/master/zdev/dracut/95zdev.
**rd.zfcp=**__<zfcp adaptor device bus ID>__::
If NPIV is enabled and the 'allow_lun_scan' parameter to the zfcp
- module is set to 'Y' then the zfcp adaptor will be initiating a
+ module is set to 'Y' then the zfcp driver will be initiating a
scan internally and the <WWPN> and <FCPLUN> parameters can be omitted.
+
+NOTE:
+ This parameter is no longer handled by dracut itself but with the exact
+ same syntax by
+ https://github.com/ibm-s390-linux/s390-tools/tree/master/zdev/dracut/95zdev.
++
[listing]
.Example
--
arch=${DRACUT_ARCH:-$(uname -m)}
[ "$arch" = "s390" -o "$arch" = "s390x" ] || return 1
- require_binaries zfcp_cio_free grep sed seq || return 1
+ require_binaries zfcp_cio_free sed || return 1
return 0
}
# called by dracut
install() {
inst_hook cmdline 30 "$moddir/parse-zfcp.sh"
- inst_multiple zfcp_cio_free grep sed seq
+ inst_multiple zfcp_cio_free sed
inst_script /sbin/zfcpconf.sh
inst_rules 56-zfcp.rules
getargbool 1 rd.zfcp.conf -d -n rd_NO_ZFCPCONF || rm /etc/zfcp.conf
-for zfcp_arg in $(getargs rd.zfcp -d 'rd_ZFCP='); do
- echo "$zfcp_arg" | grep '^0\.[0-9a-fA-F]\.[0-9a-fA-F]\{4\}\(,0x[0-9a-fA-F]\{16\},0x[0-9a-fA-F]\{16\}\)\?$' > /dev/null
- test $? -ne 0 && die "For argument 'rd.zfcp=$zfcp_arg'\nSorry, invalid format."
- (
- IFS=","
- # shellcheck disable=SC2086
- set $zfcp_arg
- echo "$@" >> /etc/zfcp.conf
- )
-done
-
zfcp_cio_free