debian-forge-cli/doc/00-installation.md
Simon de Vlieger c38a24c780 doc: update usage
Make sure to pass `--distro` so the `minimal-raw-xz` image type exists,
not all distributions have it and since we're available on multiple it's
better to be explicit.

Signed-off-by: Simon de Vlieger <supakeen@redhat.com>
2025-08-22 06:27:03 +00:00

58 lines
1.8 KiB
Markdown

# Installation
`image-builder` packages are available in [Fedora](https://fedoraproject.org) ([package details](https://packages.fedoraproject.org/pkgs/image-builder/image-builder/)). You can also get a copy from other places listed here. After you have `image-builder` installed take a look at its [usage](./01-usage.md).
## Fedora or CentOS
Install `image-builder` with the following command:
```console
$ sudo dnf install image-builder
# ...
$ sudo image-builder build --distro fedora-42 minimal-raw-xz
# ...
```
## COPR
If you want to get a more recent version of `image-builder` you can enable the [COPR](https://copr.fedorainfracloud.org/) repository, this provides builds from the `main` branch.
```console
$ sudo dnf copr enable @osbuild/image-builder
# ...
$ sudo dnf install image-builder
# ...
$ sudo image-builder build --distro fedora-42 minimal-raw-xz
# ...
```
## Container
We build a container for the `x86_64` and `aarch64` architectures directly from our `main` branch. We need to run a privileged container due to the way filesystems work in Linux. The below command will build a Fedora 41 Minimal Raw disk image and put it into the mounted output directory.
```console
$ mkdir output
$ sudo podman run \
--privileged \
--rm \
-it \
-v ./output:/output \
ghcr.io/osbuild/image-builder-cli:latest \
build --distro fedora-42 minimal-raw-xz
# ...
```
## Source
Another option, and this might be most useful while hacking on the source is to run directly from a source checkout.
```console
$ sudo dnf install go git-core osbuild osbuild-depsolve-dnf osbuild-ostree osbuild-lvm2 osbuild-luks2
# ...
$ git clone github.com/osbuild/image-builder-cli
# ...
$ cd image-builder-cli
$ go build ./cmd/image-builder
# ...
$ sudo ./image-builder build --distro fedora-42 minimal-raw-xz
```