Kernel是Linux操作系统的核心部分。它由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。Kernel是操作系统的核心,掌控着所有硬件设备的控制权。
内核就是系统上面的一个文件,这个文件包含了驱动主机各项硬件的检测程序与驱动模块,在系统启动流程中,当系统读完BIOS并加载MBR的Boot Loader之后,就能够加载内核到内存中,然后去检测硬件设备,挂载根目录来获取内核模块来驱动所有的硬件设备,之后就开始会叫/sbin/init进程来完成系统的启动,同时内核文件就是/boot目录下一个以vmlinuz开头的文件
下面以CentOS6.9版本为例介绍如何手动编译Kernel内核版本,并更新
1、查看当前系统内核版本
[root@localhost ~]# uname -r
2.6.32-696.el6.x86_64
2、下载稳定版本的kernel内核版本
例如下载2.6.39.4版本的内核
https://mirrors.edge.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.4.tar.gz
3、解压内核源码包到/usr/src目录 -C 指定解压目录
4、[root@localhost ~]# cd /usr/src/linux-2.6.39.4/
[root@localhost linux-2.6.39.4]# cp /boot/config-2.6.32-696.el6.x86_64 ./.config
从boot目录拷贝一个config文件过来主要是为了方便,这个文件里保存都是之前你在安装系统时内核所安装的模块
5、[root@localhost linux-2.6.39.4]# make menuconfig
这时有报错提示,要安装ncurses基础开发包
可采用yum install ncurses-devel方式安装, 安装过程省略,再次make menuconfig
6、进行调整你要编译的模块,例如新增文件系统模块里支持NTFS文件系统的模块
然后保存配置
保存之后检查与原/boot下config文件对比NTFS参数就说明保存成功了
7、接下来执行编译make操作
编译需要花费很长一段时间,请耐心等待
8、编译完成后执行make modules_install 安装内核模块
9、执行完成后再make install 安装内核核心
10、这时内核就编译完成了cd /boot目录下查看,可以看到生成的内核相关文件
这时修改/boot/grub/grub.conf将default=1改为0,下次开机启动从新内核版本启动
11、reboot重启后重新登录查看内核版本就可以看到版本更新为2.6.39.4版本了
或者重启后在开机过程中进入grub页面选择内核版本也可以看到新的内核版本2.6.39.4