国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

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

開通VIP
2.6內(nèi)核的配置與編譯

2.6內(nèi)核的配置與編譯1-2

Posted by tramp |

作者:阿銳

2.6內(nèi)核的配置與編譯(1) 

本文以Gentoo的2.6.10-r6的內(nèi)核為例,講述了如何配置、編譯2.6版本的內(nèi)核。

首先對內(nèi)核進(jìn)行菜單配置,
# cd /usr/src/linux
# make menuconfig
進(jìn)入圖形界面的內(nèi)核配置。

代碼成熟度選項(xiàng),
Code maturity level options  --->
  [*] Prompt for development and/or incomplete code/drivers
  [*]   Select only drivers expected to compile cleanly

    打開使用開發(fā)中、不完全的代碼/驅(qū)動(dòng)會(huì)讓內(nèi)核配置多出很多選項(xiàng),由于我們需要使用一些正在開發(fā)中的功能,因此必需打開這一選項(xiàng)。

2.6內(nèi)核的配置與編譯(2)
 
通用設(shè)置選項(xiàng),
General setup  --->
  ()  Local version - append to kernel release
  [*] Support for paging of anonymous memory (swap)
  [*] System V IPC
  [*] POSIX Message Queues
  [*] BSD Process Accounting
  [*]   BSD Process Accounting version 3 file format
  [*] Sysctl support
  [ ] Auditing support
  (15) Kernel log buffer size (16 => 64KB, 17 => 128KB)
  [*] Support for hot-pluggable devices
  [*] Kernel Userspace Events
  [*] Kernel .config support
  [*]   Enable access to .config through /proc/config.gz
  [*] Configure standard kernel features (for small systems)  --->
    --- Configure standard kernel features (for small systems)
    [ ]   Load all symbols for debugging/kksymoops
    [*]   Enable futex support
    [*]   Enable eventpoll support
    [*]   Optimize for size
    [*]   Use full shmem filesystem
    (0)   Function alignment
    (0)   Label alignment
    (0)   Loop alignment
    (0)   Jump alignment
 
Local version - append to kernel release:這里填入的是64字符以內(nèi)的字符串,你在這里填上的字符口串可以用uname -a命令看到。

Support for paging of anonymous memory (swap):這是使用交換分區(qū)或者交換文件來做為虛擬內(nèi)存的,當(dāng)然要選上了。

System V IPC:表示系統(tǒng)5的Inter Process Communication,它用于處理器在程序之間同步和交換信息,如果不選這項(xiàng),很多程序運(yùn)行不起來的。

POSIX Message Queues:這是POSIX的消息隊(duì)列,它同樣是一種IPC。建議你最好將它選上。

BSD Process Accounting:這是充許用戶進(jìn)程訪問內(nèi)核將賬戶信息寫入文件中的。這通常被認(rèn)為是個(gè)好主意,建議你最好將它選上。

Sysctl support:這個(gè)選項(xiàng)能不重新編譯內(nèi)核修改內(nèi)核的某些參數(shù)和變量,如果你也選擇了支持/proc,將能從/proc/sys存取可以影響內(nèi)核的參數(shù)或變量。建議你最好將它選上。

Auditing support:審記支持,用于和內(nèi)核的某些子模塊同時(shí)工作,例如SELinux。只有選擇此項(xiàng)及它的子項(xiàng),才能調(diào)用有關(guān)審記的系統(tǒng)調(diào)用。

Kernel log buffer size:內(nèi)核日志緩存的大小,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。

Support for hot-pluggable devices:是否支持熱插拔的選項(xiàng),肯定要選上。不然USB、PCMCIA等這些設(shè)備都用不了。

Kernel Userspace Events:內(nèi)核中分為系統(tǒng)區(qū)和用戶區(qū),這里系統(tǒng)區(qū)和用戶區(qū)進(jìn)行通訊的一種方式,選上。

Kernel .config support:將.config配置信息保存在內(nèi)核中,選上它及它的子項(xiàng)使得其它用戶能從/proc中得到內(nèi)核的配置。還記得另一篇貼子我是如何取得啟動(dòng)光盤的內(nèi)核配置信息,并在此基礎(chǔ)上配置新的內(nèi)核嗎?

Configure standard kernel features (for small systems):這是為了編譯某些特殊的內(nèi)核使用的,通常你可以不選擇這一選項(xiàng),你也不用對它下面的子項(xiàng)操心了。

Load all symbols for debugging/kksymoops:是否裝載所有的調(diào)試符號表信息,如果你不需要對內(nèi)核調(diào)試,不需要選擇此項(xiàng)。

Enable futex support:不選這個(gè)內(nèi)核不一定能正確的運(yùn)行使用glibc的程序,當(dāng)然要選上。

Enable eventpoll support:不選這個(gè)內(nèi)核將不支持事件輪循的系統(tǒng)調(diào)用,最好選上。

Optimize for size:這個(gè)選項(xiàng)使gcc使用-Os的參數(shù)而不是-O2的參數(shù)來優(yōu)化編譯,以獲得更小尺寸的內(nèi)核,建議選上。

Use full shmem filesystem:除非你在很少的內(nèi)存且不使用交換內(nèi)存時(shí),才不要選擇這項(xiàng)。

后面的這四項(xiàng)都是在編譯時(shí)內(nèi)存中的對齊方式,0表示編譯器的默認(rèn)方式。使用內(nèi)存對齊能提高程序的運(yùn)行速度,但是會(huì)增加程序?qū)?nèi)存的使用量。
內(nèi)核也是一組程序呀。
2.6內(nèi)核的配置與編譯(3)

可加載模塊,
Loadable module support  --->
  [*] Enable loadable module support
  [*] Module unloading
  [ ]     Forced module unloading
  [*] Module versioning support (EXPERIMENTAL)
  [ ] Source checksum for all modules
  [*] Automatic kernel module loading

Enable loadable module support,很多人喜歡將全部功能、硬件支持一股腦的編進(jìn)內(nèi)核,而不是使用模塊的方式。這樣做非常不好(個(gè)人覺得)。其實(shí)我也做過嵌入式的開發(fā),在針對特定硬件的平臺下盡可能將內(nèi)核編小,將始終是支持模塊加載的。例如我們開發(fā)的防火墻就是做為內(nèi)核的模塊被加載的。使用模塊支持,你的系統(tǒng)能具有更好的可擴(kuò)充性。還有一個(gè)原因就是自己編寫的功能模塊、設(shè)備驅(qū)動(dòng)模塊(假設(shè)編寫的質(zhì)量不高)以模塊方式工作引起Kernel Panic的機(jī)率要遠(yuǎn)遠(yuǎn)低于不支持模塊全部編進(jìn)內(nèi)核的方式。講了這么多,終于可以理直氣壯的選上這一功能了。

Module unloading,不選這個(gè)功能,加載的模塊就不能卸載。沒什么需要多解釋的,建議最好選上。

Forced module unloading,這個(gè)選項(xiàng)能強(qiáng)行卸載模塊,即使內(nèi)核認(rèn)為這樣并不安全,也就是說你可以把正在使用中的模快卸載掉。如果你不是內(nèi)核開發(fā)人員或者骨灰級的玩家,不要選擇這個(gè)選項(xiàng)。

Module versioning support (EXPERIMENTAL),這個(gè)功能可以讓你使用其它版本的內(nèi)核模塊,由于我自己寫一些模塊,所以我會(huì)用到這個(gè)選項(xiàng),因?yàn)閮?nèi)核更新太快了,我的頭文件更新根本趕不上內(nèi)核的更新。還有,雖然我在Gentoo下開發(fā),但實(shí)際真實(shí)環(huán)境用的卻是從kernel.org下載的內(nèi)核。雖然我選擇了這個(gè)選項(xiàng),不過建議你不要選擇這個(gè)選項(xiàng)。

Source checksum for all modules,這個(gè)功能是為了防止更改了內(nèi)核模塊的代碼但忘記更改版本號而造成版本沖突。我估計(jì)現(xiàn)在沒有哪家公司在開發(fā)中還沒使用版本控制工具,所以不需要這項(xiàng)了。如果你不是自己寫內(nèi)核模塊,那就更不需要這一選項(xiàng)了。

Automatic kernel module loading,這個(gè)選項(xiàng)能讓內(nèi)核自動(dòng)的加載部份模塊,建議你最好選上。舉個(gè)例子說明一下,如模塊eth1394依賴于模塊ieee1394。如果選擇了這個(gè)選項(xiàng),可以直接加載模塊eth1394;如果沒有選擇這個(gè)選項(xiàng),必需先加載模塊ieee1394,再加載模塊eth1394,否則將出錯(cuò)。

2.6內(nèi)核的配置與編譯(4)

處理器內(nèi)型及特性,
Processor type and features  --->
  Subarchitecture Type (PC-compatible)  --->
  Processor family (Pentium-4/Celeron(P4-based)/Pentium-4 M/Xeon)  --->
  [ ] Generic x86 support
  [*] HPET Timer Support
  [*] Symmetric multi-processing support
  (2)   Maximum number of CPUs (2-255)
  [*]   SMT (Hyperthreading) scheduler support
  [ ] Preemptible Kernel
  [ ] Machine Check Exception
  <M> Toshiba Laptop support
  <M> Dell laptop support
  < > /dev/cpu/microcode - Intel IA32 CPU microcode support
  < > /dev/cpu/*/msr - Model-specific register support
  < > /dev/cpu/*/cpuid - CPU information support
  Firmware Drivers  --->
    < > BIOS Enhanced Disk Drive calls determine boot disk (EXPERIMENTAL)
  High Memory Support (4GB)  --->
  [ ] Allocate 3rd-level pagetables from highmem
  [ ] Math emulation
  [*] MTRR (Memory Type Range Register) support
  [ ] Boot from EFI support (EXPERIMENTAL)
  [*] Enable kernel irq balancing
  [ ] Use register arguments (EXPERIMENTAL)

Subarchitecture Type,這沒什么好說的,如果用PC機(jī)的話都選這個(gè)。

Processor family,這也沒什么好說的,選擇你機(jī)器對應(yīng)的處理器即可。

Generic x86 support,這一選項(xiàng)針對x86系列的CPU使用更多的常規(guī)優(yōu)化。如果你在上面一項(xiàng)選的是i386、i586之類的才選這個(gè)。

HPET Timer Support,HPET是替代8254芯片的下一代時(shí)鐘處理器。這里你可以安全的選上這一選項(xiàng)。如果硬件不支持的話,將仍使用8254時(shí)鐘處理器。

Symmetric multi-processing support,對稱多處理器支持,在單CPU的機(jī)器上,不選這個(gè)選項(xiàng)會(huì)更快一些。由于超線程技術(shù),看起來是兩顆CPU,因些要選上這個(gè)選項(xiàng)。

Maximum number of CPUs (2-255),支持的最大CPU數(shù)。

SMT (Hyperthreading) scheduler support,超線程支持,如果你的CPU是P4超線程的,應(yīng)該選上這一選項(xiàng)。

Preemptible Kernel,這個(gè)選項(xiàng)能使應(yīng)用程序即使內(nèi)核在高負(fù)載時(shí)也很可靠,建議最好選上。

Machine Check Exception,這個(gè)選項(xiàng)能讓CPU檢測到系統(tǒng)故障時(shí)通知內(nèi)核,一般我用組裝的臺式機(jī)會(huì)選這項(xiàng)。本本嘛,我感覺還是非??煽康?,所以就不選它了。

Toshiba Laptop support,Dell laptop support,這兩項(xiàng)都是對本本的支持,其實(shí)編譯內(nèi)核的原則應(yīng)該是讓內(nèi)核能在特定的環(huán)境下運(yùn)行,由于我編譯的內(nèi)核可能公司的其它人也會(huì)使用,所以我盡可能的不針對特定的硬件。將對特定的硬件支持編譯成模塊。

/dev/cpu/microcode - Intel IA32 CPU microcode support,這個(gè)選項(xiàng)是讓你使用不隨Linux內(nèi)核發(fā)行的IA32 microcode,但是你必需有IA32 microcode的二進(jìn)制文件。

/dev/cpu/*/msr - Model-specific register support,這個(gè)選項(xiàng)能讓特權(quán)CPU訪問x86的MSR寄存器。由于超線程并不是真正的多處理器環(huán)境,所以不要選擇這個(gè)。

/dev/cpu/*/cpuid - CPU information support,這個(gè)選項(xiàng)能從/dev/cpu/x/cpuid獲得CPU的唯一標(biāo)識符。

BIOS Enhanced Disk Drive calls determine boot disk,臺式機(jī)的有些BIOS支持從某塊特定的硬盤啟動(dòng),由于本本只能裝一塊硬盤,所以就不選擇這項(xiàng)了。如果你的BIOS不支持這個(gè)功能而你選上的話,有可能無法啟動(dòng)。

High Memory Support (4GB),4GB的內(nèi)存支持,已經(jīng)足夠了。

Allocate 3rd-level pagetables from highmem,除非你真的有幾G的內(nèi)存,選擇這個(gè)是沒有意義的。

Math emulation,估計(jì)現(xiàn)在沒人有386或486SX的處理器了吧,那就不要選這個(gè)。

MTRR (Memory Type Range Register) support,這個(gè)選項(xiàng)必需要選上。

Boot from EFI support (EXPERIMENTAL),由于我使用的是GRUB,所以選上這個(gè)也沒什么用,如果你打算使用EFI的功能,你可以到http://elilo.sourceforge.net看看。

Enable kernel irq balancing,選上這個(gè)選項(xiàng)能讓內(nèi)核進(jìn)行IRQ均衡。

Use register arguments (EXPERIMENTAL),使用-mregparm=3參數(shù)編譯內(nèi)核,將前3個(gè)參數(shù)以寄存器方式進(jìn)行參數(shù)調(diào)用。GCC的版本必需大于等于3.0。

2.6內(nèi)核的配置與編譯(5)

電源管理,
Power management options (ACPI, APM)  --->
  [*] Power Management support
  [ ]   Power Management Debug Support
  [ ]   Software Suspend (EXPERIMENTAL)
      ACPI (Advanced Configuration and Power Interface) Support  --->
      APM (Advanced Power Management) BIOS Support  --->
      CPU Frequency scaling  --->

Power Management support,電源管理沒什么好說的,不想浪費(fèi)電就選上。如果不選你可以跳過這部份。

Power Management Debug Support,電源管理的調(diào)試信息支持,如果不是要調(diào)試內(nèi)核有關(guān)電源管理部份,請不要選擇這項(xiàng)。

Software Suspend (EXPERIMENTAL),休眠到硬盤。也就是將內(nèi)存寫入交換分區(qū)中,下次啟動(dòng)可以通過參數(shù)resume=/dev/swappartition(例如:resume=/dev/hda6)來恢復(fù)上次機(jī)器運(yùn)行的狀態(tài)。這項(xiàng)功能對于系統(tǒng)引導(dǎo)時(shí)啟動(dòng)許多服務(wù)的機(jī)器來說很有用,可以節(jié)約啟動(dòng)時(shí)間。這項(xiàng)功能根據(jù)自己的需要選擇吧,如果你選擇這項(xiàng)功能,記得恢復(fù)休眠后重做交換分區(qū)。


2.6內(nèi)核的配置與編譯(6)

ACPI (Advanced Configuration and Power Interface) Support  --->
  [*] ACPI Support
  [ ]   Sleep States (EXPERIMENTAL)
  <M>   AC Adapter
  <M>   Battery
  <M>   Button
  <M>   Video
  <M>   Fan
  <M>   Processor
  <M>     Thermal Zone
  <M>   ASUS/Medion Laptop Extras
  <M>   IBM ThinkPad Laptop Extras
  <M>   Toshiba Laptop Extras
  (0) Disable ACPI for systems before Jan 1st this year 
  [ ] Debug Statements
  [ ] Power Management Timer Support

ACPI Support,這是一種電源管理方式,你可以看看你的BIOS是否支持。如果支持的話建議你選上這項(xiàng)。

Sleep States (EXPERIMENTAL),這項(xiàng)功能可以讓系統(tǒng)進(jìn)入休眠狀態(tài)(不是休眠到硬盤)。休眠是指系統(tǒng)仍然通著電,只是進(jìn)入最大幅度的省電狀態(tài);而休眠到硬盤是指系統(tǒng)已經(jīng)斷電。不過如果你不是驅(qū)動(dòng)程序的電源管理部份的開發(fā)人員,建議你最好不要選擇這項(xiàng)。相信未來linux下的驅(qū)動(dòng)對電源支持的功能會(huì)越來越好,或者也搞個(gè)硬件兼容列表,到時(shí)就可以放心的使用這項(xiàng)功能了。

AC Adapter,檢測是電源供電還是電池供電,通常只對本本有用。

Battery,通過/proc/acpi/battery得到電池的信息,通常這也是針對筆記本的。

Button,捕獲Power、Sleep、Lid(我也不知道這是什么按鈕)等按鈕是否按下,并做相應(yīng)的動(dòng)作。

Video,集成在板上的顯卡的ACPI支持,對有些板卡可能不起作用。

Fan,風(fēng)扇的支持。這一點(diǎn)很明顯,不選這項(xiàng)我的本本的風(fēng)扇一直在轉(zhuǎn),選上以后風(fēng)扇只是間斷的轉(zhuǎn)轉(zhuǎn)。

Processor,當(dāng)機(jī)器負(fù)荷輕時(shí)節(jié)省處理器的用電,處理器可是電腦中的第一用電大戶(可能老式的CRT顯示器和它有的一比)。

Thermal Zone,這個(gè)我也不太清楚是什么,只是據(jù)說大部份的臺式機(jī)和筆記本都支持,不選還可能把處理器燒掉。

如果你不會(huì)讓模塊正常工作,還是把它編進(jìn)內(nèi)核吧,怪嚇人的。

ASUS/Medion Laptop Extras、IBM ThinkPad Laptop Extras、Toshiba Laptop Extras,這三種本本的擴(kuò)展支持。你的內(nèi)核如果只是自己用,選個(gè)該選的就行了。

(0) Disable ACPI for systems before Jan 1st this year,輸入四位數(shù)的年份,在該年的1月1日前不使用ACPI的功能。0表示一直使用。

Debug Statements,詳細(xì)的ACPI調(diào)試信息,不搞開發(fā)就別選。

Power Management Timer Support,我的本本支持HPET(要是忘了是什么,再看看前面),所以不選它。要是你的機(jī)器不支持,應(yīng)該把它選上。

 

2.6內(nèi)核的配置與編譯(7)

APM (Advanced Power Management) BIOS Support  --->
  <M> APM (Advanced Power Management) BIOS support
  [ ]   Ignore USER SUSPEND 
  [*]   Enable PM at boot time
  [ ]   Make CPU Idle calls when idle
  [ ]   Enable console blanking using APM
  [ ]   RTC stores time in GMT
  [ ]   Allow interrupts during APM BIOS calls
  [*]   Use real mode APM BIOS call to power off

APM (Advanced Power Management) BIOS support,高級電源管理的支持,一般來說筆記本應(yīng)該選上,臺式機(jī)可以不選。

Ignore USER SUSPEND,只有NEC Versa M系列的筆記本需要選擇這一項(xiàng)。

Enable PM at boot time,啟動(dòng)時(shí)支持電源管理,選上這個(gè)選項(xiàng)能讓系統(tǒng)自動(dòng)的進(jìn)行電源管理,除非在啟動(dòng)時(shí)死機(jī),才不要選這項(xiàng)。

Make CPU Idle calls when idle,系統(tǒng)空閑時(shí)調(diào)用空閑指令。只有老式的CPU才用這項(xiàng)。其實(shí)調(diào)用空閑指令還是讓CPU執(zhí)行了一條指令。這個(gè)選項(xiàng)在內(nèi)核循環(huán)中調(diào)用空閑指令。

Enable console blanking using APM,支持關(guān)閉監(jiān)視器。據(jù)說這項(xiàng)功能對所有的筆記本都無效。如果你都按我的建議配置,系統(tǒng)是能自動(dòng)休眠的(使用ACPI)。你也不用擔(dān)心你的顯示器一直亮著的。

RTC stores time in GMT,按Unix的標(biāo)準(zhǔn),硬件的時(shí)鐘應(yīng)該設(shè)為格林威治時(shí)間。還是那句老話,因?yàn)槲疫€要用Windows,所以硬件時(shí)鐘設(shè)成了本地時(shí)間,當(dāng)然就不要選這項(xiàng)了。

Allow interrupts during APM BIOS calls,允許APM的BIOS調(diào)用時(shí)中斷。多數(shù)的機(jī)器不需要這項(xiàng),Thinkpad的一些新機(jī)器需要這項(xiàng)。如果休眠時(shí)掛機(jī)(包括睡下去就醒不來),再把這項(xiàng)選上。

Use real mode APM BIOS call to power off,建議最好選上此項(xiàng),保證軟件關(guān)機(jī)。如果你有興趣可以試試你的機(jī)器不選這項(xiàng)能不能正常的軟件關(guān)機(jī)(多數(shù)機(jī)器不能)。

 

補(bǔ)充一點(diǎn),如果既選擇了ACPI又選擇了APM,先加載的將被使用。

通過這么多的例子,大家應(yīng)該可以看出來在menuconfig 中,圓括號內(nèi)是參數(shù),可以選擇某一選項(xiàng)或者輸入具體的參數(shù)。方括號只能選擇“Y”或“N”,尖括號除了選擇“Y”和“N”還可以選擇“M”。“Y”表示將該選項(xiàng)包括在內(nèi)核中,menuconfig中以“*”表示。“N”表示不使用此選項(xiàng)的功能,“M”表示將此選項(xiàng)的功能編譯成模塊。

ACPI是為了取代APM而設(shè)計(jì)的,因此盡量使用ACPI的功能,實(shí)在不行再加載apm模塊。


2.6內(nèi)核的配置與編譯(8)

[*] CPU Frequency scaling
[ ]   Enable CPUfreq debugging
< >   /proc/cpufreq interface (deprecated)
      Default CPUFreq governor (performance)  --->
---   ‘performance‘ governor
<M>   ‘powersave‘ governor
<M>   ‘userspace‘ governor for userspace frequency scaling
[ ]     /proc/sys/cpu/ interface (2.4. / OLD)
<M>   ‘ondemand‘ cpufreq policy governor
<*>   CPU frequency table helpers
<M> ACPI Processor P-States driver
<M> AMD Mobile K6-2/K6-3 PowerNow!
<M> AMD Mobile Athlon/Duron PowerNow!
<M> AMD Opteron/Athlon64 PowerNow!
<M> Cyrix MediaGX/NatSemi Geode Suspend Modulation
<M> Intel Enhanced SpeedStep 
[ ]   Use ACPI tables to decode valid frequency/voltage pairs
---   Built-in tables for Banias CPUs
<M> Intel Speedstep on ICH-M chipsets (ioport interface)
<M> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)
<M> Intel Pentium 4 clock modulation
< > nVidia nForce2 FSB changing
<M> Transmeta LongRun
<M> VIA Cyrix III Longhaul
--- shared options
[ ] /proc/acpi/processor/../performance interface (deprecated)
[ ] Relaxed speedstep capability checks

CPU Frequency scaling,這一選項(xiàng)允許改變CPU的主頻,使CPU在低負(fù)荷或使用電池時(shí)降低主頻,達(dá)到省電的目的。

Enable CPUfreq debugging,是否允許調(diào)試CPU改變主頻的功能,如果要調(diào)試,還需要在啟動(dòng)時(shí)加上參數(shù)。cpufreq.debug=<value>
1:變頻技術(shù)的內(nèi)核調(diào)試
2:變頻技術(shù)的驅(qū)動(dòng)調(diào)試
4:變頻技術(shù)的調(diào)節(jié)器調(diào)試

/proc/cpufreq interface (deprecated) ,是否允許/proc/cpufreq來調(diào)節(jié)主頻,建議使用默認(rèn)的sysfs來調(diào)節(jié)。

Default CPUFreq governor (performance) --->,默認(rèn)的主頻調(diào)節(jié),圓括號內(nèi)的是你選擇的結(jié)果,這里表示以性能為主。

‘powersave‘ governor,最大限度的節(jié)約電能調(diào)節(jié)器。

‘userspace‘ governor for userspace frequency scaling,用戶自定義調(diào)節(jié)器。

/proc/sys/cpu/ interface (2.4. / OLD),兼容2.4內(nèi)核的用戶調(diào)節(jié)器。

‘ondemand‘ cpufreq policy governor,自動(dòng)調(diào)節(jié)主頻。

CPU frequency table helpers,多數(shù)的CPU需要這一項(xiàng)來調(diào)節(jié)主頻。

ACPI Processor P-States driver,報(bào)告處理器的狀態(tài)。

AMD Mobile K6-2/K6-3 PowerNow!,AMD移動(dòng)版K6處理器的變頻驅(qū)動(dòng)。

AMD Mobile Athlon/Duron PowerNow!,AMD移動(dòng)版毒龍、雷烏的變頻驅(qū)動(dòng)。

AMD Opteron/Athlon64 PowerNow!,AMD64處理器的變頻驅(qū)動(dòng)。

Cyrix MediaGX/NatSemi Geode Suspend Modulation,Cyrix處理器的變頻驅(qū)動(dòng)。

Intel Enhanced SpeedStep,Intel的變頻技術(shù)支持。

Use ACPI tables to decode valid frequency/voltage pairs,使用BIOS中的主頻/電壓參數(shù)。

--- Built-in tables for Banias CPUs,迅馳一代的主頻/電壓參數(shù)。

Intel Speedstep on ICH-M chipsets (ioport interface) ,Intel ICH-M南橋芯片組的支持。

Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface),Intel 440BX/ZX/MX南橋芯片級的支持。

Intel Pentium 4 clock modulation,P4處理器的時(shí)鐘模塊支持。

nVidia nForce2 FSB changing,nVidia nForce2的支持。

Transmeta LongRun,Transmeta處理器的支持。

VIA Cyrix III Longhaul,VIA Cyrix處理器的支持。

/proc/acpi/processor/../performance interface (deprecated),從/proc/acpi/processor/../performance獲得CPU的變頻信息。

Relaxed speedstep capability checks,不全面檢測Intel Speedstep,有的系統(tǒng)雖然支持Speedstep技術(shù),卻無法通過全面的檢測。

2.6內(nèi)核的配置與編譯(9)

總線類型,
[*] PCI support
      PCI access mode (Any)  --->
[ ] Message Signaled Interrupts (MSI and MSI-X)
[ ] Legacy /proc/pci interface
[ ] PCI device name database
[*] ISA support
[*]   EISA support
[*]     Vesa Local Bus priming
[*]     Generic PCI/EISA bridge
[*]     EISA virtual root device
[ ]     EISA device name database
[ ] MCA support
< > NatSemi SCx200 support
    PCCARD (PCMCIA/CardBus) support  --->
    PCI Hotplug Support  --->

PCI support,沒有人不知道這是什么總線類型吧,實(shí)在不知道就去google查吧,這個(gè)當(dāng)然要選上。

PCI access mode (Any),強(qiáng)列建議選Any,系統(tǒng)將優(yōu)先使用MMConfig,然后使用BIOS,最后使用Direct檢測PCI設(shè)備。

Message Signaled Interrupts (MSI and MSI-X),建議你不要選擇這項(xiàng),設(shè)備將使用默認(rèn)的IRQ中斷。如果選擇這項(xiàng),充許設(shè)備通過PCI總線寫入內(nèi)存堆棧產(chǎn)生一個(gè)中斷。

Legacy /proc/pci interface,是否使用/proc/pci目錄下的信息文件來描述PCI設(shè)備的信息?,F(xiàn)在的系統(tǒng)多數(shù)都使用lspci工具來得到這樣的信息。

PCI device name database,如果你不打算使用lspci工具,就把這項(xiàng)和上面的一項(xiàng)選上。lspci和hotplug都不需要內(nèi)核中的設(shè)備信息庫了。

ISA support,是否使用工業(yè)總線。如果你沒有老式的ISA設(shè)備,可以不選這項(xiàng)。現(xiàn)在基本上都沒有ISA的設(shè)備了。不過需要注意的是如果你做嵌入式系統(tǒng)的開發(fā),一些PC104的總線可能會(huì)橋接到EISA或者是。VESA總線上。

EISA support,擴(kuò)展工業(yè)總線。

Vesa Local Bus priming,VESA總線,也是擴(kuò)展工業(yè)總線的一種。我的老486DX66的機(jī)器上的顯卡就是這種總線,塊板上大概還有2個(gè)EISA插槽各3個(gè)ISA插槽。

PCI/EISA bridge,PCI、EISA兩種總線的橋。

EISA virtual root device,EISA總線的虛擬根設(shè)備。

EISA device name database,內(nèi)核中的EISA設(shè)備信息庫。

MCA support,微通道總線。IBM的臺式機(jī)和筆記本上可能會(huì)有這種總線,包括它的p系列、e系列、z系列機(jī)器上都用到了這種總線。

NatSemi SCx200 support,這個(gè)我不知道是什么東西,看幫助是松下的一種半導(dǎo)體處理器的驅(qū)動(dòng)。

    總之,只要你的主板沒有ISA插槽,而且你也不是搞嵌入式開發(fā),工業(yè)自動(dòng)化控制的。不要選“ISA support”就是了,如今的ISA設(shè)備在x86體系上基本是是見不到了。不過自己制板的話,還是ISA的板子最好做。

2.6內(nèi)核的配置與編譯(10)

PCCARD (PCMCIA/CardBus) support  --->
    <M> PCCard (PCMCIA/CardBus) support
    [ ]   Enable PCCARD debugging
    [ ]   Enable obsolete PCCARD code
    <M>   16-bit PCMCIA support
    [*]   32-bit CardBus support
    --- PC-card bridges
    <M> CardBus yenta-compatible bridge support
    <M> Cirrus PD6729 compatible bridge support
    <M> i82092 compatible bridge support
    <M> i82365 compatible bridge support
    <M> Databook TCIC host bridge support

PCCard (PCMCIA/CardBus) support,一般只有筆記本電腦上才會(huì)有PCMCIA插槽,如果你是臺式機(jī)的話,可以不選這一項(xiàng),然后跳過這一部份。

Enable PCCARD debugging,通常不需要選擇調(diào)試PCMCIA設(shè)備,除非你是設(shè)備驅(qū)動(dòng)的開發(fā)人員。

Enable obsolete PCCARD code,老式的PCMCIA設(shè)備只持。現(xiàn)在很少有這樣的設(shè)備了,除非你買這樣的設(shè)備時(shí)帶了張Linux的驅(qū)動(dòng)光盤才需要選上。而且估計(jì)你也只能在二手市場上買到這樣的設(shè)備。

16-bit PCMCIA support,16位的PCMCIA總線支持。

32-bit CardBus support,32位的PCMCIA總線支持,通常也叫PCMCIA II總線。

下面的是不同產(chǎn)家的PCMCIA芯片的驅(qū)動(dòng)支持,如果你知道你的本本用的是什么芯片組的話,可以只選它而不選其它的。要是你不知道可以象我一樣的全部選上,然后用modprobe一種一種的試。最后我終于知道我的HP zv5028的本本用的是yenta-compatible的芯片組了。
--- PC-card bridges
<M> CardBus yenta-compatible bridge support
<M> Cirrus PD6729 compatible bridge support
<M> i82092 compatible bridge support
<M> i82365 compatible bridge support
<M> Databook TCIC host bridge support

2.6內(nèi)核的配置與編譯(11)

PCI Hotplug Support  --->
  <M> Support for PCI Hotplug (EXPERIMENTAL)
  < >   Fake PCI Hotplug driver (NEW)
  < >   Compaq PCI Hotplug driver (NEW)
  < >   IBM PCI Hotplug driver (NEW)
  < >   ACPI PCI Hotplug driver (NEW)
  [ ]   CompactPCI Hotplug driver (NEW)
  < >   PCI Express Hotplug driver (NEW)
  < >   SHPC PCI Hotplug driver (NEW)
 
Support for PCI Hotplug (EXPERIMENTAL),一般來講只有服務(wù)器上會(huì)有熱插拔的設(shè)備,如果你使用的是臺式機(jī),你可以不選擇此項(xiàng)并跳過這一部份。(其實(shí)我也沒有選這一項(xiàng),只是為了講解的方便而選上的。)

Fake PCI Hotplug driver (NEW),選上這一選項(xiàng)能讓你的機(jī)器模擬PCI熱插拔。注意,它并不是真正意義上的熱插拔,決對不允許帶電插拔設(shè)備除非你的主板上集成了PCI熱插拔芯片并且你的PCI設(shè)備本身支持熱插拔。

Compaq PCI Hotplug driver (NEW),Compaq服務(wù)器上的熱插拔芯片組的支持。

IBM PCI Hotplug driver (NEW),IBM服務(wù)器上的熱插拔芯片組的支持。

ACPI PCI Hotplug driver (NEW),PCI熱插拔設(shè)備是否支持ACPI電源管理(一般來說都是支持的)。

CompactPCI Hotplug driver (NEW),精簡PCI總線的熱插拔設(shè)備的支持,通常在嵌入式系統(tǒng)中會(huì)用到精簡PCI總線。

PCI Express Hotplug driver (NEW),PCI加速總線的熱插拔設(shè)備的支持?,F(xiàn)在PCI Express總線的顯卡挺火的。但用于服務(wù)器上的PCI加速總線的設(shè)備我還沒見過。(我是井底之蛙)

SHPC PCI Hotplug driver (NEW),SHPC熱插拔控制芯片的支持。

