|
1 | | -# vanillin [](https://github.com/xynydev/vanillin/actions/workflows/build.yml) |
| 1 | +# BlueBuild VanillaOS Testing [](https://github.com/xynydev/vanillin/actions/workflows/build.yml) |
2 | 2 |
|
3 | | -See the [BlueBuild docs](https://blue-build.org/how-to/setup/) for quick setup instructions for setting up your own repository based on this template. |
| 3 | +This is a template / testing ground for building custom images based on VanillaOS using BlueBuild. |
4 | 4 |
|
5 | | -After setup, it is recommended you update this README to describe your custom image. |
| 5 | +To use this, generate a new repo based on the template. To make the builds not fail at the signing steps, follow the instructions here: https://blue-build.org/how-to/cosign/ (you can install `skopeo` on Vanilla with `sudo apt install skopeo`). |
6 | 6 |
|
7 | 7 | ## Installation |
8 | 8 |
|
9 | | -> **Warning** |
10 | | -> [This is an experimental feature](https://www.fedoraproject.org/wiki/Changes/OstreeNativeContainerStable), try at your own discretion. |
| 9 | +To rebase an existing VanillaOS installation to the latest build: |
11 | 10 |
|
12 | | -To rebase an existing atomic Fedora installation to the latest build: |
13 | | - |
14 | | -- First rebase to the unsigned image, to get the proper signing keys and policies installed: |
15 | | - ``` |
16 | | - rpm-ostree rebase ostree-unverified-registry:ghcr.io/xynydev/vanillin:latest |
17 | | - ``` |
18 | | -- Reboot to complete the rebase: |
19 | | - ``` |
20 | | - systemctl reboot |
| 11 | +- First change your base image to the custom image: |
21 | 12 | ``` |
22 | | -- Then rebase to the signed image, like so: |
| 13 | + IMAGE=xynydev/vanillin # change this |
| 14 | + host-shell -- run0 bash -c "jq -r '.name |= \"$IMAGE\"' /etc/abroot/abroot.json > /etc/abroot/abroot_tmp.json && mv /etc/abroot/abroot_tmp.json /etc/abroot/abroot.json" |
23 | 15 | ``` |
24 | | - rpm-ostree rebase ostree-image-signed:docker://ghcr.io/xynydev/vanillin:latest |
| 16 | +- Upgrade and reboot to complete the installation: |
25 | 17 | ``` |
26 | | -- Reboot again to complete the installation |
27 | | - ``` |
28 | | - systemctl reboot |
| 18 | + abroot upgrade |
| 19 | + host-shell -- systemctl reboot |
29 | 20 | ``` |
30 | 21 |
|
31 | 22 | The `latest` tag will automatically point to the latest build. That build will still always use the Fedora version specified in `recipe.yml`, so you won't get accidentally updated to the next major version. |
32 | 23 |
|
33 | | -## ISO |
34 | | - |
35 | | -If build on Fedora Atomic, you can generate an offline ISO with the instructions available [here](https://blue-build.org/learn/universal-blue/#fresh-install-from-an-iso). These ISOs cannot unfortunately be distributed on GitHub for free due to large sizes, so for public projects something else has to be used for hosting. |
36 | | - |
37 | 24 | ## Verification |
38 | 25 |
|
39 | 26 | These images are signed with [Sigstore](https://www.sigstore.dev/)'s [cosign](https://github.com/sigstore/cosign). You can verify the signature by downloading the `cosign.pub` file from this repo and running the following command: |
40 | 27 |
|
41 | 28 | ```bash |
42 | 29 | cosign verify --key cosign.pub ghcr.io/xynydev/vanillin |
43 | 30 | ``` |
| 31 | + |
0 commit comments