linux系統2.6內核編譯全過程

linux系統2.6內核編譯全過程!

第一項 Code maturity level options (代碼成熟度選項)

按enter進入後選項如下

Prompt for development and/or incomplete code/drivers
默認情況下是選擇的,這將會在設置界面中顯示還在開發或者還沒有完成的代碼與驅動.你應該選擇它,因爲有許多設備可能必需選擇這個選項才能進行配置,實際上它是安全的。

Select only drivers expected to compile cleanly
選擇這個選項你將不會看到一些已知的存在問題的驅動程序選項,默認的情況下也是選擇的。如果你有設備沒有找到驅動選項,你可以將這一項去掉,或許就可以找到相關驅動了,不過它可能是有BUG的。

Select only drivers that don't need compile-time external firmware
如果你不需要在內核對一些外部設備的固件作map支持就選擇它,這也是默認選項。

第二項 General setup

其中的選項如下

Support for paging of anonymous memory
這個選項將使你的內核支持虛擬內存,也就是讓你的計算機好象擁有比實際內存更多 多的內存空間用來執行很大的程序。默認是選擇的。

System V IPC
爲進程提供通信機制,這將使系統中各進程間有交換信息與保持同步的能力。有些程序只有在選Y的情況下才能運行,所以不用考慮,這裏一定要選。

[ ] BSD Process Accounting
這裏選擇Y將會讓內核爲用戶層的進程建立一個帳目(進程通過一個特殊的系統調用來通知內核),當程序退出時內核會將進程的相關信息記錄到帳目文件中,主要包括進程的創建時間、 創建者,內存佔用等信息。如果你需要就Y吧:)

Sysctl support
這將提供一個接口讓你可以動態的更改一些核心參數與變量,而不需要重新啓動系統。打開這個選項將會增加內核的體積至少8KB。如果你的內核僅用製作安裝與恢復系統系統盤那麼可以不選,以減少對內存的佔用。

[ ] Kernel .config support
這將會把內核的配置信息與相關的文檔說明編譯進內核中,以後可以使用一些工具來提取它用來重新構建內核,一般不用選它。

[ ] Remove kernel features (for embedded systems) --->
這個選項將會把一些特性從內核中移除,以減少內核體積。對於桌面用戶來講,這可不是一個好主意,所以不要選它。至於其中的內容我會在以後的補遺中介紹。

第三項 Loadable module support (可加載模塊選項)

其選項如下:

Enable loadable module support
這個選項可以讓你的內核支持模塊,模塊是什麼呢?模塊是一小段代碼,編譯後可在系統內核運行時動態的加入內核,從而爲內核增加一些特性或是對某種硬件進行支持。一般一些不常用到的驅動或特性可以編譯爲模塊以減少內核的體積。在運行時可以使用modprobe命令來加載它到內核中去(在不需要時還可以移除它)。
一些特性是否編譯爲模塊的原則是,不常使用的,特別是在系統啓動時不需要的驅動可以將其編譯爲模塊,如果是一些在系統啓動時就要用到的驅動比如說文件系統,系統總線的支持就不要編爲模塊了,否在無法啓動系統。(當然還有一些變通的方法,我以後會提到)

[ ] Module unloading
這個選項可以讓你卸載不再使用的模塊,如果不選的話你將不能卸載任何模塊(有些模塊一旦加載就不能卸載,不管是否選擇了這個選項)。不選擇這個選項會讓你的內核體積減小一點

[ ] Module versioning support (EXPERIMENTAL)
這個選項將讓你可以使用其它版本內核中編譯的模塊,不過並不可靠,所以一般我們不選擇它

Automatic kernel module loading
一般情況下,如果我們的內核在某些任務中要使用一些被編譯爲模塊的驅動或特性時,我們要先使用modprobe命令來加載它,內核才能使用。不過,如果你選擇了這個選項,在內核需要一些模塊時它可以自動調用modprobe命令來加載需要的模塊,這是個很棒的特性,當然要選Y嘍:)

第四項 Processor type and features

Subarchitecture Type (PC-compatible)
這是一個比較新的特性,主要的目的是使Linux可以支持多種PC標準,一般我們使用的PC機是遵循所謂IBM兼容結構(pc/at)。這個選項可以讓你選擇一些其它架構。我們一般選擇PC-compatible就可以了。

Processor family (Pentium-4/Celeron(P4-based)/Xeon)
這個不用我講了吧,你是什麼CPU就選什麼吧:)

[ ] Generic x86 support
這個選項提供了對X86系列CPU最大的兼容性,用來支持一些很少見的x86體系的CPU,它可能會降低一些系統性能。所以如果你的CPU能夠在上面的列表中找到就不要選這個吧。

[ ] HPET Timer Support
這也是一個新的特性,HPET是intel制定的新的用以代替傳統的8254(PIT)中斷定時器與RTC的定時器,全稱叫作高精度事件定時器。如果你有一臺較新的機器就選它吧,一般它是一個安全的選項,即使你的硬件不支持HPET也不會造成問題,因爲它會自動用8254替換。

Symmetric multi-processing support
這個也不用多講了吧,如果你使用多處理器系統就選吧,如果你和我一樣使用一個單CPU系統還是把它請出去吧。

( Maximum number of CPUs (2-255)
這裏用來配置讓Linux最多支持幾路CPU,根據你的需要選擇。

Preemptible Kernel
這可是個新特性,幾乎所有介紹2.6的文章都會提到,這就是可搶先式內核。也就是說被一些優先級很高的程序可以先與一些低優先級的程序執行,即使這些程序是在覈心態下執行(這實際上仍然不是真正的搶先式內核)。從而減少內核潛伏期,提高系統的響應。當然在一些特殊的點的內核是不可搶先的,比如內核中的調度程序自身在執行時就是不可被搶先的。這個特性可以提高桌面系統、實時系統的性能,所以還是選上吧。

Machine Check Exception
如果你的系統出現一些問題比如CPU過熱,內核將會在屏幕上打印相關信息來提醒你。這個功能是需要硬件支持的。你可以查看/proc/cpuinfo看看是否有mce標誌,有的話就選吧。如果你十分十分的不幸,選了它之後出現問題,可以在啓動時加nomce參數來關閉它。

Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4
打開這個選項將會檢查你機器上可能存在的問題,如果有一個非致命錯誤出現將會自動的修復並且記錄,這可以幫助你查出程序出現問題的原因,是一個不錯的選項,當然它只能用在AMD Athlon/Duron / Intel Pentium 4這類CPU上。如果你正好在用它們中的一個你就選吧。

check for P4 thermal throttling interrupt.
如果打開這個選項,在P4的CPU溫度過高(也就是P4的溫控裝置起作用)時會在屏幕上顯示出相關的信息,根據你的情況選擇吧。

< > Toshiba Laptop support
這個選項是針對Toshiba筆記本的,可以用來訪問Toshiba的系統管理模式,也就是可以直接設置BIOS。不過要注意它只在Toshiba自己的 BIOS中起作用。假如你有一臺Toshiba筆記本,可惜它的BIOS是Phoenix的,那這個選項仍然是梁山軍師----無用:)

< > Dell laptop support
這個同上面的選項基本相同,自己看着辦吧:)

< > /dev/cpu/microcode - Intel IA32 CPU microcode support
這個選項將讓你可以更新Intel IA32系列處理器的微代碼,當然你還必須在文件系統選項中選擇devfs才能正常的使用它。如果你把它譯爲模塊你還需要在modprobe.conf中加上這一行alias char-major-10-184 microcode
內核本身並不帶有微代碼的二進制文件,你可以到這個網址去得到新的信息

< > /dev/cpu/*/msr - Model-specific register support
這個選項桌面用戶一般用不到,它主要用在Intel的嵌入式CPU中的,這個寄存器的作用也依賴與不同的CPU類型而有所不同,一般可以用來改變一些CPU原有物理結構的用途,但不同的CPU用途差別也很大。

< > /dev/cpu/*/cpuid - CPU information support
這會在/dev/cpu中建立一系列的設備文件,用以讓過程去訪問指定的CPU。一般不用選。

< > BIOS Enhanced Disk Drive calls determine boot disk (EXPERIMENTAL)
這將可以打開實模式下BIOS中的增強磁盤設備服務,以決定從哪個磁盤上啓動。這一般是安全的,不過大多數BIOS提供商都沒有實現這個特性。

High Memory Support (off)
如果你有大容量的內存(超過4G)你要選它,以使內核可以使用這部分內存。偶是沒這命啦這部分永遠爲OFF,如果你有你就ON吧。

[ ] Math emulation
在你的CPU上如果沒有數學協處理器的話,打開這個選項可以讓內核模擬一個,以提升浮點計算能力,不過慢的可以。如果你使用的不是古董CPU的話(486SX以前的)這一項你永遠都不需要。

MTRR (Memory Type Range Register)support
在Intel p6家族的處理器中(Ppro、 PII和更新的)有一個內存類型範圍寄存器,可用來控制處理器訪問的內存範圍。打開它一般可以提升顯卡的顯示性能,所以我們當然要在這說Y嘍:)

第五項 Power management options (ACPI, APM)(高級電源管理)

Power Management support
如果你想讓你的Linux支持高級電源管理(也就是平常我們說的軟關機、系統休眠等)需要選擇它。

