linux kernel 2.6.13
在配置内核前,你应当对详细的了解运行内核的系统,根据自己的需要配置内核.
下面,我将解释内核的各个选项,并根据本人的机器作相应的配置。

在此之前,我把机器硬件参数公布出来,方便大家作相应的对照。
本机硬件系统: 笔记本,SAMSUNG P30
              CPU:PM 1400Mz / Intel 855 chip on board
                   MEM:512M
             DISK:40G 
              DVDROM
              DISCARD:ATI 9200 with 32MB memery
              Intel®Pro/Wireless 2200 802.11g,BlueTooth,IRDA
              CardReader:MultiMediaCard、SecureDigital、MemoryStick

OK,我们一起来配置内核

  1:code maturity level options: 代码成熟度选项

-->[Y]Prompt for development and/or incomplete code/drivers
       ------>[Y]Select only drivers expected to compile cleanly

Prompt for development and/or incomplete code/drivers

默认:Y   推荐:Y
      T: 激活源代码中正出于开发或则是实验中的代码

在源代码中有一部分代码是新开发的,这些代码被用于支持新的系统特性,比如Linux高  级电源管理,IPV6网络协议等等,同时也包括了一些新的硬件驱动。这些代码尚未被验             证是稳定的,但在一定程度上可以用来支持新的硬件或者是系统特性。如果您恰好需要            这些特性,或者想找到被支持的新硬件的驱动,那就可以选择它,否则就选择NO。但            是,如果你的系统是被用作服务器的,我是强烈反对把他选上的。

Select only drivers expected to compile cleanly

默认:Y 推荐:Y

T:仅选择安全的驱动

同上一级选项一样,这个选项确保了已经被证明有问题的驱动不在源码树中出现,强烈          建议将此选上,除非你有特殊的理由,否则不要动它。

  2:General setup

-->Local version - append to kernel release

-->Support for paging of anonymous memory (swap) SWAP
       -->System V IPC

-->POSIX Message Queues

-->BSD Process Accounting

------>BSD Process Accounting version 3 file formats

-->Sysctl support

-->Auditing support

------>Enable system-call auditing support

-->Support for hot-pluggable devices

-->Kernel Userspace Events

-->Kernel .config support

-->Configure standard kernel features (for small systems)

------>Load all symbols for debugging/kksymoops

---------->Include all symbols in kallsyms

----------> Do an extra kallsyms pass

------>Enable support for printk

------>BUG() support

------>Enable full-sized data structures for core

------>Enable futex support

------>Enable eventpoll support

------>Optimize for sized

------>Use full shmem filesystem

------>Function alignment

------>Label alignment

------>Loopalignment

------>Jump alignment

Local version - append to kernel release

T:在内核发布版本信息后加上内核本地版本信息。

这个选项解释的有点绕舌,简单说,就是给内核标识上一个个性化信息。各位看看各种          不同的发行版内核信息就明白了,例如,我现在使用的是RHEL4,内核发布号是:          2.6.9-5,本地标识版本是22.6.9-5.EL #1 Wed Jan 5 19:22:18 EST 2005 i686 i686 i386 GNU/Linux,后面多出来的字符就是在这个地方输入的。有点意思,大家可以为自己的内核取个新鲜的名子。

is something that is fatal.

For example: The man received a fatal wound to th

Support for paging of anonymous memory (swap) SWAP

T:打开使系统支持虚拟内存

这个选项估计绝大多数朋友都知道它的含义,就是用硬盘上的一部分空间来虚拟内存空          间,这对提升系统性能有一定的作用,不用多,说除非你有绝对足够的内存,否则你必             需得选上。

System V IPC

T:随下

很多类Unix系统,包括Linux和System V系统,支持System V的进程间通信(IPC)对      象。System V的IPC对象可以是以下三种:System V的消息队列、信号量集和共享内存段。在这类系统中,很多程序缺少他将无法运行,因此这个选项应当选择。同时,在内核帮助信息中提到,如果你想运行DOS等其他系统的模拟器, 那么这个选项必需选择。在http://www.e800.com.cn/articles/513/1112335933805.html 上有关于 System V IPC的信息,建议去了解一下。

POSIX Message Queues

T:POSIX 消息队列

POSIX变体中的消息队列是 IPC中的一部分,同样,用于程序中相互通信,上述网址中也有相关信息,具体就不解释了,这个也得选上。

BSD Process Accounting

T:是否允许程序访问内核并将进程状态信息写入文件中。

显然,这也是一个很好的系统特性,同样是用于进程间通信。内核帮助文件中指出:如果允许这个选项,内核将会把进程创见的时间,进程拥有者,内存使用状况,以及从终端中收集的信息写入特定的文件中,毫无疑问,这个特性还是不错的,尤其是在调试程序的时候能提供额外的调试信息,所以建议选上。

BSD Process Accounting version 3 file formats

T:将进程状态信息用第三版本的格式写入文件中。

功能与其父选项一致,只是文件格式有所区别。可以不去选择。

Sysctl support

T:内核控制支持

这个选项能不重新编译内核修改内核的某些参数和变量而不用重新编译内核或者是重新起动系统,如果你也选择了支持/proc,将能从/proc/sys存取可以影响内核的参数或变量。显然,这提供了一个很方便用户的特性:内核参数可以按照需要更改,同时最大程度的降低由于服务关闭而带来的损失,建议最好将它选上。

Auditing support

T:审计支持

用于和内核的某些子系统同时工作,例如SELinux。只有选择此项及它的子项,才能调用有关审记的系统调用,为了让系统中这些模块能够使用,建议选择。

Enable system-call auditing support

T:允许审计系统调用

可能是用于支持底层子系统的审计调用,并允许独立的系统调用

Support for hot-pluggable devices

T:支持热拔插设备

这个选项对于现在的系统应该是必需选择的,除非你要配置嵌入系统的内核

Kernel Userspace Events

T:内核用户区事件

这个选项允许内核用户区事件层,它是建立在链接网络套接字上,用于内核与用户通信的简单机制。内核用户区事件层提供了一个简单并且有效的事件系统,它可以通知用户区内核对象的状态变化情况,这样,程序就可以通过监听事件来得知内核系统的变化,而不用循环监测设备或者文件了,这个选项可以在一定程度上提高程序的运行性能,因此最好将它选上,除非你的内核运行在内存资源很少的嵌入系统上。

Kernel .config support

T:支持内核记录配置信息

这个选项可以让内核的配置信息保存在内核中,很显然,它提供了程序访问运行内核的配置信息的机制。这些信息可以从内核镜像文件中得到,它可以被用来重新建立内核,或者是配置其他内核。它也可以通过读取/proc/config.gz 文件来得到这些信息。恩,没有太大的作用,可选可不选。

Configure standard kernel features (for small systems)

T:配置标准内核特性

这个选项允许基本的内核功能可以被禁用或者去处部分功能。这个特性是为了特殊系统准备的,除非是嵌入式系统要做一些定制,其它的系统都不要选择这项。个人用户不必选择。这样,也不用去过问它下面的选项了。

Load all symbols for debugging/kksymoops

T:装载调试符号信息

这个选项是为了让内核打印出即时调试信息,提供内核栈追踪功能,如果你不用调试内核,这个选项也不用选择,由于内核必需把调试标志都装载到内核中去,所以在一定程度上会增大内核尺寸。

Include all symbols in kallsyms

T:加载所有调试符号信息

选择这个项目,会增大300K内核尺寸,有需要就选。

Do an extra kallsyms pass

T:随下

如果 kallsyms 不能正常工作,那内核就会由于错误的 kallsyms 数据而创建失败。如果发生这样的情况,将会记录错误信息。一般情况下不用选择,除非必需得到kallsyms 发生错误的信息。

Enable support for printk

T:支持printk

这个选项允许内核向终端打印字符信息。如果不选择这个选项,将很难得知系统运行问题,强烈建议选择他,因为我们必须知道内核为什么不能运行了。

BUG() support

T:随下

这个选项可以提供内核运行的错误或者是警告信息,如果不选择可以减少内核尺寸,同时,内核将忽略各种错误。建议选上,除非你将为嵌入系统配置内核并且不许要知道内核启动失败的信息。

Enable full-sized data structures for core

T:为核心启用全尺寸数据结构

取消这个选项可以减少内核核心数据结构的尺寸,这在小型机器中是比比较有用的,它可以节约内存,但是同时,它会在一定程度上降低系统性能。

Enable futex support

T:随下

不选择这个项目,内核就不能够支持"fast userspace mutexes",也不能够正确运行基于glibc的应用程序。看样子必需得选。

Enable eventpoll support

T:支持事件轮循系统

不选这个内核将不支持事件轮循的系统调用,最好选择

Optimize for size

T:优化内核尺寸

选择这个选项,在编译内核的时候,会带上-Os参数,以便得到更小的内核。但是有些版本的GCC在这个参数下会产生错误的代码,在选择他之前请确定您的GCC不会出现这样的错误。

Use full shmem filesystem

T:使用shmem文件系统

shmem 是用于管理共享内存的文件系统,它向后支持交换空间和管理限定资源,如果TMPFS被启用,他可以通过tempfs向用户区输出信息。可以用简单的ramfs功能来代替shmem和tempfs,这样,对于不许要交换区的小型嵌入式系统来说是最合适的,建议将其选择。

(0) Function alignment

   (0) Label alignment

   (0) Loop alignment

(0)Jump alignment

这些选项表示内核代码在编译时内存中的对齐方式,0表示编译器的默认方式。使用内存对齐能提高程序的运行速度,但是会增加程序对内存的使用量。 建议不做修改。

//*******************************************************************************

3:Loadable module support

-->Enable loadable module support

------>Module unloading

----------> Forced module unloading

------>Module versioning support

------>Source checksum for all modules

------>Automatic kernel module loading

Enable loadable module support

T:允许内核支持模块加载

内核模块就是已经被编译完成的一小段代码,它可以被插入正在运行的内核中,或者从内核中将其卸载。这样,可以最大程度降低内核镜像的尺寸,同时可以使内核通过加载新的模块来支持新的硬件,使系统具有更好的扩展性。内核中许多部分可以被编译为模块,在需要的时候,随时加载这些模块。与模块相关的工具是modprobe, lsmod, modinfo, insmod,rmmod.建议将它选择。在编译完成后,必须通过"make modules_install"把内核安装在/lib/modules/中。 是否编译为模块的原则是,不常使用的,特别是在系统启动时不需要的驱动可以将其编译为模块,如果是一些在系统启动时就要用到的驱动比如说文件系统,系统总线的支持就不能编为模块了,否在无法启动系统。

Module unloading

T:支持模块卸载功能

不用多说,允许模块加载就最好允许模块卸载,否则就不能卸载任何已经加入内核中的模块。建议选择

Forced module unloading

T:强制卸载模块

内核有时候不允许某些模块的卸载,通过这个可以在任何条件下将模块卸载。如果您有需要,就选上吧,一般用户不需要这个功能。

Module versioning support

T:支持其他版本的模块

该选项能够使您的内核支持其他版本的已经编译好的模块,如果不是开发人员没有特殊需要,就没有必要选择它了。

Source checksum for all modules

T:为所有的模块校验源码

这个功能是为了。选择了它,那在模块中,就有一个叫做 "srcversion"段记录着用于编译模块的源文件统计信息。他可以让开发者精确的知道源代码版本,防止更改了内核模块的代码但忘记更改版本号而造成版本冲突。如果有需要,就选择,建议不选。

Automatic kernel module loading

T:允许内核自动加载所需要的内核

正常情况下,你必需通过"modprobe"来加载你需要的模块,但是这个选项可以让内核通过运行modprobe 来自动加载所需要的模块,建议选上,这样在使用的时候会方便很多。

//*******************************************************************************

4:Processor type and features

-->Subarchitecture Type

(Y)PC-compatible

(  )AMD Elan

(  )Voyager (NCR)

(  )NUMAQ (IBM/Sequent)

(  )SGI 320/540 (Visual Workstation)

-->Processor family

-->Generic x86 support

-->HPET Timer Support

-->Symmetric multi-processing support

------>Maximum number of CPUs (2-255)

------>SMT(Hyperthreading) scheduler support

-->Preemption Model

(  )No Forced Preemption (Server)

(Y)Voluntary Kernel Preemption (Desktop)

(  )Preemptible Kernel (Low-Latency Desktop)

-->Preempt The Big Kernel Lock

-->Local APIC support on uniprocessors

-->Machine Check Exception

------>Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4

------>Check for P4 thermal throttling interrupt

-->Toshiba Laptop support TOSHIBA

-->Dell laptop support I

-->Enable X86 board specific fixups for reboot

-->/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

-->High Memory Support

-->Memory model

(Y)Flat Memory

-->Allocate 3rd-level pagetables from highmem

-->Math emulation

-->MTRR (Memory Type Range Register) support

-->Boot from EFI support

-->Use register arguments (EXPERIMENTAL)

-->Enable seccomp to safely compute untrusted bytecode

-->Timer frequency

-->kexec system call

Subarchitecture Type

T:系统类型

不用多说,一般选PC-compatible ,其他的根据自己的机器选择

Processor family

T:处理器类型

同样,自己机器用什么CPU就选哪个,我的机器是PM的,当然选择 Pentium M。

Generic x86 support

T:随下

这一选项针对x86系列的CPU使用更多的常规优化。如果你在上面一项选的是i386、i586之类的才选这个

HPET Timer Support

T:启用High Precision Event Timer (高精度计时器)支持

HPET是intel联合Microsoft制定的,新的用以代替传统的8254(PIT)中断定时器与RTC的定时器,全称叫作高精度事件计时器。它是一个安全的选项,即使你的硬件不支持HPET也不会造成问题,它会自动用8254替换。您可以在http://www.intel.com/hardwaredesign/hpetspec.htm 或者内核HPET驱动代码中找到关于HPET的详细内容。建议启用。

Symmetric multi-processing support

T:对称多处理器支持

要在多处理器的系统上运行,就选上,一般单处理器用户当然不用选择。

Maximum number of CPUs (2-255) NR_CPUS

T:系统处理器数目

SMT (Hyperthreading) scheduler support

T:支持P4 CPU的HT技术,看情况选择

Preemption Model

T:抢先任务模式

任务抢先是指一些优先级很高的程序可以先于一些低优先级的程序执行,即使这些程序是在核心态下执行(这实际上仍然不是真正的抢先式内核)。从而减少内核潜伏期, 提高系统的响应。当然在一些特殊的点的内核是不可抢先的,比如内核中的调度程序自身在执行时就是不可被抢先的。这个特性可以提高桌面系统、实时系统的性能。根据系统运行方式的不同,可以有三种选择:无强制抢先(用于服务器);系统自动配置任务抢先(用于桌面系统);可配置内核优先模式(用于低延迟的嵌入式系统),在这里,我当然选择第二种模式。

Preempt The Big Kernel Lock

T:大内核锁优先

大内核锁(BKL---Big Kernel Lock)实质上也是spinlock,只是它一般用于保护整个
内核,该锁的保持时间比较长,因此它对整个系统的实时性影响是非常大的。如果你为桌面系统配置内核,那就选择。实时性要求比较高的系统,必需选N。

