Centos源码编译升级指定内核版本
2021/7/31 7:07:50
本文主要是介绍Centos源码编译升级指定内核版本,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.查看当前内核版本:
使用的系统版本,当前日期CentOS最新版:
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 8.4.2105
查看当前系统内核版本
[root@localhost ~]# uname -r
4.18.0-305.10.2.el8_4.x86_64
2.下载最新稳定版本的内核源码包到 /usr/src/kernels ,并解压到当前目录
[root@localhost ~]# tar -zxvf linux-5.11.tar.gz -C /usr/src/kernels/
3.从 /boot 目录将现有版本的内核编译config配置文件拷过来到放到新的内核源码解压目录内并重命名为.config的隐藏文件
[root@localhost ~]#cp -v /boot/config-4.18.0-305.3.1.el8.x86_64 /usr/src/kernels/linux-5.11/.config
4.安装依赖包
[root@localhost ~]#yum -y groupinstall "development tools"
安装ncurse-devel包 (make menuconfig 文本界面窗口依赖包)
[root@localhost ~]#yum -y install ncurses-devel
5.运行 [root@localhost /usr/src/kernels/linux-5.11/]#make menuconfig,
开启文本界面的编译选项菜单窗口,可以对内核加载的模块编译选项进行调整,如修改编译后的内核名称、新添加之前系统缺少的模块等。
这里可以自定义内核特性,如果对内核不熟悉的话,直接使用tab键 选save 保存,然后退出即可。
6.编译内核
查看本机内核数#lscpu 或者 nproc
这里,如果不超过4核, -j 后面接cpu核心数量;超过4核,建议使用-j 4,嗯,稳一点
[root@localhost /usr/src/kernels/linux-5.11/]# make -j 4#根据CPU核数开启多线程编译以加快编译速度
开始漫长的编译过程,大概需要2小时左右,具体视CPU硬件的性能决定。
如果编译开始提示错误,则可能需要预先安装对应的组件包,例如:
[root@localhost /usr/src/kernels/linux-5.11/] yum -y install openssh-devel elfutils-libelf-devel bc
根据对应的错误提示,yum 方式安装对应的组件包,部分组件包在epel源,所以需要预先配置好epel源仓库。
(常见编译出错问题,见下一篇Kernel 源码升级问题指南)
7.编译安装模块
编译完成后执行make modules_install 安装内核模块(一般编译的时候不出错,后面就不会出错的。)
[root@localhost /usr/src/kernels/linux-5.11/]make modules_install
8.[root@localhost /usr/src/kernels/linux-5.11/]make install
如需将新版本内核设置为默认启动内核,可以使用此命令
[root@localhost /usr/src/kernels/linux-5.11/]grub2-set-default 0 #0表示 /boot/grub2/grub.cfg 文件中排在第一位的 menuentry 段
9.安装完后重启设备reboot
进入系统后,再查看一下uname -r,已经是升级为指定内核版本。
这篇关于Centos源码编译升级指定内核版本的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-18uniapp 怎么定义对象属性?-icode9专业技术文章分享
- 2024-11-18克罗内克积是什么?-icode9专业技术文章分享
- 2024-11-18uniapp怎么实现点击防抖和节流功能?-icode9专业技术文章分享
- 2024-11-18uniapp实现全局的监听和接收有哪些方法?-icode9专业技术文章分享
- 2024-11-18TCPDF与mpdf的区别与优势是什么?-icode9专业技术文章分享
- 2024-11-17getExternalFilesDir这个方法哪些安卓版本可以使用?-icode9专业技术文章分享
- 2024-11-17app下载好后,安装包更新代码怎么写?-icode9专业技术文章分享
- 2024-11-17login-customer-id 如何获取?-icode9专业技术文章分享
- 2024-11-17使用 vite加载.env 文件环境变量无法加载是什么原因?-icode9专业技术文章分享
- 2024-11-17tp钱包是什么,有哪些功能?-icode9专业技术文章分享