From 3898951fbfb0b7e9bb0b6eecaf1dca683dc1171c Mon Sep 17 00:00:00 2001 From: Eccles2 <268429471+Eccles2@users.noreply.github.com> Date: Sun, 15 Mar 2026 19:05:38 +0000 Subject: [PATCH 1/4] Set zypp backend as non-interactive. Update DEV_DEPS ENV variable to use ARG instead. --- Containerfile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Containerfile b/Containerfile index 8623b33..45d4bd1 100644 --- a/Containerfile +++ b/Containerfile @@ -1,5 +1,7 @@ FROM registry.opensuse.org/opensuse/tumbleweed:latest +ARG ZYPP_NON_INTERACTIVE=1 + RUN zypper install -y \ binutils \ btrfs-progs \ @@ -18,7 +20,7 @@ RUN zypper install -y \ zstd && \ zypper clean -a -ENV DEV_DEPS="git rust make cargo gcc-devel glib2-devel libzstd-devel openssl-devel ostree-devel" +ARG DEV_DEPS="git rust make cargo gcc-devel glib2-devel libzstd-devel openssl-devel ostree-devel" RUN --mount=type=tmpfs,dst=/tmp --mount=type=tmpfs,dst=/root \ zypper install -y ${DEV_DEPS} && \ git clone "https://github.com/bootc-dev/bootc.git" /tmp/bootc && \ @@ -27,7 +29,6 @@ RUN --mount=type=tmpfs,dst=/tmp --mount=type=tmpfs,dst=/root \ dracut --force --no-hostonly --force-drivers erofs --reproducible --zstd --verbose --kver "$KERNEL_VERSION" "/usr/lib/modules/$KERNEL_VERSION/initramfs.img"' && \ zypper remove -y ${DEV_DEPS} && \ zypper clean -a -ENV DEV_DEPS="" # Necessary for general behavior expected by image-based systems RUN echo "HOME=/var/home" | tee "/etc/default/useradd" && \ @@ -44,7 +45,7 @@ RUN echo "HOME=/var/home" | tee "/etc/default/useradd" && \ # Setup a temporary root passwd (changeme) for dev purposes # TODO: Replace this for a more robust option when in prod -RUN usermod -p '$6$AJv9RHlhEXO6Gpul$5fvVTZXeM0vC03xckTIjY8rdCofnkKSzvF5vEzXDKAby5p3qaOGTHDypVVxKsCE3CbZz7C3NXnbpITrEUvN/Y/' root +# RUN usermod -p '$6$AJv9RHlhEXO6Gpul$5fvVTZXeM0vC03xckTIjY8rdCofnkKSzvF5vEzXDKAby5p3qaOGTHDypVVxKsCE3CbZz7C3NXnbpITrEUvN/Y/' root # If you want a desktop :) # RUN zypper install -y -t pattern kde && zypper install -y konsole sddm-qt6 vim dolphin From 9b9d60f36584b23e85a9faf87f84d65c52704d33 Mon Sep 17 00:00:00 2001 From: Eccles2 <268429471+Eccles2@users.noreply.github.com> Date: Sun, 15 Mar 2026 19:07:36 +0000 Subject: [PATCH 2/4] Remove bootc install-initramfs-dract --- Containerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Containerfile b/Containerfile index 45d4bd1..08669d7 100644 --- a/Containerfile +++ b/Containerfile @@ -24,7 +24,7 @@ ARG DEV_DEPS="git rust make cargo gcc-devel glib2-devel libzstd-devel openssl-de RUN --mount=type=tmpfs,dst=/tmp --mount=type=tmpfs,dst=/root \ zypper install -y ${DEV_DEPS} && \ git clone "https://github.com/bootc-dev/bootc.git" /tmp/bootc && \ - make -C /tmp/bootc bin install-all install-initramfs-dracut && \ + make -C /tmp/bootc bin install-all && \ sh -c 'export KERNEL_VERSION="$(basename "$(find /usr/lib/modules -maxdepth 1 -type d | grep -v -E "*.img" | tail -n 1)")" && \ dracut --force --no-hostonly --force-drivers erofs --reproducible --zstd --verbose --kver "$KERNEL_VERSION" "/usr/lib/modules/$KERNEL_VERSION/initramfs.img"' && \ zypper remove -y ${DEV_DEPS} && \ From 756a6745691087114a3176f8ed63794d776ae156 Mon Sep 17 00:00:00 2001 From: Eccles2 <268429471+Eccles2@users.noreply.github.com> Date: Sun, 15 Mar 2026 19:09:11 +0000 Subject: [PATCH 3/4] Fix installed Dev Dependancies to include libostree-devel and go-md2man --- Containerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Containerfile b/Containerfile index 08669d7..b70a329 100644 --- a/Containerfile +++ b/Containerfile @@ -20,7 +20,7 @@ RUN zypper install -y \ zstd && \ zypper clean -a -ARG DEV_DEPS="git rust make cargo gcc-devel glib2-devel libzstd-devel openssl-devel ostree-devel" +ARG DEV_DEPS="git rust make cargo gcc-devel glib2-devel libzstd-devel openssl-devel libostree-devel go-md2man" RUN --mount=type=tmpfs,dst=/tmp --mount=type=tmpfs,dst=/root \ zypper install -y ${DEV_DEPS} && \ git clone "https://github.com/bootc-dev/bootc.git" /tmp/bootc && \ From 2289cd63e533f8aa1b1158f428a97d6eed8b123c Mon Sep 17 00:00:00 2001 From: Eccles2 <268429471+Eccles2@users.noreply.github.com> Date: Sun, 15 Mar 2026 19:11:16 +0000 Subject: [PATCH 4/4] Fix dracut not including the bootc module --- Containerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Containerfile b/Containerfile index b70a329..341023d 100644 --- a/Containerfile +++ b/Containerfile @@ -25,6 +25,8 @@ RUN --mount=type=tmpfs,dst=/tmp --mount=type=tmpfs,dst=/root \ zypper install -y ${DEV_DEPS} && \ git clone "https://github.com/bootc-dev/bootc.git" /tmp/bootc && \ make -C /tmp/bootc bin install-all && \ + printf "systemdsystemconfdir=/etc/systemd/system\nsystemdsystemunitdir=/usr/lib/systemd/system\n" | tee /usr/lib/dracut/dracut.conf.d/30-bootcrew-fix-bootc-module.conf && \ + printf 'reproducible=yes\nhostonly=no\ncompress=zstd\nadd_dracutmodules+=" bootc "' | tee "/usr/lib/dracut/dracut.conf.d/30-bootcrew-bootc-container-build.conf" && \ sh -c 'export KERNEL_VERSION="$(basename "$(find /usr/lib/modules -maxdepth 1 -type d | grep -v -E "*.img" | tail -n 1)")" && \ dracut --force --no-hostonly --force-drivers erofs --reproducible --zstd --verbose --kver "$KERNEL_VERSION" "/usr/lib/modules/$KERNEL_VERSION/initramfs.img"' && \ zypper remove -y ${DEV_DEPS} && \