Skip to content

Commit 038c6a6

Browse files
committed
Add a bit about bootc
1 parent cdc1815 commit 038c6a6

File tree

1 file changed

+51
-1
lines changed

1 file changed

+51
-1
lines changed

README.md

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,56 @@ The provided `Makefile` includes several useful commands for local development a
8080

8181
> **Note:** You may need `sudo` privileges and Podman installed. For more details, see the `Makefile`. QEMU is only optionally needed for local testing.
8282
83+
## Using your image with bootc
84+
85+
Your respin is designed to work with [bootc](https://github.com/containers/bootc), a tool for managing and updating container-based operating system images. Here are some basics to get you started:
86+
87+
### Installing your image
88+
89+
Build or download the ISO for your image, boot into it and follow the installation procedure.
90+
91+
### Switching from another image
92+
93+
> [!CAUTION]
94+
> This is entirely unsupported and may not work at all.
95+
96+
If you're already running a bootc image and wish to change to this one, you may be able to do this via `bootc switch`. As you won't have the correct signing key or configuration, you'll have to run it twice:
97+
98+
```sh
99+
sudo bootc switch --transport registry <REGISTRY>/<IMAGE_PATH>/<IMAGE_NAME>:latest
100+
```
101+
102+
(fill in `<REGISTRY>/<IMAGE_PATH>/<IMAGE_NAME>` with your actual bootc image location)
103+
104+
After this, reboot into your new image. Now we can fix it to enforce key verification:
105+
106+
```sh
107+
sudo bootc switch --mutate-in-place --transport registry --enforce-container-sigpolicy <REGISTRY>/<IMAGE_PATH>/<IMAGE_NAME>:latest
108+
```
109+
110+
Now your image should be able to update itself correctly.
111+
112+
### Upgrading your system
113+
114+
Once installed, your system will automatically check for updates in the background using a systemd unit provided by bootc. You can also manually trigger an upgrade:
115+
116+
```sh
117+
sudo bootc upgrade
118+
```
119+
120+
This will pull the latest image and prepare it for the next boot. On reboot, the system will run the new image version.
121+
122+
### Checking status and troubleshooting
123+
124+
- To see the current image and status:
125+
```sh
126+
bootc status
127+
```
128+
- To roll back to the previous image after an upgrade:
129+
```sh
130+
sudo bootc rollback
131+
```
132+
83133
## Continuous Integration (CI)
84134

85135
This template is set up with GitHub Actions workflows to build, test, and (optionally) sign your images automatically on every push or pull request. See the `.github/workflows/` directory for details.
@@ -94,6 +144,6 @@ This template is set up with GitHub Actions workflows to build, test, and (optio
94144

95145
- [AlmaLinux Atomic SIG](https://wiki.almalinux.org/sigs/Atomic.html)
96146
- [AlmaLinux Atomic Desktop Images](https://github.com/AlmaLinux/atomic-desktop)
97-
- [bootc-image-builder](https://github.com/osbuild/bootc-image-builder)
147+
- [bootc documentation](https://github.com/containers/bootc)
98148
- [Podman documentation](https://podman.io/)
99149
- [QEMU documentation](https://www.qemu.org/)

0 commit comments

Comments
 (0)