Centos7內核編譯

一:前要知識準備

1:參考 系統原內核文件的配置文件,編譯新內核選項

原配置文件/boot/ config-3.10.0-514.el7.x86_64
  瞭解配置文件的內容信息
  cat /boot/ config-3.10.0-514.el7.x86_64

clipboard.png

clipboard.png

每一行表明一個模塊
   =y 表明模塊存放在覈心內核裏面
   =m 表明模塊存放在/lib/modules內

下圖中:NTFS is not set 表示NTFS功能沒有啓用linux

clipboard.png

EXT4文件系統格式的模塊是打到/lib/modules內的數據庫

2:內核菜單

命令: make menuconfigcentos

clipboard.png

須要安裝:ncurses-devel 包spa

clipboard.png
make menuconfig:
內核選項菜單debug

clipboard.png

3:編譯特定的內核模塊

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

clipboard.png

二:編譯內核支持NTFS硬盤格式

1:硬件要求

1) /boot空閒空間在500M以上
2) / 空間空間在10G以上
3)真實物理硬盤至少也須要在10G以上
4)本實驗系統環境爲Centos7,Centos6流程與7相似圖片

2:下載源碼文件

llinux-4.12.tar https://www.kernel.org/
放置在根目錄下
解壓包:tar xvf linux-4.12—ip

clipboard.png

clipboard.png

3:準備配置文件

編譯內核時,系統默認會去找.config文件
cp /boot/config-3.10.0-514.el7.x86_64 /root/linux-4.12/.configssl

4:安裝開發包包組

yum groupinstall  「Development Tools」

5 安裝內核選項菜單 文件包

要在內核解壓包解壓文件的路徑下作以下操做:
  cd /boot/linux-4.12
 yum install nucres-devel
 make menuconfig

clipboard.png

圖片開頭的.config 就是依照/root/linux-4.12/.config配置文件而生成的如今的菜單
[] 表示模塊打入內核中
[] General setup 通用設置

clipboard.png

local version:編譯者加的內核版本

6: 增長內核版本內容

-1.0-mashuai-keernel

clipboard.png

clipboard.png

7 :更改文件系統設置

clipboard.png

clipboard.png
NTFS:改成<M> NTFS模塊文件打入/lib/modules

clipboard.png

[*] NTFS write support 寫功能開啓。

即使是開啓,NTFS在實際中也不支持寫功能

[*] NTFS debugging support 調試NTFS

clipboard.png

8:安裝內核相關文件

make –j 4
4表示4顆cpu

clipboard.png

缺乏軟件包 openssl-devel
安裝軟件包:yum install –y openssl-devel

clipboard.png

繼續編譯內核:make –j 4

生成ko模塊驅動文件,so庫文件,內核相關文件

9:更新updatedb數據庫

更新updatedb數據庫   updatedb

查看ntfs.ko文件有無生成: locate ntfs.ko

clipboard.png

10:安裝模塊

make modules_install :至關於把須要內核配置文件中安裝在/lib/modules目錄內的文件

cp至/lib/modules內。
                    install命令就至關於複製命令

clipboard.png

clipboard.png

11:生成內核文件

安裝缺乏的軟件:(此文件爲其餘人在生成內核文件時出現的報錯信息)

clipboard.png
yum install elfutils-libelf-devel

clipboard.png
make install :安裝內核相關文件

clipboard.png
ls /boot : 查看vmlinu-4.12內核文件有無生成

clipboard.png
cat /boot/grub2/grub.cfg :查看內核啓動配置文件有無更改
增長了如圖片下的內容:menuentr至關於centos6中的title
系統啓動時,會增長一個centos linux 4.12版本的內核啓動項

clipboard.png

12 :重啓電腦

增長了一個4.12的內核選項

clipboard.png

13:從新掛載NTFS格式的U盤

df

clipboard.png
mount /dev/sdb1 /mnt/cd

clipboard.png

能夠查看裏面的文件內容:cat ansible.txt

clipboard.png

可是不能夠寫入:touch f1

clipboard.png

mount :查看掛載屬性,爲ro只讀格式

clipboard.png

更改掛載屬性: mount –o remount,rw /dev/sdb1
不能夠從新掛載,有寫保護。NTFS僅支持讀

clipboard.png

三:清理及卸載內核

1:清理:make clean

make clean:清理大多數編譯生成的文件,但會保留config文件等

2:卸載:

刪除/lib/modules/目錄下不須要的內核庫文件刪除/root/linux4.12---/目錄下不須要的內核源碼刪除/boot目錄下啓動的內核和內核映像文件更改grub的配置文件,刪除不須要的內核啓動列表

相關文章
相關標籤/搜索