编译Linux内核4.4实现可读NTFS 推荐
2016-06-24 23:07
537 查看
环境:rehl7.2 x64 3G内存 3核 40磁盘
//查看内核
//加20G磁盘
![](http://s1.51cto.com/wyfs02/M01/83/3D/wKiom1dtSDCjragvAAAN-LJ7dUM550.png-wh_500x0-wm_3-wmp_4-s_291347171.png)
//系统自带的是不支持的
![](http://s3.51cto.com/wyfs02/M01/83/3D/wKioL1dtSGzg-sgLAAAQ_LXJ-CY097.png-wh_500x0-wm_3-wmp_4-s_400162053.png)
//把系统自带的拷贝到新内核文件里面,,表述不清晰,大概意思哈,看操作:
效果如图
![](http://s1.51cto.com/wyfs02/M00/83/3D/wKiom1dtSUrC-xV_AAARhRBw83M931.png-wh_500x0-wm_3-wmp_4-s_3557113349.png)
5、编译内核
//生成内核
![](http://s4.51cto.com/wyfs02/M01/83/3D/wKioL1dtSgXin4DcAAAomKw0plA429.png-wh_500x0-wm_3-wmp_4-s_1259198231.png)
6、 生成新内核的驱动模块,就下面这个make 搞了我一个多小时,忘记-j 4了
//清空缓存
1) 安装模块,这个快,几分钟的事情
![](http://s1.51cto.com/wyfs02/M00/83/3D/wKioL1dtSy2xzui3AABrit64oDg192.png-wh_500x0-wm_3-wmp_4-s_2896137893.png)
2)
![](http://s5.51cto.com/wyfs02/M01/83/3D/wKiom1dtS4ajWyqVAAAYQW6nZgk810.png-wh_500x0-wm_3-wmp_4-s_3572630229.png)
8、 查看或修改GRUB菜单(为了确认是不是把内核安装好了)
![](http://s1.51cto.com/wyfs02/M00/83/3D/wKiom1dtS7CSSjMAAACgTyETGuc296.png-wh_500x0-wm_3-wmp_4-s_4009819922.png)
9、 重启系统,测试新内核工作情况
///重启要选择啊!重启要选择啊!重启要选择啊!【重要的事情说三遍】
![](http://s3.51cto.com/wyfs02/M01/83/3D/wKioL1dtTAmjaFWQAAAfYH7I1Sg645.png-wh_500x0-wm_3-wmp_4-s_2598255573.png)
查看新内核
![](http://s4.51cto.com/wyfs02/M02/83/3D/wKioL1dtTCCTGeMGAAAP1f6MF1A408.png-wh_500x0-wm_3-wmp_4-s_3247756307.png)
//修改默认的启动选项,
The End!!
//查看内核
[root@duwers~]# uname –r #查看内核 3.10.0-327.el7.x86_64
//加20G磁盘
[root@duwers ~]# mkdir /sdb1 [root@duwers ~]# fdisk /dev/sdb [root@duwers ~]# mkfs.xfs /dev/sdb1 [root@duwers ~]# mount /dev/sdb1 /sdb1 [root@duwers ~]# tail -1 /etc/fstab /dev/sdb1 /sdb1 xfs defaults 0 0 [root@duwers ~]#1、 下载相应内核源码包4.4
[root@duwerssdb1]# ls linux-4.4.tar.xz [root@duwerssdb1]#2、 确认系统具备编译软件的基本条件,即make、gcc、gcc-c++、ncurses-devel
[root@duwerssdb1]# cd [root@duwers~]# rpm -qa | grep make make-3.82-21.el7.x86_64 automake-1.13.4-3.el7.noarch [root@duwers~]# rpm -qa | grep gcc gcc-c++-4.8.5-4.el7.x86_64 libgcc-4.8.5-4.el7.x86_64 gcc-4.8.5-4.el7.x86_64 gcc-gfortran-4.8.5-4.el7.x86_64 [root@duwers~]# rpm -qa | grep gcc-c++ gcc-c++-4.8.5-4.el7.x86_64 [root@duwers~]# rpm -qa | grep ncurses-devle [root@duwers~]# [root@duwers~]# yum -y install ncurses-devel3、 解压内核源码包
[root@duwers~]# cd /sdb1//释放缓存
[root@duwerssdb1]# ls linux-4.4.tar.xz [root@duwerssdb1]# xz -d linux-4.4.tar.xz
[root@duwerssdb1]# ls
linux-4.4.tar
[root@duwerssdb1]# tar -xf linux-4.4.tar
[root@duwerssdb1]# ls
linux-4.4 linux-4.4.tar
[root@duwerssdb1]# du -sh linux-4.4
702M linux-4.4
[root@duwerssdb1]#
[root@duwerssdb1]# free -m total used free shared buff/cache available Mem: 2993 371 721 9 1901 2398 Swap: 2047 0 2047 [root@duwerssdb1]# echo 3 > /proc/sys/vm/drop_caches [root@duwerssdb1]# free -m total used free shared buff/cache available Mem: 2993 333 2512 9 148 2507 Swap: 2047 0 2047 [root@duwerssdb1]#4、 配置内核编译参数【改成支持NTFS的,在make menuconfig后会弹出界面】
[root@duwerslinux-4.4]# pwd /sdb1/linux-4.4 [root@duwers linux-4.4]# make menuconfig [root@duwers linux-4.4]# vim .config
![](http://s1.51cto.com/wyfs02/M01/83/3D/wKiom1dtSDCjragvAAAN-LJ7dUM550.png-wh_500x0-wm_3-wmp_4-s_291347171.png)
//系统自带的是不支持的
[root@duwers linux-4.4]# vim /boot/config-3.10.0-327.el7.x86_64
![](http://s3.51cto.com/wyfs02/M01/83/3D/wKioL1dtSGzg-sgLAAAQ_LXJ-CY097.png-wh_500x0-wm_3-wmp_4-s_400162053.png)
//把系统自带的拷贝到新内核文件里面,,表述不清晰,大概意思哈,看操作:
[root@duwers linux-4.4]# [root@duwers linux-4.4]# cp /boot/config-3.10.0-327.el7.x86_64 /sdb1/linux-4.4/.config cp: overwrite ‘/sdb1/linux-4.4/.config’? y [root@duwers linux-4.4]# [root@duwers linux-4.4]# make menuconfig [root@duwers linux-4.4]# vim ./.config拷贝好以后修改【改成支持NTFS的,在make menuconfig后会弹出界面】
效果如图
![](http://s1.51cto.com/wyfs02/M00/83/3D/wKiom1dtSUrC-xV_AAARhRBw83M931.png-wh_500x0-wm_3-wmp_4-s_3557113349.png)
5、编译内核
//生成内核
[root@duwers linux-4.4]# make bzImage//这里是会报错的喔!!报错如下(末尾的几行代码)
HOSTCC scripts/sortextable HOSTCC scripts/asn1_compiler HOSTCC scripts/sign-file scripts/sign-file.c:23:30:fatal error: openssl/opensslv.h: No such file or directory #include <openssl/opensslv.h> ^ compilationterminated. make[1]:*** [scripts/sign-file] Error 1 make: ***[scripts] Error 2 [root@duwers linux-4.4]#//解决
[root@duwers linux-4.4]# yum -y install openssl-devel//重新生成内核,大概半小时吧,
[root@duwers linux-4.4]# make bzImage//完成后就下图的样子(最后几行代码)
![](http://s4.51cto.com/wyfs02/M01/83/3D/wKioL1dtSgXin4DcAAAomKw0plA429.png-wh_500x0-wm_3-wmp_4-s_1259198231.png)
6、 生成新内核的驱动模块,就下面这个make 搞了我一个多小时,忘记-j 4了
[root@duwers linux-4.4]# make modules// 忘记截图了,呵呵哒
//清空缓存
[root@duwers linux-4.4]# sync [root@duwers linux-4.4]# free –m7、 安装编译好的内核与模块
1) 安装模块,这个快,几分钟的事情
[root@duwers linux-4.4]# make modules_install
![](http://s1.51cto.com/wyfs02/M00/83/3D/wKioL1dtSy2xzui3AABrit64oDg192.png-wh_500x0-wm_3-wmp_4-s_2896137893.png)
2)
[root@duwers ~]# cd /sdb1/linux-4.4/ [root@duwers linux-4.4]# make install
![](http://s5.51cto.com/wyfs02/M01/83/3D/wKiom1dtS4ajWyqVAAAYQW6nZgk810.png-wh_500x0-wm_3-wmp_4-s_3572630229.png)
8、 查看或修改GRUB菜单(为了确认是不是把内核安装好了)
[root@duwers ~]#vim /boot/grub2/grub.cfg
![](http://s1.51cto.com/wyfs02/M00/83/3D/wKiom1dtS7CSSjMAAACgTyETGuc296.png-wh_500x0-wm_3-wmp_4-s_4009819922.png)
9、 重启系统,测试新内核工作情况
///重启要选择啊!重启要选择啊!重启要选择啊!【重要的事情说三遍】
![](http://s3.51cto.com/wyfs02/M01/83/3D/wKioL1dtTAmjaFWQAAAfYH7I1Sg645.png-wh_500x0-wm_3-wmp_4-s_2598255573.png)
查看新内核
![](http://s4.51cto.com/wyfs02/M02/83/3D/wKioL1dtTCCTGeMGAAAP1f6MF1A408.png-wh_500x0-wm_3-wmp_4-s_3247756307.png)
//修改默认的启动选项,
[root@duwers linux-4.6.3]# cat /boot/grub2/grub.cfg |grep menuentry if [x"${feature_menuentry_id}" = xy ]; then menuentry_id_option="--id" menuentry_id_option="" exportmenuentry_id_option menuentry'Red Hat Enterprise Linux Server (4.4.0) 7.2 (Maipo)' --class red --classgnu-linux --class gnu --class os --unrestricted $menuentry_id_option'gnulinux-3.10.0-327.el7.x86_64-advanced-a91da850-a46f-4604-a494-54b56d1a2841'{ menuentry'Red Hat Enterprise Linux Server (3.10.0-327.el7.x86_64) 7.2 (Maipo)' --classred --class gnu-linux --class gnu --class os --unrestricted$menuentry_id_option'gnulinux-3.10.0-327.el7.x86_64-advanced-a91da850-a46f-4604-a494-54b56d1a2841'{ menuentry'Red Hat Enterprise Linux Server (0-rescue-7dd2238acdc6468c9bfec97e0a5978fb)7.2 (Maipo)' --class red --class gnu-linux --class gnu --class os--unrestricted $menuentry_id_option'gnulinux-0-rescue-7dd2238acdc6468c9bfec97e0a5978fb-advanced-a91da850-a46f-4604-a494-54b56d1a2841'{ [root@duwers linux-4.6.3]# grub2-set-default "Red Hat Enterprise Linux Server (4.4.0)7.2 (Maipo)" [root@duwers linux-4.6.3]# grub2-editenv list saved_entry=RedHat Enterprise Linux Server (4.4.0) 7.2 (Maipo) [root@duwers linux-4.6.3]#
The End!!
相关文章推荐
- Linux socket 初步
- Linux Kernel 4.0 RC5 发布!
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- Linux 下无损图片压缩小工具介绍