教你如何快速编译安装新内核

随着内核版本的更新换代,你是否有觉得自己的内核版本有些低了呢?如果有的话,没关系,今天小编就来教大家如何编译安装新的内核。

在编译安装内核之前先检查我们的虚拟机所在的磁盘空间,预留空间10G以上,不然编译安装内核无法完成。下面我们就开始内核的编译安装吧。

 

1)下载源码文件

 先在内核官网(www.kernel.org/)上下载最新版本的内核到桌面上,然后rz拷到linux系统上,找到一个空目录如/app/tmp,将之移到/app/tmp中,然后再解包解压,就会生成一个目录

 

2)准备文本配置文件.config

/boot下有个文件/boot/config-3.10.0-514.el7.x86_64,这个文件定义了在编译内核的时候,那些特性,哪些功能启用了,哪些功能没启用,哪些是以模块方式还是打到核心,就是在编译内核的时候,以这个文件为模板,在这个模板基础之上来修改特性,所以先将这个文件拷到linux-4.13.2目录下,并命名为隐藏文件.config

cp  /boot/config-3.10.0-514.el7.x86_64  /app/tmp/linux-4.13.2/.config

 

3)安装包组  yum groupinstall "development tools"

yum groupinstall "development tools"

 

4)配置内核选项 make menuconfig

cd /app/linux-4.13.2/ 进入到这个目录下,make menuconfig,但是会提示错误,缺少了ncurses

所以再把这个包安装了, yum  install  ncurses-devel ,安装之后再次make menuconfig

然后就可以成功了(如果还没有成功,提示你缺失了包,那你就继续把这个缺失了的包加上-devel,用yum安装(yum install 缺失包-devel)。)进入了内核菜单项,我们可以自己定制内核版本名字和开启ntfs功能(默认是不开启的)

定制内核版本名字

启动ntfs功能

进入子菜单,ntfs文件系统在最下面,一直往下翻就可以找到

其他配置就不改了,然后退出,yes保存

 

通过菜单修改了内核选项,也就修改了.config这个文件

 

 

5)开始编译

date >> /app/date.log ; make -j 8 ;date >> /app/date.log; for i in {1..10};do echo -e "\a";sleep 0.5;done

其实只需要make -j 8就可以了,我写这么长,是为了统计此次编译花了多长时间,并且在编译完之后,会发出10次响声来提醒我编译完成了。

初次编译,会有一些错误出现,提示你有些包没有安装

我们用还是用yum install openssl-devel -y安装,然后再次编译,这次没有错误了,时间可能有点长,我的电脑不太好,花了55分钟才编译好

 

编译完成之后我们来看一下这个目录有多大呢?9.2G,所以我们的虚拟机所在的磁盘必须预留有10G以上的空间,不然编译无法完成

 

6)安装模块make modules_install

make modules_install

 

我们安装模块完之后,在/lib/modules目录下就会出现新的内核

 

(7)安装内核相关文件make install

安装bzImage/boot/vmlinuz-VERSION-RELEASE

生成initramfs文件

编辑grub的配置文件

安装完之后,我们再进入/boot下看看,发现已经生成了vmlixuzinitramfs文件

再查看/boot/grub2/grub.cfg,发现已经生成了我们安装的新内核的启动菜单

好了编译安装内核到此已经结束了,然后再重启就行了

 

8)卸载内核 

如果我们编译安装新内核之后,在使用的过程冲发现各种bug,和我现有的系统软件不兼容,我想删了这个内核,那么怎么删呢?

1.删除/lib/modules/目录下不需要的内核库文件

2.删除/usr/src/linux/目录下不需要的内核源码

3.删除/boot目录下启动的内核和内核映像文件

4.更改grub的配置文件,删除不需要的内核启动列表

以上4步做完之后,我们新安装的内核就彻底被删除了

 

好了,以上就是小编这次带给大家的内容,希望能给大家带来帮助。

 

posted @ 2017-09-23 17:59  大天使彦  阅读(8939)  评论(2编辑  收藏  举报