[转]inux Kernel部分选项意义
轉自:http://hi.baidu.com/xtyangjie/item/b23b673bfa8ef4c7382ffa78
inux Kernel部分選項意義
Processor type and features
High Resolution Timer Support [*]
高頻率時鐘支持。看到網上很多資料說多數PC并不支持這個,感到不解。后來在這個頁面找到了測試方法:
http://www.songho.ca/misc/timer/timer.html
基本clock()函數和HRT函數獲得的精度如果不同,說明你的機器支持HRT(當然前提是測試運行在你的內核編入了這個選項的基礎上)。我的測試結果是(100/500k次{整形變量后置自增, cerr空字符串輸出} + 一個clock()/gettimeofday()函數調用):
clock: 0?ms / 20 ms
gettimeofday: 0.003 ms / 27.749 ms
如果那網站說的沒錯,這樣的精確度差別應該說明我的機子是支持HRT的吧(不過個人不確定是否只要精確到微妙級都說明HRT在起作用)。
Symmetric multi-processing support [?]
Maximum number of CPUs [4]
對 稱多處理技術。需要注意SMP和CMP(芯片級多處理)的差別,前者的操作對象為多CPU;后者是前者概念的延伸,操作對象為CPU核心(可以是多個 CPU的每個核心)。目前的SMP均為芯片級別,也即既可調度CPU,又可調度內部的核心,因此提到SMP時,”CPU“的概念已經延伸到了”CPU核心 “(比如我的CPU是Core 2 E8400,因此對于Linux SMP支持來說,會發現2(核)*2(超線程)=4顆CPU)。判斷CPU”核心“的方法如下:
cat /proc/cpuinfo | awk '/cpu cores/ {a=a+$4;};END{print a}'
獲得的數值即可填入選項Maximum number of CPUs。
啟 用這一項之后,linux內核需要“使用 proc 文件系統了解處理器的數目及類型”(見”參見“),此外的多CPU之間的協調支持應該也是?性能 per CPU?降低的原因之一(也即“線性度不好”)。貌似因為這個,help上書“單CPU單核”的童鞋不要選啊不要選。對于PC機,基本不會出現多CPU的 情況,但多核目前是很普遍了,因此要視情況而定。
參見:
http://www.ibm.com/developerworks/cn/linux/l-linux-smp/
http://hi.baidu.com/lu_youyou/blog/item/dabd4e555da255133a2935e9.html
http://hi.baidu.com/redcat8850/blog/item/504f8df47c4ce5ec7709d7b6.html
Power Management and ACPI options
Run-time PM core functionality [*]
(PM_RUNTIME)允許設備在空閑期節省資源。udisk所依賴的USE_SUSPEND依賴于此項。
Networking support
Networking options
IP: advanced router []
與 路由相關的一個選項。這里的路由相關是指使本機支持IP Forwarding等特性,一句話:你的機子成了個路由器。該選項還有些子項來控制不同的路由策略(都是學《計算機網絡》的時候學過的呵呵,也可參見 《TCP/IP詳解 卷一》)。我沒必要讓自己的系統支持路由功能,故disable。
IP: kernel level autoconfiguration []
這個選項確保內核啟動時即可進行IP設置,設置方法可以通過kernel command line或bootp和rarp協議完成(參見它的子項)。一般看到bootp和rarp,我們基本就能確定,相關配置只是用于無盤工作站或需網絡安裝的機子上的。因此不必選擇。
?
IrDA subsystem support --> [?]
紅外通信協議。我的機子沒有,也基本不用,因此沒安裝。
Device Drivers
Generic Driver Options
Maintain a devtmpfs filesystem to mount at /dev [ ]
>Automount devtmpfs at /dev, after the kernel mounted the rootfs []
該 兩個選項在啟動時(mount rootfs之前)起作用,主要用于map一些外置設備,諸如外置硬盤、光驅、u盤等等。如果需要在啟動時訪問這寫設備,可以考慮啟用兩個選項。其中第二 個選項可以保證內核自動mount devtmpfs至/dev中,這就保證我們自己不必在構建initramfs時手動掛載了。
這兩個選項也可以利用mdev替代。參見:http://en.gentoo-wiki.com/wiki/Initramfs#devtmpfs
Select only drivers that don't need compile-time external firmware []
Prevent firmware to be built(NEW) [*]
Include in-kernel firmware blobs in kernel binary []
這 幾個選項控制設備的firmware是否編進內核中。external的firmware直接忽略,除非編完了之后出現有設備找不到firmware的情 況。第二個可以避免每次編譯時構建firmware(大多驅動都有自帶firmware,因此多數不必編譯,除非出現找不到firmware的情況)。最 后一個則不光是external firmware了,它對于如顯示驅動的編譯方法有很大影響。對于希望使用開源驅動的童鞋,如果將其選上,若顯示驅動等的firmware會直接編入內 核,就不需要在配置顯卡時另行制定firmware的位置;而如果不選,則需要另行編譯firmware,并將其放在/lib/firmware/,并對 內核相應選項設置,以指定其位置。閉源驅動直接無視即可。
參見:http://en.gentoo-wiki.com/wiki/Radeon#Kernels_.3E.3D2.6.33
Connector - unified userspace <-> kernelspace linker []
Report process events to userspace []?
字 面意思理解是一個鏈接用戶態和內核態的統一接口。子選項用于向用戶態的進程返回進程信息,并發送諸如fork,exec,uid/gid/suid等id 變化信息以及退出狀態等功能。目前只知道這是一個接口,而且有部分應用要求必須啟用該選項。比如有個sourceforge項目叫ELSA,此外開源驅動 framebuffer也依賴于此項(但不依賴于其子選項)。
Block Devices
Loopback device support []
這 個選項的意思是說,可以將一個文件掛成一個文件系統。如果要燒光盤片的,那么您很有可能在把一個文件燒進去之前,看看這個文件是否符合IS09660的文 件系統的內容,是否符合您的需求。而且,可以對這個文件系統加以保護。不過,如果您 想做到這點的話,您必須有最新的mount程序。對于喜歡嘗試新型文件系統的童鞋,可以把這個選項編成模塊或編入內核,從而通過創建制定文件系統格式的文 件而方便地對該文件系統進行測試學習。
參見:http://www.zmemb.com/info/2/2010/0811/2374.html(這個頁面有各種彈出廣告~~)
SCSI Device support
SCSI disk support [*]
Asynchronous SCSI scanning []
SCSI Transports ?--->
OSD-Initiator library (NEW) <>
如 果/boot在SATA硬盤上,第一個自然要直接編入內核;第二個則貌似可以提高數據讀取(磁盤掃描)的并行性,help上說是可以顯著提高(啟動時的) 性能的,但同時也提到該選項用于“SCSI Subsystem”,雖然SATA仿真為SCSI,但我也不知道是否能連SCSI的“異步掃描”的能耐也仿真上,結果還是暫時沒選,日后再提;第三個據說不必關心,倒不是不需要,而是內核會把需要的選項自動勾選。
第 四個涉及OSD(對象存儲設備/對象存儲系統,個人設備上不常用,但-據“參見”的鏈接說-非常適合于分布式文件系統)的選項,是一個OSD啟動器。一個 OSD FS(如exofs) 通過一個本地 OSD 啟動器與對象存儲系統通信。OSD 啟動器實現 OSD標準 SCSI 命令集。基本上這項是不必選擇的,但是由于目前Linux內核已經可以支持EXOFS,而該文件系統依賴于此啟動器,因此考慮嘗試EXOFS的票友們還是 要考慮將其選上。
參見:http://www.ibm.com/developerworks/cn/linux/l-nilfs-exofs/#exofs
I2O device support [?]
IO處理器支持。平民PC上是木有滴,不要迷信于自己的機器了,悲劇地disable吧!我反正沒選(人help上都說if unsure, say N了)。
Network device support
PHY device support and infrastructure --> []
數據鏈路層芯片簡稱為MAC控制器,物理層芯片簡稱之為PHY;兩者通過MII(Media Independence Interface)通信。通常的網卡把MAC和PHY的功能做到了一顆芯片中,但也有一些僅含PHY的”軟網卡“。我是沒有這種東東。
具體知識參見:有關MAC、PHY和MII
Ethernet (1000 Mbit) --> [*] 現在基本都是千兆以太網卡了
>New SysKonnet?GigaEthernet support []
>SysKonnect Yukon2 support [M] 這里一定要選擇正確,不然找不到網卡的
此 項的任何選項僅視自己的硬件或網絡環境配置即可。如大家都要選擇自己的網卡型號(wired or wireless);撥號上網的童鞋要選擇PPP;在虛擬機里安裝linux的童鞋要啟用VMXNET3等等……如上是我的選擇:我只有有線網卡,且不必 撥號,因此只選擇自己的網卡型號就好了。
我的網卡型號是Marvell Technology Group Ltd. 88E8056 PCI-E Gigabit Ethernet Controller (rev 14)。
至于為神馬選擇SysKonnect Yukon2 support而不是New SysKonnet GigaEthernet support,我也木有任何頭緒。(事實上,前者的help里描述的支持硬件型號有個8055,更接近我的型號。可能是這個原因吧)
結果我這臺08年入手、裝有”先進“千兆板載網卡(MAC+PHY, Marvell 88E8056)、自己個兒不用撥號(直聯or用路由器撥號)、只用ethernet協議的機子,最終只在這一節里配了個網卡支持~~
Character Devices
參見:http://hi.baidu.com/jolinzhe/blog/item/a7ab70353eb19cbed1a2d349.html
Watchdog Cards
能 讓系統在出現致命故障后自動重啟,如果沒有硬件Watchdog,建議使用Hangcheck timer(參見Character Devices)而不是軟件Watchdog。Hangcheck timer通常可以比Watchdog更好地解決可用性和可靠性問題。
Graphics support
Console display driver support -->
>/dev/agpgart (AGP Support)? [M]
>>Your_AGP_Chipset_Here [M]
>VGA text console [*]
>>Enable Scrollback Buffer in System RAM [*]
>>>Scrollback Buffer Size (in KB)?(64)?
我 目前用的是閉源驅動,因此此節中的絕大部分都可以直接disable掉。唯一需要開啟的是如上幾項。第一項保證我們進入控制臺模式(文本界面,也即尚未開 啟x server時的控制臺)時至少可以顯示文本界面,不選這一項的話,對于默認進入純文本界面的童鞋,會出現一個黑乎乎、只有個可憐的小光標的屏幕,杯具 了~(如果已經設置了默認啟動xdm/gdm/kdm以直接進入X,可能也就不需要這個了,不過我也不確定。)
第二項是子項目,啟用緩存以回滾(啟用了,但沒試過),第三項顧名思義。
這一部分可以參見:http://wiki.cchtml.com/index.php/Gentoo_Installation_Guide
*******辯解下,是在不是鄙人革命不徹底,開源驅動畢竟還是有點太湊合。我還是隨時翹首盼望的。********
Sound Card?support
Advanced Linux Sound Architecture -->
>Generic sound devices--> []
>PCI sound devices --> [*]
>>Intel HD Audio --> [M]
>>>Build Analog Device HD-audio codec support [*]
>>>Enable generic HD-audio codec parser[*]
>>>Aggressive power-saving on HD-audio [*]
>USB sound devices --> []
>ALSA for SoC audio support --> <>
聲 卡設置比較簡單,但也有一點點需要注意的地方。這一節下面東西不多,最后一項OSS是過時的聲音系統;第一項(Preclaim OSS device numbers)貌似用于硬件檢測and so forth~感覺用不上,去掉了發現從頭到腳也沒啥問題;第二項就是ALSA了,它下面的幾項很明確,Generic sound devices用于無法指定類型設備的通用驅動;PCI、USB分別用于對應類型的聲卡,可視實際情況而定;ALSA for SoC貌似主要用于移動設備,用以節電,沒選。
進入PCI sound devices之后,可以選擇自己聲卡對應的型號。對于Intel HD Audio系列(我的:)),可以將Intel HD Audio設為編成模塊,并選擇如上三個子項目。其中第一個為編解碼器;第二個貌似是編碼轉換器,不清楚,但一定要選上,不然聲卡不吱聲的;第三個貌似是個“積極/主動的”節電特性,我給編上了,尚未試用。
ALSA下面的其它選項都用默認了。
聲卡型號查看:lspci?| grep -i audio
USB support
Support for Host-side USB>USB runtime power management (autosuspend) and wakeup [*]
>>OTG support[*]
兩個都是是udisk所依賴的選項之一(另一個是CONFIG_IDE=n)。這個選項又依賴于PM_RUNTIME(參見電源管理一節)。
其它參見:http://hi.baidu.com/sophie198384/blog/item/a7d41afd3d32fd1309244d0d.html/cmtid/5732dccf52c18833f8dc6140
?USB控制器型號查看:lspci | grep -i usb
Real Time Clock ?
Firmware Drivers
Export DMI identification via sysfs to userspace [*]
將BIOS里的DMI區信息導出到用戶空間,部分系統管理工具可能會用到
后續:http://blog.chinaunix.net/u2/69136/showart_1006713.html
不錯的參考:http://lamp.linux.gov.cn/Linux/kernel_options.html
總結
以上是生活随笔為你收集整理的[转]inux Kernel部分选项意义的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Gentoo 安装日记 12 (配置内核
- 下一篇: Gentoo 安装日记 13 (配置内核