Bug 2049192

Summary: ISO generated by mkksiso doesn't have updated kernel cmdline when booting in KVM/s390x
Product: Red Hat Enterprise Linux 9 Reporter: Jan Stodola <jstodola>
Component: loraxAssignee: Brian Lane <bcl>
Status: CLOSED ERRATA QA Contact: Release Test Team <release-test-team-automation>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 9.0   
Target Milestone: rc   
Target Release: ---   
Hardware: s390x   
OS: Unspecified   
Whiteboard:
Fixed In Version: lorax-34.9.13-1.el9 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-05-17 12:34:04 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1942219    

Description Jan Stodola 2022-02-01 17:29:19 UTC
This bug was initially created as a copy of Bug #2049190

I am copying this bug because: 
The same problem exists on RHEL-9.0 with lorax-34.9.10-1.el9.


Description of problem:
ISO file with an inserted kickstart using mkksiso doesn't have updated kernel command line when the generated ISO is started in KVM:

[root@s390x-kvm-008 ~]# echo vnc > sample.ks
[root@s390x-kvm-008 ~]# mkksiso sample.ks boot.iso /var/lib/libvirt/images/ks_boot.iso
Failed to set locale, defaulting to C.UTF-8
INFO:Running... mount -o loop /root/boot.iso /tmp/lorax.imgutils.e293lcjs
INFO:mount: /tmp/lorax.imgutils.e293lcjs: WARNING: device write-protected, mounted read-only.
INFO:Running... isoinfo -d -i /root/boot.iso
INFO:CD-ROM is in ISO 9660 format
INFO:System id: LINUX
INFO:Volume id: RHEL-8-6-0-BaseOS-s390x
INFO:Volume set id:
INFO:Publisher id:
INFO:Data preparer id:
INFO:Application id: GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM
INFO:Copyright File id:
INFO:Abstract File id:
INFO:Bibliographic File id:
INFO:Volume set size is: 1
INFO:Volume set sequence number is: 1
INFO:Logical block size is: 2048
INFO:Volume size is: 338565
INFO:El Torito VD version 1 found, boot catalog is in sector 34
INFO:Joliet with UCS level 3 found
INFO:Rock Ridge signatures version 1 found
INFO:Eltorito validation header:
INFO:Hid 1
INFO:Arch 0 (x86)
INFO:ID ''
INFO:Key 55 AA
INFO:Eltorito defaultboot header:
INFO:Bootid 88 (bootable)
INFO:Boot media 0 (No Emulation Boot)
INFO:Load segment 0
INFO:Sys type 0
INFO:Nsect 4
INFO:Bootoff 25 37
INFO:Volume Id = RHEL-8-6-0-BaseOS-s390x
INFO:Using mkisofs to create the new iso
WARNING:No isolinux/isolinux.cfg file found
WARNING:No EFI directory file found
WARNING:No boot/grub/grub.cfg file found
INFO:grafts = [('/tmp/mkksiso-xbwhu2jz/generic.ins', 'generic.ins'), ('/tmp/mkksiso-xbwhu2jz/images', 'images'), ('/root/sample.ks', 'sample.ks')]
I: -input-charset not specified, using utf-8 (detected in locale settings)
Size of boot image is 4 sectors -> No emulation
  1.48% done, estimate finish Tue Feb  1 11:41:09 2022
...
 98.95% done, estimate finish Tue Feb  1 11:41:09 2022
Total translation table size: 2048
Total rockridge attributes bytes: 1375
Total directory bytes: 2048
Path table size(bytes): 24
Max brk space used 0
338563 extents written (661 MB)
INFO:Running... umount /tmp/lorax.imgutils.e293lcjs
[root@s390x-kvm-008 ~]#

[root@s390x-kvm-008 ~]# virt-install --cdrom /var/lib/libvirt/images/ks_boot.iso --name test  --memory 2048 --disk size=10
...

Later in the installation environment:

[anaconda root@localhost /]# cat /proc/cmdline 
ro inst.stage2=hd:LABEL=RHEL-8-6-0-BaseOS-s390x
[anaconda root@localhost /]#


Content of files on the generated ISO:

[root@s390x-kvm-008 ~]# mount -o loop,ro ks_boot.iso iso/
[root@s390x-kvm-008 ~]# ls iso/
generic.ins  images  sample.ks
[root@s390x-kvm-008 ~]# cat iso/images/cdboot.prm 
ro inst.stage2=hd:LABEL=RHEL-8-6-0-BaseOS-s390x
[root@s390x-kvm-008 ~]# cat iso/images/generic.prm 
ro ramdisk_size=40000 cio_ignore=all,!condev
inst.ks=hd:LABEL=RHEL-8-6-0-BaseOS-s390x:/sample.ks 
[root@s390x-kvm-008 ~]#


Version-Release number of selected component (if applicable):
lorax-28.14.64-1.el8

How reproducible:
Always

Steps to Reproduce:
1. see above

Actual results:
Kickstart installation doesn't start, because the kernel cmdline is not updated with the path to the kickstart file.

Expected results:
Installation starts according to the content of the kickstart file.

Comment 1 Brian Lane 2022-02-02 18:26:36 UTC
I think this will fix it:

https://github.com/weldr/lorax/pull/1210

(currently untested though)

Comment 2 Brian Lane 2022-02-03 18:37:18 UTC
(In reply to Brian Lane from comment #1)
> I think this will fix it:
> 
> https://github.com/weldr/lorax/pull/1210
> 
> (currently untested though)

Updated PR (ends up the missing part was recreating the cdboot.img with the new cdboot.prm included). Tested on RHEL 8.6 s390x and on x86_64.

Comment 8 Jan Stodola 2022-02-16 16:55:47 UTC
lorax-34.9.13-1.el9 is included in RHEL-9.0.0-20220215.4.

Moving to VERIFIED.

Comment 10 errata-xmlrpc 2022-05-17 12:34:04 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (new packages: lorax), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2022:2345