原配置文件/boot/ config-3.10.0-514.el7.x86_64 了解配置文件的内容信息 cat /boot/ config-3.10.0-514.el7.x86_64
每一行表明一个模块 =y 表明模块存放在核心内核里面 =m 表明模块存放在/lib/modules内
下图中:NTFS is not set 表示NTFS功能没有启用linux
EXT4文件系统格式的模块是打到/lib/modules内的数据库
命令: make menuconfigcentos
须要安装:ncurses-devel 包spa
make menuconfig:
内核选项菜单debug
1:选择指定的ko文件路径
2:进入解压内核文件目录 /root/linux4.12
生成ko文件:
make fs/ntfs/ntfs.ko调试
cp ko文件至 /lib/modules/ 4.12.0-1.0-mashuai-kernel
cp fs/ntfs/ntfs.ko /lib/modules /4.12.0-1.0-mashuai-kernel/kernel/fs/ntfs/code
1) /boot空闲空间在500M以上
2) / 空间空间在10G以上
3)真实物理硬盘至少也须要在10G以上
4)本实验系统环境为Centos7,Centos6流程与7相似图片
llinux-4.12.tar https://www.kernel.org/
放置在根目录下
解压包:tar xvf linux-4.12—ip
编译内核时,系统默认会去找.config文件
cp /boot/config-3.10.0-514.el7.x86_64 /root/linux-4.12/.configssl
yum groupinstall “Development Tools”
要在内核解压包解压文件的路径下作以下操做: cd /boot/linux-4.12 yum install nucres-devel make menuconfig
图片开头的.config 就是依照/root/linux-4.12/.config配置文件而生成的如今的菜单
[] 表示模块打入内核中
[] General setup 通用设置
local version:编译者加的内核版本
-1.0-mashuai-keernel
NTFS:改成<M> NTFS模块文件打入/lib/modules
[*] NTFS write support 写功能开启。
即使是开启,NTFS在实际中也不支持写功能
[*] NTFS debugging support 调试NTFS
make –j 4
4表示4颗cpu
缺乏软件包 openssl-devel
安装软件包:yum install –y openssl-devel
继续编译内核:make –j 4
生成ko模块驱动文件,so库文件,内核相关文件
更新updatedb数据库 updatedb
查看ntfs.ko文件有无生成: locate ntfs.ko
make modules_install :至关于把须要内核配置文件中安装在/lib/modules目录内的文件
cp至/lib/modules内。 install命令就至关于复制命令
安装缺乏的软件:(此文件为其余人在生成内核文件时出现的报错信息)
yum install elfutils-libelf-devel
make install :安装内核相关文件
ls /boot : 查看vmlinu-4.12内核文件有无生成
cat /boot/grub2/grub.cfg :查看内核启动配置文件有无更改
增长了如图片下的内容:menuentr至关于centos6中的title
系统启动时,会增长一个centos linux 4.12版本的内核启动项
增长了一个4.12的内核选项
df
mount /dev/sdb1 /mnt/cd
能够查看里面的文件内容:cat ansible.txt
可是不能够写入:touch f1
mount :查看挂载属性,为ro只读格式
更改挂载属性: mount –o remount,rw /dev/sdb1
不能够从新挂载,有写保护。NTFS仅支持读
make clean:清理大多数编译生成的文件,但会保留config文件等
删除/lib/modules/目录下不须要的内核库文件删除/root/linux4.12---/目录下不须要的内核源码删除/boot目录下启动的内核和内核映像文件更改grub的配置文件,删除不须要的内核启动列表