I guess I 'lost the thread' here.   There is no
/etc/sysconfig/grub in s390x in a RHEL 7 sources rebuild
default install (as with our ClefOS).

Here is a long 'point by point' summation, and file and
contents dump, for a checklist.  As noted, I have not had to
trace out how dracut / grubby is 'massaging things, but most
of the rest is from a dead plain simple RHEL 7.4 sources
rebuild install (ClefOS 7)

1. Editing kernel boot time parameters is done in grubby /
dracut , and as it is s390x. the zipl settings in the 'conf'
files contained in: s390utils-base

[root@lclef01 network-scripts]# grubby --info=` grubby \
        --default-kernel `
index=0
kernel=/boot/vmlinuz-3.10.0-693.2.2.el7.s390x
args="crashkernel=auto rd.dasd=0.0.01b0 cio_ignore=all,!condev \
        LANG=en_US.UTF-8"
root=/dev/disk/by-path/ccw-0.0.01b0-part3
initrd=/boot/initramfs-3.10.0-693.2.2.el7.s390x.img
title=3.10.0-693.2.2.el7.s390x
[root@lclef01 network-scripts]#

[I added the  '\" continuation in the prior paste to show
that is all one line.]


2. One amends what 'grubby' uses thus:
        grubby --update-kernel=ALL --remove-args=quiet

or:
         grubby --update-kernel=ALL --args=quiet


3. I _believe_ but cannot demonstrate that 'grubby' is parsing
kernel 'parameter' lines not from a SPOT -- single point of
truth', but rather merging several sources, in the collection
of:
        - reading and parsing prior state

        - in the case of x86, from parsing:
                /etc/sysconfig/grub
                [NOT in play on s390x]

        - in the case of s390x, from parsing:
                /etc/zipl.conf

---------------------------

4. Then running an architecture specific command:

        for x86: grub2-mkconfig -o /etc/grub2.cfg

        for s390s, using helper scripts such as: znetconf
        (which detects, and 'properly' sets up network devices)
        and 'mkinitrd', to get to a valid 'initrd.

5. That initrd may be inspected thus:
        /usr/bin/lsinitrd | less

where one finds scripts, modules, udevd rules, and binaries
specific to 'Z', including:
        zfcp
        znet
        /usr/lib/dracut/hooks/cmdline/30-parse-zfcp.sh
        /usr/lib/dracut/hooks/cmdline/30-parse-dasd.sh
        /usr/lib/dracut/hooks/cmdline/31-parse-dasd-mod.sh
        
/usr/lib/modules/3.10.0-693.2.2.el7.s390x/kernel/drivers/s390/block/dasd_eckd_mod.ko
        
/usr/lib/modules/3.10.0-693.2.2.el7.s390x/kernel/drivers/s390/block/dasd_mod.ko
        /usr/lib/udev/rules.d/56-dasd.rules
        /usr/lib/udev/rules.d/59-dasd.rules
        /usr/sbin/dasd_cio_free
        /usr/sbin/dasdconf.sh
        /usr/sbin/dasdinfo
        /usr/sbin/normalize_dasd_arg
        /usr/sbin/zfcp_cio_free
        /usr/sbin/zfcpconf.sh
        /usr/sbin/znet_cio_free

6. That is, this is not a black art in play, but a customary
RHT approach to Linux boot matter, with the needed extensions
for the architecture. One can 'trace through' when there is a
problem, and see what is happening


[root@lclef01 etc]# uname -a
Linux lclef01.lf-dev.marist.edu 3.10.0-693.2.2.el7.s390x #1
        SMP Sat Sep 16 05:14:53 EDT 2017 s390x s390x s390x GNU/Linux
[root@lclef01 etc]# rpm -qa | grep grub
grubby-8.28-23.el7.s390x
[root@lclef01 etc]# rpm -ql grubby | grep "grub$"
[root@lclef01 etc]#

[root@lclef01 etc]# rpm -ql s390utils-base | grep "conf$"
/etc/dasd.conf
/etc/rc.d/init.d/dumpconf
/etc/sysconfig/dumpconf
/etc/zfcp.conf
/etc/zipl.conf
/sbin/qethconf
/sbin/znetconf

[root@lclef01 etc]# cat /etc/zipl.conf
[defaultboot]
defaultauto
prompt=1
timeout=5
default=3.10.0-693.2.2.el7.s390x
target=/boot
[3.10.0-693.2.2.el7.s390x]
        image=/boot/vmlinuz-3.10.0-693.2.2.el7.s390x
        parameters="root=/dev/disk/by-path/ccw-0.0.01b0-part3
crashkernel=auto rd.dasd=0.0.01b0 cio_ignore=all,!condev
LANG=en_US.UTF-8"
        ramdisk=/boot/initramfs-3.10.0-693.2.2.el7.s390x.img
[linux]
        image=/boot/vmlinuz-3.10.0-693.el7.s390x
        ramdisk=/boot/initramfs-3.10.0-693.el7.s390x.img
        parameters="root=/dev/disk/by-path/ccw-0.0.01b0-part3
crashkernel=auto rd.dasd=0.0.01b0 cio_ignore=all,!condev
LANG=en_US.UTF-8"
[linux-0-rescue-cc310857ab8f44e8b0853bd600c93306]

image=/boot/vmlinuz-0-rescue-cc310857ab8f44e8b0853bd600c93306

ramdisk=/boot/initramfs-0-rescue-cc310857ab8f44e8b0853bd600c93306.img
        parameters="root=/dev/disk/by-path/ccw-0.0.01b0-part3
crashkernel=auto rd.dasd=0.0.01b0 cio_ignore=all,!condev"
[root@lclef01 etc]#


7. Focusing in more closely, the mentioned 'condev' entries
are present by default:

[root@lclef01 etc]# cat /etc/zipl.conf | grep "condev"
        parameters="root=/dev/disk/by-path/ccw-0.0.01b0-part3
crashkernel=auto rd.dasd=0.0.01b0 cio_ignore=all,!condev
LANG=en_US.UTF-8"
        parameters="root=/dev/disk/by-path/ccw-0.0.01b0-part3
crashkernel=auto rd.dasd=0.0.01b0 cio_ignore=all,!condev
LANG=en_US.UTF-8"
        parameters="root=/dev/disk/by-path/ccw-0.0.01b0-part3
crashkernel=auto rd.dasd=0.0.01b0 cio_ignore=all,!condev"
[root@lclef01 etc]#


8. Prior comments

9. On Tue, 7 Nov 2017, canzon...@verizon.net wrote:

> Thank you for the response.  Umm... I'm not sure about this
> but I circumvented with

>  echo 'GRUB_CMDLINE_LINUX=net.ifnames=0' >>/etc/default/grub

I think this is not accurate


10. from Diep, David (OCTO) (OCTO) <david.d...@dc.gov>:

> Mark Post is right. RHEL 7 restricts use of ethN.

I dunno about 'restrict', but it is not germane in the usual
s390x and modern kernel approach

> Pre-RHEL7, I think by listing the subchannels in the network
> scripts, RHEL will remove device numbers by issuing
> cio_ignore at boot for you.  For RHEL7 you have to take an
> extra step of removing it in zipl.conf, as it is included
> after the installation:
>
> cio_ignore=all,!condev
> rd.znet=qeth,0.0.0f00,0.0.0f01,0.0.0f02,layer2=0,portno=0,portname=foo
> LANG=en_US.UTF-8"


11. > From: Mark Post

> That's not a circumvention, that's the solution to your
> problem.  Unless Red Hat decides to modify their kernels to
> use the old naming convention, this will continue to be
> needed until you modify all your scripts to handle the
> "predictable names."

I don't understand what you are seeking as a change from Red
Hat here, Mark


12. The interface files look perfectly 'customary' for a s390x
install

[root@lclef01 network-scripts]# pwd ; ls | grep "^ifcfg"
/etc/sysconfig/network-scripts
ifcfg-enccw0.0.0340
ifcfg-lo

[root@lclef01 network-scripts]# cat ifcfg-enccw0.0.0340
DEVICE="enccw0.0.0340"
UUID="b44130b7-2ec8-441c-8227-ffec288b6cad"
ONBOOT="yes"
BOOTPROTO="static"
 ...

Hope this helps -- I would appreciate being challenged,
corrected, or have my content extended, of course, on the list

-- Russ herrold

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390
----------------------------------------------------------------------
For more information on Linux on System z, visit
http://wiki.linuxvm.org/

Reply via email to