Add OS build instructions for Podman

This commit is contained in:
Jan Schär 2025-04-11 14:19:59 +02:00
parent bee5eb3984
commit 7a83c50208
1 changed files with 8 additions and 4 deletions

View File

@ -23,7 +23,7 @@ However, VirtualBox (contained in the installer variant) only works with Secure
## How to build an ISO ## How to build an ISO
We run the build inside a Docker container, so you need Docker installed on your host. We run the build inside a container, so you need Podman (or Docker) installed on your host.
Building works on Linux hosts, other OSes are untested. Building works on Linux hosts, other OSes are untested.
First, obtain the configuration files and put them in the folder `config`. First, obtain the configuration files and put them in the folder `config`.
@ -32,11 +32,16 @@ If you want to create your own config, see the folder `config-example` for examp
Run the following commands in the repository root folder. Run the following commands in the repository root folder.
The `--privileged` flag is needed for mounting `/proc` and similar in the target system root. The `--privileged` flag is needed for mounting `/proc` and similar in the target system root.
You can try replacing it with `--cap-add=sys_admin,mknod --security-opt apparmor=unconfined` to reduce the privileges.
```bash ```bash
mkdir -p osbuild/build mkdir -p osbuild/build
sudo podman pull debian:bookworm
sudo podman run --rm -it --privileged --mount type=bind,source="$(pwd)",target=/work --workdir /work/osbuild/build debian:bookworm
# Alternative with Docker:
sudo docker pull debian:bookworm sudo docker pull debian:bookworm
sudo docker run --rm -it --privileged --mount type=bind,source="$(pwd)",target=/work --workdir /work debian:bookworm sudo docker run --rm -it --privileged --mount type=bind,source="$(pwd)",target=/work --workdir /work/osbuild/build debian:bookworm
``` ```
Inside the container, run the following commands. Inside the container, run the following commands.
@ -50,7 +55,6 @@ apt-get update
# unzip: for codeblocks plugin # unzip: for codeblocks plugin
# build-essential, debhelper: for building custom udeb # build-essential, debhelper: for building custom udeb
apt-get install --no-install-recommends python3 ca-certificates live-build rsync cpio unzip build-essential debhelper apt-get install --no-install-recommends python3 ca-certificates live-build rsync cpio unzip build-essential debhelper
cd osbuild/build
python3 ../../os/build.py training-live python3 ../../os/build.py training-live
``` ```
@ -60,7 +64,7 @@ Once the build is finished, you will find the ISO at `osbuild/build/live-image-a
During development, it's convenient to test the OS in a virtual machine. During development, it's convenient to test the OS in a virtual machine.
Install QEMU on your host. Install QEMU on your host.
The following commands should be run outside the docker container. The following commands should be run outside the container.
```bash ```bash
# training-live, legacy and EFI boot: # training-live, legacy and EFI boot: