Files
homelab/active/software_osbuild/image_builder.md
ducoterra c5748d81da
All checks were successful
Podman DDNS Image / build-and-push-ddns (push) Successful in 3m58s
add tagline to image builder docs
2025-10-22 16:58:59 -04:00

1.6 KiB

Image Builder

Builds Fedora/RHEL/Centos images like Packer but for Red Hat.

https://osbuild.org/docs/user-guide/blueprint-reference/

Warning

From the Red Hat Documentation:

You cannot build an operating system image that differs from the RHEL image builder host. For example, you cannot use a RHEL system to build Fedora or CentOS images.

Installing

# Install the packages
dnf install -y osbuild-composer composer-cli

# Start/enable the service
systemctl enable --now osbuild-composer.socket

# Optional: add your user to the weldr group
sudo usermod -aG weldr $USER

# Optional: cockpit dependency
dnf install -y cockpit-composer

Building Images

  1. Create a toml file describing your image

    See fedora-42-base.toml for an example.

  2. Push the toml to composer

    composer-cli blueprints push active/software_osbuild/fedora-42-base.toml
    
    # List blueprints
    composer-cli blueprints list
    
  3. Generate the image

    # List image types
    composer-cli compose types
    
    # Build the image
    composer-cli compose start fedora-42-base qcow2
    
    # Check status
    composer-cli compose status
    
  4. Run the image

    # Download the image
    composer-cli compose image --filename ~/Downloads/fedora-42-base.qcow2 image-uuid
    
    # Test with qemu
    qemu-kvm --name test-fedora-42-base -m 4096 -hda ~/Downloads/fedora-42-base.qcow2