内核编译之增加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多网口绑定

    LINUX多网卡绑定同一IP(BOND): 常用的有三种 mode=0:轮转策略,有自动备援,但需要”Switch”支援及设定。 mode=1:活动-备份模式,其中一条线若断线,其他线路将会自动备援。 mode=3:广播模式,有自动备援,不必”Switch”支援及设定 mode0模式:需要说明的是如果想做成mode 0的负载均衡,仅仅设置这里options …

    2017-07-03
  • vim 编辑器 定时任务 bash基础

    vim 编辑器 定时任务 bash基础

    2017-10-17
  • Linux 基础入门(第一周)

    计算机组成,Linux发行版本,Linux基础命令

    Linux干货 2017-12-03
  • 马哥教育网络班20期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 # who |cut -d" " -f1 | uniq 2、取出最后登录到当前系统的用户的相关信息。 # last | head -1 3…

    Linux干货 2016-06-26
  • 第一篇文章

    第一篇文章。

    Linux干货 2016-12-26
  • 系统启动和内核管理

    Linux组成 Linux:kernel+rootfs kernel:进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能 rootfs:程序和glibc 库:函数集合,function,调用接口(头文件负责描述) 过程调用:procedure,无返回值; 函数调用:function;有返回值,可以赋值于变量中; 程序:二进制执行文件 包括根目录以及包…

    Linux干货 2017-05-14