Centos7 源码编译升级内核

本文档介绍了如何在 CentOS7 系统中通过源码升级内核,包括安装依赖、下载内核源码、配置内核、编译、安装以及更新启动菜单等关键步骤。在升级过程中,使用了当前内核的.config文件作为基础,并提供了makemenuconfig参数的说明,以及make-jN用于加速编译的技巧。最后,make install会将新内核相关文件复制到/boot目录并更新启动配置。
摘要由CSDN通过智能技术生成

centos7源码升级内核

# 安装依赖包
[root@jiayu ~]# yum -y groupinstall  "Development Tools"
[root@jiayu ~]# yum -y install ncurses-devel zlib-devel binutils-devel ncurses elfutils-libelf-devel openssl-devel

# 原本内核
[root@jiayu ~]# uname -r
3.10.0-1160.31.1.el7.x86_64

# 下载源码包
[root@jiayu ~]# wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.210.tar.xz
[root@jiayu ~]# tar -xf linux-4.19.210.tar.xz
[root@jiayu ~]# cd linux-4.19.210/

# 拷贝/boot/config-3.10.0-1160.31.1.el7.x86_64到.config
[root@jiayu linux-4.19.210]# cp /boot/config-3.10.0-1160.31.1.el7.x86_64 ./.config

# 编译内核功能,根据需求在原有内核功能的基础上进行增加、删除
[root@jiayu linux-4.19.210]# make menuconfig

# 编译内核
[root@jiayu ~]# make -jN

# 安装module
[root@jiayu ~]# make modules_install

# 安装内核
[root@jiayu ~]# make install

注解:

  1. .config文件中记录了之前内核功能的一些配置
  2. make menuconfig中参数详解如下:
[*]:表示选取了该选项,编译好后的kernel就会有该功能
[ ]:表示未选取该项,编译后的kernel不会有此功能
<M>:表示选取了该选项,而且是编译成模块module的形式,它会在kernel被载入后被动态地加载,编译成module可以减少kernel image的空间,加快开机速度,方便以后修改
< >:表示未选取该项,但是该功能被当做module,今后可以在开机后另外载入
  1. make -jN:
1: N代表有多少个CPU,加快编译速度
2: make 包含了 make module,所以不用make module了,make生成的内核在root/linux-4.19.210/arch/x86/boot下
3:make install # 安装内核,会将新内核编译出的System.map, initrd.img, vmlinuz, config文件拷贝到/boot文件夹中,此外,该步骤还会更新/boot/grub/menu.list(如果没有该文件会提示生成)列表,将新安装的内核添加到该文件中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

旺仔_牛奶

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值