欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
2.6內核的配置與編譯

2.6內核的配置與編譯1-2

Posted by tramp |

作者:阿銳

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

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

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

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

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

2.6內核的配置與編譯(2)
 
通用設置選項,
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字符以?xún)鹊淖址?,你在這里填上的字符口串可以用uname -a命令看到。

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

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

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

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

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

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

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。

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

Kernel Userspace Events:內核中分為系統區和用戶(hù)區,這里系統區和用戶(hù)區進(jìn)行通訊的一種方式,選上。

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

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

Load all symbols for debugging/kksymoops:是否裝載所有的調試符號表信息,如果你不需要對內核調試,不需要選擇此項。

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

Enable eventpoll support:不選這個(gè)內核將不支持事件輪循的系統調用,最好選上。

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

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

后面的這四項都是在編譯時(shí)內存中的對齊方式,0表示編譯器的默認方式。使用內存對齊能提高程序的運行速度,但是會(huì )增加程序對內存的使用量。
內核也是一組程序呀。
2.6內核的配置與編譯(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)內核,而不是使用模塊的方式。這樣做非常不好(個(gè)人覺(jué)得)。其實(shí)我也做過(guò)嵌入式的開(kāi)發(fā),在針對特定硬件的平臺下盡可能將內核編小,將始終是支持模塊加載的。例如我們開(kāi)發(fā)的防火墻就是做為內核的模塊被加載的。使用模塊支持,你的系統能具有更好的可擴充性。還有一個(gè)原因就是自己編寫(xiě)的功能模塊、設備驅動(dòng)模塊(假設編寫(xiě)的質(zhì)量不高)以模塊方式工作引起Kernel Panic的機率要遠遠低于不支持模塊全部編進(jìn)內核的方式。講了這么多,終于可以理直氣壯的選上這一功能了。

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

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

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

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

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

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

處理器內型及特性,
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,這沒(méi)什么好說(shuō)的,如果用PC機的話(huà)都選這個(gè)。

