ostree-config/build/README.md
2023-02-28 13:48:28 -05:00

59 lines
2.2 KiB
Markdown

## How to Build
### Notes on Building
- At the moment this config is built manually using the commands below. The end goal will be to incorporate this
into [Empanadas](https://github.com/rocky-linux/sig-core-toolkit). That being said the build tools provided here should
be considered a proof of concept at best, and will most likely be removed in the future.
- Depending on your setup, you may need to run the following commands as root.
### Tree & ISO
```
make
```
Composes an ostree commit based on the current config, updates the local repo, then creates an installation ISO which embeds the
local repo. For more control continue reading.
### Tree Composition
```
make init
```
Sanitizes the build env and creates an empty ostree repo. This step is only needed if you want to start
fresh. If you wish to build commits on top of existing rocky ostree create a mirror. See `make mirror`.
```
make mirror
```
Sanitizes the build env and mirror the ostree from the rockylinux.org remote. This is useful when you want a known working
starting point to commit on top of.
```
make tree
```
Composes a new tree commit based on the current manifest(s). At the moment, this is hardcoded to compose `../manifest.8-minimal.yaml`.
### Installer ISO
```
make iso
```
Creates an installation ISO of the current local tree in `./repo`.
#### Notes
1. The resulting ISO embeds the newest tree commit (depth 0). Currently, this is hardcoded to the `.../minimal/devel` ref.
2. The resulting ISO is a standard anaconda installer which will require the user to config users, network, etc. The "special sauce"
is the embedded kickstart file that calls `ostreesetup ...`. See `/lorax-templates/lorax-configure-repo.tmpl` or `kickstarts/rockylinux-8-x86_64-minimal-devel.ks` .
### Host Local Repo Server
```
make test-server
```
Deploys a nginx container to host `./repo` for testing purposes.
Note that you will need to manually add a remote to your ostree installation for this test server. This can be done like so:
```
ostree remote add --no-gpg-verify test-server http://your.ip.address.here:9001/
```
From there you can rebase your installation to the test server like so:
```
rpm-ostree rebase --remote test-server -b rockylinux/8/x86_64/minimal/devel
```