原配置文件/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的配置文件,刪除不須要的內核啓動列表