编译安装4.6.3内核,并使其支持NTFS文件系统

 

在编译内核之前的虚拟机环境搭建,虚拟机硬盘可用空间不得小于7G,内存需大大于2.5G,

根据个人电脑配置适当调整,可提高效率。

 

一. 下载内核源码包

https://www.kernel.org/

 wKioL1dx4mCweiZ2AAEAMJOoMrM932.png

 

二.查看虚拟机是否具备编译条件

1)

[root@bogon /]# rpm -q make
make-3.82-21.el7.x86_64
[root@bogon /]# rpm -q gcc
gcc-4.8.5-4.el7.x86_64
[root@bogon /]# rpm -q gcc-c++
gcc-c++-4.8.5-4.el7.x86_64
[root@bogon /]# rpm -q ncurses-devel


未安装软件包 ncurses-devel

 

2)通过查看发现ncurses-devel软件包未安装

安装ncurses-devel软件包

[root@bogon /]#yum - y install ncurses-devel


wKioL1dx4m6y-cuOAAGTN92-GKQ559.png 

yum命令参数的含义

-y 无交互式,默认yes

 

 

三.上传内核安装包并解压

将下载好的内核安装包上传至虚拟机

1)通过rz命令上传

wKioL1dx4neRz9C7AAAWXosO3V4155.png 

2)可以看出压缩包后缀是xz格式的,所以我们得使用xz工具来解压

wKioL1dx4oHj4xCZAAA05ni2aAQ011.png 

[root@bogon /]#xz -d linux-4.6.3.tar.xz


wKioL1dx4orCU-mDAAAKlg_D5vo283.png 

xz命令参数的含义

-d 解压缩

-k 保留原文件,不加参数的情况解压成功后,原文件会消失

 

3)再次查看,发现还需要再次解压.tar格式的压缩包

wKiom1dx4peibbSUAABDDZPQFwE589.png 

[root@bogon /]#tar xvf linux-4.6.3.tar


解压过程可能会稍微久点,不过无需着急

wKiom1dx4qSjCykLAAFC0M9_jI0583.png 

tar命令参数的含义

-x 解压

-v 显示详细信息,如不想显示上图的详细信息,可不加此参数

-f 表示使用归档

 

4)查看解压后的内核安装包

[root@bogon /]#du -sh linux-4.6.3


wKiom1dx4q7ydzqCAAALXBp1Iy4250.png 

du命令参数的含义

-s仅显示总大小

-h 以K,M,G为单位,提高信息可读性

 

四.清理缓存数据

在清理缓存数据之前需执行sync更新超级块信息,避免数据丢失

[root@bogon /]# free -m 
              total        used        free      shared  buff/cache   available
Mem:           3937         637        1237          10        2062        2959
Swap:          2047           0        2047
[root@bogon /]# cat /proc/sys/vm/drop_caches 
0
[root@bogon /]# echo 3 >/proc/sys/vm/drop_caches 
[root@bogon /]# cat /proc/sys/vm/drop_caches 
3
[root@bogon /]# free -m
              total        used        free      shared  buff/cache   available
Mem:           3937         593        3146          10         197        3127


Swap:          2047           0        2047

wKioL1dx4rnjoI2qAACbtDnzCG0759.png 

#reboot和init6重启也可以清理缓存,根据个人喜好选择

 

五.配置内核编译参数

1)生成内核参数配置.config文件,使其支持NTFS文件系统

[root@bogon /]# cd /linux-4.6.3/
[root@bogon linux-4.6.3]# make menuconfig

          //图形化界面配置内核参数

wKioL1dx4sfiPoPJAAAMy_Z7yYQ222.png 

wKioL1dx4tCQN4mbAABDGzA6T7M250.png 

在这注意分辨率大小,分辨率大小不对,有可能会启动失败

 

 

可使用“/”查看NTFS参数位置

wKioL1dx4zqyydfSAADW48ehIzQ193.png 

移动到File systems选项后,回车下一步

wKioL1dx40vB3IMLAAEA73UJLXQ330.png 

移动到DOS/FAT/NT Filesystems选项后,回车下一步

wKioL1dx41nB3pK_AAHrXYXTB58499.png 

移动到NTFS file system support选项后,按空格会出现NTFS write suppport选项,按空格键使其前面方框显示*号,接着保存(Save)生成配置文件后,退出(Exit)即可。

#tab键切换

wKiom1dx42zRw7JlAAEUpZ2beqM105.pngwKiom1dx44PzAGWIAAAV0sl61E4160.png 

 

2)验证是否支持NTFS文件系统

[root@bogon linux-4.6.3]# vim .config


可使用“:/NTFS”查找NTFS关键字

wKioL1dx45WBbXn1AAALRdvsris809.png 

 

3)同上步骤查看系统自带的内核能否支持NTFS文件系统

[root@bogon linux-4.6.3]# vim /boot/config-3.10.0-327.el7.x86_64


wKioL1dx48fQ6AgGAAAZbwhrI80883.png 

上图可看出NTFS这行并未设置

 

4)使其系统自带的内核支持NTFS文件系统(本步骤不做详细解释)

[root@bogon linux-4.6.3]# cp /boot/config-3.10.0-327.el7.x86_64 .config 
cp:是否覆盖".config"? y
[root@bogon linux-4.6.3]# make menuconfig
[root@bogon linux-4.6.3]# vim .config


wKioL1dx49-CQBeoAAAK3QbsmBI289.png 

由上图可以看出,系统自带的内核已经支持NTFS文件系统

 

六.编译内核

1)在编译内核之前安装openssl-devel开发包

[root@bogon linux-4.6.3]# yum -y install openssl-devel


2)开始编译内核

[root@bogon linux-4.6.3]# make bzImage -j 4 && make modules -j 4  &&  make modules_install  && make install


上述多条命令的含义

make bzImage -j 4   //生成内核

make modules -j 4   //生成新内核的驱动模块

make modules_install  //安装编译好的内核与模块

make install   //安装新编译的系统内核

-j 4  //采用4线程安装,默认单线程

&&  //代表连接符,当上条命令执行完成接着执行

 

3)由下图可以看出目前已经编译成功

wKiom1dx4--AED5iAAEKvUIWH_M343.png 

4)接着,重启查看, 选择4.6.3,回车进入系统

wKiom1dx5CCTAH4AAAA2uRBPyXI665.png 

5)查看内核版本

[root@bogon ~]# uname -r


wKioL1dx5CrBm6mpAAAKycsRNgw748.png 

 

由上图可以看出,内核4.6.3编译安装成功!


内核默认启动顺序的修改可参照:http://hugyou.blog.51cto.com/11674506/1793094


^_^o~ 努力!

^_^o~ 努力!

^_^o~ 努力!