Install Fedora Silverblue 41 first. Then upgrade and reboot. Then run
bootc switch ghcr.io/averms/verms-os:latest
If you would like to build a qcow2 image for running under qemu, use
./go.sh build-qcow2
. If you would like to build an ISO for interactive installation
on bare-metal, use ./go.sh build-iso
. These rely on the currently unstable
bootc-image-builder, so your mileage may vary.
The structure of the project is
.
├── Dockerfile
├── build_scripts
└── system_files
├── etc
│ ├── X11
│ │ └── xorg.conf.d
│ ├── dnf
│ │ └── dnf5-aliases.d
│ ├── firewalld
│ │ └── zones
│ ├── sudoers.d
│ ├── systemd
│ │ └── system
│ │ ├── tailscaled.service.d
│ │ └── wpa_supplicant.service.d
│ └── yum.repos.d
└── usr
└── lib
├── sysusers.d
└── tmpfiles.d
system_files/
contains files that are copied over /
wholesale during image creation.
Note that we put our sysusers.d(5) and tmpfiles.d(5) configuration in /usr/lib/
instead of in /etc/
. This is just because bootc container lint
yells at us if we
don't (and we assume it has a point).
build_scripts/
includes shell scripts that are run during image creation. The shell
scripts use package lists also included in that directory.
Dockerfile
is used by podman to build the OCI image that is verms OS.
I learned a lot from reading the code of the following projects: