`
Joson_Coney
  • 浏览: 54645 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

【转】 Gentoo Linux内核配置

阅读更多

(转自:http://blog.csdn.net/unsigned_/article/details/6123426

基于Linux Kernel v2.6.36-gentoo-r5

General setup --->

[*]Prompt for development and/or incomplete code/drivers

//默认情况下是选择的,这将会在设置界面中显示还在开发或者还没有完成的代码与驱动.你应该选择它,因为有许多设备可能必需选择这个选项才能进行配置,实际上它是安全的。


() Cross-compiler tool prefix
//交叉编译工具前缀,如果你要使用交叉编译工具的话输入相关前缀。默认不使用。不需要

() Local version - append to kernel release
//自定义版本,也就是uname -r可以看到的版本,可以自行修改,这里我没有使用,没多大意义。

[ ] Automatically append version information to the version string
//自动生成版本信息。这个选项会自动探测你的内核并且生成相应的版本,使之不会和原先的重复。这需要Perl的支持。由于在编译的命令make-kpkg 中我们会加入- – append-to-version 选项来生成自定义版本,所以这里选N。


Kernel compression mode (Gzip) --->
//有四个选项,这个选项是说内核镜像要用的压缩模式,回车一下,可以看到gzip,bzip2,lzma,lxo,一般可以按默认的gzip,如果要用bzip2,lzma,lzo,要先安装相关解压缩工具

 

[*]Support for paging of anonymous memory (swap)

//使你的内核支持虚拟内存

 

[*]System V IPC

//为进程提供通信机制,这将使系统中各进程间有交换信息与保持同步的能力。有些程序只有在选Y的情况下才能运行,所以不用考虑,这里一定要选。 

 

[*]POSIX Message Queues

//这是POSIX的消息队列,它同样是一种IPC。建议你最好将它选上。

 

[*]BSD Process Accounting

//这是允许用户进程访问内核,将账户信息写入文件中。这通常被认为是个好主意,建议你最好将它选上。将进程的统计信息写入文件的用户级系统调用,主要包括进程的创建时间/创建者/内存占用等信息。

 

[*]  BSD Process Accounting version 3 file format 

//选用的话统计信息将会以新的格式(V3)写入,这格式包含进程ID和父进程。注意这个格式和以前的 v0/v1/v2 格式不兼容,所以你需要 升级相关工具来使用它。选不选均可。

 

[*]Export task/process statistics through netlink (EXPERIMENTAL)

//处于实验阶段的功能。通过通用的网络输出工作/进程的相应数据,和BSD不同的是,这些数据在进程运行的时候就可以通过相关命令访问。和BSD类似,数据将在进程结束时送入用户空间。如果不清楚,选N。

 

[*]  Enable per-task delay accounting (EXPERIMENTAL)

//在统计信息中包含进程等候系统资源(cpu,IO同步,内存交换等)所花费的时间

 

[*]  Enable extended accounting over taskstats (EXPERIMENTAL)

//在统计信息中包含扩展进程所花费的时间    

 

[*]  Enable per-task storage I/O accounting (EXPERIMENTAL)

//在统计信息中包含I/O存储进程所花费的时间

[]Auditing suppor
//审计支持,某些内核模块(例如SELinux)需要它,只有同时选择其子项才能对系统调用进行审计,不选。


RCU Subsystem --->
//一个高性能的锁机制RCU 子系统,不懂不了解,按默认吧。

<*> Kernel .config support
//将.config配置信息保存在内核中,选上它及它的子项使得其它用户能从/proc中得到内核的配置,选上,重新配置内核时可以利用已有配置

 

[*]Enable access to .config through /proc/config.gz


(15)Kernel log buffer size:内核日志缓存的大小,使用默认值即可。12 => 4 KB,13 => 8 KB,14 => 16 KB单处理器,15 => 32 KB多处理器,16 => 64 KB for x86 NUMAQ or IA-64,17 => 128 KB for S/390。

 

[*]Control Group support --->

//信息暂无,使用默认

[ ] enable deprecated sysfs features to support old userspace tools
//在某些文件系统上(比如debugfs)提供从内核空间向用户空间传递大量数据的接口,不选吧。

-*- Kernel->user space relay support (formerly relayfs)

-*- Namespaces support
//命名空间支持,允许服务器为不同的用户信息提供不 同的用户名空间服务,如果不是很清楚的话,按照默认吧

 

[ ] UTS namespace
//通用终端系统的命名空间。它允许容器,比如Vservers利用UTS命名空间来为不同的服务器提供不同 的UTS。

 

[ ] IPC namespace
//IPC命名空间,不确定可以不选

 

[*]User namespace (EXPERIMENTAL)

 

[*]PID Namespaces (EXPERIMENTAL)

 

[ ] Network namespace

[ ] Initial RAM filesystem and RAM disk (initramfs/initrd) support
//初始RAM的文件和RAM磁盘( initramfs /initrd)支持(如果要采用initrd启动则要选择,否则可以不选),不需要,不用选。

[ ] Optimize for size
//这个选项将在GCC命令后用 “-Os” 代替 “-O2″参数,这样可以得到更小的内核。没必要选。一个编译好的内核才7-10多M。选上了可能会出一些问题。最好不选。有时会产生错误的二进制代码。当然,如果是做嵌入式开发另当别论。

[ ] Configure standard kernel features (for small systems) --->
//这是为了编译某些特殊的内核使用的,例如引导盘,通常你可以不选择这一选项,你也不用对它下面的子项操心了。

 

Kernel Performance Events And Counters --->

[ ] Disable heap randomization
//禁用随机heap(heap堆是一个应用层的概念,即堆对CPU是不可见的,它的实现方式有多种,可以由OS 实现,也可以由运行库实现,如果你愿意,你也可以在一个栈中来实现一个堆),选不选均可。

 

Choose SLAB allocator (SLUB (Unqueued Allocator)) -->
//选择内存分配管 理器(强烈推荐使用SLUB)

 

( ) SLAB
//各种环境通用的内存分配管理器

 

(X) SLUB (Unqueued Allocator)
//更加优秀的内存分配管理器

 

[*]Profiling support

//剖面支持,用一个工具来扫描和提供计算机的剖面图。支持系统评测(对于大多数用户来说并不是必须的)

< > OProfile system profiling
//OProfile评测和性能监控工具,选不选均可,我没选。

[ ] Kprobes
//调试内核,除非内核开发人员,否则不选

 

GCOV-based kernel profiling --->
//默认即可

 

 

[*]Enable loadable module support  --->


[ ]   Forced module loading
//允许强制加载模块,不选

 

[*]  Module unloading

//允许卸载已经加载的模块,选上比较好

[ ]   Forced module unloading
//这个选项能强行卸载模块,即使内核认为这样并不安全,也就是说你可以把正在使用中的模快卸载掉。如果你不是内核开发人员或者骨灰级的玩家,不要选择这个选项

[ ]   Module versioning support
//有时候,你需要编译模块。选这项会添加一些版本信息,来给编译的模块提供独立的特性,以使不同的内核在使用同一模块时区别于它原有的模块。这有时可能会有点用。还是那个建议,如果是内核或者模块开发人员或者是骨灰玩家,可以选上,如果是普通用户,还是别选了,没用。

[ ]   Source checksum for all modules
//为所有的模块校验源码,如果你不是自己编写内核模块就不需要。这个功能是为了防止更改了内核模块的代码但忘记更改版本号而造成版本冲突。我估计现在没有哪家公司在开发中还没使用版本控制工具,所以不需要这项了。如果你不是自己写内核模块,那就更不需要这一选项了。

-*- Enable the block layer  --->
//这个大项各子选项均按默认即可。。。


Processor type and features --->

 

[*]Tickless System (Dynamic Ticks)

//非固定频率系统,这项技术能让新内核运行的更有效率,并且更省电。动态时间片意思是当CPU处于空闲时,降低内核定时器的轮询频率。

 

[*]High Resolution Timer Support

//支持高频率时间发生器,如果硬件不兼容,则这个选项只会增大内核(大多数个人PC并没有这个)。一般用户可关闭。

 

[*]Symmetric multi-processing support

//对称多处理器支持,如果你有多个CPU或者使用的是多核CPU就选上。

[ ] Support sparse irq numbering
//支持稀有的中断编号.不选。多块(非多核)CPU可选。

 

[*]Enable MPS table

// 让多核/多CPU系统支持ACPI,可选

[ ] Support for big SMP systems with more than 8 CPUs

[ ] Support for extended (non-PC) x86 platforms
//我是X86平台,不需要再支持其他平台

 

[*]Single-depth WCHAN output

//跟 proc 相关的最好不要关

[ ] Paravirtualized guest support  --->
//虚拟化客户端支持,没有什么用处,不选

 

[*]Disable Bootmem code

//This optimizes some complex initial memory allocation fragments within the Linux kernel.选不选均可。

 

[ ] Memtest
//内存测试

Processor family (Core 2/newer Xeon)  --->
//这里请选择对应的CPU,我是 core 2 duo

[ ] Generic x86 support
//这 一选项针对x86系列的CPU使用更多的常规优化。如果你在上面一项选的是i386、i586之类的才选这个通用x86支持,如果你的CPU能够在上 述"Processor family"中找到就别选。我的是core 2 duo,在Processor family里已找到,故不选。

 

[*]HPET Timer Support

//HPET时钟支持。允许内核使用 HPET 。HPET是替代8254芯片的新一代定时器,i686及以上级别的主板都支持,可以安全的选上。但是,HEPT只会在支持它的平台和BIOS上运行。如 果不支持,8254将会激活。选N,将继续使用8254时钟。选上吧。

(8) Maximum number of CPUs
//支持的最大CPU数量,这个没多大意义,填4填8影响微乎其微。注意是CPU核心数。如果是超线程处理器需要再乘以2.

[ ]  SMT (Hyperthreading) scheduler support
//支持Intel的超线程(HT)技术超线程调度器在某些情况下将会对 intel HT系列有较好的支持。如果你不清楚,不选。我的CPU是P7370,不支持超线程HT。不选。

 

[*]Multi-core scheduler support

针对多核CPU进行调度策略优化多核调度机制支持,双核的CPU要选。多核心调度在某些情况下将会对多核的CPU系列有较好的支持。我的是双核,选之。

Preemption Model (Voluntary Kernel Preemption (Desktop))  ---│>
内 核抢占模式一些优先级很高的程序可以先让一些低优先级的程序执行,即使这些程序是在核心态下执行。从而减少内核潜伏期,提高系统的响应。当然在一些特殊 的点的内核是不可抢先的,比如内核中的调度程序自身在执行时就是不可被抢先的。这个特性可以提高桌面系统、实时系统的性能。

( ) No Forced Preemption (Server)
适合服务器环境的禁止内核抢占这是传统的LINUX抢先式模型,针对于高吞吐量设计。它同样在很多时候会提供很好的响应,但是也可能会有较长的延迟。如果你是建立服务器或者用于科学运算,选这项,或者你想要最大化内核的原始运算能力,而不理会调度上的延迟。

 

(X) Voluntary Kernel Preemption (Desktop)
适 合普通桌面环境的自愿内核抢占这个选项通过向内核添加更多的“清晰抢先点”来减少内核延迟。这些新的抢先点以降低吞吐量的代价,来降低内核的最大延迟,提 供更快的应用程序响应。这通过允许低优先级的进程自动抢先来响应事件,即使进程在内核中进行系统调用。这使得应用程序运行得更“流畅”,即使系统已经是高 负荷运转。如果你是为桌面系统编译内核,选这项。

 

( ) Preemptible Kernel (Low-Latency Desktop)
适 合运行实时程序的主动内核抢占这个选项通过使所有内核代码(非致命部分)编译为“可抢先”来降低内核延迟。这通过允许低优先级进程进行强制抢先来响应事 件,即使这些进程正在进行系统调用或者未达到正常的“抢先点”。这使得应用程序运行得更加“流畅”即使系统已 经是高负荷运转。代价是吞吐量降低,内核运行开销增大。选这项如果你是为桌面或者嵌入式系统编译内核,需要非常低的延迟。如果你要最快的响应,选第三项。 我认为万物是平衡的,低延迟意味着系统运行不稳定,因为过多来响应用户的要求,所以我选第二个。

 

[*]Reroute for broken boot IRQs

//防止同时收到多个boot IRQ(中断)时,系统混乱

 

[*]Machine Check / overheating reporting

让CPU检测到系统故障时通知内核,以便内核采取相应的措施(如过热关机等)

 

[*]  Intel MCE features

//我的是Intel CPU

[ ]   AMD MCE features

[ ]   Support for old Pentium 5 / WinChip machine checks

< > Machine check injector support
//让CPU检测到系统故障时通知内核,以便内核采取相应的措施(如过热关机等)

< > Toshiba Laptop support
//东芝笔记本模块支持


< > Dell laptop support
//Dell笔记本模块支持

[ ] Enable X86 board specific fixups for reboot
//修正某些旧x86主板的重起bug,这种主板基本绝种了,不选。

< > /dev/cpu/microcode - microcode support
//这个选项是让你使用不随Linux内核发行的IA32 microcode,但是你必需有IA32 microcode的二进制文件。当然你还必须在文件系统选项中选择/dev file system support才能正常的使用它。不选。

< > /dev/cpu/*/msr - Model-specific register support
//这个选项桌面用户一般用不到,它主要用在Intel的嵌入式CPU中的,这个寄存器的作用也依赖与不同的CPU类型 而有所不同,一般可以用来改变一些CPU原有物理结构的用途,但不同的CPU用途差别也很大。在多cpu系统中让特权CPU访问x86的MSR寄存器。由于超线程并不是真正的多处理器环境,所以不要选择这个。

< > /dev/cpu/*/cpuid - CPU information support
//这会在/dev/cpu中建立一系列的设备文件,用以让过程去访问指定的CPU。一般不用选。

High Memory Support (4GB)  --->
//如果你有1GB-4GB之间的物理内存,选4GB选项。如果超过4GB,那么选择64GB。这将打开 Intel 的物理地址延伸模式(PAE)。

Memory model (Flat Memory) --->
//正常用户选用平坦内存模式。

[ ] Enable KSM for page merging
//一项与KVM虚拟机有关的内存管理技术,不必要不用选。

(4096) Low address space to protect from user allocation

 

[ ] Enable recovery from hardware memory errors

 

[ ] Allocate 3rd-level pagetables from highmem
//在内存很多(大于4G)的机器上将用户空间的页表放到高位内存区。

[]Check for low memory corruption
//低位内存脏数据检查,默认是每60秒检查一次。一般这种脏数据是因某些Bios处理不当引起的。我信任我目前的虚拟bios版本。故不选。

 

[*]Reserve low 64K of RAM on AMI/Phoenix BIOSen

//AMI/Phoenix 的BIOS启用,我的HP本是Phoenix的BIOS。。

[ ] Math emulation 不选
数学协处理器仿真,486DX以上的cpu就不要选它了

MTRR (Memory Type Range Register) support
//据说可以提高显卡性能。

[ ]   MTRR cleanup support
//MTRR清理,选不选随意吧,我没选

[ ] EFI runtime service suppor t不选
EFI 启动支持这里允许内核在EFI平台上使用储存于EFI固件中的系统设置启动。这也允许内核在运行时使用EFI的相关服务。这个选项只在有EFI固件的系统 上有用,它会使内核增加8KB。另外,你必须使用最新的ELILO 登录器才能使内核采用EFI的固件设置来启动(GRUB和LILO完全不知道EFI是什么东西)。即使你没有EFI,却选了这个选项,内核同样可以启动。 大家应该用的是GRUB,所以选上这个也没什么用。除非你的系统支持EFI(一种可代替传统BIOS的技术)否则不选。

 

[*]Enable seccomp to safely compute untrusted bytecode

//只有嵌入式系统可以不选

[ ] Enable -fstack-protector buffer overflow detection (EXPERIMEN│
//不知道是神马,不选

Timer frequency (1000 HZ)  --->
//允许设置时钟频率。这是用户定义的时钟中断频率 100HZ-1000 HZ ,不过 100 HZ 对服务器和NUMA系统更合适,它们不需要很快速的响应用户的要求,因为时钟中断会导致总线争用和缓冲打回。其实和前面的抢先式进程差不多,就是多少频率来响应用户要求。但是还是那 句话,一切是平衡的。机器过 快响应你,它自己的活就不知道做得好不好了。

 

[*]kexec system call

//kexec 系统调用。kexec是一个用来关闭你当前内核,然后开启另一个内核的系统调用。它和重启很像,但是它不访问系统固件。由于和重启很像,你可以启动任何内 核,不仅仅 是LINUX。kexec这个名字是从 exec 系统调用来的。它只是一个进程,可以确定硬件是否正确关闭,Linus本人都没话说,估计是受害不浅。我们当然不能上当,选N!提供kexec系统调用, 可以不必重启而切换到另一个内核,如果需要就选择,对大多数用户来说并不需要。

[ ] kernel crash dumps
//内核崩溃时,dump运行时信息。就算crash了,我也不会去调试内核的core dump

[ ] Build a relocatable kerne l
//建立一个移动的内核,除非特殊要求否则只是增大内核大小而已

(0x1000000) Alignment value to which kernel should be aligned
//内核编译、运行时的物理地址匹配,不要更改该值除非你知道你在干嘛

-*- Support for hot-pluggable CPUs
//对SMP休眠和热插拔CPU提供支持

[ ] Compat VDSO support 不选
//如果Glibc版本大于等于2.3.3就不选,否则就选上,目前的版本基本上都大于2.3.3

[ ] Built-in kernel command line

 

[*]Power Management support

//如果你想让你的Linux支持高级电源管理(也就是平常我们说的软关机、系统休眠等)需要选择它

[ ]   Power Management Debug Support
//不想调试ACPI,不选

 

[*]Suspend to RAM and standby

//待机到内存,即内存供电而暂时关闭硬盘等外设

[ ] Hibernation (aka 'suspend to disk')
//休眠,即把内存内容保存在交换分区后关闭电脑,因为技术不是很成熟而且由于兼容性等问题,建议关闭此功能

 

[*]ACPI (Advanced Configuration and Power Interface) Support  --->

//这个电源管理模块虽然可以管理电源,却会增加核心约70KB。如果是嵌入式系统,需要考虑一下。

 

[*]   Deprecated /proc/acpi files

[*]  Deprecated power /proc/acpi directories


< >   ACPI 4.0 power meter 

 

[*]Future power /sys interfac


< >   EC read/write access through /sys/kernel/debug/ec

 

[*]Deprecated /proc/acpi/event support


<M>   AC Adapter

<M> Battery

<M>Button

-M- Video
//这几个主要是针对笔记本电脑来设计的。编译成模块即可。

<*> Fan
//这个选项提供对系统风扇的控制支持,可以通过用户层的程序来对系统风扇进行控制(比如打开,关闭,读取当前风扇的运行状态等,不过只有极少数的硬件支持它)。不过要是torsmo能显示出风扇的状态,蛮酷的嘛! 可以编译进内核也可以编译成模块。

[ ] Dock
//Docking station是笔记本的扩展坞,就是用来扩展笔记本电脑功能的底座,通过接口和插槽,它可以连接多种外部设备(驱动器、大屏幕显示器、键盘、打印机、扫 描仪……)。

<*> Processor
//打开这个选项将让你的系统具有处理IDIE状态的能力,也就是说可以让你的处理器在空闲时节省电能。选上吧!

< >     Processor Aggregator

<*> Thermal Zone
//CPU温度过高时,ACPI调整工作状态以保护CPU,强烈推荐!(大部分的本本都支持)

(0)Disable ACPI for systems before Jan 1st this year
//输入四位数的年份,在该年的1月1日前不使用ACPI的功能(”0″表示一直使用),什么鸟东西?千年虫问题?ACPI还有这问题?

[ ]Debug Statements
//详细的ACPI调试信息,不搞开发就别选

< >   PCI slot detection driver
{*}   Container and Module Devices (EXPERIMENTAL)

< >   Smart Battery System
//支持依赖于I2C的”智能电池”.这种电池非常老旧且罕见,还与当前的ACPI标准兼容性差。古董东东。显然不选。

< >   Hardware Error Device                                   

[ ]   ACPI Platform Error Interface (APEI)
//新出的高级货,跟错误调试有关,不选。

[ ] SFI (Simple Firmware Interface) Support  --->
//不选

< > APM (Advanced Power Management) BIOS support
//针对笔记本电源管理的,并提供电源状态。应该是省电用的。APM在SMP机器上必须关闭,一般来说当前的笔记本都支持ACPI,所以应尽量关闭。该选项选了的话系统时间会恢复到出厂状态,而且问题好像还蛮多的,会引起其他的怪问题。你要选的话还是看一下内核帮助吧,问题太多了,我就不一一列举了。 ACPI和APM就好比XP和LINUX。我用了ACPI,这个就只编成模块放着,万一要用到再加模块。

CPU Frequency scaling --->

 

[*]CPU Frequency scaling

//CPU变频控制允许你在运行中改变CPU的时钟速度。这是对于节约电能来说是一个不错的主意。允许动态改变CPU主频,达到省电和降温的目的,必须同时启用下面的一种governor才行。

[ ]Enable CPUfreq  debugging
//懒人,遇见调试就不选

< >   CPU frequency translation statistics
//通过sysfs文件系统输出CPU频率变换的统计信息,我木有选

 


Default CPUFreq governor (userspace)  --->
//默认的CPU频率调节器,根据需要可以选择以下的一种

( ) performance'性能'优先,静态的将频率设置为cpu支持的最高频率

 

(X) userspace既允许手动调整cpu频率,也允许用户空间的程序动态的调整cpu频率(需要额外的调频软件,比如cpufreqd)

 

( ) ondemand'立即响应',周期性的考察CPU负载并自动的动态调整cpu频率(不需要额外的调频软件),适合台式机

 

( ) conservative'保守',和'ondemand'相似,但是频率的升降是渐变式的(幅度不会很大),更适合用于笔记本/PDA/AMD64环境

<*>  'performance' governor

 

<M>  'powersave' governor'节能'优先,静态的将频率设置为cpu支持的最低频率

 

-*-   'userspace' governor for userspace frequency scaling

 

<M>   'ondemand' cpufreq policy governor

 

<M>   'conservative' cpufreq governor


*** CPUFreq processor drivers //变频驱动模块

< >   Processor Clocking Control interface driver
//不选吧

<*>   ACPI Processor P-States driver
//将ACPI2.0的处理器性能状态报告给CPUFreq processor drivers以决定如何调整频
率,该选项依赖于ACPI->Processor。其实仅选这一项就可以了,下边拿不准的话的可以不用选。

以下根据具体CPU,显卡类型选择
< >   AMD Mobile K6-2/K6-3 PowerNow!AMD移动版K6处理器的变频驱动。
< >   AMD Mobile Athlon/Duron PowerNow!AMD移动版毒龙、雷乌的变频驱动。
< >   AMD Opteron/Athlon64 PowerNow!AMD的移动处理器省电技术
< >   Cyrix MediaGX/NatSemi Geode Suspend Modulation
< >   Intel Enhanced SpeedStep (deprecated)   intel的移动变频技术支持。

< >   Intel Speedstep on ICH-M chipsets (ioport interface) Intel ICH-M移动南桥芯片组的支持
< >   Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)
< >   Intel Pentium 4 clock modulationP4处理器的时钟模块支持。
< >   nVidia nForce2 FSB changing
< >   Transmeta LongRunTransmeta处理器的支持。
< >   VIA Cyrix III Longhaul Cyrix处理器的支持
< >   VIA C7 Enhanced PowerSaver (DANGEROUS)


-*- CPU idle PM support                  

[*]   Cpuidle Driver for Intel Processors 

//新添加的intel CPU驱动,貌似靠谱


Bus options (PCI etc.)  --->

 

[*]PCI support

//不可能不选吧!

PCI access mode (Any)  --->
//PCI访问模式,强列建议选”Any”(系统将优先使用”MMConfig”,然后使用”BIOS”,最后使用”Direct”检测PCI设备)

 

[ ]   Read CNB20LE Host Bridge Windows

 

[ ] Support for DMA Remapping Devices (EXPERIMENTAL)
//默认不选吧

 

[*]PCI Express support

//PCI Express支持(目前主要用于显卡和千兆网卡)

 

<>PCI Express Hotplug driver
//如果你的主板和设备都支持PCI Express热插拔就可以上。这东西风险挺大的,一般只有服务器系统才可能用到,我们还是不要选好了

 

[*]   Root Port Advanced Error Reporting support

//由PCI Express AER驱动程序处理发送到Root Port的错误信息

 

[ ]     PCI Express ECRC settings control

 

< >     PCIE AER error injector support

 

-*-   PCI Express ASPM control

 

[ ]     Debug PCI Express ASPM
//以上按默认吧

 

[*]Message Signaled Interrupts (MSI and MSI-X)

//这允许设备驱动开启MSI。MSI允许一个设备用非装订内存写入方式在自己的PCI总线中产生一个中断,而不是常规的IRQ针脚中断。INTx使用传统的IRQ中断,可以与现行的PCI总线的驱动程序和操作系统兼容;MSI则是通过inbound Memory Write触发和发送中断,更适合多CPU系统.在内核启动时,用 ‘pci=nomsi’选项可以禁用PCI MSI中断。这将在整个系统禁用MSI。这个地方比较忧伤,如果要考虑硬件兼容性,建议不选。或者选了如果有问题,那么取消掉(或者启动选项添加pci=nomsi)。我的是木有问题的,故选之。

[ ] PCI Debugging     
//PCI将PCI调试信息输出到系统日志里 调试,不选

 

< > PCI Stub driver

 

[*]Interrupts on hypertransport devices

//允许本地的hypertransport设备使用中断 hypertransport是AMD在99年提出的一种总线技术高速传输设备中断。允许高速传输设备使用中断。

[ ] PCI IOV support

[ ] ISA support ISA
//IBM 公司1984年为推出PC/AT机而建立的系统总线标准,所以也叫AT总线。它是对XT总线的扩展。看看你的电脑还有不由ISA设备不,基本上现在都被PCI取代了,而且较新的主板也不支持ISA了。如果你有就选吧。

 

[ ] MCA support
//MCA总线是IBM公司开发的一种总线,应用在PS/2微机上,微通道总线,老旧的IBM的台式机和笔记本上可能会有这种总线。

 

< > NatSemi SCx200 support
//松下的一种半导体处理器的驱动。在使用AMD Geode处理器的机器上才可能还存活着。

[ ] One Laptop Per Child support

 

[ ] Support for OLPC's Open Firmware
//LPC其实是一个口号的缩写“one laptop per child”意思为“每个孩子都应该有一台自己的笔记本电脑”。OLPC由麻省理工学院多媒体实验室发起并组织为一个非营利组织,借由生产接近100美元的笔记型电脑,给对这项计划有兴趣的开发中国家,由该国政府直接提供给儿童使用,降低知识鸿沟,故又称百元电脑。如果你的电脑不是这样获得的,那你就别选。

< > PCCard (PCMCIA/CardBus) support  --->
//一般笔记本电脑会配备PCCard接口(无线网卡之类的),看你的硬件和使用场景吧。而且比较现代的笔记本也一般没有了,一般不选。

 

< > Support for PCI Hotplug --->
//PCI热插拔支持,我没有要热拔插PCI设备的需求。

Executable file formats / Emulations --->

 

[*]Kernel support for ELF binaries

//ELF是开放平台下最常用的二进制文件格式,支持动态连接,支持不同的硬件平台.除非你知道自己在做什么,否则必选ELF(可执行和可链接格式)是一种用来连接不同架构和操作系统的可执行文件、库函数格式。选Y,你的内核可以运行ELF二进制文件,这也使你的内核增大 13KB。ELF现在基本代替了传统的 a.out 格式(QMAGIC and ZMAGIC用到),因为它是可移植的(可移植不代表它可以直接运行在不同构架和操作系统上),而且建立相关运行库文件非常容易。很多新的可执行文件都用 ELF格式发布,你在这里当然要选Y。

 

[*]Write ELF core dumps with partial segments

 

<M> Kernel support for a.out and ECOFF binaries
//早期UNIX系统的可执行文件格式,目前已经被ELF格式取代。对 a.out 和 ECOFF 二进制文件的支持。A.out (Assembler.OUTput)是一种二进制文件格式,它用在最早的UNIX版本中。LINUX在QMAGIC 和 ZMAGIC两个镜像中使用A.out,直到它最近被ELF取代。ELF的转变开始于1995年。这个选项主要是给研究历史的人提供感兴趣的信息,或者你 要是有那个年代的文件,你需要这个选项。大多数人在这可以选N。如果你认为你有可能会用到这个格式,选M编译成模块。模块名为binfmt_aout。

 

<*> Kernel support for MISC binaries选
//允许插入二进制的封装层到内核中,使用Java,.NET,Python,Lisp等语言编写的程序时需要它。内核对 MISC 二进制文件的支持
如果你在这选Y,它将可以将 wrapper-driven 二进制格式嵌入内核。当你使用一些程序的解释器时,比如 Java, Python, .NET或者Emacs-Lisp,或者当你经常通过DOS 仿真器运行DOS程序时,它将非常有用。当你在这个选项选Y,你可以简单地通过在shell打相应命令运行以上的程序,LINUX可以自动匹配正确的格 式。你可以选M作为模块,以后再加载,模块名为 binfmt_misc。要使用 binfmt_misc 你可能需要挂载它:mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc。

 

[*]Networking support --->

 

 

Networking options --->

 

<*> Packet socket
//包套接口(计算机为TCP/IP数据转换所保留的一系列存贮地址)。包协议被很多程序用来直接连接网络设备,而不需要内核执行中间网络协议,比如 tcpdump 。如果你要它们工作,选上。

 

<*> Unix domain sockets
//一种仅运行于本机上的效率高于TCP/IP的Socket,简称Unix socket.许多程序都使用它在操作系统内部进行进程间通信(IPC)

 

<M> Transformation user configuration interface
//对用户设置接口转换功能进行支持,比如本地LINUX工具用到的 IPsec 。

 

[ ] Transformation sub policy support (EXPERIMENTAL)
XFRM子策略支持,仅供开发者使用
如果不清楚,选N。

 

[ ] Transformation migrate database (EXPERIMENTAL)

 

[ ] Transformation statistics (EXPERIMENTAL)

 

<M> PF_KEY sockets
//用于可信任的密钥管理程序和操作系统内核内部的密钥管理进行通信,IPsec依赖于它。弄不太清到底有什么用,官方文档推荐选上 。

 

[ ] PF_KEY MIGRATE (EXPERIMENTAL)

 

[*]TCP/IP networking

//这个能不选吗!

 

[ ] IP: multicasting
//群组广播,似乎与网格计算有关,仅在使用MBONE网络的时候才需要。MBONE(多路广播主干网),一个高带宽的,有声音和影像的高层广播网络。对大多数人,在这可以安全地选N。

 

[*]IP: advanced router

//如果你想让你的LINUX机器作成路由,比如,用来转信和回环网络包,选上。你将可以得到更多的选项来精确地控制你的路由进程。
Choose IP: FIB lookup algorithm (choose FIB_HASH if unsure) (FIB_HASH) --->
//选择IP: FIB 查找算法(不清楚选 FIB_HASH )
1. FIB_HASH
这个 FIB 已通过验证,对很多用户都不错。
1. FIB_TRIE
使用新的实验阶段的 LC 树来做为 FIB 查找算法 。这将改善查找状况,如果你有很多路由。LC树是一个很长的前缀匹配查找算法,在对于大的路由表的时候,比 FIB_HASH 要好。但是,它消耗更多的内存,也更复杂。

 

[*]IP: policy routing

//IP:路由规则
通常,一个路由仅仅由包的最终目的地来决定如何应对一个接收包。如果你选Y,LINUX路由也可以考虑包的来源地,而且,包的TOS (Type-Of-Service,服务类型) 域也可以做为路由的参考之一。如果不清楚,选N。

 

[*]IP: equal cost multipath

// IP:多路径平等开支
通常,路由表对确定的给定包采用定义好的一致方式处理。如果你选Y,对同样的包类型可以采用不同的方式,可以有效地变换路径来传输这些包。路由以平等的开 支方式考虑所有的这些路径,当匹配的包到达时,选择一条不确定的路径。
用于路由的基于目的地址的负载均衡。

 

[*]IP: verbose route monitoring

//显示冗余的路由监控信息
详细路由控制信息
如果你选Y,也是我们推荐的方式,内核将会打印详细的路由信息,比如,接收到危险包时出现警告,这可能是某个机器对你进行攻击的征兆。信息可以通过 klogd 守护进程进行设置。

 

[ ] IP: kernel level autoconfiguration
//在内核启动时自动配置ip地址/路由表等,需要从网络启动的无盘工作站才需要这个东西。我很少用网络引导OS,内核级别的网络配置对我无用。

 

<>IP: tunneling
//IP:隧道传输
隧道传输意味着将数据从一个协议类型压缩到另一个协议类型中,并通过理解这个压缩协议的一个隧道进行传输。这个特殊的隧道驱动包含IP到IP的压缩,看起 来没什么意义,但是当你需要你的(或者别人的)机器在不同的网络上使用,或者使用移动IP设备(可以让你的笔记本在不同的网络使用,而不需要改变IP)的 时候很有用。选y会生成两个模块(可以在运行中的内核嵌入和移除)。大多数人不需要这个选项,可以选N。IP隧道,将一个IP报文封装在另一个IP报文内的技术。

 

< > IP: GRE tunnels over IP
//IP:GRE隧道
隧道传输意味着将数据从一个协议类型压缩到另一个协议类型中,并通过理解这个压缩协议的一个隧道进行传输。这个特殊的隧道驱动包含GRE(通用路由压 缩),可以将IPv4 或者IPv6压缩到现有的 IPv4 基本组织中。这个驱动很有用,如果网络终点是 Cisco 路由。Cisco有点像GRE,但是比其他的LINUX隧道驱动更好(看上面的选项)。另外,GRE允许多播通过隧道重新分配。GRE(Generic Routing Encapulation)隧道技术,允许在现有的IPv4架构上封包IPv6.

 

[ ] IP: multicast routing
//IP:多播路由
如果你想要你的机器变成一个多终端的IP包路由,选这项。在MBONE需要这功能。MBONE是一个高带宽的网络,在 Internet 的上层传播大量的声音和视频广播。为了达到这个目的,你可以要运行mrouted。如果你没有听说过它,你不需要它。

 

[] IP: ARP daemon support
//这东西尚处于试验阶段就已经被废弃了

 

[] IP: TCP syncookie support
//抵抗SYN flood攻击的好东西,要启用它必须同时启用/proc文件系统和"Sysctl support",然后在系统启动并挂载了/proc之后执行"echo 1 >/proc/sys/net/ipv4/tcp_syncookies"命令。木人会对锅洪泛攻击。。关掉。

<M> IP: AH transformation
<M> IP: ESP transformation
<M> IP: IPComp transformation
<M> IP: IPsec transport mode
<M> IP: IPsec tunnel mode
<M> IP: IPsec BEET mode
//以上都是IPsec需要的,不选或者选为模块。

 

[*]Large Receive Offload (ipv4/tcp)

//选上


<*>INET: socket monitoring interface
//socket监视接口,一些Linux本地工具(如:包含ss的iproute2)需要使用它.对于一些LINUX工具比如 ss 提供INET (TCP, DCCP等)套接口监控界面支持。选上吧

 

[ ] TCP: advanced congestion control --->不选
//TCP高级拥塞控制,如果没有特殊需求(比如无线网络)就别选了,内核会自动将默认的拥塞。控制设为"Cubic"并将"Reno"作为候补TCP高级拥挤控制。几乎所有的用户可以安全地在这里选N,安全的默认选项将会设置。

 

[*]TCP: MD5 Signature Option support (RFC2385) (EXPERIMENTAL)

//按默认吧


<M> The IPv6 protocol --->
//IPv6协议。这里支持IP6版本。你将仍然可以使用传统的 IPv4 网络。选M编译成模块,模块名为:ipv6。子选项就用默认吧。

[ ]NetLabel subsystem support
//NetLabel子系统为诸如CIPSO与RIPSO之类能够在分组信息上添加标签的协议提供支持,如果你看不懂就别选了。

 

[ ]Security Marking
对网络包进行安全标记,类似于nfmark,但主要是为安全目的而设计如果不清楚,选N。

 

[ ] Timestamping in PHY devices
//不选

 

[ ] Network packet filtering framework (Netfilter) --->
//Netfilter可以对数据包进行过滤和修改,可以作为防火墙("packet filter"或"proxy-based")或网关(NAT)或代理(proxy)或网桥使用.选中此选项后必须将"Fast switching"关闭,否则将前功尽弃。我暂时不打算配置防火墙。故咱不选。需要的时候再编译进去。

 

<M> The DCCP Protocol (EXPERIMENTAL) --->
//数据报拥塞控制协议在UDP的基础上增加了流控和拥塞控制机制,使数据报协议能够更好地用于流媒体业务的传输。不选或者编译为模块。

 

<M> The SCTP Protocol (EXPERIMENTAL) --->
//流控制传输协议是一种新兴的传输层协议.TCP协议一次只能连接一个IP地址而在SCTP协议一次可以连接多个IP地址且可以自动平衡网络负载,一旦某一个IP地址失效会自动将网络负载转移到其他IP地址上。编译成模块。

 

< > The RDS Protocol (EXPERIMENTAL)
//不选

 

< > The TIPC Protocol (EXPERIMENTAL) --->
//透明内部进程间通信协议,以共享内存为基础实现任务和资源的调度,专门用于内部集群通信。不选

 

< > Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)
//如果你有ATM卡就选上,注意此ATM并非提款机,而是一种高速网络。估计咱们这 都没有。

 

< > Layer Two Tunneling Protocol (L2TP) --->
//默认不选。

 

< > 802.1d Ethernet Bridging
//如果你打算把你的系统作为以太网的桥连的话就选上,我也不太明白这东西。。。反正大多数人都可以不要选,懂这个的自然会选上

[ ] Distributed Switch Architecture support --->
//不选

< > 802.1Q VLAN Support
//802.1Q虚拟局域网..同上上。

 

[ ] GVRP (GARP VLAN Registration Protocol) support
//不选

< > DECnet Support
//DECnet是一种很生僻的协议,不选。

 

< > ANSI/IEEE 802.2 LLC type 2 Support
//看不懂可以不选

 

<>Appletalk protocol support
//不选

 

<>CCITT X.25 Packet Layer (EXPERIMENTAL)
//大约没人需要这东西

 

< > LAPB Data Link Driver (EXPERIMENTAL)
//大约没人需要这东西

 

< > Acorn Econet/AUN protocols (EXPERIMENTAL)
//一种被Acorn计算机使用的又老又慢的协议

 

< > WAN router
//适用于长远距离之间的电脑通讯,需要很昂贵的设备...

 

< > Phonet protocols family

 

< > IEEE Std 802.15.4 Low-Rate Wireless Personal Area Networks
//不选

 

[ ] QoS and/or fair queueing --->
//用于路由器或NAT,它可以修改网内各个计算机的各个数据流优先级。但只有使用相应第三方软件修改各个数据流CoS后,才有效。并且占用一定的CPU资源和网络带宽。

 

[ ] Data Center Bridging support
//不选

 

Network testing --->
//网络测试,仅供调试使用。可以去掉所有子选项。

 

< > Amateur Radio AX.25 Level 2 protocol
//木有无线电,不选

 

< > CAN bus subsystem support --->
//是一种异步传输协议。不选

< > IrDA (infrared) subsystem support --->
//红外线支持,比如无线鼠标或无线键盘,木有,不选

 

< > Bluetooth subsystem support
//蓝牙支持,木有,不选

 

< > RxRPC session sockets
//不认识,不选,除非被依赖而不得不选,那就弄成模块。

 

[*]Wireless --->

<*> cfg80211 - wireless configuration API
[ ] nl80211 testmode command
[ ] enable developer warnings
[ ] cfg80211 regulatory debugging

 

[*]enable powersave by default

[ ] cfg80211 DebugFS entries

 

[*]Old wireless static regulatory definitions

 

[*]Wireless extensions

 

[*]Wireless extensions sysfs files

<*> Common routines for IEEE802.11 drivers

<*> Generic IEEE 802.11 Networking Stack (mac80211)
//不能编入内核就变成模块

 

< > WiMAX Wireless Broadband support --->
//不选

 

< > RF switch subsystem support --->
//我没有RF切换设备,不选

 

< > Plan 9 Resource Sharing Support (9P2000) (Experimental)
//不选

 

< > CAIF support --->
//不选

Device Drivers --->

Generic Driver Options --->
//保持默认

<*> Connector - unified userspace <-> kernelspace linker --->
//统一的用户空间和内核空间连接器,工作在netlink socket协议的顶层.不确定可以不选
连接器--用户空间<-> 内核空间统一连接

 

[*]Report process events to userspace

//向用户空间报告进程事件(fork,exec,id变化(uid,gid,suid)。让连接器向用户空间报告进程事件。比如派生指令、执行指令、ID变化和退出指令。

< > Memory Technology Device (MTD) support --->
//特殊的存储技术装置,如常用于数码相机或嵌入式系统的闪存卡。内存技术设备支持,即程序可以不加载到内存,直接在闪存卡上运行。mtd主要是对裸接口的驱动,就是flash芯片直接挂在总线或i/o线上的那种,可以是nor   flash,也可以是nand   flash。 与U盘等无关。如果你不明白是什么,不选即可,普通用户用不到。

< > Parallel port support --->
//并口支持(传统的打印机接口),你有打印机的话自己研究吧。

-*- Plug and Play support --->
//即插即用支持。必选。不然你插U盘就不能自动识别了

│ │ --- Plug and Play support
│ │ [] PNP debugging messages
│ │ *** Protocols ***
│ │ -*- ISA Plug and Play support
│ │ [ ] Plug and Play BIOS support (EXPERIMENTAL)
│ │ [ ] Plug and Play BIOS /proc interface

 

[*]Block devices --->


│ │ --- Block devices
│ │ <  > Normal floppy disk support //通用软驱支持
│ │ < > XT hard disk support  //古董级产品

|  | < >   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设备加密,但不能用于日志型文件系统。

|  | < >DRBD Distributed Replicated Block Device support  //分布式复制块设备,是一种通过TCP/IP网络实现块设备数据实时镜像的方 |  |                                                                                   //  案.普通桌面用户用不到。

|  | < >   Network block device support  //让你的电脑成为网络块设备的客户端。与NFS,即远程根文件系统有关。我用不到。

|  |< >   Promise SATA SX8 support //基于Promise公司的SATA SX8控制器的RAID卡。不过选上该项可能会与SCSI device support的 |  |                                                  //选项产生冲突,一般不选

|  | < >   Low Performance USB Block driver //它不是用来支持U盘的,不懂的就别选。选了可能发生冲突。

|  | <*>   RAM block device support              //内存中的虚拟磁盘,大小固定(由下面的选项决定,也可给内核传递"ramdisk_size=参

│ │  (16)    Default number of RAM disks      //数"来决定。虚拟内存的一部分作为磁盘使用,提高速度,也可以作为swap或者tmp存。

│ │  (65536)  Default RAM disk size (kbytes)

|  | [ ]     Support XIP filesystems on RAM block device //不认识,不选

|  | <M>   Packet writing on CD/DVD media  //刻录机支持。选为模块。

|  | (8)     Free buffers for data gathering //设置刻录时同步的packet数.多的packet能增加刻录速度,但耗费更多内存。默认为8

|  | [ ] Enable write caching //写缓冲.不要选.如果刻录盘是坏的,系统不会处理延迟的写错误.

|  |<M>ATA over Ethernet support  //不甚了解,编为模块备用吧。

│ │ [ ] Very old hard disk (MFM/RLL/IDE) driver //看名字就不想选。


[ ] Misc devices --->
//我没有要支持的杂项设备

< > ATA/ATAPI/MFM/RLL support  --->
//通常是IDE硬盘和ATAPI光驱.纯SCSI或者SATA系统且不使用这些接口可以不选。我的是SATA硬盘,不选。

 


SCSI device support  --->

<M> RAID Transport Class
//用于SCSI设备的软件RAID支持,需要配合外部工具,编为模块备用。

-*- SCSI device support

<M> SCSI target support

 

[*]legacy /proc/scsi/ support

//生成/proc/scsi/。可用cat /proc/scsi/scsi查看信息.一些老刻录程序才需要

 


*** SCSI support type (disk, tape, CD-ROM) ***  

<*> SCSI disk support //如果你要使用SATA硬盘,SATA硬盘,PATA硬盘,U盘等,请选中。目前绝大多数都是sata硬盘了。

<> SCSI tape support  //SCSI磁带,你有这种东西么?我木有


< > SCSI OnStream SC-x0 tape support  //又一个SISC磁带机支持

 

<*> SCSI CDROM support  //支持SATA光驱

 

< >Enable vendor-specific extensions //仅在古董级的SCSI CDROM设备上才需要

 

<M>SCSI generic suppor //若有SCSI硬盘/CD-ROM/tape之外的SCSI设备才需要选择.我也不清楚,模块之。(刻录机应该算吧)

 

< > SCSI media changer support  //SCSI转换媒介支持。可以用cat /proc/scsi/scsi 命令看看有没有Type: Medium Changer 这个东西来选。我的没有,就不选了。

 

[ ] Probe all LUNs on each SCSI device //在每个SCSI设备上探测逻辑设备数.只在一个SCSI设备上有多个逻辑设备(模拟多个SCSI设备,比如多口读卡器)时才需要选它,一般的SCSI设备不需要.

 

 

[*]Verbose SCSI error reporting (kernel size +=12K) //以易读的方式报告SCSI错误,内核将会增大12K SCSI错误报告。有报告就是好。选!

 

[*]SCSI logging facility //启用SCSI日志(默认并不开启,需要在挂载/proc后执行echo "scsi log token [level]" > /proc/scsi/scsi命令才能打开日志),可用于跟踪和捕获SCSI设备的错误SCSI记录设备。便于出错时记录和分析的,选。

 

[*]Asynchronous SCSI scanning //不认识,选。

SCSI Transports  --->  //SCSI接口类型,下面的子项可以全不选,或者按默认。内核中若有其他部分依赖它,会自动选上。

 

[] SCSI low-level drivers  ---> //低级别SCSI驱动,按你实际使用的产品选择


[ ] PCMCIA SCSI adapter support  ---> //通过PCMCIA卡与计算机连接的SCSI设备笔记本的SCSI,稍微现代点的笔记本应该都没有PCMCIA口了。

< > SCSI Device Handlers  ---> //我查了各个子项,均为灰主流,我用不上。

< > OSD-Initiator library //不认识,不选。

Firmware Drivers  --->
//固件就是你板上的BIOS、各种显卡芯片之类的已经固化好的记录某些特定数据的东西。

<*> EFI Variable Support via sysfs

 

< > BIOS update support for DELL systems via sysfs
//用于DELL机器的BIOS升级支持。

 

< > Dell Systems Management Base Driver
//DELL系统管理器的基本驱动。

 

[*]Export DMI identification via sysfs to userspace

 

[ ] iSCSI Boot Firmware Table Attributes


File systems  --->

< > Second extended fs support
//Ext2文件系统是Linux的标准文件系统,擅长处理稀疏文件,我用不上。没选

<*> Ext3 journalling file system support
//Ext3性能平庸,使用journal日志模式时数据完整性非常好(但怪异的是此时多线程并发读写速度却最快)

 

[*]   Default to 'data=ordered' in ext3

 

[*]  Ext3 extended attributes

 

[*]    Ext3 POSIX Access Control Lists

 

[*]    Ext3 Security Labels


<*> The Extended 4 (ext4) filesystem

 

[*]Use ext4 for ext2/ext3 file systems (NEW)

 

[*]Ext4 extended attributes (NEW)

 

[*]Ext4 POSIX Access Control Lists (NEW)

 

[*]Ext4 Security Labels (NEW)

 

[  ] EXT4 debugging support (NEW)

[ ] JBD (ext3) debugging support

[ ] JBD (ext5) debugging support
//仅供开发者使用

< > Reiserfs support

< > JFS filesystem support

 

< > XFS filesystem support

< > GFS2 file system support

 

< > OCFS2 file system support

 

< > Btrfs filesystem (EXPERIMENTAL) Unstable disk format

 

< > NILFS2 file system support (EXPERIMENTAL)
//以上各种文件系统格式我都不需要。全不选

 

[*]Dnotify support

//旧式的基于目录的文件变化的通知机制(新机制是Inotify),目前仍然有一些程序依赖它

 

[*]Inotify support for userspace                  

//选

 

[*]Quota support

//配额支持。也就是说限制某个用户或者某组用户的磁盘占用空间。根据自己需求可选可不选。测试一把,我选了。

 

[*]   Report quota messages through netlink interface

 

[ ]   Print quota warnings to console (OBSOLETE)

< > Old quota format support//老式的配额格式支持

 

< > Quota format vfsv0 and vfsv1 support //对于v0 v1版本的支持,老旧不选用。

< > Kernel automounter support

 

< > Kernel automounter version 4 support (also supports v3)
//内核自动加载远程文件系统,我没这个需求。

<M> FUSE (Filesystem in Userspace) support
//FUSE允许在用户空间实现一个文件系统,如果你打算开发一个自己的文件系统或者使用一个基于FUSE的文件系统就选吧

<M>   Character device in Userspace support


Caches  --->
< > General filesystem local caching manager

 


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

(936) Default codepage for
//FAT默认代码页.就是怎么显示fat文件名。如果要与简体中文windows系统兼容,建议设置为936.使用默认437时,中文会乱码。选择936之后,还需要在File Systems --- Native Language Support 配置项选择需要编译进内核的语言支持(CP936)。

(utf8) Default iocharset for FAT
//FAT默认字符集,如果要使用中文,请使用utf8。还需要在File Systems --- Native Language Support 配置项选择需要编译进内核的语言支持(utf8)。

<*> NTFS file system support
从WinNT开始使用的NTFS文件系统

 

[ ]   NTFS debugging support (NEW)
//仅供调试使用

 

[*]   NTFS write support (NEW)

NTFS写入支持


Pseudo filesystems  --->

-*- /proc file system support
//子选项全部按默认全选即可。

 

[*]Miscellaneous filesystems  --->

//非主流的杂项文件系统

<M> Compressed ROM file system support (cramfs)
//对ROM的支持,这里要选上!

其它子选项按照默认即可。

 

[*]Network File Systems  --->

//网络文件系统。全部默认吧。如果对NFS有特殊需求的自己解决吧

 

[*]Advanced partition selection

//高级分区选择,如果你不是用Linux来管理硬盘分区表,选这个。一般来说,要选,而且要选上里面的WINDOWS选项。因为我的硬盘是在WINDOWS 下格式化分区的。我只选择了

 

[*]   PC BIOS (MSDOS partition tables) support  

 

[*]  Windows Logical Disk Manager (Dynamic Disk) support


-*- Native language support  ---> 
//本地语言支持.如果你仅仅使用几种主流的Linux文件系统(ext2/3/4,Reiserfs,JFS,XFS),就不需要这个东西.但是如果你需要 使用FAT/NTFS分区的话,就需要这个东西了.

(utf8) Default NLS Option
//默认本地语言,建议使用UTF-8。并选种codepage

<*>   Simplified Chinese charset (CP936, GB2312)

< > Distributed Lock Manager (DLM)  --->
//通用的分布式锁管理器,不明白就不选


Kernel hacking  --->

[] Show timing information on printks 
//在printk的输出中包含时间信息,可以用来分析内核启动过程各步骤所用时间 , 我不需要debug内核

[ ] Enable __deprecated logic

 

[*]Enable __must_check logic

//在编译内核的过程中使用"必须检查"的逻辑,禁用它将不会显示某些警告信息

(2048) Warn for stack frames larger than (needs gcc 4.4)

 

[*]Magic SysRq key

//魔术键功能,用alt+PrintScreen+特定键位 的组合键来控制系统,在系统崩溃时特别有用,有点类似win2000的ctrl+alt+del

[ ] Strip assembler-generated symbols during link


[ ] Enable unused/obsolete exported symbols
//导出无用和废弃的符号,这将使内核不必要的增大

-*- Debug Filesystem
//不是内核开发者的别选

 

[ ] Run 'make headers_check' when building vmlinux
//在编译内核时运行'make headers_check'命令检查内核头文件,当你修改了与用户空间相关的内核头文件后建议启用该选项

 

[*]Kernel debugging

//不是内核开发者的别选

[ ] Compile the kernel with frame pointers
//还是跟内核开发有关,不选

[ ] Check for stalled CPUs delaying RCU grace periods

< > Linux Kernel Dump Test Tool Module
//不是内核开发者别选

 

[*]Sysctl checks

 

 

[*]Tracers  --->

// 内核跟踪分析器,默认吧

[] Remote debugging over FireWire early on boot 
// 启动过程中,允许远程调试内核

[ ] Enable dynamic printk() support

[ ] Enable debugging of DMA-API usage

[ ] Perform an atomic64_t self-test at boot   

[ ] Sample kernel code  --->                          

[ ] Filter access to /dev/mem

[*]Enable verbose x86 bootup info messages

//输出启动过程的详细信息。可选可不选。关闭后相当于无声启动。没有信息输出。

-*- Early printk       

[ ]   Early printk via EHCI debug port 
//不选吧,调试的一概不选

[ ] Use 4Kb for kernel stacks instead of 8Kb

[ ] Enable IOMMU stress-test mode

 

    IO delay type (port 0x80 based port-IO delay [recommended])  ---> 

 

[*]Allow gcc to uninline functions marked 'inline'



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

/允许内核选择不同的安全模型,如果未选中则内核将使用默认的安全模型

 

[*]Enable the securityfs filesystem

 

[*]Socket and Networking Security Hooks

//允许安全模型通过Security Hook对Socket与Networking进行访问控制

[ ]   XFRM (IPSec) Networking Security Hooks启用XFRM安全Hook

 

[ ] Security hooks for pathname based access control

[ ] NSA SELinux Support
//美国国家安全局(NSA)开发的安全增强Linux(SELinux),你还需要进行策略配置(checkpolicy)并且对文件系统进行标记 (setfiles).我暂时对安全性要求没那么高。

[ ] TOMOYO Linux Support

[ ] AppArmor support

[ ] Integrity Measurement Architecture(IMA)

    Default security module (Unix Discretionary Access Controls) │

//均按默认

< > Self test for hardware accelerated raid6 recovery
//不选

-*- Cryptographic API  --->
//默认即可

 

[*]Virtualization  --->

//看需要吧,我一个都没选。


    Library routines  --->
//全部默认

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics