注意:
- 保持/磁盘空间>10G
- 生产环境不要编译升级内核,以免出现不可预估情况
升级过程:
- 安装依赖:
yum install -y flex bison bc gcc gcc-c++ make ncurses-devel openssl-devel elfutils-libelf-devel
-
下载所需版本内核
-
解压内核到/usr/src/kernels/
tar -xf linux-5.3.8.tar.xz -C /usr/src/kernels/
- 设置编译参数(进入解压内核目录)
make menuconfig #进入可视化配置 allyesconfig #全部功能开启 allnoconfig #最基本参数,可能无法启动
建议:或者使用当前内核参数(先找到当前内核版本),然后新增功能
cp /boot/config-3.10.0-957.el7.x86_64 /usr/src/kernels/linux-5.3.8/.config
- 编译(很久,如果多核建议-j核数)
make all
- 安装
make modules_install #模块安装 make install
- 设置默认的内核启动
查看当前所有grub内核
[root@localhost ~]# grep ^menu /boot/grub2/grub.cfg menuentry 'CentOS Linux (5.3.8) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-957.el7.x86_64-advanced-05f0c1f9-bccb-4360-a10e-e1a2edbd96f8' { menuentry 'CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-957.el7.x86_64-advanced-05f0c1f9-bccb-4360-a10e-e1a2edbd96f8' { menuentry 'CentOS Linux (0-rescue-61f58926d3fc4d179772b874c54a4ac5) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-61f58926d3fc4d179772b874c54a4ac5-advanced-05f0c1f9-bccb-4360-a10e-e1a2edbd96f8' {
设置默认内核
#数字 0 1 2..... 依次是上面过滤出来的顺序 grub2-set-default 0
查看当前启动内核
[root@localhost ~]# grub2-editenv list saved_entry=0
- 重启验证内核
[root@localhost ~]# uname -r 5.3.8
评论区