這篇文章給大家介紹怎么在CentOS系統(tǒng)中對(duì)內(nèi)核進(jìn)行編譯,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
在沙雅等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作定制開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),全網(wǎng)營銷推廣,外貿(mào)營銷網(wǎng)站建設(shè),沙雅網(wǎng)站建設(shè)費(fèi)用合理。Linux 內(nèi)核簡(jiǎn)介
最上面是用戶(或應(yīng)用程序)空間。這是用戶應(yīng)用程序執(zhí)行的地方。用戶空間之下是內(nèi)核空間,Linux 內(nèi)核正是位于這里。
GNU C Library (glibc)也在這里。它提供了連接內(nèi)核的系統(tǒng)調(diào)用接口,還提供了在用戶空間應(yīng)用程序和內(nèi)核之間進(jìn)行轉(zhuǎn)換的機(jī)制。這點(diǎn)非常重要,因?yàn)閮?nèi)核和用戶空間的應(yīng)用程序使用的是不同的保護(hù)地址空間。每個(gè)用戶空間的進(jìn)程都使用自己的虛擬地址空間,而內(nèi)核則占用單獨(dú)的地址空間。
Linux 內(nèi)核可以進(jìn)一步劃分成 3 層。最上面是系統(tǒng)調(diào)用接口,它實(shí)現(xiàn)了一些基本的功能,例如 read 和 write。系統(tǒng)調(diào)用接口之下是內(nèi)核代碼,可以更精確地定義為獨(dú)立于體系結(jié)構(gòu)的內(nèi)核代碼。這些代碼是 Linux 所支持的所有處理器體系結(jié)構(gòu)所通用的。在這些代碼之下是依賴于體系結(jié)構(gòu)的代碼,構(gòu)成了通常稱為 BSP(Board Support Package)的部分。這些代碼用作給定體系結(jié)構(gòu)的處理器和特定于平臺(tái)的代碼。
Linux 內(nèi)核實(shí)現(xiàn)了很多重要的體系結(jié)構(gòu)屬性。在或高或低的層次上,內(nèi)核被劃分為多個(gè)子系統(tǒng)。Linux 也可以看作是一個(gè)整體,因?yàn)樗鼤?huì)將所有這些基本服務(wù)都集成到內(nèi)核中。這與微內(nèi)核的體系結(jié)構(gòu)不同,后者會(huì)提供一些基本的服務(wù),例如通信、I/O、內(nèi)存和進(jìn)程管理,更具體的服務(wù)都是插入到微內(nèi)核層中的。
CentOS系統(tǒng)的內(nèi)核編譯與
下載內(nèi)核
從官方網(wǎng)站https://www.kernel.org/下載內(nèi)核,我下載的是linux-3.13.7.tar.xz
復(fù)制代碼
代碼如下:
cat /proc/version #先查看一下我的內(nèi)核版本
復(fù)制代碼
代碼如下:
cd /usr/src
wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.13.7.tar.xz
xz -d linux-*.tar.xz
tar xf linux-*.tar
cd linux-3.13.7
#清楚源碼樹和.config
make mrproper
這個(gè)時(shí)候你可能報(bào)錯(cuò),會(huì)提示如下
*** Unable to find the ncurses libraries or the
#解決辦法安裝
#centos
yum install ncurses-devel -y
#ubuntu
apt-get install ncurses-dev
定制內(nèi)核
復(fù)制代碼
代碼如下:
make menuconfig #最少也要把網(wǎng)卡、文件系統(tǒng)和聲卡驅(qū)動(dòng)選上,配置說明見底部附錄
#2.6以前的版本是,但是現(xiàn)在的內(nèi)核是不需要make dep了
make dep
make bzlmage
make modules
make modules_install
make install
#編譯內(nèi)核
make
make bzImage #編譯內(nèi)核鏡像,會(huì)提示如下
#Kernel: arch/x86/boot/bzImage is ready
make modules #編譯內(nèi)核模塊
make modules_install #安裝內(nèi)核模塊
#我的3.13.7不需要太復(fù)雜的配置
make install #就直接安裝好了,包括內(nèi)核映射,grub配置都不需要手工配置了,它都腳本自動(dòng)給你配置好了
我們看下,我執(zhí)行了make install 這個(gè)時(shí)候install.sh這個(gè)腳本都干了什么?
現(xiàn)在我們看出來了,以前那些繁瑣的步驟都給我們省略了,全部腳本都干了,其實(shí)腳本替我們做的如下
安裝完成
關(guān)于怎么在CentOS系統(tǒng)中對(duì)內(nèi)核進(jìn)行編譯就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。