diff --git a/active/software_osbuild/fedora-42-base.toml b/active/software_osbuild/fedora-42-base.toml new file mode 100644 index 0000000..9806d38 --- /dev/null +++ b/active/software_osbuild/fedora-42-base.toml @@ -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 = "*" \ No newline at end of file diff --git a/active/software_osbuild/image_builder.md b/active/software_osbuild/image_builder.md new file mode 100644 index 0000000..0f3260d --- /dev/null +++ b/active/software_osbuild/image_builder.md @@ -0,0 +1,66 @@ +# Image Builder + + + +## 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 + ```