add image builder notes

This commit is contained in:
2025-10-22 16:57:05 -04:00
parent 3fed164193
commit 9038962f29
2 changed files with 120 additions and 0 deletions

View File

@@ -0,0 +1,54 @@
name = "fedora-42-base"
description = "Fedora 42 Base Installation"
version = "0.0.1"
distro = "fedora-42"
modules = []
groups = []
[customizations]
hostname = "f42-base"
[[customizations.disk.partitions]]
type = "btrfs"
minsize = "32 GiB"
[[customizations.disk.partitions.subvolumes]]
name = "root"
mountpoint = "/"
[[customizations.disk.partitions.subvolumes]]
name = "home"
mountpoint = "/home"
[customizations.timezone]
timezone = "America/New_York"
[[customizations.sshkey]]
user = "root"
key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGQa781Qj8mNlUdRquFFqg0O2ornG9SBHe705y4+1vPI ssh@ducoterra.net"
[customizations.firewall.services]
enabled = ["ssh"]
[customizations.services]
enabled = ["sshd"]
[[packages]]
name = "bash-completion"
version = "*"
[[packages]]
name = "tmux"
version = "*"
[[packages]]
name = "openssh-server"
version = "*"
[[packages]]
name = "vim"
version = "*"
[[packages]]
name = "git"
version = "*"

View File

@@ -0,0 +1,66 @@
# Image Builder
<https://osbuild.org/docs/user-guide/blueprint-reference/>
## Warning
From the [Red Hat
Documentation](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html-single/composing_installing_and_managing_rhel_for_edge_images/index):
> 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
```bash
# 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
```bash
composer-cli blueprints push active/software_osbuild/fedora-42-base.toml
# List blueprints
composer-cli blueprints list
```
3. Generate the image
```bash
# 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
```bash
# 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
```