Custom RHCOS Live ISO

Red Hat does not provide commercial support for any of these tools or repos

#############################################################################
DISCLAIMER: UNSUPPORTED COMMUNITY TOOLS

THE REFERENCES ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
#############################################################################

Usage

  • Create a set-environment file using set-environment-UPDATE-THIS as template
  • Update first-boot-live-iso.sh if necesarry. That script will be generated in memory in the server booting the image
  • Execute ./00-generate-custom-live-iso.sh with the desired flags to generate the custom ISO images
./OO-generate-custom-live-iso.sh add-nodes 

How it works

The generated custom RHCOS Live ISO image has an embedded Igntion file (/root/config.ign) that will be based on the option selected to generate the custom ISO. This can be an ignition file generated by UPI, a custom Ignition or a rendered Ignition file. On boot, the live ISO executes the /usr/local/bin/first.sh whose source is the first-boot-live-iso.sh. That boot script can do anything required (from discovery agent to simple installation). The example included in this repo attempts to detect the first block device and execute coreos-installer to install RHCOS to the block device and inject the /root/config.ign as the Ignition for the installation.

In the case of the coreos-installer arguments, any parameters in the --firstboot-args will only be executing during the first boot of the node after the pivot. Arguments with --append-karg will be persistent in the node for any subsecuent boot.