From 058267e6e9c9d271fc8164f0d68ef5bdd02523b1 Mon Sep 17 00:00:00 2001 From: Koichiro Iwao Date: Thu, 20 Feb 2025 16:11:59 +0900 Subject: [PATCH] Update to v6.12.25 stable_20250428 and enable bootc --- .raspberrypi2.metadata | 4 +- SOURCES/config_2711.patch | 22 ++++++----- SOURCES/config_2712.patch | 22 ++++++----- SPECS/raspberrypi2.spec | 77 +++++++++++++++++++++++++-------------- 4 files changed, 78 insertions(+), 47 deletions(-) diff --git a/.raspberrypi2.metadata b/.raspberrypi2.metadata index d50f600..c972d5d 100644 --- a/.raspberrypi2.metadata +++ b/.raspberrypi2.metadata @@ -1,2 +1,2 @@ -097ac2ea24117c85f5e97eca810c5fd98d3576b2 SOURCES/1.20241126.tar.gz -15d20d02cbea3641470b226ae025d8ddbdaf2913 SOURCES/rpi-6.12.y_20241206_2.tar.gz +716cf8d994e7c3794489e9c33de8c77c466d2a46 SOURCES/1.20250430.tar.gz +37b6749bb055db30a8496f0bf60e14465304416e SOURCES/stable_20250428.tar.gz diff --git a/SOURCES/config_2711.patch b/SOURCES/config_2711.patch index 7ca65b8..27079a6 100644 --- a/SOURCES/config_2711.patch +++ b/SOURCES/config_2711.patch @@ -1,21 +1,21 @@ -From 8bdc23947dfc60f7c1e277dc4f87a8bc5fc645c6 Mon Sep 17 00:00:00 2001 +From bdec30ca8e18bc7d9a5d25d7cd9ca7976aef8aa2 Mon Sep 17 00:00:00 2001 From: Koichiro Iwao -Date: Tue, 28 May 2024 15:11:20 +0900 +Date: Mon, 19 May 2025 13:09:29 +0900 Subject: [PATCH 1/2] Apply config patch for Raspberry Pi (BCM2711) The patch is originally provided by Pablo Greco . Signed-off-by: Koichiro Iwao --- - arch/arm64/configs/bcm2711_defconfig | 38 ++++++++++++++++++++++++++-- - 1 file changed, 36 insertions(+), 2 deletions(-) + arch/arm64/configs/bcm2711_defconfig | 42 ++++++++++++++++++++++++++-- + 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig -index e87791286ab4..6fda5b261683 100644 +index ce3e13572fb4..324800576e6a 100644 --- a/arch/arm64/configs/bcm2711_defconfig +++ b/arch/arm64/configs/bcm2711_defconfig -@@ -1622,8 +1622,6 @@ CONFIG_NLS_KOI8_U=m - CONFIG_DLM=m +@@ -1690,8 +1690,6 @@ CONFIG_DLM=m + CONFIG_UNICODE=m CONFIG_KEY_DH_OPERATIONS=y CONFIG_SECURITY=y -CONFIG_SECURITY_APPARMOR=y @@ -23,7 +23,7 @@ index e87791286ab4..6fda5b261683 100644 CONFIG_CRYPTO_USER=m CONFIG_CRYPTO_CRYPTD=m CONFIG_CRYPTO_AES=m -@@ -1674,3 +1672,39 @@ CONFIG_SCHED_TRACER=y +@@ -1742,3 +1740,43 @@ CONFIG_SCHED_TRACER=y CONFIG_BLK_DEV_IO_TRACE=y # CONFIG_UPROBE_EVENTS is not set # CONFIG_STRICT_DEVMEM is not set @@ -63,6 +63,10 @@ index e87791286ab4..6fda5b261683 100644 +CONFIG_FW_LOADER_COMPRESS=y +CONFIG_FW_LOADER_COMPRESS_XZ=y +CONFIG_FW_LOADER_COMPRESS_ZSTD=y ++CONFIG_EROFS_FS=m ++CONFIG_EROFS_FS_XATTR=y ++CONFIG_EROFS_POSIX_ACL=y ++CONFIG_EROFS_FS_SECURITY=y -- -2.45.1 +2.49.0 diff --git a/SOURCES/config_2712.patch b/SOURCES/config_2712.patch index 39c7248..29b4459 100644 --- a/SOURCES/config_2712.patch +++ b/SOURCES/config_2712.patch @@ -1,21 +1,21 @@ -From 5ae1f73a82e6ba1203d031c5c82943865dce8174 Mon Sep 17 00:00:00 2001 +From c6064f14a8c32e3109ee83c736097e2ee03086ca Mon Sep 17 00:00:00 2001 From: Koichiro Iwao -Date: Tue, 28 May 2024 15:14:02 +0900 +Date: Mon, 19 May 2025 13:10:35 +0900 Subject: [PATCH 2/2] Apply config patch for Raspberry Pi (BCM2712) The patch is originally provided by Pablo Greco . Signed-off-by: Koichiro Iwao --- - arch/arm64/configs/bcm2712_defconfig | 38 ++++++++++++++++++++++++++-- - 1 file changed, 36 insertions(+), 2 deletions(-) + arch/arm64/configs/bcm2712_defconfig | 42 ++++++++++++++++++++++++++-- + 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/arch/arm64/configs/bcm2712_defconfig b/arch/arm64/configs/bcm2712_defconfig -index 79c4332581eb..7b63683ff687 100644 +index 9e2bda050f81..51afa99f75e3 100644 --- a/arch/arm64/configs/bcm2712_defconfig +++ b/arch/arm64/configs/bcm2712_defconfig -@@ -1625,8 +1625,6 @@ CONFIG_NLS_KOI8_U=m - CONFIG_DLM=m +@@ -1692,8 +1692,6 @@ CONFIG_DLM=m + CONFIG_UNICODE=m CONFIG_KEY_DH_OPERATIONS=y CONFIG_SECURITY=y -CONFIG_SECURITY_APPARMOR=y @@ -23,7 +23,7 @@ index 79c4332581eb..7b63683ff687 100644 CONFIG_CRYPTO_USER=m CONFIG_CRYPTO_CRYPTD=m CONFIG_CRYPTO_AES=m -@@ -1677,3 +1675,39 @@ CONFIG_SCHED_TRACER=y +@@ -1744,3 +1742,43 @@ CONFIG_SCHED_TRACER=y CONFIG_BLK_DEV_IO_TRACE=y # CONFIG_UPROBE_EVENTS is not set # CONFIG_STRICT_DEVMEM is not set @@ -63,6 +63,10 @@ index 79c4332581eb..7b63683ff687 100644 +CONFIG_FW_LOADER_COMPRESS=y +CONFIG_FW_LOADER_COMPRESS_XZ=y +CONFIG_FW_LOADER_COMPRESS_ZSTD=y ++CONFIG_EROFS_FS=m ++CONFIG_EROFS_FS_XATTR=y ++CONFIG_EROFS_POSIX_ACL=y ++CONFIG_EROFS_FS_SECURITY=y -- -2.45.1 +2.49.0 diff --git a/SPECS/raspberrypi2.spec b/SPECS/raspberrypi2.spec index dd4c720..3e033b7 100644 --- a/SPECS/raspberrypi2.spec +++ b/SPECS/raspberrypi2.spec @@ -1,5 +1,5 @@ -%global firmware_tag 1.20241126 -%global version_tag rpi-6.12.y_20241206_2 +%global firmware_tag 1.20250430 +%global version_tag 20250428 ExclusiveArch: aarch64 @@ -11,7 +11,7 @@ ExclusiveArch: aarch64 %define local_version v8 %define bcmmodel 2711 -%define extra_version 2 +%define extra_version 1 # This originally implies Kernel 4.x for RPi 2 and is not appropriate now. # Be careful to change this not to disturb the seamless package update. @@ -19,7 +19,7 @@ ExclusiveArch: aarch64 %define ksuffix 4 %define kversion 6.12 -%define patchlevel 1 +%define patchlevel 25 %if 0%{?rhel} >= 10 %define pathfix %{__python3} %{_rpmconfigdir}/redhat/pathfix.py @@ -38,12 +38,12 @@ ExclusiveArch: aarch64 Name: raspberrypi%{rpisuffix} Version: %{kversion}.%{patchlevel} -Release: 20241206.%{local_version}.%{extra_version}%{?dist} +Release: %{version_tag}.%{local_version}.%{extra_version}%{?dist} Summary: Specific kernel and bootcode for Raspberry Pi License: GPL-2.0 WITH Linux-syscall-note URL: https://github.com/raspberrypi/linux -Source0: https://github.com/raspberrypi/linux/archive/%{version_tag}.tar.gz +Source0: https://github.com/raspberrypi/linux/archive/stable_%{version_tag}.tar.gz Source1: https://github.com/raspberrypi/firmware/archive/refs/tags/%{firmware_tag}.tar.gz Patch100: config_2711.patch Patch101: config_2712.patch @@ -210,7 +210,7 @@ glibc package. %endif %prep -%setup -q -n linux-%{version_tag} +%setup -q -n linux-stable_%{version_tag} %patch -P 100 -p1 %patch -P 101 -p1 perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{release}/" Makefile @@ -258,15 +258,15 @@ popd %if %{with_up} # kernel mkdir -p %{buildroot}/boot/overlays/ -mkdir -p %{buildroot}/usr/share/%{name}-kernel/%{version}-%{release}/boot/overlays +mkdir -p %{buildroot}/usr/share/%{name}-kernel%{?ksuffix}/%{version}-%{release}/boot/overlays cp -p -v COPYING %{buildroot}/boot/COPYING.linux-%{kversion} -cp -p -v arch/%{Arch}/boot/dts/overlays/README %{buildroot}/usr/share/%{name}-kernel/%{version}-%{release}/boot/overlays +cp -p -v arch/%{Arch}/boot/dts/overlays/README %{buildroot}/usr/share/%{name}-kernel%{?ksuffix}/%{version}-%{release}/boot/overlays %ifarch aarch64 -cp -p -v arch/%{Arch}/boot/dts/broadcom/*.dtb %{buildroot}/usr/share/%{name}-kernel/%{version}-%{release}/boot +cp -p -v arch/%{Arch}/boot/dts/broadcom/*.dtb %{buildroot}/usr/share/%{name}-kernel%{?ksuffix}/%{version}-%{release}/boot %else -cp -p -v arch/%{Arch}/boot/dts/*.dtb %{buildroot}/usr/share/%{name}-kernel/%{version}-%{release}/boot +cp -p -v arch/%{Arch}/boot/dts/*.dtb %{buildroot}/usr/share/%{name}-kernel%{?ksuffix}/%{version}-%{release}/boot %endif -cp -p -v arch/%{Arch}/boot/dts/overlays/*.dtb* %{buildroot}/usr/share/%{name}-kernel/%{version}-%{release}/boot/overlays +cp -p -v arch/%{Arch}/boot/dts/overlays/*.dtb* %{buildroot}/usr/share/%{name}-kernel%{?ksuffix}/%{version}-%{release}/boot/overlays cp -p -v arch/%{Arch}/boot/%{build_image} %{buildroot}/boot/kernel-%{version}-%{release}.img make INSTALL_MOD_PATH=%{buildroot} modules_install cat > %{buildroot}/boot/config-kernel-%{version}-%{release}.inc <<__EOF__ @@ -387,12 +387,12 @@ find %{buildroot}/usr/include \ %files kernel%{?ksuffix} %defattr(-,root,root,-) /lib/modules/%{version}-%{release} -/usr/share/%{name}-kernel/%{version}-%{release} -/usr/share/%{name}-kernel/%{version}-%{release}/boot -/usr/share/%{name}-kernel/%{version}-%{release}/boot/*.dtb +/usr/share/%{name}-kernel%{?ksuffix}/%{version}-%{release} +/usr/share/%{name}-kernel%{?ksuffix}/%{version}-%{release}/boot +/usr/share/%{name}-kernel%{?ksuffix}/%{version}-%{release}/boot/*.dtb /boot/config-%{version}-%{release} /boot/overlays/ -/usr/share/%{name}-kernel/%{version}-%{release}/boot/overlays/* +/usr/share/%{name}-kernel%{?ksuffix}/%{version}-%{release}/boot/overlays/* %attr(0755,root,root) /boot/kernel-%{version}-%{release}.img %ghost /boot/initramfs-%{version}-%{release}.img /boot/config-kernel-%{version}-%{release}.inc @@ -400,24 +400,39 @@ find %{buildroot}/usr/include \ %posttrans kernel%{?ksuffix} -if [ -f /boot/kernel%{armtarget}.img ] || [ ! -f /boot/config-kernel.inc ];then - # if nothing exists, fall back to generating the file, but don't create it - # if we have moved to initramfs - cp /boot/kernel-%{version}-%{release}.img /boot/kernel%{armtarget}.img +if [ -d /usr/lib/ostree-boot ]; then + mkdir -p /usr/lib/modules/%{version}-%{release} + pushd /usr/lib/ostree-boot + [ -e config-%{version}-%{release} ] && \ + mv config-%{version}-%{release} /usr/lib/modules/%{version}-%{release}/ + [ -e config-kernel-%{version}-%{release}.inc ] && \ + mv config-kernel-%{version}-%{release}.inc /usr/lib/modules/%{version}-%{release}/ + [ -e initramfs-%{version}-%{release}.img ] && \ + mv initramfs-%{version}-%{release}.img /usr/lib/modules/%{version}-%{release}/initramfs + [ -e kernel-%{version}-%{release}.img ] && \ + mv kernel-%{version}-%{release}.img /usr/lib/modules/%{version}-%{release}/vmlinuz + popd +fi +if [ -d /boot ]; then + if [ -f /boot/kernel%{armtarget}.img ] || [ ! -f /boot/config-kernel.inc ];then + # if nothing exists, fall back to generating the file, but don't create it + # if we have moved to initramfs + cp /boot/kernel-%{version}-%{release}.img /boot/kernel%{armtarget}.img + fi + cp /usr/share/%{name}-kernel%{?ksuffix}/%{version}-%{release}/boot/*.dtb /boot/ + cp /usr/share/%{name}-kernel%{?ksuffix}/%{version}-%{release}/boot/overlays/*.dtb* /boot/overlays/ + cp /usr/share/%{name}-kernel%{?ksuffix}/%{version}-%{release}/boot/overlays/README /boot/overlays/ + cp /boot/config-kernel-%{version}-%{release}.inc /boot/config-kernel.inc fi -cp /usr/share/%{name}-kernel/%{version}-%{release}/boot/*.dtb /boot/ -cp /usr/share/%{name}-kernel/%{version}-%{release}/boot/overlays/*.dtb* /boot/overlays/ -cp /usr/share/%{name}-kernel/%{version}-%{release}/boot/overlays/README /boot/overlays/ -cp /boot/config-kernel-%{version}-%{release}.inc /boot/config-kernel.inc %postun kernel%{?ksuffix} if [ -f /boot/kernel%{armtarget}.img ];then #only restore kernel%{armtarget}.img if it exists, we may have moved to initramfs cp $(ls -1 /boot/kernel-*-*|sort -V|tail -1) /boot/kernel%{armtarget}.img fi -cp $(ls -1d /usr/share/%{name}-kernel/*-*/|sort -V|tail -1)/boot/*.dtb /boot/ -cp $(ls -1d /usr/share/%{name}-kernel/*-*/|sort -V|tail -1)/boot/overlays/*.dtb* /boot/overlays/ -cp $(ls -1d /usr/share/%{name}-kernel/*-*/|sort -V|tail -1)/boot/overlays/README /boot/overlays/ +cp $(ls -1d /usr/share/%{name}-kernel%{?ksuffix}/*-*/|sort -V|tail -1)/boot/*.dtb /boot/ +cp $(ls -1d /usr/share/%{name}-kernel%{?ksuffix}/*-*/|sort -V|tail -1)/boot/overlays/*.dtb* /boot/overlays/ +cp $(ls -1d /usr/share/%{name}-kernel%{?ksuffix}/*-*/|sort -V|tail -1)/boot/overlays/README /boot/overlays/ cp $(ls -1 /boot/config-kernel-*-*|sort -V|tail -1) /boot/config-kernel.inc @@ -489,6 +504,14 @@ cp $(ls -1 /boot/config-kernel-*-*|sort -V|tail -1) /boot/config-kernel.inc %endif %changelog +* Mon May 26 2025 Koichiro Iwao - 6.12.25-20250428.v8.1 +- Update kernel to v6.12.25 stable_20250428 +- Update firmware to 1.20250430 +- Regenerate patches +- Use the consistent directory under /usr/share with the package name +- Enable EROFS bootc container (contributed by Kevin Fox) +- Fixes to enable bootc (contributed by Kevin Fox) + * Mon Jan 27 2025 Koichiro Iwao - 6.12.1-20241206.v8.2 - Add pseudo subpackages for kernel modules to resolve dependency issue - The main kernel package now provides kernel-core