From 923439b5e6d78650a10be6139973e6da19658b470fda2f226e870b4984bfcdeb Mon Sep 17 00:00:00 2001 From: Rhys Oxenham Date: Thu, 17 Apr 2025 13:11:33 +0100 Subject: [PATCH] Updates SUSE Edge 3.2 branch with updated Kiwi image builder base In December 2024, the upstream Kiwi team dropped the md5 checksum for generated images and went with sha256, for good reason: https://github.com/OSInside/kiwi/commit/d4d39e481aaff8be28337a9c76c3913a8a482628 These changes have recently been reflected in updated `dracut-kiwi-oem-repart` and `dracut-kiwi-oem-dump` Dracut modules, bumping to a 10.2 codebase, which expect the sha256 checksum to be available at install time on SelfInstall ISO images. However, in the current branch of the Kiwi builder, we use 10.1, which generates md5 checksums, resulting in an error at deployment time as the Dracut modules cannot find the sha256 checksum file. NOTE: This is being put into the 3.2 branch *only* right now, as it relies on Micro 6.0; the Kiwi changes have not yet permeated into Micro 6.1, so we'll need to forward-port this into 3.3 when 6.1 has the new modules. Micro 6.1 images can still be built successfully on the Kiwi 10.1 branches with md5. --- kiwi-builder-image/Dockerfile | 8 ++++---- kiwi-builder-image/README | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/kiwi-builder-image/Dockerfile b/kiwi-builder-image/Dockerfile index 4ff28c9..c661aea 100644 --- a/kiwi-builder-image/Dockerfile +++ b/kiwi-builder-image/Dockerfile @@ -1,6 +1,6 @@ -#!BuildTag: %%IMG_PREFIX%%kiwi-builder:10.1.16.0 -#!BuildTag: %%IMG_PREFIX%%kiwi-builder:10.1.16.0-%RELEASE% -FROM registry.suse.com/bci/kiwi:10.1.16 +#!BuildTag: %%IMG_PREFIX%%kiwi-builder:10.2.12.0 +#!BuildTag: %%IMG_PREFIX%%kiwi-builder:10.2.12.0-%RELEASE% +FROM registry.suse.com/bci/kiwi:10.2.12 MAINTAINER SUSE LLC (https://www.suse.com/) # Define labels according to https://en.opensuse.org/Building_derived_containers @@ -12,7 +12,7 @@ LABEL org.opencontainers.image.version="%PACKAGE_VERSION%" LABEL org.opencontainers.image.url="https://www.suse.com/solutions/edge-computing/" LABEL org.opencontainers.image.created="%BUILDTIME%" LABEL org.opencontainers.image.vendor="SUSE LLC" -LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%kiwi-builder:10.1.16.0" +LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%kiwi-builder:10.2.12.0" LABEL org.openbuildservice.disturl="%DISTURL%" LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%" LABEL com.suse.eula="SUSE Combined EULA February 2024" diff --git a/kiwi-builder-image/README b/kiwi-builder-image/README index b74c156..59cf0f2 100644 --- a/kiwi-builder-image/README +++ b/kiwi-builder-image/README @@ -8,7 +8,7 @@ Please ensure that you're running this on a registered SLE Micro 6.0 system, and Next, download the podman image: -# podman pull %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.0 +# podman pull %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.2.12.0 Make a local output directory (where the images will reside): @@ -16,32 +16,32 @@ Make a local output directory (where the images will reside): Then, to build a standard "Base" image, run the following in podman: -# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.0 build-image +# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.2.12.0 build-image To build a "Base" SelfInstall ISO, you can add additional flags, for example: -# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.0 build-image -p Base-SelfInstall +# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.2.12.0 build-image -p Base-SelfInstall Then, to build a standard "Default" image, run the following in podman: -# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.0 build-image -p Default +# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.2.12.0 build-image -p Default To build a "Default" SelfInstall ISO, you can add additional flags, for example: -# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.0 build-image -p Default-SelfInstall +# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.2.12.0 build-image -p Default-SelfInstall To build an image with a RealTime kernel, e.g. a RAW disk image ("Default"), use the following: -# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.0 build-image -p Base-RT +# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.2.12.0 build-image -p Base-RT To build an image that supports a large block/sectorsize (4096), use the "-b" flag, for example: -# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.0 build-image -p Default-SelfInstall -b +# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.2.12.0 build-image -p Default-SelfInstall -b # mkdir mydefs/ # cp /path/to/SL-Micro.kiwi mydefs/ # cp /path/to/config.sh mydefs/ -# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -v ./mydefs/:/micro-sdk/defs/ -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.0 build-image +# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -v ./mydefs/:/micro-sdk/defs/ -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.2.12.0 build-image All output will be in the local $(pwd)/output directory, for example: -- 2.49.0