Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-83208

[mkksiso] Kernel command line modifcations are not present when booting from USB in UEFI mode

Linking RHIVOS CVEs to...Migration: Automation ...SWIFT: POC ConversionSync from "Extern...XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • rhel-9.7
    • rhel-9.6
    • lorax
    • lorax-34.9.27-1.el9
    • No
    • Moderate
    • image-builder-1
    • 10
    • None
    • False
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • Unspecified
    • Unspecified
    • Unspecified
    • None

      The RHEL-9.6 version behaves the same (lorax-34.9.26-1.el9.x86_64):

      What were you trying to do that didn't work?

      I modified a RHEL-10.0 ISO image using mkksiso tool, which included modifying the parameters on kernel command line. When I booted the ISO mounted as a USB disk device in a VM, the parameters were unchanged.

      Examination of the resulting ISO showed that there are two GRUB configuration files - first one on the main ISO9660 filesystem and a second one on a separate EFI boot partition, and only the first one was modified as expected. In my understanding, when booting from a USB device, the UEFI firmware actually boots using the content of the EFI boot partition, as opposed to booting from a CD-ROM device (doesn't matter if the machine uses UEFI or BIOS).

      This problem is not present with RHEL-9 boot ISOs, even though they also contain an EFI boot partition and the GRUB configuration file on the boot partition doesn't get modified either.

      Moreover, I found out that the original RHEL-10 boot ISO contains three partitions, however the resulting one after modification by mkksiso contains only two. The purpose of the third partition is unknown to me nevertheless, and I'm not sure if its removal has some negative effect, as I didn't perceive any, at least with x86_64 architecture.

      What is the impact of this issue to you?

      The missing modification to kernel command line parameters in USB+UEFI mode breaks some of our tests that rely on this functionality.

      Please provide the package NVR for which the bug is seen:

      lorax-40.5.11-1.el10.x86_64

      How reproducible is this bug?:

      100%

      Steps to reproduce

      1. get RHEL-10 boot ISO
      2. touch test.ks
        mkksiso -c "testparam" -r "rd.live.check" test.ks boot.iso boot-modified.iso
        losetup -f --show boot-modified.iso
        partprobe /dev/loop0
        mkdir /mnt/iso-boot
        mount /dev/loop0p2 /mnt/iso-boot
        grep linuxefi /mnt/iso-boot/EFI/BOOT/grub.cfg
        
      3. Examine the output.
      4. Prepare a VM in UEFI with the ISO image made available as a USB disk device, simulating installation from a USB flash drive.
      5. Boot into GRUB menu from the USB device and inspect the boot entries.

      Expected results

      The boot entries are modified as defined by the mkksiso parameters (in the same way as grub.cfg in the ISO9660 filesystem), the modified kernel command line is used for booting.

      Actual results

      The boot entries on the EFI boot partition are not modified and thus the original ones are used for booting.

              brlane@redhat.com Brian Lane
              rhn-support-jikortus Jiri Kortus
              Brian Lane Brian Lane
              Release Test Team Release Test Team
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated: