已合并
release 6.6.0-163.0.0 #2724
release 6.6.0-163.0.0 #2724
已合并
Tengda Wu创建于 7月20日
共 7 个文件变更+183-25515
MSOURCE+1-1
@@ -1 +1 @@
1-v6.18.181+6.6.0-163.0.0
The file is empty
@@ -0,0 +1,58 @@
1+drivers/hid/i2c-hid/i2c-hid-acpi.ko
2+drivers/hid/i2c-hid/i2c-hid.ko
3+drivers/net/wireless/marvell/mwl8k.ko
4+drivers/net/wireless/mediatek/mt76/mt7603/mt7603e.ko
5+drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common.ko
6+drivers/net/wireless/mediatek/mt76/mt7615/mt7615e.ko
7+drivers/net/wireless/mediatek/mt76/mt7615/mt7663s.ko
8+drivers/net/wireless/mediatek/mt76/mt7615/mt7663u.ko
9+drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common.ko
10+drivers/net/wireless/mediatek/mt76/mt76-connac-lib.ko
11+drivers/net/wireless/mediatek/mt76/mt76-sdio.ko
12+drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0e.ko
13+drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2e.ko
14+drivers/net/wireless/mediatek/mt76/mt7915/mt7915e.ko
15+drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common.ko
16+drivers/net/wireless/mediatek/mt76/mt7921/mt7921e.ko
17+drivers/net/wireless/mediatek/mt76/mt7921/mt7921s.ko
18+drivers/net/wireless/mediatek/mt76/mt7921/mt7921u.ko
19+drivers/net/wireless/mediatek/mt76/mt792x-lib.ko
20+drivers/net/wireless/mediatek/mt76/mt792x-usb.ko
21+drivers/net/wireless/mediatek/mt76/mt7996/mt7996e.ko
22+drivers/net/wireless/realtek/rtw88/rtw88_8723de.ko
23+drivers/net/wireless/realtek/rtw88/rtw88_8723d.ko
24+drivers/net/wireless/realtek/rtw88/rtw88_8723ds.ko
25+drivers/net/wireless/realtek/rtw88/rtw88_8723du.ko
26+drivers/net/wireless/realtek/rtw88/rtw88_8821ce.ko
27+drivers/net/wireless/realtek/rtw88/rtw88_8821c.ko
28+drivers/net/wireless/realtek/rtw88/rtw88_8821cs.ko
29+drivers/net/wireless/realtek/rtw88/rtw88_8821cu.ko
30+drivers/net/wireless/realtek/rtw88/rtw88_8822be.ko
31+drivers/net/wireless/realtek/rtw88/rtw88_8822b.ko
32+drivers/net/wireless/realtek/rtw88/rtw88_8822bs.ko
33+drivers/net/wireless/realtek/rtw88/rtw88_8822bu.ko
34+drivers/net/wireless/realtek/rtw88/rtw88_8822ce.ko
35+drivers/net/wireless/realtek/rtw88/rtw88_8822c.ko
36+drivers/net/wireless/realtek/rtw88/rtw88_8822cs.ko
37+drivers/net/wireless/realtek/rtw88/rtw88_8822cu.ko
38+drivers/net/wireless/realtek/rtw88/rtw88_core.ko
39+drivers/net/wireless/realtek/rtw88/rtw88_pci.ko
40+drivers/net/wireless/realtek/rtw88/rtw88_sdio.ko
41+drivers/net/wireless/realtek/rtw88/rtw88_usb.ko
42+drivers/net/wireless/realtek/rtw89/rtw89_8851be.ko
43+drivers/net/wireless/realtek/rtw89/rtw89_8851b.ko
44+drivers/net/wireless/realtek/rtw89/rtw89_8852ae.ko
45+drivers/net/wireless/realtek/rtw89/rtw89_8852a.ko
46+drivers/net/wireless/realtek/rtw89/rtw89_8852be.ko
47+drivers/net/wireless/realtek/rtw89/rtw89_8852b.ko
48+drivers/net/wireless/realtek/rtw89/rtw89_8852ce.ko
49+drivers/net/wireless/realtek/rtw89/rtw89_8852c.ko
50+drivers/net/wireless/realtek/rtw89/rtw89_core.ko
51+drivers/net/wireless/realtek/rtw89/rtw89_pci.ko
52+drivers/pinctrl/intel/pinctrl-alderlake.ko
53+drivers/pinctrl/intel/pinctrl-elkhartlake.ko
54+drivers/pinctrl/intel/pinctrl-jasperlake.ko
55+drivers/pinctrl/intel/pinctrl-lakefield.ko
56+drivers/pinctrl/intel/pinctrl-lynxpoint.ko
57+drivers/pinctrl/intel/pinctrl-meteorlake.ko
58+drivers/pinctrl/intel/pinctrl-tigerlake.ko
Mkernel.spec+124-96
@@ -1,5 +1,10 @@
1+%ifarch sw_64
2+%define with_signmodules 0
3+%define with_kabichk 0
4+%else
1%define with_signmodules 15%define with_signmodules 1
2%define with_kabichk 06%define with_kabichk 0
7+%endif
3 8 
4# Default without toolchain_clang9# Default without toolchain_clang
5%bcond_with toolchain_clang10%bcond_with toolchain_clang
@@ -38,14 +43,14 @@ rm -f test_openEuler_sign.ko test_openEuler_sign.ko.sig
38%global KernelVer %{version}-%{release}.%{_target_cpu}43%global KernelVer %{version}-%{release}.%{_target_cpu}
39%global debuginfodir /usr/lib/debug44%global debuginfodir /usr/lib/debug
40 45 
41-%global upstream_version 6.1846+%global upstream_version 6.6
42-%global upstream_sublevel 1847+%global upstream_sublevel 0
43-%global devel_release 048+%global devel_release 163
44%global maintenance_release .0.049%global maintenance_release .0.0
45-%global pkg_release .1150+%global pkg_release .1
46 51 
47%global openeuler_lts 052%global openeuler_lts 0
48-%global openeuler_major 053+%global openeuler_major 2609
49%global openeuler_minor 054%global openeuler_minor 0
50 55 
51#56#
@@ -69,6 +74,7 @@ rm -f test_openEuler_sign.ko test_openEuler_sign.ko.sig
69%undefine _unique_build_ids74%undefine _unique_build_ids
70 75 
71%define with_source 176%define with_source 1
77+ 
72%define with_python2 078%define with_python2 0
73 79 
74# failed if there is new config options80# failed if there is new config options
@@ -78,6 +84,7 @@ rm -f test_openEuler_sign.ko test_openEuler_sign.ko.sig
78%define with_64kb %{?_with_64kb: 1} %{?!_with_64kb: 0}84%define with_64kb %{?_with_64kb: 1} %{?!_with_64kb: 0}
79%if %{with_64kb}85%if %{with_64kb}
80%global package64kb -64k86%global package64kb -64k
87+%define with_kabichk 0
81%endif88%endif
82%else89%else
83%define with_64kb 090%define with_64kb 0
@@ -109,14 +116,12 @@ Source21: Module.kabi_x86_64
109%endif116%endif
110 117 
111Source200: mkgrub-menu-aarch64.sh118Source200: mkgrub-menu-aarch64.sh
119+Source300: extra-modules_x86_64.list
120+Source301: extra-modules_aarch64.list
112 121 
113Source2000: cpupower.service122Source2000: cpupower.service
114Source2001: cpupower.config123Source2001: cpupower.config
115 124 
116-Source3000: kernel-aarch64.config
117-Source3001: kernel-x86_64.config
118-Source3002: kernel-riscv64.config
119- 
120%if 0%{?with_patch}125%if 0%{?with_patch}
121Source9000: apply-patches126Source9000: apply-patches
122Source9001: guards127Source9001: guards
@@ -132,7 +137,7 @@ BuildRequires: gcc >= 3.4.2, binutils >= 2.12
132BuildRequires: hostname, net-tools, bc137BuildRequires: hostname, net-tools, bc
133BuildRequires: xmlto, asciidoc138BuildRequires: xmlto, asciidoc
134BuildRequires: openssl-devel openssl139BuildRequires: openssl-devel openssl
135-BuildRequires: libkcapi140+BuildRequires: hmaccalc
136BuildRequires: ncurses-devel141BuildRequires: ncurses-devel
137#BuildRequires: pesign >= 0.109-4142#BuildRequires: pesign >= 0.109-4
138BuildRequires: elfutils-libelf-devel143BuildRequires: elfutils-libelf-devel
@@ -163,7 +168,7 @@ Provides: %{name}-uname-r = %{KernelVer} %{name}=%{KernelVer}
163 168 
164Requires: dracut >= 001-7 grubby >= 8.28-2 initscripts >= 8.11.1-1 linux-firmware >= 20100806-2 module-init-tools >= 3.16-2169Requires: dracut >= 001-7 grubby >= 8.28-2 initscripts >= 8.11.1-1 linux-firmware >= 20100806-2 module-init-tools >= 3.16-2
165 170 
166-ExclusiveArch: noarch aarch64 i686 x86_64 riscv64 ppc64le loongarch64171+ExclusiveArch: noarch aarch64 i686 x86_64 riscv64 ppc64le loongarch64 sw_64
167ExclusiveOS: Linux172ExclusiveOS: Linux
168 173 
169%if %{with_perf}174%if %{with_perf}
@@ -231,6 +236,15 @@ Obsoletes: %{name}-tools-libs-devel
231This package contains the development files for the tools/ directory from236This package contains the development files for the tools/ directory from
232the kernel source.237the kernel source.
233 238 
239+%ifarch x86_64 aarch64
240+%package extra-modules
241+Summary: Extra kernel modules to match the kernel
242+AutoReqProv: no
243+Provides: %{name}-extra-modules = %{version}-%{release}
244+%description extra-modules
245+This package contains optional modules that may be dynamically loaded but not needed for base system operation.
246+%endif
247+ 
234%if %{with_perf}248%if %{with_perf}
235%package -n perf249%package -n perf
236Summary: Performance monitoring for the Linux kernel250Summary: Performance monitoring for the Linux kernel
@@ -363,6 +377,10 @@ Applypatches series.conf %{_builddir}/%{name}-%{version}/linux-%{KernelVer}
363find . \( -name "*.orig" -o -name "*~" \) -exec rm -f {} \; >/dev/null377find . \( -name "*.orig" -o -name "*~" \) -exec rm -f {} \; >/dev/null
364find . -name .gitignore -exec rm -f {} \; >/dev/null378find . -name .gitignore -exec rm -f {} \; >/dev/null
365 379 
380+%if 0%{?with_signmodules}
381+ cp %{SOURCE11} certs/.
382+%endif
383+ 
366%if 0%{?with_source}384%if 0%{?with_source}
367# Copy directory backup for kernel-source385# Copy directory backup for kernel-source
368cp -a ../linux-%{KernelVer} ../linux-%{KernelVer}-source386cp -a ../linux-%{KernelVer} ../linux-%{KernelVer}-source
@@ -375,31 +393,23 @@ cp -a tools/perf tools/python3-perf
375cd linux-%{KernelVer}393cd linux-%{KernelVer}
376 394 
377perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{release}.%{_target_cpu}/" Makefile395perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{release}.%{_target_cpu}/" Makefile
378- 
379-%if %{with openeuler_version}
380perl -p -i -e "s/^OPENEULER_LTS.*/OPENEULER_LTS = %{openeuler_lts}/" Makefile.oever396perl -p -i -e "s/^OPENEULER_LTS.*/OPENEULER_LTS = %{openeuler_lts}/" Makefile.oever
381perl -p -i -e "s/^OPENEULER_MAJOR.*/OPENEULER_MAJOR = %{openeuler_major}/" Makefile.oever397perl -p -i -e "s/^OPENEULER_MAJOR.*/OPENEULER_MAJOR = %{openeuler_major}/" Makefile.oever
382perl -p -i -e "s/^OPENEULER_MINOR.*/OPENEULER_MINOR = %{openeuler_minor}/" Makefile.oever398perl -p -i -e "s/^OPENEULER_MINOR.*/OPENEULER_MINOR = %{openeuler_minor}/" Makefile.oever
383perl -p -i -e "s/^OPENEULER_RELEASE.*/OPENEULER_RELEASE = \"%{release}\"/" Makefile.oever399perl -p -i -e "s/^OPENEULER_RELEASE.*/OPENEULER_RELEASE = \"%{release}\"/" Makefile.oever
384-%endif
385 400 
386## make linux401## make linux
387make mrproper %{_smp_mflags}402make mrproper %{_smp_mflags}
388 403 
389-%if 0%{?with_signmodules}
390- cp %{SOURCE11} certs/.
391-%endif
392- 
393-%ifnarch loongarch64
394-cp $RPM_SOURCE_DIR/kernel-%{_host_cpu}.config arch/%{Arch}/configs/openeuler_defconfig
395-%endif
396- 
397%if %{with_64kb}404%if %{with_64kb}
398sed -i arch/arm64/configs/openeuler_defconfig -e 's/^CONFIG_ARM64_4K_PAGES.*/CONFIG_ARM64_64K_PAGES=y/'405sed -i arch/arm64/configs/openeuler_defconfig -e 's/^CONFIG_ARM64_4K_PAGES.*/CONFIG_ARM64_64K_PAGES=y/'
399-sed -i arch/arm64/configs/openeuler_defconfig -e 's/^CONFIG_ARM64_PA_BITS=.*/CONFIG_ARM64_PA_BITS=52/'406+sed -i arch/arm64/configs/openeuler_defconfig -e 's/^CONFIG_MEMORY_RELIABLE.*/# CONFIG_MEMORY_RELIABLE is not set/'
400-sed -i arch/arm64/configs/openeuler_defconfig -e 's/^CONFIG_ARM64_PA_BITS_.*/CONFIG_ARM64_PA_BITS_52=y/'407+sed -i arch/arm64/configs/openeuler_defconfig -e 's/^CONFIG_USERSWAP.*/# CONFIG_USERSWAP is not set/'
401-sed -i arch/arm64/configs/openeuler_defconfig -e 's/^CONFIG_ARM64_VA_BITS=.*/CONFIG_ARM64_VA_BITS=52/'408+sed -i arch/arm64/configs/openeuler_defconfig -e 's/^CONFIG_MEMCG_SWAP_QOS.*/# CONFIG_MEMCG_SWAP_QOS is not set/'
402-sed -i arch/arm64/configs/openeuler_defconfig -e 's/^CONFIG_ARM64_VA_BITS_.*/CONFIG_ARM64_VA_BITS_52=y/'409+sed -i arch/arm64/configs/openeuler_defconfig -e 's/^CONFIG_PAGE_CACHE_LIMIT.*/# CONFIG_PAGE_CACHE_LIMIT is not set/'
410+sed -i arch/arm64/configs/openeuler_defconfig -e 's/^CONFIG_PAGEATTACH.*/# CONFIG_PAGEATTACH is not set/'
411+sed -i arch/arm64/configs/openeuler_defconfig -e 's/^CONFIG_CLEAR_FREELIST_PAGE.*/# CONFIG_CLEAR_FREELIST_PAGE is not set/'
412+sed -i arch/arm64/configs/openeuler_defconfig -e 's/^CONFIG_DIRTY_PAGES.*/# CONFIG_DIRTY_PAGES is not set/'
403%endif413%endif
404 414 
405%if "%toolchain" == "clang"415%if "%toolchain" == "clang"
@@ -421,15 +431,15 @@ sed -i arch/arm64/configs/openeuler_defconfig -e 's/^CONFIG_ARM64_VA_BITS_.*/CON
421%global make %{__make} %{?clang_make_opts} HOSTCFLAGS="%{?build_cflags}" HOSTLDFLAGS="%{?build_ldflags}"431%global make %{__make} %{?clang_make_opts} HOSTCFLAGS="%{?build_cflags}" HOSTLDFLAGS="%{?build_ldflags}"
422 432 
423%ifarch loongarch64433%ifarch loongarch64
424-echo "CONFIG_DEBUG_INFO_BTF=y" >> arch/loongarch/configs/loongson3_defconfig
425-echo "CONFIG_DEBUG_INFO=y" >>arch/loongarch/configs/loongson3_defconfig
426-echo "CONFIG_DEBUG_INFO_DWARF5=y" >>arch/loongarch/configs/loongson3_defconfig
427-sed -i 's/CONFIG_MODULE_COMPRESS=y/# CONFIG_MODULE_COMPRESS is not set/g' arch/loongarch/configs/loongson3_defconfig
428 434 
429%if 0%{with_signmodules}435%if 0%{with_signmodules}
430echo "CONFIG_MODULE_SIG=y" >> arch/loongarch/configs/loongson3_defconfig436echo "CONFIG_MODULE_SIG=y" >> arch/loongarch/configs/loongson3_defconfig
431%endif437%endif
432 438 
439+%if 0%{with_debuginfo}
440+echo "CONFIG_DEBUG_INFO=y" >>arch/loongarch/configs/loongson3_defconfig
441+%endif
442+ 
433make ARCH=%{Arch} loongson3_defconfig443make ARCH=%{Arch} loongson3_defconfig
434 444 
435%else445%else
@@ -455,11 +465,17 @@ sed -i 's/CONFIG_LTO_NONE=y/# CONFIG_LTO_NONE is not set/' .config
455 465 
456TargetImage=$(basename $(make -s image_name))466TargetImage=$(basename $(make -s image_name))
457 467 
468+%ifarch sw_64
469+%{make} ARCH=%{Arch} %{?_smp_mflags}
470+cp vmlinux ./arch/sw_64/boot/
471+cp vmlinux ./arch/sw_64/boot/vmlinux.bin
472+%else
458%{make} ARCH=%{Arch} $TargetImage %{?_smp_mflags}473%{make} ARCH=%{Arch} $TargetImage %{?_smp_mflags}
459%ifarch loongarch64474%ifarch loongarch64
460%{make} ARCH=%{Arch} vmlinuz.efi %{?_smp_mflags}475%{make} ARCH=%{Arch} vmlinuz.efi %{?_smp_mflags}
461%endif476%endif
462%{make} ARCH=%{Arch} modules %{?_smp_mflags}477%{make} ARCH=%{Arch} modules %{?_smp_mflags}
478+%endif
463 479 
464%if 0%{?with_kabichk}480%if 0%{?with_kabichk}
465 chmod 0755 %{SOURCE18}481 chmod 0755 %{SOURCE18}
@@ -481,10 +497,10 @@ TargetImage=$(basename $(make -s image_name))
481%ifarch aarch64497%ifarch aarch64
482# aarch64 make perf with CORESIGHT=1498# aarch64 make perf with CORESIGHT=1
483%global perf_make \499%global perf_make \
484- LDFLAGS="-Wl,--no-as-needed -lstdc++ %{?build_ldflags}" make %{?clang_make_opts} EXTRA_LDFLAGS="%[ "%{toolchain}" == "clang" ? "-z now" : "" ]" EXTRA_CFLAGS="%[ "%{toolchain}" == "clang" ? "" : "-Wl,-z,now" ] -g -Wall -fstack-protector-strong -fPIC" EXTRA_PERFLIBS="-fpie" %{?_smp_mflags} -s V=1 WERROR=0 NO_LIBUNWIND=1 HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_LIBNUMA=1 NO_STRLCPY=1 CORESIGHT=1 prefix=%{_prefix}500+ make %{?clang_make_opts} EXTRA_LDFLAGS="%[ "%{toolchain}" == "clang" ? "-z now" : "" ]" EXTRA_CFLAGS="%[ "%{toolchain}" == "clang" ? "" : "-Wl,-z,now" ] -g -Wall -fstack-protector-strong -fPIC" EXTRA_PERFLIBS="-fpie -pie" %{?_smp_mflags} -s V=1 WERROR=0 NO_LIBUNWIND=1 HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_LIBNUMA=1 NO_STRLCPY=1 CORESIGHT=1 prefix=%{_prefix}
485%else501%else
486%global perf_make \502%global perf_make \
487- LDFLAGS="-Wl,--no-as-needed -lstdc++ %{?build_ldflags}" make %{?clang_make_opts} EXTRA_LDFLAGS="%[ "%{toolchain}" == "clang" ? "-z now" : "" ]" EXTRA_CFLAGS="%[ "%{toolchain}" == "clang" ? "" : "-Wl,-z,now" ] -g -Wall -fstack-protector-strong -fPIC" EXTRA_PERFLIBS="-fpie" %{?_smp_mflags} -s V=1 WERROR=0 NO_LIBUNWIND=1 HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_LIBNUMA=1 NO_STRLCPY=1 prefix=%{_prefix}503+ make %{?clang_make_opts} EXTRA_LDFLAGS="%[ "%{toolchain}" == "clang" ? "-z now" : "" ]" EXTRA_CFLAGS="%[ "%{toolchain}" == "clang" ? "" : "-Wl,-z,now" ] -g -Wall -fstack-protector-strong -fPIC" EXTRA_PERFLIBS="-fpie -pie" %{?_smp_mflags} -s V=1 WERROR=0 NO_LIBUNWIND=1 HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_LIBNUMA=1 NO_STRLCPY=1 prefix=%{_prefix}
488%endif504%endif
489%if 0%{?with_python2}505%if 0%{?with_python2}
490%global perf_python2 -C tools/perf PYTHON=%{__python2}506%global perf_python2 -C tools/perf PYTHON=%{__python2}
@@ -548,11 +564,16 @@ pushd tools/gpio/
548popd564popd
549# kvm565# kvm
550pushd tools/kvm/kvm_stat/566pushd tools/kvm/kvm_stat/
567+%{make} %{?_smp_mflags} man
551popd568popd
552# libbpf.a and bpf_helper_defs.h569# libbpf.a and bpf_helper_defs.h
553pushd tools/lib/bpf570pushd tools/lib/bpf
554%{make}571%{make}
555popd572popd
573+# netacc
574+pushd tools/netacc
575+%{make} BPFTOOL=../../tools/bpf/bpftool/bpftool
576+popd
556 577 
557%install578%install
558%if 0%{?with_source}579%if 0%{?with_source}
@@ -574,6 +595,9 @@ mkdir -p $RPM_BUILD_ROOT/boot
574dd if=/dev/zero of=$RPM_BUILD_ROOT/boot/initramfs-%{KernelVer}.img bs=1M count=20595dd if=/dev/zero of=$RPM_BUILD_ROOT/boot/initramfs-%{KernelVer}.img bs=1M count=20
575 596 
576%ifarch loongarch64597%ifarch loongarch64
598+# dracut config to include ls2k500sfb driver in initramfs
599+mkdir -p $RPM_BUILD_ROOT/etc/dracut.conf.d
600+echo 'add_drivers+=" ls2k500sfb "' > $RPM_BUILD_ROOT/etc/dracut.conf.d/ls2k500sfb.conf
577strip -s vmlinux -o vmlinux.elf601strip -s vmlinux -o vmlinux.elf
578install -m 755 vmlinux.elf $RPM_BUILD_ROOT/boot/vmlinuz-%{KernelVer}602install -m 755 vmlinux.elf $RPM_BUILD_ROOT/boot/vmlinuz-%{KernelVer}
579install -m 755 arch/loongarch/boot/vmlinuz.efi $RPM_BUILD_ROOT/boot/efi-vmlinuz-%{KernelVer}603install -m 755 arch/loongarch/boot/vmlinuz.efi $RPM_BUILD_ROOT/boot/efi-vmlinuz-%{KernelVer}
@@ -613,9 +637,7 @@ popd
613install -m 644 .config $RPM_BUILD_ROOT/boot/config-%{KernelVer}637install -m 644 .config $RPM_BUILD_ROOT/boot/config-%{KernelVer}
614install -m 644 System.map $RPM_BUILD_ROOT/boot/System.map-%{KernelVer}638install -m 644 System.map $RPM_BUILD_ROOT/boot/System.map-%{KernelVer}
615 639 
616-%if 0%{?with_kabichk}
617gzip -c9 < Module.symvers > $RPM_BUILD_ROOT/boot/symvers-%{KernelVer}.gz640gzip -c9 < Module.symvers > $RPM_BUILD_ROOT/boot/symvers-%{KernelVer}.gz
618-%endif
619 641 
620mkdir -p $RPM_BUILD_ROOT%{_sbindir}642mkdir -p $RPM_BUILD_ROOT%{_sbindir}
621install -m 755 %{SOURCE200} $RPM_BUILD_ROOT%{_sbindir}/mkgrub-menu-%{version}-%{devel_release}%{?maintenance_release}%{?pkg_release}.sh643install -m 755 %{SOURCE200} $RPM_BUILD_ROOT%{_sbindir}/mkgrub-menu-%{version}-%{devel_release}%{?maintenance_release}%{?pkg_release}.sh
@@ -629,8 +651,31 @@ install -m 755 %{SOURCE200} $RPM_BUILD_ROOT%{_sbindir}/mkgrub-menu-%{version}-%{
629# deal with module, if not kdump651# deal with module, if not kdump
630%{make} ARCH=%{Arch} INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=%{KernelVer} mod-fw=652%{make} ARCH=%{Arch} INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=%{KernelVer} mod-fw=
631######## to collect ko to module.filelist about netwoking. block. drm. modesetting ###############653######## to collect ko to module.filelist about netwoking. block. drm. modesetting ###############
654+# 1. Generates extra-module.list by:
655+# - Processing predefined extra-modules_%{_target_cpu}.list
656+# 2. Creates core-module.list by comparing installed modules with extra modules
657+# Final output: Generates kernel-modules-filelist (core) and kernel-extra-modules-filelist
658+# for RPM package specification, while ensuring proper path mapping to /lib/modules/%{KernelVer}/
659+ 
632pushd $RPM_BUILD_ROOT/lib/modules/%{KernelVer}660pushd $RPM_BUILD_ROOT/lib/modules/%{KernelVer}
661+%ifnarch x86_64 aarch64
633find -type f -name "*.ko" >modnames662find -type f -name "*.ko" >modnames
663+%else
664+sed 's!^!kernel/!; s!\.ko$!!' %{_sourcedir}/extra-modules_%{_target_cpu}.list > modules-extra.list
665+ 
666+find -type f -name "*.ko" | sort >modnames
667+ 
668+grep -vFf modules-extra.list modnames > modules-core.list || true
669+ 
670+sed -e 's!^\.\/kernel/!/lib/modules/%{KernelVer}/kernel/!; s!\.ko$!.ko.xz!' \
671+ modules-core.list > %{_builddir}/%{name}-%{version}/kernel-modules-filelist
672+ 
673+if [ -s modules-extra.list ]; then
674+ sed 's!^kernel/!!; s!$!.ko.xz!; s!^!/lib/modules/%{KernelVer}/kernel/!' modules-extra.list > %{_builddir}/%{name}-%{version}/kernel-extra-modules-filelist
675+else
676+ echo "%ghost /nonexistent/dummy/file" > %{_builddir}/%{name}-%{version}/kernel-extra-modules-filelist
677+fi
678+%endif
634 679 
635# mark modules executable so that strip-to-file can strip them680# mark modules executable so that strip-to-file can strip them
636xargs --no-run-if-empty chmod u+x < modnames681xargs --no-run-if-empty chmod u+x < modnames
@@ -671,6 +716,9 @@ grep -E -v \
671 modinfo && exit 1716 modinfo && exit 1
672 717 
673rm -f modinfo modnames drivers.undef718rm -f modinfo modnames drivers.undef
719+%ifarch x86_64 aarch64
720+rm -f modules-extra.list modules-core.list modules.list
721+%endif
674 722 
675for i in alias alias.bin builtin.bin ccwmap dep dep.bin ieee1394map inputmap isapnpmap ofmap pcimap seriomap symbols symbols.bin usbmap723for i in alias alias.bin builtin.bin ccwmap dep dep.bin ieee1394map inputmap isapnpmap ofmap pcimap seriomap symbols symbols.bin usbmap
676do724do
@@ -709,20 +757,18 @@ popd
709find $RPM_BUILD_ROOT/usr/include -name "\.*" -exec rm -rf {} \;757find $RPM_BUILD_ROOT/usr/include -name "\.*" -exec rm -rf {} \;
710 758 
711# dtbs install759# dtbs install
712-%ifarch aarch64 riscv64760+%ifarch aarch64
713 mkdir -p $RPM_BUILD_ROOT/boot/dtb-%{KernelVer}761 mkdir -p $RPM_BUILD_ROOT/boot/dtb-%{KernelVer}
714 install -m 644 $(find arch/%{Arch}/boot -name "*.dtb") $RPM_BUILD_ROOT/boot/dtb-%{KernelVer}/762 install -m 644 $(find arch/%{Arch}/boot -name "*.dtb") $RPM_BUILD_ROOT/boot/dtb-%{KernelVer}/
715 rm -f $(find arch/$Arch/boot -name "*.dtb")763 rm -f $(find arch/$Arch/boot -name "*.dtb")
716%endif764%endif
717 765 
718-# deal with riscv SoC dtb search path
719%ifarch riscv64766%ifarch riscv64
720- mkdir -p $RPM_BUILD_ROOT/boot/dtb-%{KernelVer}/thead767+ %{make} ARCH=%{Arch} INSTALL_DTBS_PATH=$RPM_BUILD_ROOT/boot/dtb-%{KernelVer} dtbs_install
721- mv $(find $RPM_BUILD_ROOT/boot/dtb-%{KernelVer}/ -name "th1520*.dtb") $RPM_BUILD_ROOT/boot/dtb-%{KernelVer}/thead
722%endif768%endif
723 769 
724# deal with vdso770# deal with vdso
725-%ifnarch ppc64le771+%ifnarch ppc64le sw_64
726%{make} -s ARCH=%{Arch} INSTALL_MOD_PATH=$RPM_BUILD_ROOT vdso_install KERNELRELEASE=%{KernelVer}772%{make} -s ARCH=%{Arch} INSTALL_MOD_PATH=$RPM_BUILD_ROOT vdso_install KERNELRELEASE=%{KernelVer}
727%endif773%endif
728if [ ! -s ldconfig-kernel.conf ]; then774if [ ! -s ldconfig-kernel.conf ]; then
@@ -782,15 +828,10 @@ fi
782 828 
783# Make sure the Makefile and version.h have a matching timestamp so that829# Make sure the Makefile and version.h have a matching timestamp so that
784# external modules can be built830# external modules can be built
785-if [ -f $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/include/generated/uapi/linux/version.h ]; then831+touch -r $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/Makefile $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/include/generated/uapi/linux/version.h
786- touch -r $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/Makefile $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/include/generated/uapi/linux/version.h832+touch -r $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/.config $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/include/generated/autoconf.h
787-fi
788-if [ -f $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/include/generated/autoconf.h ]; then
789- touch -r $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/.config $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/include/generated/autoconf.h
790-fi
791# for make prepare833# for make prepare
792if [ ! -f $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/include/config/auto.conf ];then834if [ ! -f $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/include/config/auto.conf ];then
793- mkdir -p $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/include/config
794 cp .config $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/include/config/auto.conf835 cp .config $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/include/config/auto.conf
795fi836fi
796 837 
@@ -836,6 +877,7 @@ rm -rf %{buildroot}/usr/lib/perf/include/bpf/
836 877 
837# perf man pages (note: implicit rpm magic compresses them later)878# perf man pages (note: implicit rpm magic compresses them later)
838install -d %{buildroot}/%{_mandir}/man1879install -d %{buildroot}/%{_mandir}/man1
880+install -pm0644 tools/kvm/kvm_stat/kvm_stat.1 %{buildroot}/%{_mandir}/man1/
839install -pm0644 tools/perf/Documentation/*.1 %{buildroot}/%{_mandir}/man1/881install -pm0644 tools/perf/Documentation/*.1 %{buildroot}/%{_mandir}/man1/
840%endif882%endif
841 883 
@@ -894,6 +936,10 @@ popd
894pushd tools/kvm/kvm_stat936pushd tools/kvm/kvm_stat
895%{make} INSTALL_ROOT=%{buildroot} install-tools937%{make} INSTALL_ROOT=%{buildroot} install-tools
896popd938popd
939+# netacc
940+pushd tools/netacc
941+%{make} INSTALL_ROOT=%{buildroot} install
942+popd
897 943 
898%define __spec_install_post\944%define __spec_install_post\
899%{?__debug_package:%{__debug_install_post}}\945%{?__debug_package:%{__debug_install_post}}\
@@ -915,6 +961,10 @@ if [ `uname -i` == "aarch64" ] &&
915 [ -f /boot/EFI/grub2/grub.cfg ]; then961 [ -f /boot/EFI/grub2/grub.cfg ]; then
916 /usr/bin/sh %{_sbindir}/mkgrub-menu-%{version}-%{devel_release}%{?maintenance_release}%{?pkg_release}.sh %{version}-%{release}.aarch64 /boot/EFI/grub2/grub.cfg remove962 /usr/bin/sh %{_sbindir}/mkgrub-menu-%{version}-%{devel_release}%{?maintenance_release}%{?pkg_release}.sh %{version}-%{release}.aarch64 /boot/EFI/grub2/grub.cfg remove
917fi963fi
964+if [ `uname -i` == "sw_64" ] &&
965+ [ -f /boot/EFI/grub2/grub.cfg ]; then
966+ /usr/bin/sh %{_sbindir}/mkgrub-menu-%{version}-%{devel_release}%{?maintenance_release}%{?pkg_release}.sh %{version}-%{release}.aarch64 /boot/EFI/grub2/grub.cfg remove
967+fi
918 968 
919%postun969%postun
920%{_sbindir}/new-kernel-pkg --rminitrd --rmmoddep --remove %{KernelVer} || exit $?970%{_sbindir}/new-kernel-pkg --rminitrd --rmmoddep --remove %{KernelVer} || exit $?
@@ -933,6 +983,9 @@ if [ `uname -i` == "loongarch64" ];then
933 [ "x${GRUB_CFG}" == "x" ] && [ -f /boot/efi/EFI/openEuler/grub.cfg ] && GRUB_CFG=/boot/efi/EFI/openEuler/grub.cfg983 [ "x${GRUB_CFG}" == "x" ] && [ -f /boot/efi/EFI/openEuler/grub.cfg ] && GRUB_CFG=/boot/efi/EFI/openEuler/grub.cfg
934 [ "x${GRUB_CFG}" != "x" ] && grub2-mkconfig -o ${GRUB_CFG}984 [ "x${GRUB_CFG}" != "x" ] && grub2-mkconfig -o ${GRUB_CFG}
935fi985fi
986+if [ `uname -i` == "sw_64" ];then
987+ grub2-mkconfig -o /boot/efi/EFI/openEuler/grub.cfg
988+fi
936 989 
937%posttrans990%posttrans
938%{_sbindir}/new-kernel-pkg --package kernel --mkinitrd --dracut --depmod --update %{KernelVer} || exit $?991%{_sbindir}/new-kernel-pkg --package kernel --mkinitrd --dracut --depmod --update %{KernelVer} || exit $?
@@ -948,7 +1001,7 @@ if [ `uname -i` == "loongarch64" ];then
948 [ "x${GRUB_CFG}" != "x" ] && grub2-mkconfig -o ${GRUB_CFG}1001 [ "x${GRUB_CFG}" != "x" ] && grub2-mkconfig -o ${GRUB_CFG}
949 grubby --set-default=/boot/vmlinuz-%{KernelVer}1002 grubby --set-default=/boot/vmlinuz-%{KernelVer}
950fi1003fi
951-if [ -x %{_sbindir}/weak-modules ] && [ -f /boot/symvers-%{KernelVer}* ]1004+if [ -x %{_sbindir}/weak-modules ]
952then1005then
953 %{_sbindir}/weak-modules --add-kernel %{KernelVer} || exit $?1006 %{_sbindir}/weak-modules --add-kernel %{KernelVer} || exit $?
954fi1007fi
@@ -979,29 +1032,44 @@ fi
979/sbin/ldconfig1032/sbin/ldconfig
980%systemd_postun cpupower.service1033%systemd_postun cpupower.service
981 1034 
1035+%ifnarch x86_64 aarch64
982%files1036%files
1037+%else
1038+%files -f kernel-modules-filelist
1039+%endif
983%defattr (-, root, root)1040%defattr (-, root, root)
984%doc1041%doc
985/boot/config-*1042/boot/config-*
986%ifarch aarch64 riscv641043%ifarch aarch64 riscv64
987/boot/dtb-*1044/boot/dtb-*
988%endif1045%endif
989-%if 0%{?with_kabichk}
990/boot/symvers-*1046/boot/symvers-*
991-%endif
992/boot/System.map-*1047/boot/System.map-*
993/boot/vmlinuz-*1048/boot/vmlinuz-*
994%ifarch loongarch641049%ifarch loongarch64
995/boot/efi-vmlinuz-%{KernelVer}1050/boot/efi-vmlinuz-%{KernelVer}
996%endif1051%endif
997%ghost /boot/initramfs-%{KernelVer}.img1052%ghost /boot/initramfs-%{KernelVer}.img
1053+%ifarch loongarch64
1054+/etc/dracut.conf.d/ls2k500sfb.conf
1055+%endif
998/boot/.vmlinuz-*.hmac1056/boot/.vmlinuz-*.hmac
999/etc/ld.so.conf.d/*1057/etc/ld.so.conf.d/*
1058+%ifnarch x86_64 aarch64
1000/lib/modules/%{KernelVer}/1059/lib/modules/%{KernelVer}/
1060+%else
1061+/lib/modules/%{KernelVer}/vdso/
1062+/lib/modules/%{KernelVer}/modules.*
1063+%endif
1001%exclude /lib/modules/%{KernelVer}/source1064%exclude /lib/modules/%{KernelVer}/source
1002%exclude /lib/modules/%{KernelVer}/build1065%exclude /lib/modules/%{KernelVer}/build
1003%{_sbindir}/mkgrub-menu*.sh1066%{_sbindir}/mkgrub-menu*.sh
1004 1067 
1068+%ifarch x86_64 aarch64
1069+%files extra-modules -f kernel-extra-modules-filelist
1070+%defattr(-,root,root)
1071+%endif
1072+ 
1005%files devel1073%files devel
1006%defattr (-, root, root)1074%defattr (-, root, root)
1007%doc1075%doc
@@ -1020,6 +1088,7 @@ fi
1020%{_bindir}/perf1088%{_bindir}/perf
1021%{_libdir}/libperf-jvmti.so1089%{_libdir}/libperf-jvmti.so
1022%{_libexecdir}/perf-core1090%{_libexecdir}/perf-core
1091+%{_datadir}/perf-core/
1023%{_mandir}/man[1-8]/perf*1092%{_mandir}/man[1-8]/perf*
1024%{_sysconfdir}/bash_completion.d/perf1093%{_sysconfdir}/bash_completion.d/perf
1025%doc linux-%{KernelVer}/tools/perf/Documentation/examples.txt1094%doc linux-%{KernelVer}/tools/perf/Documentation/examples.txt
@@ -1048,8 +1117,6 @@ fi
1048%{_datadir}/bash-completion/completions/cpupower1117%{_datadir}/bash-completion/completions/cpupower
1049%{_mandir}/man[1-8]/cpupower*1118%{_mandir}/man[1-8]/cpupower*
1050%config(noreplace) %{_sysconfdir}/sysconfig/cpupower1119%config(noreplace) %{_sysconfdir}/sysconfig/cpupower
1051-%config(noreplace) %{_sysconfdir}/cpupower-service.conf
1052-%{_libexecdir}/cpupower
1053%ifarch %{ix86} x86_641120%ifarch %{ix86} x86_64
1054%{_bindir}/x86_energy_perf_policy1121%{_bindir}/x86_energy_perf_policy
1055%{_mandir}/man8/x86_energy_perf_policy*1122%{_mandir}/man8/x86_energy_perf_policy*
@@ -1064,9 +1131,12 @@ fi
1064%{_bindir}/gpio-hammer1131%{_bindir}/gpio-hammer
1065%{_bindir}/gpio-event-mon1132%{_bindir}/gpio-event-mon
1066%{_bindir}/gpio-watch1133%{_bindir}/gpio-watch
1134+%{_mandir}/man1/kvm_stat*
1067%{_bindir}/kvm_stat1135%{_bindir}/kvm_stat
1136+%{_sbindir}/net-acc
1137+%{_sbindir}/tuned_acc/netacc
1068%{_libdir}/libcpupower.so.11138%{_libdir}/libcpupower.so.1
1069-%{_libdir}/libcpupower.so.1.0.11139+%{_libdir}/libcpupower.so.0.0.1
1070%license linux-%{KernelVer}/COPYING1140%license linux-%{KernelVer}/COPYING
1071 1141 
1072%files -n %{name}-tools-devel1142%files -n %{name}-tools-devel
@@ -1089,7 +1159,6 @@ fi
1089%{_mandir}/man8/bpftool-link.8.gz1159%{_mandir}/man8/bpftool-link.8.gz
1090%{_mandir}/man8/bpftool-net.8.gz1160%{_mandir}/man8/bpftool-net.8.gz
1091%{_mandir}/man8/bpftool-struct_ops.8.gz1161%{_mandir}/man8/bpftool-struct_ops.8.gz
1092-%{_mandir}/man8/bpftool-token.8.gz
1093%license linux-%{KernelVer}/COPYING1162%license linux-%{KernelVer}/COPYING
1094 1163 
1095%if 0%{?with_source}1164%if 0%{?with_source}
@@ -1100,46 +1169,5 @@ fi
1100%endif1169%endif
1101 1170 
1102%changelog1171%changelog
1103-* Tue Jul 07 2026 gaihuiying <eaglegai@163.com> - 6.18.18-0.0.0.111172+* Tue Jul 07 2026 Tengda Wu <wutengda2@huawei.com> - 6.6.0-163.0.0.1
1104-- fix multi include path for kernel-devel1173+- package init based on olk 6.6
1105- 
1106-* Fri Jul 03 2026 Wenlong Zhang <zhangwenlong@loongson.cn> - 6.18.18-0.0.0.10
1107-- use loongson3_defconfig on loongarch64 as default
1108-- fix build error on loongarch64
1109- 
1110-* Mon Jun 15 2026 Ming Wang <wangming01@loongson.cn> - 6.18.18-0.0.0.9
1111-- LoongArch: rename packaged EFI kernel image to avoid auto boot entry generation
1112- 
1113-* Mon Jun 01 2026 Ming Wang <wangming01@loongson.cn> - 6.18.18-0.0.0.8
1114-- LoongArch: package EFI kernel image
1115- 
1116-* Thu May 07 2026 zhangqiumiao <zhangqiumiao1@h-partners.com> - 6.18.18-0.0.0.7
1117-- kernel.spec: fix symbol conflicts between 4K and 64K page packages
1118- 
1119-* Thu Apr 16 2026 Xie XiuQi <xiexiuqi@huawei.com> - 6.18.18-0.0.0.6
1120-- kernel: update to 6.18.18
1121-- kernel.spec: fix build and install for v6.18 on modern toolchain
1122-- kernel.spec: update file lists for v6.18 packaging
1123-- kernel.spec: replace hmaccalc with libkcapi for openEuler compatibility
1124- 
1125-* Thu Mar 19 2026 Wang Kui <wangkui35@h-partners.com> - 6.12.33-0.0.0.5
1126-- check /boot/symvers-* in posttrans
1127- 
1128-*Wed Mar 18 2026 zhangqiumiao <zhangqiumiao1@h-partners.com> - 6.12.33-0.0.0.4
1129-- fix build failure with 64K page
1130- 
1131-*Fri Feb 27 2026 zhangqiumiao <zhangqiumiao1@h-partners.com> - 6.12.33-0.0.0.3
1132-- change the package name of 64KB page size kernel to kernel-64k
1133- 
1134-*Tue Aug 19 2025 yuelg <yuelg@chinaunicom.cn> - 6.12.33-0.0.0.2
1135-- adjust copying x509.genkey to be after mrproper
1136- 
1137-* Wed Jun 18 2025 laokz <zhangkai@iscas.ac.cn> - 6.12.33-0.0.0.1
1138-- upgrade to upstream v6.12.33
1139-- reset %with_debuginfo
1140- 
1141-* Sat Jun 07 2025 Xie XiuQi <xiexiuqi@huawei.com> - 6.12.0-0.0.0.1
1142-- upgrade to v6.12
1143- 
1144-* Sat Jan 14 2023 Xie XiuQi <xiexiuqi@huawei.com> - 6.1.0-1.0.0.1
1145-- package init based on upstream v6.1