编译升级Linux内核(图文)

内核,是操作系统的核心部分,所以对于内核的升级就变的尤为重要,内核每次更新都会优化功能,解决bug,提升效率,支持新功能,主要是面对服务、网络、开发应用的,下面就来介绍一下如何编译升级内核版本。

我这里用的是centos7的机器,首先查看一下当前的内核版本

[root@http-zhang ~]# uname -r
3.10.0-862.el7.x86_64

查询官网的最新版本为5.1.7,我们就升级到5.1.7,首先下载压缩包,为了让速度更快,这里用axel下载,最新的Linux内核版本可以在www.linux.org查看。

[root@http-zhang ~]# yum -y install -y axel
[root@http-zhang ~]# axel -n 100 https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.1.7.tar.xz

下载完成之后解压至/usr/src的kernels下。

[root@http-zhang ~]# tar -xvf linux-5.1.7.tar.xz -C /usr/src/kernels

进入目录,众所周知内核是以模块化的方式存在的,各种功能的实现也都取决于编译的模块,所以我们这里要选择要编译的模块,但是如果我们从头选择的话就太多了,并且我们不知道那些模块是直接编译进内核中的,所以我们可以把老版本的内核配置拿过来进行更改即可。

[root@http-zhang ~]# cd /usr/src/kernels/linux-5.1.7
[root@http-zhang ~]# cp /boot/config-3.10.0-862.el7.x86_64 /usr/src/kernels/linux-5.1.7 .config

这里复制的就是当前版本内核的配置,复制到当前目录并改名为.config。

接下来就需要安装依赖的包,首先是开发工具包,还有依赖关系的包需要在下面make的时候会提示安装什么包,在这里我直接提前安装上了。

[root@http-zhang ~]# yum groupinstall -y development
[root@http-zhang ~]# yum insatll -y ncurses-devel
[root@http-zhang ~]# yum install -y elfutils-libelf-devel
[root@http-zhang ~]# yum install -y openssl-devel

我们这里可以采用菜单栏进行模块的选择编译。

[root@http-zhang ~]# make menuconfig

如果上面安装正确的话,在这里执行这条命令之后会弹出菜单,如下

这个菜单中显示的便是我们需要做选择的东西,由于我们不是从头进行选择,所以这里我们只选择一个NTFS,把这个编译进内核中,为了做出区分,我首先选择 General setup  ---> Local version - append to kernel release,这里设置的是内核名称的后缀

下面找NTFS,  File systems  --->    DOS/FAT/NT Filesystems  ---> <*> NTFS file system support,选中这个之后按y,y即为选择,选择之后,前面会出现*。然后我们即可退出,退出的时候需要保存设置。

这里就设置完成了,然后即可进行编译,为了让编译速度快一点,在这里我选择使用4个核数。

[root@http-zhang ~]# make -j 4

这可能需要比较长的时间。

等编译完成后即可进行模块的安装

[root@http-zhang ~]# make modules_install

 模块安装完成之后进行内核的安装

[root@http-zhang ~]# make install

 安装完成后即可重启

重启之后即可进行选择,选择新的内核进入系统,然后查询当前的内核版本

[root@http-zhang ~]# uname -r
5.1.7zhang.x86_64

至此,升级完成。

猜你喜欢

转载自blog.csdn.net/professorman/article/details/91360086
今日推荐