Chapter 2. Installing RHEL image builder
Before using RHEL image builder, you must install it.
2.1. RHEL image builder system requirements
The host that runs RHEL image builder must meet the following requirements:
Parameter | Minimal Required Value |
---|---|
System type | A dedicated host or virtual machine. Note that RHEL image builder is not supported in containers, including Red Hat Universal Base Images (UBI). |
Processor | 2 cores |
Memory | 4 GiB |
Disk space | 20 GiB of free space in the ` /var/cache/` filesystem |
Access privileges | root |
Network | Internet connectivity to the Red Hat Content Delivery Network (CDN). |
If you do not have internet connectivity, use RHEL image builder in isolated networks. For that, you must override the default repositories to point to your local repositories to not connect to Red Hat Content Delivery Network (CDN). Ensure that you have your content mirrored internally or use Red Hat Satellite.
2.2. Installing RHEL image builder
Install RHEL image builder to have access to all the osbuild-composer
package functionalities.
Prerequisites
- You are logged in to the RHEL host on which you want to install RHEL image builder.
- The host is subscribed to Red Hat Subscription Manager (RHSM) or Red Hat Satellite.
-
You have enabled the
BaseOS
andAppStream
repositories to be able to install the RHEL image builder packages.
Procedure
Install RHEL image builder and other necessary packages:
# yum install osbuild-composer composer-cli cockpit-composer
-
osbuild-composer
- A service to build customized RHEL operating system images. -
composer-cli
- This package enables access to the CLI interface. -
cockpit-composer
- This package enables access to the Web UI interface. The web console is installed as a dependency of thecockpit-composer
package.
-
Enable and start RHEL image builder socket:
# systemctl enable --now osbuild-composer.socket
If you want to use RHEL image builder in the web console, enable and start it.
# systemctl enable --now cockpit.socket
The
osbuild-composer
andcockpit
services start automatically on first access.Load the shell configuration script so that the autocomplete feature for the
composer-cli
command starts working immediately without logging out and in:$ source /etc/bash_completion.d/composer-cli
Restart the running
osbuild-composer
service on your RHEL host.# systemctl restart osbuild-composer
The osbuild-composer
package is the new backend engine that will be the preferred default and focus of all new functionality beginning with Red Hat Enterprise Linux 8.3 and later. The previous backend lorax-composer
package is considered deprecated, will only receive select fixes for the remainder of the Red Hat Enterprise Linux 8 life cycle and will be omitted from future major releases. It is recommended to uninstall lorax-composer
in favor of osbuild-composer.
Verification
Verify that the installation works by running
composer-cli
:# composer-cli status show
Troubleshooting
You can use a system journal to track RHEL image builder activities. Additionally, you can find the log messages in the file.
To find the journal output for traceback, run the following commands:
$ journalctl | grep osbuild
To show both remote or local workers:
$ journalctl -u osbuild-worker*
To show the running services:
$ journalctl -u osbuild-composer.service
2.3. Reverting to lorax-composer
RHEL image builder backend
The osbuild-composer
backend, though much more extensible, does not currently achieve feature parity with the previous lorax-composer
backend.
To revert to the previous backend, follow the steps:
Prerequisites
-
You have installed the
osbuild-composer
package
Procedure
Remove the osbuild-composer backend.
# yum remove osbuild-composer # yum remove weldr-client
In the
/etc/yum.conf file
, add an exclude entry forosbuild-composer
package.# cat /etc/yum.conf [main] gpgcheck=1 installonly_limit=3 clean_requirements_on_remove=True best=True skip_if_unavailable=False exclude=osbuild-composer weldr-client
Install the
lorax-composer
package.# yum install lorax-composer composer-cli
Enable and start the
lorax-composer
service to start after each reboot.# systemctl enable --now lorax-composer.socket # systemctl start lorax-composer
Additional resources