1、下载新内核源码:到官网www.kernel.org,下载最新版本linux内核,保存到/usr/src/kernels目录,大约54MB。
2、# cd /usr/src/kernels
3、# tar jvxf linux-2.6.31.5.tar.bz2
4、进入系统原内核目录,把其中的隐藏文件.config复制到新内核目录中。
5、cd进入新内核目录,然后执行# make oldconfig
此时所有提示均按回车,选项提示都默认。
6、# make xconfig 此时弹出一个内核配置窗口,里面全是英文,我看不懂,干脆就直接把这个窗口关掉,继续往下做。
7、# make bzImage && make modules && make modules_install && make install 第七步编译时间比较长,要30到50分钟不等,要看机器情况了。
8、#uname -r查看内核版本,完成上面步骤后就可以重启系统了,启动时会在GRUB菜单里出现新内核选项了。

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

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

1)下载源码文件

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

linux内核工程师 1.03节 Linux Kernel (Linux内核)怎么安装

linux内核工程师 1.03节 Linux Kernel (Linux内核)怎么安装

 

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

linux内核工程师 1.03节 Linux Kernel (Linux内核)怎么安装

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

linux内核工程师 1.03节 Linux Kernel (Linux内核)怎么安装

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

linux内核工程师 1.03节 Linux Kernel (Linux内核)怎么安装

linux内核工程师 1.03节 Linux Kernel (Linux内核)怎么安装

定制内核版本名字

linux内核工程师 1.03节 Linux Kernel (Linux内核)怎么安装

linux内核工程师 1.03节 Linux Kernel (Linux内核)怎么安装

启动ntfs功能

linux内核工程师 1.03节 Linux Kernel (Linux内核)怎么安装

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

linux内核工程师 1.03节 Linux Kernel (Linux内核)怎么安装

linux内核工程师 1.03节 Linux Kernel (Linux内核)怎么安装

linux内核工程师 1.03节 Linux Kernel (Linux内核)怎么安装

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

 linux内核工程师 1.03节 Linux Kernel (Linux内核)怎么安装

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

 linux内核工程师 1.03节 Linux Kernel (Linux内核)怎么安装

 

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次响声来提醒我编译完成了。

linux内核工程师 1.03节 Linux Kernel (Linux内核)怎么安装

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

linux内核工程师 1.03节 Linux Kernel (Linux内核)怎么安装

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

 linux内核工程师 1.03节 Linux Kernel (Linux内核)怎么安装

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

linux内核工程师 1.03节 Linux Kernel (Linux内核)怎么安装

 

6)安装模块make modules_install

make modules_install

 linux内核工程师 1.03节 Linux Kernel (Linux内核)怎么安装

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

linux内核工程师 1.03节 Linux Kernel (Linux内核)怎么安装

 

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

安装bzImage/boot/vmlinuz-VERSION-RELEASE

生成initramfs文件

编辑grub的配置文件

linux内核工程师 1.03节 Linux Kernel (Linux内核)怎么安装

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

linux内核工程师 1.03节 Linux Kernel (Linux内核)怎么安装

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

linux内核工程师 1.03节 Linux Kernel (Linux内核)怎么安装

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

linux内核工程师 1.03节 Linux Kernel (Linux内核)怎么安装

8)卸载内核 

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

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

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

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

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

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

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



相关文章: