内核编译之增加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文件,通过它来展现模块菜单

4make  menuconfig 进入内核编译模式

    按下图步骤开始操作

blob.png 

blob.png 

    添加内核版本号

blob.png 

 

 

 

    文件系统类型

blob.png 

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

blob.png 

exit 退出保存

 

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

           egmake  -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
下一篇 2016-09-13

相关推荐

  • Linux包管理:rpm/yum/编译安装

    rpm:安装,查询,升级,校验,卸载   Topic: 程序包 rpm管理 yum管理   程序包:   什么是程序包管理器: 将编译好的应用程序的各个组成文件打包成一个或几个程序包文件,从而更方便地实现程序包的安装、升级、卸载和查询等管理操作   程序包的组成清单: 文件清单 安装或卸载时运行的脚本 数据库(公共) …

    2017-09-14
  • 7 文件系统权限(二):权限

    rwx, chmod, chgrp, chown, SUID, SGID, Sticky, chattr, lsattr, umask, ACL, setfacl, getfacl 权限 假设这样几个场景:     1) A用户在/testdir目录中创建了A.txt文件,B用户是否可以删除、修改、移动、重命…

    Linux干货 2016-08-19
  • 8.网络基础知识

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥:网桥就是把2个不同的网段桥接起来;可隔离冲突域。 集线器:集线器就是把多根以太网线或光纤集合连接在同一段物理介质下的装置;工作在物理层;不能隔离冲突域。 二层交换机:工作于OSI模型的第2层(数据链路层),故而称为二层交换机。二层交换技术的发展已经比较成熟,二层交换机属数据…

    Linux干货 2017-08-21
  • UEFI原理小结

    1. UEFI 和 BIOS        UEFI 和 BIOS它们都可以认为是一种烧录了不同程序的PC固件,它们都可以用来启动系统,并且UEFI可兼容MBR,并直接支持GPT;BIOS是IBM PC兼容机中常用的一种固件; UEFI是Intel开发和发布的EFI的继任者,它由UEFI论…

    Linux干货 2016-05-01
  • Linux的哲学思想

    Linux的哲学思想 一切皆文件  几乎把所有的资源系统抽象为文件形式:包括硬件设备,甚至通信接口等 由众多功能单一的程序组成:一个程序只做一件事,并且做好;组合小程序完成复杂任务  力求使程序精简凝练,出现地完成最核心的需求;尽量避免使其膨胀成为一个臃肿的程序,致使大部分代码很少被需要和执行。 小程序易于理解,维护,消耗系统资源较少,易…

    Linux干货 2017-07-03
  • 系统启动和内核管理(一)

    系统启动和内核管理(一)   (以CentOS5/6为例) 一、Linux的组成: 1、Linux:kernel+rootfs kernel:进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能。 rootfs:程序和glibc 库:函数集合,function,调用接口(头文件负责描述); 过程调用,procedure,无返回值; 函数调用,…

    Linux干货 2016-09-10