内核:4.18.0-147.8.1.el7.aarch64
实现过程:在鲲鹏arm服务器完成
1.官网下载部分源码rpm包kernel-alt-4.14.0-115.el7a.0.1.src.rpm
2.编译内核之前,必须安装编译内核基本工具链,如未安K 7 P M B E $ `装可能遇到如下问题:
error: Failed build dependencieH i q * e y I c ys:
xmlto is needed by kernel-alt-4.14.0-= b x , 4 p115.el7.0.1.aarch64
asciidoc is needed by kernel-alt-4.14.0-115.el7.0.1.aarch64
newt-devel i5 q 1s needed by kernel-alt-4.14.0-115.el7.0.1.aa] t Z Hrch64
pciutils-devel is needed by kernel-alt-4.14.0-115.l m Zel7.0.1.aarch64
执行命令安装:
`yum insr s ]tall –y xmlto asciido# e @ z q tc newt-devel pciutils-devel`
安装要求的工具链:
yum install rpm-buil{ U W W n Nd redhat-rpm-config asJ o c S S R n cciidoc hmaccalc perl-ExtUtils-Embed pesign xmlto
y~ F q y &um in H ( Y U Nnstall_ _ _ audit-libs-devel binutils-devel elfutN % c p v Oils-devel elfutils-libelf-devel
yum install ncurses-devel newt-du O Q g ] A Kes S # C E y % 1 %vel numactl-devel pciutils-devel pythonB c z @ @ c-dev; T J Y D Sel zlib-deve
3.编译之前确保mockbuiu @ ^ Y 1ld用户和mockbu8 P Bild所属的组有效
groupadd mockbuild
radd mockbuild -g mockbuild
4.安装rpm 包,此rpm 包实际为rpmbuild 构建工程
rpm -ivh kernel-alt-4.14.0-115.el7a.0.1.src.rpm
安装t & e } ` 3 v完成,rpm构建工程自动部署在
/root/rpmbuild/SPECS
/root/rpmbuild/SOURCES
5.rpmbuild 构建,会自动下载全[ | ^ | V . ) ;量内核代码(包括补丁合入E g 4 P 0 r r)
cd /root/rpmbuild/SPECS
rpmbuild -bp --target=$(uname -T k dm) kernel-alt.spe
6.构建完成后,可以获取到全量内核源y ) M B !码
路径为:
cd /root/rX a t Apmbuild/BUILD/kernel-alt-4.14.0-115.el7a/linux-4.14.0-115.el7.0.1.aarch64
7.进入编译 make menuconfig也可直接更改.congfig
CONFIG_SLUB_DEBUG=y
CO? C z ~NFIG_KASAN=y
- Make 编译时会有两( r * C n个选项
make -j 64 make modules_install 驱动安装(可选) Make insta~ n B J - - # Oll 内核安? ! Z _装(可选) 选择第一个,而后选择M模块编译
10.查询本系统内有几个内核
cat /etc/grub2-efi.cfg |grep menuentry
新编译的内核会有显示(如果未显示就重启,reboot)
11.设置更改后的内核为首选项启动并查询是否更改
grub2-set-defaultH # x Z K 0 k "CentOS Linux (4.14.0) 7 (AltArch)";
grub2-editenv lim k ) y Z 2 L H =st
12.测试是否成功
Linux 内核的源码中已经包含了针对 Kasan 的测试代码,其位置在 lib/test_kasan.c。编译内核或者单独编译 lib 模块的时候,会生成 test_kasan.ko 模块。当向内核插入该模块的时候,就会执行测试代码,编译过就会生成.koInsmo c k I rd test_kasan.ko
发表评论