Linux内核配置选项



下面以最新的Linux 2.6.20内核为例,介绍比较常用的一些Linux内核配置选项,其他选项读者可以参考系统提供的帮助信息。

需要说明的是,在内核配置中,某项选择Y表示把该项选择进内核,选择M则表示把该项编译成模块,选择N则表示不选择进内核。在make menuconfig 下,*表示Y,M表示M,空白表示N。在make xconfig下,√表示Y,·表示M,空白表示N。如果某选项在配置菜单中是可选择的,这并不意味着目标系统就支持该功能,当然大部分供选择的选项是目标系统文持的;同样,配置菜单中没有的选项并不一定就表示目标系统不支持该功能,原因可能是该功能还未在目标系统上测试过,或者是维护人员未将该功能选项加入到各级系统配置文件的config.in中,具体可以查看内核的英文说明。

5.1  General setup

General setup选项为常规安装选项,包括版本信息、虚拟内存、进程间通信、系统调用、审计支持等基本内核配置选项。下面介绍常规安装选项下主要子选项的配置方法。

1)Local version - append to kernel release

在内核后面加上自定义的版本字符串。这些字符在使用uname-a命令时会显示出来。要求字符最多不能超过64位。如果不清楚,则选择N。

2)Automatically append version information to the version string(LOCALVERSION_ AUTO)

自动生成版本信息。这个选项会自动探测内核并且生成相应的版本。在编译时需要有perl及Git仓库的支持。在一般情况下,建议选择Y。

3)Support for paging of anonymous memory(swap)

使用交换分区或者交换文件来作为虚拟内存,也就是让计算机好像拥有比实际内存更多的内存空间用来执行很大的程序。Linux中的虚拟内存即SWAP分区,除非不需要SWAP分区,否则这里选择Y。

4)System V IPC(Inter Process Communication,IPC)

System V进程间通信(IPC)支持,许多程序需要这个功能,因此选择Y。中间过程连接是一组功能和系统调用,使得进程能够同步和交换信息。可以用info ipc命令来了解IPC的具体用法。

其中,IPC Namespaces (IPC_NS)子选项表示IPC命名空间,命名空间的作用是区别同名的设备。这个选项也是为不同的服务器提供IPC的多命名,达到一个IPC提供多对象支持的目的。如果不清楚,则选择N。

5)POSIX Message Queues

POSIX(可移植操作系统接口)消息队列是POSIX IPC中的一部分,在通信队列中有较高的优先权来保持通信畅通。如果需要编译和运行在Solaris操作系统上写的 POSIX信息队列程序,则选择Y。同时还需要 mqueue 库来支持这些特性。它是作为一个文件系统存在(mqueue),可以设置它。为保证以后的不同程序的协同稳定。如果不清楚,则选择N。

6)BSD Process Accounting

将进程的统计信息写入文件的用户级系统调用,信息通常包括建立时间、所有者、命令名称、内存使用、控制终端等。如果选择Y,则用户级别的程序就可以通过特殊的系统调用方式来通知内核把进程统计信息记录到一个文件中,当这个进程存在的时候,信息就会被内核记录进文件,这对用户级程序非常有用,所以通常选择Y。

其中,BSD Process Accounting version 3 file forma子选项表示使用新的第三版文件格式,通常选择Y。统计信息将会以新的格式(V3)写入,这格式包含进程ID和父进程。注意这个格式不兼容老版本(V0/V1/V2)的文件格式,所以需要升级相关工具来使用它。

7)Export task/process statistics through netlink(EXPERIMENTAL)

这是一个处于实验阶段的功能,表示通过netlink接口向用户空间导出任务、进程等统计信息,与BSD Process Accounting的不同之处在于这些数据在进程运行的时候就可以通过相关命令访问。如果不清楚,则选择N。

8)UTS Namespaces

UTS(通用终端系统)命名空间支持。它允许容器,比如Vservers利用UTS命名空间来为不同的服务器提供不同的UTS。如果不清楚,则选择N。

9)Auditing support

审计支持,某些内核模块(例如SELinux)需要它,只有同时选择其子项才能对系统调用进行审计。允许审计的下层能够被其他内核子系统使用,比如SELinux,它需要这个来进行登录时的声音和视频输出。没有CONFIG_AUDITSYSCALL时(即下一个选项)无法进行系统调用。

其中,Enable system-call auditing support (AUDITSYSCALL)子选项表示支持对系统调用的审计,允许系统独立地或者通过其他内核的子系统,调用审计支持,比如SELinux。要使用这种审计的文件系统来查看特性,请确保 INOTIFY 已经被设置。这两个选项,要选择Y就都选择,以便调用其他内核。

10)Kernel.config support

把内核的配置信息编译进内核中,以后可以通过scripts/extract-ikconfig脚本来提取这些信息。

这个选项允许.config文件(即编译Linux时的配置文件)编译进内核中。可以通过内核镜像文件kernel image file,用命令script scripts/extract-ikconfig来提取这些配置信息,作为当前内核重编译或者另一个内核编译的参考。如果内核在运行中,可以通过/proc/config.gz文件来读取。

其中Enable access to .config through/proc/config.gz子选项表示可以通过/proc/config.gz 访问当前内核的.config。这两个选项,要选择Y就都选择,以便调用其他内核。

11)Cpuset support

多CPU支持。这个选项可以建立和管理CPU集群,它可以动态地将系统分割在各个CPU和内存节点中,在各个节点是独立运行的,这对大型的系统尤其有效。一般只有在含有大量CPU(大于16个)的SMP系统或NUMA(非一致内存访问)系统才需要它。如果不清楚,则选择N。

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

内核系统区和用户区进行传递通信的支持。在某些文件系统上(比如debugfs)提供从内核空间向用户空间传递大量数据的接口。

这个选项在特定的文件系统中提供数据传递接口支持,它可以提供从内核空间到用户空间的大批量的数据传递工具和设施。如果不清楚,则选择N。

13)Initramfs source file(s)

initrd已经被initramfs取代,选N即可。

14)Optimize for size(Look out for broken compilers!)

这个选项将在GCC命令后用“-Os”代替“-O2”参数,编译时优化内核尺寸,以在编译时优化内核尺寸。

警告:某些GCC版本会产生错误的二进制代码。如果有错,请升级GCC。

这是优化内核大小的功能,一般没必要选。因为一个编译好的内核只有7~10MB,如果空间足够就不要冒出问题的风险来优化内核大小。

15)Configure standard kernel features(for small systems)

配置标准的内核特性(为小型系统)。这个选项可以让内核的基本选项和设置无效或者扭曲。这是用于特定环境中的,它允许“非标准”内核。它是为了编译某些特殊用途的内核使用的,例如引导盘系统。通常选这一选项,也不必关心其子选项。

5.2  Loadable module support

Loadable module support即引导模块支持,该选项包括加载模块、卸载模块、模块校验、自动加载模块等引导模块配置相关子选项。本节主要介绍引导模块支持子选项的配置方法。

1)Enable loadable module support

打开可加载模块支持,如果打开它则必须通过make modules_install把内核模块安装在/lib/modules/中。模块是一小段代码,编译后可在系统内核运行时动态地加入内核,从而为内核增加一些特性或是对某种硬件进行支持。一般一些不常用到的驱动或特性可以编译为模块以减少内核的体积。在运行时可以使用modprobe命令来加载它到内核中去(在不需要时还可以移除它)。一些特性是否编译为模块的原则有不常使用的,或是在系统启动时不需要的驱动可以将其编译为模块,如果是一些在系统启动时就要用到的驱动,比如说文件系统,系统总线的支持就不要编为模块,否则无法启动系统。在启动时不用到的功能编成模块是最有效的方式。可以查看MAN手册来了解modprobe、lsmod、modinfo、insmod和rmmod。

如果选择了这项,则需要运行make modules_install命令来把模块添加到/lib/modules/目录下,以便 modprobe 可以找到它们。如果不清楚,则选择Y。

2)Module unloading

允许卸载已经加载的模块。如果选择N,将不能卸载任何模块(有些模块一旦加载就不能卸载,不管是否选择了这个选项)。如果不清楚,则选择Y。

其中,Forced module unloading子选项允许强制卸载正在使用中的模块,即使内核认为这不安全,内核也将会立即移除模块,而不管是否有人在使用它(用rmmod -f命令)。如果不清楚,则选择N。

3)Module versioning support(MODVERSIONS)

允许使用其他内核版本的模块。选这项会添加一些版本信息,来给编译的模块提供独立的特性,以使不同的内核在使用同一模块时区别于它原有的模块。如果不清楚,则选择N。

4)Source checksum for all modules

为所有的模块校验源码,如果不是自己编写内核模块就不需要它。这个功能是为了防止在编译模块时不小心更改了内核模块的源代码但忘记更改版本号而造成版本冲突。如果不清楚,则选择N。

5)Automatic kernel module loading

允许内核通过运行modprobe自动加载模块,比如可以自动解决模块的依赖关系。在一般情况下,如果我们的内核在某些任务中要使用一些被编译为模块的驱动或特性时,我们要先使用modprobe命令来加载它,内核才能使用。如果选择了这个选项,在内核需要一些模块时它可以自动调用modprobe命令来加载需要的模块。如果不清楚,则选择Y。

5.3  Processor type and features

Processor type and features即处理器类型及特性,该模块包括处理器系列、内核抢占模式、抢占式大内核锁、内存模式、使用寄存器参数等处理器配置相关信息。本节介绍其中与嵌入式开发有关的主要子选项的配置方法。

1)Symmetric multi-processing support(SMP)

对称多处理器支持。将支持多个CPU的系统,此时Enhanced Real Time Clock Support选项必须开启,Advanced Power Management选项必须选择N。如果系统只有一个CPU,则选择N。反之,选择Y。如果选择N,内核将会在单个或者多个CPU的机器上运行,但是只会使用一个CPU。如果选择Y,内核可以在很多(但不是所有)单CPU的机器上运行,在这样的机器上选择N,会使内核运行得更快。如果不清楚,则选择N。

2)Processor family

处理器系列。针对嵌入式系统所使用的处理器类型,选取相应的选项。

3)Preemptible kernel

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

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

n        Voluntary Kernel Preemption(Desktop):自动式内核抢占。这个选项通过向内核添加更多的“清晰抢占点”来减少内核延迟。这些新的抢占点以降低吞吐量为代价,来降低内核的最大延迟,提供更快的应用程序响应。这通过允许低优先级的进程自动抢占来响应事件,即使进程在内核中进行系统调用。这使得应用程序运行得更“流畅”,即使系统已经是高负荷运转。嵌入式系统里面通常选择N。

n        Preemptible Kernel(Low-Latency Desktop):可抢占式内核(低延迟桌面)。这个选项通过使所有内核代码(非致命部分)编译为“可抢占”来降低内核延迟。通过允许低优先级进程进行强制抢占来响应事件,即使这些进程正在进行系统调用或者未达到正常的“抢占点”。这使得应用程序运行得更加“流畅”,即使系统已经是高负荷运转。代价是吞吐量降低,内核运行开销增大。嵌入式系统编译内核通常选择Y,这样只有很少的延迟。

其中,Preemptible Kernel子选项提供了最快的响应,适合对实时性要求较高的嵌入式系统。

4)Preempt The Big Kernel Lock

抢占式大内核锁。应用于实时要求高的场合,适合嵌入式系统。这个选项通过让大内核锁变成“可抢占”来降低延迟。构建实时性要求较高的嵌入式系统,通常选择N。

5)Machine Check Exception

机器例外检查。让CPU检测到系统故障时通知内核,以便内核采取相应的措施(如过热关机等)。内核根据问题的严重程度来决定下一步的行为,比如在命令行上打印警告信息或者关机。处理器必须是 Pentium或者更新版本才能支持这个功能。用cat /proc/cpuinfo来检测 CPU是否有mce 标志。

所以使用ARM处理器的嵌入式系统在这里选择N。

6)Memory model

内存模式。一般选Flat Memory(平坦内存模式),Sparse Memory(稀疏内存模式)选项涉及内存热插拔。

7)Use register arguments(REGPARM)

使用寄存器参数。使用-mregparm=3参数编译内核,将前3个参数以寄存器方式进行参数调用,这使GCC使用更高效的应用程序二进制接口(ABI)来跳过编译时的前3个调用寄存器参数,可以生成更紧凑和高效的代码。如果选择N,这个选项默认的ABI将会使用。如果不清楚,则选择Y。

8)kexec system call(KEXEC)

kexec系统调用。使用此选项可以不必重启而切换到另一个内核。

kexec是一个用来选择N当前内核,然后开启另一个内核的系统调用。它和重启很像,但是它不访问系统固件。由于和重启很像,可以启动任何内核,不仅仅是Linux。kexec这个名字是从exec系统调用来的,它只是一个进程,可以确定硬件是否正确,所以这段代码可能不会正确地进行初始化工作。为慎重起见,在一般情况下,建议选择N。

5.4  Networking support

Networking support即网络支持,该选项配置的是网络协议,内容庞杂,这里就不一一介绍了。只要对网络协议有所了解,应该可以看懂相关帮助文件。如果要开发嵌入式系统能像PC一样使用各类网络协议,则可以使用默认选项,其中,最常用的TCP/IP networking选项当然要选择。

5.5  Device Drivers

Device Drivers即设备驱动,该选项包括内核所支持的各类硬件设备的配置信息。对于嵌入式系统来说,设备驱动配置选项是最重要的步骤之一,下面详细介绍它们。

1)Generic Driver Options

驱动程序通用选项。包括以下几个子选项。

n        Select only drivers that don't need compile-time external firmware:只显示不需要内核对外部设备的固件做map支持的驱动程序,除非有某些怪异硬件,否则要选择Y。

n        Prevent firmware from being built:不编译固件。固件一般是随硬件的驱动程序提供的,仅在更新固件的时候才需要重新编译。建议选择Y。

n        Userspace firmware loading support:提供某些内核之外的模块需要的用户空间固件加载支持,在内核树之外编译的模块可能需要它。如果不清楚,则选择N。

n        Driver Core verbose debug messages:让驱动程序内核在系统日志中产生冗长的调试信息,仅供调试使用。如果不清楚,则选择N。

2)Connector - unified userspace <-> kernelspace linker

统一的用户空间和内核空间连接器,工作在netlink socket协议的顶层。如果不确定,则选择N。

其中,Report process events to userspace子选项表示向用户空间报告进程事件。

3)Memory Technology Devices(MTD)

特殊的存储技术装置,如常用于数码相机或嵌入式系统的闪存卡。如果不清楚,则选择N。

4)Parallel port support

并口支持(传统的打印机接口)。如果不清楚,则选择N。

5)Plug and Play support

支持即插即用,若未选,则应当在BIOS中的“PnP OS”选择N。这里的选项与PCI设备无关。包括以下几个子选项。

n        PnP Debug Messages:该选项仅供调试使用。

n        ISA Plug and Play support:ISA设备支持即插即用。如果不清楚,则选择N。

n        Plug and Play BIOS support:Linux使用Plug and Play BIOS规范v1.0A(1994年)中定义的PnPBIOS自动检测主板上的资源和设备,但是其中的某些特性目前尚未实现,比如,事件通知/扩展坞(Docking Station)信息/ISAPnP服务。如果希望由内核检测主板上的设备并为其分配资源(此时BIOS中的“PnP OS”必须开启)可以选择Y。此外,PnPBIOS还有助于防止主板上的设备与其他总线设备冲突。不过需要注意的是ACPI将会逐渐取代PnPBIOS(虽然目前两者可以共存),所以如果系统不使用ISA设备并且支持ACPI,建议不要选择Y。将BIOS中的“PnP OS”选择N。

n        Plug and Play BIOS/proc interface:该选项仅供调试使用。如果不清楚,则选择N。

n        Plug and Play ACPI support:让Linux使用PnPACPI自动检测主板上内建的设备并为其分配资源(即使这些设备已被BIOS禁用),它有助于避免设备之间的资源(如中断)冲突。如果不清楚,则选择N。

6)Block devices

块设备。包括以下几个子选项。

n        ormal floppy disk support:通用软驱支持。如果嵌入式系统采用这种设备,则选择Y。

n        XT hard disk support:一种老式产品。如果嵌入式系统采用这种设备,则选择Y。

n        Parallel port IDE device support:通过并口与计算机连接的IDE设备。如果嵌入式系统采用这种设备,则选择Y。

n        Compaq SMART2 support:基于Compaq SMART2控制器的磁盘阵列卡。如果嵌入式系统采用这种设备,则选择Y。

n        Compaq Smart Array 5xxx support:基于Compaq SMART控制器的磁盘阵列卡。如果嵌入式系统采用这种设备,则选择Y。

n        Mylex DAC960/DAC1100 PCI RAID Controller support:一种老式产品。如果嵌入式系统采用这种设备,则选择Y。

n        Micro Memory MM5415 Battery Backed RAM support:一种使用电池做后备电源的内存。如果嵌入式系统采用这种设备,则选择Y。

n        Loopback device support:Loopback是指拿文件来模拟块设备,比如可以将一个iso9660镜像文件挂成一个文件系统。如果嵌入式系统采用这种设备,则选择Y。

n        Cryptoloop Support:使用系统提供的加密API对Loopback设备加密,但不能用于日志型文件系统。如果嵌入式系统采用这种设备,则选择Y。

n        Network block device support:让系统成为网络块设备的客户端。如果不清楚,则选择N。

n        Promise SATA SX8 support:基于Promise公司的SATA SX8控制器的RAID卡。如果嵌入式系统采用这种设备,则选择Y。

n        Low Performance USB Block driver:该选项并非表示支持优盘。一般情况下,建议选择N。

n        RAM disk support:内存中的虚拟磁盘,大小固定(由下面的选项决定,也可给内核传递ramdisk_size=参数来决定),它的功能和代码都比shmem简单许多。如果嵌入式系统采用RAM disk,则选择Y。

n        Default number of RAM disks:默认RAM disk的数量。一般不必修改。

n        Default RAM disk size(kbytes):默认RAM disk容量。一般不必修改。

n        Default RAM disk block size(bytes):每一个RAM disk的默认块大小,设为PAGE_SIZE的值时效率最高。

n        Initial RAM filesystem and RAM disk(initramfs/initrd)support:如果启动系统所必须的模块都在内核里,则选择Y。

n        Packet writing on CD/DVD media:CD/DVD刻录支持。如果嵌入式系统采用这种设备,则选择Y。

n        Free buffers for data gathering:用于收集写入数据的缓冲区个数(每个占用64KB内存),在内存运行的情况下,缓冲区越多性能越好。

n        Enable write caching:为CD-R/W设备启用写入缓冲。由于安全性问题,在一般情况下,建议选择Y。

n        ATA over Ethernet support:以太网ATA设备支持。如果嵌入式系统采用这种设备,则选择Y。

7)Misc devices

杂项设备。如果不清楚,则选择N。

8)ATA/ATAPI/MFM/RLL support

SCSI设备通常是IDE硬盘和ATAPI光驱。纯SCSI系统且不使用这些接口可以选择N。

9)SCSI device support

SCSI设备。如果不清楚,则选择N。

10)Serial ATA and Parallel ATA drivers

SATA与PATA设备。如果不清楚,则选择N。

11)Old CD-ROM drivers(not SCSI,not IDE)

老旧的CD-ROM驱动,这种CD-ROM既不使用SCSI接口,也不使用IDE接口。如果不清楚,则选择N。

12)Multi-device support(RAID and LVM)

多设备支持(RAID和LVM)。RAID和LVM的功能是使多个物理设备组建成一个单独的逻辑磁盘。如果不清楚,则选择N。

13)Fusion MPT device support

Fusion MPT设备支持。如果不清楚,则选择N。

14)IEEE 1394(FireWire)support

IEEE 1394(火线)。如果不清楚,则选择N。

15)I2O device support

I2O(智能I/O)设备使用专门的I/O处理器负责中断处理、缓冲存取、数据传输等烦琐任务以减少CPU占用,一般PC的主板上没有。如果不清楚,则选择N。

16)Network device support

网络设备。包含以下子选项。

n        Network device support:网络设备支持,如果要开发的嵌入式系统需要上网,则选择Y。

n        Intermediate Functional Block support:这是一个中间层驱动,可以用来灵活的配置资源共享。如果不清楚,则选择N。

n        Dummy net driver support:哑接口网络,使用SLIP或PPP传输协议(如ADSL用户)的需要它。如果不清楚,则选择N。

n        Bonding driver support:将多个以太网通道绑定为一个,也就是两块网卡具有相同的IP地址并且聚合成一个逻辑链路工作,可以用来实现负载均衡或硬件冗余。如果不清楚,则选择N。

n        EQL(serial line load balancing)support:串行线路的负载均衡。如果有两个MODEM和两条电话线而且用SLIP或PPP协议,该选项可以让你同时使用这两个MODEM以达到双倍速度(在网络的另一端也要有同样的设备)。如果不清楚,则选择N。

n        Universal TUN/TAP device driver support:TUN/TAP可以为用户空间提供包的接收和发送服务,比如可以用来虚拟一张网卡或点对点通道。如果不清楚,则选择N。

n        General Instruments Surfboard 1000:Surfboard 1000插卡式Cable Medem(ISA接口),一种老式产品。如果不清楚,则选择N。

n        ARCnet devices:一般人没有ARCnet类型的网卡。如果不清楚,则选择N。

n        PHY device support:数据链路层芯片简称为MAC控制器,物理层芯片简称为PHY,通常的网卡把MAC和PHY的功能做到了一颗芯片中,但也有一些仅含PHY的“软网卡”。如果不清楚,则选择N。

n        Ethernet(10/100Mbit):目前最广泛的10/100MB网卡。如果不清楚,则选择N。

n        Ethernet(1000 Mbit):目前已成装机主流的1000MB网卡。如果不清楚,则选择N。

n        Ethernet(10000 Mbit):高速(万兆)网卡。如果不清楚,则选择N。

n        Token Ring devices:令牌环网设备。如果不清楚,则选择N。

n        Wireless LAN(non-hamradio):无线LAN。如果不清楚,则选择N。

n        PCMCIA network device support:PCMCIA或CardBus网卡。如果不清楚,则选择N。

n        WAN interfaces:WAN接口。如果不清楚,则选择N。

n        ATM drivers:异步传输模式。如果不清楚,则选择N。

n        FDDI driver support:光纤分布式数据接口。如果不清楚,则选择N。

n        HIPPI driver support:HIPPI(高性能并行接口)是一个在短距离内高速传送大量数据的点对点协议。如果不清楚,则选择N。

n        PLIP(parallel port)support:将并口映射成网络设备,这样两台机器即使没有网卡也可以使用并口通过并行线传输IP数据包。如果不清楚,则选择N。

n        PPP(point-to-point protocol)support:点对点协议,PPP已经基本取代SLIP了,若使用ADSL则要选择Y。如果不清楚,则选择N。

n        PPP multilink support:多重链路协议(RFC1990)允许将多个线路(物理的或逻辑的)组合为一个PPP连接以充分利用带宽,这不但需要pppd的支持,还需要ISP的支持。如果不清楚,则选择N。

n        PPP filtering:允许对通过PPP接口的包进行过滤。如果不清楚,则选择N。

n        PPP support for async serial ports:通过标准异步串口(COM1,COM2)使用PPP,比如使用老式的外置MODEM(非同步MODEM或ISDN MODEM)上网。如果不清楚,则选择N。

n        PPP support for sync tty ports:通过同步tty设备(比如SyncLink适配器)使用PPP,常用于高速租用线路(比如T1/E1)。如果不清楚,则选择N。

n        PPP Deflate compression:为PPP提供Deflate(等价于gzip压缩算法)压缩算法支持,需要通信双方的支持才有效。如果不清楚,则选择N。

n        PPP BSD-Compress compression:为PPP提供BSD(等价于LZW压缩算法,没有gzip高效)压缩算法支持,需要通信双方的支持才有效。如果不清楚,则选择N。

n        PPP MPPE compression(encryption):为PPP提供MPPE加密协议支持,它被用于微软的P2P隧道协议中。如果不清楚,则选择N。

n        PPP over Ethernet:这就是ADSL用户最常见的PPPoE,也就是在以太网上运行的PPP协议。如果不清楚,则选择N。

n        PPP over ATM:在ATM上运行的PPP。如果不清楚,则选择N。

n        SLIP(serial line)support:一个在串行线上(例如电话线)传输IP数据报的TCP/IP协议。小猫一族的通信协议,与宽带用户无关。如果不清楚,则选择N。

n        CSLIP compressed headers:CSLIP协议比SLIP快,它将TCP/IP头(而非数据)进行压缩传送,需要通信双方的支持才有效。如果不清楚,则选择N。

n        Keepalive and linefill:让SLIP驱动支持RELCOM linefill和keepalive监视,这在信号质量比较差的模拟线路上是个好主意。如果不清楚,则选择N。

n        Six bit SLIP encapsulation:这种线路非常罕见,在一般情况下,建议选择N。

n        Fibre Channel driver support:光纤通道。如果不清楚,则选择N。

n        Traffic Shaper:流量整形,已废弃。在一般情况下,建议选择N。

n        Network console logging support:通过网络记录内核信息。如果不清楚,则选择N。

n        Netpoll support for trapping incoming packets:在一般情况下,建议选择N。

n        Netpoll traffic trapping:在一般情况下,建议选择N。

17)ISDN subsystem

综合业务数字网(Integrated Service Digital Network)。如果不清楚,则选择N。

18)Telephony Support

VoIP支持。如果不清楚,则选择N。

19)Input device support

输入设备。包括以下子选项。

n        Generic input layer(needed for keyboard,mouse):通用输入层,如果是使用键盘鼠标的,则选择Y。如果不清楚,则选择N。

n        Support for memoryless force-feedback devices:游戏玩家使用的力反馈设备。如果不清楚,则选择N。

n        Mouse interface:鼠标接口。如果不清楚,则选择N。

n        Provide legacy/dev/psaux device:仍然支持作为传统的/dev/psaux设备。如果不清楚,则选择N。

n        Horizontal screen resolution:数字化转换器或图形输入板的水平分辨率。如果不清楚,则选择N。

n        Vertical screen resolution:数字化转换器或图形输入板的垂直分辨率。如果不清楚,则选择N。

n        Joystick interface:游戏杆。如果不使用,则选择N。

n        Touchscreen interface:触摸屏。如果不使用,则选择N。

n        Event interface:能够利用/dev/input/eventX来存取输入设备的事件。如果不清楚,则选择N。

n        Event debugging:该选项仅供调试使用。如果不清楚,则选择N。

n        Keyboards:键盘驱动,一般选个AT键盘即可。如果不清楚,则选择N。

n        Mouse:鼠标驱动,一般选个PS/2鼠标即可。如果不清楚,则选择N。

n        Joysticks:游戏杆驱动。如果不使用,则选择N。

n        Touchscreens:触摸屏驱动。如果不使用,则选择N。

n        Miscellaneous devices:其他杂项驱动,一般选个PC喇叭即可。如果不清楚,则选择N。

n        Hardware I/O ports:硬件I/O端口。如果不清楚,则选择N。

n        Serial I/O support:使用PS/2键盘或鼠标,则选择Y。如果不使用,则选择N。

n        i8042 PC Keyboard controller:PS/2接口的键盘和鼠标。如果不使用,则选择N。

n        Serial port line discipline:串口键盘或鼠标。如果不使用,则选择N。

n        ct82c710 Aux port controller:一种德州仪器TravelMate笔记本上使用QuickPort接口的鼠标。如果不使用,则选择N。

n        Parallel port keyboard adapter:并口键盘或鼠标。如果不使用,则选择N。

n        PCI PS/2 keyboard and PS/2 mouse controller:接在移动式扩展坞(Docking station)上的键盘或鼠标。如果不使用,则选择N。

n        PS/2 driver library:为PS/2接口上的设备提供驱动(比如PS/2鼠标或标准AT键盘)。如果不使用,则选择N。

n        Raw access to serio ports:在一般情况下,建议选择N。

n        Gameport support:类似早年“小霸王”游戏机上的那种手柄。如果不使用,则选择N。

20)Character devices

字符设备。包含以下子选项。

n        Virtual terminal:虚拟终端。嵌入式系统在一般情况下,建议选择N。

n        Support for console on virtual terminal:内核将一个虚拟终端用做系统控制台(将诸如模块错误、内核错误、启动信息之类的警告信息发送到这里,通常是第一个虚拟终端)。嵌入式系统在一般情况下,建议选择N。

