内核编译之增加ntfs文件系统

内核编译

内核编译

单内核体系设计,但充分借鉴了微内核设计体系的优点,为内核引入模块化机制。

内核组成部分:

    Kernel,内核核心,一般为bzImage,通常在/boot目录下,名称为vmlinuz-WERSION-

RELEASE;

    Kernel object:内核对象,一般放置于/lib/modules/VERSION-RELEASE/

    [  ]:N    功能模块不编译到现有内核。

    [M]:M    生成模块放置于/lib/modules/VERSION-RELEASE/

    [* ]: Y     打入内核

    辅助文件:ramdisk

              Initrd

              Initramfs  

内核版本

Uname命令:

    Uname  – print system information

    Uname

            – n:显示节点名称

            -r :显示版本信息VERSION-RELEASE

            -a :显示所有信息

 

内核模块命令

    lsmod命令

    显示有核心已经装载的内核模块

    显示的内容来自于:/proc/modules文件

modinfo命令

        显示详细的描述信息

        modinfo

            -n  只显示模块文件路径

            -p  显示模块参数

            -a  author作者信息

            -d  description 描述信息

            -l   license许可证

        lsmod | grep xfs ;modinfo xfs

内核模块管理

modprobe命令

    装载或卸载内核模块

    modprobe  [-C  config-file] [modulename] [module parame-ter……]

    配置文件:/etc/modprobe.conf

    /etc/modprobe.d/*.conf

    modprobe [-r] modulename

depmod命令

    内核模块依赖关系文件及系统信息映射文件的生成工具

 

 

装载或卸载内核模块

insmod命令:指定模块文件,不自动解决依赖模块

    insmod  [filename] [module options….]  安装模块

    Insmod  `modinfo  -n  exportfs` 查看模块文件路径

    Insmod  `modinfo  -n  xfs`

rmmod  删除模块

    rmmod  [modulename]

    rmmod  xfs

        rmmod  exportfs

编译安装ntfs示例

1、安装开发包组

    Yum  groupinstall “Development Tools”

    Yum  groupinstall “server  platform  Development”

    Yum  install  ncures

        将linux-3.18.41.tar.xz内核包拷入一个现成的Linux操作系统

        将tar -xvf  linux-3.18.41.tar.xz  -C  /usr/src  解压到源码存放路径

        将内核解压完成后进入/usr/src目录会生成一个linux-3.18..41的目录

    2、进入linux-3.18..41目录,注意:后续操作都将在该目录下进行。

        参考/boot/config-3.10.0-327.e17.x86_64文件,该文件记录了当前系统在编译安装时

它启用了哪些模块,每一行代表了一个模块

                    =y  代表已经打入核心

                        未设置代表没有编译到内核中

                    =m 代表内核模块

blob.png 

    可以将该文件作为一个模板在它的基础之上增加一个ntfs的功能,其他的内容不动,

避免因对硬件不了解而出错。

 

    3、将/boot/config-3.10.0-327.e17.x86_64 复制到/usr/src/linux-3.18.41目录中且必须命

名成 . config 的隐藏文件 :cp  /boot/config-3.10.0-327.e17.x86_64  .config

       因为编译程序只认 . config文件,通过它来展现模块菜单

4、make  menuconfig 进入内核编译模式

    按下图步骤开始操作

blob.png 

blob.png 

    添加内核版本号

blob.png 

 

 

 

    文件系统类型

blob.png 

    按空格选择是否模块化或打入内核

blob.png 

exit 退出保存

 

5、执行命令make  -j  cpu核心数  开始执行编译

           eg:make  -j  2  编译之前查看一下

6、等待一个漫长的编译过程

7、编译完成后执行命令:

    make  modules_install  添加模块驱动

    make  install

8、reboot  用新内核启动

9、执行命令 locate  ntfs.ko  查看ntfs是否编入内核,注意在使用locate命令时,先

       使用命令updatedb更新一下数据库。

blob.png 

 

原创文章,作者:zzd,如若转载,请注明出处:http://www.178linux.com/45954

赞 (0)
zzdzzd
上一篇 2016-09-13 11:17
下一篇 2016-09-13 11:17

相关推荐

  • 【社招】【小米-北京】运维开发工程师

    【社招】【小米-北京】运维开发工程师 【工作地点】北京市海淀区安宁庄东路72号科利源大厦 【薪酬福利】15k-30k 期权奖励、六险一金、水果花茶、班车、健身房、食堂 【投递方式】邮件主题“岗位+姓名”发送至lipengcheng3@xiaomi.com   岗位职责: 提高系统运维的自动化,主要包括运维平台、PaaS、监控系统,自动化部…

    Linux干货 2017-07-28
  • N22-草稿

    testing

    Linux干货 2016-08-08
  • Boot目录下内容丢失导致系统无法启动

    Boot目录下内容丢失导致系统无法启动 笔者朋友近期在一次学习过程中不慎将虚拟机中boot目录下内容丢失,导致系统无法启动。当然此前他并不知道是这样,只是应为莫名的弹出框报错所有导致系统无法启动。此后朋友将此故障告知笔者,笔者本身其实也是小白刚刚学习linux不就,但是对这些稀奇古怪的故障感觉很有兴趣,所以笔者就掉进坑里搞了好久才搞出来点眉目来。为了让更多学…

    Linux干货 2016-10-24
  • Linux系统重定向和管道

    1、标准输入和标准输出              程序:指令+数据               &n…

    Linux干货 2016-08-04
  • Linux基础之RAID

    一.RAID介绍 RAID刚开始出现的时候叫做廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),但在当时磁盘并非像现在这么便宜,反而这种组合方式使得代价非常昂贵,所以后来改名为独立磁盘冗余阵列(Redundant Array of Independent Disks),基本的思想就是组合组合多个便宜的,性能相对较低…

    Linux干货 2016-11-08
  • Nginx专题: 从编译安装到URL重写

    Nginx专题: 从编译安装到URL重写 前言 环境介绍 Nginx介绍 编译安装Nginx 配置文件解释 main和event{}的配置 http{}的基本配置 配置Nginx 搭建一个基本的Nginx Web服务器 实现https 创建CA并签署Nginx证书 修改配置文件 测试https 实现URL Rewrite将不同浏览器的请求响应不同页面 URL…

    Linux干货 2016-04-04