Machine Check Exception

T:机器异常监测

MCE功能是在处理器出现异常(处理器过热,系统缺陷)的情况下通知内核。如果系统有问题,内核的MCE机制就会起作用,它会将系统挂起,同时在终端打印相关信息。如果想使用这个功能,您的CPU就必需是P5级别以上的。当然,也可以在启动时加载"mce"参数来启用它,通过"nomce"来关闭这个功能。如果您很不幸的在启用后,系统不能正常工作,那就只好关闭MCE,您的CPU也要换一块了:(

Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4

T:检查AMD Athlon/Duron / Intel Pentium 4 系列CPU非致命性错误

打开这个选项将会检查你机器上可能存在的问题,如果有一个非致命错误出现将会自动的修复并且记录,这可以帮助你查出程序出现问题的原因,当然它只能用在AMD Athlon/Duron / Intel Pentium 4这类CPU上,有需要就选择

Check for P4 thermal throttling interrupt

T:检查P4温控中断

在P4的CPU温度过高(P4的温控装置起作用)时会在屏幕上显示出相关的信息。有需要就选择。

Toshiba Laptop support
   T:随下

这个选项是针对Toshiba笔记本的,可以用来访问Toshiba的系统管理模式,也就是可以直接设置BIOS。不过要注意它只在 Toshiba自己的 BIOS中起作用。假如你有一台Toshiba笔记本,可惜它的BIOS是Phoenix的,那这个选项还是无用。

Dell laptop support
   T:意义同上,不过是用于DELL笔记本。

Enable X86 board specific fixups for reboot

T:允许针对X86部件进行修复,重起。

这个选项允许对芯片或者设备进行特殊修复,然后重新启动并正常的工作。它仅仅在某些特殊的硬件和BIOS上有效,如果系统出现不正常的挂起或者重起,那就要选上这个。即时你如果不需要它,启用他也是安全的。

/dev/cpu/microcode - Intel IA32 CPU microcode support

T:支持Intel IA32 CPU 微代码更新

个选项将让你可以更新Intel IA32系列处理器的微代码,当然你还必须在文件系统选项中选择devfs才能正常的使用它。如果你把它译为模块你还需要在modprobe.conf中加上这一行alias char-major-10-184 microcode
  内核本身并不带有微代码的二进制文件

/dev/cpu/*/msr - Model-specific register support

T:支持CPU访问MSR

这个特征提供了被授予特权的CPU访问MSR。MSR是一组字符设备,系统中表示为dev/cpu/0/msr to /dev/cpu/31/msr,在多处理器系统中,MSR直接指向特殊的CPU。

/dev/cpu/*/cpuid - CPU information support

T:允许系统得到CPU信息

从P3开始,INTEL将每个CPU独特的信息固化在CPU内,我们可以通过读取字符设备dev/cpu/0/cpuid to /dev/cpu/31/cpuid。

BIOS Enhanced Disk Drive calls determine boot disk

T:支持从指定硬盘启动

台式机的有些BIOS支持从某块特定的硬盘启动,这个选项是个实验性的代码,在某些情况下,会出现错误,很多磁盘控制器的BIOS不支持这个特性。很多系统只有一个硬盘,所以就不选择这项了。如果你的BIOS不支持这个功能而你选上的话,有可能无法启动。建议有需要的加载为模块,以便在出现问题的时候卸载它。

High Memory Support (4G)

T:支持高位内存

Linux在X86系统中可以使用最大64G的物理内存。尽管32位系统最大寻址只有4GB。这意味着如果你有大量的内存,这些多出来的内存永远不会别内核使用到,这些不可被寻址到的内存就是所谓的高位内存(High Memory )。如果你编译的内核不会在超过1G的内存的系统上运行,就选择OFF,这适用于大多数用户。这样,内核可以为了映射4GB的内存而虚拟额外的内存。如果您的系统的物理内存在1G到4G之间,就选择4G,大于4G的系统,就选择64G。这个选项开启Intel PAE (Physical Address Extension) 功能。在IA32系统上PAE执行3-level 映射。PAE被Pentium Pro 以上的CPU支持,内核不能在不支持PAE的系统上运行。当然,实际使用的内存大小可以被自动测定或者是强制指定。使用MEM=256M参数可以指定内存大小。

Memory model

Flat Memory

T:随下

这个选项是允许你选择内核管理内存的方法,对于大多数用户的正确选项只有一个,那就是Flat Memory。有些特殊的用户例如在NUMA以及支持内存热拔插的系统中就有一些不同的选项。选择DISCONTIGMEM,是比较好的,但是选择 SPARSEMEM 可能降低系统的性能。如果你不确定,就选择"Discontiguous Memory"。当然,什么都不清除,最好选择Flat Memory)。

Allocate 3rd-level pagetables from highmem

T:从HIGHMEM中分配3rd-leve映射表

虚拟内存为每个物理内存页建立一个内存映射表,它只在大内存系统中起作用,对于只拥有很少量的内存系统来说,这个功能一无事处。建议系统内存大于4G的用户使用这个功能。

Math emulation

T:模拟数字协处理器功能

486DX以及Pentim处理器内建数字协处理器,他可以提高CPU的数学运算能力。但是486X和386以前的CPU并没有。如果你有这些很老的CPU,建议你选择它。 几乎所有的人都需要协处理器功能。如果你选择了它,而你的CPU又有硬协处理器,那么内核将继续使用硬件协处理器,但是,你可以通过向内核输入参数“no387”来屏蔽硬件协处理器。如果你配置的内核在不同的系统上运行,建议选择它。但是正常情况,不需要这个功能。选择它将会增大内核66K

MTRR (Memory Type Range Register) support

T:存储区域内型寄存器支持

MTRR存储区域类型寄存器,在P6系列的CPU上(Pentium Pro, Pentium II and later),它规定了读写某段范围物理内存的策略,用于优化CPU数据传送性能。这对在运行在PCI/AGP总线上的显卡是非常有用的。例如可将MTTR设为在显存的 地址范围上使用“write-combining”策略,CPU能够在PCI/AGP总线上,将许多次少量的数据写入集合成一次大的数据写入,这样能获得 2.5倍以上图像传送速度的提升。使用这个功能,将会通过/proc/mtrr文件来操作MTRRS。X服务器会用到它。Cyrix 6x86, 6x86MX 与 M II CPU 通过 Address Range

Registers (ARRs)功能来实现相似的功能。 AMD K6-2 (stepping 8 and above) 与 K6-3 CPU中集成了两组MTRR。 Centaur C6 (WinChip) 拥有 8 组MCR,这些CPU都被内核支持。选择它不仅可以提升性能,而且会修复在SMP中系统设定MTRR的一些问题,在没有MTRR的系统中,这个选项同样是安全的。它增加了9KB的内核尺寸。

Boot from EFI support

T:支持从EFI平台的系统上启动。

EFI BIOS(可扩展固件界面软件),它的精髓是传统的BIOS,采用高级语言编写,但是硬件和软件之前的衔接部分被更加标准化,在功能上将会被赋予更大的扩展 功能。EFI拥有驱动模式,使得PC不进入操作系统就能实现不少功能,如上网等,观看视频。EFI还可以进行扩展,从而实现更多功能。它采用图形化的操作界面,使用简单,并且在这个软件的支撑下,可以上网(它符合TCP/IP协议,用户可以在EFI界面使用网络资源,进行远程诊 断、更换驱动、排除故障等),EFI控制硬盘的某个区域成为自己的存储空间,这样就能直接执行一些常用的程序,如硬盘分区、多重操作系统引导、系统备份和恢复等。

 这个选项让内核可以在支持系统在EFI平台上启动,并从固件中获得相关的信息,使用EFI可用服务。起用这个功能,内核将增大8KB ,如果你使用GRUB或者LILO来引导你的系统,就不需要选它了。

Use register arguments

使用-mregparm=3参数编译内核,将前3个参数以寄存器方式进行参数调用。GCC的版本必需大于等于3.0。 它可能改变模块的二进制代码。

Enable seccomp to safely compute untrusted bytecode

T:二次编译以安全(执行?)未授权代码

?功能未知

Timer frequency

T:计时频率

这个项目允许培植时钟计时器的频率。可以在1000HZ和100HZ之间选择。它是为了在不需要高中断响应的服务器和NUMA系统中,调整时钟中断。在SMP系统中,时钟中断在每个CPU中产生。请根据系统环境选择响应频率。

100HZ—— SMP and NUMA

250HZ——server

1000HZ——DESKTOP

kexec system call

T:kexec系统调用

kexec是一个用来将当前内核关闭并启用其他内核的系统调用,这就像独立系统固件的重新启动,这样,你可以启动任何内核,这个名子相似于exec系统调用。这对热拔插系统是很有用的。这是为了需要经常变换硬件的系统而准备的,一般系统不需要这个选项。

//*********************************************************************************    Power management options (ACPI, APM)

-->Power Management support

---->Power Management Debug Support

----->Software Suspend

------->ACPI (Advanced Configuration and Power Interface) Support

---------->Sleep States (EXPERIMENTAL)

-------------->/proc/acpi/sleep (deprecated)

---------->AC Adapter

---------->Battery

---------->Button

---------->Video

---------->Generic Hotkey

---------->Fan

---------->Processor

-------------->Thermal Zone

---------->ASUS/Medion Laptop Extras

---------->IBM ThinkPad Laptop Extras

---------->Toshiba Laptop Extras

---------->Disable ACPI for systems before Jan 1st this year

---------->Debug Statements

---------->Power Management Timer

---------->ACPI0004,PNP0A05 and PNP0A06 Container Driver (EXPERIMENTAL)

------->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

-->CPU Frequency scaling

------>Enable CPUfreq debugging

------>CPU frequency translation statistics

------>Default CPUFreq governor

------>performance' governor

------>'powersave' governor

------>'userspace' governor for userspace frequency scaling

------>'ondemand' cpufreq policy governor

------>'conservative' cpufreq governor

------>CPUFreq processor drivers

------>ACPI Processor P-States driver

------>AMD MobileK6-2/K6-3 PowerNow!

------>AMD MobileAthlon/Duron PowerNow!

------>AMD Opteron/Athlon64 PowerNow!

------>Cyrix MediaGX/NatSemi Geode Suspend Modulation

------>Intel Enhanced SpeedStep

------>Intel Speedstep on ICH-M chipsets

------>Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)

------>Intel Pentium 4 clock modulation

------>nVidia nForce2 FSB changing

------>Transmeta LongRun

------>VIA Cyrix III Longhaul

------>shared options

------>/proc/acpi/processor/../performance interface (deprecated)

------>Relaxed speedstep capability checks

Power Management support

T:支持电源管理

"Power Management" 是电源管理模块,它的作用是在你的系统空闲的时候,将你的一步分不使用的硬件关闭,并将状态保存到内存中。目前关于电源管理,有两种标准,APM和ACPI。如果你想使用其中一个,那你必须选择开启电源管理。电源管理对于那些使用笔记本的用户是非常有用的,如果你想在笔记本上运行Linux,那你最好到下列网站上去了解相关信息。

Linux Laptop home page on the WWW at <http://www.linux-on-laptops.com/> or

Tuxmobil - Linux on Mobile Computers at <http://www.tuxmobil.org/>

and the Battery Powered Linux mini-HOWTO, available from <http://www.tldp.org/docs.html#howto>.

如果你关闭了这个选项,为了节省能源,X86体系上运行的Linux也会在系统空闲的时候发出HLT指令将CPU进入睡眠状态。

Power Management Debug Support

这个选项允许Power Managemen代码中提供冗余调试功能,这对报告电源管理缺陷很有帮助。

Software Suspend

允许将机器挂起,这不需要APM的支持。你可能使用'swsusp' or 'shutdown -z <time>' 命令来挂起你的机器。这将在你的交换区上保存一个系统运行状态的境象。在下次启动之前,将'resume=/dev/swappartition' 参数传给内核,然后系统将恢复你的工作状态。如果你不想恢复到以前的状态,就使用'noresume'内核参数。然而,必须注意的是你的分区将会被重新检测,同时,你必须重新建立你的交换分区。它不在使用交换文件工作。现在,你可以不用恢复先前工作状态,或者以后恢复,但是在此起见,你不可以使用这些保存系统状态的交换分区或者文件,同样,会存在磁盘上的缓冲区与保存的文件不匹配的危险。

ACPI (Advanced Configuration and Power Interface) Support

T:ACPI支持

Linux高级配置和电源管理接口(ACPI)的支持需要ACPI配合的平台,同时需要操作系统和电源管理软件的支持。这个选项会增大70的内核尺寸。Linux ACPI 为以前的配置和电源管理接口提供健壮的功能,包括即插即用(PNP BIOS),多处理器架构(MPS),高级电源管理规范(APM)。如果ACPI和APM都被配置了,那就起用最先被加载的功能。ACPI  SourceForge 项目包括了最新的源代码和文档,工具以及订阅邮件目录。<http://sourceforge.net/projects/acpi>。Linux 上的ACPI支持是基于Intel公司的ACPI架构,可以通过<http://developer.intel.com/technology/iapc/acpi>来获得相关信息。ACPI是由 Compaq, Intel, Microsoft, Phoenix, and Toshiba.提出的工业规范,相关信息可以访问<http://www.acpi.info>

Sleep States

T:睡眠状态

这个选项增加了保存ACPI挂起状态的信息。通过这个选项,你可以将系统进入睡眠状态。在睡眠状态中,系统仅消耗很少量的电力。所有系统状态将会根据系统状态,保存信息到内存或者磁盘中。这样允许系统很快的恢复运行状态。虽然这个功能听起来非常好,但是这需要设备驱动的支持。所以,这个选项仅仅推荐那些开发电源管理功能的人员选择。

AC Adapter

这个选项增加对交流适配器的支持,它会指出系统是否是在交流电支持下运行。当然,只有移动设备需要这个模块,桌面机器总是使用交流电。

Battery

T:电池

这个驱动提供电池信息,这些信息保存在/proc/acpi/battery中,如果你使用的是移动设备,就必须加载。

Button

T:按钮

这个驱动注册按钮的事件信息,(电源开关,睡眠,合上笔记本)。这样,一个守护程序通过读取 proc/acpi/event 信息来注册用户的动作。

Video

T:显示器

这个驱动为你的显示卡适配器提供扩展功能,(ACPI 2.0规范,附录B),允许执行一些很基本的控制。例如,设定视频输出设备,获得EDID信息,设置视频输出等等。这个选项仅仅是个用于参考,它可能不能在你的集成显卡上很好的工作。

Generic Hotkey ACPI_HOTKEY

T:一般的热键

这是一个实验性的热键驱动

Fan

T:风扇

让内核能够控制风扇运转

Processor

T:处理器

这个驱动将ACPI作为Linux的空闲处理器,在支持它的系统上使用ACPI C2 和 C3处理器状态保存信息。

Thermal

T:温控

增加ACPI温控功能,许多移动设备支持这个功能。如果没有选这它,你的处理器可能被损坏(温度过高)。

