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

ostreecontainer fails to set kernel arguments

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • CentOS Stream 9
    • anaconda
    • No
    • Important
    • rhel-sst-installer
    • ssg_front_door
    • None
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • x86_64
    • None

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

      Deploying an OS from a bootable container via ostreecontainer fails with (program.log):

      ...
      12:05:56,401 INF program: Running... mount --bind /mnt/sysimage/ /mnt/sysroot/sysroot
      12:05:56,408 DBG program: Return code: 0
      12:05:59,492 INF program: Running in chroot '/mnt/sysroot'... bootupctl backend install --auto --write-uuid --device /dev/vda /
      12:05:59,758 INF program: Installed: grub.cfg
      12:05:59,759 DBG program: Return code: 0
      12:05:59,766 INF program: Running in chroot '/mnt/sysroot'... ostree admin instutil set-kargs console=ttyS0,115200 mitigations=off crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M root=UUID=cda61c28-4f0e-4355-a278-a5d5c848fee9 rw
      12:05:59,789 INF program: error: Unable to find a deployment in sysroot
      12:05:59,789 DBG program: Return code: 1
      

      The "ostree admin instutil set-kargs" receives arguments from bootloader, which was specified as

      bootloader --append="console=ttyS0,115200 mitigations=off"
      

      in the kickstart, and the crashkernel / root seem to be injected by Anaconda code, see: https://github.com/rhinstaller/anaconda/blob/3eb0eef5528/pyanaconda/modules/payloads/payload/rpm_ostree/installation.py#L574 .

      I'm not sure what causes the error, but trying to reproduce it manually when Anaconda aborts (within the ~5 minutes until it shuts down completely) wasn't very successful - trying to run the ostree in /mnt/sysimage as chroot didn't work,

      $ chroot /mnt/sysimage ostree admin instutil set-kargs console=ttyS0,115200 mitigations=off crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M root=UUID=cda61c28-4f0e-4355-a278-a5d5c848fee9 rw
      chroot: failed to run command 'ostree': No such file or directory
      

      while using its --sysimage option did work,

      $ ostree admin instutil set-kargs --sysroot=/mnt/sysimage console=ttyS0,115200 mitigations=off crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M root=UUID=cda61c28-4f0e-4355-a278-a5d5c848fee9 rw
      Bootloader updated; bootconfig swap: yes; bootversion: boot.0.1, deployment count change: 0
      

      but I suspect it didn't write the entries in the right place, as /mnt/sysimage doesn't look like a valid FHS structure, or anything similar.

      Either way, the error is there when it's run by Anaconda.

      What is the impact of this issue to you?

      I can't deploy the OS using ostreecontainer.

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

      From log: /usr/sbin/anaconda 34.25.5.10-1.el9

              anaconda-maint-list anaconda-maint-list
              jjaburek@redhat.com Jiri Jaburek
              anaconda-maint-list anaconda-maint-list
              Release Test Team Release Test Team
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated: