From 5da48cbd841f03fdc52497c524ce9aafa701f14c Mon Sep 17 00:00:00 2001 From: Angel Cervera Roldan <48255007+angelcerveraroldan@users.noreply.github.com> Date: Tue, 13 Jan 2026 15:12:05 +0000 Subject: [PATCH 1/4] Add `cosa osbuild qemu` command --- docs/building-fcos.md | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/docs/building-fcos.md b/docs/building-fcos.md index abffff8a0c..d4eb8530ec 100644 --- a/docs/building-fcos.md +++ b/docs/building-fcos.md @@ -185,24 +185,21 @@ repository. ## Performing a build -First, we fetch all the metadata and packages: - -``` -$ cosa fetch -``` - -And now we can build from these inputs: - ``` $ cosa build ``` Each build will create a new directory in `$PWD/builds/`, containing the -generated OSTree commit (as a tarball) and the qemu VM image. +generated OSTree commit (as a tarball). Next, rerun `cosa build` and notice the system correctly -deduces that nothing changed. You can run `cosa fetch` -again to check for updated RPMs. +deduces that nothing changed. + +At this point we can generate an image. To generate a QEMU image, we can run: + +``` +$ cosa osbuild qemu +``` ## Running From 9579ea18c665b537442ce78fe2ac22ba2807eede Mon Sep 17 00:00:00 2001 From: Angel Cervera Roldan <48255007+angelcerveraroldan@users.noreply.github.com> Date: Tue, 13 Jan 2026 15:34:22 +0000 Subject: [PATCH 2/4] Add osbuild to main commands --- docs/cosa.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/cosa.md b/docs/cosa.md index 45171035e8..8f11b7d9b1 100644 --- a/docs/cosa.md +++ b/docs/cosa.md @@ -13,12 +13,13 @@ supported arguments. | Name | Description | | ---- | ----------- | -| [build](https://github.com/coreos/coreos-assembler/blob/main/src/cmd-build) | Build OSTree and image base artifacts from previously fetched packages +| [build](https://github.com/coreos/coreos-assembler/blob/main/src/cmd-build) | Build OSTree from previously fetched packages | [clean](https://github.com/coreos/coreos-assembler/blob/main/src/cmd-clean) | Delete all build artifacts | [fetch](https://github.com/coreos/coreos-assembler/blob/main/src/cmd-fetch) | Fetch and import the latest packages | [init](https://github.com/coreos/coreos-assembler/blob/main/src/cmd-init) | Setup the current working directory for CoreOS Assembler and clone the given project URL as Git config | [kola](https://github.com/coreos/coreos-assembler/blob/main/src/cmd-kola) | Run tests with [kola](kola.md) | [list](https://github.com/coreos/coreos-assembler/blob/main/src/cmd-list) | List builds available locally +| [osbuild](https://github.com/coreos/coreos-assembler/blob/main/src/cmd-osbuild) | Create an image for a given platform | [run](https://github.com/coreos/coreos-assembler/blob/main/src/cmd-run) | Run a CoreOS instance in QEMU with access to a root shell | [shell](https://github.com/coreos/coreos-assembler/blob/main/src/cmd-shell) | Get an interactive shell or run a command in a CoreOS Assembler container | [virt-install](https://github.com/coreos/coreos-assembler/blob/main/src/cmd-virt-install) | "Install" a CoreOS system with libvirt From ae63b090249bbb77a6efcd44ca07b94c1662eaee Mon Sep 17 00:00:00 2001 From: Angel Cervera Roldan <48255007+angelcerveraroldan@users.noreply.github.com> Date: Tue, 13 Jan 2026 15:34:32 +0000 Subject: [PATCH 3/4] Remove buildextend commands --- docs/cosa.md | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/docs/cosa.md b/docs/cosa.md index 8f11b7d9b1..0c98fe9af5 100644 --- a/docs/cosa.md +++ b/docs/cosa.md @@ -34,20 +34,6 @@ not produce an image with your changes): | [build-fast](https://github.com/coreos/coreos-assembler/blob/main/src/cmd-build-fast) | Creates a new QCOW2 image from an existing build and updates the ostree commit with local overrides. This will only change files located in the final root (i.e. part of an ostree commit). | [buildinitramfs-fast](https://github.com/coreos/coreos-assembler/blob/main/src/cmd-buildinitramfs-fast) | Create a new QCOW2 image from an existing build and updates the initramfs with local overrides. This will not re-run dracut to rebuild the initramfs. -## buildextend commands - -By default, the `build` command will build an OSTree and a QEMU image as base -artifacts. Those commands extend those artifacts to make them functional on -other platforms or cloud providers: - -| Name | Description | -| ---- | ----------- | -| [buildextend-live](https://github.com/coreos/coreos-assembler/blob/main/src/cmd-buildextend-live) | Generate the Live ISO -| [buildextend-{dasd,metal,metal4k,qemu,secex}](https://github.com/coreos/coreos-assembler/blob/main/src/cmd-buildextend-metal) | Generate artifacts for the given platforms -| [buildextend-{aliyun,aws,azure,digitalocean,exoscale,gcp,vultr}](https://github.com/coreos/coreos-assembler/blob/main/src/cmd-ore-wrapper) | Generate artifacts for the given platforms -| [buildextend-{azurestack,ibmcloud,openstack,vmware}](https://github.com/coreos/coreos-assembler/blob/main/src/cmd-artifact-disk) | Generate artifacts for the given platforms -| [{aliyun,aws}-replicate](https://github.com/coreos/coreos-assembler/blob/main/src/cmd-ore-wrapper) | Replicate images on the platforms (AMIs for AWS) - ## Misc commands Those less commonly used commands are listed here: From b799ac0b3a3c1817691aa4389ee776b80b36ab37 Mon Sep 17 00:00:00 2001 From: Angel Cervera Roldan <48255007+angelcerveraroldan@users.noreply.github.com> Date: Mon, 19 Jan 2026 11:12:18 +0000 Subject: [PATCH 4/4] Better wording --- docs/building-fcos.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/building-fcos.md b/docs/building-fcos.md index d4eb8530ec..803b2134af 100644 --- a/docs/building-fcos.md +++ b/docs/building-fcos.md @@ -185,17 +185,19 @@ repository. ## Performing a build +We will now build the bootable container (ostree) and image base artifacts, which +can later be used to produce images for specific target platforms. Each build generates +a new directory in `$PWD/builds/`. + ``` $ cosa build ``` -Each build will create a new directory in `$PWD/builds/`, containing the -generated OSTree commit (as a tarball). - Next, rerun `cosa build` and notice the system correctly deduces that nothing changed. -At this point we can generate an image. To generate a QEMU image, we can run: +At this point we can generate a platform-specific image, we will generate a +qemu image by running: ``` $ cosa osbuild qemu