config 配置
make menuconfig
比如开启BTF
//选中kernel hacking --> Compile-time checks and compiler option -->Generate BTF
保存完成后 重新将源码打包成xz 文件
sudo yum groupinstall "Development Tools"
sudo yum install ncurses-devel bc kmod openssl-devel elfutils-libelf-devel rpm-build
make ARCH=arm64 defconfig
make ARCH=arm64 menuconfig
rpm 编译配置
%define __spec_install_post %{nil}
%define debug_package %{nil}
%define __os_install_post %{_dbpath}/brp-compress
Name: kernel-btf
Version: 5.10.224
Release: 1%{?dist}
Summary: Custom Linux kernel with BTF support
License: GPL
URL: https://www.kernel.org/
BuildRequires: bc openssl-devel elfutils-libelf-devel
%description
Custom built Linux kernel version 5.10.224 with BTF support for aarch64
%prep
# We are already in the kernel source directory, so no %setup needed
%build
make ARCH=arm64 %{?_smp_mflags} all
%install
rm -rf %{buildroot}
make ARCH=arm64 INSTALL_MOD_PATH=%{buildroot} modules_install
make ARCH=arm64 INSTALL_PATH=%{buildroot}/boot install
# Ensure kernel image is copied with correct name
cp arch/arm64/boot/Image %{buildroot}/boot/vmlinuz-%{version}
# Copy System.map and config
cp System.map %{buildroot}/boot/System.map-%{version}
cp .config %{buildroot}/boot/config-%{version}
%files
/boot/*
/lib/modules/%{version}
%post
/usr/sbin/new-kernel-pkg --install %{version} || exit $?
%preun
/usr/sbin/new-kernel-pkg --rminitrd --rmmoddep --remove %{version} || exit $?
编译
rpmbuild -bb --target=aarch64 --define "_topdir $PWD/rpmbuild" --define "_builddir $PWD" --define "_rpmdir $PWD/rpmbuild/RPMS" --define "_srcrpmdir $PWD/rpmbuild/SRPMS" --define "_specdir $PWD/rpmbuild/SPECS" --define "_sourcedir $PWD" kernel.spec
安装
本文由 妖言君 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Sep 3, 2024 at 08:30 pm