n        Support for binding and unbinding console drivers:虚拟终端是通过控制台驱动程序与物理终端相结合的,但在某些系统上可以使用多个控制台驱动程序(如framebuffer控制台驱动程序),该选项使得可以选择其中之一。如果不清楚,则选择N。

n        Non-standard serial port support:非标准串口支持。这样的设备已废弃不用。在一般情况下,建议选择N。

n        Serial drivers:串口驱动。如果有老式的串口鼠标或小猫,则选择Y。否则选择N。

n        Unix98 PTY support:伪终端(PTY)可以模拟一个终端,它由slave(等价于一个物理终端)和master(被一个诸如xterms之类的进程用来读写slave设备)两部分组成的软设备。如果使用telnet或ssh远程登录者,则选择Y。如果不清楚,则选择N。

n        Legacy(BSD)PTY support:使用过时的BSD风格的/dev/ptyxx作为master,/dev/ttyxx作为slave。这个方案有一些安全问题,建议选择N。

n        Parallel printer support:并口打印机。如果不使用,则选择N。

n        Support for console on line printer:允许将内核信息输出到并口,这样就可以打印出来。如果不清楚,则选择N。

n        Support for user-space parallel port device drivers:/dev/parport设备支持,比如deviceid之类的程序需要使用它。在一般情况下,建议选择N。

n        Texas Instruments parallel link cable support:德州仪器生产的一种使用并行电缆的图形计算器。如果不清楚,则选择N。

n        IPMI:可以利用IPMI远程监视服务器的物理特征(温度、电压、风扇、电源、机箱入侵),它是独立于CPU、BIOS、OS的,只要接通电源就可以实现对服务器的监控。如果不清楚,则选择N。

n        IPMI top-level message handler:IPMI消息处理器,要启用IPMI远程监视,则选择Y。如果不清楚,则选择N。

n        Generate a panic event to all BMCs on a panic:当发生紧急情况(panic)时,IPMI消息处理器将会向每一个已注册的底板管理控制器(BMC)接口生成一个描述该panic的IPMI事件,这些事件可以引发日志记录、报警、重启、关机等动作。如果不清楚,则选择N。

n        Generate OEM events containing the panic string:当发生紧急情况(panic)时,IPMI消息处理器将会产生OEM类型的事件。如果不清楚,则选择N。

n        Device interface for IPMI:为IPMI消息处理器提供一个IOCTL接口,以便用户空间的进程也可以使用IPMI。如果不清楚,则选择N。

n        IPMI System Interface handler:向系统提供接口(KCS、SMIC),一般用了IPMI就需要选择Y。如果不清楚,则选择N。

n        IPMI WatchDog Timer:启用IPMI WatchDog定时器。如果不清楚,则选择N。

n        IPMI Poweroff:允许IPMI消息处理器选择N。如果不清楚,则选择N。

n        WatchDog Cards:能让系统在出现致命故障后自动重启,如果没有硬件WatchDog,建议使用Hangcheck timer而不是软件WatchDog。如果不清楚,则选择N。

n        Watchdog Timer Support:选择Y。下面的一个Driver之后,再创建一个/dev/ watchDog节点即可拥有一只WatchDog了。更多信息请参考内核帮助。如果不清楚,则选择N。

n        Disable watchDog shutdown on close:一旦WatchDog启动后就禁止将其停止。如果不清楚,则选择N。

n        Software watchDog:软件WatchDog,使用它不需要有任何硬件的支持,但是可靠性没有硬件WatchDog高。如果不清楚,则选择N。

n        Hardware Random Number Generator Core support:硬件随机数发生器内核支持。如果不清楚,则选择N。

n        Intel HW Random Number Generator support:Intel芯片组的硬件随机数发生器。如果不清楚,则选择N。

n        AMD HW Random Number Generator support:AMD芯片组的硬件随机数发生器。如果不清楚,则选择N。

n        AMD Geode HW Random Number Generator support:AMD Geode LX的硬件随机数发生器。如果不清楚,则选择N。

n        VIA HW Random Number Generator support:VIA芯片组的硬件随机数发生器。如果不清楚,则选择N。

n        /dev/nvram support:直接存取主板上CMOS的接口。可能发生安全性问题,建议选择N。

n        Enhanced Real Time Clock Support:启用该选项并创建/dev/RTC文件后就可以通过/proc/driver/RTC访问系统的硬件时钟(RTC),众多功能依赖于它(如SMP、IRQ共享、定时器)。在一般情况下,建议选择Y。

n        Double Talk PC internal speech card support:由RC Systems公司制造的一种语音合成器。如果不清楚,则选择N。

n        Siemens R3964 line discipline:与使用西门子R3964协议的设备同步通信。除非有一些诸如PLC之类的特殊设备,否则在一般情况下,建议选择N。

n        Applicom intelligent fieldbus card support:Applicom international公司生产的用于现场总线连接卡。如果不清楚,则选择N。

n        Sony Vaio Programmable I/O Control Device support:Sony VAIO笔记本上的设备。如果不清楚,则选择N。

n        Ftape,the floppy tape device driver:针对使用磁带的系统。如果不清楚,则选择N。

n        /dev/agpgart(AGP Support):AGP总线支持,有AGP显卡的还必须从子项中选取符合嵌入式系统所使用显卡型号的驱动。如果不清楚,则选择N。

n        Direct Rendering Manager:DRI允许应用程序以高效安全的方式直接访问图形处理,主要用于硬件3D加速。建议桌面用户选择此方式,同时还必须从子项中选取符合嵌入式系统所使用显卡型号的驱动。如果不清楚,则选择N。

n        PCMCIA character devices:使用PCMCIA接口的字符设备。如果不清楚,则选择N。

n        ACP Modem(Mwave)support:IBM Thinkpad上的一种软猫,一种老式产品。如果不清楚,则选择N。

