|
|
|
@ -1,73 +1,72 @@
|
|
|
|
|
%global firmware_tag 1.20250430
|
|
|
|
|
%global version_tag 20250702
|
|
|
|
|
%global commit_firmware_long cb9500d6021e083a182ba168fe4424e3db2494cf
|
|
|
|
|
%global commit_linux_long 4fc5a03ad1d2fb811d8652be67260312fa3125fc
|
|
|
|
|
|
|
|
|
|
ExclusiveArch: aarch64
|
|
|
|
|
ExclusiveArch: aarch64 armv7hl
|
|
|
|
|
|
|
|
|
|
%undefine _debugsource_packages
|
|
|
|
|
|
|
|
|
|
%ifarch aarch64
|
|
|
|
|
%define Arch arm64
|
|
|
|
|
%define build_image Image.gz
|
|
|
|
|
%define build_image Image
|
|
|
|
|
%define armtarget 8
|
|
|
|
|
|
|
|
|
|
%define local_version v8
|
|
|
|
|
%define bcmmodel 2711
|
|
|
|
|
%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.
|
|
|
|
|
%define rpisuffix 2
|
|
|
|
|
%define ksuffix 4
|
|
|
|
|
|
|
|
|
|
%define kversion 6.12
|
|
|
|
|
%define patchlevel 34
|
|
|
|
|
|
|
|
|
|
%if 0%{?rhel} >= 10
|
|
|
|
|
%define pathfix %{__python3} %{_rpmconfigdir}/redhat/pathfix.py
|
|
|
|
|
%define with_rpi4 1
|
|
|
|
|
%else
|
|
|
|
|
%define pathfix pathfix.py
|
|
|
|
|
%define Arch arm
|
|
|
|
|
%define build_image zImage
|
|
|
|
|
%define armtarget 7
|
|
|
|
|
%bcond_with rpi4
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
# standard kernel
|
|
|
|
|
%define with_up %{?_without_up: 0} %{?!_without_up: 1}
|
|
|
|
|
# tools
|
|
|
|
|
%define with_tools %{?_without_tools: 0} %{?!_without_tools: 1}
|
|
|
|
|
# firmware
|
|
|
|
|
%define with_firmware %{?_without_firmware: 0} %{?!_without_firmware: 1}
|
|
|
|
|
# kernel-headers
|
|
|
|
|
%define with_headers %{?_without_headers: 0} %{?!_without_headers: 1}
|
|
|
|
|
%if %{with rpi4}
|
|
|
|
|
%ifarch aarch64
|
|
|
|
|
%define local_version v8
|
|
|
|
|
%else
|
|
|
|
|
%define local_version v7l
|
|
|
|
|
%endif
|
|
|
|
|
%define bcmmodel 2711
|
|
|
|
|
%define ksuffix 4
|
|
|
|
|
%else
|
|
|
|
|
%define local_version v7
|
|
|
|
|
%define bcmmodel 2709
|
|
|
|
|
%endif
|
|
|
|
|
%define extra_version 1
|
|
|
|
|
|
|
|
|
|
Name: raspberrypi%{rpisuffix}
|
|
|
|
|
%define kversion 6.1
|
|
|
|
|
%define patchlevel 31
|
|
|
|
|
|
|
|
|
|
Name: raspberrypi2
|
|
|
|
|
Version: %{kversion}.%{patchlevel}
|
|
|
|
|
Release: %{version_tag}.%{local_version}.%{extra_version}%{?dist}
|
|
|
|
|
Release: %{local_version}.%{extra_version}%{?dist}
|
|
|
|
|
Summary: Specific kernel and bootcode for Raspberry Pi
|
|
|
|
|
|
|
|
|
|
License: GPL-2.0 WITH Linux-syscall-note
|
|
|
|
|
License: GPLv2
|
|
|
|
|
URL: https://github.com/raspberrypi/linux
|
|
|
|
|
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
|
|
|
|
|
# Sources for kernel-tools
|
|
|
|
|
Source2000: cpupower.service
|
|
|
|
|
Source2001: cpupower.config
|
|
|
|
|
Source2002: kvm_stat.logrotate
|
|
|
|
|
Source0: https://www.kernel.org/pub/linux/kernel/v6.x/linux-%{kversion}.tar.xz
|
|
|
|
|
Source1: https://github.com/raspberrypi/firmware/archive/%{commit_firmware_long}.tar.gz
|
|
|
|
|
%if %{patchlevel} > 0
|
|
|
|
|
Source2: https://cdn.kernel.org/pub/linux/kernel/v6.x/patch-%{version}.xz
|
|
|
|
|
%endif
|
|
|
|
|
Source3: rpi-6.1.x.patch
|
|
|
|
|
|
|
|
|
|
BuildRequires: kmod, patch, bash, coreutils, tar
|
|
|
|
|
BuildRequires: bzip2, xz, findutils, gzip, m4, perl, perl-Carp, make, diffutils, gawk
|
|
|
|
|
BuildRequires: gcc, binutils, redhat-rpm-config, hmaccalc
|
|
|
|
|
BuildRequires: gcc, binutils, redhat-rpm-config, hmaccalc, git
|
|
|
|
|
BuildRequires: net-tools, hostname, bc
|
|
|
|
|
BuildRequires: elfutils-devel zlib-devel binutils-devel newt-devel python3-devel perl(ExtUtils::Embed) bison flex xz-devel
|
|
|
|
|
BuildRequires: audit-libs-devel
|
|
|
|
|
BuildRequires: pciutils-devel gettext ncurses-devel
|
|
|
|
|
BuildRequires: openssl-devel
|
|
|
|
|
%if %{with_tools}
|
|
|
|
|
# kernel-tools
|
|
|
|
|
BuildRequires: asciidoc
|
|
|
|
|
%endif
|
|
|
|
|
%if %{with_headers}
|
|
|
|
|
BuildRequires: rsync
|
|
|
|
|
%if 0%{?rhel} == 7
|
|
|
|
|
BuildRequires: devtoolset-8-build
|
|
|
|
|
BuildRequires: devtoolset-8-binutils
|
|
|
|
|
BuildRequires: devtoolset-8-gcc
|
|
|
|
|
BuildRequires: devtoolset-8-make
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
# Compile with SELinux but disable per default
|
|
|
|
|
Patch100: bcm2709_selinux_config.patch
|
|
|
|
|
Patch101: bcm2711_selinux_config.patch
|
|
|
|
|
|
|
|
|
|
%description
|
|
|
|
|
Specific kernel and bootcode for Raspberry Pi
|
|
|
|
|
|
|
|
|
@ -75,114 +74,31 @@ Specific kernel and bootcode for Raspberry Pi
|
|
|
|
|
Group: System Environment/Kernel
|
|
|
|
|
Summary: The Linux kernel
|
|
|
|
|
Provides: kernel = %{version}-%{release}
|
|
|
|
|
Provides: kernel-core = %{version}-%{release}
|
|
|
|
|
Provides: installonlypkg(kernel)
|
|
|
|
|
Requires: coreutils
|
|
|
|
|
Requires: dracut
|
|
|
|
|
Requires: coreutils
|
|
|
|
|
#Requires: dracut
|
|
|
|
|
|
|
|
|
|
%description kernel%{?ksuffix}
|
|
|
|
|
The kernel package contains the Linux kernel (vmlinuz), the core of any
|
|
|
|
|
Linux operating system. The kernel handles the basic functions
|
|
|
|
|
of the operating system: memory allocation, process allocation, device
|
|
|
|
|
input and output, etc.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%package kernel%{?ksuffix}-devel
|
|
|
|
|
Group: System Environment/Kernel
|
|
|
|
|
Summary: Development package for building kernel modules to match the kernel
|
|
|
|
|
Provides: kernel-devel = %{version}-%{release}
|
|
|
|
|
Provides: kernel-devel-uname-r = %{version}-%{release}
|
|
|
|
|
Provides: installonlypkg(kernel)
|
|
|
|
|
Autoreq: no
|
|
|
|
|
Requires(pre): findutils
|
|
|
|
|
Requires: findutils
|
|
|
|
|
Requires: perl-interpreter
|
|
|
|
|
|
|
|
|
|
%description kernel%{?ksuffix}-devel
|
|
|
|
|
This package provides kernel headers and makefiles sufficient to build modules
|
|
|
|
|
against the kernel package.
|
|
|
|
|
|
|
|
|
|
%if 0%{?rhel} >= 10
|
|
|
|
|
%package kernel%{?ksuffix}-modules
|
|
|
|
|
Summary: Pseudo package for kernel modules
|
|
|
|
|
Group: System Environment/Kernel
|
|
|
|
|
Provides: installonlypkg(kernel-module)
|
|
|
|
|
Provides: kernel-modules = %{version}-%{release}
|
|
|
|
|
Provides: kernel-modules-uname-r = %{version}-%{release}
|
|
|
|
|
Obsoletes: kernel-modules < %{version}-%{release}
|
|
|
|
|
Requires: %{name}-kernel%{?ksuffix} = %{version}-%{release}
|
|
|
|
|
AutoReq: no
|
|
|
|
|
AutoProv: yes
|
|
|
|
|
%description kernel%{?ksuffix}-modules
|
|
|
|
|
This package provides pseudo dependency for the packages that depends on regular
|
|
|
|
|
kernel-modules packages.
|
|
|
|
|
|
|
|
|
|
%package kernel%{?ksuffix}-modules-core
|
|
|
|
|
Summary: Pseudo package for core kernel modules
|
|
|
|
|
Group: System Environment/Kernel
|
|
|
|
|
Provides: installonlypkg(kernel-module)
|
|
|
|
|
Provides: kernel-modules-core = %{version}-%{release}
|
|
|
|
|
Provides: kernel-modules-core-uname-r = %{version}-%{release}
|
|
|
|
|
Obsoletes: kernel-modules-core < %{version}-%{release}
|
|
|
|
|
Requires: %{name}-kernel%{?ksuffix} = %{version}-%{release}
|
|
|
|
|
AutoReq: no
|
|
|
|
|
AutoProv: yes
|
|
|
|
|
%description kernel%{?ksuffix}-modules-core
|
|
|
|
|
This package provides pseudo dependency for the packages that depends on regular
|
|
|
|
|
kernel-modules-core packages.
|
|
|
|
|
|
|
|
|
|
%package kernel%{?ksuffix}-modules-extra
|
|
|
|
|
Summary: Pseudo package for extra kernel modules
|
|
|
|
|
Group: System Environment/Kernel
|
|
|
|
|
Provides: kernel-modules-extra = %{version}-%{release}
|
|
|
|
|
Provides: kernel-modules-extra-uname-r = %{version}-%{release}
|
|
|
|
|
Provides: installonlypkg(kernel-module)
|
|
|
|
|
Obsoletes: kernel-modules-extra < %{version}-%{release}
|
|
|
|
|
Requires: %{name}-kernel%{?ksuffix} = %{version}-%{release}
|
|
|
|
|
AutoReq: no
|
|
|
|
|
AutoProv: yes
|
|
|
|
|
%description kernel%{?ksuffix}-modules-extra
|
|
|
|
|
This package provides pseudo dependency for the packages that depends on regular
|
|
|
|
|
kernel-modules-extra packages.
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%if %{with_tools}
|
|
|
|
|
%package kernel%{?ksuffix}-tools
|
|
|
|
|
Summary: Assortment of tools for the Linux kernel
|
|
|
|
|
Provides: cpupowerutils = 1:009-0.6.p1
|
|
|
|
|
Obsoletes: cpupowerutils < 1:009-0.6.p1
|
|
|
|
|
Provides: cpufreq-utils = 1:009-0.6.p1
|
|
|
|
|
Provides: cpufrequtils = 1:009-0.6.p1
|
|
|
|
|
Obsoletes: cpufreq-utils < 1:009-0.6.p1
|
|
|
|
|
Obsoletes: cpufrequtils < 1:009-0.6.p1
|
|
|
|
|
Obsoletes: cpuspeed < 1:1.5-16
|
|
|
|
|
Requires: %{name}-kernel%{?ksuffix}-tools-libs = %{version}-%{release}
|
|
|
|
|
Obsoletes: kernel-tools < %{version}
|
|
|
|
|
Provides: kernel-tools = %{version}-%{release}
|
|
|
|
|
%define __requires_exclude ^%{_bindir}/python
|
|
|
|
|
%description kernel%{?ksuffix}-tools
|
|
|
|
|
This package contains the tools/ directory from the kernel source
|
|
|
|
|
and the supporting documentation.
|
|
|
|
|
|
|
|
|
|
%package kernel%{?ksuffix}-tools-libs
|
|
|
|
|
Summary: Libraries for the kernels-tools
|
|
|
|
|
Obsoletes: kernel-tools-libs < %{version}
|
|
|
|
|
Provides: kernel-tools-libs = %{version}-%{release}
|
|
|
|
|
%description kernel%{?ksuffix}-tools-libs
|
|
|
|
|
This package contains the libraries built from the tools/ directory
|
|
|
|
|
from the kernel source.
|
|
|
|
|
|
|
|
|
|
%package kernel%{?ksuffix}-tools-libs-devel
|
|
|
|
|
Summary: Assortment of tools for the Linux kernel
|
|
|
|
|
Requires: %{name}-kernel%{?ksuffix}-tools = %{version}-%{release}
|
|
|
|
|
Provides: cpupowerutils-devel = 1:009-0.6.p1
|
|
|
|
|
Obsoletes: cpupowerutils-devel < 1:009-0.6.p1
|
|
|
|
|
Requires: %{name}-kernel%{?ksuffix}-tools-libs = %{version}-%{release}
|
|
|
|
|
Obsoletes: kernel-tools-libs-devel < %{version}
|
|
|
|
|
Provides: kernel-tools-libs-devel = %{version}-%{release}
|
|
|
|
|
%description kernel%{?ksuffix}-tools-libs-devel
|
|
|
|
|
This package contains the development files for the tools/ directory from
|
|
|
|
|
the kernel source.
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%if %{with_firmware}
|
|
|
|
|
%package firmware
|
|
|
|
|
Summary: GPU firmware for the Raspberry Pi computer
|
|
|
|
|
License: Redistributable, with restrictions; see LICENSE.broadcom
|
|
|
|
@ -194,31 +110,30 @@ Provides: grubby=8.40-10
|
|
|
|
|
%description firmware
|
|
|
|
|
This package contains the GPU firmware for the Raspberry Pi BCM2835 SOC
|
|
|
|
|
including the kernel bootloader.
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%if %{with_headers}
|
|
|
|
|
%package kernel%{?ksuffix}-headers
|
|
|
|
|
Obsoletes: kernel-headers < %{version}
|
|
|
|
|
Provides: kernel-headers = %{version}-%{release}
|
|
|
|
|
Obsoletes: glibc-kernheaders < 3.0-46
|
|
|
|
|
Provides: glibc-kernheaders = 3.0-46
|
|
|
|
|
Summary: Header files for the Linux kernel for use by glibc
|
|
|
|
|
|
|
|
|
|
%description kernel%{?ksuffix}-headers
|
|
|
|
|
Kernel-headers includes the C header files that specify the interface
|
|
|
|
|
between the Linux kernel and userspace libraries and programs. The
|
|
|
|
|
header files define structures and constants that are needed for
|
|
|
|
|
building most standard programs and are also needed for rebuilding the
|
|
|
|
|
glibc package.
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%prep
|
|
|
|
|
%setup -q -n linux-stable_%{version_tag}
|
|
|
|
|
%patch -P 100 -p1
|
|
|
|
|
%patch -P 101 -p1
|
|
|
|
|
%if 0%{?rhel} == 7
|
|
|
|
|
source scl_source enable devtoolset-8 || :
|
|
|
|
|
%endif
|
|
|
|
|
%setup -q -n linux-%{kversion}
|
|
|
|
|
git init
|
|
|
|
|
git config user.email "kernel-team@fedoraproject.org"
|
|
|
|
|
git config user.name "Fedora Kernel Team"
|
|
|
|
|
git config gc.auto 0
|
|
|
|
|
git add .
|
|
|
|
|
git commit -a -q -m "baseline"
|
|
|
|
|
%if %{patchlevel} > 0
|
|
|
|
|
xzcat %{SOURCE2} | patch -p1 -F1 -s
|
|
|
|
|
git commit -a -q -m "%{version}"
|
|
|
|
|
%endif
|
|
|
|
|
git am %{SOURCE3}
|
|
|
|
|
|
|
|
|
|
git am %{PATCH100}
|
|
|
|
|
git am %{PATCH101}
|
|
|
|
|
|
|
|
|
|
perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{release}/" Makefile
|
|
|
|
|
perl -p -i -e "s/^CONFIG_LOCALVERSION=.*/CONFIG_LOCALVERSION=/" arch/%{Arch}/configs/bcm2711_defconfig
|
|
|
|
|
perl -p -i -e "s/^CONFIG_LOCALVERSION=.*/CONFIG_LOCALVERSION=/" arch/%{Arch}/configs/bcm2712_defconfig
|
|
|
|
|
perl -p -i -e "s/^CONFIG_LOCALVERSION=.*/CONFIG_LOCALVERSION=/" arch/%{Arch}/configs/bcm%{bcmmodel}_defconfig
|
|
|
|
|
|
|
|
|
|
%if 0%{?rhel} >= 8
|
|
|
|
|
# Mangle /usr/bin/python shebangs to /usr/bin/python3
|
|
|
|
@ -226,50 +141,39 @@ perl -p -i -e "s/^CONFIG_LOCALVERSION=.*/CONFIG_LOCALVERSION=/" arch/%{Arch}/con
|
|
|
|
|
# -p preserves timestamps
|
|
|
|
|
# -n prevents creating ~backup files
|
|
|
|
|
# -i specifies the interpreter for the shebang
|
|
|
|
|
%{pathfix} -pni "%{__python3} %{py3_shbang_opts}" scripts/
|
|
|
|
|
%{pathfix} -pni "%{__python3} %{py3_shbang_opts}" scripts/diffconfig scripts/bloat-o-meter scripts/show_delta scripts/jobserver-exec
|
|
|
|
|
%{pathfix} -pni "%{__python3} %{py3_shbang_opts}" tools/ tools/perf/scripts/python/*.py tools/kvm/kvm_stat/kvm_stat scripts/clang-tools/*.py
|
|
|
|
|
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" scripts/
|
|
|
|
|
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" scripts/diffconfig scripts/bloat-o-meter scripts/show_delta scripts/jobserver-exec
|
|
|
|
|
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" tools/ tools/perf/scripts/python/*.py tools/kvm/kvm_stat/kvm_stat scripts/clang-tools/*.py
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
# This Prevents scripts/setlocalversion from mucking with our version numbers.
|
|
|
|
|
touch .scmversion
|
|
|
|
|
git commit -a -q -m "modifs"
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
|
# 16K page-size kernel optimized (bcmmodel=2712) for RPi 5 is not built at the moment
|
|
|
|
|
# to support both RPi 4 and 5.
|
|
|
|
|
%if 0%{?rhel} == 7
|
|
|
|
|
source scl_source enable devtoolset-8 || :
|
|
|
|
|
%endif
|
|
|
|
|
export KERNEL=kernel%{armtarget}
|
|
|
|
|
make bcm%{bcmmodel}_defconfig
|
|
|
|
|
%if %{with_up}
|
|
|
|
|
make %{?_smp_mflags} HOSTCFLAGS="%{?build_cflags}" HOSTLDFLAGS="%{?build_ldflags}" %{build_image} modules dtbs
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
# kernel-tools
|
|
|
|
|
%if %{with_tools}
|
|
|
|
|
make %{?_smp_mflags} -C tools/power/cpupower CPUFREQ_BENCH=false DEBUG=false
|
|
|
|
|
pushd tools/thermal/tmon/
|
|
|
|
|
make %{?_smp_mflags} HOSTCFLAGS="%{?build_cflags}" HOSTLDFLAGS="%{?build_ldflags}"
|
|
|
|
|
popd
|
|
|
|
|
pushd tools/iio/
|
|
|
|
|
make %{?_smp_mflags} HOSTCFLAGS="%{?build_cflags}" HOSTLDFLAGS="%{?build_ldflags}"
|
|
|
|
|
popd
|
|
|
|
|
pushd tools/gpio/
|
|
|
|
|
make %{?_smp_mflags} HOSTCFLAGS="%{?build_cflags}" HOSTLDFLAGS="%{?build_ldflags}"
|
|
|
|
|
popd
|
|
|
|
|
pushd tools/mm/
|
|
|
|
|
make %{?_smp_mflags} HOSTCFLAGS="%{?build_cflags}" HOSTLDFLAGS="%{?build_ldflags}" slabinfo page_owner_sort
|
|
|
|
|
popd
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
|
%if %{with_up}
|
|
|
|
|
%if 0%{?rhel} == 7
|
|
|
|
|
source scl_source enable devtoolset-8 || :
|
|
|
|
|
%endif
|
|
|
|
|
# kernel
|
|
|
|
|
mkdir -p %{buildroot}/boot/overlays/
|
|
|
|
|
mkdir -p %{buildroot}/usr/share/%{name}-kernel%{?ksuffix}/%{version}-%{release}/boot/overlays
|
|
|
|
|
mkdir -p %{buildroot}/usr/share/%{name}-kernel/%{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%{?ksuffix}/%{version}-%{release}/boot/overlays
|
|
|
|
|
%ifarch aarch64
|
|
|
|
|
cp -p -v arch/%{Arch}/boot/dts/broadcom/*.dtb %{buildroot}/usr/share/%{name}-kernel%{?ksuffix}/%{version}-%{release}/boot
|
|
|
|
|
cp -p -v arch/%{Arch}/boot/dts/broadcom/*.dtb %{buildroot}/usr/share/%{name}-kernel/%{version}-%{release}/boot
|
|
|
|
|
%else
|
|
|
|
|
cp -p -v arch/%{Arch}/boot/dts/*.dtb %{buildroot}/usr/share/%{name}-kernel%{?ksuffix}/%{version}-%{release}/boot
|
|
|
|
|
cp -p -v arch/%{Arch}/boot/dts/*.dtb %{buildroot}/usr/share/%{name}-kernel/%{version}-%{release}/boot
|
|
|
|
|
%endif
|
|
|
|
|
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/dts/overlays/*.dtb* %{buildroot}/usr/share/%{name}-kernel/%{version}-%{release}/boot/overlays
|
|
|
|
|
cp -p -v arch/%{Arch}/boot/dts/overlays/README %{buildroot}/usr/share/%{name}-kernel/%{version}-%{release}/boot/overlays
|
|
|
|
|
#scripts/mkknlimg arch/%{Arch}/boot/zImage %{buildroot}/boot/kernel-%{version}-%{release}.img
|
|
|
|
|
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__
|
|
|
|
@ -316,86 +220,30 @@ touch -r %{buildroot}$DevelDir/Makefile %{buildroot}$DevelDir/include/linux/vers
|
|
|
|
|
ln -T -s $DevelDir %{buildroot}/lib/modules/%{version}-%{release}/build --force
|
|
|
|
|
ln -T -s build %{buildroot}/lib/modules/%{version}-%{release}/source --force
|
|
|
|
|
|
|
|
|
|
%endif
|
|
|
|
|
# kernel-firmware
|
|
|
|
|
#rm .config
|
|
|
|
|
#make INSTALL_FW_PATH=%{buildroot}/lib/firmware firmware_install
|
|
|
|
|
|
|
|
|
|
%if %{with_firmware}
|
|
|
|
|
# firmware
|
|
|
|
|
# precompiled GPU firmware and bootloader
|
|
|
|
|
pushd %{buildroot}
|
|
|
|
|
tar -xf %{_sourcedir}/%{firmware_tag}.tar.gz \
|
|
|
|
|
firmware-%{firmware_tag}/boot/start* \
|
|
|
|
|
firmware-%{firmware_tag}/boot/fixup* \
|
|
|
|
|
firmware-%{firmware_tag}/boot/LICENCE.broadcom \
|
|
|
|
|
firmware-%{firmware_tag}/boot/bootcode.bin \
|
|
|
|
|
tar -xf %{_sourcedir}/%{commit_firmware_long}.tar.gz \
|
|
|
|
|
firmware-%{commit_firmware_long}/boot/start* \
|
|
|
|
|
firmware-%{commit_firmware_long}/boot/fixup* \
|
|
|
|
|
firmware-%{commit_firmware_long}/boot/LICENCE.broadcom \
|
|
|
|
|
firmware-%{commit_firmware_long}/boot/bootcode.bin \
|
|
|
|
|
--strip-components=1
|
|
|
|
|
%{__chmod} -x %{buildroot}/boot/start*.elf
|
|
|
|
|
popd
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%if %{with_tools}
|
|
|
|
|
# kernel-tools
|
|
|
|
|
make -C tools/power/cpupower DESTDIR=$RPM_BUILD_ROOT libdir=%{_libdir} mandir=%{_mandir} CPUFREQ_BENCH=false install
|
|
|
|
|
rm -f %{buildroot}%{_libdir}/*.{a,la}
|
|
|
|
|
%find_lang cpupower
|
|
|
|
|
|
|
|
|
|
install -D -m644 %{SOURCE2000} %{buildroot}%{_unitdir}/cpupower.service
|
|
|
|
|
install -D -m644 %{SOURCE2001} %{buildroot}%{_sysconfdir}/sysconfig/cpupower
|
|
|
|
|
pushd tools/thermal/tmon
|
|
|
|
|
make INSTALL_ROOT=%{buildroot} install
|
|
|
|
|
popd
|
|
|
|
|
pushd tools/iio
|
|
|
|
|
make DESTDIR=%{buildroot} install
|
|
|
|
|
popd
|
|
|
|
|
pushd tools/gpio
|
|
|
|
|
make DESTDIR=%{buildroot} install
|
|
|
|
|
popd
|
|
|
|
|
install -m644 -D %{SOURCE2002} %{buildroot}%{_sysconfdir}/logrotate.d/kvm_stat
|
|
|
|
|
pushd tools/kvm/kvm_stat
|
|
|
|
|
%{__make} INSTALL_ROOT=%{buildroot} install-tools
|
|
|
|
|
%{__make} INSTALL_ROOT=%{buildroot} install-man
|
|
|
|
|
install -m644 -D kvm_stat.service %{buildroot}%{_unitdir}/kvm_stat.service
|
|
|
|
|
popd
|
|
|
|
|
pushd tools/mm/
|
|
|
|
|
install -m755 slabinfo %{buildroot}%{_bindir}/slabinfo
|
|
|
|
|
install -m755 page_owner_sort %{buildroot}%{_bindir}/page_owner_sort
|
|
|
|
|
popd
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%if %{with_headers}
|
|
|
|
|
%{__make} ARCH=%{Arch} INSTALL_HDR_PATH=%{buildroot}/usr headers_install
|
|
|
|
|
|
|
|
|
|
find %{buildroot}/usr/include \
|
|
|
|
|
\( -name .install -o -name .check -o \
|
|
|
|
|
-name ..install.cmd -o -name ..check.cmd \) -delete
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%if %{with_tools}
|
|
|
|
|
%post kernel%{?ksuffix}-tools
|
|
|
|
|
%systemd_post cpupower.service
|
|
|
|
|
|
|
|
|
|
%preun kernel%{?ksuffix}-tools
|
|
|
|
|
%systemd_preun cpupower.service
|
|
|
|
|
|
|
|
|
|
%postun kernel%{?ksuffix}-tools
|
|
|
|
|
%systemd_postun cpupower.service
|
|
|
|
|
|
|
|
|
|
%post kernel%{?ksuffix}-tools-libs
|
|
|
|
|
/sbin/ldconfig
|
|
|
|
|
|
|
|
|
|
%postun kernel%{?ksuffix}-tools-libs
|
|
|
|
|
/sbin/ldconfig
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%if %{with_up}
|
|
|
|
|
%files kernel%{?ksuffix}
|
|
|
|
|
%defattr(-,root,root,-)
|
|
|
|
|
/lib/modules/%{version}-%{release}
|
|
|
|
|
/usr/share/%{name}-kernel%{?ksuffix}/%{version}-%{release}
|
|
|
|
|
/usr/share/%{name}-kernel%{?ksuffix}/%{version}-%{release}/boot
|
|
|
|
|
/usr/share/%{name}-kernel%{?ksuffix}/%{version}-%{release}/boot/*.dtb
|
|
|
|
|
/usr/share/%{name}-kernel/%{version}-%{release}
|
|
|
|
|
/usr/share/%{name}-kernel/%{version}-%{release}/boot
|
|
|
|
|
/usr/share/%{name}-kernel/%{version}-%{release}/boot/*.dtb
|
|
|
|
|
/boot/config-%{version}-%{release}
|
|
|
|
|
/boot/overlays/
|
|
|
|
|
/usr/share/%{name}-kernel%{?ksuffix}/%{version}-%{release}/boot/overlays/*
|
|
|
|
|
/usr/share/%{name}-kernel/%{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
|
|
|
|
@ -403,45 +251,25 @@ find %{buildroot}/usr/include \
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%posttrans kernel%{?ksuffix}
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
/usr/bin/dracut --no-hostonly /boot/initramfs-%{version}-%{release}.img %{version}-%{release}
|
|
|
|
|
cp /boot/initramfs-%{version}-%{release}.img /boot/initramfs%{armtarget}
|
|
|
|
|
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/%{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/
|
|
|
|
|
/usr/bin/dracut /boot/initramfs-%{version}-%{release}.img %{version}-%{release}
|
|
|
|
|
cp /boot/config-kernel-%{version}-%{release}.inc /boot/config-kernel.inc
|
|
|
|
|
|
|
|
|
|
%postun kernel%{?ksuffix}
|
|
|
|
|
if [ -f /boot/kernel%{armtarget}.img ]; then
|
|
|
|
|
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
|
|
|
|
|
if [ -f /boot/initramfs%{armtarget} ]; then
|
|
|
|
|
cp $(ls -1 /boot/initramfs-*-*|sort -V| tail -1) /boot/initramfs%{armtarget}
|
|
|
|
|
fi
|
|
|
|
|
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 -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 -1 /boot/config-kernel-*-*|sort -V|tail -1) /boot/config-kernel.inc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -449,136 +277,20 @@ cp $(ls -1 /boot/config-kernel-*-*|sort -V|tail -1) /boot/config-kernel.inc
|
|
|
|
|
%defattr(-,root,root)
|
|
|
|
|
/usr/src/kernels/%{version}-%{release}
|
|
|
|
|
|
|
|
|
|
%if 0%{?rhel} >= 10
|
|
|
|
|
%files kernel%{?ksuffix}-modules
|
|
|
|
|
# empty package
|
|
|
|
|
%defattr(-,root,root)
|
|
|
|
|
|
|
|
|
|
%files kernel%{?ksuffix}-modules-core
|
|
|
|
|
# empty package
|
|
|
|
|
%defattr(-,root,root)
|
|
|
|
|
#%files kernel-firmware
|
|
|
|
|
#%defattr(-,root,root)
|
|
|
|
|
#/lib/firmware/*
|
|
|
|
|
|
|
|
|
|
%files kernel%{?ksuffix}-modules-extra
|
|
|
|
|
# empty package
|
|
|
|
|
%defattr(-,root,root)
|
|
|
|
|
%endif
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%if %{with_tools}
|
|
|
|
|
%files kernel%{?ksuffix}-tools -f cpupower.lang
|
|
|
|
|
%{_bindir}/cpupower
|
|
|
|
|
%{_datadir}/bash-completion/completions/cpupower
|
|
|
|
|
%{_unitdir}/cpupower.service
|
|
|
|
|
%{_mandir}/man[1-8]/cpupower*
|
|
|
|
|
%config(noreplace) %{_sysconfdir}/sysconfig/cpupower
|
|
|
|
|
%{_bindir}/tmon
|
|
|
|
|
%{_bindir}/iio_event_monitor
|
|
|
|
|
%{_bindir}/iio_generic_buffer
|
|
|
|
|
%{_bindir}/lsiio
|
|
|
|
|
%{_bindir}/lsgpio
|
|
|
|
|
%{_bindir}/gpio-hammer
|
|
|
|
|
%{_bindir}/gpio-event-mon
|
|
|
|
|
%{_bindir}/gpio-watch
|
|
|
|
|
%{_mandir}/man1/kvm_stat*
|
|
|
|
|
%{_bindir}/kvm_stat
|
|
|
|
|
%{_unitdir}/kvm_stat.service
|
|
|
|
|
%config(noreplace) %{_sysconfdir}/logrotate.d/kvm_stat
|
|
|
|
|
%{_bindir}/page_owner_sort
|
|
|
|
|
%{_bindir}/slabinfo
|
|
|
|
|
|
|
|
|
|
%files kernel%{?ksuffix}-tools-libs
|
|
|
|
|
%{_libdir}/libcpupower.so.1
|
|
|
|
|
%{_libdir}/libcpupower.so.0.0.1
|
|
|
|
|
|
|
|
|
|
%files kernel%{?ksuffix}-tools-libs-devel
|
|
|
|
|
%{_libdir}/libcpupower.so
|
|
|
|
|
%{_includedir}/cpufreq.h
|
|
|
|
|
%{_includedir}/cpuidle.h
|
|
|
|
|
%{_includedir}/powercap.h
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%if %{with_firmware}
|
|
|
|
|
%files firmware
|
|
|
|
|
%defattr(-,root,root,-)
|
|
|
|
|
/boot/bootcode.bin
|
|
|
|
|
/boot/fixup*
|
|
|
|
|
/boot/start*
|
|
|
|
|
%doc /boot/LICENCE.broadcom
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%if %{with_headers}
|
|
|
|
|
%files kernel%{?ksuffix}-headers
|
|
|
|
|
/usr/include/*
|
|
|
|
|
%exclude %{_includedir}/cpufreq.h
|
|
|
|
|
%exclude %{_includedir}/internal/
|
|
|
|
|
%exclude %{_includedir}/perf/
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
|
* Wed Jul 09 2025 Koichiro Iwao <meta@almalinux.org> - 6.12.34-20250702.v8.1
|
|
|
|
|
- Update kernel to v6.12.34 stable_20240702
|
|
|
|
|
|
|
|
|
|
* Mon Jun 23 2025 Koichiro Iwao <meta@almalinux.org> - 6.12.25-20250428.v8.2
|
|
|
|
|
- Reintroduce initramfs for XFS / LUKS
|
|
|
|
|
https://github.com/AlmaLinux/raspberry-pi/issues/65
|
|
|
|
|
https://github.com/AlmaLinux/raspberry-pi/issues/86
|
|
|
|
|
|
|
|
|
|
* Mon May 26 2025 Koichiro Iwao <meta@almalinux.org> - 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 <emta@almalinux.org> - 6.12.1-20241206.v8.2
|
|
|
|
|
- Add pseudo subpackages for kernel modules to resolve dependency issue
|
|
|
|
|
- The main kernel package now provides kernel-core
|
|
|
|
|
- Convert license to SPDX expression
|
|
|
|
|
- Remove dracut as initramfs is not needed (mentioned in 4.4.21-2)
|
|
|
|
|
|
|
|
|
|
* Wed Dec 25 2024 Koichiro Iwao <meta@almalinux.org> - 6.12.1-20241206.v8.1
|
|
|
|
|
- Update kernel to v6.12.1 rpi-6.12.y_20241206_2
|
|
|
|
|
- Update firmware to 1.20241126
|
|
|
|
|
|
|
|
|
|
* Tue Nov 12 2024 Koichiro Iwao <meta@almalinux.org> - 6.12.0-20241111.v8.1
|
|
|
|
|
- Update kernel to v6.12.0-rc7 20241110 bf70ebd2
|
|
|
|
|
|
|
|
|
|
* Tue Nov 12 2024 Koichiro Iwao <meta@almalinux.org> - 6.11.7-20241110.v8.1
|
|
|
|
|
- Update kernel to v6.11.7 20241110 efda653d
|
|
|
|
|
|
|
|
|
|
* Fri Nov 08 2024 Koichiro Iwao <meta@almalinux.org> - 6.6.51-20241008.v8.2
|
|
|
|
|
- Fix build for AL10 Kitten
|
|
|
|
|
|
|
|
|
|
* Mon Oct 21 2024 Koichiro Iwao <meta@almalinux.org> - 6.6.51-20241008.v8.1
|
|
|
|
|
- Update kernel to version v6.6.51 stable_20241008
|
|
|
|
|
- Update firmware to 1.20241008
|
|
|
|
|
|
|
|
|
|
* Thu Sep 05 2024 Koichiro Iwao <meta@almalinux.org> - 6.6.31-20240529.v8.4
|
|
|
|
|
- Add kernel-headers subpackage
|
|
|
|
|
|
|
|
|
|
* Fri Aug 30 2024 Andrew Lukoshko <alukoshko@almalinux.org> - 6.6.31-20240529.v8.3
|
|
|
|
|
- Fix kernel-tools dependencies
|
|
|
|
|
|
|
|
|
|
* Thu Jun 20 2024 Koichiro Iwao <meta@almalinux.org> - 6.6.31-20240529.v8.2
|
|
|
|
|
- Add kernel-tools to optimize CPU clock (cpupower.service)
|
|
|
|
|
|
|
|
|
|
* Mon Jun 10 2024 Koichiro Iwao <meta@almalinux.org> - 6.6.31-20240529.v8.1
|
|
|
|
|
- Update to v6.6.31 stable_20240529
|
|
|
|
|
|
|
|
|
|
* Tue Jun 04 2024 Koichiro Iwao <meta@almalinux.org> - 6.6.28-20240423.v8.2
|
|
|
|
|
- Add installonlypkg(kernel) to kernel and -devel subpackages
|
|
|
|
|
Resolves: https://github.com/AlmaLinux/raspberry-pi/issues/39
|
|
|
|
|
See also: https://src.fedoraproject.org/rpms/kernel/c/aba3940
|
|
|
|
|
|
|
|
|
|
* Thu May 30 2024 Koichiro Iwao <meta@almalinux.org> - 6.6.28-20240423.v8.1
|
|
|
|
|
- Update to version v6.6.28
|
|
|
|
|
- Support both Raspberry Pi 4 and 5
|
|
|
|
|
- Refine package based on Linux for Raspberry Pi (raspberrypi/linux)
|
|
|
|
|
- Generate gzip compressed kernel image
|
|
|
|
|
- Drop armv7hl support
|
|
|
|
|
- Drop EL7 support
|
|
|
|
|
|
|
|
|
|
* Sun Jun 04 2023 Pablo Greco <pgreco@centosproject.org> - 6.1.31
|
|
|
|
|
- Update to version v6.1.31
|
|
|
|
|
|
|
|
|
|