免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Linux 內(nèi)核配置方式詳解

Linux 內(nèi)核配置方式詳解

上一篇 / 下一篇  2011-05-30 22:55:32/ 個(gè)人分類:Linux

在做Virtualization這段時(shí)間,編譯過(guò)多次Linux kernel,編譯Kernel過(guò)程中配置config這一步是相對(duì)來(lái)說(shuō)比較復(fù)雜的。對(duì)編譯內(nèi)核過(guò)程中的配置這一步做詳細(xì)的說(shuō)明吧,總結(jié)一下,多數(shù)內(nèi)容源于網(wǎng)上的多篇文章。

首發(fā)在我的博客:http://renyongjie668.blog.163.com/blog/static/1600531201143010295156/

首先,配置時(shí)可能出現(xiàn)的選項(xiàng),對(duì)其選擇先來(lái)個(gè)說(shuō)明吧。

Typically, your choices for each option areshown in the format [Y/m/n/?] The capitalized   letter is the default, and can be selected by just pressing the Enterkey. The four choices are:

        y    Build directly into thekernel.

        n    Leave entirely out of the kernel.

        m   Build as a module, to beloaded if needed.

            Print a brief descriptivemessage and repeat the prompt.

y表示(相應(yīng)功能將直接編譯進(jìn)內(nèi)核),m表示模塊(相應(yīng)功能將編譯為一個(gè)模塊,在需要時(shí)加載),以及n表示(相應(yīng)功能不會(huì)包含進(jìn)內(nèi)核)。則(對(duì)該配置項(xiàng))打印出簡(jiǎn)要的描述信息并重復(fù)剛才的選擇提示。

其次,我使用的最多的兩個(gè)配置命令分別是:make muneconfigmake oldconfig

make oldconfigmake config類似,但是它的作用是在現(xiàn)有的內(nèi)核設(shè)置文件基礎(chǔ)上建立一個(gè)新的設(shè)置文件,只會(huì)向用戶提供有關(guān)新內(nèi)核特性的問(wèn)題,在新內(nèi)核升級(jí)的過(guò)程中,make oldconfig非常有用,用戶將現(xiàn)有的配置文件.config復(fù)制到新內(nèi)核的源碼中,執(zhí)行make oldconfig,此時(shí),用戶只需要回答那些針對(duì)新增特性的問(wèn)題。

makemenuconfig基于終端的一種配置方式,提供了文本模式的圖形用戶界面,用戶可以通過(guò)光標(biāo)移動(dòng)來(lái)瀏覽所支持的各種特性。使用這用配置方式時(shí),系統(tǒng)中必須安裝有ncurese庫(kù)。


在內(nèi)核樹的根目錄中,有一個(gè)
.config文件,它記錄了內(nèi)核的配置選項(xiàng),可直接對(duì)它進(jìn)行修改,再運(yùn)行。在.config文件中,每個(gè)配置和選項(xiàng)的值只能為”y””m”兩者之一,如果不需要這個(gè)特性不再支持她,那么可以將對(duì)應(yīng)的選項(xiàng)用”#”注釋掉。實(shí)際上,如果你手頭有合適的.config文件,可以運(yùn)行make oldconfig 直接按.config的內(nèi)容來(lái)配置$ sudomake oldconfig

對(duì)內(nèi)核的配置都是圍繞.config來(lái)展開的. 即便開始.config文件不存在,進(jìn)行配置后會(huì)創(chuàng)造它.

一般來(lái)說(shuō),內(nèi)核配置保存于/usr/src/linux-*/.config文件中。在/boot/config-<版本>有其備份。請(qǐng)保留它以備后用。

 

常見的幾種配置方式:

為了完成內(nèi)核的配置,必須切換到root用戶,然后轉(zhuǎn)入內(nèi)核源碼目錄(就是你下載新內(nèi)核的目錄)

#cd /usr/src/linux/linux-2.6.38

然后執(zhí)行下面命令之一:

#make config

#make oldconfig

#make menuconfig

#make gconfig

#make defconfig

#make allyesconfig

#make allmodconfig

 

1.make config

基于文本的最為傳統(tǒng)的也是最為枯草的一種配置方式,但是它可以使用任何情況,這種方式會(huì)為每一個(gè)內(nèi)核支持的特性向用戶提問(wèn),如果用戶回答“y”,則把特性編譯進(jìn)內(nèi)核;回答“m”,則它特性作為模塊進(jìn)行編譯;回答“n”,則表示不對(duì)該特性提供支持

如果回答每個(gè)問(wèn)題前,必須考慮清楚,如果在配置過(guò)程中犯了錯(cuò)誤給了錯(cuò)誤的回答,就只能按“ctcl+c”強(qiáng)行退出了

 

2.make oldconfig

make oldconfigmakeconfig類似,但是它的作用是在現(xiàn)有的內(nèi)核設(shè)置文件基礎(chǔ)上建立一個(gè)新的設(shè)置文件,只會(huì)向用戶提供有關(guān)新內(nèi)核特性的問(wèn)題,在新內(nèi)核升級(jí)的過(guò)程 中,make oldconfig非常有用,用戶將現(xiàn)有的配置文件.config復(fù)制到新內(nèi)核的源碼中,執(zhí)行make oldconfig,此時(shí),用戶只需要回答那些針對(duì)新增特性的問(wèn)題

