1. 查看当前内存页大小
getconf PAGESIZE

2. 下载内核源码(如果环境上已经有内核源码可以跳过步骤2和步骤3)
wget https://git.centos.org/sources/kernel/c8/a857effa0971fa1b6790bf8df25f69dda20acdd3
3. 解压文件获得内核源码linux-4.18.0-193.28.1.el8_2,将源码目录移动到/usr/src目录下
tar -xf a857effa0971fa1b6790bf8df25f69dda20acdd3
mv linux-4.18.0-193.28.1.el8_2 /usr/src

4. 安装内核编译依赖的软件包
yum install -y vim rpm-build net-tools bc xmlto asciidoc openssl-devel hmaccalc python-devel newt-devel perl elfutils-devel zlib-devel binutils-devel audit-libs-devel java-devel numactl-devel pciutils-devel ncurses-devel perl-ExtUtils-Embed git
5. 进入内核源码目录,复制当前系统的内核编译文件,保证内核其他配置项和当前系统保持一致
cd /usr/src/linux-4.18.0-193.28.1.el8_2
cp /boot/config-`uname -r` ./.config
6. 打开配置文件的4K页配置项,关闭64K配置项
vim .config
CONFIG_ARM64_4K_PAGES=y
# CONFIG_ARM64_64K_PAGES=y

7. 修改内核版本
注意:需要保证修改的内核版本大于当前系统的内核版本
vim Makefile

8. 编译内核二进制包,在编译时会加载修改后的config配置文件,会提醒用户确认部分修改配置项,Page Size务必选择为4KB,后面的选项建议根据业务实际需求调整,该步骤会花费较长时间
make binrpm-pkg -j`nproc`




在/root/rpmbuild/RPMS/aarch64/目录下会生成对应的内核二进制包


9. 安装内核二进制包
rpm -ivh /root/rpmbuild/RPMS/aarch64/kernel-4.18.0_3-7.aarch64.rpm

10. 查看内核安装成功
rpm -qa | grep kernel

11. 重启系统,进入编译安装的内核
reboot

12. 检查内核版本号
uname -a

13. 查看当前的内存页,命令回显结果4096表示已成功切换为4K页
getconf PAGESIZE

1. 查看当前内存页大小
getconf PAGESIZE
2. 下载内核源码(如果环境上已经有内核源码可以跳过步骤2和步骤3)
wget https://git.centos.org/sources/kernel/c8/a857effa0971fa1b6790bf8df25f69dda20acdd3
3. 解压文件获得内核源码linux-4.18.0-193.28.1.el8_2,将源码目录移动到/usr/src目录下
tar -xf a857effa0971fa1b6790bf8df25f69dda20acdd3
mv linux-4.18.0-193.28.1.el8_2 /usr/src
4. 安装内核编译依赖的软件包
yum install -y vim rpm-build net-tools bc xmlto asciidoc openssl-devel hmaccalc python-devel newt-devel perl elfutils-devel zlib-devel binutils-devel audit-libs-devel java-devel numactl-devel pciutils-devel ncurses-devel perl-ExtUtils-Embed git
5. 进入内核源码目录,复制当前系统的内核编译文件,保证内核其他配置项和当前系统保持一致
cd /usr/src/linux-4.18.0-193.28.1.el8_2
cp /boot/config-`uname -r` ./.config
6. 打开配置文件的4K页配置项,关闭64K配置项
vim .config
CONFIG_ARM64_4K_PAGES=y
# CONFIG_ARM64_64K_PAGES=y
7. 修改内核版本
注意:需要保证修改的内核版本大于当前系统的内核版本
vim Makefile
8. 编译内核二进制包,在编译时会加载修改后的config配置文件,会提醒用户确认部分修改配置项,Page Size务必选择为4KB,后面的选项建议根据业务实际需求调整,该步骤会花费较长时间
make binrpm-pkg -j`nproc`
在/root/rpmbuild/RPMS/aarch64/目录下会生成对应的内核二进制包
9. 安装内核二进制包
rpm -ivh /root/rpmbuild/RPMS/aarch64/kernel-4.18.0_3-7.aarch64.rpm
10. 查看内核安装成功
rpm -qa | grep kernel
11. 重启系统,进入编译安装的内核
reboot

12. 检查内核版本号
uname -a
13. 查看当前的内存页,命令回显结果4096表示已成功切换为4K页
getconf PAGESIZE