ASUS/Medion Laptop Extras

这个许动用于对话说笔记本提供而外的ACPI支持。它记录华硕笔记本上的按钮事件信息。这样,系统可以控制LCD显示,或者允许LED闪烁以提示相关信息。

注意:显示开关代码是实验性质的,如果使用它,可能会锁定你的机器。如果你使用的是华硕生产的笔记本,就选择它。这个驱动仍然在开发阶段,如果你的系统运行出现异常,可以将问题发给 acpi4asus-user@lists.sourceforge.net ,它会在后续版本中将这些问题解决!

IBM ThinkPad Laptop Extras ACPI_IBM

同样,这是对IBM笔记本提供ACPI的额外支持。

Toshiba Laptop Extras ACPI_TOSHIBA

对toshiba笔记本提供额外ACPI支持

Disable ACPI for systems before Jan 1st this year

在进入新年时(1月1日)关闭ACPI功能。当然,使用"acpi=force"也可以改写这个功能。输入0将这个机制关闭,在缺省状态下,它是运行的。

Debug Statements

ACPI驱动可以提供大量的出错信息,选择它会增加50K的内核尺寸。

Power Management Timer Support

Pm计时器可以在任何支持ACPI的设备上运行,甚至在ACPI不可用的情况下都能运行。这个计时器不会受PM功能的影响。而TSC(时间戳计时器)会受到影响。因此,如果你在kernel log中看到了 'Losing too many ticks!' 相关信息,或者你在没有HPET的笔记本上工作,那么就选择Y

ACPI0004,PNP0A05 and PNP0A06 Container Driver

这个选项支持CPU或者内存的热拔察(不明白具体意思)

APM (Advanced Power Management) BIOS

APM是BIOS的一些规范,它用很多不同的记述来节省电能。它对笔记本系统很有用。如果选择了它,系统时间将会在恢复操作后重新设定。/proc/apm设备可以提供电池状态信息,用户程序将会接受到APM事件信息。如果选择了它,你可以在启动的时候使用"apm=off“来关闭它。在多个CPU系统中APM是万全被关闭的。你必须使用一些软件来支持APM。APM不会关闭硬盘,也不会关闭监视器。这个驱动不支持 TI 4000MTravelMate and the ACER 486/DX4/75 ,在这些机器上使用,可能会导致不稳定。APM会导致其他一些问题,如果你的机器出现怪异的问题,那最好将APM关闭。

Ignore USER SUSPEND

这个选项将忽略用户的挂起请求,在APM BIOS 兼容的机器上,你需要关闭它,当然因为NEC  Versa M

系列的BIOS有缺陷,你就必须打开。

Enable PM at boot time

开机的时候允许APM特性。如果关闭这个选项,在机器启动的时候将不能自动的对设备进行电源管理,这样就不能节省能源,在"Do CPU IDLE calls"功能打开后,Linux会对CPU发出闲置指令Idle。这样可以节省电池电力,但是很多APM特性是取决于你的BIOS的。如果在使用APM功能后,你的机器挂起,那就把这个选项关闭。在 NEC UltraLite Versa 33/C or a Toshiba T400CDT 机器上,你必须将这个功能关闭。当然,如果你关闭了这个选项,很多机器都能正常的工作。

Make CPU Idle calls when idle

不用多解释了,在机器空闲的时候APM对CPU发出空闲指令。

Enable console blanking using APM

允许APM关闭控制端终端。利用这个功能,一些笔记本可以在Linux关闭虚拟控制终端的时候关闭背光灯,当然这仅仅对虚拟终端有用,在你使用X Window的时候就无效。在VESA标志的显示器上这个功能同样无效。另外,这个功能不是对所有的笔记本都是有效的,它可能一直关闭你的背光灯,或者在你的虚拟终端上输出很多错误信息,特别是在你使用GPM的时候。

RTC stores time in GMT

如果你的RTC(硬件计时器)利用GMT来存储时间,如果你的RTC存储本地时间,就N。事实上,最好使用GMT来存储时间,这样你无须为时区的改变而担心。如果你的操作系统不理解GMT的话就没必要使用GMT了。

Allow interrupts during APM BIOS calls

在正常情况下,这个功能是关闭的,主要是为了防止APM BIOS调用会出现错误。当然,BIOS也可以响应中断。但是不幸的是,有一些BIOS不能这样做,特别对于新的IBM  Thinkpads。如果你的系统在挂起的时候出现异常,那就打开它,否则关闭。

Use real mode APM BIOS call to power off

实模式APM BIOS调用,用于真正的将机器关闭。这为一些有问题的BIOS准备的。如果你的机器在关闭的时候崩溃,那就将这个功能打开。

CPU Frequency scaling

这个选项下的功能允许你的CPU在工作状态下改变工作频率。在CPU低频率工作状态下,会消耗更少的电力。但是这个选项并不能自动的改变CPU的工作频率。你必须子阿启动后,启用CPU频率动态调节器,或者是特殊的工具。

Enable CPUfreq debugging

允许CPU频率调节子系统(或者是驱动)调试。你可以通过向kernel传输 cpufreq.debug=<value>来打开它,对于VALUE,有下面的几个选项:

VALUE=

1 to activate CPUfreq core debugging,

2 to activate CPUfreq drivers debugging, and

4 to activate CPUfreq governor debugging

CPU frequency translation statistics

这个驱动会将CPU频率状态信息输出到SYSFS文件系统中。一般是在/proc下

Default CPUFreq governor

缺省CPU频率调节器调节频率的限定因素,有两个选项,一个是 performance 性能优先,userspace 用户控制优先,一般如果系统有频率调节软件的话,就选userspace。

下面几个选项基本都是这个意思。缺省就可以了

CPUFreq processor drivers

根据你的系统选择相应的频率调节驱动,我的系统是intel的,所以就选择Intel Enhanced SpeedStep

/proc/acpi/processor/../performance interface (deprecated)

这允许/proc/acpi/processor/../performance接口中相抵触的调用,这对调试是有好处的的,当然在多个CPU调节器的系统中也应当使用。

Relaxed speedstep capability checks

不对 speedstep 功能进行严格检查,推荐使用。这可以最大可能的情况下启用的系统的 speedstep 功能,当然你也可以将参数 "relaxed_check=1" 传输给你的模块。

-->Bus options (PCI, PCMCIA, EISA, MCA, ISA)

------>PCI support

---------->PCI access mode

---------->PCI Express support

---------->Legacy /proc/pci interface

---------->PCI device name database

---------->PCI Debugging

ISA support

MCA support

NatSemi SCx200 support

PCCARD (PCMCIA/CardBus) support

PCI Hotplug Support

Bus options

下面的选项都是对系统总线设备驱动的支持,选择需要的相应设备。

PCI support

