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 usingset-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.