Processor family,這也沒(méi)什么好說(shuō)的,選擇你機器對應的處理器即可。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2.6內核的配置與編譯(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,電源管理沒(méi)什么好說(shuō)的,不想浪費電就選上。如果不選你可以跳過(guò)這部份。

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

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


2.6內核的配置與編譯(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是否支持。如果支持的話(huà)建議你選上這項。

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

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

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

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

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

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

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

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

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

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

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

Debug Statements,詳細的ACPI調試信息,不搞開(kāi)發(fā)就別選。

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

 

2.6內核的配置與編譯(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,高級電源管理的支持,一般來(lái)說(shuō)筆記本應該選上,臺式機可以不選。

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

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

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

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

RTC stores time in GMT,按Unix的標準,硬件的時(shí)鐘應該設為格林威治時(shí)間。還是那句老話(huà),因為我還要用Windows,所以硬件時(shí)鐘設成了本地時(shí)間,當然就不要選這項了。

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

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

 

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

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

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


2.6內核的配置與編譯(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,這一選項允許改變CPU的主頻,使CPU在低負荷或使用電池時(shí)降低主頻,達到省電的目的。

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

/proc/cpufreq interface (deprecated) ,是否允許/proc/cpufreq來(lái)調節主頻,建議使用默認的sysfs來(lái)調節。

Default CPUFreq governor (performance) --->,默認的主頻調節,圓括號內的是你選擇的結果,這里表示以性能為主。

‘powersave‘ governor,最大限度的節約電能調節器。

‘userspace‘ governor for userspace frequency scaling,用戶(hù)自定義調節器。

/proc/sys/cpu/ interface (2.4. / OLD),兼容2.4內核的用戶(hù)調節器。

‘ondemand‘ cpufreq policy governor,自動(dòng)調節主頻。

CPU frequency table helpers,多數的CPU需要這一項來(lái)調節主頻。

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

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

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

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

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

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

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

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

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,有的系統雖然支持Speedstep技術(shù),卻無(wú)法通過(guò)全面的檢測。

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

總線(xiàn)類(lèi)型,
[*] 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,沒(méi)有人不知道這是什么總線(xiàn)類(lèi)型吧,實(shí)在不知道就去google查吧,這個(gè)當然要選上。

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

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

Legacy /proc/pci interface,是否使用/proc/pci目錄下的信息文件來(lái)描述PCI設備的信息?,F在的系統多數都使用lspci工具來(lái)得到這樣的信息。

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

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

EISA support,擴展工業(yè)總線(xiàn)。

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

PCI/EISA bridge,PCI、EISA兩種總線(xiàn)的橋。

EISA virtual root device,EISA總線(xiàn)的虛擬根設備。

EISA device name database,內核中的EISA設備信息庫。

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

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

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

2.6內核的配置與編譯(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插槽,如果你是臺式機的話(huà),可以不選這一項,然后跳過(guò)這一部份。

Enable PCCARD debugging,通常不需要選擇調試PCMCIA設備,除非你是設備驅動(dòng)的開(kāi)發(fā)人員。

Enable obsolete PCCARD code,老式的PCMCIA設備只持?,F在很少有這樣的設備了,除非你買(mǎi)這樣的設備時(shí)帶了張Linux的驅動(dòng)光盤(pán)才需要選上。而且估計你也只能在二手市場(chǎng)上買(mǎi)到這樣的設備。

16-bit PCMCIA support,16位的PCMCIA總線(xiàn)支持。

32-bit CardBus support,32位的PCMCIA總線(xiàn)支持,通常也叫PCMCIA II總線(xiàn)。

下面的是不同產(chǎn)家的PCMCIA芯片的驅動(dòng)支持,如果你知道你的本本用的是什么芯片組的話(huà),可以只選它而不選其它的。要是你不知道可以象我一樣的全部選上,然后用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內核的配置與編譯(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),一般來(lái)講只有服務(wù)器上會(huì )有熱插拔的設備,如果你使用的是臺式機,你可以不選擇此項并跳過(guò)這一部份。(其實(shí)我也沒(méi)有選這一項,只是為了講解的方便而選上的。)

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

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

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

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

CompactPCI Hotplug driver (NEW),精簡(jiǎn)PCI總線(xiàn)的熱插拔設備的支持,通常在嵌入式系統中會(huì )用到精簡(jiǎn)PCI總線(xiàn)。

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

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

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

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

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

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

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

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

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

文件系統,
<*> 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  --->
   
  有人說(shuō)在編譯內核時(shí)應該將/boot分區和/分區的文件系統編譯進(jìn)內核,其它的可以編譯成模塊。對,但不確切。讓我們來(lái)一起了解一下linux系統的啟動(dòng)順序。在內核被加載后,如果initrd參數傳入了內核,內核會(huì )去調用指定的文件。當然,initrd和System.map通常都是/boot下。但是同樣可以用initrd=(hd1,2)/initrd.img這樣的方式指定。內核啟動(dòng)完成后將調用/sbin/init,(如果是鏈接要保證目標文件能被內核加載)。不同的系統的啟動(dòng)腳本可能不太一樣,這里不詳細介紹。啟動(dòng)腳本向內核加載模塊時(shí)可能用/sbin/modprobe或 /sbin/insmod,由此看來(lái)/sbin的文件系統是要內核支持的。編譯的內核模塊一般在/lib/modules/的版本目錄下,所以 /lib/modules的文件系統是要內核支持的。一旦其它文件系統的模塊能加載,系統就能向正常的訪(fǎng)問(wèn)內核中的文件系統一樣訪(fǎng)問(wèn)模塊支持的文件系統了。由于啟動(dòng)腳本、fstab自動(dòng)加載等文件一般在/etc目錄下,因此/etc的文件系統是要內核支持的。
  這里概要的介紹了保證系統正常啟動(dòng)的幾個(gè)關(guān)鍵點(diǎn),可能我反而把它講復雜了。如果你能理解上面的這段話(huà),你應該能清楚的知道哪些文件系統是要編譯進(jìn)內核的,哪些是可以編譯成模塊的。如果你不太理解上面的這段話(huà),下篇貼子我將詳細介紹每個(gè)選項及幾種常用的文件系統。當然這里面包含了我的偏見(jiàn),如果你覺(jué)得我的說(shuō)法不準確,有誤導看官的地方,請一定指出來(lái)。我在此先表示多謝了。

2.6內核的配置與編譯(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,標準的Linux文件系統,建議將這種文件系統編譯進(jìn)內核。

Ext2 extended attributes,Ext2文件系統的結點(diǎn)名稱(chēng)、屬性的擴展支持。

Ext2 POSIX Access Control Lists,POSIX系統的訪(fǎng)問(wèn)權限列表支持。也就是Owner/Group/Others的Read/Write/Execute權限。請參考Unix標準文件系統權限。

Ext2 Security Labels,擴展的安全標簽,例如SElinux之類(lèi)的安全系統會(huì )使用到這樣的擴展安全屬性。

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

Ext3 extended attributes,Ext3文件系統的結點(diǎn)名稱(chēng)、屬性的擴展支持。

Ext3 POSIX Access Control Lists,POSIX系統的訪(fǎng)問(wèn)權限列表支持。

Ext3 Security Labels,擴展的安全標簽支持。

JBD (ext3) debugging support,Ext3的調試。除非你是文件系統的開(kāi)發(fā)者,否則不要選上這一項。

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

Enable reiserfs debug mode,Reiserfs的調試。除非你是文件系統的開(kāi)發(fā)者,否則不要選上這一項。

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

ReiserFS extended attributes,Reiserfs,文件系統的結點(diǎn)名稱(chēng)、屬性的擴展支持。

ReiserFS POSIX Access Control Lists,POSIX系統的訪(fǎng)問(wèn)權限列表支持。

ReiserFS Security Labels,擴展的安全標簽支持。

JFS filesystem support,JFS是IBM公司設計用于A(yíng)IX系統上的文件系統。后來(lái)這一文件系統也能應用于Linux系統。

JFS POSIX Access Control Lists,POSIX系統的訪(fǎng)問(wèn)權限列表支持。

JFS debugging,JFS的調試。除非你是文件系統的開(kāi)發(fā)者,否則不要選上這一項。

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

XFS filesystem support,XFS是SGI公司為其圖形工作站設計的一種文件系統,后來(lái)這一文件系統也能應用于Linux系統。

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

Quota support,XFS文件系統的配額支持。

Security Label support,擴展的安全標簽支持。

POSIX ACL support,POSIX系統的訪(fǎng)問(wèn)權限列表支持。

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

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

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

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

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

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

Kernel automounter support,內核自動(dòng)加載遠程文件系統的支持。

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

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久