Public bug reported:
The dracut (s390x-specific) modules 68cms, 74zfcp and 74znet are present
in the upstream source, but do not end up in any binary package.
As a result rd.znet and rd.zfcp have no effect on s390x, and no z/VM CMS
configuration file can be read.
The three modules are listed in debian/dracut-network.install.s390x, which is a
copy of debian/dracut-network.install:
usr/lib/dracut/modules.d/68cms
usr/lib/dracut/modules.d/74zfcp
usr/lib/dracut/modules.d/74znet
However, dracut-network is "Architecture: all". dh_install selects
debian/<package>.install.<arch> based on the build architecture, and an
architecture-independent binary is built only once, on a single
architecture. The .install.s390x file is therefore never selected, and
the three modules are dropped on every architecture, s390x included.
By contrast dracut-core is "Architecture: any", so its debian/dracut-
core.install.s390x is used on the s390x build and the modules listed
there, 74dasd and 74dasd_mod, are shipped correctly.
That smells like the dracut-network variant was copied from the dracut-
core one without noticing the different Architecture field.
# check:
$ dpkg-deb -c dracut-network_112-7_all.deb | grep -cE 'znet|zfcp|68cms'
0
There is no architecture-specific build of 'dracut-network'.
For comparison, the dracut-core modules do arrive:
$ dpkg-deb -c dracut-core_112-7_s390x.deb | grep -oE '74dasd[a-z_]*'
74dasd
74dasd_mod
Upstream carries all of them: dracut-ng tag 112 contains 68cms, 74dasd,
74dasd_mod, 74zfcp and 74znet under modules.d/.
# impact:
On s390x with a dracut-generated initramfs:
- rd.znet= has no effect, so channel-attached network devices, including
QETH/OSA and HiperSockets, cannot be configured from the kernel cmd-line. On a
system whose only network path needs a non-default relative port or layer, the
device cannot be brought up at all.
- rd.zfcp= has no effect, so an FCP LUN needed early cannot be activated from
the kernel command line.
- 68cms is absent, so a z/VM CMS configuration file cannot be read.
This grows in importance as the Ubuntu installer moves to dracut, and it
currently blocks the use of the established cross-distribution mechanism
for early IBM Z device configuration (see LP: #2170669)
# fix
List the three modules in the architecture-independent
d/dracut-network.install, and drop d/dracut-network.install.s390x entirely.
Shipping them on all architectures is harmless, because each one gates on the
architecture in its own check().
For example modules.d/74znet/module-setup.sh:
check() {
[ "$DRACUT_ARCH" = "s390" ] || [ "$DRACUT_ARCH" = "s390x" ] ||
return 1
require_binaries grep sed seq readlink chzdev || return 1
return 0
}
For 68cms and 74zfcp things are similar, as is 74dasd in dracut-core.
So dracut will therefore never include any of them in a non-s390 initramfs, and
the only cost elsewhere is a few kilobytes of shell script on disk.
# alternatives:
- Making dracut-network "Architecture: any" would work, but multiplies
the binary across every architecture for three small shell modules.
- Moving the modules into debian/dracut-core.install.s390x would work,
since that package is Architecture: any, but places network modules in
the core package.
And this btw. would also affect Debian, since we sync from Debian (with
no Ubuntu delta) - so in prep. that should probably also be forwarded to
Debian.
# verification:
dpkg-deb -c dracut-network_<fixed-version>_all.deb | grep -E
'modules.d/(68cms|74zfcp|74znet)'
On an s390x system, rd.znet= with non-default values actually takes effect.
However, testing with portno=0 or layer2=1 proves nothing, since those are
already the defaults.
debdiff against 112-7 is attached
** Affects: ubuntu-z-systems
Importance: Undecided
Status: New
** Affects: dracut (Ubuntu)
Importance: Undecided
Status: New
** Tags: s390x
** Also affects: ubuntu-z-systems
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2171808
Title:
s390x dracut modules 68cms, 74zfcp and 74znet are not shipped
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/2171808/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs