From 3757897c94f4d9278947ee071447fa7cf7305c19 Mon Sep 17 00:00:00 2001 From: Mark Mihalik Date: Fri, 28 Jun 2024 13:09:31 -0400 Subject: [PATCH] feat: build initramfs for surface, asus and nvidia --- Containerfile | 4 ++++ build-initramfs.sh | 15 +++++++++++++++ 2 files changed, 19 insertions(+) create mode 100755 build-initramfs.sh diff --git a/Containerfile b/Containerfile index cc13388..da2b2f1 100644 --- a/Containerfile +++ b/Containerfile @@ -18,6 +18,9 @@ COPY ${KERNEL_FLAVOR}/ /tmp/ RUN mkdir -p /var/lib/alternatives && \ IMAGE_FLAVOR=main /tmp/image-info.sh && \ /tmp/install.sh && \ + if [ "${KERNEL_FLAVOR}" != "main" ]; then \ + /tmp/build-initramfs.sh \ + ; fi && \ mv /var/lib/alternatives /staged-alternatives && \ rm -rf /tmp/* /var/* && \ ostree container commit && \ @@ -41,6 +44,7 @@ COPY *.sh /tmp/ RUN mkdir -p /var/lib/alternatives && \ IMAGE_FLAVOR=nvidia /tmp/image-info.sh && \ /tmp/nvidia-install.sh && \ + /tmp/build-initramfs.sh \ mv /var/lib/alternatives /staged-alternatives && \ rm -rf /tmp/* /var/* && \ ostree container commit && \ diff --git a/build-initramfs.sh b/build-initramfs.sh new file mode 100755 index 0000000..4049364 --- /dev/null +++ b/build-initramfs.sh @@ -0,0 +1,15 @@ +#!/usr/bin/bash + +set -oue pipefail + +if [[ "${AKMODS_FLAVOR}" == "surface" ]]; then + KERNEL_SUFFIX="surface" +else + KERNEL_SUFFIX="" +fi + +QUALIFIED_KERNEL="$(rpm -qa | grep -P 'kernel-(|'"$KERNEL_SUFFIX"'-)(\d+\.\d+\.\d+)' | sed -E 's/kernel-(|'"$KERNEL_SUFFIX"'-)//')" + +/usr/libexec/rpm-ostree/wrapped/dracut --no-hostonly --kver "$QUALIFIED_KERNEL" --reproducible -v --add ostree -f "/lib/modules/$QUALIFIED_KERNEL/initramfs.img" + +chmod 0600 "/lib/modules/$QUALIFIED_KERNEL/initramfs.img"