[ ] Software Suspend (EXPERIMENTAL)
選擇這個選項你可以掛起你的計算機(有點象XP中的休眠),打開這項功能後,你可以使用swsusp或者shutdown -z 來掛起你的計算機。這樣系統會將你當前正在進行的工作(也就是當前內存中的內容)作成一個鏡象保存到你的交換分區中,在你下一次啓動時使用啓動參數 “resume=/dev/你的交換分區”,內核就會將上一次的工作內核從鏡象文件中恢復到內存,這可以大大提高系統的啓動速度。當你不想恢復上次的工作時向內核傳遞參數“noresume"。不過系統啓動後你的交換分區將不可以使用,你可以使用mkswap命令來重新格式化你的交換分區。這個功能不需要高級電源管理的支持。很不錯的功能,我一直有用,大家也來試試吧:)

[ ] Suspend-to-Disk Support
這個選項與上面的功能基本相同,不過更靈活一些,可以通過下面的子選項來指定一個專用的交換分區來保存內存鏡象。

() Default resume partition

與上面的選項配合,來指定保存鏡象的分區。

ACPI (Advanced Configuration and Power Interface) Support --->
從這裏進入ACPI電源管理的配置界面,要注意ACPI與APM不能同時使用,如果你同時配置了這兩者,那麼在系統啓動時如果發現一個可工作的ACPI設備那麼APM將被關閉,ACPI會被加載:

ACPI Support
這個選項應該不用我多說了,要想讓你的系統使用ACPI來管理你的電源就要選上它,另外要想讓它起作用,你還要在系統中安裝acpid守護程序。

Sleep States (EXPERIMENTAL)
選擇這個選項可以使你的系統具有掛起的功能,也就是說你可以暫時中斷你的工作,讓你的系統處與一種低電能消耗的狀態(sleep state),你此時的系統狀態會保存在內存或者磁盤上(取決於掛起的深度),當你需要時再恢復到正常的工作狀態。但由於各種系統之間的差別,目前這項功能並不完善。只有很少的設備可以完美的支持這個特性,所以不建議一般用戶使用它。

< > AC Adapter
這是用來支持移動系統中的交流適配器的,以指示當前系統是不是在使用交流電,對於臺式機不需要這個選項。

< > Battery
這個選項用於通過/proc/acpi/battery來向用戶提供移動系統中的電池狀態信息。同上面那個選項一樣對臺式機沒有作用。

<*> Button
這個選項用於註冊基於電源按鈕的事件,比如power, sleep等,當你按下按鈕時事件將發生,一個守護程序將讀取/proc/acpi/event,並執行用戶在這些事件上定義的動作比如讓系統關機。

<*> Fan
這個選項提供對系統風扇的控制支持,可以通過用戶層的程序來對系統風扇進行控制(比如打開,關閉,讀取當前風扇的運行狀態等,不過只有極少數的硬件支持它)。

<*> Processor
打開這個選項將讓你的系統具有處理IDIE狀態的能力,也就是說可以讓你的處理器在空閒時節省電能。個人認爲這個選項是一定要選的。

<*> Thermal Zone
當你的系統溫度過高時,ACPI可以利用這個選項來控制你的系統,及時調整系統的工作狀態以保護你的CPU,非常棒的一個特性一定要選呀,要不然也就不用使用ACPI了。(當然這需要硬件的支持)

< > ASUS/Medion Laptop Extras
這主要是爲ASUS生產的筆記本電腦準備的,以提供對這些系統上那些額外的按鈕們的支持,用戶可以通過它們來打開或者關閉LCD的背光,調整亮度、定製LED的閃爍指示等功能。用戶可以通過/proc/acpi/asus來改變這些設置。

< > Toshiba Laptop Extras
這個選項是對Toshiba筆記本提供特別支持的,它的作用同上面的選項基本相同,如果你有一臺這樣的本本的話就選它吧。

[ ] Debug Statements
如果選擇它當ACPI出現錯誤時會打印出詳細的信息,這將會增加內核的體積大約50k,如果沒有必要還是不要選它吧。

[ ] Relaxed AML
選擇它的話ACPI翻譯器將會放鬆對AML的錯誤檢查,一些筆記本電腦可能需要它才能正常的使用ACPI(一些糟糕的桌面機可能也需要它,如果你的系統使用ACPI時出現問題不妨選上它試試)
PM (Advanced Power Management) BIOS Support --->
CPU Frequency scaling --->

第一部分
01、Code maturity level options ---> 代碼成熟等級選項
01.01、[ ] Prompt for development and/or incomplete code/drivers 默認情況下是選擇的,這將會在設置界面中顯示還在開發或者還沒有完成的代碼與驅動.你應該選擇它,因爲有許多設備可能必需選擇這個選項才能進行配置,實際上它是安全的。
01.02、[ ] Select only drivers expected to compile cleanly 選擇這個選項你將不會看到一些已知的存在問題的驅動程序選項,默認的情況下也是選擇的。如果你有設備沒有找到驅動選項,你可以將這一項去掉,或許就可以找到相關驅動了,不過它可能是有BUG的。

第二部分
02、General setup ---> 常規安裝選項
02.01、() Local version - append to kernel release
02.02、
Support for paging of anonymous memory (swap) 這個選項將使你的內核支持虛擬內存,也就是讓你的計算機好象擁有比實際內存更多 多的內存空間用來執行很大的程序。默認是選擇的。
02.03、
System V IPC (IPC:Inter Process Communication)是組系統調用及函數庫,它能讓程序彼此間同步進行交換信息。某些程序以及DOS模擬環境都需要它。爲進程提供通信機制,這將使系統中各進程間有交換信息與保持同步的能力。有些程序只有在選Y的情況下才能運行,所以不用考慮,這裏一定要選。
02.04、
BSD Process Accounting 一般用戶所執行的程序,可通知內核將程序統計數據寫成文件,詳細記錄相關信息。
02.05、[ ] BSD Process Accounting version 3 file format
02.06、
Sysctl support 此項功能可在不重新編譯內核或是重新開機的前提下,動態變更某些特定的內核參數和變量,賦予內核較大的彈性。除非內存太少或是編譯出來的內核是給安裝、救援磁盤所使用,否則這個選項一定要選上。這將提供一個接口讓你可以動態的更改一些核心參數與變量,而不需要重新啓動系統。打開這個選項將會增加內核的體積至少8KB。如果你的內核僅用製作安裝與恢復系統系統盤那麼可以不選,以減少對內存的佔用。
02.07、
Auditing support 審記支持,用於和內核的某些子模塊同時工作,例如SELinux。只有選擇此項及它的子項,才能調用有關審記的系統調用。
02.08、
Enable system-call auditing support
--- Support for hot-pluggable devices 是否支持熱插拔的選項,肯定要選上。不然USB、PCMCIA等這些設備都用不了。
02.09、
Kernel Userspace Events內核中分爲系統區和用戶區,這裏系統區和用戶區進行通訊的一種方式,選上。
02.10、[ ] Kernel .config support 這將會把內核的配置信息與相關的文檔說明編譯進內核中,以後可以使用一些工具來提取它用來重新構建內核,一般不用選它。
02.11、[ ] Configure standard kernel features (for small systems) ---> 這是爲了編譯某些特殊用途的內核使用的,例如引導盤系統。通常你可以不選擇這一選項,你也不用對它下面的子項操心了。

第三部分
03、Loadable module support ---> 可引導模塊支持 建議作爲模塊加入內核
03.01、
Enable loadable module support 這個選項可以讓你的內核支持模塊,模塊是什麼呢?模塊是一小段代碼,編譯後可在系統內核運行時動態的加入內核,從而爲內核增加一些特性或是對某種硬件進行支持。一般一些不常用到的驅動或特性可以編譯爲模塊以減少內核的體積。在運行時可以使用modprobe命令來加載它到內核中去(在不需要時還可以移除它)。一些特性是否編譯爲模塊的原則是,不常使用的,特別是在系統啓動時不需要的驅動可以將其編譯爲模塊,如果是一些在系統啓動時就要用到的驅動比如說文件系統,系統總線的支持就不要編爲模塊了,否在無法啓動系統。
03.02、
Module unloading 這個選項可以讓你卸載不再使用的模塊,如果不選的話你將不能卸載任何模塊(有些模塊一旦加載就不能卸載,不管是否選擇了這個選項)。不選擇這個選項會讓你的內核體積減小一點。
03.03、[ ] Source checksum for all modules這個功能是爲了防止更改了內核模塊的代碼但忘記更改版本號而造成版本衝突。我估計現在沒有哪家公司在開發中還沒使用版本控制工具,所以不需要這項了。如果你不是自己寫內核模塊,那就更不需要這一選項了。
03.04、
Automatic kernel module loading 一般情況下,如果我們的內核在某些任務中要使用一些被編譯爲模塊的驅動或特性時,我們要先使用modprobe命令來加載它,內核才能使用。不過,如果你選擇了這個選項,在內核需要一些模塊時它可以自動調用modprobe命令來加載需要的模塊,這是個很棒的特性,當然要選Y嘍。

第四部分
04、Processor type and features ---> 處理器類型
04.01、Subarchitecture Type (PC-compatible) ---> 這選項的主要的目的,是使Linux可以支持多種PC標準,一般我們使用的PC機是遵循所謂IBM兼容結構(pc/at)。這個選項可以讓你選擇一些其它架構。我們一般選擇PC-compatible就可以了。
04.01.01、(X) PC-compatible 就在這裏選PC模式。
04.01.02、( ) AMD Elan
04.01.03、( ) Voyager (NCR)
04.01.04、( ) NUMAQ (IBM/Sequent)
04.01.05、( ) SGI 320/540 (Visual Workstation)
04.02、Processor family (Pentium-Pro) ---> CPU選項 這裏針對自己的CPU型號,選取相應的選項。
04.02.01、( ) 386
04.02.02、( ) 486
04.02.03、( ) 586/K5/5x86/6x86/6x86MX
04.02.04、( ) Pentium-Classic
04.02.05、( ) Pentium-MMX
04.02.06、( ) Pentium-Pro
04.02.07、( ) Pentium-II/Celeron(pre-Coppermine)
04.02.07、( ) Pentium-III/Celeron(Coppermine)/Pentium-III Xeon
04.02.08、( ) Pentium M
04.02.09、( ) Pentium-4/Celeron(P4-based)/Pentium-4 M/Xeon
04.02.10、( ) K6/K6-II/K6-III
04.02.11、(x) Athlon/Duron/K7 我使用的CPU是Athlon XP2000+,所以選上這項。
04.02.12、( ) Opteron/Athlon64/Hammer/K8
04.02.13、( ) Crusoe
04.02.14、( ) Efficeon
04.02.15、( ) Winchip-C6
04.02.16、( ) Winchip-2
04.02.17、( ) Winchip-2A/Winchip-3
04.02.18、( ) GeodeGX1
04.02.19、( ) CyrixIII/VIA-C3
04.02.20、( ) VIA C3-2 (Nehemiah)
04.03、[ ] Generic x86 support 這個選項提供了對X86系列CPU最大的兼容性,用來支持一些很少見的x86體系的CPU,它可能會降低一些系統性能。如果你的CPU能夠在上面的列表中找到,就裏就不用選了。
04.04、
HPET Timer Support 這也是一個新的特性,HPET是intel制定的新的用以代替傳統的8254(PIT)中斷定時器與RTC的定時器,全稱叫作高精度事件定時器。如果你有一臺較新的機器就選它吧,一般它是一個安全的選項,即使你的硬件不支持HPET也不會造成問題,因爲它會自動用8254替換。
04.05、[ ] Provide RTC interrupt There is no help available for this kernel option.
04.06、[ ] Symmetric multi-processing support 支持多處理器選項。如果只使用單CPU,那麼得關閉。
04.07、
Preemptible Kernel 這可是個新特性,幾乎所有介紹2.6的文章都會提到,這就是可搶先式內核。也就是說被一些優先級很高的程序可以先與一些低優先級的程序執行,即使這些程序是在覈心態下執行(這實際上仍然不是真正的搶先式內核)。從而減少內核潛伏期,提高系統的響應。當然在一些特殊的點的內核是不可搶先的,比如內核中的調度程序自身在執行時就是不可被搶先的。這個特性可以提高桌面系統、實時系統的性能,所以還是選上吧。
04.08、[ ] Local APIC support on uniprocessors
04.09、
Machine Check Exception 如果系統出現一些問題比如CPU過熱,內核將會在屏幕上打印相關信息來提醒你。這個功能是需要硬件支持的。你可以查看/proc/cpuinfo看看是否有mce標誌,有的話就選吧。如果你十分十分的不幸,選了它之後出現問題,可以在啓動時加nomce參數來關閉它。
04.10、<*> Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4 打開這個選項將會檢查你機器上可能存在的問題,如果有一個非致命錯誤出現將會自動的修復並且記錄,這可以幫助你查出程序出現問題的原因,是一個不錯的選項。當然它只能用在AMD Athlon/Duron / Intel Pentium 4這類CPU上。如果你正好在用它們中的一個你就選吧。
04.11、< > Toshiba Laptop support 東芝筆記本支持。這個選項是針對Toshiba筆記本的,可以用來訪問Toshiba的系統管理模式,也就是可以直接設置BIOS。不過要注意它只在Toshiba自己的 BIOS中起作用。假如你有一臺Toshiba筆記本,可惜它的BIOS是Phoenix的,那這個選項仍然是無用的。臺式機就關閉!
04.12、< > Dell laptop support DELL筆記本支持。功能如上面,臺式機就關閉!
04.13、[ ] Enable X86 board specific fixups for reboot
04.14、< > /dev/cpu/microcode - Intel IA32 CPU microcode support 是否支持Intel IA32架構的CPU(Xeon)?這個選項將讓你可以更新Intel IA32系列處理器的微代碼,當然你還必須在文件系統選項中選擇devfs才能正常的使用它。如果你把它譯爲模塊你還需要在modprobe.conf中加上這一行alias char-major-10-184 microcode 內核本身並不帶有微代碼的二進制文件,你可以到這個網址去得到新的信息http://www.urbanmyth.org/microcode/
04.15、 /dev/cpu/*/msr - Model-specific register support 是否打開Pentium CPU特殊功能寄存器的功能?這個選項桌面用戶一般用不到,它主要用在Intel的嵌入式CPU中的,這個寄存器的作用也依賴與不同的CPU類型而有所不同,一般可以用來改變一些CPU原有物理結構的用途,但不同的CPU用途差別也很大。
04.16、 /dev/cpu/*/cpuid - CPU information support 是否打開記錄Petium CPU相關信息功能?這會在/dev/cpu中建立一系列的設備文件,用以讓過程去訪問指定的CPU。一般不用選。
04.17、Firmware Drivers --->
04.18、High Memory Support (4GB) ---> 高容量內存支持
04.18.01、(x) off 我用512M內存,選用這項。
04.18.02、( ) 4GB
04.18.03、( ) 64GB
04.19、
Allocate 3rd-level pagetables from highmem除非有幾G的內存,否則選擇這個是沒有意義的。
04.20、[ ] Math emulation Linux核心模擬數學浮點運算器,協處理器是在386時代的寵兒,現在早已下崗。
04.21、
MTRR (Memory Type Range Register) support 在PCI或者AGP總線衆進行更快速的通訊。 由於現在所有系統都將它們的顯卡接在PCI或AGP總線上,你通常需要選擇“MTRR”。無論如何,打開這個選項通常都是安全的——即使你的機器沒有使用PCI或AGP總線的顯卡。
04.22、[ ] Boot from EFI support (EXPERIMENTAL) 由於我使用的是GRUB,所以選上這個也沒什麼用,如果你打算使用EFI的功能,你可以到http://elilo.sourceforge.net看看。
04.23、
Enable seccomp to safely compute untrusted bytecode