2.6內(nèi)核的配置與編譯(12)

可執(zhí)行文件格式,
[*] Kernel support for ELF binaries
< > Kernel support for a.out and ECOFF binaries
<*> Kernel support for MISC binaries

Kernel support for ELF binaries,ELF是開放平臺下最常用的二進(jìn)制文件,它支持不同的硬件平臺。

Kernel support for a.out and ECOFF binaries,這是早期UNIX系統(tǒng)的可執(zhí)行文件格式,目前已經(jīng)被ELF格式取代。

Kernel support for MISC binaries,此選項(xiàng)允許插入二進(jìn)制的封裝層到內(nèi)核中,當(dāng)使用Java、.NET、Python、Lisp等語言編寫的程序時(shí)非常有用。

接下來應(yīng)該講硬件設(shè)備部份,但考慮到硬件部份是針對具體硬件的,大數(shù)Linux玩家都是硬件的DIYer。因此對這一部份應(yīng)該很熟悉。硬件設(shè)備部份將放到最后講,下一篇將講文件系統(tǒng)部份。

2.6內(nèi)核的配置與編譯(13)

文件系統(tǒng),
<*> Second extended fs support
[*]   Ext2 extended attributes
[*]     Ext2 POSIX Access Control Lists
[*]     Ext2 Security Labels
<*> Ext3 journalling file system support
[*]   Ext3 extended attributes
[*]     Ext3 POSIX Access Control Lists
[*]     Ext3 Security Labels
[ ] JBD (ext3) debugging support
<*> Reiserfs support
[ ]   Enable reiserfs debug mode
[ ]   Stats in /proc/fs/reiserfs
[*]   ReiserFS extended attributes
[*]     ReiserFS POSIX Access Control Lists
[*]     ReiserFS Security Labels
JFS filesystem support
[*]   JFS POSIX Access Control Lists
[ ]   JFS debugging
[ ]   JFS statistics
XFS filesystem support
[*]   Realtime support (EXPERIMENTAL)
[*]   Quota support
[*]   Security Label support
[*]   POSIX ACL support
< > Minix fs support
< > ROM file system support
[*] Quota support
< >   Old quota format support
   Quota format v2 support
[*] Dnotify support
< > Kernel automounter support
< > Kernel automounter version 4 support (also supports v3)
    CD-ROM/DVD Filesystems  --->
    DOS/FAT/NT Filesystems  --->
    Pseudo filesystems  --->
    Miscellaneous filesystems  --->
    Network File Systems  --->
    Partition Types  --->
    Native Language Support  --->
   
  有人說在編譯內(nèi)核時(shí)應(yīng)該將/boot分區(qū)和/分區(qū)的文件系統(tǒng)編譯進(jìn)內(nèi)核,其它的可以編譯成模塊。對,但不確切。讓我們來一起了解一下linux系統(tǒng)的啟動(dòng)順序。在內(nèi)核被加載后,如果initrd參數(shù)傳入了內(nèi)核,內(nèi)核會(huì)去調(diào)用指定的文件。當(dāng)然,initrd和System.map通常都是/boot下。但是同樣可以用initrd=(hd1,2)/initrd.img這樣的方式指定。內(nèi)核啟動(dòng)完成后將調(diào)用/sbin/init,(如果是鏈接要保證目標(biāo)文件能被內(nèi)核加載)。不同的系統(tǒng)的啟動(dòng)腳本可能不太一樣,這里不詳細(xì)介紹。啟動(dòng)腳本向內(nèi)核加載模塊時(shí)可能用/sbin/modprobe或 /sbin/insmod,由此看來/sbin的文件系統(tǒng)是要內(nèi)核支持的。編譯的內(nèi)核模塊一般在/lib/modules/的版本目錄下,所以 /lib/modules的文件系統(tǒng)是要內(nèi)核支持的。一旦其它文件系統(tǒng)的模塊能加載,系統(tǒng)就能向正常的訪問內(nèi)核中的文件系統(tǒng)一樣訪問模塊支持的文件系統(tǒng)了。由于啟動(dòng)腳本、fstab自動(dòng)加載等文件一般在/etc目錄下,因此/etc的文件系統(tǒng)是要內(nèi)核支持的。
  這里概要的介紹了保證系統(tǒng)正常啟動(dòng)的幾個(gè)關(guān)鍵點(diǎn),可能我反而把它講復(fù)雜了。如果你能理解上面的這段話,你應(yīng)該能清楚的知道哪些文件系統(tǒng)是要編譯進(jìn)內(nèi)核的,哪些是可以編譯成模塊的。如果你不太理解上面的這段話,下篇貼子我將詳細(xì)介紹每個(gè)選項(xiàng)及幾種常用的文件系統(tǒng)。當(dāng)然這里面包含了我的偏見,如果你覺得我的說法不準(zhǔn)確,有誤導(dǎo)看官的地方,請一定指出來。我在此先表示多謝了。

2.6內(nèi)核的配置與編譯(14)

<*> Second extended fs support
[*]   Ext2 extended attributes
[*]     Ext2 POSIX Access Control Lists
[*]     Ext2 Security Labels
<*> Ext3 journalling file system support
[*]   Ext3 extended attributes
[*]     Ext3 POSIX Access Control Lists
[*]     Ext3 Security Labels
[ ] JBD (ext3) debugging support
<*> Reiserfs support
[ ]   Enable reiserfs debug mode
[ ]   Stats in /proc/fs/reiserfs
[*]   ReiserFS extended attributes
[*]     ReiserFS POSIX Access Control Lists
[*]     ReiserFS Security Labels
JFS filesystem support
[*]   JFS POSIX Access Control Lists
[ ]   JFS debugging
[ ]   JFS statistics
XFS filesystem support
[*]   Realtime support (EXPERIMENTAL)
[*]   Quota support
[*]   Security Label support
[*]   POSIX ACL support
< > Minix fs support
< > ROM file system support
[*] Quota support
< >   Old quota format support
   Quota format v2 support
