基於Linux Kernel v2.6.36-gentoo-r5
General setup --->
[*] Prompt for development and/or incomplete code/drivers
//預設情況下是選擇的,這將會在設定介面中顯示還在開發或者還沒有完成的代碼與驅動.你應該選擇它,因為有許多裝置可能必需選擇這個選項才能進行配置,實際上它是安全的。
() Cross-compiler tool prefix
//交叉編譯工具首碼,如果你要使用交叉編譯工具的話輸入相關首碼。預設不使用。不需要
() Local version - append to kernel release
//自訂版本,也就是uname -r可以看到的版本,可以自行修改,這裡我沒有使用,沒多大意義。
[ ] Automatically append version information to the version string
//自動產生版本資訊。這個選項會自動探測你的核心並且產生相應的版本,使之不會和原先的重複。這需要Perl的支援。由於在編譯的命令make-kpkg 中我們會加入- – append-to-version 選項來產生自訂版本,所以這裡選N。
Kernel compression mode (Gzip) --->
//有四個選項,這個選項是說核心鏡像要用的壓縮模式,斷行符號一下,可以看到gzip,bzip2,lzma,lxo,一般可以按預設的gzip,如果要用bzip2,lzma,lzo,要先安裝相關解壓縮工具
[*] Support for paging of anonymous memory (swap)
//使你的核心支援虛擬記憶體
[*] System V IPC
//為進程提供通訊機制,這將使系統中各進程間有交換資訊與保持同步的能力。有些程式只有在選Y的情況下才能運行,所以不用考慮,這裡一定要選。
[*] POSIX Message Queues
//這是POSIX的訊息佇列,它同樣是一種IPC。建議你最好將它選上。
[*] BSD Process Accounting
//這是允許使用者進程訪問核心,將賬戶資訊寫入檔案中。這通常被認為是個好主意,建議你最好將它選上。將進程的統計資訊寫入檔案的使用者級系統調用,主要包括進程的建立時間/建立者/記憶體佔用等資訊。
[*] BSD Process Accounting version 3 file format
//選用的話統計資訊將會以新的格式(V3)寫入,這格式包含進程ID和父進程。注意這個格式和以前的 v0/v1/v2 格式不相容,所以你需要 升級相關工具來使用它。選不選均可。
[*] Export task/process statistics through netlink (EXPERIMENTAL)
//處於實驗階段的功能。通過通用的網路輸出工作/進程的相應資料,和BSD不同的是,這些資料在進程啟動並執行時候就可以通過相關命令訪問。和BSD類似,資料將在進程結束時送入使用者空間。如果不清楚,選N。
[*] Enable per-task delay accounting (EXPERIMENTAL)
//在統計資訊中包含進程等候系統資源(cpu,IO同步,記憶體交換等)所花費的時間
[*] Enable extended accounting over taskstats (EXPERIMENTAL)
//在統計資訊中包含擴充進程所花費的時間
[*] Enable per-task storage I/O accounting (EXPERIMENTAL)
//在統計資訊中包含I/O儲存進程所花費的時間
[]Auditing suppor
//審計支援,某些核心模組(例如SELinux)需要它,只有同時選擇其子項才能對系統調用進行審計,不選。
RCU Subsystem --->
//一個高效能的鎖機制RCU 子系統,不懂不瞭解,按預設吧。
<*> Kernel .config support
//將.config配置資訊儲存在核心中,選上它及它的子項使得其它使用者能從/proc中得到核心的配置,選上,重新設定核心時可以利用已有配置
[*] Enable access to .config through /proc/config.gz
(15)Kernel log buffer size:核心日誌緩衝的大小,使用預設值即可。12 => 4 KB,13 => 8 KB,14 => 16 KB單一處理器,15 => 32 KB多處理器,16 => 64 KB for x86 NUMAQ or IA-64,17 => 128 KB for S/390。
[*]Control Group support --->
//資訊暫無,使用預設
[ ] enable deprecated sysfs features to support old userspace tools
//在某些檔案系統上(比如debugfs)提供從核心空間向使用者空間傳遞大量資料的介面,不選吧。
-*- Kernel->user space relay support (formerly relayfs)
-*- Namespaces support
//命名空間支援,允許伺服器為不同的使用者資訊提供不 同的使用者名稱空間服務,如果不是很清楚的話,按照預設吧
[ ] UTS namespace
//通用終端系統的命名空間。它允許容器,比如Vservers利用UTS命名空間來為不同的伺服器提供不同 的UTS。
[ ] IPC namespace
//IPC命名空間,不確定可以不選
[*] User namespace (EXPERIMENTAL)
[*] PID Namespaces (EXPERIMENTAL)
[ ] Network namespace
[ ] Initial RAM filesystem and RAM disk (initramfs/initrd) support
//初始RAM的檔案和RAM磁碟( initramfs /initrd)支援(如果要採用initrd啟動則要選擇,否則可以不選),不需要,不用選。
[ ] Optimize for size
//這個選項將在GCC命令後用 “-Os” 代替 “-O2″參數,這樣可以得到更小的核心。沒必要選。一個編譯好的核心才7-10多M。選上了可能會出一些問題。最好不選。有時會產生錯誤的二進位代碼。當然,如果是做嵌入式開發另當別論。
[ ] Configure standard kernel features (for small systems) --->
//這是為了編譯某些特殊的核心使用的,例如引導盤,通常你可以不選擇這一選項,你也不用對它下面的子項操心了。
Kernel Performance Events And Counters --->
[ ] Disable heap randomization
//禁用隨機heap(heap堆是一個應用程式層的概念,即堆對CPU是不可見的,它的實現方式有多種,可以由OS 實現,也可以由運行庫實現,如果你願意,你也可以在一個棧中來實現一個堆),選不選均可。
Choose SLAB allocator (SLUB (Unqueued Allocator)) -->
//選擇記憶體配置管 理器(強烈推薦使用SLUB)
( ) SLAB
//各種環境通用的記憶體配置管理器
(X) SLUB (Unqueued Allocator)
//更加優秀的記憶體配置管理器
[*] Profiling support
//剖面支援,用一個工具來掃描和提供電腦的剖面圖。支援系統評測(對於大多數使用者來說並不是必須的)
< > OProfile system profiling
//OProfile評測和效能監控工具,選不選均可,我沒選。
[ ] Kprobes
//調試核心,除非核心開發人員,否則不選
GCOV-based kernel profiling --->
//預設即可