1. 程式人生 > >今天親自編譯核心,沒有經歷錯誤的折磨!!!

今天親自編譯核心,沒有經歷錯誤的折磨!!!

  今天上午起床就想編譯一下核心,以後要用到的,就是那個zimage拉。

  廢話少說:

  開始就是下載最新的核心,我用的FC5,核心已經很新了, 是2.6.8,在www.kernel.org下載了一個最新的核心,2.6.20的。

  網上好多參考的資料,什麼做法都有,還有一個網站上說要下載一個什麼東西來著我忘記了,我就沒有下,看到那些東西都覺得好恐怖的。我用的最直接最容易上手的方法.

  把kernel下載到隨便一個地方,tar:之後把壓縮包放到/usr/src/redhat/SOURCES/下面.

整體上分為三步:1、配置核心(就是確定哪些功能要保留在編譯好的核心中,哪些功能要從核心中刪除),生成一個編譯配置檔案.config 

2、編譯核心。

3、 安裝核心。

 之後的就是正式的步驟:

進入當前的目錄/usr/src/redhat/SOURCES/linux-2.6.20

清除當前目錄下編譯設定:

$make mrproper

該命令確保目錄下沒有相關的檔案和配置,如果已經編譯過linux核心,建議使用該命令

 配置核心模組的功能,有幾種方式可以進行介面選擇:

$make config(文字的配置方式,需要使用者自己寫配置檔案)

$make menuconfig(文字選單的配置方式,在有字元終端下才能使用)

$make xconfig(圖形視窗模式的配置方式,必須支援Xwindow下才能使用)

$make oldconfig(文字配置方式,在原核心配置的基礎修改時使用)

這裡推薦make xconfig方式,圖形視窗的配置比較直觀,對應每一項相應的配置時,有三種選擇:

Y--該模組編譯進核心

N--該模組不編譯進核心

M--該模組編譯成可載入核心模組

     核心編譯中各項模組功能的選擇請參考最下面的文章。

這裡我選擇的是:menuconfig,進去之後是一個藍色介面.總共有10多個大的條目,按enter進入,前面有[ ]的可以直接輸入大寫的Y/N,Y顯示是一個*,而N是預設的選擇就是[空白],如果你要選擇就按下Y,或者不選N,當然了還有[m].其實條目下面可能還有一個東西就是---->,也是按回車進入設定.好像還有一個X選擇的,進入了就曉得拉.

然後, 核心模組檔案連線    :

$make

在進行該步時如果出現錯誤,而且這些錯誤支援的模組省略了對編譯沒有影響,可以去掉,在進行了修改之後要重新進行make。

         核心模組的編譯        :

$make modules

          核心模組的安裝        :

$make modules_install

          安裝環境的安裝        :

$make install

一般的可以認為到這裡就算完成了核心的編譯和安裝,最後的shell可以告訴你生成了什麼東西就是.config檔案,還有一個zimage檔案,好像還有一個什麼東西我不記得了.

重啟,就會看到還有一個問題,在grub啟動的選擇釐米,有3個鼕鼕,一個是windows一個是最新的版本的核心,還有一個以前的核心版本,我嘗試過了,最新的可以進去,老的版本是不可以進去的,應該是config檔案,還有一個zimage檔案被新的核心給覆蓋了吧.

然後就是解決這裡沒有的啟動選項,記得以前就設定過grub,cd /etc,之後vi ./grub.conf,把第一個2改變成1,或者0,即從windows啟動或者linux,下面有3個title,把老版本的那個title相關的東西全部給刪除了就可以了,重啟了就可以了.呵呵

再看就可以看見grub的啟動選項裡面就只有兩個了,之前千萬不要刪除錯了title就可以了.

我的這一切都很順利沒有遇到error,make的時候有一些警告,都是說什麼沒有初始化,或者說過時了,過時就過時了沒有關係.不要鳥他們.

注意事項:

1.在配置時,在一個項上,按Y就是把一個功能編譯到核心中,按N就是去該功能,按M就是將該功能編譯成模組,
並且,不是所有的功能都能編譯成模組,通常是一些驅動程式可以編譯成模組。


 2.配置時,有幾個項必須被編譯到核心,而不能去掉或是編譯成模組,否則編譯好的核心肯定不能正常啟動。這幾個模組是File System選單下的Ext3 journalling file system support子項下所有的項。注意,Ext3 journalling file system support下面又含有兩個子項:Ext3 extended attributes和JBD(ext3) debugging support,這些項全部選中Y,以便將其編譯進核心。

 3.如果上面的都做過了,開機時,新核心還是不能正常 使用,那麼,就進入舊核心,把/etc/selinux中的config
中的SELINUX項給禁止掉即可。

 4.對於膝上型電腦,帶DVD-光碟機的,注意,還必須選中File System項下的Micellaneous Filesystem support下的
UFS開關的一項,否則有可能啟動不了。

下面給出核心配置的參考文章:(都是一些具體的選擇方法參考)

Code maturity level options
程式碼成熟度選項

Prompt for development and/or incomplete code/drivers
顯示尚在開發中或尚未完成的程式碼與驅動.除非你是測試人員或者開發者,否則請勿選擇

General setup
常規設定

Local version - append to kernel release
在核心版本後面加上自定義的版本字串(小於64字元),可以用"uname -a"命令看到
Automatically append version information to the version string
自動在版本字串後面新增版本資訊,編譯時需要有perl以及git倉庫支援
Support for paging of anonymous memory (swap)
使用交換分割槽或者交換檔案來做為虛擬記憶體
System V IPC
System V程序間通訊(IPC)支援,許多程式需要這個功能.必選,除非你知道自己在做什麼
IPC Namespaces
IPC名稱空間支援,不確定可以不選
POSIX Message Queues
POSIX訊息佇列,這是POSIX IPC中的一部分
BSD Process Accounting
將程序的統計資訊寫入檔案的使用者級系統呼叫,主要包括程序的建立時間/建立者/記憶體佔用等資訊
BSD Process Accounting version 3 file format
使用新的第三版檔案格式,可以包含每個程序的PID和其父程序的PID,但是不相容老版本的檔案格式
Export task/process statistics through netlink
通過netlink介面向用戶空間匯出任務/程序的統計資訊,與BSD Process Accounting的不同之處在於這些統計資訊在整個任務/程序生存期都是可用的
Enable per-task delay accounting
在統計資訊中包含程序等候系統資源(cpu,IO同步,記憶體交換等)所花費的時間
UTS Namespaces
UTS名字空間支援,不確定可以不選
Auditing support
審計支援,某些核心模組(例如SELinux)需要它,只有同時選擇其子項才能對系統呼叫進行審計
Enable system-call auditing support
支援對系統呼叫的審計
Kernel .config support
把核心的配置資訊編譯進核心中,以後可以通過scripts/extract-ikconfig指令碼來提取這些資訊
Enable access to .config through /proc/config.gz
允許通過/proc/config.gz訪問核心的配置資訊
Cpuset support
只有含有大量CPU(大於16個)的SMP系統或NUMA(非一致記憶體訪問)系統才需要它
Kernel->user space relay support (formerly relayfs)
在某些檔案系統上(比如debugfs)提供從核心空間向用戶空間傳遞大量資料的介面
Initramfs source file(s)
initrd已經被initramfs取代,如果你不明白這是什麼意思,請保持空白
Optimize for size (Look out for broken compilers!)
編譯時優化核心尺寸(使用"-Os"而不是"-O2"引數編譯),有時會產生錯誤的二進位制程式碼
Enable extended accounting over taskstats
收集額外的程序統計資訊並通過taskstats介面傳送到使用者空間
Configure standard kernel features (for small systems)
配置標準的核心特性(為小型系統)
Enable 16-bit UID system calls
允許對UID系統呼叫進行過時的16-bit包裝
Sysctl syscall support
不需要重啟就能修改核心的某些引數和變數,如果你也選擇了支援/proc,將能從/proc/sys存取可以影響核心行為的引數或變數
Load all symbols for debugging/kksymoops
裝載所有的除錯符號表資訊,僅供除錯時選擇
Include all symbols in kallsyms
在kallsyms中包含核心知道的所有符號,核心將會增大300K
Do an extra kallsyms pass
除非你在kallsyms中發現了bug並需要報告這個bug才打開該選項
Support for hot-pluggable devices
支援熱插拔裝置,如usb與pc卡等,Udev也需要它
Enable support for printk
允許核心向終端列印字元資訊,在需要診斷核心為什麼不能執行時選擇
BUG() support
顯示故障和失敗條件(BUG和WARN),禁用它將可能導致隱含的錯誤被忽略
Enable ELF core dumps
記憶體轉儲支援,可以幫助除錯ELF格式的程式
Enable full-sized data structures for core
在核心中使用全尺寸的資料結構.禁用它將使得某些核心的資料結構減小以節約記憶體,但是將會降低效能
Enable futex support
快速使用者空間互斥體可以使執行緒序列化以避免競態條件,也提高了響應速度.禁用它將導致核心不能正確的執行基於glibc的程式
Enable eventpoll support
支援事件輪循的系統呼叫
Use full shmem filesystem
啟用shmem支援.shmem是基於共享記憶體的檔案系統(可能用到swap),在啟用TMPFS後可以掛載為tmpfs供使用者空間使用,它比簡單的ramfs先進許多
Use full SLAB allocator
使用SLAB完全取代SLOB進行記憶體分配,SLAB是一種優秀的記憶體分配管理器,推薦使用
Enable VM event counters for /proc/vmstat
允許在/proc/vmstat中包含虛擬記憶體事件記數器

Loadable module support
可載入模組支援

Enable loadable module support
開啟可載入模組支援,如果開啟它則必須通過"make modules_install"把核心模組安裝在/lib/modules/中
Module unloading
允許解除安裝已經載入的模組
Forced module unloading
允許強制解除安裝正在使用中的模組(比較危險)
Module versioning support
允許使用其他核心版本的模組(可能會出問題)
Source checksum for all modules
為所有的模組校驗原始碼,如果你不是自己編寫核心模組就不需要它
Automatic kernel module loading
讓核心通過執行modprobe來自動載入所需要的模組,比如可以自動解決模組的依賴關係

Block layer
塊裝置層

Enable the block layer
塊裝置支援,使用硬碟/USB/SCSI裝置者必選
Support for Large Block Devices
僅在使用大於2TB的塊裝置時需要
Support for tracing block io actions
塊佇列IO跟蹤支援,它允許使用者檢視在一個塊裝置佇列上發生的所有事件,可以通過blktrace程式獲得磁碟當前的詳細統計資料
Support for Large Single Files
僅在可能使用大於2TB的檔案時需要
IO Schedulers
IO排程器
Anticipatory I/O scheduler
假設一個塊裝置只有一個物理查詢磁頭(例如一個單獨的SATA硬碟),將多個隨機的小寫入流合併成一個大寫入流,用寫入延時換取最大的寫入吞吐量.適用於大多數環境,特別是寫入較多的環境(比如檔案伺服器)
Deadline I/O scheduler
使用輪詢的排程器,簡潔小巧,提供了最小的讀取延遲和尚佳的吞吐量,特別適合於讀取較多的環境(比如資料庫)
CFQ I/O scheduler
使用QoS策略為所有任務分配等量的頻寬,避免程序被餓死並實現了較低的延遲,可以認為是上述兩種排程器的折中.適用於有大量程序的多使用者系統
Default I/O scheduler
預設IO排程器

Processor type and features
中央處理器(CPU)型別及特性

Symmetric multi-processing support
對稱多處理器支援,如果你有多個CPU或者使用的是多核CPU就選上.此時"Enhanced Real Time Clock Support"選項必須開啟,"Advanced Power Management"選項必須關閉
Subarchitecture Type
處理器的子架構,大多數人都應當選擇"PC-compatible"
Processor family
處理器系列,請按照你實際使用的CPU選擇
Generic x86 support
通用x86支援,如果你的CPU能夠在上述"Processor family"中找到就別選
HPET Timer Support
HPET是替代8254晶片的新一代定時器,i686及以上級別的主機板都支援,可以安全的選上
Maximum number of CPUs
支援的最大CPU數,每增加一個核心將增加8K體積
SMT (Hyperthreading) scheduler support
支援Intel的超執行緒(HT)技術
Multi-core scheduler support
針對多核CPU進行排程策略優化
Preemption Model
核心搶佔模式
No Forced Preemption (Server)
適合伺服器環境的禁止核心搶佔
Voluntary Kernel Preemption (Desktop)
適合普通桌面環境的自願核心搶佔
Preemptible Kernel (Low-Latency Desktop)
適合執行實時程式的主動核心搶佔
Preempt The Big Kernel Lock
可以搶佔大核心鎖,應用於實時要求高的場合,不適合伺服器環境
Machine Check Exception
讓CPU檢測到系統故障時通知核心,以便核心採取相應的措施(如過熱關機等)
Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4
每5秒檢測一次這些cpu的非致命錯誤並糾正它們,同時記入日誌
check for P4 thermal throttling interrupt
當P4的cpu過熱時顯示一條警告訊息
Enable VM86 support
虛擬X86支援,在DOSEMU下執行16-bit程式或XFree86通過BIOS初始化某些顯示卡的時候才需要
Toshiba Laptop support
Toshiba筆記本模組支援
Dell laptop support
Dell筆記本模組支援
Enable X86 board specific fixups for reboot
修正某些舊x86主機板的重起bug,這種主機板基本絕種了
/dev/cpu/microcode - Intel IA32 CPU microcode support
使用不隨Linux核心發行的IA32微程式碼,你必需有IA32微程式碼二進位制檔案,僅對Intel的CPU有效
/dev/cpu/*/msr - Model-specific register support
在多cpu系統中讓特權CPU訪問x86的MSR暫存器
/dev/cpu/*/cpuid - CPU information support
能從/dev/cpu/x/cpuid獲得CPU的唯一識別符號(CPUID)
Firmware Drivers
韌體驅動程式
BIOS Enhanced Disk Drive calls determine boot disk
有些BIOS支援從某塊特定的硬碟啟動(如果BIOS不支援則可能無法啟動),目前大多數BIOS還不支援
BIOS update support for DELL systems via sysfs
僅適用於DELL機器
Dell Systems Management Base Driver
僅適用於DELL機器
High Memory Support
最高記憶體支援,總記憶體小於等於1G的選"off",大於4G的選"64G"
Memory split
如果你不是絕對清楚自己在做什麼,不要改動這個選項
Memory model
一般選"Flat Memory",其他選項涉及記憶體熱插拔
64 bit Memory and IO resources
使用64位的記憶體和IO資源
Allocate 3rd-level pagetables from highmem
在記憶體很多(大於4G)的機器上將使用者空間的頁表放到高位記憶體區,以節約寶貴的低端記憶體
Math emulation
數學協處理器模擬,486DX以上的cpu就不要選它了
MTRR (Memory Type Range Register) support
開啟它可以提升PCI/AGP總線上的顯示卡2倍以上的速度,並且可以修正某些BIOS錯誤
Boot from EFI support
EFI是一種可代替傳統BIOS的技術(目前的Grub/LILO尚不能識別它),但是現在遠未普及
Enable kernel irq balancing
讓核心將irq中斷平均分配給多個CPU以進行負載均衡,但是要配合irqbanlance守護程序才行
Use register arguments
使用"-mregparm=3"引數編譯核心,將前3個引數以暫存器方式進行引數呼叫,可以生成更緊湊和高效的程式碼
Enable seccomp to safely compute untrusted bytecode
只有嵌入式系統可以不選
Timer frequency
核心時鐘頻率,桌面推薦"1000 HZ",伺服器推薦"100 HZ"或"250 HZ"
kexec system call
提供kexec系統呼叫,可以不必重啟而切換到另一個核心
kernel crash dumps
被kexec啟動後產生核心崩潰轉儲
Physical address where the kernel is loaded
核心載入的實體地址,除非你知道自己在做什麼,否則不要修改.在提供kexec系統呼叫的情況下可能要修改它
Support for hot-pluggable CPUs
對熱插拔CPU提供支援
Compat VDSO support
如果Glibc版本大於等於2.3.3就不選,否則就選上

Power management options
電源管理選項

Power Management support
電源管理有APM和ACPI兩種標準且不能同時使用.即使關閉該選項,X86上執行的Linux也會在空閒時發出HLT指令將CPU進入睡眠狀態
Legacy Power Management API
傳統的電源管理API,比如軟關機和系統休眠等介面
Power Management Debug Support
僅供除錯使用
Driver model /sys/devices/.../power/state files
核心幫助文件反對使用該選項,即將被廢除
ACPI (Advanced Configuration and Power Interface) Support
必須執行acpid守護程式ACPI才能起作用.ACPI是為了取代APM而設計的,因此應該儘量使用ACPI而不是APM
AC Adapter
如果你的系統可以在AC和電池之間轉換就可以選
Battery
通過/proc/acpi/battery向用戶提供電池狀態資訊,用電池的筆記本可以選
Button
守護程式捕獲Power,Sleep,Lid按鈕事件,並根據/proc/acpi/event做相應的動作,軟體控制的poweroff需要它
Video
僅對整合在主機板上的顯示卡提供ACPI2.0支援,且不是所有整合顯示卡都支援
Generic Hotkey
統一的熱鍵驅動,建議不選
Fan
允許通過使用者層的程式來對系統風扇進行控制(開,關,查詢狀態),支援它的硬體並不多
Dock
支援由ACPI控制的集線器(docking stations)
Processor
讓ACPI處理空閒狀態,並使用ACPI C2和C3處理器狀態在空閒時節省電能,同時它還被cpufreq的"Performance-state drivers"選項所依賴
Thermal Zone
系統溫度過高時可以利用ACPI thermal zone及時調整工作狀態以避免你的CPU被燒燬
ASUS/Medion Laptop Extras
ASUS筆記本專用,以提供額外按鈕的支援,使用者可以通過/proc/acpi/asus來開啟或者關閉LCD的背光/調整亮度/定製LED的閃爍指示等功能
IBM ThinkPad Laptop Extras
IBM ThinkPad專用
Toshiba Laptop Extras
Toshiba筆記本專用
Disable ACPI for systems before Jan 1st this year
輸入四位數的年份,在該年的1月1日前不使用ACPI的功能("0"表示一直使用)
Debug Statements
詳細的ACPI除錯資訊,不搞開發就別選
Power Management Timer Support
這個Timer在所有ACPI相容的平臺上都可用,且不會受PM功能的影響,建議總是啟用它.如果你在kernel log中看到了'many lost ticks'那就必須啟用它
ACPI0004,PNP0A05 and PNP0A06 Container Driver
支援記憶體和CPU的熱插拔
Smart Battery System
支援依賴於I2C的"智慧電池".這種電池非常老舊且罕見,還與當前的ACPI標準相容性差
APM (Advanced Power Management) BIOS Support
APM在SMP機器上必須關閉,一般來說當前的筆記本都支援ACPI,所以應儘量關閉該該選項
Ignore USER SUSPEND
只有NEC Versa M系列的筆記本才需要選擇這一項
Enable PM at boot time
系統啟動時即啟用APM,選上這個選項能讓系統自動的進行電源管理,但常常導致啟動時宕機
Make CPU Idle calls when idle
系統空閒時呼叫空閒指令(halt),只有老式的CPU才需要選它,且對於SMP系統必須關閉
Enable console blanking using APM
在螢幕空白時關閉LCD背光,事實上對所有的筆記本都無效
RTC stores time in GMT
將硬體時鐘應該設為格林威治時間,否則視為本地時間.建議你使用GMT,這樣你無須為時區的改變而擔心
Allow interrupts during APM BIOS calls
允許APM的BIOS呼叫時中斷,IBM Thinkpad的一些新機器需要這項.如果休眠時掛機(包括睡下去就醒不來),可以試試它
Use real mode APM BIOS call to power off
此驅動為某些有Bug的BIOS準備,如果你的系統不能正常關機或關機時崩潰,可以試試它
CPU Frequency scaling
允許動態改變CPU主頻,達到省電和降溫的目的,必須同時啟用下面的一種governor才行
Enable CPUfreq debugging
允許對CPUfreq進行除錯
CPU frequency translation statistics
通過sysfs檔案系統輸出CPU頻率變換的統計資訊
CPU frequency translation statistics details
輸出詳細的CPU頻率變換統計資訊
Default CPUFreq governor
預設的CPU頻率調節器
'performance' governor
'效能'優先,靜態的將頻率設定為cpu支援的最高頻率
'powersave' governor
'節能'優先,靜態的將頻率設定為cpu支援的最低頻率
'userspace' governor for userspace frequency scaling
既允許手動調整cpu頻率,也允許使用者空間的程式動態的調整cpu頻率(需要額外的調頻軟體,比如cpufreqd)
'ondemand' cpufreq policy governor
'立即響應',週期性的考察CPU負載並自動的動態調整cpu頻率(不需要額外的調頻軟體),適合桌上型電腦
'conservative' cpufreq governor
'保守',和'ondemand'相似,但是頻率的升降是漸變式的(幅度不會很大),更適合用於筆記本/PDA/AMD64環境
ACPI Processor P-States driver
將ACPI2.0的處理器效能狀態報告給CPUFreq processor drivers以決定如何調整頻率,該選項依賴於ACPI->Processor
{省略的部分請按照自己實際使用的CPU選擇}
/proc/acpi/processor/../performance interface
核心幫助文件反對使用該選項,即將被廢除
Relaxed speedstep capability checks
放鬆對系統的speedstep相容性檢查,僅在某些老舊的Intel系統上需要開啟

Bus options (PCI, PCMCIA, EISA, MCA, ISA)
匯流排選項