make silentoldconfig : Like above, but avoids cluttering the screen withquestions already answered.和上面oldconfig一樣,但在屏幕上不再出現(xiàn)已在.config中配置好的選項(xiàng)。

 

3.make menuconfig

基于終端的一種配置方式,提供了文本模式的圖形用戶界面,用戶可以通過(guò)光標(biāo)移動(dòng)來(lái)瀏覽所支持的各種特性。使用這用配置方式時(shí),系統(tǒng)中必須安裝有ncurese庫(kù),否則會(huì)顯示“Unable to find the Ncurseslibraies”的錯(cuò)誤提示

 

4.make xoncifg

基 于X Winodws的一種配置方式,提供了漂亮的配置窗口,不過(guò)只有能夠在X Server上使用root用戶欲行X應(yīng)用程序時(shí),才能夠使用,它依賴于QT,如果系統(tǒng)中沒有安裝QT庫(kù),則會(huì)出現(xiàn)“Unableto find the QT installation”的錯(cuò)誤提示

 

5.make gconfig

make xocnifg類似,不同的是make gconfig依賴于GTK庫(kù)

 

6.make defconfig

按照默認(rèn)的配置文件arch/i386/defconfig對(duì)內(nèi)核進(jìn)行配置,生成.config可以用作初始化配置,然后再使用make menuconfig進(jìn)行定制化配置

 

7.make allyesconfig

盡量多地使用“y”設(shè)置內(nèi)核選項(xiàng)值,生成的配置中包含了全部的內(nèi)核特性

make allnoconfig :除必須的選項(xiàng)外,其它選項(xiàng)一律不選. (常用于嵌入式系統(tǒng)).

8.make allmodconfig

盡可能多的使用“m”設(shè)置內(nèi)核選項(xiàng)值來(lái)生成配置文件

 

下載好Linux內(nèi)核源代碼后,在源代碼的根目錄執(zhí)行

make localyesconfig或者makelocalmodconfig

然后系統(tǒng)就會(huì)根據(jù)你的硬件自動(dòng)生成一個(gè)適應(yīng)你的硬件的.config (內(nèi)核的配置文件)

make localmodconfig會(huì)執(zhí)行lsmod命令查看當(dāng)前系統(tǒng)中加載了哪些模塊(Modules),并最后將原來(lái)的.config中不需要的模塊去掉,僅保留前面lsmod出來(lái)的這些模塊,從而簡(jiǎn)化了內(nèi)核的配置過(guò)程。 

這樣做確實(shí)方便了很多,但是也有個(gè)缺點(diǎn):該方法僅能使編譯出的內(nèi)核支持當(dāng)前內(nèi)核已經(jīng)加載的模塊。因?yàn)樵摲椒ㄊ褂玫氖?/span>lsmod的結(jié)果,如果有的模塊當(dāng)前沒有加載,那么就不會(huì)編到新的內(nèi)核中。

There’s an additional “make localyesconfig”target, in case you don’t want to use modules and/or initrds.

 

幾條好的建議:

  1. 除非您使用初始化ramdisk (initrd),否則絕不要把掛載根文件系統(tǒng)必需的驅(qū)動(dòng)程序(硬件驅(qū)動(dòng)以及文件系統(tǒng)驅(qū)動(dòng))編譯成模塊!而如果您確實(shí)使用初始化ramdisk,請(qǐng)為ext2FS支持選項(xiàng)選擇Y,因?yàn)?/span>ramdisk使用該文件系統(tǒng)。您還需要initrd支持。
  2. 如果您系統(tǒng)中有網(wǎng)卡,將它們的驅(qū)動(dòng)編譯成模塊。這樣,您就能夠在/etc/modules.conf中用別名定義哪一塊網(wǎng)卡第一,哪一塊第二,等等。如果您將驅(qū)動(dòng)程序編譯進(jìn)了內(nèi)核,它們加載的順序?qū)⑷Q于當(dāng)初它們鏈接進(jìn)內(nèi)核的順序,而這不一定是您想要的。
  3. 最后,如果您不清楚某個(gè)選項(xiàng)的含義,請(qǐng)閱讀其幫助!而如果該幫助信息依然不能解決您的困惑,請(qǐng)保留該選項(xiàng)原來(lái)的樣子。(configoldconfig中可以按鍵訪問(wèn)幫助。)

配置最終結(jié)束后,請(qǐng)保存您的配置并退出。

 

參考資料:

http://www.cnmaizi.com/tech/elebuild/simplify-linux-kernel-config-rapid-compile-method-collect/

http://man.ddvip.com/linux/Mandrakelinuxref/compiling-conf.html

http://www.huomo.cn/os/article-5d18.html

編譯 Linux2.6 內(nèi)核總結(jié): http://www.cublog.cn/u/13991/showart.php?id=79823

編譯內(nèi)核:http://my.chinaunix.net/space.php?uid=25806768&do=blog&id=302764

內(nèi)核_.config 內(nèi)核配置及Makefile:http://www.cnblogs.com/parrynee/archive/2010/05/13/1734689.html

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
【z】make config解惑
編譯Linux內(nèi)核
如何編譯和更換Linux系統(tǒng)內(nèi)核
linux內(nèi)核編譯命令解析
LINUX 6.x 內(nèi)核升級(jí)全過(guò)程
Linux內(nèi)核編譯與安裝
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服