今天親自編譯核心,沒有經歷錯誤的折磨!!!
今天上午起床就想編譯一下核心,以後要用到的,就是那個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