1.
内容目录
1. Code maturity level options 2
2. General setup 常规安装选项 2
3. Loadable module support 引导模块支持 5
4. Block layer 6
5. Processor type and features 处理器类型及特性 8
6. Power management options (ACPI, APM) 17
7. Bus options (PCI, PCMCIA, EISA, MCA, ISA) 总线选项 22
8. Executable file formats 24
9. Networking support 网络支持。 25
10. Device Drivers 设备驱动 47
11. File systems 文件系统 82
12. Instrumentation Support 测试用的支持项目 86
13. Kernel hacking 内核调试。 86
14. Security options 安全选项。 88
15. Cryptographic options 密码选项。 88
16. Library routines 常规的库。 95
说明1:
文字中的Y表示选择进内核。M表示编成模块。N表示不选择。有的只能选Y,有的只能选M。
在make menuconfig 下,*表示Y,M表示M,空白表示N。
make xconfig下,√ 表示Y,• 表示M,空白表示N。
说明2:
菜单中,有的选项你选了Y才出现,有的选了Y,它反而不会出现。有的选项根本不会提供选择。所以我提供的菜单项应该不是最完整的设置选项。如果你碰到了新的选项,你可以认真看它的英文说明,或者通过上网搜索、在论坛提问等方式来了解它。
1. Code maturity level options
代码完成等级选项
1.1. Prompt for development and/or incomplete code/drivers
对开发中的或者未完成的代码和驱动进行提示。
LINUX下的很多东西,比如网络设备、文件系统、网络协议等等,它们的功能、稳定性、或者测试等级等等还不能够符合大众化的要求,还处于开发之中。这就是所谓的阿尔法版本:最初开发版本;接下来的是BETA版本,公开测试版本。如果这是阿尔法版本,那么开发者为了避免收到诸如“为何这东西不工作”的信件的麻烦,常常不会让它发布出去。但是,积极的测试和使用阿尔法版本对软件的开发是非常好的。你只需要明白它未必工作得很好,在某些情况有可能会出问题。汇报详细的出错情况对开发者很有帮助。
这个选项同样会让一些老的驱动的可用。很多老驱动在将来的内核中已经被代替或者被移除。除非你想要帮助软件的测试,或者开发软件,或者你的机器需要这些特性,否则你可以选N,那样你会在配置菜单中得到较少的选项。如果你选了Y,你将会得到更多的阿尔法版本的驱动和代码的配置菜单。
2. General setup 常规安装选项
2.1. Local version - append to kernel release
在你的内核后面加上一串字符来表示版本。这些字符在你使用uname -a 命令时会显示出来。你的字符最多不能超过64位。
2.2. Automatically append version information to the version string (LOCALVERSION_AUTO)
自动生成版本信息。这个选项会自动探测你的内核并且生成相应的版本,使之不会和原先的重复。这需要Perl的支持。
由于在编译的命令make-kpkg 中我们会加入- - append-to-version 选项来生成自定义版本,所以这里选N。
2.3. Support for paging of anonymous memory (swap)
这个选项将使你的内核支持虚拟内存,也就是让你的计算机好象拥有比实际内存更多的内存空间用来执行很大的程序。这个虚拟内存在LINUX中就是SWAP分区。除非你不想要SWAP分区,否则这里必选Y。
2.4. System V IPC (IPC:Inter Process Communication)
中间过程连接是一组功能和系统调用,使得进程能够同步和交换信息。这通常来说是好事,有一些程序只有你选择了Y才能运行 。特别地,你想在LINUX下运行 DOS仿真程序,你必须要选Y。
你可以用info ipc 命令来了解IPC。
一定要选Y。
2.4.1. IPC Namespaces (IPC_NS)
IPC命名空间,命名空间的作用是区别同名的东西,就比如李宁和张宁,都叫“宁”,加个姓才能区分。这个选项也是为不同的服务器提供IPC的多命名,达到一个IPC提供多对象支持的目的。不清楚的话选N。
2.5. POSIX Message Queues 可移植操作系统接口信息队列
可移植操作系统接口信息队列是IPC的一部分,在通信队列中有较高的优先权来保持通信畅通。如果你想要编译和运行在Solaris操作系统上写的POSIX信息队列程序,选Y,同时你还需要 mqueue 库来支持这些特性。它是作为一个文件系统存在(mqueue),你可以mount它。为保证以后的不同程序的协同稳定,如果不清楚,选Y。
2.6. BSD Process Accounting BSD进程统计
如果你选Y,用户级别的程序就可以通过特殊的系统调用方式来通知内核把进程统计信息记录到一个文件,当这个进程存在的时候,信息就会被内核记录进文件。信息通常包括建立时间、所有者、命令名称、内存使用、控制终端等。这对用户级程序非常有用。所以通常选Y是一个好主意。
2.6.1. BSD Process Accounting version 3 file format
选Y,统计信息将会以新的格式(V3)写入,这格式包含进程ID和父进程。注意这个格式和以前的 v0/v1/v2 格式不兼容,所以你需要升级相关工具来使用它。
2.7. Export task/process statistics through netlink (EXPERIMENTAL)
处于实验阶段的功能。通过通用的网络输出工作/进程的相应数据,和BSD不同的是,这些数据在进程运行的时候就可以通过相关命令访问。和BSD类似,数据将在进程结束时送入用户空间。如果不清楚,选N。
2.8. UTS Namespaces
通用终端系统的命名空间。它允许容器,比如Vservers利用UTS命名空间来为不同的服务器提供不同的UTS。如果不清楚,选N。
2.9. Auditing support 审计支持(AUDIT)
允许审计的下层能够被其他内核子系统使用,比如SE-Linux,它需要这个来进行登录时的声音和视频输出。没有 CONFIG_AUDITSYSCALL 时(即下一个选项)无法进行系统调用。
2.9.1. Enable system-call auditing support (AUDITSYSCALL)
允许系统独立地或者通过其他内核的子系统,调用审计支持,比如SE-Linux。要使用这种审计的文件系统来查看特性,请确保 INOTIFY 已经被设置。
上一项的子选项,两项要选就都选。我并不清楚审计的意义,可能是为了调用其他内核的东西吧。所以就都选了,因为我机器上还有个官方2.6.15-27内核。
2.10. Kernel .config support
这个选项允许.config文件(即编译LINUX时的配置文件)保存在内核当中。
它提供正在运行中的或者还在硬盘中的内核的相关配置选项。可以通过内核镜像文件 kernel image file 用命令 script scripts/extract-ikconfig 来提取出来,作为当前内核重编译或者另一个内核编译的参考。如果你的内核在运行中,可以通过/proc/config.gz文件来读取。下一个选项提供这项支持。
看起来好像是一个不错的功能,可以把编译时的 .config文件保存在内核中,以供今后参考调用。用来重编译和编译其他的内核的时候可以用上。你是一个编译内核的狂人的话,这项要选上(比如我,不过我总是会备份所有的 .config 文件)。
2.10.1. Enable access to .config through /proc/config.gz
上一项的子项,可以通过/proc/config.gz 访问当前内核的.config 。新功能,上一项选的话这个就选上吧。
2.11. Cpuset support
多CPU支持。这个选项可以让你建立和管理CPU集群,它可以动态地将系统分割在各个CPU和内存节点中,在各个节点是独立运行的。这对大型的系统尤其有效。
如果不清楚,选N。
2.12. Kernel->user space relay support (formerly relayfs)
内核系统区和用户区进行传递通讯的支持。这个选项在特定的文件系统中提供数据传递接口支持,它可以提供从内核空间到用户空间的大批量的数据传递工具和设施。
如果不清楚,选N。
2.13. Initramfs source file(s)
没有可选项。
2.14. Optimize for size (Look out for broken compilers!)
这个选项将在GCC命令后用 "-Os" 代替 "-O2"参数,这样可以得到更小的内核。警告:某些GCC版本会导致错误。如果有错,请升级你的GCC。
如果不清楚,选N。
这是优化内核大小的功能,没必要选。一个编译好的内核才7-10多M,大家不会少这么点空间吧。选上了可能会出一些问题。最好不选。
2.15. Configure standard kernel features (for small systems)
这个选项可以让内核的基本选项和设置无效或者扭曲。这是用于特定环境中的,它允许“非标准”内核。你要是选它,你一定要明白自己在干什么。
这是为了编译某些特殊用途的内核使用的,例如引导盘系统。通常你可以不选择这一选项,你也不用关心他的子选项。
3. Loadable module support 引导模块支持
3.1. Enable loadable module support
这个选项可以让你的内核支持模块,模块是什么呢?模块是一小段代码,编译后可在系统内核运行时动态的加入内核,从而为内核增加一些特性或是对某种硬件进行支持。一般一些不常用到的驱动或特性可以编译为模块以减少内核的体积。在运行时可以使用modprobe命令来加载它到内核中去(在不需要时还可以移除它)。一些特性是否编译为模块的原则是,不常使用的,特别是在系统启动时不需要的驱动可以将其编译为模块,如果是一些在系统启动时就要用到的驱动比如说文件系统,系统总线的支持就不要编为模块,否则无法启动系统。在启动时不用到的功能,编成模块是最有效的方式。你可以查看MAN手册来了解:modprobe, lsmod, modinfo, insmod 和 rmmod.
如果你选了这项,你可能需要运行 "make modules_install" 命令来把模块添加到/lib/modules/目录下,以便 modprobe 可以找到它们。
如果不清楚,选Y。
3.2. Module unloading
这个选项可以让你卸载不再使用的模块,如果不选的话你将不能卸载任何模块(有些模块一旦加载就不能卸载,不管是否选择了这个选项)。
如果不清楚,选Y。
3.2.1. Forced module unloading
这个选项允许你强行卸除模块,即使内核认为这不安全。内核将会立即移除模块,而不管是否有人在使用它(用rmmod -f 命令)。这主要是针对开发者和冲动的用户提供的功能。
如果不清楚,选N。
3.3. Module versioning support (MODVERSIONS)
有时候,你需要编译模块。有时候,你需要编译模块。选这项会添加一些版本信息,来给编译的模块提供独立的特性,以使不同的内核在使用同一模块时区别于它原有的模块。这有时可能会有点用。
如果不清楚,选N。
3.4. Source checksum for all modules
这个功能是为了防止你在编译模块时不小心更改了内核模块的源代码但忘记更改版本号而造成版本冲突。
如果不清楚,选N。
3.5. Automatic kernel module loading
允许内核自动加载模块。一般情况下,如果我们的内核在某些任务中要使用一些被编译为模块的驱动或特性时,我们要先使用modprobe命令来加载它,内核才能使用。不过,如果你选择了这个选项,在内核需要一些模块时它可以自动调用modprobe命令来加载需要的模块。
如果不清楚,选Y。
4. Block layer
块设备。
4.1. Enable the block layer (BLOCK)
这选项使得块设备可以从内核移除。如果不选,那么 blockdev 文件将不可用,一些文件系统比如 ext3 将不可用。这个选项会禁止 SCSI 字符设备和 USB 储存设备,如果它们使用不同的块设备。
选Y,除非你知道你不需要挂载硬盘和其他类似的设备。不过此项无可选项。
4.1.1. Support for Large Block Devices (LBD)
如果你要用大于2TB的硬盘,选这个。
4.1.2. Support for tracing block io actions
对块设备进行跟踪和分析的功能。
4.1.3. Support for Large Single Files (LSF)
大文件支持。如果你准备建的文件大于2TB,选这个。
4.1.4. IO Schedulers 磁盘I/O调度器
I/O是输入输出带宽控制,主要针对硬盘,是核心的必須的东西。这里提供了三个IO调度器。
4.1.4.1. Anticipatory I/O scheduler
抢先式 I/O 调度方式是默认的磁盘调度方式。它对于大多数环境通常是比较好的选择。但是它和Deadline I/O 调度器相比有点大和复杂,它有时在数据调入时会比较慢。
4.1.4.2. Deadline I/O scheduler
Deadline I/O调度器简单而又紧密,在性能上和抢先式调度器不相上下,在一些数据调入时工作得更好。至于在单进程I/O磁盘调度上,它的工作方式几乎和抢先式调度器相同,因此也是一个好的选择。
看介绍这个好像比上面的更好,可以试试。不过按照我的平衡观点,好东西都会带来问题。
4.1.4.3. CFQ I/O scheduler
CFQ调度器尝试为所有进程提供相同的带宽。它将提供平等的工作环境,对于桌面系统很合适。
4.1.4.4. Default I/O scheduler 选择默认的I/O调度器
我选了Anticipatory I/O scheduler。
我这样理解上面三个IO调度器:抢先式是传统的,它的原理是一有响应,就优先考虑调度。如果你的硬盘此时在运行一项工作,它也会暂停下来先响应用户。
期限式则是:所有的工作都有最终期限,在这之前必须完成。当用户有响应时,它会根据自己的工作能否完成,来决定是否响应用户。
CFQ则是平均分配资源,不管你的响应多急,也不管它的工作量是多少,它都是平均分配,一视同仁的。
2.
5. Processor type and features 处理器类型及特性
5.1. Symmetric multi-processing support (SMP) 对称多处理器支持。
这将支持有多CPU的系统。如果你的系统只有一个CPU,选N。反之,选Y。
如果你选N,内核将会在单个或者多个CPU的机器上运行,但是只会使用一个CPU。如果你选Y,内核可以在很多(但不是所有)单CPU的机器上运行,在这样的机器,你选N会使内核运行得更快。
注意如果你选Y,然后在Processor family选项中选择"586" or "Pentium" ,内核将不能运行在486构架的机器上。同样的,多CPU的运行于PPro构架上的内核也无法在 Pentium 系列的板上运行。
使用多CPU机器的人在这里选Y,通常也会在后面的选项“Enhanced Real Time Clock Support”中选Y。如果你在这选Y,"Advanced Power Management" 的代码将不可用。
如果不清楚,选N。
5.2. Subarchitecture Type 子构架类型
5.2.1. PC-compatible
选这个如果你的机器是标准PC
5.2.2. AMD Elan
注意,如果你是 K6/Athlon/Opteron处理器不要选这个
5.2.3. Voyager
5.2.4. NUMAQ (IBM/Sequent)
5.2.5. Summit/EXA (IBM x440)
5.2.6. SGI 320/540 (Visual Workstation)
5.2.7. Generic architecture (Summit, bigsmp, ES7000, default)
5.2.8. Support for Unisys ES7000 IA32 series
5.3. Processor family
处理器类型。针对自己的CPU类型,选取相应的选项。
这里是处理器的类型。这里的信息主要目的是用来优化。为了让内核能够在所有X86构架的CPU上运行(虽然不是最佳速度),在这你可以选386。
内核不会运行在比你选的构架还要老的机器上。比如,你选了Pentium构架来优化内核,它将不能在486构架上运行。
如果你不清楚,选386。
5.3.1. - "386"
5.3.2. - "486"
5.3.3. - "586"
5.3.4. - "Pentium-Classic"
5.3.5. - "Pentium-MMX"
5.3.6. - "Pentium-Pro"
5.3.7. - "Pentium-II"
5.3.8. - "Pentium-III"
5.3.9. - "Pentium-4"
5.3.10. - K6, K6-II and K6-III
5.3.11. - "Athlon" K7 (Athlon/Duron/Thunderbird).
5.3.12. -Opteron/Athlon64/Hammer/K8
5.3.13. - "Crusoe"
5.3.14. - "Efficeon"
5.3.15. - "Winchip-C6"
5.3.16. - "Winchip-2"
5.3.17. - "Winchip-2A"
5.3.18. - "GeodeGX1"
5.3.19. - "Geode GX/LX"
5.3.20. - "CyrixIII/VIA C3"
5.3.21. - VIA C3-2 "Nehemiah".
5.4. Generic x86 support
通用X86支持。
除了对上面你选择的X86 CPU进行优化,它还对更多类型X86 CPU的进行优化。这将会使内核在其他的X86 CPU上运行得更好。
对于供应商来说,他们非常需要这些功能,因为他们需要更通用的优化支持。
这个选项提供了对X86系列CPU最大的兼容性,用来支持一些少见的x86构架的CPU。如果你的CPU能够在上面的列表中找到,就里就不用选了。
5.5. HPET Timer Support
HPET时钟支持
允许内核使用 HPET 。HPET 是代替当前8254的下一代时钟,全称叫作高精度事件定时器。你可以安全地选Y。但是,HEPT只会在支持它的平台和BIOS上运行。如果不支持,8254将会激活。
选N,将继续使用8254时钟。
5.6. Maximum number of CPUs (2-255)
设置最高支持的CPU数,无法选择。我的显示为8。
5.7. SMT (Hyperthreading) scheduler support
超线程调度器支持
超线程调度器在某些情况下将会对 Intel Pentium 4 HT系列有较好的支持。
如果你不清楚,选N。
5.8. Multi-core scheduler support
多核调度机制支持,双核的CPU要选。
多核心调度在某些情况下将会对多核的CPU系列有较好的支持。
如果你不清楚,选N。
5.9. Preemptible Kernel 抢先式内核。
一些优先级很高的程序可以先让一些低优先级的程序执行,即使这些程序是在核心态下执行。从而减少内核潜伏期,提高系统的响应。当然在一些特殊的点的内核是不可抢先的,比如内核中的调度程序自身在执行时就是不可被抢先的。这个特性可以提高桌面系统、实时系统的性能。
下面有三个选项:
5.9.1. No Forced Preemption (Server) 非强迫式抢先。
这是传统的LINUX抢先式模型,针对于高吞吐量设计。它同样在很多时候会提供很好的响应,但是也可能会有较长的延迟。
如果你是建立服务器或者用于科学运算,选这项,或者你想要最大化内核的原始运算能力,而不理会调度上的延迟。
5.9.2. Voluntary Kernel Preemption (Desktop) 自动式内核抢先
这个选项通过向内核添加更多的“清晰抢先点”来减少内核延迟。这些新的抢先点以降低吞吐量的代价,来降低内核的最大延迟,提供更快的应用程序响应。这通过 允许低优先级的进程自动抢先来响应事件,即使进程在内核中进行系统调用。这使得应用程序运行得更“流畅”,即使系统已经是高负荷运转。
如果你是为桌面系统编译内核,选这项。
5.9.3. Preemptible Kernel (Low-Latency Desktop) 可抢先式内核(低延迟桌面)
这个选项通过使所有内核代码(非致命部分)编译为“可抢先”来降低内核延迟。
这通过允许低优先级进程进行强制抢先来响应事件,即使这些进程正在进行系统调用或者未达到正常的“抢先点”。这使得应用程序运行得更加“流畅”即使系统已经是高负荷运转。代价是吞吐量降低,内核运行开销增大。
选这项如果你是为桌面或者嵌入式系统编译内核,需要非常低的延迟。
如果你要最快的响应,选第三项。我认为万物是平衡的,低延迟意味着系统运行不稳定,因为过多来响应用户的要求,所以我选第二个。
5.10. Preempt The Big Kernel Lock
抢先式大内核锁(早期Linux用于支持SMP系统时所采用的非细粒度锁)
这个选项通过让大内核锁变成“可抢先”来降低延迟。
选Y如果你在构建桌面系统。如果你不清楚,选N。
5.11. Machine Check Exception 机器例外检查
机器例外检查允许处理器在检测到问题(比如过热、组件错误)时通知内核。内核根据问题的严重程度来决定下一步行为,比如在命令行上打印告警信息,或者关 机。你的处理器必须是 Pentium或者更新版本才能支持这个功能。 用cat /proc/cpuinfo来检测你的 CPU是否有mce 标志。
注意一些老的 Pentium 系统存在设计缺陷,会提供假的MCE事件,所以在所有P5处理器上MCE被禁用,除非在启动选项上明确 "mce"参数。同样地,如果MCE被编译入内核并在非标准的机器上导致错误,你可以用"nomce"启动参数来禁用MCE。
MCE功能会自动忽视非MCE处理器,比如386和486,所以几乎所有人都可以在这里选Y。
5.11.1. Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4
检测AMD Athlon/Duron / Intel Pentium 4的非致命错误
允许这项特性,系统将会启动一个计时器,每5秒进行检测。非致命问题会自动修正(但仍然会记录下来),如果你不想看到这些信息,选N。这些信息可以让你发现要损坏的硬件,或者是非标准规格硬件(比如:超频的)。
这个功能只会在特定的CPU上起作用。
5.11.2. check for P4 thermal throttling interrupt.
检测P4节能器中断
当P4进入节能状态时,打印信息。
5.12. Toshiba Laptop support 东芝笔记本支持。
这个选项是针对Toshiba笔记本的,可以用来访问Toshiba的系统管理模式,可以直接设置BIOS。不过要注意它只在 Toshiba自己的 BIOS中起作用。假如你有一台Toshiba笔记本,而它的BIOS是Phoenix的,那这个选项仍然是无用的。
5.13. Dell laptop support
DELL笔记本支持。功能同上
5.14. Enable X86 board specific fixups for reboot
X86板的重启修复功能。
这将打开芯片或者主板上的重启修复功能 ,从而能够使之正常工作。这功能仅仅在一些硬件和BIOS的特定组合上需要。需要这项功能的征兆是重启时使系统卡死或者挂起。
目前,这个修复功能仅仅支持Geode GX1/CS5530A/TROM2.1.的组合。
选Y如果你需要这项功能,目前,选Y是安全的,即使你不需要它。否则,选N。
5.15. /dev/cpu/microcode - Intel IA32 CPU microcode support
是否支持Intel IA32架构的CPU。这个选项将让你可以更新Intel IA32系列处理器的微代码,显然你需要到网上去下载最新的代码,LINUX不提供这些代码。当然你还必须在文件系统选项中选择/dev file system support才能正常的使用它。如果你把它译为模块 ,它将是 microcode。
IA32主要用于高于4GB的内存。详见下面的“高内存选项”。
5.16. /dev/cpu/*/msr - Model-specific register support
是否打开CPU特殊功能寄存器的功能。这个选项桌面用户一般用不到,它主要用在Intel的嵌入式CPU中的,这个寄存器的作用也依赖与不同的CPU类型而有所不同,一般可以用来改变一些CPU原有物理结构的用途,但不同的CPU用途差别也很大。
5.17. /dev/cpu/*/cpuid - CPU information support
是否打开记录CPU相关信息功能。这会在/dev/cpu中建立一系列的设备文件,用以让过程去访问指定的CPU。
5.18. High Memory Support (4GB) 高容量内存支持
LINUX能够在X86系统中使用64GB的物理内存。但是,32位地址的X86处理器只能支持到4GB大小的内存。这意味着,如果你有大于4GB的物理内存,并非都能被内核“永久映射”。这些非永久映射内存就称为“高阶内存”。
如果你编译的内核永远都不会运行在高于1G内存的机器上,选OFF(默认选项,适合大多数人)。这将会产生一个"3GB/1GB"的内存空间划分,3GB 虚拟内存被内核映射以便每个处理器能够“看到”3GB的虚拟内存空间,这样仍然能够保持4GB的虚拟内存空间被内核使用,更多的物理内存能够被永久映射。
如果你有1GB-4GB之间的物理内存,选4GB选项。如果超过4GB,那么选择64GB。这将打开 Intel 的物理地址延伸模式(PAE)。PAE将在IA32处理器上执行3个层次的内存页面。PAE是被LINUX完全支持的,现在的Intel处理器 (Pentium Pro 和更高级的)都能运行PAE模式。注意:如果你选64GB,那么在不支持PAE的CPU上内核将无法启动。
你机器上的内存能够被自动探测到,或者你可以用类似于"mem=256M"的参数强制给内核指定内存大小。
5.18.1. off 如果不清楚,选OFF。
5.18.2. 4GB 选这项如果你用的是32位的处理器,内存在1-4GB之间。
5.18.3. 64GB 选这项如果你用的是32位的处理器,内存大于4GB。
5.19. Memory model 内存模式
5.19.1. Flat Memory 平坦内存模式。
这个选项允许你改变内核在内部管理内存的一些方式。大多数用户在这只会有一个选项:Flat Memory。这是普遍的和正确的选项。
一些用户的机器有更高级的特性,比如 NUMA 和内存热拔插,那将会有不同的选项。Discontiguous Memory(非接触式内存模式)是一个更成熟、更好的测试系统。但是对于内存热拔插系统不太合适,会被"Sparse Memory"代替。如果你不清楚"Sparse Memory"和"Discontiguous Memory"的区别,选后者。
如果不清楚,就选Flat Memory。
5.19.2. Sparse Memory 稀疏内存模式。
这对某些系统是唯一选项,包括内存热拔插系统。这正常。
对于其他系统,这将会被Discontiguous Memory选项代替。这个选项提供潜在的更好的特性,可以降低代码复杂度,但是它是新的模式,需要更多的测试。
如果不清楚,选择"Discontiguous Memory" 或 "Flat Memory"。
我的机器上只有这两个选项,我选Flat Memory。
5.20. 64 bit Memory and IO resources (EXPERIMENTAL)
64位内存和IO资源
这个选项将使内存和IO资源变成64位的。
实验选项,可以让内存和I/O变为64位。我的总线是32位的,所以还是不选了。选了不知道会不会出错。
5.21. Math emulation
数学仿真
LINUX可以仿真一个数学协处理器(用来进行浮点运算),如果你没有的话。486DX 和 Pentium 处理器内建有数学协处理器。486SX和386的没有,除非你专门加过487DX 或者387协处理器。所有人都需要协处理器或者这个仿真。
如果你没有数学协处理器,你需要在这选Y。如果你有了协处理器还在这选Y,你的协处理器仍然被用到。这意味着如果你打算把编译的内核用在不同的机器上,选Y是明智的选择。
如果不清楚,选Y,这将使内核增加66KB,无伤大雅。
5.22. MTRR (Memory Type Range Register) support
内存类型区域寄存器
在 Intel P6 系列处理器(Pentium Pro, Pentium II 和更新的)上,MTRR将会用来规定和控制处理器访问某段内存区域的策略。
如果你在PCI或者AGP总线上有VGA卡,这将非常有用。例如可将MTTR设为在显存的地址范围上使用“write-combining”策略,这样 CPU可以在PCI/AGP总线爆裂之前将多次数据传输集合成一个大的数据传输,这样可以提升图像的传送速度2.5倍以上。选Y,会生成文件 /proc/mtrr,它可以用来操纵你的处理器的MTRR。典型地,X server 会用到。
这段代码有着通用的接口,其他CPU的寄存器同样能够使用该功能。Cyrix 6x86, 6x86MX和 M II处理器有ARR ,它和 MTRR有着类似的功能。AMD K6-2/ K6-3有两个MTRR, Centaur C6有8个MCR允许复合写入。所有这些处理器都支持这段代码,你可以选Y如果你有以上处理器。
选Y同样可以修正SMP BIOS的问题,它仅为第一个CPU提供MTRR,而不为其他的提供。这会导致各种各样的问题,所以选Y是明智的。
你可以安全地选Y,即使你的机器没有MTRR。这会给内核增加9KB。
5.23. Boot from EFI support
EFI启动支持
这里允许内核在EFI平台上使用储存于EFI固件中的系统设置启动。这也允许内核在运行时使用EFI的相关服务。
这个选项只在有EFI固件的系统上有用,它会使内核增加8KB。另外,你必须使用最新的ELILO 登录器才能使内核采用EFI的固件设置来启动(GRUB和LILO完全不知道EFI是什么东西)。即使你没有EFI,却选了这个选项,内核同样可以启动。
大家应该用的是GRUB,所以选上这个也没什么用。
5.24. Enable kernel irq balancing (IRQBALANCE) 中断平衡。
这个选项使系统进行中断平衡。
如果你是双核CPU,如果不选这项,那么中断负荷都在第一个CPU上,其他的CPU可能得不到中断。
5.25. Use register arguments (REGPARM) 寄存器参数使用。
使用寄存器参数
用‘-mregparm=3’的参数编译内核。这使 gcc 使用更高效的应用程序二进制接口(ABI)来跳过编译时的前三个调用寄存器参数。这使得代码编译更精巧更快速。
如果你不选这个选项,默认的ABI将会使用。
如果不清楚,选Y。
5.26. Enable seccomp to safely compute untrusted bytecode (SECCOMP)
允许SECCOMP(快速计算)安全地运算非信任代码。
这个内核特性在程序出现数码错误,需要重新对非信任的代码进行运算时非常有效。它使用管道或者其他传输方式,使文件描述进程支持读/写的系统调用,这样可以利用SECCOMP隔离那些程序本身的空间。
一旦 seccomp 通过/proc/
/seccomp运行,它将不能停止,任务也只能进行一些安全的被seccomp认证的系统调用。
如果不清楚,选Y。只有嵌入式系统选N。
5.27. Timer frequency 时钟频率
允许设置时钟频率。
这是用户定义的时钟中断频率 100HZ-1000 HZ ,不过 100 HZ 对服务器和NUMA系统更合适,它们不需要很快速的响应用户的要求,因为时钟中断会导致总线争用和缓冲打回。注意在SMP环境中,时钟中断由变量 NR_CPUS * Hz定义在每个CPU产生。
其实和前面的抢先式进程差不多,就是多少频率来响应用户要求。我选了250HZ的。要快点的可以选1000HZ的。但是还是那句话,一切是平衡的。机器过快响应你,它自己的活就不知道做得好不好了。
5.27.1. 100 HZ (HZ_100)
100 HZ是传统的对服务器、SMP 和 NUMA的系统选项。这些系统有比较多的处理器,可以在中断较集中的时候分担中断
5.27.2. 250 HZ (HZ_250)
250 HZ对服务器是一个好的折衷的选项,它同样在SMP 和 NUMA 系统上体现出良好的反应速度。
5.27.3. 1000 HZ (HZ_1000)
1000 HZ对于桌面和其他需要快速事件反应的系统是非常棒的。
5.28. kexec system call (KEXEC) 快速重启调用。
kexec 系统调用
kexec是一个用来关闭你当前内核,然后开启另一个内核的系统调用。它和重启很像,但是它不访问系统固件。由于和重启很像,你可以启动任何内核,不仅仅是LINUX。
kexec这个名字是从 exec 系统调用来的。它只是一个进程,可以确定硬件是否正确关闭,所以如果这段代码没能正确为你进行初始化工作,请不要奇怪。它对设备的热拔插会有点帮助。由于它对硬件接口会乱写点东西,所以我没什么好的建议给你。
Linus本人都没话说,估计是受害不浅。我们当然不能上当,选N!
5.29. Support for hot-pluggable CPUs (EXPERIMENTAL)
对热拔插CPU的支持
选Y,可以做个实验,把CPU关闭和打开,也可以中止SMP系统。CPU可以通过/sys/devices/system/cpu 来进行控制。
5.30. Compat VDSO support (COMPAT_VDSO)
Compat VDSO 支持
如果你运行的是最新的glibc(GNU C函数库)版本( 2.3.3 或更新),选N,这样可以移除高阶的VDSO 映射,使用随机的 VDSO。
如果不清楚,选Y。
5.31. Firmware Drivers 固件驱动。
固件就是你板上的BIOS、各种显卡芯片之类的已经固化好的记录某些特定数据的东西。
5.31.1. BIOS Enhanced Disk Drive calls determine boot disk
BIOS加强磁盘功能,确定启动盘。
选y或M,如果你要使用BIOS加强磁盘服务功能来确定BIOS用哪个磁盘来启动。启动后这个信息会反映在系统文件中。
这个选项是实验性的,而且已经被确认在某些未测试选项下会启动失败。很多磁盘控制器的BIOS供应商都不支持这个特性。
5.31.2. BIOS update support for DELL systems via sysfs
用于DELL机器的BIOS升级支持。
5.31.3. Dell Systems Management Base Driver (DCDBAS)
DELL系统管理器的基本驱动。
6. Power management options (ACPI, APM)
电源管理选项(ACPI、APM)
6.1. Power Management support
电源管理支持
电源管理意味着你电脑上的某一部分在不用的时候可以关闭或者休眠。这领域有两个竞争对手:APM和ACPI。如果你需要两者之一,请把这里选上,再把下面的相关内容选上。
电源管理对于使用电池的笔记本相当重要。如果你有笔记本,请参照几个网站上的说明。
注意,即使你在这选N,在X86构架的机器上,LINUX会发出 hlt 指令如果没有任务,因此会让处理器休眠,达到节电的目的。
6.1.1. Legacy Power Management API (PM_LEGACY)
电源管理继承接口
为pm_register() (电源管理寄存器)和同类寄存器提供支持。
如果不清楚,选Y。
6.1.2. Power Management Debug Support
电源管理调试支持
这个选项提供详细的电源管理调试信息。当你调试和报告电源管理漏洞的时候非常有用,有点像电源管理的“中断”支持。
6.1.3. Driver model /sys/devices/.../power/state files (DEPRECATED)
驱动模式文件 /sys/devices/.../power/state (不赞成使用)
这个驱动模式通过系统文件类型启动,试图来给电源管理设备提供用户空间连通装置。这个特性从来没有能很好地工作过,除非是用来进行测试,否则它处在被移除之列。我们不清楚用通用的方法能否进行各种各样的设备电源管理,目前是专用的总线和驱动来替代相关功能。
6.2. ACPI Support 高级电源配置接口支持
高级电源设置接口(ACPI)支持需要整合了ACPI的平台(固件/硬件),并且这个平台要支持操作系统和电源管理软件的设置。这个选项会给你的内核增加70KB。
LINUX ACPI提供了相当强大的电源接口,甚至可以取代一些传统的设置和电源管理接口,包括PNP BIOS(即插即用BIOS)规范,MPS(多处理器规范),和APM(高级电源管理)规范。如果ACPI和APM同时被选上,先被系统调用的起作用。
6.2.1. AC Adapter AC 交流电源适配器
这个驱动给AC 交流电源适配器提供支持,它指示出系统是否在AC下工作。如果你的系统可以在AC和电池状态下切换,选Y。
6.2.2. Battery 电池
这个驱动通过/proc/acpi/battery 提供电池信息。如果你有使用电池的移动系统,选Y。
6.2.3. Button 按钮
这个驱动通过电源、休眠、锁定按钮来提交事件。后台程序读取/proc/acpi/event 来运行用户要求的事件,比如关机。这对软件控制关机是必要的。
6.2.4. Video (ACPI_VIDEO) 视频
提供ACPI对主板上的集成显示适配器的扩展支持驱动。详见ACPI2.0驱动范例,附录B,它提供了基本支持,比如定义视频的启动设备、返回EDID信息或者设置视频传输等等。
注意这仅仅是文字上的信息而已。它可能(或许不可能)在你的集成显卡设备上运行。
6.2.5. Generic Hotkey (EXPERIMENTAL) 通用热键。
实验中的整合式热键驱动。
如果不清楚,选N。
6.2.6. 05.03.05、<*> Fan 风扇
这个驱动对ACPI风扇设备提供支持,允许用户模式的程序进行风扇的基本控制(开、关、状态显示)
6.2.7. Dock
提供ACPI Docking station支持
Docking station是笔记本的扩展坞,就是用来扩展笔记本电脑功能的底座,通过接口和插槽,它可以连接多种外部设备(驱动器、大屏幕显示器、键盘、打印机、扫 描仪……)。可以弥补轻薄笔记本电脑本身携带附件较少的缺陷,这种设计让用户在办公室里能够享受到台式机一样的便利和舒适,在移动办公时又能发挥笔记本的 便携性。
6.2.8. Processor 处理器
这个驱动以空闲管理者方式给LINUX安装ACPI,使用ACPI C2 和 C3处理器状态来节约电能,如果你的系统支持的话。一些CPU频率调节的驱动需要这个功能。
6.2.8.1. Thermal Zone
温控区域
ACPI温控区域驱动。大多数笔记本和台式机支持ACPI温控区域。强烈要求你选Y,否则你的处理器可能会坏掉。
6.2.9. ASUS/Medion Laptop Extras
华硕笔记本扩展支持
6.2.10. IBM ThinkPad Laptop Extras
IBM笔记本扩展支持
6.2.11. Toshiba Laptop Extras
Toshiba笔记本扩展支持
6.2.12. (0) Disable ACPI for systems before Jan 1st this year 千年虫
6.2.13. Debug Statements
调试语句
ACPI驱动可以自定义报告详细的错误信息。选Y开启这项功能,这将让你的内核增加50KB。
6.2.14. ACPI0004,PNP0A05 and PNP0A06 Container Driver
ACPI0004,PNP0A05 和PNP0A06 容器驱动
这里允许物理上对CPU和内存的插入和移除。这对一些系统,比如NUMA,非常有用,这些系统支持ACPI基本的物理拔插。
如果选择M,这个驱动可以通过命令:"modprobe acpi_container"加入。
6.2.15. Smart Battery System
袖珍电池系统
这个驱动对袖珍电池系统提供支持,依赖于I2C (在选项Device Drivers ---> I2C support) 。袖珍电池非常古老,也非常稀少,对于今天的ACPI支持的电池规范来说。
6.3. APM (Advanced Power Management) BIOS Support
高级电源管理BIOS支持。(APM)
ACPI和APM就好比XP和LINUX。我用了ACPI,这个就只编成模块放着,万一要用到再加模块。不清楚的可以先在机器上用ps -A|less看看有没有这个相关的进程。我的只有ACPID。
没有认真研究过下面的选项,也不列出来糊弄人了。要是用到APM的可以自己研究。
6.4. CPU Frequency scaling
6.4.1. CPU Frequency scaling
CPU变频控制
CPU变频控制允许你在运行中改变CPU的时钟速度。这是对于节约电能来说是一个不错的主意,因为CPU频率越低,它消耗的电能越少。
注意这个驱动不会自动改变CPU的时钟速度,你要么允许动态的频率调节器(看下面),要么使用用户工具。
如果不清楚,选N。
6.4.2. Enable CPUfreq debugging
是否允许调试CPU改变主频的功能,如果要调试,还需要在启动时加上参数。cpufreq.debug= 1:变频技术的内核调试 2:变频技术的驱动调试 3:变频技术的调节器调试
6.4.3. CPU frequency translation statistics CPU频率统计功能
6.4.4. CPU frequency translation statistics details CPU频率统计功能(详细)
6.4.5. Default CPUFreq governor (performance) 默认的主频调节,圆括号内的是你选择的结果,这里表示以性能为主。
6.4.5.1. performance 性能优先
6.4.5.2. userspace 用户定义,可以设定频率。
6.4.6. 'performance' governor性能调节器
6.4.7. 'powersave' governor 节约电能调节器。
6.4.8. 'userspace' governor for userspace frequency scaling 用户自定义调节器。
6.4.9. 'ondemand' cpufreq policy governor 自动调节主频。
6.4.10. 'conservative' cpufreq governor 传统方式调节
6.4.11. CPUFreq processor drivers 变频驱动模块
6.4.12. ACPI Processor P-States driver 报告处理器的状态。
6.4.13. AMD Mobile K6-2/K6-3 PowerNow! AMD移动版K6处理器的变频驱动。
6.4.14. AMD Mobile Athlon/Duron PowerNow! AMD移动版毒龙、雷乌的变频驱动。
6.4.15. Cyrix MediaGX/NatSemi Geode Suspend Modulation Cyrix处理器的变频驱动。
6.4.16. Intel Enhanced SpeedStep Intel的移动变频技术支持。
6.4.16.1. Use ACPI tables to decode valid frequency/voltage pairs 使用BIOS中的主频/电压参数。
6.4.16.2. Built-in tables for Banias CPUs 迅驰一代的主频/电压参数。
笔记本 : 什么是迅驰技术
2003年3月英特尔正式发布了迅驰移动计算技术,英特尔的迅驰移动计算技术并非以往的处理器、芯片组等 单一产品形式,其代表了一整套移动计算解决方案,迅驰的构成分为三个部分:奔腾M处理器、855/915系列芯片组和英特尔PRO无线网上,三项缺一不可 共同组成了迅驰移动计算技术。
奔腾M首次改版叫Dothan
在两年多时间里,迅驰技术经历了一次改版和一次换代。初期迅驰中奔腾M处理器的核心代号为Bannis,采用130纳米工艺,1MB高速二级缓存, 400MHz前端总线。迅驰首次改版是在2004年5月,采用90纳米工艺Dothan核心的奔腾M处理器出现,其二级缓存容量提供到2MB,前端总线仍 为400MHz,它也就是我们常说的Dothan迅驰。首次改版后,Dothan核心的奔腾M处理器迅速占领市场,Bannis核心产品逐渐退出主流。虽 然市场中流行着将Dothan核心称之为迅驰二代,但英特尔官方并没有给出明确的定义,仍然叫做迅驰。也就是在Dothan奔腾M推出的同时,英特尔更改 了以主频定义处理器编号的惯例,取而代之的是一系列数字,例如:奔腾M 715/725等,它们分别对应1.5GHz和1.6GHz主频。首次改版中,原802.11b无线网卡也改为了支持802.11b/g规范,网络传输从 11Mbps提供至14Mbps.
新一代迅驰Sonoma
迅驰的换代是2005年1月19日,英特尔正式发布基于Sonoma平台的新一代迅驰移动计算技术,其构成组件中,奔腾M处理器升级为Dothan核心、 90纳米工艺、533MHz前端总线和2MB高速二级缓存,处理器编号由奔腾M 730—770,主频由1.60GHz起,最高2.13GHz。915GM/PM芯片组让迅驰进入了PCI-E时代,其中915GM整合了英特尔 GMA900图形引擎,让非独立显卡笔记本在多媒体性能上有了较大提高。915PM/GM还支持单通道DDR333或双通道DDR2 400/533MHz内存,性能提供同时也降低了部分功耗。目前Sonoma平台的新一代迅驰渐渐成为市场主流。
6.4.17. Intel Speedstep on ICH-M chipsets (ioport interface) Intel ICH-M移动南桥芯片组的支持
6.4.18. Intel Pentium 4 clock modulation P4处理器的时钟模块支持。
6.4.19. Transmeta LongRun Transmeta处理器的支持。
6.4.20. VIA Cyrix III Longhaul VIA Cyrix处理器的支持。
6.4.21. shared options
6.4.22. /proc/acpi/processor/../performance interface (deprecated) 从/proc/acpi/processor/../performance获得CPU的变频信息。
6.4.23. Relaxed speedstep capability checks
不全面检测Intel Speedstep,有的系统虽然支持Speedstep技术,却无法通过全面的检测。
7. Bus options (PCI, PCMCIA, EISA, MCA, ISA) 总线选项
7.1. PCI support
PCI总线支持(一定要进内核,不能编成模块)
找找你的主板资料,看看你用的是不是PCI主板。PCI是总线系统的名称,是CPU用来与其他设备进行通信的通道。其他总线系统有ISA、EISA、MCA和VESA。如果你有PCI,选Y。否则,选N。
7.1.1. PCI access mode (Any)
PCI访问模式
在PCI系统中,BIOS可以检测PCI设备和确定它们的设置。但是,一些老的PCI主板有BIOS问题,如果这里选上会让系统当机。同时,一些嵌入式的基于PCI系统没有任何BIOS。LINUX可以在不使用BIOS的情况下尝试直接检测PCI硬件。
选上这个以后,你可以设定LINUX如果检测PCI设备。如果你选择"BIOS",BIOS会用到。你选 "Direct", BIOS不会用到。如果你选"MMConfig",PCI加速的 MMCONFIG 会用到。如果你选"Any" ,内核先用 MMCONFIG ,然后 "Direct",最后才是"BIOS"如果前面的都无法工作。如果不清楚,选"Any"。
7.1.1.1. BIOS
7.1.1.2. MMConfig
7.1.1.3. Direct
7.1.1.4. Any
7.1.2. PCI Express support
PCI Express 支持
这里自动支持 PCI Express 端口总线。用户可以选择 Native Hot-Plug support, Advanced Error Reporting support,
Power Management Event support,Virtual Channel support 4个选项来支持 PCI Express 端口(启动或者切换)。
我的板是PCI Express。大家可以用lshw|less来看看自己的PCI是什么类型。
7.1.2.1. Root Port Advanced Error Reporting support
高级启动错误报告支持。
7.1.3. Message Signaled Interrupts (MSI and MSI-X)
信息信号中断
这允许设备驱动开启MSI。MSI允许一个设备用非装订内存写入方式在自己的PCI总线中产生一个中断,而不是常规的IRQ针脚中断。
在内核启动时,用 'pci=nomsi'选项可以禁用PCI MSI中断。这将在整个系统禁用MSI。
如果不知道怎么做,选N。
7.1.4. Interrupts on hypertransport devices
高速传输设备中断
允许高速传输设备使用中断。
如果不清楚,选Y。
7.2. ISA support ISA总线
看看你主板上是否有ISA插槽。ISA是比较老的总线,现已基本被PCI取代。如果你没有老式的ISA设备,可以不选这项。不过我估计你的主板上应该会有 ISA总路。因为我的INTEL 945板都还有一路,接老式打印机用的。选上备用。如果你认为你永远都不会用到那一路的话,可以不选。
7.2.1. EISA support
扩展工业标准架构总线(EISA)是为IBM 微通道开发的项目。EISA总线可以为IBM 微通道提供一些特性,如果你在使用很老的卡。目前EISA很少用到,已经被PCI取代。选Y,如果你为ESIA系统编译内核。否则,选N。
7.2.2. MCA support
IBM PS/2上的总线,现已淘汰,建议关闭。微通道总线IBM的台式机和笔记本上可能会有这种总线,包括它的p系列、e系列、z系列机器上都用到了这种总线。
7.2.3. NatSemi SCx200 support
松下的一种半导体处理器的驱动。
7.3. PCCARD (PCMCIA/CardBus) support
一般只有笔记本电脑上才会有PCMCIA插槽,如果你是台式机的话,可以不选这一项,然后跳过这一部份。我的IBM机器是办公用的,经常会临时接一些乱七八糟的设备。我自己都不知道哪些设备需要什么模块。所以这里我都搞成模块,免得以后接上用不了,又得切换到XP下。
7.3.1. PCCard (PCMCIA/CardBus) support
PCI Hotplug Support
PCI热插拨支持
选Y,如果你的主板有PCI热拔插控制器,这允许你热拔插PCI卡。
选M,将编译为模块,叫做pci_hotplug。
如果不清楚,选N。
一般来讲只有服务器上会有热插拔的设备,如果你使用的是台式机,你可以不选择此项并跳过这一部份。
8. Executable file formats
可执行文件格式。
8.1. Kernel support for ELF binaries
ELF支持
ELF(可执行和可链接格式)是一种用来连接不同架构和操作系统的可执行文件、库函数格式。选Y,你的内核可以运行ELF二进制文件,这也使你的内核增大13KB。
ELF现在基本代替了传统的 a.out 格式(QMAGIC and ZMAGIC用到),因为它是可移植的(可移植不代表它可以直接运行在不同构架和操作系统上),而且建立相关运行库文件非常容易。很多新的可执行文件都用ELF格式发布,你在这里当然要选Y。
8.2. Kernel support for a.out and ECOFF binaries
对 a.out 和 ECOFF 二进制文件的支持
A.out (Assembler.OUTput)是一种二进制文件格式,它用在最早的UNIX版本中。LINUX在QMAGIC 和 ZMAGIC两个镜像中使用A.out,直到它最近被ELF取代。ELF的转变开始于1995年。这个选项主要是给研究历史的人提供感兴趣的信息,或者你 要是有那个年代的文件,你需要这个选项。
大多数人在这可以选N。如果你认为你有可能会用到这个格式,选M编译成模块。模块名为binfmt_aout。如果你系统的关键部件(比如/sbin/init 或者 /lib/ld.so)是 a.out 格式的的,你要在这选Y。
8.3. Kernel support for MISC binaries
内核对 MISC 二进制文件的支持
如果你在这选Y,它将可以将 wrapper-driven 二进制格式嵌入内核。当你使用一些程序的解释器时,比如 Java, Python, .NET或者Emacs-Lisp,或者当你经常通过DOS 仿真器运行DOS程序时,它将非常有用。当你在这个选项选Y,你可以简单地通过在shell打相应命令运行以上的程序,LINUX可以自动匹配正确的格 式。
要使用 binfmt_misc 你可能需要挂载它:
mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc
你可以选M作为模块,以后再加载,模块名为 binfmt_misc。如果你不知道怎么办,选Y。
3.
的选项。如果你选了Y,你将会得到更多的阿尔法版本的驱动和代码的配置菜单。
本文作者将不定期的根据最新的内核进行添加(同时仍然保留老版本内核的选项),欢迎常来光临并帮助指出其中的错误.
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
适用于大多数环境,但不太合适数据库应用
Deadline I/O scheduler
通常与Anticipatory相当,但更简洁小巧,更适合于数据库应用
CFQ I/O scheduler
为所有进程分配等量的带宽,适合于桌面多任务及多媒体应用
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 devices
其他杂项驱动,一般选个PC喇叭即可
Hardware I/O ports
硬件I/O端口
Serial I/O support
使用PS/2键盘或鼠标的就必选
i8042 PC Keyboard controller
PS/2接口的键盘和鼠标
Serial port line discipline
串口键盘或鼠标
ct82c710 Aux port controller
一种德州仪器TravelMate笔记本上使用QuickPort接口的鼠标
Parallel port keyboard adapter
并口键盘或鼠标
PCI PS/2 keyboard and PS/2 mouse controller
接在移动式扩展坞(Docking station)上的键盘或鼠标
PS/2 driver library
为PS/2接口上的设备提供驱动(比如PS/2鼠标或标准AT键盘)
Raw access to serio ports
不是hacker就别选了
Gameport support
就是早年"小霸王"游戏机上的那种手柄
Character devices
字符设备
Virtual terminal
虚拟终端.除非是嵌入式系统,否则必选
Support for console on virtual terminal
内核将一个虚拟终端用作系统控制台(将诸如模块错误/内核错误/启动信息之类的警告信息发送到这里,通常是第一个虚拟终端).除非是嵌入式系统,否则必选
Support for binding and unbinding console drivers
虚拟终端是通过控制台驱动程序与物理终端相结合的,但在某些系统上可以使用多个控制台驱动程序(如framebuffer控制台驱动程序),该选项使得你可以选择其中之一
Non-standard serial port support
非标准串口支持.这样的设备早就绝种了
Serial drivers
串口驱动.如果你有老式的串口鼠标或小猫之类的就选吧
Unix98 PTY support
伪终端(PTY)可以模拟一个终端,它由slave(等价于一个物理终端)和master(被一个诸如xterms之类的进程用来读写slave设备)两部分组成的软设备.使用telnet或ssh远程登录者必选
Legacy (BSD) PTY support
使用过时的BSD风格的/dev/ptyxx作为master,/dev/ttyxx作为slave,这个方案有一些安全问题,建议不选
Parallel printer support
并口打印机
Support for console on line printer
允许将内核信息输出到并口,这样就可以打印出来
Support for user-space parallel port device drivers
/dev/parport设备支持,比如deviceid之类的程序需要使用它,大部分人可以关闭该选项
Texas Instruments parallel link cable support
德州仪器生产的一种使用并行电缆的图形计算器,如果你不知道这是什么设备就别选了
IPMI
可以利用IPMI远程监视服务器的物理特征(温度,电压,风扇,电源,机箱入侵),它是独立于CPU,BIOS,OS的,只要接通电源就可以实现对服务器的监控
IPMI top-level message handler
IPMI消息处理器,要启用IPMI远程监视这个就必选
Generate a panic event to all BMCs on a panic
当发生紧急情况(panic)时,IPMI消息处理器将会向每一个已注册的底板管理控制器(BMC)接口生成一个描述该panic的IPMI事件,这些事件可以引发日志记录/报警/重启/关机等动作
Generate OEM events containing the panic string
当发生紧急情况(panic)时,IPMI消息处理器将会产生OEM类型的事件
Device interface for IPMI
为IPMI消息处理器提供一个IOCTL接口已便用户空间的进程也可以使用IPMI
IPMI System Interface handler
向系统提供接口(KCS,SMIC),一般你用了IPMI就需要选上
IPMI Watchdog Timer
启用IPMI Watchdog定时器
IPMI Poweroff
允许IPMI消息处理器关闭机器
Watchdog Cards
能让系统在出现致命故障后自动重启,如果没有硬件Watchdog,建议使用Hangcheck timer而不是软件Watchdog
Watchdog Timer Support
选中它并选中下面的一个Driver之后,再创建一个/dev/watchdog节点即可拥有一只Watchdog了.更多信息请参考内核帮助
Disable watchdog shutdown on close
一旦Watchdog启动后就禁止将其停止
Software watchdog
软件Watchdog,使用它不需要有任何硬件的支持,但是可靠性没有硬件Watchdog高
{此处省略的硬件Watchdog部分请按照自己主板实际使用的芯片(可能在南桥中)进行选择}
Hardware Random Number Generator Core support
硬件随机数发生器核心支持
Intel HW Random Number Generator support
Intel芯片组的硬件随机数发生器
AMD HW Random Number Generator support
AMD芯片组的硬件随机数发生器
AMD Geode HW Random Number Generator support
AMD Geode LX的硬件随机数发生器
VIA HW Random Number Generator support
VIA芯片组的硬件随机数发生器
/dev/nvram support
直接存取主板上CMOS的接口,太危险了!建议别选
Enhanced Real Time Clock Support
启用该选项并创建/dev/rtc文件后就可以通过/proc/driver/rtc访问系统的硬件时钟(RTC),众多功能依赖于它(如SMP,IRQ共享,定时器),建议选择
Double Talk PC internal speech card support
由RC Systems公司制造的一种语音合成器
Siemens R3964 line discipline
与使用西门子R3964协议的设备同步通信,除非你有一些诸如PLC之类的特殊设备,否则别选
Applicom intelligent fieldbus card support
Applicom international公司生产的用于现场总线连接卡
Sony Vaio Programmable I/O Control Device support
Sony VAIO笔记本上的东西
Ftape, the floppy tape device driver
还使用磁带的就选吧
/dev/agpgart (AGP Support)
AGP总线支持,有AGP显卡的还必须从子项中选取符合自己显卡型号的驱动
Direct Rendering Manager
DRI允许应用程序以高效安全的方式直接访问图形处理,主要用于硬件3D加速.桌面用户建议选择,同时还必须从子项中选取符合自己显卡型号的驱动
PCMCIA character devices
使用PCMCIA接口的字符设备,如果你有这种设备就到子项中去选吧
ACP Modem (Mwave) support
IBM Thinkpad上的一种软猫,古董产品
NatSemi SCx200 GPIO Support
松下的一种通用输入输出(GPIO)芯片,常用于嵌入式系统
NatSemi PC8736x GPIO Support
松下的一种通用输入输出(GPIO)芯片,常用于嵌入式系统
NatSemi Base GPIO Support
松下的一种通用输入输出(GPIO)芯片,常用于嵌入式系统
AMD CS5535/CS5536 GPIO
常用于AMD Geode的一种通用输入输出(GPIO)芯片,常用于嵌入式系统
RAW driver (/dev/raw/rawN)
已废弃
HPET - High Precision Event Timer
高精度事件定时器
Allow mmap of HPET
允许对HPET寄存器进行映射,建议选中
Hangcheck timer
宕机检测定时器周期性地检查系统任务调度程序以确定系统的运行状况,如果超过阈值,计算机将重新启动.它通常可以比Watchdog更好地解决可用性和可靠性问题
TPM devices
基于硬件的"可信赖平台模块",与数字霸权管理是一路货,全不选
Telecom clock driver for MPBL0010 ATCA SBC
没见过这种硬件,不选
I2C support
I2C是Philips极力推动的微控制应用中使用的低速串行总线协议,可用于监控电压/风扇转速/温度等.SMBus(系统管理总线)是I2C的子集.除硬件传感器外"Video For Linux"也需要该模块的支持
I2C device interface
I2C设备接口,允许用户空间的程序通过/dev/i2c-*设备文件使用I2C总线
I2C Algorithms
I2C算法,可以全不选,若有其他部分依赖其子项时,会自动选上
I2C Hardware Bus support
按实际硬件情况选对应的子项即可
Miscellaneous I2C Chip support
其他不常见的产品,按需选择
I2C Core debugging messages
仅供调试
I2C Algorithm debugging messages
仅供调试
I2C Bus debugging messages
仅供调试
I2C Chip debugging messages
仅供调试
SPI support
串行外围接口(SPI)常用于微控制器(MCU)与外围设备(传感器,eeprom,flash,编码器,模数转换器)之间的通信,比如MMC和SD卡就通常需要使用SPI
Dallas's 1-wire bus
一线总线
Hardware Monitoring support
当前主板大多都有一个监控硬件健康的设备用于监视温度/电压/风扇转速等,请按照自己主板实际使用的芯片选择相应的子项.另外,该功能还需要I2C的支持
Multimedia devices
多媒体设备
Video For Linux
要使用音频/视频设备或FM收音卡的就必选,此功能还需要I2C的支持
Enable Video For Linux API 1
使用老旧的V4L第一版API,反对使用
Enable Video For Linux API 1 compatible Layer
提供对第一版V4L的兼容,建议不选
Video Capture Adapters
视频捕获卡
Enable advanced debug functionality
该选项仅供调试
Autoselect pertinent encoders/decoders and other helper chips
为视频卡自动选择所需的编码和解码模块,建议选择
Virtual Video Driver
虚拟视频卡,仅供测试视频程序和调试
SAA5246A, SAA5281 Teletext processor
该选项仅对欧洲用户有意义,中国用户不需要
SAA5249 Teletext processor
该选项仅对欧洲用户有意义,中国用户不需要
{此处省略的硬件请按照自己实际使用的芯片进行选择}
V4L USB devices
使用USB接口的视频卡,子项请按照自己实际使用的视频卡选择
Radio Adapters
音频卡,子项请按照自己实际使用的音频卡选择
Digital Video Broadcasting Devices
数字视频广播设备(DVB卡或机顶盒),子项请按自己实际使用的硬件选择
DABUSB driver
USB接口的数字音频广播设备接收器
Graphics support
图形设备/显卡支持
Enable firmware EDID
允许访问Video BIOS中的扩展显示器识别数据(EDID),使用Matrox显卡的建议关闭,建议桌面用户选择
Support for frame buffer devices
帧缓冲设备是为了让应用程序使用统一的接口操作显示设备而对硬件进行的抽象,建议桌面用户选择
Enable Video Mode Handling Helpers
使用GTF和EDID来帮助处理显示模式,可以不选,若有其他选项依赖于它时,会自动选上
Enable Tile Blitting Support
可以不选,若有其他选项依赖于它时,会自动选上
VGA 16-color graphics support
16色VGA显卡.如果你有这种古董就选吧
VESA VGA graphics support
符合VESA 2.0标准的显卡的通用驱动,如果显卡芯片在下面能够找到就可以不选
{此处省略的硬件请按照自己实际使用的显卡芯片进行选择}
Virtual Frame Buffer support
仅供调试使用
Console display driver support
控制台显示驱动
VGA text console
文本控制台,必选
Enable Scrollback Buffer in System RAM
在内存中开辟额外的屏幕缓冲区,这将允许你回滚屏幕
Scrollback Buffer Size (in KB)
在内存中开辟的额外屏幕缓冲区大小
Video mode selection support
允许在内核启动时使用"vga="选择文本模式,如果你希望一行能够显示更多字符的话可以打开它
MDA text console (dual-headed)
如果你有古董级别的单色显卡并且作为第二块显卡使用以实现双头显示就选上吧
Framebuffer Console support
基于framebuffer的控制台驱动,服务器可以不选
Framebuffer Console Rotation
显示画面旋转,它可能大大降低显示速度,建议不选
Select compiled-in fonts
选择内建字体
VGA 8x8 font
高分辨率下的小字体
VGA 8x16 font
底分辨率下的大字体
{其它字体省略}
Logo configuration
启动时显示linux的logo(一幅企鹅图像),喜欢炫一下的就选吧
Backlight & LCD device support
LCD显示器支持,一般无需选择
Sound
声卡
Advanced Linux Sound Architecture
使用声卡者必选
Sequencer support
音序器支持(MIDI必需),除非你确定不需要,否则请选上
Sequencer dummy client
除非你要同时连接到多个MIDI设备或应用程序,否则请不要选择
OSS Mixer API
OSS混音器API仿真,许多程序目前仍然需要使用它,建议选择
OSS PCM (digital audio) API
OSS数字录音(PCM)API模拟,许多程序目前仍然需要使用它,建议选择
OSS PCM (digital audio) API - Include plugin system
建议不选
OSS Sequencer API
OSS音序器支持,许多程序目前仍然需要使用它,建议选择
RTC Timer support
为ALSA启用RTC定时器支持,建议选择
Use RTC as default sequencer timer
将RTC当作默认的时序脉冲发生器
Dynamic device file minor numbers
仅供拥有多个声卡的用户选择
Support old ALSA API
支持已被废弃的老版本ALSA API
Verbose procfs contents
仅供调试使用
Verbose printk
仅供调试使用
Debug
仅供调试使用
Generic devices
通用设备
Dummy (/dev/null) soundcard
仅供调试
Virtual MIDI soundcard
虚拟MIDI驱动,允许将使用原始MIDI设备的应用程序连接到音序器客户端,如果你不知道MIDI是什么就别选
{此处省略的硬件请按照自己实际使用的声卡芯片进行选择}
PCI devices
PCI接口的声卡,请按实际使用的声卡选择子项
USB devices
USB接口的声卡,请按实际使用的声卡选择子项
PCMCIA devices
PCMCIA接口的声卡,请按实际使用的声卡选择子项
Open Sound System
反对使用
USB support
USB支持
Support for Host-side USB
主 机端(Host-side)USB支持.通用串行总线(USB)是一个串行总线子系统规范,它比传统的串口速度更快并且特性更丰富(供电,热插拔,最多可 接127个设备等),有望在将来一统PC外设接口.USB的"Host"(主机)被称为"根"(也可以理解为是主板上的USB控制器),外部设备被称为" 叶子",而内部的节点则称为"hub"(集线器).基本上只要你想使用任何USB设备都必须选中此项.另外,你还需要从下面选中至少一个"Host Controller Driver"(HCD),比如适用于USB1.1的"UHCI HCD support"或"OHCI HCD support",适用于USB2.0的"EHCI HCD (USB 2.0) support".如果你拿不准的话把他们全部选中一般也不会出问题.如果你的系统有设备端的USB接口(也就是你的系统可以作为"叶子"使用),请到 "USB Gadget"中进行选择.
USB verbose debug messages
仅供调试使用
USB device filesystem
在/proc/bus/usb里列出当前连接的usb设备(mount -t usbfs none /proc/bus/usb),这样用户空间的程序就可以直接访问这些USB设备,基本上你要使用USB设备的话就必须选中此项
Enforce USB bandwidth allocation
执行usb带宽分配限制,禁止打开占用usb总线带宽超过90%的设备,关闭该选项可能会导致某些设备无法正常工作
Dynamic USB minor allocation
除非你有超过16个同类型的USB设备,否则不要选择
USB selective suspend/resume and wakeup
usb设备的挂起和恢复,毛病多多且许多设备尚未支持它,建议不选
EHCI HCD (USB 2.0) support
USB 2.0支持(大多数2002年以后的主板都支持).如果你选中了此项,一般来说你还需要选中OHCI或UHCI驱动
Full speed ISO transactions
由 于USB 2.0支持低速(1.5Mbps)/全速(12Mbps)/高速(480Mbps)三种规格的外部设备,为了将全/低速设备对高速设备可用带宽的影响减到 最小,在USB2.0集线器中提供了一种事务转换(Transaction Translator)机制,该机制支持在Hub连接的是全/低速设备的情况下,允许主控制器与Hub之间以高速传输所有设备的数据,从而节省不必要的等 待.如果你没有外置的USB集线器就无需选择
Root Hub Transaction Translators
带 有USB 2.0接口的主板上都有一个"根集线器"(Root Hub)以允许在无需额外购买hub的情况下就可以提供多个USB插口,其中的某些产品还在其中集成了事务转换(Transaction Translator)功能,这样就不需要再额外使用一个兼容OHCI或UHCI的控制器来兼容USB 1.1,即使你不太清楚自己主板上的根集线器是否集成了事务转换功能也可以安全的选中此项
Improved Transaction Translator scheduling
如果你有一个高速USB 2.0 hub并且某些接在这个hub上的低速或全速设备不能正常工作(显示'cannot submit datapipe: error -28'或'error -71'错误),可以考虑选上
ISP116X HCD support
ISP1160/ISP1161主机USB控制器,是符合USB2.0全速规范的单片主机控制器和设备控制器,支持OHCI标准
OHCI HCD support
开放主机控制接口(OHCI)是主要针对嵌入式系统的USB 1.1主机控制器规范
UHCI HCD (most Intel and VIA) support
通用主机控制器接口(UHCI)是主要针对PC机的USB 1.1主机控制器规范.另外,EHCI也可能需要它
Elan U132 Adapter Host Controller
如果你有这种硬件就选吧
SL811HS HCD support
如果你有这种硬件就选吧
USB Bluetooth TTY support
USB蓝牙TTY设备支持
USB MIDI support
USB MIDI设备支持
USB Modem (CDC ACM) support
USB接口的猫或ISDN适配器
USB Printer support
USB打印机
USB Mass Storage support
USB 存储设备(U盘,USB硬盘,USB软盘,USB CD-ROM,USB磁带,memory sticks,数码相机,读卡器等等).该选项依赖于'SCSI device support',且大部分情况下还依赖于'SCSI disk support'(比如U盘或USB硬盘)
USB Mass Storage verbose debug
仅供调试使用
{省略的部分请按照自己实际使用的硬件选择(事实上大部分人都没有这些设备,可以全不选)}
The shared table of common (or usual) storage devices
该模块包含一张记录了常用USB存储设备及其驱动的表格,这样你无需重新编译模块即可在切换这些设备时自动邦定对应的驱动(还需要对/etc/modprobe.conf进行相应的设置).不确定的建议不选
USB Human Interface Device (full HID) support
USB人机界面设备(鼠标/键盘/游戏杆/手写版等人操作计算机的设备),该驱动不能和"USB HID Boot Protocol drivers"同时使用
HID input layer support
如果你有USB接口的鼠标/键盘/游戏杆/手写板等输入设备就必选
Enable support for iBook/PowerBook special keys
苹果iBooks/PowerBooks键盘上的Fn/Numlock等功能键支持
Force feedback support
力反馈设备
/dev/hiddev raw HID device support
如果你有USB监控装置或不间断电源(UPS)之类的非输入设备就选上
USB HID Boot Protocol drivers
如果你有绝对的把握确信不为自己的键盘和鼠标使用通常的HID驱动,而要使用Boot Protocol模式的HID驱动(常见于嵌入式环境)就选吧
Aiptek 6000U/8000U tablet support
一种手写板
Wacom Intuos/Graphire tablet support
一种手写/绘图板
Acecad Flair tablet support
一种数控绘图板
KB Gear JamStudio tablet support
一种手写/绘图板
Griffin PowerMate and Contour Jog support
一种具有调节音量/滚动文本/视频快进快退等功能的产品
USB Touchscreen Driver
USB触摸屏驱动
Yealink usb-p1k voip phone
一种VoIP电话
X-Box gamepad support
X-Box游戏板
ATI / X10 USB RF remote control
一种usb远程控制设备
ATI / Philips USB RF remote control
一种usb远程控制设备
Keyspan DMR USB remote control
一种usb远程控制设备
Apple USB Touchpad support
苹果机上的触摸板
USB Mustek MDC800 Digital Camera support
一种数码相机
Microtek X6USB scanner support
一种扫描仪
USB Network Adapters
USB网络适配器,如果你有这种设备请按自己实际使用的硬件选择子项
USB Monitor
usb流量监控,一般没必要选它
USS720 parport driver
一种USB接口转并口的转换设备
USB Serial Converter support
USB接口转串口的转换设备
EMI 6|2m USB Audio interface support
一种USB音频设备
EMI 2|6 USB Audio interface support
一种USB音频设备
ADU devices from Ontrak Control Systems
Ontrak Control Systems公司的一种自动拨号设备
USB Auerswald ISDN support
一种ISDN设备
USB Diamond Rio500 support
一种mp3播放机
USB Lego Infrared Tower support
一种无线发射机
USB LCD driver support
USB液晶显示器
USB LED driver support
USB发光二极管
Cypress CY7C63xxx USB driver support
德国AK Modul-Bus Computer GmbH公司的一种产品,不知道是用来干什么的
Cypress USB thermometer driver support
一种温度计??
USB Phidgets drivers
来自Phidgets公司的各种USB产品
Siemens ID USB Mouse Fingerprint sensor support
西门子公司的一种指纹传感器
Elan PCMCIA CardBus Adapter USB Client
Elan公司的一种USB转PCMCIA的适配器
Apple Cinema Display support
苹果公司的一种Cinema Display
USB 2.0 SVGA dongle support (Net2280/SiS315)
一种软件狗
USB LD driver
USB LD驱动
PlayStation 2 Trance Vibrator driver support
SONY的PS2上面的"入迷振荡器"(类似于力反馈手柄)
USB testing driver
测试中的驱动,别选
USB DSL modem support
USB DSL猫
USB Gadget Support
其他各种杂七杂八的usb小玩艺
MMC/SD Card support
MMC/SD卡支持
LED devices
发光二级管(LED)设备
InfiniBand support
InfiniBand是一个通用的高性能I/O规范,它使得存储区域网中以更低的延时传输I/O消息和集群通讯消息并且提供很好的伸缩性.用于Linux服务器集群系统
EDAC - error detection and reporting (RAS)
错误检测与纠正(EDAC)的目标是发现并报告甚至纠正在计算机系统中发生的错误,这些错误是由CPU或芯片组报告的底层错误(内存错误/缓存错误/PCI错误/温度过高,等等),建议选择.如果这些代码报告了一个错误,请到http://bluesmoke.sourceforge.net/和http://buttersideup.com/edacwiki查看更多信息
Debugging
仅供调试使用
Main Memory EDAC (Error Detection And Correction) reporting
一些系统能够检测和修正主内存中的错误,EDAC能够报告这些信息(EDAC自己检测到的或者根据ECC得到的).EDAC还会尽量检测这些错误发生在哪里以便于替换损坏的内存.建议选择并按照你实际使用的芯片组选取子项
Error detecting method
错误检测方法,当前只有一个"Poll for errors"(错误轮询)可用
Real Time Clock
所有的PC机主板都包含一个电池动力的实时时钟芯片,以便在断电后仍然能够继续保持时间,RTC通常与CMOS集成在一起,因此BIOS可以从中读取当前时间
RTC class
通用RTC类支持,选中此项后你就可以在操作系统中使用一个或多个RTC设备(你还必须从下面启用一个或多个RTC接口)
Set system time from RTC on startup
系统启动时使用从指定的RTC设备中读取的时间来设定系统时间,通常这将有助于避免不必要的文件系统检测程序(fsck)的运行,建议选择
The RTC to read the time from
指定具体从哪个RTC设备中读取时间
RTC debug support
仅供调试使用
sysfs
允许通过sysfs接口使用RTC,允许多个RTC设备,也就是/sys/class/rtc/rtc0~N
proc
允许通过proc接口使用RTC,仅允许一个RTC设备,也就是/proc/driver/rtc
dev
允许通过dev接口使用RTC,允许多个RTC设备,也就是"udev"设置的/dev/rtc0~N,建议你建立一个指向其中之一的软连接/dev/rtc,某些程序(比如hwclock)需要使用/dev/rtc
RTC UIE emulation on dev interface
如果底层rtc芯片驱动没有提供RTC_UIE就仿真一个RTC_UIE.那些请求将产生每秒一次的更新请求以用来同步[这个选项的意思我也搞不清楚究竟时啥意思,翻译的也可能有误]
{此处省略的RTC驱动请按照自己实际使用的RTC芯片进行选择}
DMA Engine support
从Intel Bensley双核服务器平台开始引入的数据移动加速(Data Movement Acceleration)引擎,它将某些传输数据的操作从CPU转移到专用硬件,从而可以进行异步传输并减轻CPU负载.Intel已将此项技术变为开 放的标准,将来应当会有更多的厂商支持
Network: TCP receive copy offload
通过在网络栈中利用DMA引擎来减少接收数据包时的copy-to-user操作以释放CPU资源,这是DMA引擎目前最主要的用途
Intel I/OAT DMA support
Intel I/O加速技术(Intel I/O Acceleration Technology)中的DMA支持,基于Intel Bensley的新一代服务器平台都支持它
File systems
文件系统
强烈建议在选择之前先看看各种文件系统的比较
Second extended fs support
Ext2文件系统是Linux的标准文件系统,擅长处理稀疏文件
Ext2 extended attributes
Ext2文件系统扩展属性(与inode关联的name:value对)支持
Ext2 POSIX Access Control Lists
POSIX ACL(访问控制列表)支持,可以更精细的针对每个用户进行访问控制,需要外部库和程序的支持
Ext2 Security Labels
安全标签允许选择使用不同的安全模型实现(如SELinux)的访问控制模型,如果你没有使用需要扩展属性的安全模型就别选
Ext2 execute in place support
程序在写入存储介质时就已经分配好运行时的地址,因此不需要载入内存即可在芯片内执行,一般仅在嵌入式系统上才有这种设备
Ext3 journalling file system support
Ext3性能平庸,使用journal日志模式时数据完整性非常好(但怪异的是此时多线程并发读写速度却最快)
Ext3 extended attributes
Ext3文件系统扩展属性(与inode关联的name:value对)支持
Ext3 POSIX Access Control Lists
POSIX ACL(访问控制列表)支持,可以更精细的针对每个用户进行访问控制,需要外部库和程序的支持
Ext3 Security Labels
安全标签允许选择使用不同的安全模型实现(如SELinux)的访问控制模型,如果你没有使用需要扩展属性的安全模型就别选
Ext4dev/ext4 extended fs support
尚处于开发状态的Ext4
JBD (ext3) debugging support
仅供开发者使用
JBD2 (ext4dev/ext4) debugging support
仅供开发者使用
Reiserfs support
性 能几乎全面超越Ext2(处理稀疏文件比Ext2慢),小文件(小于4k)性能非常突出,创建和删除文件速度最快,处理大量目录和文件(5k-20k)时 仍然非常迅速.日志模式建议使用Ordered,追求极速可使用Writeback模式,追求安全可使用Journal模式.建议使用noatime, notail选项挂载分区以提高速度和避免bug.用于NFS和磁盘限额时需要额外的补丁
Enable reiserfs debug mode
启用ReiserFS调试模式,仅供开发者使用
Stats in /proc/fs/reiserfs
在/proc/fs/reiserfs文件中显示Reiserfs文件系统的状态,仅供开发者使用
ReiserFS extended attributes
ReiserFS文件系统扩展属性(与inode关联的name:value对)支持
ReiserFS POSIX Access Control Lists
POSIX ACL(访问控制列表)支持,可以更精细的针对每个用户进行访问控制,需要外部库和程序的支持
ReiserFS Security Labels
安全标签允许选择使用不同的安全模型实现(如SELinux)的访问控制模型,如果你没有使用需要扩展属性的安全模型就别选了
JFS filesystem support
IBM的JFS文件系统
XFS filesystem support
碎片最少,多线程并发读写最佳,大文件(>64k)性能最佳,创建和删除文件速度较慢.由于XFS在内存中缓存尽可能多的数据且仅当内存不足时才会将数据刷到磁盘,所以应当仅在确保电力供应不会中断的情况下才使用XFS
Quota support
XFS的磁盘配额支持
Security Label support
扩展的安全标签支持.SElinux之类的安全系统会使用到这样的扩展安全属性
POSIX ACL support
POSIX ACL(访问控制列表)支持,可以更精细的针对每个用户进行访问控制,需要外部库和程序的支持
Realtime support
实时子卷是专门存储文件数据的卷,可以允许将日志与数据分开在不同的磁盘上
GFS2 file system support
一种用于集群的文件系统
OCFS2 file system support
一种用于集群的文件系统
Minix fs support
老古董文件系统
ROM file system support
用于嵌入式系统的内存文件系统的支持
Inotify file change notification support
新式的文件系统的变化通知机制,简洁而强大,用于代替老旧的Dnotify
Inotify support for userspace
用户空间的Inotify支持
Quota support
磁盘配额支持,限制某个用户或者某组用户的磁盘占用空间,Ext2/Ext3/Reiserfs都支持它
Old quota format support
老式的配额格式支持
Quota format v2 support
新的v2格式允许使用32位的UID/GID
Dnotify support
旧式的基于目录的文件变化的通知机制(新机制是Inotify),目前仍然有一些程序依赖它
Kernel automounter support
内核自动加载远程文件系统(v3,就算选也不选这个旧的)
Kernel automounter version 4 support (also supports v3)
新的(v4)的内核自动加载远程文件系统的支持,也支持v3
Filesystem in Userspace support
FUSE允许在用户空间实现一个文件系统,如果你打算开发一个自己的文件系统或者使用一个基于FUSE的文件系统就选吧
CD-ROM/DVD Filesystems
CD-ROM/DVD文件系统
ISO 9660 CDROM file system support
CD-ROM的标准文件系统
Microsoft Joliet CDROM extensions
Microsoft对ISO 9660文件系统的Joliet扩展,允许在文件名中使用Unicode字符,也允许长文件名
Transparent decompression extension
Linux对ISO 9660文件系统的扩展,允许将数据透明的压缩存储在CD上
UDF file system support
某些新式CD/DVD上的文件系统,很少见
DOS/FAT/NT Filesystems
DOS/Windows的文件系统
MSDOS fs support
古老的MSDOS文件系统
VFAT (Windows-95) fs support
从Win95开始使用的VFAT文件系统
Default codepage for FAT
默认代码页
Default iocharset for FAT
默认字符集
NTFS file system support
从WinNT开始使用的NTFS文件系统
NTFS debugging support
仅供调试使用
NTFS write support
NTFS写入支持
Pseudo filesystems
伪文件系统
/proc file system support
显示系统状态的虚拟文件系统(irq设置,内存使用,加载的设备驱动器,网络状态等),许多程序依赖于它
/proc/kcore support
系统物理内存的映象
/proc/vmcore support
以ELF格式转储的已崩溃内核镜像,仅供调试使用
Sysctl support (/proc/sys)
显示各种不同的内核参数,并让root用户能交互地更改其中的某些内容
sysfs file system support
导出内核内部对象及其属性和对象之间的相互关系的文件系统,它把连接在系统上的设备和总线以及驱动程序等组织成为一个分级的文件,内核启动时依靠它挂载根分区,禁用sysfs后必须在内核引导参数中使用设备号指定根分区
Virtual memory file system support (former shm fs)
tmpfs文件系统(以前叫shm[共享内存]文件系统)支持
Tmpfs POSIX Access Control Lists
POSIX ACL(访问控制列表)支持,可以更精细的针对每个用户进行访问控制,需要外部库和程序的支持
HugeTLB file system support
仅仅能够在某些罕见的体系结构上使用的文件系统
Userspace-driven configuration filesystem
configfs是用户空间驱动的文件系统,提供与sysfs相反的功能
Miscellaneous filesystems
非主流的杂项文件系统
Network File Systems
网络文件系统
Partition Types
高级磁盘分区类型,不确定可以全不选
Native Language Support
本地语言支持
Base native language support
基础本地语言,必选
Default NLS Option
默认本地语言,建议使用UTF-8
{此处省略的部分请按需选择,一般至少需要CP437,ASCII,ISO-8859-1}
Distributed Lock Manager
通用的分布式锁管理器,不明白就不选
Instrumentation Support
分析支持
Profiling support
对系统的活动进行分析,仅供内核开发者使用
Kprobes
仅供内核开发者使用
Kernel hacking
内核hack选项
Show timing information on printks
在printk的输出中包含时间信息,可以用来分析内核启动过程各步骤所用时间
Enable __must_check logic
在编译内核的过程中使用"必须检查"的逻辑,禁用它将不会显示某些警告信息
Magic SysRq key
不懂的千万别选
Enable unused/obsolete exported symbols
导出无用和废弃的符号,这将使内核不必要的增大
Kernel debugging
不是内核开发者的别选
Debug Filesystem
不是内核开发者的别选
Compile the kernel with frame unwind information
不是内核开发者的别选
Run 'make headers_check' when building vmlinux
在编译内核时运行'make headers_check'命令检查内核头文件,当你修改了与用户空间相关的内核头文件后建议启用该选项
Linux Kernel Dump Test Tool Module
不是内核开发者的别选
Enable doublefault exception handler
允许捕获非常罕见的导致系统无警告重启的doublefault异常,对于调试非常重要
Security options
安全选项
这里的选项不明白的建议不要选,否则有可能弄巧成拙.
Enable access key retention support
在内核中保留authentication token和access key
Enable the /proc/keys file by which keys may be viewed
允许有权限的进程通过/proc/keys读取所有的key
Enable different security models
允许内核选择不同的安全模型,如果未选中则内核将使用默认的安全模型
Socket and Networking Security Hooks
允许安全模型通过Security Hook对Socket与Networking进行访问控制
XFRM (IPSec) Networking Security Hooks
启用XFRM安全Hook
Default Linux Capabilities
启用与"默认"Linux的兼容性
Root Plug Support
一个简单的Linux安全模块,在特定的USB设备不存在时它简单的禁止一切egid==0的进程运行
NSA SELinux Support
美国国家安全局(NSA)开发的安全增强Linux(SELinux),你还需要进行策略配置(checkpolicy)并且对文件系统进行标记(setfiles)
NSA SELinux boot parameter
添加一个内核引导参数以允许在引导时使用'selinux=0'禁用SELinux或'selinux=1'启用SELinux
NSA SELinux boot parameter default value
上述参数的默认值
NSA SELinux runtime disable
允许在运行时禁用SELinux
NSA SELinux Development Support
SELinux开发支持
NSA SELinux AVC Statistics
搜集存取向量(access vector)缓冲区的统计信息并在/selinux/avc/cache_stats中显示出来.这些信息可以用avcstat之类的工具查看
NSA SELinux checkreqprot default value
checkreqprot标志的默认值
NSA SELinux enable new secmark network controls by default
默认启用新的基于安全标记(secmark)的网络
NSA SELinux maximum supported policy format version
允许将支持的最高策略格式版本设置为一个特定的数值
NSA SELinux maximum supported policy format version value
支持的最高策略格式版本的数值
Cryptographic options
加密选项
Cryptographic API
提供核心的加密API支持.这里的加密算法被广泛的应用于驱动程序通信协议等机制中.子选项可以全不选,内核中若有其他部分依赖它,会自动选上
Cryptographic algorithm manager
创建加密模版实例,必须要选
HMAC support
为IPSec所必须,可为PPPoE提供压缩支持
Null algorithms
NULL加密算法(什么也不做),用于IPsec协议的封装安全载荷模块(ESP)
MD4 digest algorithm
老旧的摘要算法,已经过时
MD5 digest algorithm
主流摘要算法,128位(已被中国山东大学王小云攻破,可以快速找到碰撞)
SHA1 digest algorithm
主流摘要算法,160位(已被中国山东大学王小云攻破,可以快速找到碰撞),速度与MD5相当
SHA256 digest algorithm
更好的摘要算法,256位,速度较SHA1稍慢
SHA384 and SHA512 digest algorithms
更好的摘要算法,384/512位,速度大约只有SHA1的40-50%
Whirlpool digest algorithms
最安全的摘要算法,512位,已被列入ISO标准,目前最新版本为3.0(2003年发布)
Tiger digest algorithms
号称最快的摘要算法,192位,专门为64位CPU进行了优化
ECB support
电子密码本,最简单的加密方法
CBC support
密码块链,IPSec需要使用它
DES and Triple DES EDE cipher algorithms
老迈的(DES)和尚佳的(Triple DES)对称加密算法
Blowfish cipher algorithm
又老又慢的对称加密算法
Twofish cipher algorithm
很强的对称加密算法,使用较广
Twofish cipher algorithms (i586)
很强的对称加密算法,使用较广(针对i586的版本)
Serpent cipher algorithm
很强的对称加密算法
AES cipher algorithms
最佳的对称加密算法(Rijndael),128/192/256位,强度最高,快速且节省内存
AES cipher algorithms (i586)
最佳的对称加密算法(Rijndael),128/192/256位,强度最高,快速且节省内存(针对i586的版本)
CAST5 (CAST-128) cipher algorithm
对称加密算法
CAST6 (CAST-256) cipher algorithm
对称加密算法
TEA, XTEA and XETA cipher algorithms
较弱的对称加密算法
ARC4 cipher algorithm
脆弱的流对称加密算法
Khazad cipher algorithm
对称加密算法
Anubis cipher algorithm
对称加密算法
Deflate compression algorithm
压缩算法,当在IPSec中使用IPCOMP协议时才需要
Michael MIC keyed digest algorithm
摘要算法,仅仅用于校验iSCSI设备传输的数据,因为算法本身比较脆弱
CRC32c CRC algorithm
摘要算法,可用于校验iSCSI设备传输的数据
Testing module
快速且丑陋的测试模块
Hardware crypto devices
仅有VIA C7系列处理器支持硬件加密(VIA PadLock高级加密引擎)
Library routines
库子程序
仅有那些不包含在内核原码中的第三方内核模块才可能需要,可以全不选,内核中若有其他部分依赖它,会自动选上
CRC-CCITT functions
传送8-bit字符,欧洲标准
CRC16 functions
传送8-bit字符,美国标准
CRC32 functions
用于点对点的同步数据传输中,传输网络数据包所必须的
CRC32c (Castagnoli, et al) Cyclic Redundancy-Check
用于点对点的同步数据传输中,比如iSCSI设备
________________________________________
Load an Alternate Configuration File
读入一个外部配置文件
Save Configuration to an Alternate File
将配置保存到一个外部文件
https://88250.b3log.org/articles/2007/02/19/1171894800000.html