编译Linux内核留意选项

转载 2007年09月20日 15:32:00

一般要留意的选项

  • 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)。

如果你使用 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排程器。  

Linux kernel内核编译配置选项详解

转载于:http://lamp.linux.gov.cn/Linux/kernel_options.html 作者:金步国 Code maturity level options 代码成...
  • gujintong1110
  • gujintong1110
  • 2014年03月02日 15:42
  • 2391

内核编译图文教程,usb键盘鼠标篇

CONFIG_INPUT_MOUSEDEV CONFIG_INPUT_EVDEV Hardware I/O ports什么都不用选 CONFIG_USB_HID To compile this...
  • sitelist
  • sitelist
  • 2015年02月10日 13:44
  • 1391

在Mac上编译uboot,linux kernel

在OSX上交叉编译 Macports The Kernel source requires a case-sensitive filesystem. If you do not hav...
  • dhgao38
  • dhgao38
  • 2015年03月26日 11:05
  • 3347

编译linux内核 形成可运行的自己的linux系统

开始学习linux,听说可以建立一个自己的linux操作系统。      开始的时候就是看了些资料。说的是通过livecd(linux from scratch),来构建自己的linux系统。记得那份...
  • u013356289
  • u013356289
  • 2014年03月13日 22:49
  • 2898

留意身边的小事...

昨天晚上去常去的那家游泳馆游泳,发现一件很妙的事:)原来这家游泳馆有地热供暖的,所以,游泳后,可以在岸上舒舒服服的躺一下,就像夏天在室外游泳那样,在滚烫的地面上躺一下,真是舒服啊:)唉,这么妙的事情竟...
  • Aarchbishop
  • Aarchbishop
  • 2006年01月12日 15:46
  • 927

在Linux内核中增加驱动选项

在linux内核中增加驱动程序要完成3个方面的工作 1.将编写的源代码拷贝到Linux内核源代码相应目录 2.在目录的Kconfig文件中增加关于源代码的相应目录 3.在目录的Makefile文...
  • gotosola
  • gotosola
  • 2012年04月15日 16:07
  • 1450

Linux开发六_linux内核编译运行

Linux是一个非商业化的产品,任何人都可以获得源代码并研究它。这吸引了很多开发者对其代码进行修改和完善,因此变得越来越流行。从小到手表,大到超级计算机集群,都可以看到Linux的身影。笔者此处就Li...
  • huang20083200056
  • huang20083200056
  • 2016年09月28日 09:46
  • 796

Vs2012在Linux开发中的应用(8): 编译Linux内核

快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载,但请保留作者信息 在有了UBOOT的编译基础之后,编译Linux内核就简单多了,所...
  • lights_joy
  • lights_joy
  • 2014年11月24日 22:24
  • 1837

如何在Windows下编译Linux内核

 步骤: 1、安装Cygwin官方版,然后选择安装一下包:     安装gcc-core、make、perl、gettext、libelf-devel、libgmp-devel、gett...
  • goodboychina
  • goodboychina
  • 2014年06月09日 15:28
  • 2189

【学习笔记】编译Linux内核(上)--编译基于x86平台的Linux内核的过程

编译Linux内核。       第一步:下载源码并存入Linux目录,我是放到了/usr/src目录下,别的目录也可以。一般下载下来的源码都是文件名为"linux-$版本号.tar.bz2"...
  • NewThinker_wei
  • NewThinker_wei
  • 2012年09月24日 23:31
  • 2627
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:编译Linux内核留意选项
举报原因:
原因补充:

(最多只允许输入30个字)