n        NatSemi SCx200 GPIO Support:松下的一种通用输入、输出(GPIO)芯片。嵌入式系统一般选择Y。

n        NatSemi PC8736x GPIO Support:松下的一种通用输入、输出(GPIO)芯片。嵌入式系统一般选择Y。

n        NatSemi Base GPIO Support:松下的一种通用输入、输出(GPIO)芯片。嵌入式系统一般选择Y。

n        AMD CS5535/CS5536 GPIO:常用于AMD Geode的一种通用输入、输出(GPIO)芯片。嵌入式系统一般选择Y。

n        RAW driver(/dev/raw/rawN):一种老式设备,已废弃。在一般情况下,建议选择N。

n        HPET-High Precision Event Timer:高精度事件定时器。如果不清楚,则选择N。

n        Allow mmap of HPET:允许对HPET寄存器进行映射。在一般情况下,建议选择Y。

n        Hangcheck timer:宕机检测定时器周期性地检查系统任务调度程序,以确定系统的运行状况,如果超过阈值,计算机将重新启动。它通常可以比WatchDog更好地解决可用性和可靠性问题。如果不清楚,则选择N。

n        TPM devices:基于硬件的“可信赖平台模块”。在一般情况下,建议选择N。

n        Telecom clock driver for MPBL0010 ATCA SBC:在一般情况下,建议选择N。

21)I2C support

I2C是Philips极力推动的微控制应用中使用的低速串行总线协议,可用于监控电压、风扇转速、温度等。SMBus(系统管理总线)是I2C的子集。除硬件传感器外,Video For Linux也需要该模块的支持。包含以下子选项。

n        I2C device interface:I2C设备接口,允许用户空间的程序通过/dev/i2c-*设备文件使用I2C总线。如果不清楚,则选择N。

n        I2C Algorithms:I2C算法支持,可以全选择N。若有其他部分依赖其子项时,建议选择Y。

n        I2C Hardware Bus support:按实际硬件情况选对应的子项即可。

n        Miscellaneous I2C Chip support:其他不常见的产品,按需求选择。如果不清楚,则选择N。

n        I2C Core debugging messages:仅供调试使用。如果不清楚,则选择N。

n        I2C Algorithm debugging messages:仅供调试使用。如果不清楚,则选择N。

n        I2C Bus debugging messages:仅供调试使用。如果不清楚,则选择N。

n        I2C Chip debugging messages:仅供调试使用。如果不清楚,则选择N。

22)SPI support

串行外围接口(SPI)常用于微控制器(MCU)与外围设备(传感器、EEprom、Flash、编码器、模数转换器)之间的通信,比如MMC和SD卡就通常需要使用SPI。

23)Dallas's 1-wire bus

一线总线。如果不清楚,则选择N。

24)Hardware Monitoring support

当前主板大多都有一个监控硬件健康的设备用于监视温度、电压、风扇转速等,请按照嵌入式系统所使用主板实际使用的芯片选择相应的子项。另外,该功能还需要I2C的支持。如果不清楚,则选择N。

25)Multimedia devices

多媒体设备。包括以下子选项。

n        Video For Linux:如果是使用音频/视频设备或FM收音卡的则选择Y。此功能还需要I2C的支持。如果不清楚,则选择N。

n        Enable Video For Linux API 1:使用老旧的V4L第一版API。在一般情况下,建议选择N。

n        Enable Video For Linux API 1 compatible Layer:提供对第一版V4L的兼容。在一般情况下,建议选择N。

n        Video Capture Adapters:视频捕获卡。如果不清楚,则选择N。

n        Enable advanced debug functionality:该选项仅供调试使用。如果不清楚,则选择N。

n        Autoselect pertinent encoders/decoders and other helper chips:为视频卡自动选择所需的编码和解码模块。在一般情况下,建议选择Y。

n        Virtual Video Driver:虚拟视频卡,仅供测试视频程序和调试。如果不清楚,则选择N。

n        SAA5246A,SAA5281 Teletext processor:该选项仅面向欧洲用户,中国用户一般选择N。

n        SAA5249 Teletext processor:该选项仅面向欧洲用户,中国用户一般选择N。

n        V4L USB devices:使用USB接口的视频卡,子选项请根据嵌入式系统实际使用的视频卡选择。

n        Radio Adapters:音频卡,子选项请根据嵌入式系统实际使用的音频卡选择。

n        Digital Video Broadcasting Devices:数字视频广播设备(DVB卡或机顶盒),子选项请根据嵌入式系统实际使用的硬件选择

n        DABUSB driver:USB接口的数字音频广播设备接收器。如果不清楚,则选择N。

26)Graphics support

图形设备/显卡支持。包括以下子选项。

n        Enable firmware EDID:允许访问Video BIOS中的扩展显示器识别数据(EDID)。如果不清楚,则选择N。

n        Support for frame buffer devices:帧缓冲设备是为了让应用程序使用统一的接口操作显示设备而对硬件进行的抽象。如果不清楚,则选择N。

n        Enable Video Mode Handling Helpers:使用GTF和EDID来帮助处理显示模式,可以选择N。若有其他选项依赖于它时,则会自动选择Y。

n        Enable Tile Blitting Support:可以选择N。若有其他选项依赖于它时,会自动选择Y。

n        VGA 16-color graphics support:16色VGA显卡。如果有这样一种老式设备,则选择Y。

n        VESA VGA graphics support:符合VESA 2.0标准的显卡的通用驱动,如果显卡芯片在下面能够找到就可以选择N。

n        Virtual Frame Buffer support:仅供调试使用。

n        Console display driver support:控制台显示驱动。如果不清楚,则选择N。

n        VGA text console:文本控制台。如果不清楚,则选择N。

n        Enable Scrollback Buffer in System RAM:在内存中开辟额外的屏幕缓冲区,这将允许回滚屏幕。如果不清楚,则选择N。

