环境:rehl7.2 x64 3G内存 3核 40磁盘

//查看内核[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-devel

3、解压内核源码包[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

//系统自带的是不支持的[root@duwers linux-4.4]# vim /boot/config-3.10.0-327.el7.x86_64

//把系统自带的拷贝到新内核文件里面,,表述不清晰,大概意思哈,看操作:[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后会弹出界面】

效果如图

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

^

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

//完成后就下图的样子(最后几行代码)

6、生成新内核的驱动模块,就下面这个make 搞了我一个多小时,忘记-j 4了[root@duwers linux-4.4]# make modules

// 忘记截图了,呵呵哒

//清空缓存[root@duwers linux-4.4]# sync

[root@duwers linux-4.4]# free –m

7、安装编译好的内核与模块

1)安装模块,这个快,几分钟的事情[root@duwers linux-4.4]# make modules_install

2)[root@duwers ~]# cd /sdb1/linux-4.4/

[root@duwers linux-4.4]# make install

8、查看或修改GRUB菜单(为了确认是不是把内核安装好了)[root@duwers ~]#vim /boot/grub2/grub.cfg

9、重启系统,测试新内核工作情况

///重启要选择啊!重启要选择啊!重启要选择啊!【重要的事情说三遍】

查看新内核

//修改默认的启动选项,

[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)' --cla***ed --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!!

linux4.4 内核模块,编译Linux内核4.4实现可读NTFS相关推荐

  1. 【Linux 内核】编译 Linux 内核 ⑦ ( 安装内核模块 | 安装内核 | 重启系统 | 查看当前内核版本 )

    文章目录 一.安装内核模块 二.安装内核 三.重启系统 四.查看当前内核版本 一.安装内核模块 确保 Linux 内核编译完成 , 没有任何报错之后 ; 参考 [Linux 内核]编译 Linux 内 ...

  2. Linux内核开发_1_编译LInux内核

    目录 1. 准备工作 1.1 学习环境 1.2 下载Linux内核源码 1.3 解压Linux内核 1.4 目录结构介绍 2. Linux内核配置 2.1 配置选项 1. make config 2. ...

  3. 安装debian总结以及编译linux内核

    1. 安装debian 使用unetbootin(http://unetbootin.sourceforge.net/)来创建启动盘,并且下载debian的基本包. 将磁盘进行压缩操作,并且保留出一个 ...

  4. LLVM每日谈之二十三 LLVM/Clang编译Linux内核资料

    作者:史宁宁(snsn1984) 之前有朋友问到这个问题,是否有使用LLVM/Clang编译Linux内核的,随手找了一些相关资料,在这里贴出来,与大家共享. 网址:http://llvm.linux ...

  5. 64位ubuntu 12.04编译linux内核提示mkimage command not found

    今天心血来潮,想编译以下linux内核来玩玩.一开始编译x86的版本,遇到了openssl/opensslv.h文件缺失的问题,经过一番折腾,顺利解决(解决过程请参见我的另外一篇博客"lin ...

  6. gcc7 编译 linux内核提示 undefined reference to `____ilog2_NaN'

    1. 问题 gcc7.3 编译linux内核linux-4.10.4时,出现如下错误: GEN .versionCHK include/generated/compile.hUPD include/g ...

  7. linux 内核编译_如何在21世纪编译Linux内核

    linux 内核编译 在计算中,内核是处理与硬件和一般系统协调通信的低级软件. 除了计算机主板上内置的一些初始固件之外,启动计算机时,内核还使您意识到它具有硬盘驱动器,屏幕,键盘和网卡. 确保为每个组 ...

  8. debian 编译linux内核源码,安装debian总结以及编译linux内核

    1. 安装debian 使用unetbootin(http://unetbootin.sourceforge.net/)来创建启动盘,并且下载debian的基本包. 将磁盘进行压缩操作,并且保留出一个 ...

  9. 如何解决编译linux内核(解决声卡问题),遭遇fatal error: linux/limits.h: 没有那个文件或目录

    如何解决编译linux内核(解决声卡问题),遭遇fatal error: linux/limits.h: 没有那个文件或目录 参考文章: (1)如何解决编译linux内核(解决声卡问题),遭遇fata ...

最新文章

  1. jQuery中文入门指南,翻译加实例,jQuery的起点教程
  2. 《C++程序设计POJ》《WEEK7 输入输出和模板》《流操纵算子》《文件读写》《二进制文件读写》...
  3. visual studio visual studio 2005 快捷键大全
  4. JUnit 5 –参数化测试
  5. Know more about Cache Buffer Handle
  6. Linux下配置简单的图形桌面环境
  7. 关于反射的一些总结(转)
  8. Kerberos 协议和 KDC 实现 Apache Kerby
  9. 利用正则按固定长度分割字符串
  10. echarts改变图例位置
  11. python自动测试模型_Selenium+Python 自动化测试模型
  12. C# Speech学习笔记(三)
  13. 【GIS导论】实验六 叠加分析
  14. 职场达人教你怎么删除pdf空白页
  15. JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
  16. android信鸽推送demo_腾讯信鸽推送(java版)
  17. rpm搭建LAMP+Discuz论坛
  18. 【Blog】解决CSDN博客修改头像后依旧显示默认头像问题的方法
  19. 数学公式编辑器:MathType 7 for mac
  20. Excel操作技巧:三列内容合并生成到另外一列中;在判断某列里面的值在另外列中是否存在

热门文章

  1. 修正闪退,Win8 Metro版VLC影音播放器下载
  2. mysql中delete和drop的区别,SQL中DELETE和DROP的简单比较
  3. 编程之美中的NIM游戏及异或性质应用
  4. Web登录注销的实现
  5. 网络协议学习:通用路由封装协议GRE
  6. 高斯滤波器参数的确定
  7. 社区版ag-grid使用
  8. YouTube推荐算法原理
  9. 绝对逃生游戏的计算机要求,绝地求生电脑最低需要什么配置能玩_电脑配置要求一览_3DM网游...
  10. parsererror是什么意思中文翻译python-Python etree.ParserError方法代码示例