PC/104平臺(tái)嵌入式Linux系統(tǒng)核心定制方法
if[“$CONFIG_BLK_DEV_HD_DE”=
“y”-o“$CONFIG_BLK_DEV_HD_ONLY”=
“y”];then
define_boolCONFIG_BLK_DEV_HDy
else
define_boolCONFIG_BLK_DEV_HDn
fi
這段語(yǔ)句的作用是定義在塊設(shè)備中DE塊設(shè)備驅(qū)動(dòng)可以被編譯在內(nèi)核中也可以被編譯成內(nèi)核模塊。采用修改配置文件的方式設(shè)置內(nèi)核比較復(fù)雜,而且容易出現(xiàn)錯(cuò)誤,但是對(duì)深入剖析和理解內(nèi)核幫助很大。比較有效的方式還是直接利用Linux內(nèi)核提供的工具進(jìn)行內(nèi)核設(shè)置。在Linux源代碼目錄下,Linux內(nèi)核設(shè)置命令是:
# make menu config
命令執(zhí)行后會(huì)顯示一個(gè)字符型菜單配置環(huán)境,在該環(huán)境中有以下選項(xiàng),通過(guò)這些選項(xiàng)設(shè)置可以定制Linux內(nèi)核的各項(xiàng)功能,并對(duì)內(nèi)核實(shí)現(xiàn)裁減。下面對(duì)主要設(shè)置選項(xiàng)進(jìn)行介紹:
(1) Code maturity level options代碼成熟等級(jí)。此處只有一項(xiàng):prompt for development and/or incomplete code/drivers,如果要試驗(yàn)現(xiàn)在仍處于實(shí)驗(yàn)階段的功能,就必須把該項(xiàng)選擇為Y了;否則可以把它選擇為N。在這部分,設(shè)定是否允許內(nèi)核的一些試驗(yàn)選項(xiàng)被使用。
(2)Load able module support對(duì)可加載模塊的支持??杉虞d模塊碼不是內(nèi)核的一部分,但是當(dāng)需要它的時(shí)候,可以被同內(nèi)核一起加載并使用。如果將內(nèi)核代碼編譯成可加載模塊,可以使內(nèi)核更小,而且更穩(wěn)定。但是需要注意的是,如果將文件系統(tǒng)代碼編譯為可加載模塊,將使內(nèi)核無(wú)法讀取文件系統(tǒng),因此在啟動(dòng)的時(shí)候內(nèi)核無(wú)法加載配置文件。
這里面有3項(xiàng):
Enable loadable module support:提供內(nèi)核支持;
Set version information on all modulesymbols:設(shè)置所有模塊的版本信息;
Kernel module loader:讓內(nèi)核在啟動(dòng)時(shí)有自己裝入必需模塊的能力。
(3)Processor type and features
CPU類(lèi)型選項(xiàng)??梢赃x擇處理器的類(lèi)型,通?!?dev/cpu”選項(xiàng)更高級(jí)。
Processor family:根據(jù)應(yīng)用情況選擇CPU類(lèi)型。
High Memory Support:大容量?jī)?nèi)存的支持??梢灾С值?G、64G,只有當(dāng)計(jì)算機(jī)有超過(guò)1GB內(nèi)存(不是磁盤(pán)空間)時(shí)才是必須的。
評(píng)論