RPi: update to openEuler 6.6.0-64.0.0, add support for RPi5
This commit is contained in:
parent
29979a2ed3
commit
93a7faafa6
File diff suppressed because it is too large
Load Diff
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
%global KernelVer %{version}-%{release}.raspi.%{_target_cpu}
|
%global KernelVer %{version}-%{release}.raspi.%{_target_cpu}
|
||||||
|
|
||||||
%global hulkrelease 28.0.0
|
%global hulkrelease 64.0.0
|
||||||
|
|
||||||
%global debug_package %{nil}
|
%global debug_package %{nil}
|
||||||
|
|
||||||
Name: raspberrypi-kernel
|
Name: raspberrypi-kernel
|
||||||
Version: 6.6.0
|
Version: 6.6.0
|
||||||
Release: %{hulkrelease}.5
|
Release: %{hulkrelease}.6
|
||||||
Summary: Linux Kernel
|
Summary: Linux Kernel
|
||||||
License: GPLv2
|
License: GPLv2
|
||||||
URL: http://www.kernel.org/
|
URL: http://www.kernel.org/
|
||||||
@ -69,95 +69,105 @@ cd linux-%{KernelVer}
|
|||||||
|
|
||||||
perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{release}.raspi.%{_target_cpu}/" Makefile
|
perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{release}.raspi.%{_target_cpu}/" Makefile
|
||||||
|
|
||||||
make ARCH=%{Arch} %{?_smp_mflags} bcm2711_defconfig
|
make ARCH=%{Arch} %{?_smp_mflags} O=output/v8 bcm2711_defconfig
|
||||||
|
|
||||||
make ARCH=%{Arch} %{?_smp_mflags} KERNELRELEASE=%{KernelVer}
|
make ARCH=%{Arch} %{?_smp_mflags} O=output/v8 KERNELRELEASE=%{KernelVer}-v8
|
||||||
|
|
||||||
|
make ARCH=%{Arch} %{?_smp_mflags} O=output/2712 bcm2712_defconfig
|
||||||
|
|
||||||
|
make ARCH=%{Arch} %{?_smp_mflags} O=output/2712 KERNELRELEASE=%{KernelVer}-2712
|
||||||
|
|
||||||
%install
|
%install
|
||||||
cd linux-%{KernelVer}
|
cd linux-%{KernelVer}
|
||||||
|
|
||||||
## install linux
|
## install linux
|
||||||
|
|
||||||
make ARCH=%{Arch} INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=%{KernelVer}
|
|
||||||
rm -rf $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/source $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build
|
|
||||||
|
|
||||||
mkdir -p $RPM_BUILD_ROOT/boot
|
mkdir -p $RPM_BUILD_ROOT/boot
|
||||||
TargetImage=$(make -s image_name)
|
rpi_version=("v8" "2712")
|
||||||
TargetImage=${TargetImage%.*}
|
for rpi in "${rpi_version[@]}"; do
|
||||||
install -m 755 $TargetImage $RPM_BUILD_ROOT/boot/vmlinuz-%{KernelVer}
|
pushd output/$rpi
|
||||||
install -m 644 .config $RPM_BUILD_ROOT/boot/config-%{KernelVer}
|
kernel_ver=%{KernelVer}-$rpi
|
||||||
install -m 644 System.map $RPM_BUILD_ROOT/boot/System.map-%{KernelVer}
|
TargetImage=$(make -s image_name)
|
||||||
|
make ARCH=%{Arch} INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$kernel_ver
|
||||||
|
install -m 755 $TargetImage $RPM_BUILD_ROOT/boot/vmlinuz-$kernel_ver
|
||||||
|
install -m 644 .config $RPM_BUILD_ROOT/boot/config-$kernel_ver
|
||||||
|
install -m 644 System.map $RPM_BUILD_ROOT/boot/System.map-$kernel_ver
|
||||||
|
|
||||||
|
rm -rf $RPM_BUILD_ROOT/lib/modules/$kernel_ver/source $RPM_BUILD_ROOT/lib/modules/$kernel_ver/build
|
||||||
|
mkdir -p $RPM_BUILD_ROOT/lib/modules/$kernel_ver/build
|
||||||
|
|
||||||
|
############ to do collect devel file #########
|
||||||
|
# 1. Makefile And Kconfig, .config sysmbol
|
||||||
|
# 2. scrpits dir
|
||||||
|
# 3. .h file
|
||||||
|
find -type f \( -name "Makefile*" -o -name "Kconfig*" \) -exec cp --parents {} $RPM_BUILD_ROOT/lib/modules/$kernel_ver/build \;
|
||||||
|
for f in Module.symvers System.map Module.markers .config;do
|
||||||
|
test -f $f || continue
|
||||||
|
cp $f $RPM_BUILD_ROOT/lib/modules/$kernel_ver/build
|
||||||
|
done
|
||||||
|
|
||||||
|
cp -a scripts $RPM_BUILD_ROOT/lib/modules/$kernel_ver/build
|
||||||
|
if [ -d arch/%{Arch}/scripts ]; then
|
||||||
|
cp -a arch/%{Arch}/scripts $RPM_BUILD_ROOT/lib/modules/$kernel_ver/build/arch/%{_arch} || :
|
||||||
|
fi
|
||||||
|
if [ -f arch/%{Arch}/*lds ]; then
|
||||||
|
cp -a arch/%{Arch}/*lds $RPM_BUILD_ROOT/lib/modules/$kernel_ver/build/arch/%{_arch}/ || :
|
||||||
|
fi
|
||||||
|
find $RPM_BUILD_ROOT/lib/modules/$kernel_ver/build/scripts/ -name "*.o" -exec rm -rf {} \;
|
||||||
|
|
||||||
|
if [ -d arch/%{Arch}/include ]; then
|
||||||
|
cp -a --parents arch/%{Arch}/include $RPM_BUILD_ROOT/lib/modules/$kernel_ver/build/
|
||||||
|
fi
|
||||||
|
cp -a include $RPM_BUILD_ROOT/lib/modules/$kernel_ver/build/include
|
||||||
|
|
||||||
|
if [ -f arch/%{Arch}/kernel/module.lds ]; then
|
||||||
|
cp -a --parents arch/%{Arch}/kernel/module.lds $RPM_BUILD_ROOT/lib/modules/$kernel_ver/build/
|
||||||
|
fi
|
||||||
|
|
||||||
|
# module.lds is moved to scripts by commit 596b0474d3d9 in linux 5.10.
|
||||||
|
if [ -f scripts/module.lds ]; then
|
||||||
|
cp -a --parents scripts/module.lds $RPM_BUILD_ROOT/lib/modules/$kernel_ver/build/
|
||||||
|
fi
|
||||||
|
|
||||||
|
# copy objtool for raspberrypi-kernel-devel (needed for building external modules)
|
||||||
|
if grep -q CONFIG_STACK_VALIDATION=y .config; then
|
||||||
|
mkdir -p $RPM_BUILD_ROOT/lib/modules/$kernel_ver/build/tools/objtool
|
||||||
|
cp -a tools/objtool/objtool $RPM_BUILD_ROOT/lib/modules/$kernel_ver/build/tools/objtool
|
||||||
|
fi
|
||||||
|
|
||||||
|
popd
|
||||||
|
|
||||||
|
%ifarch aarch64
|
||||||
|
cp -a --parents arch/arm/include/asm $RPM_BUILD_ROOT/lib/modules/$kernel_ver/build/
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# Make sure the Makefile and version.h have a matching timestamp so that
|
||||||
|
# external modules can be built
|
||||||
|
touch -r $RPM_BUILD_ROOT/lib/modules/$kernel_ver/build/Makefile $RPM_BUILD_ROOT/lib/modules/$kernel_ver/build/include/generated/uapi/linux/version.h
|
||||||
|
touch -r $RPM_BUILD_ROOT/lib/modules/$kernel_ver/build/.config $RPM_BUILD_ROOT/lib/modules/$kernel_ver/build/include/generated/autoconf.h
|
||||||
|
# for make prepare
|
||||||
|
if [ ! -f $RPM_BUILD_ROOT/lib/modules/$kernel_ver/build/include/config/auto.conf ];then
|
||||||
|
cp .config $RPM_BUILD_ROOT/lib/modules/$kernel_ver/build/include/config/auto.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p %{buildroot}/usr/src/kernels
|
||||||
|
mv $RPM_BUILD_ROOT/lib/modules/$kernel_ver/build $RPM_BUILD_ROOT/usr/src/kernels/$kernel_ver
|
||||||
|
|
||||||
|
find $RPM_BUILD_ROOT/usr/src/kernels/$kernel_ver -name ".*.cmd" -exec rm -f {} \;
|
||||||
|
|
||||||
|
pushd $RPM_BUILD_ROOT/lib/modules/$kernel_ver
|
||||||
|
ln -sf /usr/src/kernels/$kernel_ver build
|
||||||
|
ln -sf build source
|
||||||
|
popd
|
||||||
|
done
|
||||||
|
|
||||||
|
pushd output/2712
|
||||||
mkdir -p $RPM_BUILD_ROOT/boot/dtb-%{KernelVer}/overlays
|
mkdir -p $RPM_BUILD_ROOT/boot/dtb-%{KernelVer}/overlays
|
||||||
install -m 644 $(find arch/%{Arch}/boot/dts/broadcom/ -name "*.dtb") $RPM_BUILD_ROOT/boot/dtb-%{KernelVer}/
|
install -m 644 $(find arch/%{Arch}/boot/dts/broadcom/ -name "*.dtb") $RPM_BUILD_ROOT/boot/dtb-%{KernelVer}/
|
||||||
install -m 644 $(find arch/%{Arch}/boot/dts/overlays/ -name "*.dtbo") $RPM_BUILD_ROOT/boot/dtb-%{KernelVer}/overlays/
|
install -m 644 $(find arch/%{Arch}/boot/dts/overlays/ -name "*.dtbo") $RPM_BUILD_ROOT/boot/dtb-%{KernelVer}/overlays/
|
||||||
if ls arch/%{Arch}/boot/dts/overlays/*.dtb > /dev/null 2>&1; then
|
if ls arch/%{Arch}/boot/dts/overlays/*.dtb > /dev/null 2>&1; then
|
||||||
install -m 644 $(find arch/%{Arch}/boot/dts/overlays/ -name "*.dtb") $RPM_BUILD_ROOT/boot/dtb-%{KernelVer}/overlays/
|
install -m 644 $(find arch/%{Arch}/boot/dts/overlays/ -name "*.dtb") $RPM_BUILD_ROOT/boot/dtb-%{KernelVer}/overlays/
|
||||||
fi
|
fi
|
||||||
install -m 644 arch/%{Arch}/boot/dts/overlays/README $RPM_BUILD_ROOT/boot/dtb-%{KernelVer}/overlays/
|
install -m 644 ../../arch/%{Arch}/boot/dts/overlays/README $RPM_BUILD_ROOT/boot/dtb-%{KernelVer}/overlays/
|
||||||
|
|
||||||
mkdir -p $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build
|
|
||||||
|
|
||||||
############ to do collect devel file #########
|
|
||||||
# 1. Makefile And Kconfig, .config sysmbol
|
|
||||||
# 2. scrpits dir
|
|
||||||
# 3. .h file
|
|
||||||
find -type f \( -name "Makefile*" -o -name "Kconfig*" \) -exec cp --parents {} $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build \;
|
|
||||||
for f in Module.symvers System.map Module.markers .config;do
|
|
||||||
test -f $f || continue
|
|
||||||
cp $f $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build
|
|
||||||
done
|
|
||||||
|
|
||||||
cp -a scripts $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build
|
|
||||||
if [ -d arch/%{Arch}/scripts ]; then
|
|
||||||
cp -a arch/%{Arch}/scripts $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/arch/%{_arch} || :
|
|
||||||
fi
|
|
||||||
if [ -f arch/%{Arch}/*lds ]; then
|
|
||||||
cp -a arch/%{Arch}/*lds $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/arch/%{_arch}/ || :
|
|
||||||
fi
|
|
||||||
find $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/scripts/ -name "*.o" -exec rm -rf {} \;
|
|
||||||
|
|
||||||
if [ -d arch/%{Arch}/include ]; then
|
|
||||||
cp -a --parents arch/%{Arch}/include $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/
|
|
||||||
fi
|
|
||||||
cp -a include $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/include
|
|
||||||
|
|
||||||
if [ -f arch/%{Arch}/kernel/module.lds ]; then
|
|
||||||
cp -a --parents arch/%{Arch}/kernel/module.lds $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/
|
|
||||||
fi
|
|
||||||
|
|
||||||
# module.lds is moved to scripts by commit 596b0474d3d9 in linux 5.10.
|
|
||||||
if [ -f scripts/module.lds ]; then
|
|
||||||
cp -a --parents scripts/module.lds $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/
|
|
||||||
fi
|
|
||||||
|
|
||||||
%ifarch aarch64
|
|
||||||
cp -a --parents arch/arm/include/asm $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# copy objtool for raspberrypi-kernel-devel (needed for building external modules)
|
|
||||||
if grep -q CONFIG_STACK_VALIDATION=y .config; then
|
|
||||||
mkdir -p $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/tools/objtool
|
|
||||||
cp -a tools/objtool/objtool $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/tools/objtool
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Make sure the Makefile and version.h have a matching timestamp so that
|
|
||||||
# external modules can be built
|
|
||||||
touch -r $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/Makefile $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/include/generated/uapi/linux/version.h
|
|
||||||
touch -r $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/.config $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/include/generated/autoconf.h
|
|
||||||
# for make prepare
|
|
||||||
if [ ! -f $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/include/config/auto.conf ];then
|
|
||||||
cp .config $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/include/config/auto.conf
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p %{buildroot}/usr/src/kernels
|
|
||||||
mv $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build $RPM_BUILD_ROOT/usr/src/kernels/%{KernelVer}
|
|
||||||
|
|
||||||
find $RPM_BUILD_ROOT/usr/src/kernels/%{KernelVer} -name ".*.cmd" -exec rm -f {} \;
|
|
||||||
|
|
||||||
pushd $RPM_BUILD_ROOT/lib/modules/%{KernelVer}
|
|
||||||
ln -sf /usr/src/kernels/%{KernelVer} build
|
|
||||||
ln -sf build source
|
|
||||||
popd
|
popd
|
||||||
|
|
||||||
%postun
|
%postun
|
||||||
@ -184,14 +194,15 @@ else
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if [ "$version_old" != "0" ]; then
|
if [ "$version_old" != "0" ]; then
|
||||||
if [ -f /boot/vmlinuz-$version_old ] && [ -d /boot/dtb-$version_old ] && [ -d /lib/modules/$version_old ]; then
|
if [ -f /boot/vmlinuz-$version_old-v8 ] && [ -d /boot/dtb-$version_old ] && [ -d /lib/modules/$version_old-v8 ] && [ -f /boot/vmlinuz-$version_old-2712 ] && [ -d /lib/modules/$version_old-2712 ]; then
|
||||||
ls /boot/dtb-$version_old/overlays/*.dtbo > /dev/null 2>&1
|
ls /boot/dtb-$version_old/overlays/*.dtbo > /dev/null 2>&1
|
||||||
if [ "$?" == "0" ]; then
|
if [ "$?" == "0" ]; then
|
||||||
ls /boot/dtb-$version_old/*.dtb > /dev/null 2>&1
|
ls /boot/dtb-$version_old/*.dtb > /dev/null 2>&1
|
||||||
if [ "$?" == "0" ]; then
|
if [ "$?" == "0" ]; then
|
||||||
rm -rf /boot/*.dtb /boot/overlays /boot/kernel8.img
|
rm -rf /boot/*.dtb /boot/overlays /boot/kernel8.img /boot/kernel_2712.img
|
||||||
mkdir /boot/overlays
|
mkdir /boot/overlays
|
||||||
install -m 755 /boot/vmlinuz-$version_old /boot/kernel8.img
|
install -m 755 /boot/vmlinuz-$version_old-v8 /boot/kernel8.img
|
||||||
|
install -m 755 /boot/vmlinuz-$version_old-2712 /boot/kernel_2712.img
|
||||||
for file in `ls /boot/dtb-$version_old/*.dtb 2>/dev/null`
|
for file in `ls /boot/dtb-$version_old/*.dtb 2>/dev/null`
|
||||||
do
|
do
|
||||||
if [ -f $file ]; then
|
if [ -f $file ]; then
|
||||||
@ -215,9 +226,10 @@ if [ "$version_old" != "0" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
%posttrans
|
%posttrans
|
||||||
rm -rf /boot/*.dtb /boot/overlays /boot/kernel8.img
|
rm -rf /boot/*.dtb /boot/overlays /boot/kernel8.img /boot/kernel_2712.img
|
||||||
mkdir -p /boot/overlays
|
mkdir -p /boot/overlays
|
||||||
install -m 755 /boot/vmlinuz-%{KernelVer} /boot/kernel8.img
|
install -m 755 /boot/vmlinuz-%{KernelVer}-v8 /boot/kernel8.img
|
||||||
|
install -m 755 /boot/vmlinuz-%{KernelVer}-2712 /boot/kernel_2712.img
|
||||||
for file in `ls /boot/dtb-%{KernelVer}/*.dtb 2>/dev/null`
|
for file in `ls /boot/dtb-%{KernelVer}/*.dtb 2>/dev/null`
|
||||||
do
|
do
|
||||||
if [ -f $file ]; then
|
if [ -f $file ]; then
|
||||||
@ -237,10 +249,16 @@ then
|
|||||||
fi
|
fi
|
||||||
if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ]
|
if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ]
|
||||||
then
|
then
|
||||||
(cd /usr/src/kernels/%{KernelVer} &&
|
(pushd /usr/src/kernels/%{KernelVer}-v8 &&
|
||||||
/usr/bin/find . -type f | while read f; do
|
/usr/bin/find . -type f | while read f; do
|
||||||
hardlink -c /usr/src/kernels/*.oe*.*/$f $f
|
hardlink -c /usr/src/kernels/*.oe*.*/$f $f
|
||||||
done)
|
done &&
|
||||||
|
popd &&
|
||||||
|
pushd /usr/src/kernels/%{KernelVer}-2712 &&
|
||||||
|
/usr/bin/find . -type f | while read f; do
|
||||||
|
hardlink -c /usr/src/kernels/*.oe*.*/$f $f
|
||||||
|
done &&
|
||||||
|
popd)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%files
|
%files
|
||||||
@ -250,16 +268,23 @@ fi
|
|||||||
/boot/System.map-*
|
/boot/System.map-*
|
||||||
/boot/vmlinuz-*
|
/boot/vmlinuz-*
|
||||||
/boot/dtb-*
|
/boot/dtb-*
|
||||||
/lib/modules/%{KernelVer}
|
/lib/modules/%{KernelVer}-v8
|
||||||
|
/lib/modules/%{KernelVer}-2712
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr (-, root, root)
|
%defattr (-, root, root)
|
||||||
%doc
|
%doc
|
||||||
/lib/modules/%{KernelVer}/source
|
/lib/modules/%{KernelVer}-v8/source
|
||||||
/lib/modules/%{KernelVer}/build
|
/lib/modules/%{KernelVer}-v8/build
|
||||||
/usr/src/kernels/%{KernelVer}
|
/lib/modules/%{KernelVer}-2712/source
|
||||||
|
/lib/modules/%{KernelVer}-2712/build
|
||||||
|
/usr/src/kernels/%{KernelVer}-*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Dec 11 2024 Yafen Fang <yafen@iscas.ac.cn> - 6.6.0-64.0.0.6
|
||||||
|
- update kernel version to openEuler 6.6.0-64.0.0
|
||||||
|
- add support for RPi 5
|
||||||
|
|
||||||
* Wed May 29 2024 Yafen Fang <yafen@iscas.ac.cn> - 6.6.0-28.0.0.5
|
* Wed May 29 2024 Yafen Fang <yafen@iscas.ac.cn> - 6.6.0-28.0.0.5
|
||||||
- update kernel version to openEuler 6.6.0-28.0.0
|
- update kernel version to openEuler 6.6.0-28.0.0
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user