From 41cd641752e185200f09b28fdac0f426d41b1d50 Mon Sep 17 00:00:00 2001 From: Olaf Schulz <947069+YggdrasiI@users.noreply.github.com> Date: Thu, 28 Aug 2025 12:51:13 +0200 Subject: [PATCH 1/2] Update on 6.12. Tested with 'make PiZero2-32' and runable on Zero 2W, 32 --- Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index d0356fc..b74b2c1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,8 @@ FROM ubuntu:24.04 -ENV LINUX_KERNEL_VERSION=6.6 -ENV LINUX_KERNEL_BRANCH=stable_20240529 -ENV LINUX_KERNEL_RT_PATCH=patch-6.6.30-rt30 +ENV LINUX_KERNEL_VERSION=6.12 +ENV LINUX_KERNEL_BRANCH=stable_20250702 +ENV LINUX_KERNEL_RT_PATCH=patch-6.12.43-rt12 ENV TZ=Europe/Copenhagen RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone From b6a7a76ed8b225d1d36f16ded8cadb6bc93fe828 Mon Sep 17 00:00:00 2001 From: Olaf Schulz <947069+YggdrasiI@users.noreply.github.com> Date: Thu, 28 Aug 2025 17:31:26 +0200 Subject: [PATCH 2/2] Add make target 'kernel_zips' for system updates --- Makefile | 10 ++++++++ bundle_firmware_and_modules.sh | 42 ++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100755 bundle_firmware_and_modules.sh diff --git a/Makefile b/Makefile index 8f104bc..8cb356b 100644 --- a/Makefile +++ b/Makefile @@ -70,5 +70,15 @@ build: custom: docker run --rm --privileged -it rpi-rt-linux bash +# Extract relevant files for update of existing system. +kernel_zips: + docker images | grep rpi-rt-linux >/dev/null || ( echo "Build image before running this target." && exit 1) + docker rm -f tmp-rpi-rt-linux || true + docker run -dit --name tmp-rpi-rt-linux rpi-rt-linux + docker cp bundle_firmware_and_modules.sh tmp-rpi-rt-linux:/raspios/. + docker exec --privileged tmp-rpi-rt-linux /raspios/bundle_firmware_and_modules.sh + docker cp tmp-rpi-rt-linux:/raspios/kernel_zips ./ + docker rm -f tmp-rpi-rt-linux + clean: rm -fr build diff --git a/bundle_firmware_and_modules.sh b/bundle_firmware_and_modules.sh new file mode 100755 index 0000000..466c503 --- /dev/null +++ b/bundle_firmware_and_modules.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +cd /rpi-kernel/linux/ +make INSTALL_MOD_PATH=/raspios/mnt/disk modules_install +make INSTALL_DTBS_PATH=/raspios/mnt/boot/firmware dtbs_install +cd - + + +if [ "$ARCH" = "arm64" ]; then + echo "arm_64bit=1" >> /raspios/config.txt + cp /rpi-kernel/linux/arch/arm64/boot/Image.gz /raspios/mnt/boot/firmware/$KERNEL\_rt.img + cp /rpi-kernel/linux/arch/arm64/boot/dts/broadcom/*.dtb /raspios/mnt/boot/firmware/ + cp /rpi-kernel/linux/arch/arm64/boot/dts/overlays/*.dtb* /raspios/mnt/boot/firmware/overlays/ + cp /rpi-kernel/linux/arch/arm64/boot/dts/overlays/README /raspios/mnt/boot/firmware/overlays/ +elif [ "$ARCH" = "arm" ]; then + echo "arm_64bit=0" >> /raspios/config.txt + cp /rpi-kernel/linux/arch/arm/boot/zImage /raspios/mnt/boot/firmware/$KERNEL\_rt.img + cp /rpi-kernel/linux/arch/arm/boot/dts/broadcom/*.dtb /raspios/mnt/boot/firmware/ + cp /rpi-kernel/linux/arch/arm/boot/dts/overlays/*.dtb* /raspios/mnt/boot/firmware/overlays/ + cp /rpi-kernel/linux/arch/arm/boot/dts/overlays/README /raspios/mnt/boot/firmware/overlays/ +fi + +# Redundant files… +rm -r /raspios/mnt/boot/firmware/broadcom + +KERNEL_VERSION=$(ls -1 /raspios/mnt/disk/lib/modules) +TARGET_DIR="/raspios/kernel_zips" +MODULES_ZIP="modules.${KERNEL_VERSION}.zip" +BOOT_ZIP="boot.${KERNEL_VERSION}.zip" +sed -zne "/[ \n\t]./{q1;}" <<< "$KERNEL_VERSION" || ( echo "Strange modules folder name?!" && exit 1) + +mkdir -p "${TARGET_DIR}" +cd /raspios/mnt/disk +zip --symlinks -r "${TARGET_DIR}/${MODULES_ZIP}" * +cd /raspios/mnt/boot/firmware +zip --symlinks -r "${TARGET_DIR}/${BOOT_ZIP}" * + +echo "Done. + +1. Unzip '${BOOT_ZIP}' on / (rootfs-partition) and '${MODULES_ZIP}' on /boot/firmware (boot-partition) +2. Update boot/config.txt with kernel=${KERNEL}_rt.img +"