CentOS 7下源码编译安装新版本内核

举报
DrugAI 发表于 2021/07/15 04:22:50 2021/07/15
【摘要】 在工作中,很多时候由于需要使用新的技术方案,需要较新版本的内核来支持新的功能,而CentOS系统自带的内核版本普遍都比较旧,因此我们需要对系统的内核进行升级,安装新版的内核。在此,以CentOS 7系统为例,对编译安装最新版内核的过程做如下总结: Linux 最新版本的内核可以通过 https://www.kernel.org/ 网站获取 1、下载最新...

在工作中,很多时候由于需要使用新的技术方案,需要较新版本的内核来支持新的功能,而CentOS系统自带的内核版本普遍都比较旧,因此我们需要对系统的内核进行升级,安装新版的内核。在此,以CentOS 7系统为例,对编译安装最新版内核的过程做如下总结:

Linux 最新版本的内核可以通过 https://www.kernel.org/ 网站获取

1、下载最新稳定版本的内核源码包到 /usr/local/src ,并解压到当前目录

2、解压内核源码包

3、从 /boot 目录将现有版本的内核编译config配置文件拷过来到放到新的内核源码解压目录内并重命名为.config的隐藏文件

cd linux-5.2.11
 
cp /boot/config-3.10.0-957.el7.x86_64 ./.config
 

从boot目录拷贝原内核的config文件过来主要是为了方便,这个文件保存了在安装系统时内核所安装的模块配置信息(否则需要重新手动指定每一个模块的编译配置)。

4、安装依赖包

安装开发工具包组

yum -y groupinstall "development tools"
 

安装ncurse-devel包 (make menuconfig 文本界面窗口依赖包)

yum -y install ncurses-devel
 

5、运行 make menuconfig,开启文本界面的编译选项菜单窗口,可以对内核加载的模块编译选项进行调整,如修改编译后的内核名称、新添加之前系统缺少的模块等。

修改内核名称:

General setup --->local version -append to kernel release
 

此处修改内核名称为 5.2.11-001.el7.x86_64

新添加NTFS文件系统支持模块:

File systems --->DOS/FAT/NT Filesystems --->NTFS file system support
 

建议选择以模块方式(M选项)编译。(*号则是以静态方式编译打包进内核文件中,如果新添加的模块较多,会导致内核文件体积增大)

6、编译内核

make -j 4
 

 根据CPU核数开启多线程编译以加快编译速度

开始漫长的编译过程,大概需要1-2小时左右,具体视CPU硬件的性能决定。

如果编译开始提示错误,则可能需要预先安装对应的组件包,例如:

yum -y install openssh-devel elfutils-libelf-devel bc
 

根据对应的错误提示,yum 方式安装对应的组件包,部分组件包在epel源,所以需要预先配置好epel源仓库。

7、编译安装模块

编译完成后执行make modules_install 安装内核模块

make modules_install
 

8、安装内核核心文件

make install
 

reboot重启

如需将新版本内核设置为默认启动内核,可以使用此命令

grub2-set-default 0  
 

0表示 /boot/grub2/grub.cfg 文件中排在第一位的 menuentry 段

重启进入系统后,查看一下内核版本,已经是最新的5.2.11版本

uname -r
 

5.2.11-001.el7.x86_64

文章来源: drugai.blog.csdn.net,作者:DrugAI,版权归原作者所有,如需转载,请联系作者。

原文链接:drugai.blog.csdn.net/article/details/102905024

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。