PCI总线支持,它可以确定你是否用了PCI主板,如果你使用了PCI设备,就选择它(现在的主机系统都支持PCI总线。

PCI access mode

在支持PCI的系统上,BIOS可以用于侦测PCI设备,并设定它。然而,一些老的BIOS对PCI的支持有缺陷,如果通过BIOS查询设备,那可能会引起系统崩溃。当然,一些PCI的嵌入式系统没有BIOS。Linux当然也可以直接获得PCI设备的信息。在这个选项中你可以根据你的需要选这Linux获得PCI设备信息的方式,BIOS,Direct,MMConfig,Any。对于MMConfig是通过MMCONFIG通道获得信息,Direct是直接获取。Any是按照MMCONFIG-Direct-BIOS的顺序查询

PCI Express support

用于支持PCI Express 设备。在此端口之上,用户可以选择支持本地 Hot-Plug ,高级错误报告,PM电源管理时间,虚拟设备通道,等相关功能。

Legacy /proc/pci interface

这个特性允许通过/proc/pci来提供系统PCI设备信息。在2.5.53的内核中,这个特性已经被取消支持。在以后,将会去除这个选项。所以,关闭这个选项是没有问题的。

PCI device name database

在缺省状态下,内核包括了所有已知PCI设备名的数据库。它用于在 proc/pci ,/proc/ioports and

simila中产生相关信息。 这个数据库会增大80K的内核尺寸。当然, 如果CONFIG_HOTPLUG 没有被设置,这块内存会被释放。如果你是为安装软盘或者是嵌入系统配置内核,就可以关闭它,这样,你仅仅能够得到设备ID号,而不是设备名称。

PCI Debugging

这个选项让PCI内核可以向system log输出大量的调试信息。通过这些信息,你就可以知道系统的问题。

ISA support

同样,这是用于支持ISA总线的选项。

EISA support

EISA是一个比较老的工业总线结构。它用于代替IBM MicroChannel bus。EISA提供了兼容于ISA的特性,现在,它已经被PCI总线取代。如果有特殊需要,就选择它,特别是你为EISA-BASED机器做开发的时候,必须选上。

Vesa Local Bus priming

如果你有VLB( Vesa Local Bus )设备,就选择它。

Generic PCI/EISA bridge

如果你有PCI TO ISA转接桥,就选择它。当然,你的系统有这两种插槽,就必须选择。

EISA virtual root device

如果你的系统只有EISA总线,就选择它。

EISA device name database

同样,提供EISA设备相关信息,如果选择它,内核增大40K。

MCA support

MicroChannel 总线在一些IBM/PS2和笔记本上可以找到,它和PCI或则ISA是相似的,有需要就选择。

NatSemi SCx200 support

它为 National Semiconductor (国家半导体)SCx200系列CPU提供基本的支持。现在,它仅仅是GPIO插件的驱动,它可以被编译为模块。一般不需要

PCCard (PCMCIA/CardBus) support

如果你需要使用 PCMCIA- or PC-cards ,那就选择它。这些卡都是信用卡大小的一些设备。例如网卡,猫,这些东西经常用在笔记本上。这种设备有两种变种:16 bit PCMCIA and 32 bit CardBus cards.如果编译为模块,它将被称为 pcmcia_core 。

Enable PCCARD debugging

允许调试PCMCIA子系统。你可以通过内核参数,或者模块选项来改变调试级别。这取决于你是否将PCMCIA编译为模块。一般系统不需要这个功能。调试参数如下:

The kernel command line options are:

pcmcia_core.pc_debug=N

pcmcia.pc_debug=N

sa11xx_core.pc_debug=N

The module option is called pc_debug=N

32-bit CardBus support

CardBus是 PC-cards 的主要结构,它允许使用32位PC-cards (PCMCIA标准指定的是16位总线)现在新的 PC-cards基本都是 CardBus cards 。所以,笔记本用户就选上它吧。

PC-card bridges

下面的选项都是为PC-Card桥设备提供驱动的,一般把它编译为模块就可以了。

PCI Hotplug Support

支持PCI设备的热拔插选项

Support for PCI Hotplug

如果你的转有PCI Hotplug 控制器,就选择它。它允许你在系统运行的时候安装或者卸下PCI设备。 为了和PCI Hotplug 控制器交互,就必须加载pcihpfs文件系统。这是实验性的代码,如果编译为模块,就是pci_hotplug

在这个选项下面的子选项,根据自己的系统选择,一般默认编译ACPI PCI Hotplug driver 为模块就可以了。

//*************************************************************************************

Executable file formats

--> Kernel support for ELF binaries

-->Kernel support for a.out and ECOFF binaries

-->Kernel support for ELF binaries

ELF (Executable and Linkable Format) 是用于在不同平台上库和可执行文件的一种文件格式。一般需要将它选上,内核会增大13K。由于Linux的移植性,ELF格式已经取代了a.out格式,但这并不意味这你可以非常容易的在不同的架构运行程序)。很多软件都是仅仅用这个格式发布的,好无疑问,你必须选择。如果你发现在你升级到1.2内核以后,还不能运行ELF程序,那么就必须安装最新ELF运行库(包括ld.so),

Kernel support for a.out and ECOFF binaries

A.out (Assembler.OUTput)是早期UNIX使用的库文件和执行文件的一种格式。在ELF之前,Linux使用这种格式。如果需要运行这个格式的程序的话,就选上。一般不用选择。

Kernel support for MISC binaries

如果你需要运行一些解释器来运行你的程序,就必须选择它(包括 Java, Python, .NET or Emacs-Lisp) 当然,这对一些模拟器也是很有好处的。这样Linux可以自动选择相应的解释器来运行代码。相关信息可以在帮助文件中找到。这里,当然推荐选择它。

Networking ------------------------------

Networking support

由于Linux是以网络为基础的操作系统,运行在它上面的应用程序有很多会用到内核的网络功能,所以最好在配置此项之前阅读内核中关于网络的文档。

Networking options

Packet socket

数据分组协议是在内核中实现的,让应用程序直接和网络设备通讯的协议。如果想使用它,就选择,一般来说,这对提高网络访问效能有不错的提高,所以建议选择。

Unix domain sockets

这时为了支持 Unix domain sockets ,这个sockets是Unix用来建立和访问网络的基本机制。很多应用程序都需要这个sockets,甚至在没有联结网络的情况下也会需要,例如X Windows和 syslog。如果你的内核仅仅在嵌入系统或者相似的系统上工作,那就不需要它。但是一般应用下,毫无疑问,他是必须的。当然,你也可以把它编译为模块,但是如果你忽略的加载此模块的话,很多重要的服务就不能正常工作。既然那么重要,就直接编译到内核中吧。

IPsec user configuration interface

提供支持本地工具配置IPSEC的接口

PF_KEY sockets

PF_KEYV2套接字协议簇,它是和KAME相兼容的。如果你的IPSEC配置工具是由KAME移植过来的,那就需要。

TCP/IP networking I

