CentOS 升级内核至5.15.52

编译安装大致分为以下几步:

  • 升级gcc
  • 解压内核
  • 编译前,选择配置项,生成 config 文件
  • 编译内核
  • 安装模块,安装内核
  • 更新引导文件

升级gcc

参考:GCC编译过程详细记录https://blog.csdn.net/superbfly/article/details/110918859?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165691537316782246439453%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165691537316782246439453&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-2-110918859-null-null.185%5Ev2%5Econtrol&utm_term=gcc&spm=1018.2226.3001.4450

解压内核

将内核文件解压到指定目录,这里放到了 /usr/src/ 目录下,这个也是 CentOS 内核所在的目录,后缀 .tar.xz 的文件可以使用下面的命令解压。

tar xvJf linux-5.15.52.tar.xz -C /usr/src/

配置项

重点来了,解压之后,编译之前要先生成 config 配置文件。这个文件是干什么的呢?它是编译时的必备文件,指明了所有的配置项,编译时就是根据你选择的配置项来定制内核的。在你的 CentOS 内同样有这样一个配置文件,在 /boot/ 目录下有一个 config 开头的文件,就是它,你可以先 cat 一下,会发现都是键值对,所有的配置项都在这。

配置项非常多,可以随心所欲的定制内核,把不需要的全部关闭,当然也不是随心所欲,某些配置项是必须要选的,否则可能连系统也启动不了。

选择配置项的方式有以下几种,当然它们的目的都是为了生成 config 文件,所以选择哪种都可以。

make config (基于文本的配置界面)
make menuconfig (基于文本菜单的配置界面)
make xconfig (基于图形窗口的配置界面)
make oldconfig (基于原来内核配置的基础上修改)

这里推荐使用 make menuconfig。

使用 make menuconfig 需要 ncurses-devel 的支持,如果之前没装过,需要执行下面的命令安装一下。

yum install -y ncurses-devel

还有一些其依赖需要安装

yum install -y flex
yum install -y bison

执行 make menuconfig,开始选择配置项

make menuconfig

如果执行没有错误的话,会出现下面这个页面

内核的编译分为两个部分,核心和模块,对于核心的部分,要编译进核心,可能以后会用到的部分,尽量编译成模块。

文本菜单选择界面,使用左(←)、右(→)箭头切换底部菜单,上(↑)、下(↓)箭头切换中间的配置项,空格键 选择配置项,部分配置项右边有 —> 标识,代表有下级子项,可以使用 Enter 进去选择。

同时每一项的前面都有以下标识,可以根据需要选择。

<*>[*]  表示编译进核心
<M>     表示编译成模块
空格    表示不选中此项


当然,如果你只是看一下整个编译过程,不想深究每一项,执行上一步 make menuconfig 之后,直接保存退出就可以了,它会使用 CentOS 内部的配置文件作为这次编译的配置文件,不知道 CentOS 内部配置文件在哪的,自己往前翻。

选择“Exit”后会提示是否保存,这里选"Yes"。

编译

配置项选完,config 配置文件生成之后,就可以开始编译了,编译需要 elfutils-libelf-devel 的支持,先执行下面的命令安装一下。

yum install -y elfutils-libelf-devel

安装编译需要的依赖项

yum install -y perl
yum install -y openssl-devel

内核的编译,执行 make 即可开始编译。

make

编译时间比较长,如果上面你是自定义配置项,把不需要的配置都关闭,编译会快的多。我这使用的 CentOS 内部的配置文件,CentOS 为了大多数人的使用,开的配置项比较多,所以编译的时间比较长,当然,也和你的电脑配置有关。我记了一下时间,这一部分的编译用了两个半小时,所以请耐心等待,可以去喝个咖啡。

安装

经过了漫长的等待,终于编译完成,现在可以开始安装了。上面配置项有的编译进核心,有的编译成模块,所以安装也分为两个部分,模块安装和核心安装。

执行 make modules_install 开始安装模块

make modules_install

等待完成,执行 make install 开始安装核心

make install

执行完成之后,就可以在 /boot/ 目录下看到新编译的内核了。

更新引导

到现在为止,离成功就差一步更新引导了。可以直接去修改 /boot/grub2/grub.cfg 文件来更新引导,但是非常不建议这样去做。

推荐使用 grub2-mkconfig 来更新引导文件,下面的命令会根据 /boot/ 目录下的内核文件自动更新 grub 文件。

grub2-mkconfig -o /boot/grub2/grub.cfg

执行完之后,下次启动系统的时候就可以选择我们编译的内核了。如果想修改默认的启动内核,可以通过修改 /etc/default/grub 文件来实现。

重启系统,如果看到两个内核,说明已经成功了,你可以自由的选择哪个内核。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高晓伟_Steven

相逢即是有缘,动力源于金钱。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值