PCI support
PCI支援,如果使用了PCI或PCI Express裝置就必選
PCI access mode
PCI訪問模式,強列建議選"Any"(系統將優先使用"MMConfig",然後使用"BIOS",最後使用"Direct"檢測PCI裝置)
PCI Express support
PCI Express支援(目前主要用於顯示卡和千兆網絡卡)
PCI Express Hotplug driver
如果你的主機板和裝置都支援PCI Express熱插拔就可以選上
Use polling mechanism for hot-plug events
對熱插拔事件採用輪詢機制,僅用於測試目的
Root Port Advanced Error Reporting support
由PCI Express AER驅動程式處理髮送到Root Port的錯誤資訊
Message Signaled Interrupts (MSI and MSI-X)
充許裝置通過PCI匯流排寫入記憶體堆疊產生一箇中斷而不是使用預設的IRQ中斷,建議不選
PCI Debugging
將PCI除錯資訊輸出到系統日誌裡
Interrupts on hypertransport devices
允許本地的hypertransport裝置使用中斷
ISA support
現在基本上沒有ISA的裝置了,如果你有就選吧
MCA support
微通道匯流排,老舊的IBM的桌上型電腦和筆記本上可能會有這種匯流排
NatSemi SCx200 support
在使用AMD Geode處理器的機器上才可能有
PCCARD (PCMCIA/CardBus) support
PCMCIA卡(主要用於筆記本)支援
Enable PCCARD debugging
僅供除錯
16-bit PCMCIA support
一些老的PCMCIA卡使用16位的CardBus
32-bit CardBus support
當前的PCMCIA卡基本上都是32位的CardBus
CardBus yenta-compatible bridge support
使用PCMCIA卡的基本上都需要選擇這一項,子項請按照自己實際使用的PCMCIA卡選擇
{省略的部分請按照自己實際使用的PCMCIA卡選擇}
PCI Hotplug Support
PCI熱插拔支援,如果你有這樣的裝置就到子項中去選吧

Executable file formats
可執行檔案格式

Kernel support for ELF binaries
ELF是開放平臺下最常用的二進位制檔案格式,支援動態連線,支援不同的硬體平臺.除非你知道自己在做什麼,否則必選
Kernel support for a.out and ECOFF binaries
早期UNIX系統的可執行檔案格式,目前已經被ELF格式取代
Kernel support for MISC binaries
允許插入二進位制的封裝層到核心中,使用Java,.NET,Python,Lisp等語言編寫的程式時需要它

Networking
網路

Networking options
網路選項
Network packet debugging
在除錯不合格的包時加上額外的附加資訊,但在遇到Dos攻擊時你可能會被日誌淹沒
Packet socket
這種Socket可以讓應用程式(比如tcpdump,iptables)直接與網路裝置通訊,而不通過核心中的其它中介協議
Packet socket: mmapped IO
讓Packet socket驅動程式使用IO對映機制以使連線速度更快
Unix domain sockets
一種僅運行於本機上的效率高於TCP/IP的Socket,簡稱Unix socket.許多程式都使用它在作業系統內部進行程序間通訊(IPC),比如X Window和syslog
Transformation user configuration interface
為IPsec(可在ip層加密)之類的工具提供XFRM使用者配置介面支援
Transformation sub policy support
XFRM子策略支援,僅供開發者使用
PF_KEY sockets
用於可信任的金鑰管理程式和作業系統核心內部的金鑰管理進行通訊,IPsec依賴於它
TCP/IP networking
TCP/IP協議當然要選
IP: multicasting
群組廣播,似乎與網格計算有關,僅在使用MBONE的時候才需要
IP: advanced router
高階路由,如果想做一個路由器就選吧
IP: policy routing
策略路由
IP: equal cost multipath
用於路由的基於目的地址的負載均衡
IP: verbose route monitoring
顯示冗餘的路由監控資訊
IP: kernel level autoconfiguration
在核心啟動時自動配置ip地址/路由表等,需要從網路啟動的無盤工作站才需要這個東西
IP: tunneling
IP隧道,將一個IP報文封裝在另一個IP報文內的技術
IP: GRE tunnels over IP
基於IP的GRE(通用路由封裝)隧道
IP: multicast routing
多重傳播路由
IP: ARP daemon support
這東西尚處於試驗階段就已經被廢棄了
IP: TCP syncookie support
抵抗SYN flood攻擊的好東西,要啟用它必須同時啟用/proc檔案系統和"Sysctl support",然後在系統啟動並掛載了/proc之後執行"echo 1 >/proc/sys/net/ipv4/tcp_syncookies"命令
IP: AH transformation
IPsec驗證頭(AH)實現了資料傳送方的驗證處理,可確保資料既對於未經驗證的站點不可用也不能在路由過程中更改
IP: ESP transformation
IPsec封閉安全負載(ESP)實現了傳送方的驗證處理和資料加密處理,用以確保資料不會被攔截/檢視或複製
IP: IPComp transformation
IPComp(IP靜荷載壓縮協議),用於支援IPsec
IP: IPsec transport mode
IPsec傳輸模式,常用於對等通訊,用以提供內網安全.資料包經過了加密但IP頭沒有加密,因此任何標準裝置或軟體都可檢視和使用IP頭
IP: IPsec tunnel mode
IPsec隧道模式,用於提供外網安全(包括虛擬專用網路).整個資料包(資料頭和負載)都已經過加密處理且分配有新的ESP頭/IP頭和驗證尾,從而能夠隱藏受保護站點的拓撲結構
IP: IPsec BEET mode
IPsec BEET模式
INET: socket monitoring interface
socket監視介面,一些Linux本地工具(如:包含ss的iproute2)需要使用它
TCP: advanced congestion control
高階擁塞控制,如果沒有特殊需求(比如無線網路)就別選了,核心會自動將預設的擁塞控制設為"Cubic"並將"Reno"作為候補
IP: Virtual Server Configuration
IP虛擬伺服器允許你基於多臺物理機器構建一臺高效能的虛擬伺服器,不玩叢集就別選了
The IPv6 protocol
你要是需要IPv6就選吧
NetLabel subsystem support
NetLabel子系統為諸如CIPSO與RIPSO之類能夠在分組資訊上新增標籤的協議提供支援,如果你看不懂就別選了
Security Marking
對網路包進行安全標記,類似於nfmark,但主要是為安全目的而設計,如果你不明白的話就別選
Network packet filtering (replaces ipchains)
Netfilter可以對資料包進行過濾和修改,可以作為防火牆("packet filter"或"proxy-based")或閘道器(NAT)或代理(proxy)或網橋使用.選中此選項後必須將"Fast switching"關閉,否則將前功盡棄
Network packet filtering debugging
僅供開發者除錯Netfilter使用
Bridged IP/ARP packets filtering
如果你希望使用一個針對橋接的防火牆就開啟它
Core Netfilter Configuration
核心Netfilter配置(當包流過Chain時如果match某個規則那麼將由該規則的target來處理,否則將由同一個Chain中的下一個規則進行匹配,若不match所有規則那麼最終將由該Chain的policy進行處理)
Netfilter netlink interface
允許Netfilter在與使用者空間通訊時使用新的netlink介面.netlink Socket是Linux使用者態與核心態交流的主要方法之一,且越來越被重視
Netfilter NFQUEUE over NFNETLINK interface
通過NFNETLINK介面對包進行排隊
Netfilter LOG over NFNETLINK interface
通過NFNETLINK介面對包記錄.該選項廢棄了ipt_ULOG和ebg_ulog機制,並打算在將來廢棄基於syslog的ipt_LOG和ip6t_LOG模組
Layer 3 Independent Connection tracking
獨立於第三層的連結跟蹤,通過廣義化的ip_conntrack支援其它非IP協議的第三層協議
Netfilter Xtables support
如果你打算使用ip_tables,ip6_tables,arp_tables之一就必須選上
"CLASSIFY" target support
允許為包設定優先順序,一些排隊規則(atm,cbq,dsmark,pfifo_fast,htb,prio)需要使用它
"CONNMARK" target support
類似於"MARK",但影響的是連線標記的值
"DSCP" target support
允許對ip包頭部的DSCP(Differentiated Services Codepoint)欄位進行修改,該欄位常用於Qos
"MARK" target support
允許對包進行標記(通常配合ip命令使用),這樣就可以改變路由策略或者被其它子系統用來改變其行為
"NFQUEUE" target Support
用於替代老舊的QUEUE(iptables內建的target之一),因為NFQUEUE能支援最多65535個佇列,而QUEUE只能支援一個
"NOTRACK" target support
允許規則指定哪些包不進入連結跟蹤/NAT子系統
"SECMARK" target support
允許對包進行安全標記,用於安全子系統
"CONNSECMARK" target support
針對連結進行安全標記,同時還會將連線上的標記還原到包上(如果連結中的包尚未進行安全標記),通常與SECMARK target聯合使用
"comment" match support
允許你在iptables規則集中加入註釋
"connbytes" per-connection counter match support
允許針對單個連線內部每個方向(進/出)匹配已經傳送的位元組數/包數
"connmark" connection mark match support
允許針對每個會話匹配先前由"CONNMARK"設定的標記值
"conntrack" connection tracking match support
連線跟蹤匹配,是"state"的超集,它允許額外的連結跟蹤資訊,在需要設定一些複雜的規則(比如閘道器)時很有用
"DCCP" protocol match support
DCCP是打算取代UDP的新傳輸協議,它在UDP的基礎上增加了流控和擁塞控制機制,面向實時業務
"DSCP" match support
允許對IP包頭的DSCP欄位進行匹配
"ESP" match support
允許對IPSec包中的ESP頭進行匹配,使用IPsec的話就選上吧
"helper" match support
載入特定協議的連線跟蹤輔助模組,由該模組過濾所跟蹤的連線型別的包,比如ip_conntrack_ftp模組
"length" match support
允許對包的長度進行匹配
"limit" match support
允許根據包的進出速率進行規則匹配,常和"LOG target"配合使用以抵抗某些Dos攻擊
"mac" address match support
允許根據乙太網的MAC進行匹配,常用於無線網路環境
"mark" match support
允許對先前由"MARK"標記的特定標記值進行匹配
IPsec "policy" match support
使用IPsec就選上吧
Multiple port match support
允許對TCP或UDP包同時匹配多個埠(通常情況下只能匹配一個埠)
"physdev" match support
允許對到達的或將要離開的物理橋埠進行匹配
"pkttype" packet type match support
允許對封包目的地址類別(廣播/群播/直播)進行匹配
"quota" match support
允許對總位元組數的限額值進行匹配
"realm" match support
允許對iptables中的路由子系統中的realm值進行匹配
"sctp" protocol match support
流控制傳輸協議(SCTP),十年以後也許能夠普及的東西
"state" match support
這是對包進行分類的有力工具,它允許利用連線跟蹤資訊對連線中處於特定狀態的包進行匹配
"statistic" match support
允許根據一個給定的百分率對包進行週期性的或隨機性的匹配
"string" match support
允許根據包所承載的資料中包含的特定字串進行匹配
"tcpmss" match support
允許根據TCP SYN包頭中的MSS(最大分段長度)選項的值進行匹配
IP: Netfilter Configuration
針對IPv4的Netfilter配置
Connection tracking (required for masq/NAT)
連結跟蹤.可用於報文偽裝或地址轉換,也可用於增強包過濾能力
Connection tracking flow accounting
允許針對每個連線記錄已經傳送的位元組/包數,常用於connbytes match
Connection mark tracking support
允許對連線進行標記,與針對單獨的包進行標記的不同之處在於它是針對連線流的.CONNMARK target和connmark match需要它的支援
Connection tracking security mark support
允許對連線進行安全標記,通常這些標記包(SECMARK)複製到其所屬連線(CONNSECMARK),再從連線複製到其關聯的包(SECMARK)
Connection tracking events
連線跟蹤事件支援.如果啟用這個選項,連線跟蹤程式碼將提供一個notifier鏈,它可以被其它核心程式碼用來獲知連線跟蹤狀態的改變
Connection tracking netlink interface
支援基於netlink的使用者空間介面
SCTP protocol connection tracking support
SCTP是IP網面向多媒體通訊的新一代的流控制傳輸協議
FTP protocol support
FTP協議
IRC protocol support
IRC協議是一種用來實時聊天協議,用過mIRC的人應當不陌生
NetBIOS name service protocol support
NetBIOS名字服務協議
TFTP protocol support
TFTP是基於UDP的比FTP簡單的檔案傳輸協議
Amanda backup protocol support
Amanda備份協議
PPTP protocol support
點對點隧道協議(PPTP)是一種支援多協議虛擬專用網路的網路技術,ADSL使用者對它應該很熟悉
H.323 protocol support
ITU-T提出的用於IP電話的協議
SIP protocol support
IETE提出的用於IP電話的協議
IP Userspace queueing via NETLINK
已廢棄
IP tables support (required for filtering/masq/NAT)
要用iptables就肯定要選上
IP range match support
允許對ip地址的範圍進行匹配
TOS match support
允許對ip包頭的TOS(Type Of Service)欄位進行匹配
recent match support
可以建立一個或多個剛剛使用過的ip地址列表,然後根據這些列表進行匹配
ECN match support
允許對TCP/IP包頭的ECN(Explicit Congestion Notification)欄位進行匹配.ECN是一種顯式擁塞通知技術,它不但要求路由器支援而且要求端到端主機的支援,其基本思想是當路由器發生早期擁塞時不是丟棄包而是儘量對包進行標記,接收方接到帶有ECN提示的包時,通知傳送方網路即將發生擁塞,也就是它通過對包的標記提示TCP源即將發生擁塞,從而引發擁塞避免演算法
AH match support
允許對IPSec包頭的AH欄位進行匹配
TTL match support
允許對ip包頭的TTL(生存期)欄位進行匹配
Owner match support
允許對本地生成的包按照其宿主(user,group,process,session)進行匹配
address type match support
允許對地址型別(單播,本地,廣播)進行匹配
hashlimit match support
是limit的升級,它基於你選擇的ip地址與/或埠動態的建立以limit為桶(bucket)的雜湊表.它可以建立諸如"為每個特定的目標IP分配10kpps"或"允許每個特定的源IP分配500pps"之類的規則
Packet filtering
定義filter表以允許對包進行過濾
REJECT target support
允許返回一個ICMP錯誤而不是簡單的丟棄包
LOG target support
允許將符合條件的包頭資訊通過syslog進行記錄
ULOG target support
透過netlink socket將符合條件的封包交給使用者空間的ulogd守護程序.反對使用該選項,因為它已經被NETFILTER_NETLINK_LOG代替
TCPMSS target support
允許修改TCP包頭中的MSS(最大分段長度)選項值
Full NAT
允許進行偽裝/埠轉發以及其它的NAT功能,僅在你需要使用iptables中的nat表時才需要選擇
Packet mangling
在iptables中啟用mangle表以便對包進行各種修改,常用於改變包的路由
raw table support (required for NOTRACK/TRACE)
在iptables中新增一個'raw'表,該表在netfilter框架中非常靠前,並在PREROUTING和OUTPUT鏈上有鉤子,從而可以對收到的資料包在連線跟蹤前進行處理
ARP tables support
ARP表支援.只有在區域網中才有ARP欺騙問題,另外路由器也會遭到ARP欺騙
ARP packet filtering
ARP包過濾.對於進入和離開本地的ARP包定義一個filter表,在橋接的情況下還可以應用於被轉發ARP包
ARP payload mangling
允許對ARP包的荷載部分進行修改,比如修改源和目標實體地址
IPv6: Netfilter Configuration
針對IPv6的Netfilter配置,需要的話可以參考前面IPv4的Netfilter配置進行選擇
DECnet: Netfilter Configuration
針對DECnet的Netfilter配置
Bridge: Netfilter Configuration
針對橋接的Netfilter配置
DCCP Configuration
資料報擁塞控制協議在UDP的基礎上增加了流控和擁塞控制機制,使資料報協議能夠更好地用於流媒體業務的傳輸
SCTP Configuration
流控制傳輸協議是一種新興的傳輸層協議.TCP協議一次只能連線一個IP地址而在SCTP協議一次可以連線多個IP地址且可以自動平衡網路負載,一旦某一個IP地址失效會自動將網路負載轉移到其他IP地址上
TIPC Configuration
透明內部程序間通訊協議,以共享記憶體為基礎實現任務和資源的排程,專門用於內部叢集通訊
Asynchronous Transfer Mode (ATM)
非同步傳輸模式(ATM)支援
802.1d Ethernet Bridging
802.1d乙太網橋
802.1Q VLAN Support
802.1Q虛擬區域網
DECnet Support
DECnet是一種很生僻的協議
ANSI/IEEE 802.2 LLC type 2 Support
看不懂可以不選
The IPX protocol
IPX協議
Appletalk protocol support
與Mac機器通訊的協議
CCITT X.25 Packet Layer
大約沒人需要這東西
LAPB Data Link Driver
大約沒人需要這東西
Acorn Econet/AUN protocols
一種被Acorn計算機使用的又老又慢的協議
WAN router
廣域網路由
QoS and/or fair queueing
如果你需要Qos或公平佇列就選吧
Network testing
網路測試,僅供除錯使用
Amateur Radio support
業餘無線電支援
IrDA (infrared) subsystem support
紅外線支援,比如無線滑鼠或無線鍵盤
Bluetooth subsystem support
藍芽支援
Generic IEEE 802.11 Networking Stack
通用無線區域網(IEEE 802.11系列協議)支援