n        Scrollback Buffer Size(in KB):在内存中开辟的额外屏幕缓冲区大小。如果不清楚,则选择N。

n        Video mode selection support:允许在内核启动时使用vga=选择文本模式,如果希望一行能够显示更多字符的话可以打开它。如果不清楚,则选择N。

n        MDA text console(dual-headed):如果有老式的单色显卡并且作为第二块显卡使用以实现双头显示,则选择Y。如果不清楚,则选择N。

n        Framebuffer Console support:基于Framebuffer的控制台驱动,服务器可以选择N。

n        Framebuffer Console Rotation:显示画面旋转,它可能大大降低显示速度,建议选择N。

n        Select compiled-in fonts:选择内建字体。如果不清楚,则选择N。

n        VGA 8x8 font:高分辨率下的小字体。如果不清楚,则选择N。

n        VGA 8x16 font:低分辨率下的大字体。如果不清楚,则选择N。

n        Logo configuration:启动时显示Linux的logo(一幅企鹅图像),喜欢炫一下的则选择Y。

n        Backlight&LCD device support:LCD显示器支持。如果不清楚,则选择N。

27)Sound

声卡。包括以下子选项。

n        Advanced Linux Sound Architecture:使用声卡者选择Y。

n        Sequencer support:音序器支持(MIDI必需),除非确定不需要,否则请选择Y。

n        Sequencer dummy client:除非要同时连接到多个MIDI设备或应用程序,否则一般选择N。

n        OSS Mixer API:OSS混音器API仿真,许多程序目前仍然需要使用它。在一般情况下,建议选择Y。

n        OSS PCM(digital audio)API:OSS数字录音(PCM)API模拟,许多程序目前仍然需要使用它。在一般情况下,建议选择Y。

n        OSS PCM(digital audio)API-Include plugin system:在一般情况下,建议选择N。

n        OSS Sequencer API:OSS音序器支持,许多程序目前仍然需要使用它。在一般情况下,建议选择Y。

n        RTC Timer support:为ALSA启用RTC定时器支持。在一般情况下,建议选择Y。

n        Use RTC as default sequencer timer:将RTC当做默认的时序脉冲发生器。如果不清楚,则选择N。

n        Dynamic device file minor numbers:仅供拥有多个声卡的用户选择。如果不清楚,则选择N。

n        Support old ALSA API:支持已被废弃的老版本ALSA API。如果不清楚,则选择N。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux内核配置选项是指在编译Linux内核时,可以根据需要选择不同的配置选项,以满足不同的需求。这些选项包括硬件支持、文件系统支持、网络支持、安全性等方面。通过配置选项,可以定制化自己的Linux内核,使其更加适合自己的使用环境。 ### 回答2: Linux内核配置选项Linux Kernel Configuration Options)是指用于配置Linux内核的各种选项和参数,能够控制不同硬件设备的驱动以及不同功能的开启和关闭情况等。 对于每个Linux内核版本,内核配置选项都会发生变化,因为Linux内核不断地发展和更新。一般来说,内核配置选项可以在编译Linux内核的时候进行设置,也可以通过修改/proc文件系统来进行配置。 其中,常见的内核配置选项包括: 1. 关于进程管理的配置选项,例如进程调度算法的选择(如CFS、O(1)等算法); 2. 关于内存管理的配置选项,例如内存分配策略和内存页面交换的设置; 3. 关于文件系统的配置选项,例如Ext2、Ext3、ReiserFS、XFS、Btrfs等文件系统的选择; 4. 关于网络协议的配置选项,例如TCP/IP协议族、UDP、IPX/SPX等协议的选择; 5. 关于硬件设备驱动的配置选项,例如网卡驱动程序的选择、声卡设备驱动的选择、打印机驱动程序的选择等。 总体而言,Linux内核配置选项的目的是让用户能够自由地掌控内核的不同方面,从而实现更加高效、灵活、安全和可靠的系统运行。但需要注意的是,若让内核配置选项设置得过于复杂,则可能会增加系统的运维难度,而且配置错误会给系统带来不利的影响。因此,建议用户在进行内核配置选项时,要学习和掌握内核的基本知识,根据实际需求进行选择和配置。 ### 回答3: Linux 内核配置选项是指在 Linux 内核编译时所需要设置的一些选项,这些选项可以更好地适配硬件、满足用户需求、改进系统性能等。Linux 内核有很多配置选项,下面我们将从以下几个方面来进行介绍: 1. 驱动、文件系统和网络选项Linux 内核中,驱动、文件系统和网络选项可以让内核更好地适配硬件设备和文件系统类型,以及提供更多的网络协议支持。通过配置这些选项,可以使系统更加灵活、稳定,并且可以减少系统崩溃等问题。 2. 安全模块 在安全模块中, Linux 内核提供了一些选项,以增强系统的安全性。这些选项可以对用户、文件、进程、网络等进行限制和访问控制,同时提供一些安全策略,如 SELinux、AppArmor 等。 3. 性能优化 对于需要承载高并发、高负载业务的系统,性能是非常重要的。Linux 内核提供了很多性能优化选项,包括 CPU 调度算法、内存管理、I/O 管理等。通过配置这些选项,可以提高系统的性能和处理能力。 4. 内核调试 在系统开发和维护过程中,适当的调试工具和机制是不可少的。Linux 内核提供了很多调试选项,可以帮助开发者定位和排除问题。这些选项包括调试信息、跟踪机制、内存检查等。 总的来说, Linux 内核配置选项对于开发者和系统维护者都是非常重要的。合理配置这些选项可以提高系统的稳定性、安全性和性能,同时也可以提高开发和维护的效率。但是要注意,不合理的配置选项可能会导致系统不稳定、不安全、性能下降等问题,因此需要仔细考虑和测试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值