[*] Dnotify support
< > Kernel automounter support
< > Kernel automounter version 4 support (also supports v3)
    CD-ROM/DVD Filesystems  --->
    DOS/FAT/NT Filesystems  --->
    Pseudo filesystems  --->
    Miscellaneous filesystems  --->
    Network File Systems  --->
    Partition Types  --->
    Native Language Support  --->
   
Second extended fs support,標(biāo)準(zhǔn)的Linux文件系統(tǒng),建議將這種文件系統(tǒng)編譯進(jìn)內(nèi)核。

Ext2 extended attributes,Ext2文件系統(tǒng)的結(jié)點(diǎn)名稱、屬性的擴(kuò)展支持。

Ext2 POSIX Access Control Lists,POSIX系統(tǒng)的訪問權(quán)限列表支持。也就是Owner/Group/Others的Read/Write/Execute權(quán)限。請參考Unix標(biāo)準(zhǔn)文件系統(tǒng)權(quán)限。

Ext2 Security Labels,擴(kuò)展的安全標(biāo)簽,例如SElinux之類的安全系統(tǒng)會(huì)使用到這樣的擴(kuò)展安全屬性。

Ext3 journalling file system support,如果你熟悉Redhat Linux,你一定會(huì)習(xí)慣Ext3文件系統(tǒng)。

Ext3 extended attributes,Ext3文件系統(tǒng)的結(jié)點(diǎn)名稱、屬性的擴(kuò)展支持。

Ext3 POSIX Access Control Lists,POSIX系統(tǒng)的訪問權(quán)限列表支持。

Ext3 Security Labels,擴(kuò)展的安全標(biāo)簽支持。

JBD (ext3) debugging support,Ext3的調(diào)試。除非你是文件系統(tǒng)的開發(fā)者,否則不要選上這一項(xiàng)。

Reiserfs support,如果你熟悉Suse Linux,你一定會(huì)習(xí)慣Reiserfs文件系統(tǒng)。

Enable reiserfs debug mode,Reiserfs的調(diào)試。除非你是文件系統(tǒng)的開發(fā)者,否則不要選上這一項(xiàng)。

Stats in /proc/fs/reiserfs,在/proc/fs/reiserfs文件中顯示Reiserfs文件系統(tǒng)的狀態(tài)。一般來說不需要選擇這一項(xiàng)。

ReiserFS extended attributes,Reiserfs,文件系統(tǒng)的結(jié)點(diǎn)名稱、屬性的擴(kuò)展支持。

ReiserFS POSIX Access Control Lists,POSIX系統(tǒng)的訪問權(quán)限列表支持。

ReiserFS Security Labels,擴(kuò)展的安全標(biāo)簽支持。

JFS filesystem support,JFS是IBM公司設(shè)計(jì)用于AIX系統(tǒng)上的文件系統(tǒng)。后來這一文件系統(tǒng)也能應(yīng)用于Linux系統(tǒng)。

JFS POSIX Access Control Lists,POSIX系統(tǒng)的訪問權(quán)限列表支持。

JFS debugging,JFS的調(diào)試。除非你是文件系統(tǒng)的開發(fā)者,否則不要選上這一項(xiàng)。

JFS statistics,在/proc/fs/jfs文件中顯示Reiserfs文件系統(tǒng)的狀態(tài)。一般來說不需要選擇這一項(xiàng)。

XFS filesystem support,XFS是SGI公司為其圖形工作站設(shè)計(jì)的一種文件系統(tǒng),后來這一文件系統(tǒng)也能應(yīng)用于Linux系統(tǒng)。

Realtime support (EXPERIMENTAL),實(shí)時(shí)卷的支持,能大幅提高大文件的讀寫速度。不過并不太安全,建議暫時(shí)不要選擇這一選項(xiàng)。

Quota support,XFS文件系統(tǒng)的配額支持。

Security Label support,擴(kuò)展的安全標(biāo)簽支持。

POSIX ACL support,POSIX系統(tǒng)的訪問權(quán)限列表支持。

Minix fs support,Minix可能是最早的Linux系統(tǒng)所使用的文件系統(tǒng)。后來被Ext2文件系統(tǒng)所取代。

ROM file system support,內(nèi)存文件系統(tǒng)的支持。除非你是嵌入式系統(tǒng)的開發(fā)者,明確知道你要干什么,否則不要選這一項(xiàng)。

Quota support,配額支持。也就是說限制某個(gè)用戶或者某組用戶的磁盤占用空間。

Old quota format support,舊版本的配額支持。

Quota format v2 support,新版本(第二版)的配額支持。

Dnotify support,基于目錄的文件變化的通知機(jī)制。

Kernel automounter support,內(nèi)核自動(dòng)加載遠(yuǎn)程文件系統(tǒng)的支持。

Kernel automounter version 4 support (also supports v3),新的(第四版)的內(nèi)核自動(dòng)加載遠(yuǎn)程文件系統(tǒng)的支持,也支持第三版。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
詳細(xì)解析 Linux內(nèi)核的主要配置選項(xiàng) 2
Linux環(huán)境下的ReiserFS文件系統(tǒng)
【轉(zhuǎn)】Linux內(nèi)核裁剪的具體步驟 - 沉默 - ChinaUnix個(gè)人空間 - Powe...
帶你閱讀linux內(nèi)核源碼:下載源碼、編譯內(nèi)核并運(yùn)行一個(gè)最小系統(tǒng)
crux linux 安裝
RedHat Enterprise Linux在IBM System x服務(wù)器上的調(diào)優(yōu)(一)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服