這篇文章給大家介紹怎么在CentOS系統中對內核進行編譯,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
Linux 內核簡介
最上面是用戶(或應用程序)空間。這是用戶應用程序執行的地方。用戶空間之下是內核空間,Linux 內核正是位于這里。
GNU C Library (glibc)也在這里。它提供了連接內核的系統調用接口,還提供了在用戶空間應用程序和內核之間進行轉換的機制。這點非常重要,因為內核和用戶空間的應用程序使用的是不同的保護地址空間。每個用戶空間的進程都使用自己的虛擬地址空間,而內核則占用單獨的地址空間。
Linux 內核可以進一步劃分成 3 層。最上面是系統調用接口,它實現了一些基本的功能,例如 read 和 write。系統調用接口之下是內核代碼,可以更精確地定義為獨立于體系結構的內核代碼。這些代碼是 Linux 所支持的所有處理器體系結構所通用的。在這些代碼之下是依賴于體系結構的代碼,構成了通常稱為 BSP(Board Support Package)的部分。這些代碼用作給定體系結構的處理器和特定于平臺的代碼。
Linux 內核實現了很多重要的體系結構屬性。在或高或低的層次上,內核被劃分為多個子系統。Linux 也可以看作是一個整體,因為它會將所有這些基本服務都集成到內核中。這與微內核的體系結構不同,后者會提供一些基本的服務,例如通信、I/O、內存和進程管理,更具體的服務都是插入到微內核層中的。
CentOS系統的內核編譯與
下載內核
從官方網站https://www.kernel.org/下載內核,我下載的是linux-3.13.7.tar.xz
復制代碼
代碼如下:
cat /proc/version #先查看一下我的內核版本
復制代碼
代碼如下:
cd /usr/src</p> <p>wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.13.7.tar.xz</p> <p>xz -d linux-*.tar.xz</p> <p>tar xf linux-*.tar</p> <p>cd linux-3.13.7</p> <p>#清楚源碼樹和.config
make mrproper
這個時候你可能報錯,會提示如下
*** Unable to find the ncurses libraries or the</p> <p>#解決辦法安裝</p> <p>#centos</p> <p>yum install ncurses-devel -y</p> <p>#ubuntu</p> <p>apt-get install ncurses-dev
定制內核
復制代碼
代碼如下:
make menuconfig #最少也要把網卡、文件系統和聲卡驅動選上,配置說明見底部附錄</p> <p>#2.6以前的版本是,但是現在的內核是不需要make dep了
make dep
make bzlmage
make modules
make modules_install
make install</p> <p>#編譯內核
make </p> <p>make bzImage #編譯內核鏡像,會提示如下
#Kernel: arch/x86/boot/bzImage is ready </p> <p>make modules #編譯內核模塊</p> <p>make modules_install #安裝內核模塊</p> <p>#我的3.13.7不需要太復雜的配置</p> <p>make install #就直接安裝好了,包括內核映射,grub配置都不需要手工配置了,它都腳本自動給你配置好了
我們看下,我執行了make install 這個時候install.sh這個腳本都干了什么?
現在我們看出來了,以前那些繁瑣的步驟都給我們省略了,全部腳本都干了,其實腳本替我們做的如下
安裝完成
關于怎么在CentOS系統中對內核進行編譯就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。