http://www.howtoforge.com/kernel_compilation_ubuntu
有wiki教學
設定編譯選項提示
[編輯]
一般要留意的選項
- Processor type and features
- Symmetric multi-processing support (SMP) - 如果你的電腦有多過一個微處理器或多核心(Dual/Quad Core),請開啟這選項。
- Processor family - 選擇適合你的微處理器家族,你可以看看檔案/proc/cpuinfo查閱你現時的微處理器型號。
- 386 (M386) - Intel 80386系列及AMD, Cyrix的相容微處理器。
- 486 (M486) - Intel 80486系列及AMD, Cyrix, IBM的相容微處理器。
- 586/K5/5x86/6x86/6x86MX (M586) - 非Intel的586/686微處理器,包括AMD K5、Cyrix 5x86, 6x86及6x86MX。
- Pentium-Classic (M586TSC) - 原始Intel Pentium
- Pentium-MMX (M586MMX) - 支援MMX圖形及多媒體擴充指令的Intel Pentium
- Pentium-Pro (M686) - Intel Pentium Pro
- Pentium-II/Celeron(pre-Coppermine) (MPENTIUMII) - Intel Pentium II 及 pre-Coppermine Celeron
- Pentium-III/Celeron(Coppermine)/Pentium-III Xeon (MPENTIUMIII) - Intel Pentium III、Coppermine Celeron 及Intel Pentium-III Xeon
- Pentium M (MPENTIUMM) - Intel Pentium III Mobile (不是 Pentium 4 Mobile)
- Pentium-4/Celeron(P4-Based)/Pentium-4 M/Xeon (MPENTIUM4) - Intel Pentium 4,包括 Celeron 、 Xeon及Mobile
- K6/K6-II/K6-III (MK6) - AMD K6系列
- Athlon/Duron/K7 (MK7) - AMD Athlon K7系列
- Opteron/Athlon64/Hammer/K8 (MK8) - AMD Opteron 或 Athlon64 Hammer系列
- Crusoe (MCRUSOE) - Transmeta Crusoe
- Efficeon (MEFFICEON) - Transmeta Efficeon
- Winchip-C6 (MWINCHIPC6) - IDT Winchip C6
- Winchip-2 (MWINCHIP2) - IDT Winchip-2
- Winchip-2A/Winchip-3 (MWINCHIP3D) - IDT Winchip-2A或3
- GeodeGX1 (MGEODEGX1) - Geode GX1 (Cyrix MediaGX)
- GeodeGX/LX (MGEODE_LX) - AMD Geode GX 或 LX
- CyrixIII/VIA-C3 (MCYRIXIII) - Cyrix III 或 C3
- VIA C3 (Nehemiah) (MVIAC3_2) - VIC C3 "Nehemiah"
- Maximum number of CPUs (2-255) - 填入你電腦的CPU數量。例如Duo Core填「2」。CPU最大數量每多一就會令Linux核心大約八千左右位元組。
- High Memory Support - 如果你的電腦不會擁有1GB或以上的記憶體,請選off。如記憶體大小界符1GB和4GB之間,選4GB。如果多於4GB,請選64GB。
- Device Drivers -> ATA/ATAPI/MFM/RLL support -> Include IDE/ATA-2 DISK support (BLK_DEV_IDEDISK) - 建議開啟。不開啟這選項,你就使用不到IDE硬盤,連開動Linux都不能。(當然,用SCSI硬盤的朋友可以不開啟這選項。)
- Device Drive -> Block Devices -> Low Performance USB Block Driver (BLK_DEV_UB) - 建議關閉。不要開啟這選項或編譯成為模組。這選項會開啟效能較低的USB驅動器(ub)。[1] [2] (2.6.9 或以後)
如果你使用 nVidia 顯示咭,請關閉下列選項:
- Graphics Support -> nVidia Riva support (FB_RIVA)
- Kernel Hacking -> Use 4Kb for kernel stacks instead of 8Kb (4KSTACKS)
- Processor Type and Features -> Local APIC support on uniprocessors (X86_UP_APIC)
設定桌面電腦(Desktop)要留意的選項
- Preemption Model
- Preemption (Low-Latency Desktop) (PREEMPT) - 開啟這選項可以令多媒體播放更流暢,是桌面電腦必用的選項。
- Preempt The Big Kernel Lock (PREEMPT_BKL) - 建議開啟。
- Timer frequency (CONFIG_HZ_250 或者 CONFIG_HZ_1000) - 對桌面電腦來說,選250Hz而可以令多媒體播放很流暢,但如果你對這方便要求高,可以考慮使用1000Hz,但留意電量較高。
- Block Layer -> IO Schedulers - 建議使用CFQ I/O排程器。這是決定使用硬碟存取排程器。在桌面平代方面,CFQ的表現較平均。
[編輯]
設定筆記簿型電腦(Laptop/Notebook)要留意的選項
- 留意上面設定桌面電腦(Desktop)要留意的選項
- Timer frequency (CONFIG_HZ_250) - 對筆記簿型電腦來說,選250Hz而可以令多媒體播放很流暢,而1000Hz會令電池壽命大大縮短。
[編輯]
設定伺服器(Server)要留意的選項
- Preemption Model
- Preemptible Kernel (PREEMPT) - 建議關閉。開啟這選項可以令多媒體播放更流暢,但如果你是用來作伺服器之用,這選項可能會降低系統效能,請把此選項關掉。
- No Forced Preemption (Server) (PREEMPT_NONE) - 建議選用。
- Preempt The Big Kernel Lock (PREEMPT_BKL) - 建議關閉。
- Timer frequency (CONFIG_HZ_100) - 建議使用100Hz。
- Block Layer
- Support for Large Block Devices (LBD) - 如要存取超過2TB大小的儲存設備(如硬碟、RAID或硬碟映像檔等),就需要開啟選項。
- Support for Large Single Files (LSF) - 如要處理超過2TB大小的檔案,就需要開啟選項。
- IO Schedulers - 決定使用硬碟存取排程器。如果你的伺服器是用來跑資料庫(Database),請使用deadline排程器。