Device Drivers
裝置驅動程式

Generic Driver Options
驅動程式通用選項
Select only drivers that don't need compile-time external firmware
只顯示那些不需要核心對外部裝置的韌體作map支援的驅動程式,除非你有某些怪異硬體,否則請選上
Prevent firmware from being built
不編譯韌體.韌體一般是隨硬體的驅動程式提供的,僅在更新韌體的時候才需要重新編譯.建議選上
Userspace firmware loading support
提供某些核心之外的模組需要的使用者空間韌體載入支援,在核心樹之外編譯的模組可能需要它
Driver Core verbose debug messages
讓驅動程式核心在系統日誌中產生冗長的除錯資訊,僅供除錯
Connector - unified userspace <-> kernelspace linker
統一的使用者空間和核心空間聯結器,工作在netlink socket協議的頂層.不確定可以不選
Report process events to userspace
向用戶空間報告程序事件(fork,exec,id變化(uid,gid,suid)
Memory Technology Devices (MTD)
特殊的儲存技術裝置,如常用於數碼相機或嵌入式系統的快閃記憶體卡
Parallel port support
並口支援(傳統的印表機介面)
Plug and Play support
即插即用支援,若未選則應當在BIOS中關閉"PnP OS".這裡的選項與PCI裝置無關
PnP Debug Messages
該選項僅供除錯使用
ISA Plug and Play support
ISA裝置即插即用支援
Plug and Play BIOS support
Linux使用"Plug and Play BIOS"規範v1.0A(1994年)中定義的PNPBIOS自動檢測主機板上的資源和裝置,但是其中的某些特性目前尚未實現,比如:事件通知/擴充套件塢(Docking Station)資訊/ISAPNP服務.如果你希望由核心檢測主機板上的裝置併為其分配資源(此時BIOS中的"PnP OS"必須開啟)可以選上,此外,PNPBIOS還有助於防止主機板上的裝置與其他匯流排裝置衝突.不過需要注意的是ACPI將會逐漸取代PNPBIOS(雖然目前兩者可以共存),所以如果你的系統不使用ISA裝置並且支援ACPI,建議你不要選中該選項並將BIOS中的"PnP OS"關閉
Plug and Play BIOS /proc interface
該選項僅供除錯使用
Plug and Play ACPI support
讓Linux使用PNPACPI自動檢測主機板上內建的裝置併為其分配資源(即使這些裝置已被BIOS禁用),它有助於避免裝置之間的資源(如中斷)衝突
Block devices
塊裝置
Normal floppy disk support
通用軟碟機支援
XT hard disk support
古董級產品
Parallel port IDE device support
通過並口與計算機連線的IDE裝置,比如某些老舊的外接光碟機或硬碟之類
Compaq SMART2 support
基於Compaq SMART2控制器的磁碟陣列卡
Compaq Smart Array 5xxx support
基於Compaq SMART控制器的磁碟陣列卡
Mylex DAC960/DAC1100 PCI RAID Controller support
古董級產品
Micro Memory MM5415 Battery Backed RAM support
一種使用電池做後備電源的記憶體
Loopback device support
Loopback是指拿檔案來模擬塊裝置,比如可以將一個iso9660映象檔案掛成一個檔案系統
Cryptoloop Support
使用系統提供的加密API對Loopback裝置加密,但不能用於日誌型檔案系統
Network block device support
讓你的電腦成為網路塊裝置的客戶端
Promise SATA SX8 support
基於Promise公司的SATA SX8控制器的RAID卡
Low Performance USB Block driver
它不是用來支援U盤的,不懂的就別選
RAM disk support
記憶體中的虛擬磁碟,大小固定(由下面的選項決定,也可給核心傳遞"ramdisk_size=引數"來決定),它的功能和程式碼都比shmem簡單許多
Default number of RAM disks
預設RAM disk的數量
Default RAM disk size (kbytes)
僅在你真正知道它的含義時才允許修改
Default RAM disk block size (bytes)
每一個RAM disk的預設塊大小,設為PAGE_SIZE的值時效率最高
Initial RAM filesystem and RAM disk (initramfs/initrd) support
如果啟動計算機所必須的模組都在核心裡的話可以不選此項
Packet writing on CD/DVD media
CD/DVD燒錄支援
Free buffers for data gathering
用於收集寫入資料的緩衝區個數(每個佔用64Kb記憶體),緩衝區越多效能越好
Enable write caching
為CD-R/W裝置啟用寫入緩衝,目前這是一個比較危險的選項
ATA over Ethernet support
乙太網ATA裝置支援
Misc devices
雜項裝置
ATA/ATAPI/MFM/RLL support
通常是IDE硬碟和ATAPI光碟機.純SCSI系統且不使用這些介面可以不選
Max IDE interfaces
最大IDE介面數,兩個IDE插槽一般相當於4個介面
Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
EIDE支援是當然要選的,否則540MB以上的硬碟都不認識而且不支援主從裝置
Support for SATA (deprecated; conflicts with libata SATA driver)
反對使用,該選項與libata SATA驅動有衝突
Use old disk-only driver on primary interface
沒人用這些古董了
Include IDE/ATA-2 DISK support
ATA-2支援,除非你的硬碟是古董,否則必選
Use multi-mode by default
如果不確定就別選,除非出現幫助中指出的錯誤
PCMCIA IDE support
通過PCMCIA卡與計算機連線的IDE裝置,比如某些外接硬碟或光碟機
Include IDE/ATAPI CDROM support
有IDE光碟機的就選
Include IDE/ATAPI TAPE support
有IDE磁帶的就選
Include IDE/ATAPI FLOPPY support
有IDE軟碟機的就選
SCSI emulation support
SCSI模擬,以前燒錄光碟時需要,現在不需要了
IDE Taskfile Access
對介質進行直接的原始訪問,它是一個複雜且有效的測試和校驗硬體的方案,可以在驅動層之下執行資料恢復工作
generic/default IDE chipset support
通用IDE晶片組支援
CMD640 chipset bugfix/support
586以前的主機板上常用,毛病多多
PNP EIDE support
外接的即插即用EIDE卡支援
PCI IDE chipset support
基於PCI匯流排的IDE晶片組支援,幫助IDE驅動自動檢測和配置所有基於PCI的IDE介面
Sharing PCI IDE interrupts support
與其他PCI裝置共享中斷,一來可能衝突,二來降低效能,不選為妙
Boot off-board chipsets first support
不使用外接IDE控制器的就別選,使用外接IDE控制器的注意看幫助
Generic PCI IDE Chipset Support
通用的PCI IDE晶片組支援,如果你的晶片組在下面能找到就別選
OPTi 82C621 chipset enhanced support
OPTi 82C621 EIDE控制器
RZ1000 chipset bugfix/support
486/586年代的玩藝
Generic PCI bus-master DMA support
通用的PCI匯流排控制器DMA支援,586以上的系統都支援
Force enable legacy 2.0.X HOSTS to use DMA
歷史遺留問題,別管它,不選
Use PCI DMA by default when available
預設啟用DMA,586以上的系統都支援,建議選擇
Enable DMA only for disks
只對硬碟啟用DMA,若你的光碟機不支援DMA就選上
{此處省略的部分按照自己主機板上實際使用的晶片組進行選擇}
Other IDE chipset support
其它IDE晶片組支援(多數需要在引導時指定特定的核心引數),如果你使用這樣的晶片組就按實際情況選擇子項吧
IGNORE word93 Validation BITS
ATA-4和ATA-5規範中對於如何在80針的資料線上探測解釋的不明確,導致了兩種不同標準的產品同時出現,這可能導致ATA-66/100降低為ATA-33,若出現這個問題,可以開啟這個選項忽略這種不同,但是又有可能導致另外的問題
Old hard disk (MFM/RLL/IDE) driver
舊版本的MFM/RLL/IDE驅動,不建議使用
SCSI device support
SCSI裝置
RAID Transport Class
用於SCSI裝置的軟體RAID支援,需要配合外部工具
SCSI device support
有任何SCSI/SATA/USB/光纖/FireWire/IDE-SCSI模擬裝置之一就必須選上
legacy /proc/scsi/ support
一些老的燒錄程式可能需要它
SCSI disk support
SCSI硬碟或U盤
SCSI tape support
SCSI磁帶
SCSI OnStream SC-x0 tape support
另一種SCSI磁帶
SCSI CDROM support
SCSI CDROM
Enable vendor-specific extensions
僅在古董級的SCSI CDROM裝置上才需要
SCSI generic support
若有SCSI硬碟/CD-ROM/tape之外的SCSI裝置才需要選擇
SCSI media changer support
一種SCSI備份裝置
Probe all LUNs on each SCSI device
在每個SCSI裝置上探測邏輯裝置數.只在一個SCSI裝置上有多個邏輯裝置(模擬多個SCSI裝置,比如多口讀卡器)時才需要選它,一般的SCSI裝置不需要
Verbose SCSI error reporting
以易讀的方式報告SCSI錯誤,核心將會增大12K
SCSI logging facility
啟用SCSI日誌(預設並不開啟,需要在掛載/proc後執行echo "scsi log token [level]" > /proc/scsi/scsi命令才能開啟日誌),可用於跟蹤和捕獲SCSI裝置的錯誤
SCSI Transports
SCSI介面型別,下面的子項可以全不選,核心中若有其他部分依賴它,會自動選上
Parallel SCSI (SPI) Transport Attributes
傳統且常見的並行SCSI(Ultra320/160之類)
FiberChannel Transport Attributes
光纖通道
iSCSI Transport Attributes
iSCSI是利用TCP/IP網路傳送SCSI命令和資料的I/O技術
SAS Transport Attributes
序列SCSI傳輸屬性支援(SAS對於的關係SPI猶如SATA對於ATA)
SAS Domain Transport Attributes
為使用了SAS Domain的驅動程式提供幫助
Compile the SAS Domain Transport Attributes in debug mode
僅供除錯使用
SCSI low-level drivers
底層SCSI驅動程式,按你實際使用的產品選擇
iSCSI Initiator over TCP/IP
用於iSCSI在TCP/IP網路上傳播的起動程式
{此處省略的部分按照自己實際使用的控制器進行選擇,僅用一個例子解說子項}
Adaptec AIC79xx U320 support
以基於PCI-X的Adaptec Ultra 320 SCSI控制器為例解說子項
Maximum number of TCQ commands per device
每個SCSI裝置的標記指令佇列的最大長度(上限253).上限越高效能越好,但是對於SCSI裝置較多的系統來說可能造成記憶體分配失敗.此值還可以通過tag_info核心引導引數指定
Initial bus reset delay in milli-seconds
初始匯流排reset之後的延時微秒數(預設5000)
Enable Read Streaming for All Targets
對所有的標記佇列啟用Read Streaming(可以增強效能,但是在一些Adaptec早期的U320產品上有缺陷),此特性還可以通過rd_strm核心引導引數指定
Compile in Debugging Code
僅用於除錯
Debug code enable mask (16383 for all debugging)
出錯程式碼的掩碼,0表示禁止所有,16383表示開啟所有
Decode registers during diagnostics
將出錯程式碼的解釋內容編譯進去,這樣就不需要檢視aic7xxx.reg中的出錯程式碼表以確定出錯程式碼的含意了
PCMCIA SCSI adapter support
通過PCMCIA卡與計算機連線的SCSI裝置
Serial ATA and Parallel ATA drivers
SATA與PATA裝置
ATA device support
SATA或PATA介面的硬碟或光碟機等裝置
AHCI SATA support
SATA高階主機控制器介面.要使用NCQ功能就必須選中它,另外BIOS中的SATA工作模式亦要選AHCI模式
Generic ATA support
基於新的ATA層的通用ATA控制器驅動,僅在你的晶片組在列表中找不到時才需要
{此處省略的部分按照自己主機板上實際使用的晶片組進行選擇}
Old CD-ROM drivers (not SCSI, not IDE)
老舊的CD-ROM驅動,這種CD-ROM既不使用SCSI介面,也不使用IDE介面
Multi-device support (RAID and LVM)
多裝置支援(RAID和LVM).RAID和LVM的功能是使多個物理裝置組建成一個單獨的邏輯磁碟
RAID support
軟體RAID(需要使用外部工具),若你有硬體RAID控制器,可以不選
Linear (append) mode
追加模式(簡單的將一個分割槽追加在另一個分割槽之後)
RAID-0 (striping) mode
RAID-0(等量分割)模式
RAID-1 (mirroring) mode
RAID-1(映象)模式
RAID-10 (mirrored striping) mode
RAID 0+1模式
RAID-4/RAID-5/RAID-6 mode
這些模式比較複雜,一般不用
Support adding drives to a raid-5 array
RAID-5陣列可以通過新增額外的驅動器進行擴充套件(restriping),這個選項允許線上進行這樣的操作,同時要求mdadm的版本大於2.4.1
Multipath I/O support
多路IO支援是指在伺服器和儲存裝置之間使用冗餘的物理路徑元件建立"邏輯路徑",如果這些元件發生故障並造成路徑失敗,多路徑邏輯將為I/O使用備用路徑以使應用程式仍然可以訪問其資料
Faulty test module for MD
用於MD(Multi-device)的缺陷測試模組
Device mapper support
Device-mapper是一個底層的卷管理器,不用LVM就別選了
Fusion MPT device support
Fusion MPT裝置支援
IEEE 1394 (FireWire) support
IEEE 1394(火線)
I2O device support
I2O(智慧IO)裝置使用專門的I/O處理器負責中斷處理/緩衝存取/資料傳輸等煩瑣任務以減少CPU佔用,一般的主機板上沒這種東西
Network device support
網路裝置
Network device support
網路裝置支援,當然要選啦
Intermediate Functional Block support
這是一箇中間層驅動,可以用來靈活的配置資源共享,看不懂的可以不選
Dummy net driver support
啞介面網路,使用SLIP或PPP傳輸協議(如ADSL使用者)的需要它
Bonding driver support
將多個乙太網通道繫結為一個,也就是兩塊網絡卡具有相同的IP地址並且聚合成一個邏輯鏈路工作,可以用來實現負載均衡或硬體冗餘
EQL (serial line load balancing) support
序列線路的負載均衡.如果有兩個MODEM和兩條電話線而且用SLIP或PPP協議,該選項可以讓您同時使用這兩個MODEM以達到雙倍速度(在網路的另一端也要有同樣的裝置)
Universal TUN/TAP device driver support
TUN/TAP可以為使用者空間提供包的接收和傳送服務,比如可以用來虛擬一張網絡卡或點對點通道
General Instruments Surfboard 1000
SURFboard 1000插卡式Cable Medem(ISA介面),這玩意大概早就絕種了
ARCnet devices
一般人沒有ARCnet型別的網絡卡
PHY device support
資料鏈路層晶片簡稱為MAC控制器,物理層晶片簡稱之為PHY,通常的網絡卡把MAC和PHY的功能做到了一顆晶片中,但也有一些僅含PHY的"軟網絡卡"
Ethernet (10 or 100Mbit)
目前最廣泛的10/100M網絡卡
Ethernet (1000 Mbit)
目前已成裝機主流的1000M網絡卡
Ethernet (10000 Mbit)
萬兆網絡卡無福消受啦
Token Ring devices
令牌環網裝置
Wireless LAN (non-hamradio)
無線LAN
PCMCIA network device support
PCMCIA或CardBus網絡卡
Wan interfaces
WAN介面
ATM drivers
非同步傳輸模式
FDDI driver support
光纖分散式資料介面
HIPPI driver support
HIPPI(高效能並行介面)是一個在短距離內高速傳送大量資料的點對點協議
PLIP (parallel port) support
將並口對映成網路裝置,這樣兩臺機器即使沒有網絡卡也可以使用並口通過並行線傳輸IP資料包
PPP (point-to-point protocol) support
點對點協議,PPP已經基本取代SLIP了,用ADSL的可要仔細選擇了
PPP multilink support
多重鏈路協議(RFC1990)允許你將多個線路(物理的或邏輯的)組合為一個PPP連線一充分利用頻寬,這不但需要pppd的支援,還需要ISP的支援
PPP filtering
允許對通過PPP介面的包進行過濾
PPP support for async serial ports
通過標準非同步串列埠(COM1,COM2)使用PPP,比如使用老式的外接modem(非同步modem或ISDN modem)上網
PPP support for sync tty ports
通過同步tty裝置(比如SyncLink介面卡)使用PPP,常用於高速租用線路(比如T1/E1)
PPP Deflate compression
為PPP提供Deflate(等價於gzip壓縮演算法)壓縮演算法支援,需要通訊雙方的支援才有效
PPP BSD-Compress compression
為PPP提供BSD(等價於LZW壓縮演算法,沒有gzip高效)壓縮演算法支援,需要通訊雙方的支援才有效
PPP MPPE compression (encryption)
為PPP提供MPPE加密協議支援,它被用於微軟的P2P隧道協議中
PPP over Ethernet
這就是ADSL使用者最常見的PPPoE啦,也就是在乙太網上跑的PPP協議
PPP over ATM
在ATM上跑的PPP
SLIP (serial line) support
一個在序列線上(例如電話線)傳輸IP資料報的TCP/IP協議.小貓一族的通訊協議,與寬頻使用者無關
CSLIP compressed headers
CSLIP協議比SLIP快,它將TCP/IP頭(而非資料)進行壓縮傳送,需要通訊雙方的支援才有效
Keepalive and linefill
讓SLIP驅動支援RELCOM linefill和keepalive監視,這在訊號質量比較差的模擬線路上是個好主意
Six bit SLIP encapsulation
這種線路非常罕見,不要選它
Fibre Channel driver support
光纖通道
Traffic Shaper
流量整形,已廢棄
Network console logging support
通過網路記錄核心資訊
Netpoll support for trapping incoming packets
不知道Netpoll是什麼的可以不選
Netpoll traffic trapping
不知道Netpoll是什麼的可以不選
ISDN subsystem
綜合業務數字網(Integrated Service Digital Network)
Telephony Support
VoIP支援
Input device support
輸入裝置
Generic input layer (needed for keyboard,mouse...)
通用輸入層,要使用鍵盤滑鼠的就必選
Support for memoryless force-feedback devices
遊戲玩家使用的力反饋裝置
Mouse interface
滑鼠介面
Provide legacy /dev/psaux device
仍然支援作為傳統的/dev/psaux裝置
Horizontal screen resolution
數字化轉換器或圖形輸入板的水平分辯率
Vertical screen resolution
數字化轉換器或圖形輸入板的垂直解析度
Joystick interface
遊戲杆
Touchscreen interface
觸控式螢幕
Event interface
能夠利用/dev/input/eventX來存取輸入裝置的事件
Event debugging
該選項僅供除錯
Keyboards
鍵盤驅動,一般選個AT鍵盤即可
Mouse
滑鼠驅動,一般選個PS/2滑鼠即可
Joysticks
遊戲杆驅動
Touchscreens
觸控式螢幕驅動
Miscellaneous