这是在Internet和很多以太网上使用的协议,这个协议当然要选择(会增大144KB内核尺寸)。很多应用程序必须使用这个协议。如果你选择了它,同时也选择了"/proc file system support" 和"Sysctl support" 你可以通过改写/proc/sys/net/ipv4/*来改变TCP/IP很多方面。这可以在内核网络帮助文档中寻找相关解释

Network packet filtering (replaces ipchains)

网络包过滤。它是一个过滤和管理网络通信包的一个框架。最常用的地方是作为联结Internet和内部网之间的防火墙。在内核中,防火墙机制是通过"packet filter"来实现的。它可以拒绝特定的网络信息包进入你的系统中。另外一种防火墙是通过"proxy-based" 代理机制实现的。相对来说,它更安全也更难被配置和安装。它可以更严格的检查网络通信,同时,知道上层网络协议,这些都是“包过滤”机制所缺乏的。此外,网关防火墙通常需要对本地程序进行适当的更改。网关防火墙不需要内核的支持,但是,它通常包括了packet filter, 这个只能通过内核来实现。

The SCTP Protocol

流控制传输协议(实验性代码)。SCTP是一组运行在无联接数据包网络的传输协议。它提供了以下服务:

--公认的,对用户数据无错误的复制传输

--对数据分组,以适应MTU(最大传输单元)

-- 对用户信息用并发流传输

-- 可以将并发传输的用户数据整合成单个SCTP包

--网络层错误冗余功能

Asynchronous Transfer Mode (ATM)

异步传输模式

ATM是在局域网络或者广域网络上使用的一种高速网络传输技术,它使用固定的数据包,允许协调使用最小的带宽需求。如果想使用ATM网络,在你的Linux系统上,你必须有支持ATM的网卡,当然,需要的话,选上它,内核会启动对它的支持。

802.1d Ethernet Bridging

802.1d 桥接以太网

如果你开启了它,你的Linux就可以作为网桥使用。网那意味着,不同的网络段可以通过它互相访问。很多网桥在利用数结构算法的基础上,可以同时工作。因为它是一个标准协议,Linux可以和第三方的桥接产品一起工作。当然,为了能够使用这个功能,你就必须有配置工具,具体内容可以查看内核相关文档。如果你同时启用了iptables支持和桥接支持,那么你就可以将你的系统配置成桥接的IP防火墙。Iptables将会在传输IP数据包的时候观察它的内容,所以,你就得在配置你的防火墙规则的时候着中考虑这一点。如果开启了arptables支持,这样,网桥就会让arptables在arptalbes头链中观察ARP通信量。

802.1Q VLAN Support

开启它,就会在你的网络接口上建立802.1Q VLAN接口。它几乎支持所有所有的网络接口特性,包括防火墙,网络桥,当然包括了IP传输。你得通过'vconfig'工具来有效的使用VLANS。

DECnet Support

DECnet网络协议是使用在Digital(now Compaq).它提供了可靠的流和序列包通信功能,这和在运行在TCP/IP的网络上有很多相似的地方。使用这个功能,你必须开启内核的其他功能,具体请查看内核配置文档。

ANSI/IEEE 802.2 LLC type 2 Support

这是第二种类型的逻辑链接层。如果你想支持PF_LLC sockets,那么就必须选上。

The IPX protocol

这是用于支持Novell网络协议。IPX,在windows局域网中是经常使用的。如果你想访问Novell Netware文件,或者是使用ncpfs客户端协议的打印服务,或者是Linux DOS模拟器你就必须选上。IPX是在IP作用域范围内和IP相似,不过,SPX(顺序数据分组交换协议)是运行在IPX上的,相似于IPX。Linux中对SPX提供实验性的支持。如果你想使用NetWare文件服务或则是IPX路由器,那么你就得选择它,同时你还得安装lwared,mars_nwe。关于联接Linux, Windows, Macs机器,在 <http://www.eats.com/linux_mac_win.html>上有相关内容。IPX协议会增大内核16KB,它可以被编译为名为ipx的模块。

Appletalk protocol support

Appletalk是用于Apple机器间相互通讯的协议。如果你的Linux系统想要联接此种网络,那就选上。你可能需要 netatalk 软件包,这样的你Linux系统可以作为Macs机器的打印或者是文件服务器,就象在访问AppleTalk打印机一样。EtherTalk是在以太网上AppleTalk协议的名称,而LocalTalk是用于小型的慢速的通过串口传输的Apple私有网络。Linux对这两个功能提供万全的支持。

CCITT X.25 Packet Layer

CCITT(国际电信电报咨询委员会)X.25数据分组层。X.25是被标准化的网络协议,和中帧继相似。一条物理连线可以通过X.25网络点对点的访问很多网络上的其他电脑(这被称做“虚拟线路”)。政府,银行,和很多组织想通过广域网访问对方。很多国家有公共X.25网络。X.25协议由两组协议组成:高级数据包层协议(PLP)和低级数据联接层协议(LAPB)。

LAPB Data Link Driver (EXPERIMENTAL)

LAPB是X.25协议的数据链接层部分。它为和其他主机交换数据提供了问题的通信服务。它也被用来传输高层的网络协议。通常,LAPB是被用在专用的X.21网卡上的,但是Linux目前仅仅在以太网通信上支持它。

Frame Diverter (EXPERIMENTAL)

帧分流器允许你将网络上的数据包分流,这个过程不是异步的。在被用于网桥的Linux系统上,一般都会将帧分流功能打开,这样可以用Squid提供一些真实的WWW缓冲功能。?这在你不想改变你的路由配置的情况下非常有用。当然,还有一些很有用的功能,具体请查看内核的配置文档。

Acorn Econet/AUN protocols (EXPERIMENTAL) ECONET

Econet是用于Acorn电脑上的一种过时的和慢速的用于访问文件和打印服务的网络协议。它使用专用的Econet网卡。AUN是Econet的高层实现,而Econet是运行在UDP协议上的网络联接。

WAN router

广域网络(WANS),例如X.25,中帧继和租用线路,是被用来在长距离上高速与局域网互联的一种方式,这种方式联接广域网可以获得比用异步morden联接更高的数据传输率。通常,有一个专用的被叫做“WNA router”的设备必须联接到WAN上。作为一种选择,WAN路由功能可以内建在linux内核中。通过在市场上可获得的相对便宜的WAN接入卡,就可以获得一个非常便宜且稳定的路由器,而这个路由器仅仅不到专用路由一般的价格。如果想用这个路由功能,那就必须得选上,当然,你还得选择WAN设备的驱动程序,和相关的管理配置软件,可以在<ftp://ftp.sangoma.com/>获得。

QoS and/or fair queueing NET_SCHED

当内核有很多数据包需要通过网络设备发送出去,它必须得决定优先发送的数据,和延迟的数据,还有必须得丢弃的数据。这是数据分组调度的工作,有很多算法被推荐去公平的处理这个问题。如果你选N,那么你将会的到一个标准的数据分组调度器,它是通过FIFO(先到先服务)的机制来运行的。如果想用其他的算法机制,你就必须选这它。如果你的网络设备是实时的,需要在某种最低数据传输率下运行,或者你需要限定某种标准指定的最大传输率,那么这个功能是很有用的,(这是一项实验性质的功能)。

你必须通过user-level(用户级别)的软件包来管理调度程序( iproute2+tc ),他们可以在<ftp://ftp.tux.org/pub/net/ip-routing/>获得。这个“服务特性”( Quality of Service (QoS))可以让你在Linux系统上使用差异服务(Differentiated Services (diffserv) )和“资源预定协议”( Resource Reservation Protocol(RSVP)),当然,你还需要选择"QoS support","Packet classifier API" 项目,相关文档和软件可以在<http://diffserv.sourceforge.net/>上获得。

在/proc文件系统中,可以通过/proc/net/psched获得相关信息。

Firewall based classifier

选择它,就可以通过你指定的防火墙规则来限定数据包。

U32 classifier

选择它,机可以通过数据包的目的地址将其分类。

classify input device (slows things u32/fw)

这个选项在元数据到来时被杀死,因为它使那些只可以用于u32和fw分类器的变的慢速。在没有iproute2情况下不能选择这个。

Use nfmark as a key in U32 classifier

这个选项允许匹配u32过滤器标志。必须使用更新的iproute2

Special RSVP classifier

RSVP(Resource Reservation Protocol )允许目标系统请求最小或者最大的传输率请求。这对实时数据特别重要,例如声音流,和视频流。如果你想区分基于RSVP请求的数据包,就选择。

Special RSVP classifier for Ipv6

IPV6基础上的RSVP

Extended Matches

如果你需要基于分类器进行扩展匹配,那就选择它,同时选择下面的匹配项目。扩展匹配是小型的分类器。

Packet ACTION

这个选项需要一个新的iproute2支持。它允许一个较新的tc 分类器使用tc扩展名。当然,这必须在使用iproute2时才可以打开。

simple action

这个选项增加一个非常简单的演示用的功能。它提供了一个非常基本的示例。所有的功能是根据策略在分组数后打印字符串。

Network testing

Packet Generator

网络测试,数据包生成器

这个模块会在一个可配置的传输率下,在输出端注入已经配置好的数据包。这对网络接口的负荷测试和性能分析非常有用。

Amateur Radio support

业余无线电支持

如果需要Linux系统联接业余无线系统,就选择,在这个选项下,根据需要选择您所需的内容。

IrDA (infrared) subsystem support

红外线子系统支持

如果系统有红外线功能就选择。红外无限联结是一种在笔记本和PDA上广泛被支持的一种标准。如果需要启用红外功能,那就必须有相关软件的支持,例如irattach。你可以在呢和相关文档中找到这方面的内容,同样在<http://www.tldp.org/docs.html#howto>.也可以找到相关内容。

Bluetooth subsystem support

蓝牙子系统支持

蓝牙是一种低消耗,低电能消耗,短距离的无线技术。它被设计用来代替电缆,或者其他短联结技术(IrDA)。蓝牙有效范围在10米。<http://www.bluetooth.com/>这上面有相关内容。

Linux蓝牙子系统由很多层组成:

Bluetooth Core (HCI device and connection manager, scheduler)

HCI Device drivers (Interface to the hardware)

SCO Module (SCO audio links)

L2CAP Module (Logical Link Control and Adaptation Protocol)

RFCOMM Module (RFCOMM Protocol)

BNEP Module (Bluetooth Network Encapsulation Protocol)

CMTP Module (CAPI Message Transport Protocol)

HIDP Module (Human Interface Device Protocol)

同样,你也需要很多软件支持这个系统,例如hciconfig and hcid.在蓝牙官方网站上同样有相关信息。

**********************************************************************************

Device Drivers

Generic Driver Options

Select only drivers that don't need compile-time external firmware

如果你不需要为特殊的硬件提供驱动,那么就选择它。

Prevent firmware from being built

为避免重建固件就选择它。固件通常和驱动相配合,仅仅在更新固件的时候,才需要重建驱动。

Hotplug firmware loading support

这个选项提供了在内核树模块中没有提供热拔插功能的情况下,启用非内核数中的热拔插模块。

Driver Core verbose debug messages

驱动核心冗余调试功能,如果需要在system log中记录关于驱动内核调试信息,就选择。当然,如果想知道驱动有什么问题,也可以选择。

Memory Technology Devices (MTD)

Memory Technology Device (MTD) support

为大量的存储设备提供支持,这些设备包括flash,RAM,和其他类似的芯片。在小型嵌入式系统中经常使用。它为MTD设备提供基本的支持,它会将内核和将要使用MTD设备的用户注册到系统的设备表中。它同时允许你为特殊的硬件设备和MTD用户选择相应的驱动。

linux kernel 配置(部分) 部分内容翻译自内核帮助文档相关推荐

  1. 最新历史版本 :LINUX KERNEL 配置编译中文指南

    LINUX KERNEL 配置编译中文指南 序言 近几年,linux大行其道,令不满windows蓝屏的使用者跃跃欲试,结果发现linux安装不及windows方便,界面不及windows友好,配置不 ...

  2. linux内核的文档资料索引

    一般内核版本都有相关文档在kernel\Documentation目录下,以下是该目录下kernel-docs.txt的网上翻译 ON-LINE DOCS:             *标题:" ...

  3. doxygen生成html文件,doxygen 的安装、配置、编译及使用(从源代码到文档)

    doxygen 的安装.配置.编译及使用(从源代码到文档) 1. 什么是 doxygen 下面是 doxygen 主页上的一段说明文字 Source code documentation genera ...

  4. Linux SDIO WIFI Marvell8801/Marvell88w8801(一) --- 代码及文档介绍

    代码工程的GITHUB连接:点进进入GITHUB仓库 https://github.com/sj15712795029/stm32f1_marvell88w8801_marvell8801_wifi ...

  5. Linux内核可自己增加吗6,一篇最完善可行的Linux 2.6.10内核升级文档Linux -电脑资料...

    一篇最完善可行的Linux 2.6.10内核升级文档 huangki | 05 三月, 2005 23:22 Linux 2.6.10 kernel installation 做一件事情,首先要知道自 ...

  6. linux上搭载was应用上传中文文件,受支持的Linux操作系统和WAS ND 9.0安装部署文档的资料说明...

    本文档的主要内容详细介绍的是受支持的Linux操作系统和WAS ND 9.0安装部署文档的资料说明. 从was9.0开始支持的最低版本的red hat Linux系统为6.6且仅支持64位操作系统 计 ...

  7. 怎么翻译整篇Excel文档?Excel文档翻译一招搞定

    想要翻译整篇Excel文档?不知道怎么翻译Excel文档?今天你算是赚到了,小编下面要来给大家分享几个Excel文档翻译的方法,有需要的刚好可以拿去用哦! Excel翻译工具:文档翻译器 1:打开我们 ...

  8. 如何将计算机的名称改成英文翻译,电脑中的文档怎么进行中英文的翻译

    电脑中的文档怎么进行中英文的翻译 腾讯视频/爱奇艺/优酷/外卖 充值4折起 我们在进行文档编辑的时候,有时会遇到需要进行中英文互译的情况,今天就跟大家介绍一下电脑中的文档怎么进行中英文的翻译的具体操作 ...

  9. 有ppt文档翻译软件吗?如何翻译整篇ppt文档

    公司最近在组织案例分析会,优秀的案例大家在一起讨论学习,但是ppt文档里有一些英文的内容,对于英文不好的同事来说理解起来很费劲,想要弄懂文件的内容,可以借助ppt文档翻译软件,将文件进行翻译,这样就能 ...

最新文章

  1. Dojo QuickStart 快速入门教程 (1) Why Dojo
  2. limma包分析差异表达基因
  3. 超图桌面版区分不同类型数据源的图标
  4. 外观模式和代理模式的联系和区别_java23种设计模式-结构型模式之外观模式
  5. 错失黄金时期、连年亏损,国美App改名也难“真快乐”
  6. 【论文写作】客户端设计与实现中模块程序实现如何写
  7. window.print()在页面全部加载完成后才能执行。切记。
  8. ASP.NET - 网页重定向 Response.Redirect()
  9. vue引入iconfont阿里巴巴矢量图标库官网,自定义图标
  10. 微信小程序推广多多进宝商品,微信小程序跳转拼多多小程序领券页面,微信小程序跳转多多进宝推广链接
  11. 扒开思派健康招股书:大数据的面子,“卖药”的里子
  12. 3D展示框架SDK全面开放
  13. 基于共享单车轨迹的自行车道规划(读书笔记)
  14. 站长号文库:.lol域名介绍
  15. 为什么大厂们 一边裁员,一边招人。。
  16. Unity(三十)屏蔽emoji
  17. 一个有趣的实验之OSPF中RID相同建邻
  18. 网易云音乐开发--前后端交互
  19. Win11通过注册表修改文件默认打开方式
  20. IE11升级(不联网模式)之P处理

热门文章

  1. webex player官网下载路径
  2. C语言实现扫雷游戏(完整版)
  3. android项目实战博学谷源码_Vue框架:史上最详细的Vue实战项目之喵喵电影(视频+源码)...
  4. 如何进行SEO关键词布局
  5. CuteFTP 9.0 连接虚拟机的解决办法
  6. 阿里云域名注册流程(图文教程很详细)
  7. 魔坊APP项目-26-直播、docker安装OSSRS流媒体直播服务器、基于APICloud的acLive直播推流模块实现RTMP直播推流、直播流管理
  8. JsBarcode+Lodop打印单+条码
  9. INTOUCH与EXCEL之间进行数据连接
  10. 【数据结构】链栈的实现(附带详细注释)