Steve Baker 4376f66407 rhel: work around RHEL-9 BLS issues
Similar to the CentOS-9-Stream fix [1] this change renames the default
BLS entry to match the current machine-id so that grub2-mkconfig calls
will refresh the kernel options.

However there is an additional issue with the rhel-9 base image. It is
unique in having a dedicated boot partition, so the path to the kernel
and initramfs don't include /boot. This results in an unbootable image
when /boot is a directory of the root partition.

These paths do not get corrected by calling grub2-mkconfig, so this
change performs a sed on the paths to fix them for a root partition
/boot.

[1] I327f5e7a95e47905c01138c8c4483f3f03e8efff
Change-Id: I37a1d310e1854f4a49725e355d484e456ea4fc7a
2022-02-22 13:43:18 +13:00
..
2021-03-08 07:00:15 +00:00

rhel

Use RHEL cloud images as the baseline for built disk images.

Because RHEL base images are not publicly available, it is necessary to first download the RHEL cloud image from the Red Hat Customer Portal and pass the path to the resulting file to disk-image-create as the DIB_LOCAL_IMAGE environment variable.

The cloud image can be found at (login required): RHEL8: https://access.redhat.com/downloads/content/479/ver=/rhel---8/8.0/x86_64/product-software RHEL7: https://access.redhat.com/downloads/content/69/ver=/rhel---7/7.1/x86_64/product-downloads

Then before running the image build, define DIB_LOCAL_IMAGE (replace the file name with the one downloaded, if it differs from the example):

export DIB_LOCAL_IMAGE=rhel-8.0-x86_64-kvm.qcow2

The downloaded file will then be used as the basis for any subsequent image builds.

For further details about building RHEL images, see the rhel-common and redhat-common element README files.

Environment Variables

DIB_LOCAL_IMAGE
Required

Yes

Default

None

Description

The RHEL 8 base image you have downloaded. See the element description above for more details.

Example

DIB_LOCAL_IMAGE=/tmp/rhel8-cloud.qcow2