第五部分
05、Power management options (ACPI, APM) ---> 電源管理選項
05.01、
Power Management support
05.02、[ ] Power Management Debug Support 電源管理的調試信息支持,如果不是要調試內核有關電源管理部份,請不要選擇這項。
05.03、ACPI (Advanced Configuration and Power Interface) Support ---> Some kernel features may be built directly into the kernel. Some may be made into loadable runtime modules. Some features may be completely removed altogether. There are also certain kernel parameters which are not really features, but must be entered in as decimal or hexadecimal numbers or possibly text.
Menu items beginning with
, or [ ] represent features configured to be built in, modularized or removed respectively. Pointed brackets <> represent module capable features.
To change any of these features, highlight it with the cursor keys and press to build it in, to make it a module or to removed it. You may also press the to cycle through the available options (ie. Y->N->M->Y).
05.03.01、
ACPI Support 高級電源接口配置支持,如果BIOS支持,建議選上這項。
05.03.02、< > AC Adapter 電源適配器
05.03.03、< > Battery 電池
05.03.04、 Button
05.03.05、<*> Fan 風扇
05.03.06、<*> Processor 處理器
05.03.07、<*> Thermal Zone 據說大部份的臺式機和筆記本都支持,不選還可能把處理器燒掉。如果你不會讓模塊正常工作,還是把它編進內核吧,怪嚇人的。
05.03.08、< > ASUS/Medion Laptop Extras 華碩筆記本擴展支持,建議關閉
05.03.09、< > IBM ThinkPad Laptop Extras IBM筆記本擴展支持,建議關閉
05.03.10、< > Toshiba Laptop Extras Toshiba筆記本擴展支持,建議關閉
(2001) Disable ACPI for systems before Jan 1st this year
05.04、[ ] Debug Statements詳細的ACPI調試信息,不搞開發就別選。
05.05、APM (Advanced Power Management) BIOS Support --->
05.05.01、<*> APM (Advanced Power Management) BIOS support
05.05.02、[ ] Ignore USER SUSPEND 忽略用戶暫停請求。建議關閉
05.05.03、[ ] Enable PM at boot time 開機時節能,這項就不用了,建議關閉。
05.05.04、
Make CPU Idle calls when idle CPU空閒時節能
05.05.05、[ ] Enable console blanking using APM 空閒時console轉成空白,建議關閉。
05.05.06、[ ] RTC stores time in GMT 按Unix的標準,硬件的時鐘應該設爲格林威治時間。如果要硬件時鐘設成了本地時間,這個選項就不用了。
05.05.07、[ ] Allow interrupts during APM BIOS calls 允許APM的BIOS調用時中斷。多數的機器不需要這項,Thinkpad的一些新機器需要這項。如果休眠時掛機(包括睡下去就醒不來),再把這項選上。
05.05.08、[ ] Use real mode APM BIOS call to power off 建議最好選上此項,保證軟件關機。如果你有興趣可以試試你的機器不選這項能不能正常的軟件關機(多數機器不能)。補充一點,如果既選擇了ACPI又選擇了APM,先加載的將被使用。
05.06、CPU Frequency scaling ---> 這一選項允許改變CPU的主頻,使CPU在低負荷或使用電池時降低主頻,達到省電的目的。
05.06.01、
CPU Frequency scaling
05.06.02、
Enable CPUfreq debugging 是否允許調試CPU改變主頻的功能,如果要調試,還需要在啓動時加上參數。cpufreq.debug= 1:變頻技術的內核調試 2:變頻技術的驅動調試 3:變頻技術的調節器調試
05.06.03、 CPU frequency translation statistics
05.06.04、
CPU frequency translation statistics details
05.06.05、Default CPUFreq governor (performance) ---> 默認的主頻調節,圓括號內的是你選擇的結果,這裏表示以性能爲主。
05.06.06.01、(X) performance
05.06.06.02、() userspace
05.06.07、<*> 'performance' governor
05.06.08、 'powersave' governor 最大限度的節約電能調節器。
--- 'userspace' governor for userspace frequency scaling 用戶自定義調節器。
05.06.09、 'ondemand' cpufreq policy governor 自動調節主頻。
05.06.10、 'conservative' cpufreq governor
--- CPUFreq processor drivers
05.06.11、 ACPI Processor P-States driver 報告處理器的狀態。
05.06.12、< > AMD Mobile K6-2/K6-3 PowerNow! AMD移動版K6處理器的變頻驅動。
05.06.13、< > AMD Mobile Athlon/Duron PowerNow! AMD移動版毒龍、雷烏的變頻驅動。
05.06.14、< > Cyrix MediaGX/NatSemi Geode Suspend Modulation Cyrix處理器的變頻驅動。
05.06.15、< > Intel Enhanced SpeedStep Intel的變頻技術支持。
05.06.16、
Use ACPI tables to decode valid frequency/voltage pairs 使用BIOS中的主頻/電壓參數。
05.06.17、[ ] Built-in tables for Banias CPUs 迅馳一代的主頻/電壓參數。
05.06.18、< > Intel Speedstep on ICH-M chipsets (ioport interface) Intel ICH-M南橋芯片組的支持。
05.06.19、< > Intel Pentium 4 clock modulation P4處理器的時鐘模塊支持。
05.06.20、< > Transmeta LongRun Transmeta處理器的支持。
05.06.21、< > VIA Cyrix III Longhaul VIA Cyrix處理器的支持。
--- shared options
05.06.22、[ ] /proc/acpi/processor/../performance interface (deprecated) 從/proc/acpi/processor/../performance獲得CPU的變頻信息。
05.06.23、[ ] Relaxed speedstep capability checks 不全面檢測Intel Speedstep,有的系統雖然支持Speedstep技術,卻無法通過全面的檢測。

第六部分
06、Bus options (PCI, PCMCIA, EISA, MCA, ISA) ---> 總線選項
06.01、
PCI support
06.02、PCI access mode (Any) ---> PCI外圍設備配置,強列建議選Any,系統將優先使用MMConfig,然後使用BIOS,最後使用Direct檢測PCI設備。
06.02.01、( )BIOS
06.02.02、( )MMConfig
06.02.03、( )Direct
06.02.04、(X)Any 選用Any,系統會先嚐試直接設置,倘若失敗便會退回啓用BIOS設置。
06.03、[ ] PCI Express support PCIE支持
06.04、
Legacy /proc/pci interface 是否使用/proc/pci目錄下的信息文件來描述PCI設備的信息。現在的系統多數都使用lspci工具來得到這樣的信息。
06.05、
PCI device name database 如果你不打算使用lspci工具,就把這項和上面的一項選上。lspci和hotplug都不需要內核中的設備信息庫了。
06.06、[ ] PCI Debugging
06.07、[ ] ISA support ISA總路,現已淘汰,建議關閉。是否使用工業總線。如果你沒有老式的ISA設備,可以不選這項。現在基本上都沒有ISA的設備了。不過需要注意的是如果你做嵌入式系統的開發,一些PC104的總線可能會橋接到EISA或者是。VESA總線上。
06.08、[ ] EISA support 擴展ISA總路,早期計算機上的總路,現已淘汰,建議關閉。
06.09、[ ] MCA support IBM PS/2上的總線,現已淘汰,建議關閉。微通道總線。IBM的臺式機和筆記本上可能會有這種總線,包括它的p系列、e系列、z系列機器上都用到了這種總線。
06.10、< > NatSemi SCx200 support 這個我不知道是什麼東西,看幫助是松下的一種半導體處理器的驅動。
06.11、PCCARD (PCMCIA/CardBus) support ---> 一般只有筆記本電腦上纔會有PCMCIA插槽,如果你是臺式機的話,可以不選這一項,然後跳過這一部份。
06.11.01、 PCCard (PCMCIA/CardBus) support
06.11.02、[ ] Enable PCCARD debugging 調試PCMCIA設備,除非你是設備驅動的開發人員,否則關閉。
06.11.03、 16-bit PCMCIA support 16位的PCMCIA總線支持。
06.11.04、
32-bit CardBus support 32位的PCMCIA總線支持,通常也叫PCMCIA II總線。
--- PC-card bridges 下面的是不同產家的PCMCIA芯片的驅動支持,如果你知道你的本本用的是什麼芯片組的話,可以只選它而不選其它的。要是你不知道,可以全部選上,然後用modprobe一種一種的試。
06.11.04.01、 CardBus yenta-compatible bridge support
06.11.04.02、 Cirrus PD6729 compatible bridge support
06.11.04.03、 i82092 compatible bridge support
06.11.04.04、 Databook TCIC host bridge support
06.12、PCI Hotplug Support ---> PCI熱插撥支持。一般來講只有服務器上會有熱插拔的設備,如果你使用的是臺式機,你可以不選擇此項並跳過這一部份。其實我也沒有選這一項,只是爲了講解的方便而選上的。
06.12.01、Fake PCI Hotplug driver (NEW),選上這一選項能讓你的機器模擬PCI熱插拔。注意,它並不是真正意義上的熱插拔,決對不允許帶電插拔設備除非你的主板上集成了PCI熱插拔芯片並且你的PCI設備本身支持熱插拔。
06.12.02、Compaq PCI Hotplug driver (NEW),Compaq服務器上的熱插拔芯片組的支持。
06.12.03、IBM PCI Hotplug driver (NEW),IBM服務器上的熱插拔芯片組的支持。
06.12.04、ACPI PCI Hotplug driver (NEW),PCI熱插拔設備是否支持ACPI電源管理(一般來說都是支持的)。
06.12.05、CompactPCI Hotplug driver (NEW),精簡PCI總線的熱插拔設備的支持,通常在嵌入式系統中會用到精簡PCI總線。
06.12.06、PCI Express Hotplug driver (NEW),PCI加速總線的熱插拔設備的支持。現在PCI Express總線的顯卡挺火的。
06.12.07、SHPC PCI Hotplug driver (NEW),SHPC熱插拔控制芯片的支持。

