内核编译之增加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)
上一篇 2016-09-13 11:06
下一篇 2016-09-13 11:17

相关推荐

  • ansible

    ansible 安装ansible 查看当前的系统版本 yum install redhat-lsb-core -y [root@localhost httpd]# lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: CentOS Description: C…

    Linux干货 2017-07-09
  • N25-第九周作业

    第九周 1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # sum_login=0 sum_nologin=0 for i in $(awk -F: ‘{print $7}’ /etc/passwd);do if…

    Linux干货 2017-03-10
  • linux基础1

    linux基础

    Linux干货 2018-03-08
  • systemd

    systemd 启动流程:POST -> BIOS -> MBR bootloader -> kernel 临时根 -> 根文件系统 -> init init 能够管理、控制init进程的模块,就是init系统 能够让系统在用户预定义的级别下运行 设备管理器: sysvinit : CentOS 5 第一个广泛应用的init系统…

    Linux干货 2017-05-21
  • 网络班26期-第1周课程作业

    1、描述计算机的组成及其功能? (1)CPU:计算机的大脑,计算机的运算,命令的控制功能,寄存器及缓存都由CPU功能承担; (2)内存:RAM,随机访问存储器,计算机的另一个核心功能,系统指令存放及运行的基础。 (3)输入设备:人工给计算机下指令的设备,例如鼠标,键盘等; (4)输出设备:计算机输出人工输入的执行命令的结果;例如,音响,显示屏等; …

    Linux干货 2017-01-10
  • 磁盘及文件系统管理

    磁盘管理     MBR:master boot record 主引导记录。位于磁盘的0磁道0扇区共512字节,独立于操作系统之外的。512字节的划分               …

    Linux干货 2016-08-25