內核,是一個操作系統的核心。它負責管理系統的進程、內存、設備驅動程序、文件和網絡系統,決定著系統的性能和穩定性。Linux作為一個自由軟件,在廣大愛好者的支持下,內核版本不斷更新。新的內核修訂了舊內核的bug,并增加了許多新的特性。如果用戶想要使用這些新特性,或想根據自己的系統度身定制一個更高效,更穩定的內核,就需要重新編譯內核。
本文將以kernel 4.7.2版本為實驗,操作平臺為RedHat 7.2,將通過以下三個方面來說明內核及模塊的編譯。
源碼編譯Linux內核
使用Linux內核模塊
實戰:編譯一個NTFS內核模塊,實現Linux掛載NTFS文件系統并實現讀寫功能
一、 源碼編譯linux內核準備工作:
1. redhat7或者以上版本,本文以vm12+redhat7.2為例。
2. 內核版本下載地址:到官網:https://cdn.kernel.org
查看最新穩定版內核:https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.7.2.tar.xz
虛擬機硬件的要求:
硬盤可用空間大于8G.否則編譯時,會因為空間不夠,提示你安裝不成功。
虛擬機內存要調到2.5G以上.最好是4G以上,這里是8G。
第一步: 對硬件進行設置,使其滿足要求并下載內核:
1. 新添加一塊20G的硬盤及修改內存:


2.檢查當前的內核版本: uname -r

3.到官網:https://cdn.kernel.org 查看最新穩定版內核并下載

如果虛擬機不能上網(如何讓虛擬機上網,參考本人相關博文),那也沒有關系,直接從外網下載好后,用xshell工具上傳至虛擬機。如圖:

在xshell的終端輸入rz,打開下面的上傳界面:

上傳即可。
或者點擊下面按鈕也可以:


如果虛擬機可以聯網:不妨從虛擬機直接下載。
[root@xiaolyu ~]# wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.7.2.tar.xz


第二步:使用硬盤:分區、格式化、掛載:

[root@xiaolyu ~]# fdisk /dev/sdb //對磁盤/dev/sdb進行格式化。
Welcome to fdisk (util-linux 2.23.2).Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x63b985bb.Command (m for help): m //查看幫助信息。
Command actiona toggle a bootable flagb edit bsd disklabelc toggle the dos compatibility flagd delete a partitiong create a new empty GPT partition tableG create an IRIX (SGI) partition tablel list known partition types新聞熱點
疑難解答