第七部分
07、Executable file formats --->
07.01、
Kernel support for ELF binaries ELF是開放平臺下最常用的二進制文件,它支持不同的硬件平臺。
07.02、< > Kernel support for a.out and ECOFF binaries 這是早期UNIX系統的可執行文件格式,目前已經被ELF格式取代。
07.03、< > Kernel support for MISC binaries此選項允許插入二進制的封裝層到內核中,當使用Java、.NET、Python、Lisp等語言編寫的程序時非常有用。

第八部分
08、Device Drivers ---> 設備驅動
08.01、Generic Driver Options ---> 常規設備選項
08.01.01、
Prevent firmware from being built
08.01.02、 Hotplug firmware loading support
08.02、Memory Technology Devices (MTD) --->
08.02.01、 Memory Technology Device (MTD) support
08.02.02、[ ] Debugging
08.02.03、 MTD concatenating support
08.02.04、
MTD partitioning support
08.02.05、 RedBoot partition table parsing
(-1) Location of RedBoot partition table
08.02.06、[ ] Include unallocated flash regions
08.02.07、[ ] Force read-only for RedBoot system images
08.02.08、
Command line partition table parsing
--- User Modules And Translation Layers
08.02.09、 Direct char device access to MTD devices
08.02.10、 Caching block device access to MTD devices
08.02.11、 Readonly block device access to MTD devices
08.02.12、 FTL (Flash Translation Layer) support
08.02.13、 NFTL (NAND Flash Translation Layer) support
08.03、Parallel port support ---> 並行端口支持(用於打印機、並行端口外接式ZIP磁盤機等設備)
08.03.01、< > Parallel port support
08.03.02、< > PC-style hardware
08.03.03、< > Multi-IO cards (parallel and serial)
08.03.04、[ ] IEEE 1284 transfer modes
08.04、Plug and Play support ---> 即插即用支持
08.04.01、
Plug and Play support
08.04.02、[ ] PnP Debug Messages
08.05、Block devices ---> 塊設備
08.05.01、< > Normal floppy disk support 軟驅支持
08.05.02、< > Compaq SMART2 support Compaq SMART2 Array磁盤陣列控制卡
08.05.03、< > Compaq Smart Array 5xxx support Compaq SMART2 Array 5xxx系列的磁盤陣列控制卡
08.05.04、[ ] SCSI tape drive support for Smart Array 5xxx Smart Array 5xxx系列的SCSI磁帶設備支持
08.05.05、< > Mylex DAC960/DAC1100 PCI RAID Controller support
08.05.06、<*> Loopback device support 把文件當成區塊設備使用,例如掛載ISO9660的光盤映像文件!
08.05.07、< > Cryptoloop Support
08.05.08、< > Network block device support 網絡塊設備支持
08.05.09、< > Promise SATA SX8 support
08.05.10、< > Low Performance USB Block driver
08.05.11、<*> RAM disk support 這裏一定要選上!!!!!否則會出現:
VFS:Cannot open root device "hdb2" or unknow-block(0,0)
Please append a correct "root=" boot option
kernel panic-not syncing: VFS:Unable to mount root fs on unknow-block(0,0) 這種故障現象!
(16) Default number of RAM disks
(16384) Default RAM disk size (kbytes)

發佈了1 篇原創文章 · 獲贊 2 · 訪問量 29萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章