<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="http://gentoo-zh.org/extern.php?action=feed&amp;tid=19&amp;type=rss" rel="self" type="application/rss+xml" />
		<title><![CDATA[Gentoo中文社区 / Device Drivers]]></title>
		<link>http://www.gentoo-zh.org/viewtopic.php?id=19</link>
		<description><![CDATA[Device Drivers 最近发表的帖子。]]></description>
		<lastBuildDate>Wed, 03 Aug 2022 14:38:54 +0000</lastBuildDate>
		<generator>FluxBB</generator>
		<item>
			<title><![CDATA[Device Drivers]]></title>
			<link>http://www.gentoo-zh.org/viewtopic.php?pid=19#p19</link>
			<description><![CDATA[<p>Device Drivers<br />设备驱动程序</p><p>Generic Driver Options<br />&#160; &#160; 驱动程序通用选项</p><p>&#160; &#160; Support for uevent helper</p><p>&#160; &#160; path to uevent helper<br />&#160; &#160; CONFIG_UEVENT_HELPER_PATH<br />&#160; &#160; &#160; &#160; 早年的内核(切换到基于netlink机制之前),在发生uevent事件(通常是热插拔)时,<br />&#160; &#160; &#160; &#160; 需要调用用户空间程序(通常是&quot;/sbin/hotplug&quot;),以帮助完成uevent事件的处理.<br />&#160; &#160; &#160; &#160; 此选项就是用于设定这个帮助程序的路径.由于目前的发行版都已不再需要此帮助程序,所以请保持空白.<br />&#160; &#160; Maintain a devtmpfs filesystem to mount at /dev<br />&#160; &#160; CONFIG_DEVTMPFS<br />&#160; &#160; &#160; &#160; devtmpfs是一种基于CONFIG_TMPFS的文件系统(与proc和sys有几分相似).在系统启动过程中,随着各个设备的初始化完成,内核将会自动在devtmpfs中创建相应的设备节点(使用默认的文件名和权限)并赋予正确的主次设备号.更进一步,在系统运行过程中,随着各种设备插入和拔除,内核也同样会自动在devtmpfs中创建和删除的相应的设备节点(使用默认的文件名和权限)并赋予正确的主次设备号.如果将devtmpfs挂载到&quot;/dev&quot;目录(通常是系统启动脚本),那么便拥有了一个全自动且全功能的&quot;/dev&quot;目录,而且用户空间程序(通常是udevd)还可以对其中的内容进行各种修改(增删节点,改变权限,创建符号链接).目前的发行版和各种嵌入式系统基本都依赖于此,除非你知道自己在做什么,否则请选&quot;Y&quot;.</p><p>&#160; &#160; &#160; &#160; Automount devtmpfs at /dev, after the kernel mounted the rootfs<br />&#160; &#160; &#160; &#160; CONFIG_DEVTMPFS_MOUNT<br />&#160; &#160; &#160; &#160; &#160; &#160; 在内核挂载根文件系统的同时,立即自动将devtmpfs挂载到&quot;/dev&quot;目录.因为此时init进程都还尚未启动,所以这就确保在进入用户空间之前,所有设备文件就都已经准备完毕.开启此选项相当于设置内核引导参数&quot;devtmpfs.mount=1&quot;,关闭此选项相当于设置内核引导参数&quot;devtmpfs.mount=0&quot;.开启此项后,你就可以放心的使用&quot;init=/bin/sh&quot;直接进入救援模式,而不必担心&quot;/dev&quot;目录空无一物.注意:此选项并不影响基于initramfs的启动,此种情况下,devtmpfs必须被手动挂载.所以,如果你的系统使用initrd或者有专门的启动脚本用于挂载&quot;/dev&quot;目录(大多数发行版都有这样的脚本),或者你看了前面的解释,还是不确定,那就选&quot;N&quot;.对于实在想要使用&quot;init=/bin/sh&quot;直接进入救援模式的人来说,还是使用&quot;init=/bin/sh devtmpfs.mount=1&quot;吧!</p><p>&#160; &#160; Select only drivers that don&#039;t need compile-time external firmware<br />&#160; &#160; CONFIG_STANDALONE<br />&#160; &#160; &#160; &#160; 只显示那些编译时不需要额外固件支持的驱动程序,除非你有某些怪异硬件,否则请选&quot;Y&quot;.<br />&#160; &#160; Prevent firmware from being built<br />&#160; &#160; CONFIG_PREVENT_FIRMWARE_BUILD<br />&#160; &#160; &#160; &#160; 不编译固件(firmware).固件一般是随硬件的驱动程序提供的,仅在更新固件的时候才需要重新编译.建议选&quot;Y&quot;.<br />&#160; &#160; Userspace firmware loading support<br />&#160; &#160; CONFIG_FW_LOADER<br />&#160; &#160; &#160; &#160; 用户空间固件加载支持.如果内核自带的模块需要它,它将会被自动选中.但某些内核树之外的模块也可能需要它,这时候就需要你根据实际情况手动开启了.</p><p>&#160; &#160; &#160; &#160; Include in-kernel firmware blobs in kernel binary<br />&#160; &#160; &#160; &#160; CONFIG_FIRMWARE_IN_KERNEL<br />&#160; &#160; &#160; &#160; &#160; &#160; 内核源码树中包含了许多驱动程序需要的二进制固件(blob),推荐的方法是通过&quot;make firmware_install&quot;将&quot;firmware&quot;目录中所需的固件复制到系统的&quot;/lib/firmware/&quot;目录中,然后由用户空间帮助程序在需要的时候进行加载.开启此项后,将会把所需的&quot;blob&quot;直接编译进内核,这样就可以无需用户空间程序的帮助,而直接使用这些固件了(例如:当根文件系统依赖于此类固件,而你又不想使用initrd的时候).每个需要此类二进制固件的驱动程序,都会有一个&quot;Include firmware for xxx device&quot;的选项,如果此处选&quot;Y&quot;,那么这些选项都将被隐藏.建议选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; External firmware blobs to build into the kernel binary<br />&#160; &#160; &#160; &#160; CONFIG_EXTRA_FIRMWARE<br />&#160; &#160; &#160; &#160; &#160; &#160; 指定要额外编译进内核的二进制固件(blob).此选项的值是一个空格分隔的固件文件名字符串,这些文件必须位于CONFIG_EXTRA_FIRMWARE_DIR目录中(其默认值是内核源码树下的&quot;firmware&quot;目录).<br />&#160; &#160; &#160; &#160; Firmware blobs root directory<br />&#160; &#160; &#160; &#160; CONFIG_EXTRA_FIRMWARE_DIR<br />&#160; &#160; &#160; &#160; &#160; &#160; 指定CONFIG_EXTRA_FIRMWARE中列出的文件位于哪个目录.默认值是当前内核源码树下的&quot;firmware&quot;目录.若有需要,你也可以修改成其他目录(例如&quot;/lib/firmware/&quot;).</p><p>&#160; &#160; Fallback user-helper invocation for firmware loading<br />&#160; &#160; CONFIG_FW_LOADER_USER_HELPER<br />&#160; &#160; &#160; &#160; 在内核自己直接加载固件失败后,作为补救措施,调用用户空间帮助程序(通常是udev)再次尝试加载.<br />&#160; &#160; &#160; &#160; 通常这个动作是不必要的,因此应该选&quot;N&quot;.仅在某些特殊的固件位于非标准位置时,才需要选&quot;Y&quot;.</p><p>&#160; &#160; Allow device coredump<br />&#160; &#160; &#160; &#160; 允许设备coredump<br />&#160; &#160; &#160; &#160;<br />&#160; &#160; Driver Core verbose debug messages<br />&#160; &#160; CONFIG_DEBUG_DRIVER<br />&#160; &#160; &#160; &#160; 让驱动程序核心在系统日志中产生冗长的调试信息,仅供调试<br />&#160; &#160; &#160; &#160;<br />&#160; &#160; Managed device resources verbose debug messages<br />&#160; &#160; CONFIG_DEBUG_DEVRES<br />&#160; &#160; &#160; &#160; 为内核添加一个&quot;devres.log&quot;引导参数.当被设为非零值时,<br />&#160; &#160; &#160; &#160; 将会打印出设备资源管理驱动(devres)的调试信息.仅供调试使用.</p><p>&#160; &#160; Test driver remove calls during probe<br />&#160; &#160; &#160; &#160; 测试驱动程序在探测期间删除呼<br />&#160; &#160; &#160; &#160;<br />&#160; &#160; Build kernel module to test asynchronous driver probing<br />&#160; &#160; &#160; &#160; 构建内核模块以测试异步驱动程序探测<br />&#160; &#160; &#160; &#160;<br />&#160; &#160; Enable verbose DMA_FENCE_TRACE messages<br />&#160; &#160; &#160; &#160; nable详细的DMA_FENCE_TRACE消息<br />&#160; &#160; &#160; &#160;<br />&#160; &#160; Contiguous Memory Allocator<br />&#160; &#160; CONFIG_CMA<br />&#160; &#160; &#160; &#160; 在使用ARM等嵌入式Linux系统的时候,GPU,Camera,HDMI等都需要预留大量连续内存,<br />&#160; &#160; &#160; &#160; 这部分内存平时不用,但是传统的做法又必须先预留着.<br />&#160; &#160; &#160; &#160; 而通过连续内存分配器(Contiguous Memory Allocator)可以做到不预留内存,<br />&#160; &#160; &#160; &#160; 仅在需要的时候才将大块的连续物理内存分配给相应的驱动程序.<br />&#160; &#160; &#160; &#160; 这个机制对于那些不支持I/O map和scatter-gather的设备很有作用.<br />&#160; &#160; &#160; &#160; 详情参见&quot;include/linux/dma-contiguous.h&quot;文件,不确定的选&quot;N&quot;.</p><p>Bus devices<br />&#160; &#160; 总线设备.此类设备仅出现在ARM平台.<br />&#160; &#160;<br />Connector - unified userspace &lt;-&gt; kernelspace linker<br />CONFIG_CONNECTOR<br />&#160; &#160; 统一的用户空间和内核空间连接器,工作在netlink socket协议的顶层.连接器是非常便利的用户态与内核态的通信方式,内核开发者在编写内核子系统或模块时可以采用这种方式方便地进行用户态与内核态的数据交换.内核有两个连接器应用实例:一个是进程事件连接器,另一个是CIFS文件系统.另外还有一个给Gentoo装上启动画面的例子.</p><p>&#160; &#160; Report process events to userspace<br />&#160; &#160; CONFIG_PROC_EVENTS<br />&#160; &#160; &#160; &#160; 提供一个向用户空间报告进程事件(fork,exec,id变化(uid,gid,suid))的连接器.</p><p>Memory Technology Device (MTD) support<br />CONFIG_MTD<br />&#160; &#160; MTD子系统是一个闪存转换层.其主要目的是提供一个介于闪存硬件驱动程序与高级应用程序之间的抽象层,以简化闪存设备的驱动.注意:MTD常用于嵌入式系统,而我们常见的U盘/MMC卡/SD卡/CF卡等移动存储设备以及固态硬盘(SSD),虽然也叫&quot;flash&quot;,但它们并不是使用MTD技术的存储器.仅在你需要使用主设备号为31的MTD块设备(/dev/romX,/dev/rromX,/dev/flashX,/dev/rflashX),或者主设备号为90的MTD字符设备(/dev/mtdX,/dev/mtdrX)时选&quot;Y&quot;,否则选&quot;N&quot;.<br />&#160; &#160;<br />Device Tree and Open Firmware support<br />&#160; &#160; 设备树和开放固件支持<br />&#160; &#160;<br />Parallel port support<br />CONFIG_PARPORT<br />&#160; &#160; 25针并口(LPT接口)支持.古董级的打印机或扫描仪可能使用这种接口.目前已被淘汰.<br />&#160; &#160;<br />Plug and Play support<br />CONFIG_PNP<br />&#160; &#160; 即插即用(PnP)支持.选&quot;Y&quot;表示让Linux为PnP设备分配中断和I/O端口(需要在BIOS中开启&quot;PnP OS&quot;),<br />&#160; &#160; 选&quot;N&quot;则表示让BIOS来分配(需要在BIOS中关闭&quot;PnP OS&quot;).建议选&quot;Y&quot;.</p><p>&#160; &#160; PNP debugging messages<br />&#160; &#160; CONFIG_PNP_DEBUG_MESSAGES<br />&#160; &#160; &#160; &#160; 允许使用&quot;pnp.debug&quot;内核参数在系统启动过程中输出PnP设备的调试信息,建议选&quot;N&quot;.</p><p>Block devices<br />CONFIG_BLK_DEV<br />&#160; &#160; 块设备,建议选&quot;Y&quot;.<br />&#160; &#160; Null test block driver<br />&#160; &#160; &#160; &#160; 空测试块驱动程序<br />&#160; &#160; Normal floppy disk support<br />&#160; &#160; CONFIG_BLK_DEV_FD<br />&#160; &#160; &#160; &#160; 通用软驱支持.已被时代抛弃的设备<br />&#160; &#160; Parallel port IDE device support<br />&#160; &#160; CONFIG_PARIDE<br />&#160; &#160; &#160; &#160; 通过并口与计算机连接的IDE设备,比如某些老旧的外接光驱或硬盘之类.此类设备早就绝种了<br />&#160; &#160; Block Device Driver for Micron PCIe SSDs<br />&#160; &#160; CONFIG_BLK_DEV_PCIESSD_MTIP32XX<br />&#160; &#160; &#160; &#160; Micron P320/P325/P420/P425 系列固态硬盘支持<br />&#160; &#160; Compaq SMART2 support<br />&#160; &#160; CONFIG_BLK_CPQ_DA<br />&#160; &#160; &#160; &#160; 基于 Compaq SMART2 控制器的磁盘阵列卡<br />&#160; &#160; Compaq Smart Array 5xxx support<br />&#160; &#160; CONFIG_BLK_CPQ_CISS_DA<br />&#160; &#160; &#160; &#160; 基于 Compaq Smart 控制器的磁盘阵列卡<br />&#160; &#160; SCSI tape drive support for Smart Array 5xxx<br />&#160; &#160; CONFIG_CISS_SCSI_TAPE<br />&#160; &#160; &#160; &#160; 在基于 Compaq Smart 控制器的磁盘阵列卡上使用的磁带机<br />&#160; &#160; Mylex DAC960/DAC1100 PCI RAID Controller support<br />&#160; &#160; CONFIG_BLK_DEV_DAC960<br />&#160; &#160; &#160; &#160; Mylex DAC960, AcceleRAID, eXtremeRAID PCI RAID 控制器.很古董的设备了.<br />&#160; &#160; Micro Memory MM5415 Battery Backed RAM support<br />&#160; &#160; CONFIG_BLK_DEV_UMEM<br />&#160; &#160; &#160; &#160; 一种使用电池做后备电源的内存,但被用作块设备,可以像硬盘一样被分区<br />&#160; &#160; Loopback device support<br />&#160; &#160; CONFIG_BLK_DEV_LOOP<br />&#160; &#160; &#160; &#160; loop是指拿文件来模拟块设备(/dev/loopX),比如可以将一个iso9660镜像文件当成文件系统来挂载.建议选&quot;Y&quot;.<br />&#160; &#160; &#160; &#160; Number of loop devices to pre-create at init time<br />&#160; &#160; &#160; &#160; CONFIG_BLK_DEV_LOOP_MIN_COUNT<br />&#160; &#160; &#160; &#160; &#160; &#160; 系统预先初始化的loop设备个数.此值可以通过内核引导参数&quot;loop.max_loop&quot;修改.<br />&#160; &#160; &#160; &#160; &#160; &#160; 如果你使用util-linux-2.21以上版本,建议设为&quot;0&quot;(loop设备将通过/dev/loop-control动态创建),<br />&#160; &#160; &#160; &#160; &#160; &#160; 否则保持默认值即可.<br />&#160; &#160; &#160; &#160; Cryptoloop Support<br />&#160; &#160; &#160; &#160; CONFIG_BLK_DEV_CRYPTOLOOP<br />&#160; &#160; &#160; &#160; &#160; &#160; 使用系统提供的CryptoAPI对loop设备加密.<br />&#160; &#160; &#160; &#160; &#160; &#160; 注意:因为不能在Cryptoloop上创建日志型文件系统(CONFIG_DM_CRYPT模块可以),<br />&#160; &#160; &#160; &#160; &#160; &#160; 所以Cryptoloop已经逐渐淡出了.建议选&quot;N&quot;.<br />&#160; &#160; DRBD Distributed Replicated Block Device support<br />&#160; &#160; CONFIG_BLK_DEV_DRBD<br />&#160; &#160; &#160; &#160; DRBD(Distributed Replicated Block Device)是一种分布式储存系统.DBRD处于文件系统之下,比文件系统更加靠近操作系统内核及IO栈.DRBD类似RAID1磁盘阵列,只不过RAID1是在同一台电脑内,而DRBD是透过网络.注意:为了进行连接认证,你还需要选中CONFIG_CRYPTO_HMAC以及相应的哈希算法.不确定的选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; DRBD fault injection<br />&#160; &#160; &#160; &#160; CONFIG_DRBD_FAULT_INJECTION<br />&#160; &#160; &#160; &#160; &#160; &#160; 模拟IO错误,以用于测试DRBD的行为.主要用于调试目的<br />&#160; &#160; Network block device support<br />&#160; &#160; CONFIG_BLK_DEV_NBD<br />&#160; &#160; &#160; &#160; 让你的电脑成为网络块设备的客户端,也就是可以挂载远程服务器通过TCP/IP网络提供的块设备<br />&#160; &#160; &#160; &#160; (/dev/ndX).提示:这与NFS或Coda没有任何关系.更多详情参见&quot;Documentation/blockdev/nbd.txt&quot;.不确定的选&quot;N&quot;.<br />&#160; &#160; NVM Express block device<br />&#160; &#160; CONFIG_BLK_DEV_NVME<br />&#160; &#160; &#160; &#160; NVM Express是专门针对PCI-E接口高性能固态硬盘的标准规范.<br />&#160; &#160; &#160; &#160; 有了这一标准,操作系统厂商只需要编写一种驱动,就可以支持不同厂商的不同<br />&#160; &#160; &#160; &#160; PCI-E SSD设备,以解决目前PCI-E SSD产品形态与规格五花八门,缺乏通用性和互用性的问题.<br />&#160; &#160; OSD object-as-blkdev support<br />&#160; &#160; CONFIG_BLK_DEV_OSD<br />&#160; &#160; &#160; &#160; 允许将一个单独的 SCSI OSD(Object-Based Storage Devices) 对象当成普通的块设备来使用.举例来说,<br />&#160; &#160; &#160; &#160; 你可以在OSD设备上创建一个2G大小的对象,<br />&#160; &#160; &#160; &#160; 然后通过本模块将其模拟成一个2G大小的块设备使用.不确定的选&quot;N&quot;.<br />&#160; &#160; STEC S1120 Block Driver<br />&#160; &#160; &#160; &#160; STEC S1120块驱动器<br />&#160; &#160; Promise SATA SX8 support<br />&#160; &#160; CONFIG_BLK_DEV_SX8<br />&#160; &#160; &#160; &#160; 基于Promise公司的SATA SX8控制器的RAID卡<br />&#160; &#160; RAM block device support<br />&#160; &#160; CONFIG_BLK_DEV_RAM<br />&#160; &#160; &#160; &#160; 内存中的虚拟磁盘,大小固定.详情参阅&quot;Documentation/blockdev/ramdisk.txt&quot;.<br />&#160; &#160; &#160; &#160; 由于其功能比CONFIG_TMPFS弱许多,使用上也不方便,所以除非你有明确的理由,<br />&#160; &#160; &#160; &#160; 否则应该选&quot;N&quot;,并转而使用CONFIG_TMPFS.<br />&#160; &#160; &#160; &#160; Default number of RAM disks<br />&#160; &#160; &#160; &#160; CONFIG_BLK_DEV_RAM_COUNT<br />&#160; &#160; &#160; &#160; &#160; &#160; 默认RAM disk的数量.请保持默认值,除非你知道自己在做什么.<br />&#160; &#160; &#160; &#160; Default RAM disk size (kbytes)<br />&#160; &#160; &#160; &#160; CONFIG_BLK_DEV_RAM_SIZE<br />&#160; &#160; &#160; &#160; &#160; &#160; 默认RAM disk的大小.请保持默认值,除非你知道自己在做什么.<br />&#160; &#160; &#160; &#160; Support XIP filesystems on RAM block device<br />&#160; &#160; &#160; &#160; CONFIG_BLK_DEV_XIP<br />&#160; &#160; &#160; &#160; &#160; &#160; XIP(eXecute In Place)支持(指应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中).<br />&#160; &#160; &#160; &#160; &#160; &#160; 一般用于嵌入式设备.<br />&#160; &#160; Packet writing on CD/DVD media<br />&#160; &#160; CONFIG_CDROM_PKTCDVD<br />&#160; &#160; &#160; &#160; CD/DVD刻录机支持.详情参见&quot;Documentation/cdrom/packet-writing.txt&quot;文档<br />&#160; &#160; &#160; &#160; Free buffers for data gathering<br />&#160; &#160; &#160; &#160; CONFIG_CDROM_PKTCDVD_BUFFERS<br />&#160; &#160; &#160; &#160; &#160; &#160; 用于收集写入数据的缓冲区个数(每个占用64Kb内存),缓冲区越多性能越好.<br />&#160; &#160; &#160; &#160; Enable write caching<br />&#160; &#160; &#160; &#160; CONFIG_CDROM_PKTCDVD_WCACHE<br />&#160; &#160; &#160; &#160; &#160; &#160; 为CD-R/W设备启用写入缓冲,目前这是一个比较危险的选项.建议关闭.<br />&#160; &#160; ATA over Ethernet support<br />&#160; &#160; CONFIG_ATA_OVER_ETH<br />&#160; &#160; &#160; &#160; 以太网ATA设备(ATA over Ethernet)支持.<br />&#160; &#160; Xen virtual block device support<br />&#160; &#160; CONFIG_XEN_BLKDEV_FRONTEND<br />&#160; &#160; &#160; &#160; XEN虚拟块设备前端驱动.此驱动用于与实际驱动块设备的后端驱动(通常位于domain0)通信.<br />&#160; &#160; Xen block-device backend driver<br />&#160; &#160; CONFIG_XEN_BLKDEV_BACKEND<br />&#160; &#160; &#160; &#160; XEN块设备后端驱动(通常位于domain0)允许内核将实际的块设备通过高性能的共享内存接口导出给<br />&#160; &#160; &#160; &#160; 其他客户端的前端驱动(通常位于非domain0)使用.<br />&#160; &#160; Virtio block driver<br />&#160; &#160; CONFIG_VIRTIO_BLK<br />&#160; &#160; &#160; &#160; Virtio虚拟块设备驱动.它可以用于KVM或XEN这类基于lguest或QEMU的VMM(Virtual Machine Monitor).<br />&#160; &#160; &#160; &#160; SCSI passthrough request for the Virtio block driver<br />&#160; &#160; &#160; &#160; &#160; &#160; Virtio块驱动程序的SCSI直通请求<br />&#160; &#160; Very old hard disk (MFM/RLL/IDE) driver<br />&#160; &#160; CONFIG_BLK_DEV_HD<br />&#160; &#160; &#160; &#160; 又老又旧的MFM/RLL/ESDI硬盘驱动.无需犹豫,选&quot;N&quot;.<br />&#160; &#160; Rados block device (RBD)<br />&#160; &#160; CONFIG_BLK_DEV_RBD<br />&#160; &#160; &#160; &#160; rados块设备(rbd)支持.它可以与分布式文件系统Ceph合作,也能独立工作.<br />&#160; &#160; IBM FlashSystem 70/80 PCIe SSD Device Driver<br />&#160; &#160; CONFIG_BLK_DEV_RSXX<br />&#160; &#160; &#160; &#160; IBM FlashSystem 70/80 PCIe SSD 驱动<br />&#160; &#160; IBM Flash Adapter 900GB Full Height PCIe Device Driver<br />&#160; &#160; &#160; &#160; IBM闪存适配器900GB全高PCIe设备驱动程序<br />&#160; &#160; &#160; &#160;<br />Misc devices<br />&#160; &#160; 杂项设备</p><p>&#160; &#160; {省略的部分请按照实际的硬件状况进行选择}<br />&#160; &#160; Integrated Circuits ICS932S401<br />&#160; &#160; CONFIG_ICS932S401<br />&#160; &#160; &#160; &#160; IDT ICS932S401 系列时钟频率控制芯片支持(可能会出现在某些主板上).<br />&#160; &#160; Enclosure Services<br />&#160; &#160; CONFIG_ENCLOSURE_SERVICES<br />&#160; &#160; &#160; &#160; SES(SCSI Enclosure Services)是一项目前大多数移动硬盘盒/硬盘托架/电脑主板都支持的硬件控制命令服务,<br />&#160; &#160; &#160; &#160; SES可以让主机端透过SCSI命令去控制外接盒内的电源/冷却装置以及其他与数据传输无关的东西.<br />&#160; &#160; &#160; &#160; 要使用这项技术,外置硬盘盒和主机上的SCSI/ATA芯片都需要支持SES技术才OK.<br />&#160; &#160; VMware Balloon Driver<br />&#160; &#160; CONFIG_VMWARE_BALLOON<br />&#160; &#160; &#160; &#160; VMware物理内存balloon驱动.参见CONFIG_BALLOON_COMPACTION选项.<br />&#160; &#160; Generic on-chip SRAM driver<br />&#160; &#160; CONFIG_SRAM<br />&#160; &#160; &#160; &#160; 许多SoC系统都有芯片内嵌的SRAM.开启此项后,就可以声明将此段内存范围交给通用内存分配器<br />&#160; &#160; &#160; &#160; (genalloc)管理.不确定的选&quot;N&quot;.<br />&#160; &#160; EEPROM support<br />&#160; &#160; &#160; &#160; EEPROM主要用于保存主板或板卡的BIOS,<br />&#160; &#160; &#160; &#160; 如果你想通过此Linux系统刷写BIOS可以考虑开启相应的子项.不确定的全部选&quot;N&quot;.<br />&#160; &#160; Intel Management Engine Interface<br />&#160; &#160; CONFIG_INTEL_MEI<br />&#160; &#160; &#160; &#160; Intel芯片组管理引擎,介于固件和系统驱动之间,类似于一种接口(Interface),<br />&#160; &#160; &#160; &#160; 帮助系统和固件之间交互.如果你的芯片组位于&quot;CONFIG_INTEL_MEI_ME&quot;中,可以选&quot;Y&quot;,不过其实也没有多少实际意义.<br />&#160; &#160; ME Enabled Intel Chipsets<br />&#160; &#160; CONFIG_INTEL_MEI_ME<br />&#160; &#160; &#160; &#160; 请根据帮助中列出的芯片组对照实际情况选择.<br />&#160; &#160; VMware VMCI Driver<br />&#160; &#160; CONFIG_VMWARE_VMCI<br />&#160; &#160; &#160; &#160; VMware VMCI(Virtual Machine Communication Interface)是一个在host和guest之间以及同一host上的guest和guest之间进行高速通信的虚拟设备.VMCI主要是提供一个接口让guest内的程序来调用,通过这个接口能在一个主机上的多个虚拟机之间进行直接的通信,而且无需经过更上层的其他途径,这样将有效地降低网络通信所产生的开支,但是这需要修改虚拟机上的软件,所以VMCI只适用于对虚拟机间通信要求非常高的情况.不确定的选&quot;N&quot;.</p><p>ATA/ATAPI/MFM/RLL support (DEPRECATED)<br />CONFIG_IDE<br />&#160; &#160; 已被废弃的IDE硬盘和ATAPI光驱等接口的驱动(已被CONFIG_ATA取代).选&quot;N&quot;,<br />&#160; &#160; 除非你确实知道自己在干什么.<br />SCSI device support<br />&#160; &#160; SCSI子系统</p><p>&#160; &#160; RAID Transport Class<br />&#160; &#160; CONFIG_RAID_ATTRS<br />&#160; &#160; &#160; &#160; 这只是用来得到RAID信息以及将来可能用于配置RAID方式的一个类.<br />&#160; &#160; &#160; &#160; 不管你的系统使用的是哪种RAID,都可以放心的关闭此项.不确定的选&quot;N&quot;.<br />&#160; &#160; SCSI device support<br />&#160; &#160; CONFIG_SCSI<br />&#160; &#160; &#160; &#160; SCSI协议支持.有任何SCSI/SAS/SATA/USB/Fibre Channel/FireWire设备之一就必须选上.选&quot;Y&quot;.<br />&#160; &#160; SCSI target support<br />&#160; &#160; CONFIG_SCSI_TGT<br />&#160; &#160; &#160; &#160; 内核态的通用SCSI Target实现(原LIO项目).SCSI子系统使用了一种客户机-服务器(C/S)模型.通常,一台计算机是这个模型中的客户机(称为&quot;initiator&quot;),向目标(target)发起块操作请求,这个&quot;target&quot;通常是一个存储设备(例如一块硬盘).此模块的功能是将一台计算机变成一个&quot;target&quot;(就像一个普通的硬盘一样),响应其他&quot;initiator&quot;节点的操作请求,从而让&quot;target&quot;能够提供更加高级的功能:复制,自动精简配置,重复数据删除,高可用性,自动备份等.不确定的选&quot;N&quot;.<br />&#160; &#160; legacy /proc/scsi/ support<br />&#160; &#160; CONFIG_SCSI_PROC_FS<br />&#160; &#160; &#160; &#160; 过时的/proc/scsi/接口.某些老旧的刻录程序可能需要它,建议选&quot;N&quot;.<br />&#160; &#160; SCSI disk support<br />&#160; &#160; CONFIG_BLK_DEV_SD<br />&#160; &#160; &#160; &#160; 使用SCSI/SAS/SATA/PATA/USB/Fibre Channel存储设备的必选.选&quot;Y&quot;.<br />&#160; &#160; SCSI tape support<br />&#160; &#160; CONFIG_CHR_DEV_ST<br />&#160; &#160; &#160; &#160; 通用SCSI磁带驱动<br />&#160; &#160; SCSI OnStream SC-x0 tape support<br />&#160; &#160; CONFIG_CHR_DEV_OSST<br />&#160; &#160; &#160; &#160; 专用于OnStream SC-x0/USB-x0/DI-x0的SCSI磁带/USB盘驱动<br />&#160; &#160; SCSI CDROM support<br />&#160; &#160; CONFIG_BLK_DEV_SR<br />&#160; &#160; &#160; &#160; 通过SCSI/FireWire/USB/SATA/IDE接口连接的DVD/CD驱动器(基本上涵盖了所有常见的接口).<br />&#160; &#160; &#160; &#160; Enable vendor-specific extensions (for SCSI CDROM)<br />&#160; &#160; &#160; &#160; CONFIG_BLK_DEV_SR_VENDOR<br />&#160; &#160; &#160; &#160; &#160; &#160; 仅在某些古董级的SCSI CDROM设备上才需要:NEC/TOSHIBA cdrom, HP Writers<br />&#160; &#160; SCSI generic support<br />&#160; &#160; CONFIG_CHR_DEV_SG<br />&#160; &#160; &#160; &#160; 通用SCSI协议(/dev/sg*)支持.也就是除硬盘/光盘/磁带之外的SCSI设备(例如光纤通道).<br />&#160; &#160; &#160; &#160; 这些设备还需要额外的用户层工具支持才能正常工作.例如:SANE,Cdrtools,CDRDAO,Cdparanoia<br />&#160; &#160; SCSI media changer support<br />&#160; &#160; CONFIG_CHR_DEV_SCH<br />&#160; &#160; &#160; &#160; SCSI介质转换设备(SCSI Medium Changer device)<br />&#160; &#160; &#160; &#160; 是一种控制多个SCSI介质的转换器(例如在多个磁带/光盘之间进行切换),<br />&#160; &#160; &#160; &#160; 常用于控制磁带库或者CD自动点歌机(jukeboxes).<br />&#160; &#160; &#160; &#160; 此种设备会在/proc/scsi/scsi中以&quot;Type: Medium Changer&quot;列出.控制此类设备的用户层工具包是scsi-changer.<br />&#160; &#160; &#160; &#160; 更多细节参见&quot;Documentation/scsi/scsi-changer.txt&quot;文档.不确定的选&quot;N&quot;.<br />&#160; &#160; SCSI Enclosure Support<br />&#160; &#160; CONFIG_SCSI_ENCLOSURE<br />&#160; &#160; &#160; &#160; &quot;Enclosure&quot;是一种用于管理SCSI设备的背板装置.比如移动硬盘盒就是一种常见的&quot;Enclosure&quot;设备.<br />&#160; &#160; &#160; &#160; 此项主要用于向用户层报告一些&quot;Enclosure&quot;设备的状态,这些状态对于SCSI设备的正常运行并非必须.<br />&#160; &#160; &#160; &#160; 此项依赖于CONFIG_ENCLOSURE_SERVICES选项.<br />&#160; &#160; Probe all LUNs on each SCSI device<br />&#160; &#160; CONFIG_SCSI_MULTI_LUN<br />&#160; &#160; &#160; &#160; 默认强制在每个SCSI设备上探测所有的逻辑设备数量(Logical Unit Number),<br />&#160; &#160; &#160; &#160; 其值会被该模块的内核引导参数&quot;max_luns&quot;覆盖.<br />&#160; &#160; &#160; &#160; 只在一个SCSI设备上有多个逻辑设备时才需要选它,一般的SCSI设备并不需要.<br />&#160; &#160; &#160; &#160; 一个SCSI设备上有多个逻辑设备的典型例子:多口USB读卡器,CD点唱机(jukebox),<br />&#160; &#160; &#160; &#160; 处于&quot;mass storage&quot;模式的智能手机,量产为多个设备后的U盘.<br />&#160; &#160; &#160; &#160; 注意:此项并不影响符合SCSI-3或更高标准的设备,因为这些设备会明确的向内核报告逻辑设备数.<br />&#160; &#160; Verbose SCSI error reporting (kernel size +=12K)<br />&#160; &#160; CONFIG_SCSI_CONSTANTS<br />&#160; &#160; &#160; &#160; 以易读的方式报告SCSI错误,内核将会增大12K<br />&#160; &#160; SCSI logging facility<br />&#160; &#160; CONFIG_SCSI_LOGGING<br />&#160; &#160; &#160; &#160; 启用SCSI日志(默认并不开启,需要&quot;echo [bitmask] &gt; /proc/sys/dev/scsi/logging_level&quot;),<br />&#160; &#160; &#160; &#160; 可用于跟踪和捕获SCSI设备的错误.<br />&#160; &#160; &#160; &#160; 关于[bitmask]的说明可以查看&quot;drivers/scsi/scsi_logging.h&quot;文件.<br />&#160; &#160; Asynchronous SCSI scanning<br />&#160; &#160; CONFIG_SCSI_SCAN_ASYNC<br />&#160; &#160; &#160; &#160; 异步扫描的意思是,在内核引导过程中,SCSI子系统可以在不影响其他子系统引导的同时进行SCSI设备的探测(包括同时在多个总线上进行检测),这样可以加快系统的引导速度.但是如果SCSI设备驱动被编译为模块,那么异步扫描将会导致内核引导出现问题(解决方法是加载scsi_wait_scan模块,或者使用&quot;scsi_mod.scan=sync&quot;内核引导参数).不确定的选&quot;N&quot;.<br />&#160; &#160; SCSI Transports<br />&#160; &#160; &#160; &#160; SCSI接口类型,下面的子项可以全不选,内核中若有其他部分依赖它,会自动选上</p><p>&#160; &#160; &#160; &#160; Parallel SCSI (SPI) Transport Attributes<br />&#160; &#160; &#160; &#160; CONFIG_SCSI_SPI_ATTRS<br />&#160; &#160; &#160; &#160; &#160; &#160; 传统的并行SCSI(Ultra320/160之类),已逐渐被淘汰<br />&#160; &#160; &#160; &#160; FiberChannel Transport Attributes<br />&#160; &#160; &#160; &#160; CONFIG_SCSI_FC_ATTRS<br />&#160; &#160; &#160; &#160; &#160; &#160; 光纤通道接口</p><p>&#160; &#160; &#160; &#160; &#160; &#160; SCSI target support for FiberChannel Transport Attributes<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SCSI_FC_TGT_ATTRS<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 为光纤通道添加&quot;target&quot;模式驱动</p><p>&#160; &#160; &#160; &#160; iSCSI Transport Attributes<br />&#160; &#160; &#160; &#160; CONFIG_SCSI_ISCSI_ATTRS<br />&#160; &#160; &#160; &#160; &#160; &#160; iSCSI协议是利用TCP/IP网络传送SCSI命令和数据的I/O技术<br />&#160; &#160; &#160; &#160; SAS Transport Attributes<br />&#160; &#160; &#160; &#160; CONFIG_SCSI_SAS_ATTRS<br />&#160; &#160; &#160; &#160; &#160; &#160; 串行SCSI传输属性支持(SAS对于SPI的关系犹如SATA对于IDE),这是目前的主流接口<br />&#160; &#160; &#160; &#160; SAS Domain Transport Attributes<br />&#160; &#160; &#160; &#160; CONFIG_SCSI_SAS_LIBSAS<br />&#160; &#160; &#160; &#160; &#160; &#160; 为使用了SAS Domain架构的驱动程序提供帮助.SAS Domain即整个SAS交换构架,由&quot;SAS device&quot;和&quot;SAS expander device&quot;组成,其中Device又区分为Initiator和Target,它们可以直接对接起来,也可以经过Expander进行连接,Expander起到通道交换或者端口扩展的作用.看不懂就说明你不需要它.</p><p>&#160; &#160; &#160; &#160; &#160; &#160; ATA support for libsas (requires libata)<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SCSI_SAS_ATA<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 在libsas中添加ATA支持,从而让libata和libsas协同工作.<br />&#160; &#160; &#160; &#160; &#160; &#160; Support for SMP interpretation for SAS hosts<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SCSI_SAS_HOST_SMP<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 在libsas中添加SMP解释器,以允许主机支持SAS SMP协议.</p><p>&#160; &#160; &#160; &#160; SRP Transport Attributes<br />&#160; &#160; &#160; &#160; CONFIG_SCSI_SRP_ATTRS<br />&#160; &#160; &#160; &#160; &#160; &#160; SCSI RDMA 协议(SCSI RDMA Protocol)通过将SCSI数据传输阶段映射到Infiniband<br />&#160; &#160; &#160; &#160; &#160; &#160; 远程直接内存访问(Remote Direct Memory Access)操作加速了SCSI协议.</p><p>&#160; &#160; &#160; &#160; &#160; &#160; SCSI target support for SRP Transport Attributes<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SCSI_SRP_TGT_ATTRS<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 为SRP添加&quot;target&quot;模式驱动</p><p>&#160; &#160; SCSI low-level drivers<br />&#160; &#160; CONFIG_SCSI_LOWLEVEL<br />&#160; &#160; &#160; &#160; 底层SCSI驱动程序</p><p>&#160; &#160; &#160; &#160; iSCSI Initiator over TCP/IP<br />&#160; &#160; &#160; &#160; CONFIG_ISCSI_TCP<br />&#160; &#160; &#160; &#160; &#160; &#160; iSCSI协议利用TCP/IP网络在&quot;initiator&quot;与&quot;targets&quot;间传送SCSI命令和数据.此选项便是iSCSI initiator驱动.相关的用户层工具/文档/配置示例,可以在open-iscsi找到.<br />&#160; &#160; &#160; &#160; iSCSI Boot Sysfs Interface<br />&#160; &#160; &#160; &#160; CONFIG_ISCSI_BOOT_SYSFS<br />&#160; &#160; &#160; &#160; &#160; &#160; 通过sysfs向用户空间显示iSCSI的引导信息.<br />&#160; &#160; &#160; &#160; {此处省略的部分按照实际使用的控制器进行选择}<br />&#160; &#160; &#160; &#160; VMware PVSCSI driver support<br />&#160; &#160; &#160; &#160; CONFIG_VMWARE_PVSCSI<br />&#160; &#160; &#160; &#160; &#160; &#160; VMware半虚拟化的SCSI HBA控制器<br />&#160; &#160; &#160; &#160; Microsoft Hyper-V virtual storage driver<br />&#160; &#160; &#160; &#160; CONFIG_HYPERV_STORAGE<br />&#160; &#160; &#160; &#160; &#160; &#160; 微软的Hyper-V虚拟存储控制器<br />&#160; &#160; &#160; &#160; Intel(R) C600 Series Chipset SAS Controller<br />&#160; &#160; &#160; &#160; CONFIG_SCSI_ISCI<br />&#160; &#160; &#160; &#160; &#160; &#160; Intel C600 系列芯片组 6Gb/s SAS控制器<br />&#160; &#160; &#160; &#160; virtio-scsi support<br />&#160; &#160; &#160; &#160; CONFIG_SCSI_VIRTIO<br />&#160; &#160; &#160; &#160; &#160; &#160; virtio虚拟HBA控制器<br />&#160; &#160; PCMCIA SCSI adapter support<br />&#160; &#160; CONFIG_SCSI_LOWLEVEL_PCMCIA<br />&#160; &#160; &#160; &#160; 通过PCMCIA卡与计算机连接的SCSI设备<br />&#160; &#160; SCSI Device Handlers<br />&#160; &#160; CONFIG_SCSI_DH<br />&#160; &#160; &#160; &#160; 针对某些特定SCSI设备的驱动,具体子项请按照实际使用的控制器进行选择<br />&#160; &#160; OSD-Initiator library<br />&#160; &#160; CONFIG_SCSI_OSD_INITIATOR<br />&#160; &#160; &#160; &#160; OSD(Object-Based Storage Device)协议是一个T10 SCSI命令集,和SCSI处于同一级别,也跟SCSI很类似,分成osd-initiator/osd-target两部分,用于对象存储文件系统,此选项实现了OSD-Initiator库(libosd.ko).更多细节参见&quot;Documentation/scsi/osd.txt&quot;文件.看不懂就说明你不需要.[提示]此选项依赖于CONFIG_CRYPTO_SHA1和CONFIG_CRYPTO_HMAC模块.<br />&#160; &#160; &#160; &#160; OSD Upper Level driver<br />&#160; &#160; &#160; &#160; CONFIG_SCSI_OSD_ULD<br />&#160; &#160; &#160; &#160; &#160; &#160; 提供OSD上层驱动(也就是向用户层提供/dev/osdX设备).从而允许用户层控制OSD设备<br />&#160; &#160; &#160; &#160; &#160; &#160; (比如挂载基于OSD的exofs文件系统).</p><p>Serial ATA and Parallel ATA drivers<br />CONFIG_ATA<br />&#160; &#160; SATA与PATA(IDE)设备.桌面级PC以及低端服务器的硬盘基本都是此种接口<br />&#160; &#160; Verbose ATA error reporting<br />&#160; &#160; CONFIG_ATA_VERBOSE_ERROR<br />&#160; &#160; &#160; &#160; 输出详细的ATA命令描述信息.大约会让内核增大6KB.禁用它将会导致调试ATA设备错误变得困难.<br />&#160; &#160; ATA ACPI Support<br />&#160; &#160; CONFIG_ATA_ACPI&#160; &#160; &#160; &#160;<br />&#160; &#160; 与ATA相关的ACPI对象支持.这些对象与性能/安全/电源管理等相关.<br />&#160; &#160; 不管你使用的是IDE硬盘还是SATA硬盘,都建议开启(可以使用内核引导参数&quot;libata.noacpi=1&quot;关闭).<br />&#160; &#160; &#160; &#160; SATA Zero Power Optical Disc Drive (ZPODD) support<br />&#160; &#160; &#160; &#160; CONFIG_SATA_ZPODD<br />&#160; &#160; &#160; &#160; &#160; &#160; 这是SATA-3.1版规范新增的节能相关内容,用新的电源管理策略降低了整个系统的电力需求,<br />&#160; &#160; &#160; &#160; &#160; &#160; 可以让处于空闲状态的光驱耗电量近乎于零.这需要主板和光驱两者都支持SATA-3.1规范才行.<br />&#160; &#160; SATA Port Multiplier support<br />&#160; &#160; CONFIG_SATA_PMP<br />&#160; &#160; &#160; &#160; SATA端口复用器(Port Multiplier)是一个定义在SATA规范里面的可以选择的功能,<br />&#160; &#160; &#160; &#160; 可以把一个活动主机连接多路复用至多个设备连接,相当于一个SATA HUB.不确定的选&quot;N&quot;.<br />&#160; &#160; AHCI SATA support<br />&#160; &#160; CONFIG_SATA_AHCI<br />&#160; &#160; &#160; &#160; AHCI SATA 支持.这是最佳的SATA模式(NCQ功能依赖于它).某些主板还需要在BIOS中将硬盘明确设为AHCI模式.使用SATA硬盘者必选&quot;Y&quot;.[提示]由于各厂商芯片组内的SATA控制器都遵循同一种规范,所以并不需要各种各样针对不同SATA控制器的驱动,就这一个驱动基本就能通吃所有SATA控制器了,这比丰富多彩的网卡驱动省事多了.<br />&#160; &#160; Platform AHCI SATA support<br />&#160; &#160; CONFIG_SATA_AHCI_PLATFORM<br />&#160; &#160; &#160; &#160; 这是用于嵌入式系统的与AHCI接口兼容的SATA驱动.并不是常见的芯片组中的SATA控制器驱动.不确定的选&quot;N&quot;.<br />&#160; &#160; {此处省略几个特殊且不常见的SATA控制器驱动}<br />&#160; &#160; ATA SFF support (for legacy IDE and PATA)<br />&#160; &#160; CONFIG_ATA_SFF<br />&#160; &#160; &#160; &#160; 使用SATA硬盘的用户可无视此项,选&quot;N&quot;即可.对于依然使用老旧的IDE/PATA硬盘的用户而言,<br />&#160; &#160; &#160; &#160; 按照实际情况在子项中选择相应的控制器驱动即可.</p><p>&#160; &#160; &#160; &#160; {此处省略几个罕见的Pacific/Promise芯片组}<br />&#160; &#160; &#160; &#160; ATA BMDMA support<br />&#160; &#160; &#160; &#160; CONFIG_ATA_BMDMA<br />&#160; &#160; &#160; &#160; &#160; &#160; 这是IDE控制器的事实标准.除了上世纪的古董外,绝大多数芯片组都遵守这个标准,选&quot;Y&quot;,<br />&#160; &#160; &#160; &#160; &#160; &#160; 然后从子项中选择恰当的芯片组/控制器.<br />&#160; &#160; &#160; &#160; {此处省略的PIO-only SFF芯片组都是早就绝迹的老古董}<br />&#160; &#160; &#160; &#160; ACPI firmware driver for PATA<br />&#160; &#160; &#160; &#160; CONFIG_PATA_ACPI<br />&#160; &#160; &#160; &#160; &#160; &#160; 通过ACPI BIOS去操作IDE控制器.仅用于某些比较奇特的IDE控制器.选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; Generic ATA support<br />&#160; &#160; &#160; &#160; CONFIG_ATA_GENERIC<br />&#160; &#160; &#160; &#160; &#160; &#160; 这是通用的IDE控制器驱动.如果你无法确定IDE控制器的具体型号(比如需要面对未知的硬件状况),<br />&#160; &#160; &#160; &#160; &#160; &#160; 或者不想使用针对特定芯片组的IDE驱动,就选&quot;Y&quot;吧.</p><p>Multiple devices driver support (RAID and LVM)<br />CONFIG_MD<br />&#160; &#160; 多设备支持(RAID和LVM).RAID和LVM的功能是使用多个物理设备组建成一个单独的逻辑设备<br />&#160; &#160; RAID support<br />&#160; &#160; CONFIG_BLK_DEV_MD<br />&#160; &#160; &#160; &#160; &quot;Software RAID&quot;(需要使用mdadm工具)支持.也就是&quot;软RAID&quot;.使用硬件RAID卡的用户并不需要此项.<br />&#160; &#160; &#160; &#160; Autodetect RAID arrays during kernel boot<br />&#160; &#160; &#160; &#160; CONFIG_MD_AUTODETECT&#160; &#160; &#160; &#160;<br />&#160; &#160; &#160; &#160; 在内核启动过程中自动检测RAID模式.<br />&#160; &#160; &#160; &#160; 如果你没有使用RAID,那么选中此项将会让内核在启动过程中<br />&#160; &#160; &#160; &#160; 增加几秒延迟.如果你使用了&quot;raid=noautodetect&quot;内核引导参数关闭了自动检测,或者此处选了&quot;N&quot;,<br />&#160; &#160; &#160; &#160; 那么你必须使用&quot;md=???&quot;内核引导参数明确告诉内核RAID模式及配置.<br />&#160; &#160; &#160; &#160; Linear (append) mode<br />&#160; &#160; &#160; &#160; CONFIG_MD_LINEAR<br />&#160; &#160; &#160; &#160; &#160; &#160; 线性模式(简单的将一个分区追加在另一个分区之后),一般不使用这种模式.<br />&#160; &#160; &#160; &#160; RAID-0 (striping) mode<br />&#160; &#160; &#160; &#160; CONFIG_MD_RAID0<br />&#160; &#160; &#160; &#160; &#160; &#160; RAID-0(等量分割)模式,可以获取最高性能,但是却损害了可靠性,一般也不使用这种模式.<br />&#160; &#160; &#160; &#160; RAID-1 (mirroring) mode<br />&#160; &#160; &#160; &#160; CONFIG_MD_RAID1<br />&#160; &#160; &#160; &#160; &#160; &#160; RAID-1(镜像)模式.包含内核的引导分区只能使用这种模式.<br />&#160; &#160; &#160; &#160; RAID-10 (mirrored striping) mode<br />&#160; &#160; &#160; &#160; CONFIG_MD_RAID10<br />&#160; &#160; &#160; &#160; &#160; &#160; RAID 1+0 模式<br />&#160; &#160; &#160; &#160; RAID-4/RAID-5/RAID-6 mode<br />&#160; &#160; &#160; &#160; CONFIG_MD_RAID456<br />&#160; &#160; &#160; &#160; &#160; &#160; RAID-4/RAID-5/RAID-6 模式<br />&#160; &#160; &#160; &#160; Multipath I/O support<br />&#160; &#160; &#160; &#160; CONFIG_MD_MULTIPATH<br />&#160; &#160; &#160; &#160; &#160; &#160; 多路IO支持是指在服务器和存储设备之间使用冗余的物理路径组件创建&quot;逻辑路径&quot;,<br />&#160; &#160; &#160; &#160; &#160; &#160; 如果这些组件发生故障并造成路径失败,多路径逻辑将为I/O使用备用路径以使应用程序仍然<br />&#160; &#160; &#160; &#160; &#160; &#160; 可以访问其数据.该选项已废弃,并已被CONFIG_DM_MULTIPATH所取代.选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; Faulty test module for MD<br />&#160; &#160; &#160; &#160; CONFIG_MD_FAULTY<br />&#160; &#160; &#160; &#160; &#160; &#160; 用于MD(Multi-device)的缺陷测试模块,仅用于调试.<br />&#160; &#160; Block device as cache<br />&#160; &#160; CONFIG_BCACHE<br />&#160; &#160; &#160; &#160; 将一个块设备用作其他块设备的缓存(Bcache).此缓存使用btree(平衡树)索引,<br />&#160; &#160; &#160; &#160; 并专门为SSD进行了优化.仅在你打算使用高速SSD作为普通硬盘的缓存时才需要此功能.<br />&#160; &#160; &#160; &#160; 详情参见&quot;Documentation/bcache.txt&quot;文档.<br />&#160; &#160; &#160; &#160; Bcache debugging<br />&#160; &#160; &#160; &#160; CONFIG_BCACHE_DEBUG<br />&#160; &#160; &#160; &#160; &#160; &#160; 仅供内核开发者调试使用<br />&#160; &#160; &#160; &#160; Extended runtime checks<br />&#160; &#160; &#160; &#160; CONFIG_BCACHE_EDEBUG<br />&#160; &#160; &#160; &#160; &#160; &#160; 仅供内核开发者调试使用<br />&#160; &#160; &#160; &#160; Debug closures<br />&#160; &#160; &#160; &#160; CONFIG_BCACHE_CLOSURES_DEBUG<br />&#160; &#160; &#160; &#160; &#160; &#160; 仅供内核开发者调试使用<br />&#160; &#160; Device mapper support<br />&#160; &#160; CONFIG_BLK_DEV_DM<br />&#160; &#160; &#160; &#160; Device-mapper是一个底层的卷管理器,提供了一种从逻辑设备到物理设备的映射框架,<br />&#160; &#160; &#160; &#160; 用户可以很方便的根据自己的需要制定实现存储资源的管理策略.它不像RAID那样工作在设备层,<br />&#160; &#160; &#160; &#160; 而是通过块和扇区的映射机制,将不同磁盘的不同部分组合成一个大的块设备供用户使用.<br />&#160; &#160; &#160; &#160; LVM2和EVMS都依赖于它.此外,那些集成在南桥(例如ICH8R/ICH9R/ICH10R系列等)中所谓的<br />&#160; &#160; &#160; &#160; &quot;硬RAID&quot;(准确的称呼应该是&quot;Device Mapper RAID&quot;,又称为&quot;Fake RAID&quot;/&quot;BIOS RAID&quot;)也依赖于它.<br />&#160; &#160; &#160; &#160; equest-based DM: use blk-mq I/O path by default<br />&#160; &#160; &#160; &#160; &#160; &#160; 基于equest的DM：默认使用blk-mq I / O路径<br />&#160; &#160; &#160; &#160; Device mapper debugging support<br />&#160; &#160; &#160; &#160; CONFIG_DM_DEBUG<br />&#160; &#160; &#160; &#160; &#160; &#160; 仅供内核开发者调试使用<br />&#160; &#160; &#160; &#160; Block manager locking<br />&#160; &#160; &#160; &#160; &#160; &#160; 块管理器锁定<br />&#160; &#160; &#160; &#160; Crypt target support<br />&#160; &#160; &#160; &#160; CONFIG_DM_CRYPT<br />&#160; &#160; &#160; &#160; &#160; &#160;此模块允许你创建一个经过透明加密的逻辑设备(使用cryptsetup工具),<br />&#160; &#160; &#160; &#160; &#160; &#160;要使用加密功能,除此项外,还需要在&quot;Cryptographic API&quot;里选中相应的加密算法,例如CONFIG_CRYPTO_AES.<br />&#160; &#160; &#160; &#160; &#160; &#160;更多文档请参考LUKS FAQ.<br />&#160; &#160; &#160; &#160; Snapshot target<br />&#160; &#160; &#160; &#160; CONFIG_DM_SNAPSHOT<br />&#160; &#160; &#160; &#160; &#160; &#160; 允许卷管理器为DM设备创建可写的快照(定格于特定瞬间的一个设备虚拟映像).LVM2 Snapshot需要它的支持.<br />&#160; &#160; &#160; &#160; &#160; &#160; 更多详情参见&quot;Documentation/device-mapper/snapshot.txt&quot;文档.不确定的选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; Thin provisioning target<br />&#160; &#160; &#160; &#160; CONFIG_DM_THIN_PROVISIONING<br />&#160; &#160; &#160; &#160; &#160; &#160; &quot;Thin provisioning&quot;(某些地方翻译为&quot;精简配置&quot;)的意思是允许分配给所有用户的总存储容量超过实际的<br />&#160; &#160; &#160; &#160; &#160; &#160; 存储容量(使用thin-provisioning-tools工具).例如给100个用户分配空间,<br />&#160; &#160; &#160; &#160; &#160; &#160; 每个用户最大允许10G空间,共计需要1000G空间.但实际情况是95%的用户都只使用了不到1G的空间,<br />&#160; &#160; &#160; &#160; &#160; &#160; 那么实际准备1000G空间就是浪费.有了&quot;thinprovisioning&quot;的帮助,<br />&#160; &#160; &#160; &#160; &#160; &#160; 你实际只需要准备150G的空间就可以了,之后,<br />&#160; &#160; &#160; &#160; &#160; &#160; 可以随着用户需求的增加,添加更多的实际存储容量,<br />&#160; &#160; &#160; &#160; &#160; &#160; 从而减少存储投资和避免浪费.更多详情参见&quot;Documentation/device-mapper/thin-provisioning.txt&quot;文档.<br />&#160; &#160; &#160; &#160; &#160; &#160; Keep stack trace of thin provisioning block lock holders<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_DM_DEBUG_BLOCK_STACK_TRACING<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 仅用于调试目的<br />&#160; &#160; &#160; &#160; Cache target<br />&#160; &#160; &#160; &#160; CONFIG_DM_CACHE<br />&#160; &#160; &#160; &#160; &#160; &#160; dm-cache通过将频繁使用的热点数据缓存到一个容量较小但性能很高的存储设备上,<br />&#160; &#160; &#160; &#160; &#160; &#160; 从而提升块设备的性能.它支持writeback和writethrough两种模式,<br />&#160; &#160; &#160; &#160; &#160; &#160; 并可以使用多种缓存策略(policy)以判断哪些是热点数据以及哪些数据需要从缓存中移除.<br />&#160; &#160; &#160; &#160; &#160; &#160; 更多详情参见&quot;Documentation/device-mapper/cache.txt&quot;文档.不确定的选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; &#160; &#160; MQ Cache Policy<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_DM_CACHE_MQ<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; MQ缓存策略.这是目前唯一真正可用的缓存策略.<br />&#160; &#160; &#160; &#160; &#160; &#160; Cleaner Cache Policy<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_DM_CACHE_CLEANER<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; Cleaner简单的把所有数据都同步写入到原始设备上,相当于关闭缓存.<br />&#160; &#160; &#160; &#160; Mirror target<br />&#160; &#160; &#160; &#160; CONFIG_DM_MIRROR<br />&#160; &#160; &#160; &#160; &#160; &#160; 允许对逻辑卷进行镜像,同时实时数据迁移工具pvmove也需要此项的支持.<br />&#160; &#160; &#160; &#160; &#160; &#160; Mirror userspace logging<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_DM_LOG_USERSPACE<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; device-mapper用户空间日志功能由内核模块和用户空间程序两部分组成,<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 此选项是内核模块(API定义于&quot;linux/dm-dirty-log.h&quot;文件).不确定的选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; RAID 1/4/5/6/10 target<br />&#160; &#160; &#160; &#160; CONFIG_DM_RAID<br />&#160; &#160; &#160; &#160; &#160; &#160; RAID 1/4/5/6/10 支持.即使使用ICH8R/ICH9R/ICH10R这样的南桥,<br />&#160; &#160; &#160; &#160; &#160; &#160; 也不推荐使用&quot;Device Mapper RAID&quot;(既无性能优势又依赖于特定硬件),<br />&#160; &#160; &#160; &#160; &#160; &#160; 应该直接使用更成熟的CONFIG_BLK_DEV_MD模块.<br />&#160; &#160; &#160; &#160; Zero target<br />&#160; &#160; &#160; &#160; CONFIG_DM_ZERO<br />&#160; &#160; &#160; &#160; &#160; &#160; &quot;Zero target&quot;类似于&quot;/dev/zero&quot;,所有的写入都被丢弃,<br />&#160; &#160; &#160; &#160; &#160; &#160; 所有的读取都可以得到无限多个零.可用于某些恢复场合.<br />&#160; &#160; &#160; &#160; Multipath target<br />&#160; &#160; &#160; &#160; CONFIG_DM_MULTIPATH<br />&#160; &#160; &#160; &#160; &#160; &#160; 设备映射多路径(DM-Multipath)支持.不确定的选&quot;N&quot;.</p><p>&#160; &#160; &#160; &#160; I/O Path Selector based on the number of in-flight I/Os<br />&#160; &#160; &#160; &#160; CONFIG_DM_MULTIPATH_QL<br />&#160; &#160; &#160; &#160; &#160; &#160; 这是一个动态负载均衡路径选择器:选择当前正在处理中的I/O数量最小的通路.<br />&#160; &#160; &#160; &#160; I/O Path Selector based on the service time<br />&#160; &#160; &#160; &#160; CONFIG_DM_MULTIPATH_ST<br />&#160; &#160; &#160; &#160; &#160; &#160; 这是一个动态负载均衡路径选择器:选择完成此I/O操作预期时间最少的通路.<br />&#160; &#160; &#160; I/O delaying target<br />&#160; &#160; &#160; CONFIG_DM_DELAY<br />&#160; &#160; &#160; &#160; &#160; 对读/写操作进行延迟,并可将其发送到不同的设备.仅用于测试DM子系统.<br />&#160; &#160; &#160; DM uevents<br />&#160; &#160; &#160; CONFIG_DM_UEVENT<br />&#160; &#160; &#160; &#160; &#160; 为DM事件透过netlink向用户层的udevd发出uevent通知,这样就允许udevd在&quot;/dev/&quot;目录中执行相应的操作.<br />&#160; &#160; &#160; Flakey target<br />&#160; &#160; &#160; CONFIG_DM_FLAKEY<br />&#160; &#160; &#160; &#160; &#160; 模拟间歇性的I/O错误,以用于调试DM子系统.<br />&#160; &#160; &#160; Verity target support<br />&#160; &#160; &#160; CONFIG_DM_VERITY<br />&#160; &#160; &#160; &#160; &#160; Verity target 可以创建一个只读的逻辑设备,然后根据预先生成的哈希校验和(存储在其他设备上),<br />&#160; &#160; &#160; &#160; &#160; 校验底层设备上的数据正确性.要使此模块正常工作,还需要在&quot;Cryptographic API&quot;部分选中相应的哈希算法.<br />&#160; &#160; &#160; Switch target support<br />&#160; &#160; &#160; Log writes target support<br />&#160; &#160; &#160; Integrity target support</p><p>Generic Target Core Mod (TCM) and ConfigFS Infrastructure<br />CONFIG_TARGET_CORE<br />&#160; &#160; 通用TCM存储引擎与ConfigFS虚拟文件系统(/sys/kernel/config)支持.看不懂就说明你不需要.<br />Fusion MPT device support<br />CONFIG_FUSION<br />&#160; &#160; Fusion MPT(Message Passing Technology) 是 LSI Logic 公司为了更容易实现SCSI和光纤通道而提出的技术,<br />&#160; &#160; 支持Ultra320 SCSI/光纤通道/SAS.<br />IEEE 1394 (FireWire) support<br />&#160; &#160; 火线(IEEE 1394)是苹果公司开发的串行接口,类似于USB,但PC上并不常见,算得上是个没有未来的技术了.<br />I2O device support<br />CONFIG_I2O<br />&#160; &#160; 智能输入输出(Intelligent Input/Output)架构让硬件驱动分成了两部分:OSM(特定于操作系统)+HDM(特定于硬件,<br />&#160; &#160; 与操作系统无关).由于I2O设备上集成有专用的I/O处理器,从而加快I/O速度(因为避免了CPU的参与).<br />&#160; &#160; I2O属于已被废弃的技术,目前能见到的此类设备都属于老古董了.<br />Macintosh device drivers<br />CONFIG_MACINTOSH_DRIVERS<br />&#160; &#160; 苹果的Macintosh电脑上的专有设备驱动<br />&#160; &#160;<br />&#160; &#160; TCM/IBLOCK Subsystem Plugin for Linux/BLOCK<br />&#160; &#160; &#160; &#160; 用于Linux / BLOCK的TCM / IBLOCK子系统插件<br />&#160; &#160; TCM/FILEIO Subsystem Plugin for Linux/VFS<br />&#160; &#160; &#160; &#160; 适用于Linux / VFS的TCM / FILEIO子系统插件<br />&#160; &#160; TCM/pSCSI Subsystem Plugin for Linux/SCSI<br />&#160; &#160; &#160; &#160; 适用于Linux / SCSI的TCM / pSCSI子系统插件<br />&#160; &#160; TCM/USER Subsystem Plugin for Linux<br />&#160; &#160; &#160; &#160; 适用于Linux的TCM / USER子系统插件<br />&#160; &#160; TCM Virtual SAS target and Linux/SCSI LDD fabric loopback module<br />&#160; &#160; &#160; &#160; TCM Virtual SAS目标和Linux / SCSI LDD结构环回模块<br />&#160; &#160; TCM_FC fabric Plugin<br />&#160; &#160; &#160; &#160; TCM_FC面料插件<br />&#160; &#160; Linux-iSCSI.org iSCSI Target Mode Stack<br />&#160; &#160; &#160; &#160; Linux-iSCSI.org iSCSI目标模式堆栈<br />&#160; &#160; FireWire SBP-2 fabric module<br />&#160; &#160; &#160; &#160;FireWire SBP-2织物模块<br />&#160; &#160;<br />Fusion MPT device support<br />&#160; &#160; Fusion MPT设备支持<br />&#160; &#160;<br />IEEE 1394 (FireWire) support<br />Macintosh device drivers<br />&#160; &#160; Macintosh设备驱动程序<br />&#160; &#160;<br />Network device support<br />CONFIG_NETDEVICES<br />&#160; &#160; 网络设备.除非你不想连接任何网络,否则必选&quot;Y&quot;.<br />&#160; &#160; Network core driver support<br />&#160; &#160; CONFIG_NET_CORE&#160; &#160; &#160;<br />&#160; &#160; 如果你不想使用任何高级网络功能(拨号网络/EQL/VLAN/bridging/bonding<br />&#160; &#160; /光纤通道/虚拟网络等),<br />&#160; &#160; 仅仅是一般性质的联网(普通服务器,通过路由器或者局域网上网的常规个人电脑),<br />&#160; &#160; 可以选&quot;N&quot;.此外,某些网卡的驱动会依赖于其下的CONFIG_MII子项(会被自动选中).<br />&#160; &#160; &#160; &#160; Bonding driver support<br />&#160; &#160; &#160; &#160; CONFIG_BONDING<br />&#160; &#160; &#160; &#160; &#160; &#160; 链路聚合技术拥有多个不同的称谓:Linux称为&quot;Bonding&quot;,IEEE称为&quot;802.3ad&quot;,<br />&#160; &#160; &#160; &#160; &#160; &#160; Sun称为&quot;Trunking&quot;,Cisco称为&quot;Etherchannel&quot;.该技术可以将多个以太网通道聚合为一个单独的虚拟适配器,<br />&#160; &#160; &#160; &#160; &#160; &#160; 例如将两块网卡聚合成一个逻辑网卡,可以用来实现负载均衡或硬件冗余.<br />&#160; &#160; &#160; &#160; Dummy net driver support<br />&#160; &#160; &#160; &#160; CONFIG_DUMMY<br />&#160; &#160; &#160; &#160; &#160; &#160; Dummy网络接口本质上是一个可以配置IP地址的bit-bucket(位桶,所有发送到此设备的流量都将被湮灭),<br />&#160; &#160; &#160; &#160; &#160; &#160; 以使应用程序看上去正在和一个常规的网络接口进行通信.使用SLIP(小猫拨号,目前应该已经绝迹了)<br />&#160; &#160; &#160; &#160; &#160; &#160; 或PPP(常用于PPPoE ADSL)的用户需要它<br />&#160; &#160; &#160; &#160; EQL (serial line load balancing) support<br />&#160; &#160; &#160; &#160; CONFIG_EQUALIZER<br />&#160; &#160; &#160; &#160; &#160; &#160; 串行线路的负载均衡.如果有两个MODEM和两条SLIP/PPP线路,<br />&#160; &#160; &#160; &#160; &#160; &#160; 该选项可以让你同时使用这两个通道以达到双倍速度(网络的对端也要支持EQL技术).<br />&#160; &#160; &#160; &#160; &#160; &#160; 曾经昙花一现的ISDN就这项技术的一个实例.<br />&#160; &#160; &#160; &#160; Fibre Channel driver support<br />&#160; &#160; &#160; &#160; CONFIG_NET_FC<br />&#160; &#160; &#160; &#160; &#160; &#160; 光纤通道(Fibre Channel)是一种高速网络串行协议,主要用于存储局域网(SAN),它与SCSI协议兼容,并意在取代SCSI.与传统的SCSI技术相比,除了提供更高的数据传输速度,更远的传输距离,更多的设备连接支持,更稳定的性能,更简易的安装以外,最重要的是支持最新的网络区域存储(SAN)技术.如果你的机器上有光纤通道卡(FC卡),除了需要开启此项外,还需要开启相应的FC卡驱动,以及CONFIG_CHR_DEV_SG选项.<br />&#160; &#160; &#160; &#160; Generic Media Independent Interface device support<br />&#160; &#160; &#160; &#160; CONFIG_MII<br />&#160; &#160; &#160; &#160; &#160; &#160; 媒体独立接口(Media Independent Interface)又称介质无关接口,是IEEE-802.3(规定了以太网相关协议的具体内容)定义的以太网行业标准.它包括一个数据接口,以及一个位于MAC和PHY之间的控制接口.[提示]大多数以太网卡都有MII收发器,其驱动都依赖于此项,也会自动选中此项.<br />&#160; &#160; &#160; &#160; Intermediate Functional Block support<br />&#160; &#160; &#160; &#160; CONFIG_IFB<br />&#160; &#160; &#160; &#160; &#160; &#160; IFB是一个中间层驱动,可以用来灵活的配置资源共享.更多信息参见iproute2文档.看不懂就说明你不需要.<br />&#160; &#160; &#160; &#160; Ethernet team driver support<br />&#160; &#160; &#160; &#160; CONFIG_NET_TEAM<br />&#160; &#160; &#160; &#160; &#160; &#160; 允许通过&quot;ip link add link [ address MAC ] [ NAME ] type team&quot;命令,将多个以太网卡(称为&quot;port&quot;)组合在一起,创建一个虚拟的&quot;team&quot;网络设备,其目的是取代传统的&quot;Bonding&quot;(CONFIG_BONDING)驱动.&quot;ip&quot;是iproute2包中的一个命令.不确定的选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; MAC-VLAN support<br />&#160; &#160; &#160; &#160; CONFIG_MACVLAN<br />&#160; &#160; &#160; &#160; &#160; &#160; MAC-VLAN是通过MAC地址来划分VLAN的方式,在Linux则用来给网卡添加多个MAC地址.<br />&#160; &#160; &#160; &#160; &#160; &#160; 你可以使用&quot;ip link add link &lt;real dev&gt; [ address MAC ] [ NAME ] type macvlan&quot;<br />&#160; &#160; &#160; &#160; &#160; &#160; 命令创建一个虚拟的&quot;macvlan&quot;设备(系统会自动打开网卡的混杂模式),<br />&#160; &#160; &#160; &#160; &#160; &#160; 然后就可以在同一个物理网卡上虚拟出多个以太网口.<br />&#160; &#160; &#160; &#160; &#160; &#160; MAC-VLAN based tap driver<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_MACVTAP<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 基于MAC-VLAN接口的tap(虚拟以太网设备)字符设备(macvtap)驱动,旨在简化虚拟化的桥接网络,<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 目的是替代TUN/TAP和Bridge内核模块.可以通过与创建macvlan设备相同的&quot;ip&quot;<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 命令创建一个虚拟的&quot;macvtap&quot;设备,并通过TAP用户空间接口进行访问.<br />&#160; &#160; &#160; &#160; Virtual eXtensible Local Area Network (VXLAN)<br />&#160; &#160; &#160; &#160; CONFIG_VXLAN<br />&#160; &#160; &#160; &#160; &#160; &#160; &quot;vxlan&quot;虚拟接口可以在第三层网络上创建第二层网络(跨多个物理IP子网的虚拟二层子网),<br />&#160; &#160; &#160; &#160; &#160; &#160; 是一种在UDP中封装MAC的简单机制,主要用于虚拟化环境下的隧道虚拟网络(tunnel virtual network).<br />&#160; &#160; &#160; &#160; Generic Network Virtualization Encapsulation<br />&#160; &#160; &#160; &#160; &#160; &#160; 通用网络虚拟化封装<br />&#160; &#160; &#160; &#160; GPRS Tunneling Protocol datapath (GTP-U)<br />&#160; &#160; &#160; &#160; &#160; &#160; GPRS隧道协议数据路径（GTP-U）<br />&#160; &#160; &#160; &#160; IEEE 802.1AE MAC-level encryption (MACsec)<br />&#160; &#160; &#160; &#160; &#160; &#160; IEEE 802.1AE MAC级加密（MACsec）<br />&#160; &#160; &#160; &#160; Network console logging support<br />&#160; &#160; &#160; &#160; CONFIG_NETCONSOLE<br />&#160; &#160; &#160; &#160; &#160; &#160; 网络控制台(netconsole)的作用是通过网络记录内核日志信息.<br />&#160; &#160; &#160; &#160; &#160; &#160; 详情参见&quot;Documentation/networking/netconsole.txt&quot;文档.不确定的选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; &#160; &#160; Dynamic reconfiguration of logging targets<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_NETCONSOLE_DYNAMIC<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 允许通过configfs导出的用户空间接口,在运行时更改日志目标(网口, IP地址, 端口号, MAC地址).<br />&#160; &#160; &#160; &#160; Netpoll traffic trapping<br />&#160; &#160; &#160; &#160; CONFIG_NETPOLL_TRAP<br />&#160; &#160; &#160; &#160; &#160; &#160; netpoll的目的是让内核在网络和I/O子系统尚不能完整可用时,依然能发送和接收数据包.<br />&#160; &#160; &#160; &#160; &#160; &#160; 主要用于网络控制台(netconsole)和远程内核调试(KGDBoE)中.不确定的选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; Virtual Ethernet over NTB<br />&#160; &#160; &#160; &#160; CONFIG_NTB_NETDEV<br />&#160; &#160; &#160; &#160; &#160; &#160; PCI-E非透明桥(CONFIG_NTB)上的虚拟网卡.不确定的选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; RapidIO Ethernet over messaging driver support<br />&#160; &#160; &#160; &#160; CONFIG_RIONET<br />&#160; &#160; &#160; &#160; &#160; &#160; 在标准的RapidIO通信方式上发送以太网数据包.不确定的选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; Universal TUN/TAP device driver support<br />&#160; &#160; &#160; &#160; CONFIG_TUN<br />&#160; &#160; &#160; &#160; &#160; &#160; TUN/TAP可以为用户空间提供包的接收和发送服务,可以用来虚拟一张网卡或点对点通道.当程序打开&quot;/dev/net/tun&quot;设备时,驱动程序就会注册相应的&quot;tunX&quot;或&quot;tapX&quot;网络设备,当程序关闭&quot;/dev/net/tun&quot;设备时,驱动程序又会删除相应的&quot;tunX&quot;或&quot;tapX&quot;网络设备以及所有与之相关联的路由.详情参见&quot;Documentation/networking/tuntap.txt&quot;文档.看不懂就表明你不需要.<br />&#160; &#160; &#160; &#160; Virtual ethernet pair device<br />&#160; &#160; &#160; &#160; CONFIG_VETH<br />&#160; &#160; &#160; &#160; &#160; &#160; 该驱动提供了一个本地以太网隧道(设备会被成对的创建).<br />&#160; &#160; &#160; &#160; Virtio network driver<br />&#160; &#160; &#160; &#160; CONFIG_VIRTIO_NET<br />&#160; &#160; &#160; &#160; &#160; &#160; virtio虚拟网卡驱动.可以用于lguest或者基于QEMU的虚拟机管理程序(例如KVM/Xen).</p><p>&#160; &#160; ARCnet support<br />&#160; &#160; CONFIG_ARCNET<br />&#160; &#160; &#160; &#160; ARCnet是1977年由Datapoint公司开发的一种局域网技术,它采用令牌总线方案来管理LAN上<br />&#160; &#160; &#160; &#160; 工作站和其他设备之间的共享线路,主要用于工业控制领域中.<br />&#160; &#160; ATM drivers<br />&#160; &#160; CONFIG_ATM_DRIVERS<br />&#160; &#160; &#160; &#160; 可怜的ATM(异步传输模式),曾经在90年代风靡一时,现在已经消失的无影无踪了.<br />&#160; &#160; {这里省略几个专用于Android/MeeGo系统的PF_CAIF类型套接字相关的选项}<br />&#160; &#160; Distributed Switch Architecture drivers<br />&#160; &#160; &#160; &#160; 分布式交换架构驱动,其子项都是Marvell系列以太网交换机芯片组的驱动<br />&#160; &#160; Ethernet driver support<br />&#160; &#160; CONFIG_ETHERNET<br />&#160; &#160; &#160; &#160; 最常见的以太网卡驱动<br />&#160; &#160; &#160; &#160; {省略的部分请按照实际的硬件状况进行选择,这里仅以两个常见公司的以太网芯片为例进行说明}<br />&#160; &#160; &#160; &#160; AMD devices<br />&#160; &#160; &#160; &#160; CONFIG_NET_VENDOR_AMD<br />&#160; &#160; &#160; &#160; &#160; &#160; AMD出品的以太网控制芯片<br />&#160; &#160; &#160; &#160; &#160; &#160; AMD PCnet32 PCI support<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_PCNET32<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 这是VMware/VirtualBox虚拟机中常用的网卡<br />&#160; &#160; &#160; &#160; Broadcom devices<br />&#160; &#160; &#160; &#160; CONFIG_NET_VENDOR_BROADCOM<br />&#160; &#160; &#160; &#160; &#160; &#160; 博通(Broadcom)公司的网卡<br />&#160; &#160; &#160; &#160; &#160; &#160; Broadcom 440x/47xx ethernet support<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_B44<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; Broadcom 44xx/47xx 10/100M PCI<br />&#160; &#160; &#160; &#160; &#160; &#160; Broadcom NetXtremeII support<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_BNX2<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; NetXtreme II 1 Gigabit ( BCM5706/5708/5709/5716 )<br />&#160; &#160; &#160; &#160; &#160; &#160; Broadcom CNIC support<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_CNIC<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; NetXtremeII 系列网卡的TCP减负引擎(TCP Offload Engine)特性支持.<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 不过,TOE并不适合高连接数/小文件的Web服务器类应用,它的主要目的是和IP存储协议<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; (iSCSI/NFS)一起使用.[注意]TOE与&quot;Large Receive Offload&quot;是两个不同的东西,不要混淆.<br />&#160; &#160; &#160; &#160; &#160; &#160; Broadcom Tigon3 support<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_TIGON3<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 这是最流行的驱动,其涵盖的型号特别多,但是&quot;Tigon3&quot;的名称却非常具有迷惑性.<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 简单说来,除了B44,BNX2,BNX2X中明确列出的型号外,其他型号用的都是这个驱动.<br />&#160; &#160; &#160; &#160; &#160; &#160; Broadcom NetXtremeII 10Gb support<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_BNX2X<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; NetXtreme II 10 Gigabit ( BCM57710/57711/57711E/57712/57800/57810 )</p><p>&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; Broadcom 578xx and 57712 SR-IOV support<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; CONFIG_BNX2X_SRIOV<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 支持578xx/57712的单根I/O虚拟化(Single Root IOV)技术</p><p>&#160; &#160; FDDI driver support<br />&#160; &#160; CONFIG_FDDI<br />&#160; &#160; &#160; &#160; 光纤分布式数据接口(FDDI)<br />&#160; &#160; Digital DEFTA/DEFEA/DEFPA adapter support<br />&#160; &#160; SysKonnect FDDI PCI support<br />&#160; &#160; HIPPI driver support<br />&#160; &#160; CONFIG_HIPPI<br />&#160; &#160; &#160; &#160; 高性能并行接口(HIgh Performance Parallel Interface)是一个在短距离内高速传送大量数据的点对点协议.<br />&#160; &#160; &#160; &#160; 常用于集群和超级计算机.<br />&#160; &#160; General Instruments Surfboard 1000<br />&#160; &#160; CONFIG_NET_SB1000<br />&#160; &#160; &#160; &#160; SURFboard 1000 插卡式Cable Medem(ISA接口),这玩意早就绝种了<br />&#160; &#160; MDIO bus device drivers<br />&#160; &#160; &#160; &#160; MDIO总线设备驱动程序<br />&#160; &#160; Bitbanged MDIO buses<br />&#160; &#160; &#160; &#160; Bitbanged MDIO总线<br />&#160; &#160; GPIO lib-based bitbanged MDIO buses<br />&#160; &#160; &#160; &#160; 基于GPIO lib的bitbanged MDIO总线<br />&#160; &#160; ThunderX SOCs MDIO buses<br />&#160; &#160; &#160; &#160; ThunderX SOC MDIO总线<br />&#160; &#160; PHY Device support and infrastructure<br />&#160; &#160; CONFIG_PHYLIB<br />&#160; &#160; &#160; &#160; 数据链路层芯片简称为MAC控制器,物理层芯片简称之为PHY,<br />&#160; &#160; &#160; &#160; 通常的网卡把MAC和PHY的功能做到了一颗芯片中,但也有一些仅含PHY的&quot;软网卡&quot;.<br />&#160; &#160; &#160; &#160; 此选项就是对这些&quot;软网卡&quot;的支持.请根据实际情况选择其下的子项.<br />&#160; &#160; Micrel KS8995MA 5-ports 10/100 managed Ethernet switch<br />&#160; &#160; CONFIG_MICREL_KS8995MA<br />&#160; &#160; &#160; &#160; Micrel KS8995MA 5端口 10/100M 以太网交换芯片<br />&#160; &#160; PLIP (parallel port) support<br />&#160; &#160; CONFIG_PLIP<br />&#160; &#160; &#160; &#160; PLIP(Parallel Line Internet Protocol)用于将两台电脑通过并口进行联网,组成一个简单的客户机/服务器结构.<br />&#160; &#160; &#160; &#160; 详情参见&quot;Documentation/networking/PLIP.txt&quot;.现在的电脑都使用网卡进行互联,<br />&#160; &#160; &#160; &#160; 并口早就经被丢进历史的垃圾箱了.<br />&#160; &#160; PPP (point-to-point protocol) support<br />&#160; &#160; CONFIG_PPP<br />&#160; &#160; &#160; &#160; 点对点协议(Point to Point Protocol)是SLIP的继任者,使用PPP需要用户层程序pppd的帮助.PPP实际上有两个版本:<br />&#160; &#160; &#160; &#160; 基于普通模拟电话线的&quot;异步PPP&quot;和基于数字线路(例如ISDN线路)的&quot;同步PPP&quot;.<br />&#160; &#160; &#160; &#160; 使用电脑直接拨号的 PPPoE ADSL 用户需要此项.<br />&#160; &#160; &#160; &#160; PPP BSD-Compress compression<br />&#160; &#160; &#160; &#160; CONFIG_PPP_BSDCOMP<br />&#160; &#160; &#160; &#160; &#160; &#160; 为PPP提供BSD(等价于LZW压缩算法,没有gzip高效)压缩算法支持,需要通信双方的支持才有效.<br />&#160; &#160; &#160; &#160; &#160; &#160; 大多数ISP都不支持此算法.<br />&#160; &#160; &#160; &#160; PPP Deflate compression<br />&#160; &#160; &#160; &#160; CONFIG_PPP_DEFLATE<br />&#160; &#160; &#160; &#160; &#160; &#160; 为PPP提供Deflate(等价于gzip压缩算法)压缩算法支持,需要通信双方的支持才有效.<br />&#160; &#160; &#160; &#160; &#160; &#160; 这是比BSD更好的算法(压缩率更高且无专利障碍).<br />&#160; &#160; &#160; &#160; PPP filtering<br />&#160; &#160; &#160; &#160; CONFIG_PPP_FILTER<br />&#160; &#160; &#160; &#160; &#160; &#160; 允许对通过PPP接口的包进行过滤.仅在你需要使用pppd的pass-filter/active-filter选项时才需要开启.<br />&#160; &#160; &#160; &#160; &#160; &#160; 不确定的选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; PPP MPPE compression (encryption)<br />&#160; &#160; &#160; &#160; CONFIG_PPP_MPPE<br />&#160; &#160; &#160; &#160; &#160; &#160; 为PPP提供MPPE加密协议支持,它被用于微软的P2P隧道协议中.此特性需要PPTP Client工具的支持.<br />&#160; &#160; &#160; &#160; PPP multilink support<br />&#160; &#160; &#160; &#160; CONFIG_PPP_MULTILINK<br />&#160; &#160; &#160; &#160; &#160; &#160; 多重链路协议(RFC1990)允许你将多个线路(物理的或逻辑的)组合为一个PPP连接一充分利用带宽,<br />&#160; &#160; &#160; &#160; &#160; &#160; 这不但需要pppd的支持,还需要ISP的支持<br />&#160; &#160; &#160; &#160; PPP over ATM<br />&#160; &#160; &#160; &#160; CONFIG_PPPOATM<br />&#160; &#160; &#160; &#160; &#160; &#160; 在ATM上跑的PPP.果断&quot;N&quot;.<br />&#160; &#160; &#160; &#160; PPP over Ethernet<br />&#160; &#160; &#160; &#160; CONFIG_PPPOE<br />&#160; &#160; &#160; &#160; &#160; &#160; 这就是ADSL用户最常见的PPPoE,也就是在以太网上跑的PPP协议.这需要RP-PPPoE工具的帮助<br />&#160; &#160; &#160; &#160; PPP over IPv4 (PPTP)<br />&#160; &#160; &#160; &#160; CONFIG_PPTP<br />&#160; &#160; &#160; &#160; &#160; &#160; 点对点隧道协议(Point-to-Point Tunneling Protocol)是一种主要用于VPN的数据链路层网络协议.<br />&#160; &#160; &#160; &#160; &#160; &#160; 此功能需要ACCEL-PPTP工具的支持.<br />&#160; &#160; &#160; &#160; PPP over L2TP<br />&#160; &#160; &#160; &#160; CONFIG_PPPOL2TP<br />&#160; &#160; &#160; &#160; &#160; &#160; 第二层隧道协议(L2TP)是一种通过UDP隧道传输PPP流量的技术,对于VPN用户来说,<br />&#160; &#160; &#160; &#160; &#160; &#160; L2TP VPN是比PPTP VPN的更好解决方案.<br />&#160; &#160; &#160; &#160; PPP support for async serial ports<br />&#160; &#160; &#160; &#160; CONFIG_PPP_ASYNC<br />&#160; &#160; &#160; &#160; &#160; &#160; 基于普通模拟电话线或标准异步串口(COM1,COM2)的&quot;异步PPP&quot;支持.<br />&#160; &#160; &#160; &#160; &#160; &#160; PPPoE ADSL 使用的就是这个.不能与下面的CONFIG_PPP_SYNC_TTY同时并存.<br />&#160; &#160; &#160; &#160; PPP support for sync tty ports<br />&#160; &#160; &#160; &#160; CONFIG_PPP_SYNC_TTY<br />&#160; &#160; &#160; &#160; &#160; &#160; 基于同步tty设备(比如SyncLink适配器)的&quot;同步PPP&quot;支持.常用于高速租用线路(比如T1/E1).不确定的选&quot;N&quot;.</p><p>&#160; &#160; SLIP (serial line) support<br />&#160; &#160; CONFIG_SLIP<br />&#160; &#160; &#160; &#160; 一个在串行线上(例如电话线)传输IP数据报的TCP/IP协议.最原始的通过电话线拨号上网就用这个协议,<br />&#160; &#160; &#160; &#160; 如今基本绝迹了.不确定的选&quot;N&quot;.<br />&#160; &#160; CSLIP compressed headers<br />&#160; &#160; CONFIG_SLIP_COMPRESSED<br />&#160; &#160; &#160; &#160; CSLIP协议基于SLIP,但比SLIP快,它将TCP/IP头(而非数据)进行压缩传送,需要通信双方的支持才有效<br />&#160; &#160; Keepalive and linefill<br />&#160; &#160; CONFIG_SLIP_SMART<br />&#160; &#160; &#160; &#160; 让SLIP驱动支持RELCOM linefill和keepalive监视,这在信号质量比较差的模拟线路上是个好主意<br />&#160; &#160; Six bit SLIP encapsulation<br />&#160; &#160; CONFIG_SLIP_MODE_SLIP6<br />&#160; &#160; &#160; &#160; 这种线路非常罕见,选&quot;N&quot;.<br />&#160; &#160; USB Network Adapters<br />&#160; &#160; &#160; &#160; USB网络适配器<br />&#160; &#160; Wireless LAN<br />&#160; &#160; CONFIG_WLAN<br />&#160; &#160; &#160; &#160; 无线网卡</p><p>&#160; &#160; &#160; &#160; {省略的部分请按照实际的硬件状况进行选择,这里仅以Intel公司的主流无线网卡为例进行说明}<br />&#160; &#160; &#160; &#160; Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi)<br />&#160; &#160; &#160; &#160; CONFIG_IWLWIFI<br />&#160; &#160; &#160; &#160; &#160; &#160; 这是目前主流Intel无线网卡的驱动.此驱动依赖于二进制uCode微代码,它通常被安装到&quot;/lib/firmware&quot;目录,不过你最好亲自用眼睛检查一下&quot;/etc/hotplug/firmware.agent&quot;脚本中的&quot;FIRMWARE_DIR&quot;变量的设置是否正确.</p><p>&#160; &#160; &#160; &#160; &#160; &#160; Intel Wireless WiFi DVM Firmware support<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_IWLDVM<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; DVM固件支持(这也是当前唯一可用的固件).选&quot;Y/M&quot;.<br />&#160; &#160; &#160; &#160; &#160; &#160; Intel Wireless WiFi MVM Firmware support<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_IWLMVM<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; MVM固件支持(这是专用于7000系列无线网卡的固件).</p><p>&#160; &#160; &#160; &#160; Debugging Options<br />&#160; &#160; &#160; &#160; &#160; &#160; 仅供调试使用,其下所有选项都选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; iwlwifi experimental P2P support<br />&#160; &#160; &#160; &#160; CONFIG_IWLWIFI_P2P<br />&#160; &#160; &#160; &#160; &#160; &#160; iwlwifi驱动实验性的P2P支持.不确定的选&quot;N&quot;.</p><p>&#160; &#160; WiMAX Wireless Broadband devices<br />&#160; &#160; &#160; &#160; WiMAX无线设备<br />&#160; &#160; Wan interfaces support<br />&#160; &#160; CONFIG_WAN<br />&#160; &#160; &#160; &#160; 广域网(Wide Area Network)网卡支持.这种网卡很罕见.不确定的选&quot;N&quot;.<br />&#160; &#160; IEEE 802.15.4 drivers<br />&#160; &#160; CONFIG_IEEE802154_DRIVERS<br />&#160; &#160; &#160; &#160; IEEE 802.15.4描述了低速率无线个人局域网的物理层和媒体接入控制协议<br />&#160; &#160; Xen network device frontend driver<br />&#160; &#160; CONFIG_XEN_NETDEV_FRONTEND<br />&#160; &#160; &#160; &#160; XEN半虚拟化网络设备前端驱动(通常是被&quot;domain 0&quot;导出的)<br />&#160; &#160; Xen backend network device<br />&#160; &#160; CONFIG_XEN_NETDEV_BACKEND<br />&#160; &#160; &#160; &#160; XEN半虚拟化网络设备后端驱动,通常被用在&quot;domain 0&quot;内核上,用于向其他domain导出半虚拟化网络设备.<br />&#160; &#160; VMware VMXNET3 ethernet driver<br />&#160; &#160; CONFIG_VMXNET3<br />&#160; &#160; &#160; &#160; VMware vmxnet3 虚拟以太网卡驱动<br />&#160; &#160; Microsoft Hyper-V virtual network driver<br />&#160; &#160; CONFIG_HYPERV_NET<br />&#160; &#160; &#160; &#160; Microsoft Hyper-V 虚拟以太网卡驱动<br />&#160; &#160; FUJITSU Extended Socket Network Device driver<br />&#160; &#160; &#160; &#160; FUJITSU扩展套接字网络设备驱动程序<br />&#160; &#160; ISDN support<br />&#160; &#160; CONFIG_ISDN<br />&#160; &#160; &#160; &#160; 上世纪在ADSL流行之前曾经有过短暂流行,但现在已经绝迹了</p><p>Open-Channel SSD target support<br />&#160; &#160; 开放式通道SSD目标支持</p><p>Input device support<br />&#160; &#160; 输入设备</p><p>&#160; &#160; Generic input layer (needed for keyboard, mouse, ...)<br />&#160; &#160; CONFIG_INPUT<br />&#160; &#160; &#160; &#160; 通用输入层.只要你有任何输入设备(键盘,鼠标,手写板,触摸板,游戏杆,方向盘,游戏键盘...),就必须选&quot;Y&quot;.<br />&#160; &#160; &#160; &#160; Export input device LEDs in sysfs<br />&#160; &#160; &#160; &#160; &#160; &#160; 在sysfs中导出输入设备LED<br />&#160; &#160; &#160; &#160; Support for memoryless force-feedback devices<br />&#160; &#160; &#160; &#160; CONFIG_INPUT_FF_MEMLESS<br />&#160; &#160; &#160; &#160; &#160; &#160; 游戏玩家使用的力反馈设备,例如: Logitech WingMan Force 3D 飞行摇杆,ThrustMaster FireStorm Dual Power 2.如果你有此类设备,除了本项之外,还需要开启特定于硬件的驱动.<br />&#160; &#160; &#160; &#160; Polled input device skeleton<br />&#160; &#160; &#160; &#160; CONFIG_INPUT_POLLDEV<br />&#160; &#160; &#160; &#160; &#160; &#160; 使用轮询机制的输入设备支持,此项主要是为源码树之外的驱动准备的,内核自带的驱动若有需要会自动选中.不确定的选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; Sparse keymap support library<br />&#160; &#160; &#160; &#160; CONFIG_INPUT_SPARSEKMAP<br />&#160; &#160; &#160; &#160; &#160; &#160; 使用&quot;sparse keymap&quot;的输入设备支持,此项主要是为源码树之外的驱动准备的,内核自带的驱动若有需要会自动选中.不确定的选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; Matrix keymap support library<br />&#160; &#160; &#160; &#160; CONFIG_INPUT_MATRIXKMAP<br />&#160; &#160; &#160; &#160; &#160; &#160; 使用&quot;matrix keymap&quot;的输入设备支持,此项主要是为源码树之外的驱动准备的,内核自带的驱动若有需要会自动选中.不确定的选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; Mouse interface<br />&#160; &#160; &#160; &#160; CONFIG_INPUT_MOUSEDEV<br />&#160; &#160; &#160; &#160; &#160; &#160; 鼠标接口(/dev/input/mouseX,/dev/input/mice).用鼠标的必选.[提示]如果系统上有多个鼠标,那么,mouseX对应单个特定的鼠标,而mice则是所有鼠标的集合(所有鼠标的事件都会被发送到这个设备文件中).</p><p>&#160; &#160; &#160; &#160; &#160; &#160; Provide legacy /dev/psaux device<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_INPUT_MOUSEDEV_PSAUX<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 仍然支持传统的/dev/psaux接口,这是为兼容老旧的程序而设置.选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; &#160; &#160; Horizontal screen resolution<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_INPUT_MOUSEDEV_SCREEN_X<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 作为鼠标使用的数字化转换器(digitizer)或手写板(graphic tablet)需要知道X window的水平分辩率.一般可理解为显示屏的水平分辨率.<br />&#160; &#160; &#160; &#160; &#160; &#160; Vertical screen resolution<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_INPUT_MOUSEDEV_SCREEN_Y<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 作为鼠标使用的数字化转换器(digitizer)或手写板(graphic tablet)需要知道X window的垂直分辩率.一般可理解为显示屏的垂直分辨率.</p><p>&#160; &#160; &#160; &#160; Joystick interface<br />&#160; &#160; &#160; &#160; CONFIG_INPUT_JOYDEV<br />&#160; &#160; &#160; &#160; &#160; &#160; 游戏杆(joystick)和游戏键盘(gamepad)支持(/dev/input/jsX)<br />&#160; &#160; &#160; &#160; Event interface<br />&#160; &#160; &#160; &#160; CONFIG_INPUT_EVDEV<br />&#160; &#160; &#160; &#160; &#160; &#160; 将所有的输入设备事件都通过&quot;/dev/input/eventX&quot;以一种通用的方式进行处理.<br />&#160; &#160; &#160; &#160; &#160; &#160; Xorg需要使用此接口.不确定的选&quot;Y&quot;.<br />&#160; &#160; &#160; &#160; Event debugging<br />&#160; &#160; &#160; &#160; CONFIG_INPUT_EVBUG<br />&#160; &#160; &#160; &#160; &#160; &#160; 将所有输入设备的动作(键盘按下,鼠标移动等)都记录到系统日志当中.<br />&#160; &#160; &#160; &#160; &#160; &#160; 主要用于调试,同时也会带来安全漏洞(键盘输入中很可能包含你的密码).选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; Keyboards<br />&#160; &#160; &#160; &#160; CONFIG_INPUT_KEYBOARD<br />&#160; &#160; &#160; &#160; &#160; &#160; 键盘驱动</p><p>&#160; &#160; &#160; &#160; &#160; &#160; AT keyboard<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_KEYBOARD_ATKBD<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 标准AT键盘或者PS/2键盘.[提示]除了台式机PS/2接口上的键盘外,<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 许多笔记本的键盘其实也是PS/2键盘.使用USB键盘或者ADB键盘(旧式苹果键盘)的可以选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; {此处被省略的键盘都很罕见,基本上不必考虑}</p><p>&#160; &#160; &#160; &#160; Mice<br />&#160; &#160; &#160; &#160; CONFIG_INPUT_MOUSE<br />&#160; &#160; &#160; &#160; &#160; &#160; 鼠标驱动</p><p>&#160; &#160; &#160; &#160; &#160; &#160; PS/2 mouse<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_MOUSE_PS2<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 标准的两键或三键的PS/2鼠标,同时兼容Microsoft/Logitech/Genius生产的带有滚轮或者<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 额外按键的PS/2鼠标.使用Synaptics/ALPS/Elantech触摸板的用户还可以看看其专用的X驱动,<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 这些驱动可以提供更多的高级功能.使用USB鼠标的可以选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 其下的子项是针对各厂商特定产品的扩展协议支持.按需选择即可.<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; [提示]除了台式机PS/2接口上的鼠标外,许多笔记本的触摸板其实也是PS/2鼠标.<br />&#160; &#160; &#160; &#160; &#160; &#160; {此处被省略的鼠标都很罕见,基本上不必考虑}</p><p>&#160; &#160; &#160; &#160; Joysticks/Gamepads<br />&#160; &#160; &#160; &#160; &#160; &#160; 游戏杆,6自由度摇杆,游戏键盘,方向盘,射击武器...等各种游戏装置<br />&#160; &#160; &#160; &#160; Tablets<br />&#160; &#160; &#160; &#160; CONFIG_INPUT_TABLET<br />&#160; &#160; &#160; &#160; &#160; &#160; 平板输入设备<br />&#160; &#160; &#160; &#160; Touchscreens<br />&#160; &#160; &#160; &#160; CONFIG_INPUT_TOUCHSCREEN<br />&#160; &#160; &#160; &#160; &#160; &#160; 触摸屏输入设备<br />&#160; &#160; &#160; &#160; Miscellaneous devices<br />&#160; &#160; &#160; &#160; CONFIG_INPUT_MISC<br />&#160; &#160; &#160; &#160; &#160; &#160; 其他杂项输入设备<br />&#160; &#160; &#160; &#160; PC Speaker support<br />&#160; &#160; &#160; &#160; CONFIG_INPUT_PCSPKR<br />&#160; &#160; &#160; &#160; &#160; &#160; 标准蜂鸣器.建议开启.<br />&#160; &#160; &#160; &#160; {此处被省略的其他设备都很罕见,基本上不必考虑}<br />&#160; &#160; &#160; &#160; Synaptics RMI4 bus support<br />&#160; &#160; &#160; &#160; &#160; &#160; Synaptics RMI4总线支持<br />&#160; &#160; &#160; &#160; Hardware I/O ports<br />&#160; &#160; &#160; &#160; &#160; &#160; 硬件I/O端口</p><p>&#160; &#160; &#160; &#160; Serial I/O support<br />&#160; &#160; &#160; &#160; CONFIG_SERIO<br />&#160; &#160; &#160; &#160; &#160; &#160; 串行I/O硬件支持.标准AT键盘,PS/2鼠标,串口鼠标,Sun键盘,游戏杆,6自由度摇杆等设备都依赖于它.不确定的选&quot;Y&quot;.</p><p>&#160; &#160; &#160; &#160; &#160; &#160; i8042 PC Keyboard controller<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SERIO_I8042<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 标准AT键盘,PS/2鼠标,这两种设备需要它的支持.<br />&#160; &#160; &#160; &#160; &#160; &#160; Serial port line discipline<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SERIO_SERPORT<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; RS232串口(COM).串口鼠标,游戏杆,6自由度摇杆等设备都依赖于它.<br />&#160; &#160; &#160; &#160; &#160; &#160; ct82c710 Aux port controller<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SERIO_CT82C710<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 一种德州仪器TravelMate笔记本上使用QuickPort接口的鼠标<br />&#160; &#160; &#160; &#160; &#160; &#160; Parallel port keyboard adapter<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SERIO_PARKBD<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 并口键盘适配器,用于将AT/XT键盘或PS/2鼠标转接到并口上.非常罕见.<br />&#160; &#160; &#160; &#160; &#160; &#160; PCI PS/2 keyboard and PS/2 mouse controller<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SERIO_PCIPS2<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 接在移动式扩展坞(Docking station)上的PS/2键盘或鼠标<br />&#160; &#160; &#160; &#160; &#160; &#160; PS/2 driver library<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SERIO_LIBPS2<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 为PS/2接口上的设备提供驱动(比如PS/2鼠标和标准AT键盘)<br />&#160; &#160; &#160; &#160; &#160; &#160; Raw access to serio ports<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SERIO_RAW<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 以raw方式访问serio接口(echo -n &quot;serio_raw&quot; &gt; /sys/bus/serio/devices/serioX/drvctl),例如i8042键盘控制器的AUX端口.看不懂的就别选了.<br />&#160; &#160; &#160; &#160; &#160; &#160; Altera UP PS/2 controller<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SERIO_ALTERA_PS2<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; Altera University Program PS/2 端口支持.不确定的选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; &#160; &#160; TQC PS/2 multiplexer<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SERIO_PS2MULT<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; TQC板上的PS/2端口复用器(multiplexer)<br />&#160; &#160; &#160; &#160; &#160; &#160; ARC PS/2 support<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SERIO_ARC_PS2<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; ARC FPGA 平台上的PS/2控制器</p><p>&#160; &#160; &#160; &#160; Gameport support<br />&#160; &#160; &#160; &#160; CONFIG_GAMEPORT<br />&#160; &#160; &#160; &#160; &#160; &#160; 15针电脑游戏接口(Gameport).图</p><p>Character devices<br />&#160; &#160; 字符设备</p><p>&#160; &#160; Enable TTY<br />&#160; &#160; CONFIG_TTY<br />&#160; &#160; &#160; &#160; 字符终端和串口都需要TTY的支持.选&quot;Y&quot;,除非你知道自己在干什么.[提示]你想在控制台上显示汉字吗?试试CJKTTY补丁吧!</p><p>&#160; &#160; &#160; &#160; Virtual terminal<br />&#160; &#160; &#160; &#160; CONFIG_VT<br />&#160; &#160; &#160; &#160; &#160; &#160; 虚拟终端可以在一个物理终端设备上虚拟出多个&quot;显示器+键盘&quot;的组合(可以使用&quot;Alt+Fn&quot;组合键在多个虚拟终端间切换).除非是嵌入式系统,否则必选&quot;Y&quot;.</p><p>&#160; &#160; &#160; &#160; &#160; &#160; Enable character translations in console<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_CONSOLE_TRANSLATIONS<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 在虚拟控制台(console)上支持字体映射和Unicode转换.建议选&quot;Y&quot;.<br />&#160; &#160; &#160; &#160; &#160; &#160; Support for console on virtual terminal<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_VT_CONSOLE<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 内核默认将第一个虚拟终端(/dev/tty0)用作系统控制台(可以通过&quot;console=tty3&quot;这样的参数去修改),将诸如模块错误/内核错误/启动信息之类的警告信息发送到这里,而且以单用户模式登录时也需要使用这个控制台.除非是嵌入式系统,否则必选&quot;Y&quot;.<br />&#160; &#160; &#160; &#160; &#160; &#160; Support for binding and unbinding console drivers<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_VT_HW_CONSOLE_BINDING<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 虚拟终端是通过控制台驱动程序与物理终端交互的,但在某些系统上可以使用多个控制台驱动程序(如framebuffer控制台驱动程序),该选项使得你可以选择其中之一.如果你需要使用多个控制台驱动,可以选&quot;Y&quot;,不确定的选&quot;N&quot;.参见&quot;Documentation/console/console.txt&quot;和&quot;Documentation/fb/fbcon.txt&quot;获取更多细节.</p><p>&#160; &#160; &#160; &#160; Unix98 PTY support<br />&#160; &#160; &#160; &#160; CONFIG_UNIX98_PTYS<br />&#160; &#160; &#160; &#160; &#160; &#160; 伪终端(PTY)是指一个&quot;软件终端&quot;,它是由slave(等价于一个物理终端)和master(被一个诸如xterms之类的进程用来读写slave设备)两部分组成的软设备.需要使用telnet或ssh远程登录者必选.</p><p>&#160; &#160; &#160; &#160; &#160; &#160; Support multiple instances of devpts<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_DEVPTS_MULTIPLE_INSTANCES<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 允许多个&quot;devpts&quot;文件系统实例(使用&quot;-o newinstance&quot;挂载选项),以允许相互隔离的PTY命名空间(比如在虚拟化容器中).不确定的选&quot;N&quot;.</p><p>&#160; &#160; &#160; &#160; Legacy (BSD) PTY support<br />&#160; &#160; &#160; &#160; CONFIG_LEGACY_PTYS<br />&#160; &#160; &#160; &#160; &#160; &#160; 使用过时的BSD风格的/dev/ptyxx作为master,/dev/ttyxx作为slave,这个方案有一些安全问题,选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; Non-standard serial port support<br />&#160; &#160; &#160; &#160; CONFIG_SERIAL_NONSTANDARD<br />&#160; &#160; &#160; &#160; &#160; &#160; 非标准串口支持.这样的设备非常罕见,选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; HSDPA Broadband Wireless Data Card - Globe Trotter<br />&#160; &#160; &#160; &#160; CONFIG_NOZOMI<br />&#160; &#160; &#160; &#160; &#160; &#160; 一种PCMCIA接口的HSDPA(WCDMA) 3G 无线上网卡<br />&#160; &#160; &#160; &#160; Multi-Tech multiport card support<br />&#160; &#160; &#160; &#160; CONFIG_ISI<br />&#160; &#160; &#160; &#160; &#160; &#160; Multi-Tech公司生产的多端口卡(拥有多个串口)实验性支持.不确定的选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; HDLC line discipline support<br />&#160; &#160; &#160; &#160; CONFIG_N_HDLC<br />&#160; &#160; &#160; &#160; &#160; &#160; Microgate SyncLink.不确定的选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; GSM MUX line discipline support<br />&#160; &#160; &#160; &#160; CONFIG_N_GSM<br />&#160; &#160; &#160; &#160; &#160; &#160; GSM MUX(多路复用器)支持.不确定的选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; Trace data router for MIPI P1149.7 cJTAG standard<br />&#160; &#160; &#160; &#160; CONFIG_TRACE_ROUTER<br />&#160; &#160; &#160; &#160; &#160; &#160; 仅用于调试内含modem设备的手机系统.<br />&#160; &#160; &#160; &#160; Trace data sink for MIPI P1149.7 cJTAG standard<br />&#160; &#160; &#160; &#160; CONFIG_TRACE_SINK<br />&#160; &#160; &#160; &#160; &#160; &#160; 仅用于调试内含modem设备的手机系统.</p><p>&#160; &#160; KCopy<br />&#160; &#160; &#160; &#160; 内核Copy</p><p>&#160; &#160; &#160; &#160; Memory-to-memory copies using kernel assist<br />&#160; &#160; &#160; &#160; CONFIG_KCOPY<br />&#160; &#160; &#160; &#160; &#160; &#160; 高性能的进程间内存复制(可以减少一次向共享内存的复制动作).主要用于高性能并行计算领域,比如基于消息传递接口(Message Passing Interface)协议的开发的并行程序.不确定的选&quot;N&quot;.</p><p>&#160; &#160; /dev/kmem virtual device support<br />&#160; &#160; CONFIG_DEVKMEM<br />&#160; &#160; &#160; &#160; &quot;/dev/kmem&quot;虚拟设备是内核看到的虚拟内存的全镜像,可以用来访问内核内存.一般可以用来查看内核变量或者用作rootkit之类(!危险!).仅供调试,不确定的选&quot;N&quot;.<br />&#160; &#160; Serial drivers<br />&#160; &#160; &#160; &#160; 串口(COM)驱动.串口在台式机主板上正在逐渐消亡,而在笔记本和服务器上早就已经绝迹了.大多数人应该将所有子项都选&quot;N&quot;.</p><p>&#160; &#160; &#160; &#160; 8250/16550 and compatible serial support<br />&#160; &#160; &#160; &#160; CONFIG_SERIAL_8250<br />&#160; &#160; &#160; &#160; &#160; &#160; 这是标准串口(COM)驱动.只要你想使用串口,就必选此项.不过,大多数人应该选&quot;N&quot;.</p><p>&#160; &#160; &#160; &#160; &#160; &#160; Support 8250_core.* kernel options<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SERIAL_8250_DEPRECATED_OPTIONS<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; &#160; &#160; 8250/16550 PNP device support<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SERIAL_8250_PNP<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 即插即用串口支持,不确定的选&quot;Y&quot;.<br />&#160; &#160; &#160; &#160; &#160; &#160; Console on 8250/16550 and compatible serial port<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SERIAL_8250_CONSOLE<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 将串口当做系统控制台(接受所有内核消息,单用户模式登录)使用(需要使用&quot;console=ttyS1&quot;参数).仅在没有显示接口嵌入式设备上有用.不确定的选&quot;N&quot;.</p><p>&#160; &#160; &#160; &#160; DMA support for 16550 compatible UART controllers<br />&#160; &#160; &#160; &#160; CONFIG_SERIAL_8250_DMA<br />&#160; &#160; &#160; &#160; &#160; &#160; 与标准8250/16650兼容的通用异步收发传输器(Universal Asynchronous Receiver/Transmitter)的DMA支持.在嵌入式设计中,UART用来主机与辅助设备通信,如汽车音响与外接AP之间的通信,与PC机通信包括与监控调试器和其它器件(如EEPROM)通信.不确定的选&quot;Y&quot;.<br />&#160; &#160; &#160; &#160; 8250/16550 PCI device support<br />&#160; &#160; &#160; &#160; CONFIG_SERIAL_8250_PCI<br />&#160; &#160; &#160; &#160; &#160; &#160; PCI串口支持.选&quot;N&quot;表示仅支持传统的标准串口.<br />&#160; &#160; &#160; &#160; 8250/16550 PCMCIA device support<br />&#160; &#160; &#160; &#160; CONFIG_SERIAL_8250_CS<br />&#160; &#160; &#160; &#160; &#160; &#160; 16-bit PCMCIA串口支持.选&quot;N&quot;表示仅支持传统的标准串口.<br />&#160; &#160; &#160; &#160; Maximum number of 8250/16550 serial ports<br />&#160; &#160; &#160; &#160; CONFIG_SERIAL_8250_NR_UARTS<br />&#160; &#160; &#160; &#160; &#160; &#160; 允许的最大串口数量,保持默认值即可.<br />&#160; &#160; &#160; &#160; Number of 8250/16550 serial ports to register at runtime<br />&#160; &#160; &#160; &#160; CONFIG_SERIAL_8250_RUNTIME_UARTS<br />&#160; &#160; &#160; &#160; &#160; &#160; 内核在启动时注册的串口数量(可以通过&quot;8250.nr_uarts&quot;参数修改),保持默认即可.<br />&#160; &#160; &#160; &#160; Extended 8250/16550 serial driver options<br />&#160; &#160; &#160; &#160; CONFIG_SERIAL_8250_EXTENDED<br />&#160; &#160; &#160; &#160; &#160; &#160; 非标准的串口驱动选项(例如HUB6,中断共享,多端口,超过4个COM口).不确定的选&quot;N&quot;.</p><p>&#160; &#160; &#160; &#160; &#160; &#160; Support more than 4 legacy serial ports<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SERIAL_8250_MANY_PORTS<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 如果你的板子上有超过4个COM接口就选&quot;Y&quot;.<br />&#160; &#160; &#160; &#160; &#160; &#160; Support for sharing serial interrupts<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SERIAL_8250_SHARE_IRQ<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 有些板子上集成了共享IRQ的硬件支持.如果有就选&quot;Y&quot;.<br />&#160; &#160; &#160; &#160; &#160; &#160; Autodetect IRQ on standard ports (unsafe)<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SERIAL_8250_DETECT_IRQ<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 让内核去猜串口的IRQ号.不安全,选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; &#160; &#160; Support RSA serial ports<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SERIAL_8250_RSA<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; RSA串口.看不懂的选&quot;N&quot;.</p><p>&#160; &#160; &#160; &#160; Support for Synopsys DesignWare 8250 quirks<br />&#160; &#160; &#160; &#160; CONFIG_SERIAL_8250_DW<br />&#160; &#160; &#160; &#160; &#160; &#160; Synopsys DesignWare APB UART 中非标准特性的支持.<br />&#160; &#160; &#160; &#160; Medfield High Speed UART support<br />&#160; &#160; &#160; &#160; CONFIG_SERIAL_MFD_HSU<br />&#160; &#160; &#160; &#160; &#160; &#160; Medfield是Intel以x86为架构开发的SoC手机芯片.<br />&#160; &#160; &#160; &#160; {此处被省略的都是非标准的串口设备,按实际情况选择即可}</p><p>&#160; &#160; TTY driver to output user messages via printk<br />&#160; &#160; CONFIG_TTY_PRINTK<br />&#160; &#160; &#160; &#160; 通过&quot;/dev/ttyprintk&quot;设备使用printk发送用户消息.用于在内核中嵌入用户消息.不确定的选&quot;N&quot;.<br />&#160; &#160; Parallel printer support<br />&#160; &#160; CONFIG_PRINTER<br />&#160; &#160; &#160; &#160; 并口打印机<br />&#160; &#160; Support for user-space parallel port device drivers<br />&#160; &#160; CONFIG_PPDEV<br />&#160; &#160; &#160; &#160; 用户空间的原始并口设备(/dev/parportN)支持,这样用户空间的程序就可以用原始模式直接访问并口(相当于并口版本的CONFIG_CHR_DEV_SG).并口打印机/CD-ROM/硬盘都不依赖于此项,所以大部分人可以关闭该选项.<br />&#160; &#160; Xen Hypervisor Console support<br />&#160; &#160; CONFIG_HVC_XEN<br />&#160; &#160; &#160; &#160; XEN虚拟控制台设备驱动</p><p>&#160; &#160; &#160; &#160; Xen Hypervisor Multiple Consoles support<br />&#160; &#160; &#160; &#160; CONFIG_HVC_XEN_FRONTEND<br />&#160; &#160; &#160; &#160; &#160; &#160; 如果你需要多个虚拟控制台,可以选&quot;Y&quot;.</p><p>&#160; &#160; Virtio console<br />&#160; &#160; CONFIG_VIRTIO_CONSOLE<br />&#160; &#160; &#160; &#160; Virtio虚拟控制台设备驱动.此外,该驱动还可以作为普通的串口设备(/dev/vportNpX),用于客户机和宿主机之间的通信.Virtio的目标是为各种半虚拟化的虚拟机管理程序(特别是KVM)提供一组通用的模拟设备.<br />&#160; &#160; IPMI top-level message handler<br />&#160; &#160; CONFIG_IPMI_HANDLER<br />&#160; &#160; &#160; &#160; 智能平台管理接口(Intelligent Platform Management Interface)是标准的传感器(温度,电压,风扇,电源,机箱入侵)管理规范.IPMI的核心是专用的基板管理控制器(BMC)硬件,BMC并不依赖于服务器的CPU/BIOS/OS,是一个独立在系统内运行的管理子系统,只要有BMC与IPMI固件便可工作.BMC通常是一个安装在服务器主板上的独立的板卡(也有少数服务器主板内置).IPMI良好的独立特性便克服了以往基于操作系统的管理方式所受的限制,例如操作系统不响应或未加载的情况下,仍然可以进行开关机等操作.更多详情参见&quot;Documentation/IPMI.txt&quot;文档.此项技术主要用于服务器领域,个人PC和笔记本上是没有的.</p><p>&#160; &#160; &#160; &#160; Generate a panic event to all BMCs on a panic<br />&#160; &#160; &#160; &#160; CONFIG_IPMI_PANIC_EVENT<br />&#160; &#160; &#160; &#160; &#160; &#160; 当内核panic(发生紧急情况)时,IPMI消息处理器将会向每一个已注册的底板管理控制器(BMC)接口生成一个描述该panic的IPMI事件,这些事件可以引发日志记录/报警/重启/关机等动作.</p><p>&#160; &#160; &#160; &#160; &#160; &#160; Generate OEM events containing the panic string<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_IPMI_PANIC_STRING<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 当发生紧急情况(panic)时,IPMI消息处理器将会产生OEM类型(f0)的事件</p><p>&#160; &#160; &#160; &#160; Device interface for IPMI<br />&#160; &#160; &#160; &#160; CONFIG_IPMI_DEVICE_INTERFACE<br />&#160; &#160; &#160; &#160; &#160; &#160; 为IPMI消息处理器提供一个IOCTL接口以便用户空间进程也可以使用IPMI,目前支持 poll() 和 select()<br />&#160; &#160; &#160; &#160; IPMI System Interface handler<br />&#160; &#160; &#160; &#160; CONFIG_IPMI_SI<br />&#160; &#160; &#160; &#160; &#160; &#160; 向系统提供接口(KCS,SMIC),建议选&quot;Y&quot;.<br />&#160; &#160; &#160; &#160; IPMI Watchdog Timer<br />&#160; &#160; &#160; &#160; CONFIG_IPMI_WATCHDOG<br />&#160; &#160; &#160; &#160; &#160; &#160; 启用IPMI Watchdog定时器.如果硬件有这种功能,推荐选&quot;Y&quot;.<br />&#160; &#160; &#160; &#160; IPMI Poweroff<br />&#160; &#160; &#160; &#160; CONFIG_IPMI_POWEROFF<br />&#160; &#160; &#160; &#160; &#160; &#160; 允许通过IPMI消息处理器关闭机器</p><p>&#160; &#160; Hardware Random Number Generator Core support<br />&#160; &#160; CONFIG_HW_RANDOM<br />&#160; &#160; &#160; &#160; 硬件随机数发生器设备(/dev/hw_random)支持.此设备并不会直接向内核的随机数发生器填充(这是&quot;rngd&quot;守护进程的职责).详情参见&quot;Documentation/hw_random.txt&quot;文档.不确定的选&quot;Y&quot;.</p><p>&#160; &#160; &#160; &#160; Timer IOMEM HW Random Number Generator support<br />&#160; &#160; &#160; &#160; CONFIG_HW_RANDOM_TIMERIOMEM<br />&#160; &#160; &#160; &#160; &#160; &#160; Technologic Systems 的TS-7800单板计算机,这是一个嵌入式设备.<br />&#160; &#160; &#160; &#160; Intel HW Random Number Generator support<br />&#160; &#160; &#160; &#160; CONFIG_HW_RANDOM_INTEL<br />&#160; &#160; &#160; &#160; &#160; &#160; Intel基于i8xx芯片组的硬件随机数发生器<br />&#160; &#160; &#160; &#160; AMD HW Random Number Generator support<br />&#160; &#160; &#160; &#160; CONFIG_HW_RANDOM_AMD<br />&#160; &#160; &#160; &#160; &#160; &#160; AMD基于76x芯片组的硬件随机数发生器<br />&#160; &#160; &#160; &#160; Atmel Random Number Generator support<br />&#160; &#160; &#160; &#160; CONFIG_HW_RANDOM_ATMEL<br />&#160; &#160; &#160; &#160; &#160; &#160; Atmel AT91 硬件随机数发生器<br />&#160; &#160; &#160; &#160; VIA HW Random Number Generator support<br />&#160; &#160; &#160; &#160; CONFIG_HW_RANDOM_VIA<br />&#160; &#160; &#160; &#160; &#160; &#160; VIA芯片组的硬件随机数发生器<br />&#160; &#160; &#160; &#160; VirtIO Random Number Generator support<br />&#160; &#160; &#160; &#160; CONFIG_HW_RANDOM_VIRTIO<br />&#160; &#160; &#160; &#160; &#160; &#160; Virtio虚拟的硬件随机数发生器</p><p>&#160; &#160; EXYNOS HW random number generator support<br />&#160; &#160; CONFIG_HW_RANDOM_EXYNOS<br />&#160; &#160; &#160; &#160; 基于EXYNOS的SOC嵌入式系统上的硬件随机数发生器<br />&#160; &#160; TPM HW Random Number Generator support<br />&#160; &#160; CONFIG_HW_RANDOM_TPM<br />&#160; &#160; &#160; &#160; 可信赖平台模块(Trusted Platform Module)提供的硬件随机数发生器<br />&#160; &#160; /dev/nvram support<br />&#160; &#160; CONFIG_NVRAM<br />&#160; &#160; &#160; &#160; 直接存取主板上&quot;CMOS RAM&quot;的接口,太危险!建议选&quot;N&quot;.<br />&#160; &#160; Siemens R3964 line discipline<br />&#160; &#160; CONFIG_R3964<br />&#160; &#160; &#160; &#160; 与使用西门子R3964协议的设备同步通信,除非你有一些诸如PLC之类的特殊设备,否则别选<br />&#160; &#160; Applicom intelligent fieldbus card support<br />&#160; &#160; CONFIG_APPLICOM<br />&#160; &#160; &#160; &#160; Applicom international公司生产的用于现场总线(fieldbus)的连接卡.不确定的选&quot;N&quot;.<br />&#160; &#160; PCMCIA character devices<br />&#160; &#160; &#160; &#160; PCMCIA接口的字符设备<br />&#160; &#160; ACP Modem (Mwave) support<br />&#160; &#160; CONFIG_MWAVE<br />&#160; &#160; &#160; &#160; IBM Thinkpad上的一种软猫,古董产品<br />&#160; &#160; RAW driver (/dev/raw/rawN)<br />&#160; &#160; CONFIG_RAW_DRIVER<br />&#160; &#160; &#160; &#160; 裸设备的含义是将一个原始块设备(可以是一整块磁盘,也可以是一个分区)当做一个线性的字节流来访问.它是一种没有经过格式化,不经过操作系统缓存,也不能通过文件系统来访问的特殊字符设备.与FreeBSD不同,Linux反对使用裸设备,且被列入了废除计划(建议的做法是使用&quot;O_DIRECT&quot;标志打开对应的块设备文件,例如&quot;/dev/hda1&quot;).不确定的选&quot;N&quot;.<br />&#160; &#160; HPET - High Precision Event Timer<br />&#160; &#160; CONFIG_HPET<br />&#160; &#160; &#160; &#160; 高精度事件定时器(HPET Timer),又被称为&quot;Multimedia Timer&quot;,是一种取代传统&quot;ACPI Timer&quot;(CONFIG_X86_PM_TIMER)的硬件时钟发生器,提供14.31818MHz固定频率.2007年以后的芯片组一般都支持(有的主板还需要在BIOS里面明确开启HPET支持),建议开启.</p><p>&#160; &#160; &#160; &#160; Allow mmap of HPET<br />&#160; &#160; &#160; &#160; CONFIG_HPET_MMAP<br />&#160; &#160; &#160; &#160; &#160; &#160; 允许对HPET寄存器进行映射.但是某些包含HPET硬件寄存器的页中同时还含有其他不该暴露给用户的信息,在此种情况下,需要选&quot;N&quot;.</p><p>&#160; &#160; Hangcheck timer<br />&#160; &#160; CONFIG_HANGCHECK_TIMER<br />&#160; &#160; &#160; &#160; 宕机检测定时器周期性地检查系统任务调度程序以确定系统的运行状况,如果超过阈值,计算机将重新启动.不确定的选&quot;N&quot;.<br />&#160; &#160; TPM Hardware Support<br />&#160; &#160; CONFIG_TCG_TPM<br />&#160; &#160; &#160; &#160; 基于硬件的可信赖平台模块(Trusted Platform Module),它实际上是一个含有密码运算部件和存储部件的小芯片上的系统,由CPU,存储器,I/O,密码运算器,随机数产生器和嵌入式操作系统等部件组成.使用此功能需要TrouSerS工具的帮助.</p><p>&#160; &#160; &#160; &#160; TPM Interface Specification 1.2 Interface<br />&#160; &#160; &#160; &#160; CONFIG_TCG_TIS<br />&#160; &#160; &#160; &#160; &#160; &#160; TCG TIS 1.2 TPM 规范支持<br />&#160; &#160; &#160; &#160; TPM Interface Specification 1.2 Interface (I2C - Infineon)<br />&#160; &#160; &#160; &#160; CONFIG_TCG_TIS_I2C_INFINEON<br />&#160; &#160; &#160; &#160; &#160; &#160; 仅需要对Infineon的TPM设备选&quot;Y&quot;.<br />&#160; &#160; &#160; &#160; National Semiconductor TPM Interface<br />&#160; &#160; &#160; &#160; CONFIG_TCG_NSC<br />&#160; &#160; &#160; &#160; &#160; &#160; 仅需要对National的TPM设备选&quot;Y&quot;.<br />&#160; &#160; &#160; &#160; Atmel TPM Interface<br />&#160; &#160; &#160; &#160; CONFIG_TCG_ATMEL<br />&#160; &#160; &#160; &#160; &#160; &#160; 仅需要对Atmel的TPM设备选&quot;Y&quot;.<br />&#160; &#160; &#160; &#160; Infineon Technologies TPM Interface<br />&#160; &#160; &#160; &#160; CONFIG_TCG_INFINEON<br />&#160; &#160; &#160; &#160; &#160; &#160; 仅需要对Infineon的TPM设备(SLD 9630 TT 1.1 或 SLB 9635 TT 1.2)选&quot;Y&quot;.此驱动支持的硬件列表.<br />&#160; &#160; &#160; &#160; STMicroelectronics ST33 I2C TPM<br />&#160; &#160; &#160; &#160; CONFIG_TCG_ST33_I2C<br />&#160; &#160; &#160; &#160; &#160; &#160; 意法半导体(STMicroelectronics)出品的I2C总线的TPM安全芯片.</p><p>&#160; &#160; Telecom clock driver for ATCA SBC<br />&#160; &#160; CONFIG_TELCLOCK<br />&#160; &#160; &#160; &#160; 没见过这种硬件,选&quot;N&quot;.</p><p>I2C support<br />CONFIG_I2C<br />&#160; &#160; I2C与SMBus支持.I2C(读着&quot;I-squared-C&quot;)是用于单片机(又称&quot;微控制器&quot;)的低速串行总线协议,它为微控制器(Microcontroller)与各种不同的低速设备通信提供了一种廉价的总线(因为只需要使用两个引脚,称为&quot;2线&quot;),因此广泛的应用于嵌入式环境.SMBus(System Management Bus)差不多相当于是I2C的子集,常用于硬件监控(电压/风扇转速/温度/电池等)以及内存模块的配置(使用I2C EEPROM),因此所有PC主板都依赖于SMBus协议.系统硬件监控工具lm_sensors和i2c-tools依赖于此模块,硬件传感器和&quot;Video For Linux&quot;也需要该模块的支持.详情参见&quot;Documentation/i2c/summary&quot;文档及整个&quot;i2c&quot;文件夹.不确定的选&quot;Y&quot;.</p><p>&#160; &#160; Enable compatibility bits for old user-space<br />&#160; &#160; CONFIG_I2C_COMPAT<br />&#160; &#160; &#160; &#160; 为了与 lm-sensors 3.1.2 之前的版本兼容而设置.某些2011年之前版本的i2c相关程序也需要此兼容性.<br />&#160; &#160; I2C device interface<br />&#160; &#160; CONFIG_I2C_CHARDEV<br />&#160; &#160; &#160; &#160; I2C设备通常都是由内核控制的,但此选项可以向用户空间提供I2C设备接口,以允许用户空间的程序通过/dev/i2c-*字符设备文件使用I2C总线.详情参见&quot;Documentation/i2c/dev-interface&quot;文档.不确定的选&quot;N&quot;.<br />&#160; &#160; I2C bus multiplexing support<br />&#160; &#160; CONFIG_I2C_MUX<br />&#160; &#160; &#160; &#160; 多路复用I2C总线支持.不确定的选&quot;N&quot;.</p><p>&#160; &#160; &#160; &#160; Multiplexer I2C Chip support<br />&#160; &#160; &#160; &#160; &#160; &#160; I2C多路复用芯片,其下的子项按实际情况选择就OK了</p><p>&#160; &#160; Autoselect pertinent helper modules<br />&#160; &#160; CONFIG_I2C_HELPER_AUTO<br />&#160; &#160; &#160; &#160; 有一些I2C驱动程序需要&quot;I2C algorithm&quot;的帮助才能工作.而&quot;I2C算法&quot;本质上是I2C接口的纯软件抽象.开启此项后,如有需要,则会自动选上这些算法,而无需你再手动选择.推荐选&quot;Y&quot;.仅在你想使用额外的算法时,才选&quot;N&quot;.</p><p>&#160; &#160; &#160; &#160; SMBus-specific protocols<br />&#160; &#160; &#160; &#160; CONFIG_I2C_SMBUS<br />&#160; &#160; &#160; &#160; &#160; &#160; SMBus特有的扩展支持.目前唯一实际支持的扩展是SMBus报警协议.建议选&quot;Y&quot;.</p><p>&#160; &#160; I2C Algorithms<br />&#160; &#160; &#160; &#160; I2C算法,子项可以全不选,若有其他部分依赖其子项时,会自动选上<br />&#160; &#160; I2C Hardware Bus support<br />&#160; &#160; &#160; &#160; I2C硬件支持</p><p>&#160; &#160; &#160; &#160; *** PC SMBus host controller drivers ***<br />&#160; &#160; &#160; &#160; &#160; &#160; 这部分按照主板芯片组的实际情况选择就OK了<br />&#160; &#160; &#160; &#160; SMBus Control Method Interface<br />&#160; &#160; &#160; &#160; CONFIG_I2C_SCMI<br />&#160; &#160; &#160; &#160; &#160; &#160; SMBus控制方法接口(Control Method Interface)是SMBus的ACPI接口.用于在ACPI环境中使用SMBus设备.不确定的选&quot;M&quot;(i2c-scmi).<br />&#160; &#160; &#160; &#160; {其余被省略的都是用于嵌入式系统或者额外的I2C/SMBus扩展卡,按实际情况选择即可}</p><p>&#160; &#160; I2C/SMBus Test Stub<br />&#160; &#160; CONFIG_I2C_STUB<br />&#160; &#160; &#160; &#160; 用于帮助开发SMBus client驱动(特别是某些传感器芯片).详情参见&quot;Documentation/i2c/i2c-stub&quot;文档.不确定的选&quot;N&quot;.<br />&#160; &#160; I2C Core debugging messages<br />&#160; &#160; CONFIG_I2C_DEBUG_CORE<br />&#160; &#160; &#160; &#160; 向系统日志中传递大量的I2C Core调试信息.仅用于调试I2C设备故障<br />&#160; &#160; I2C Algorithm debugging messages<br />&#160; &#160; CONFIG_I2C_DEBUG_ALGO<br />&#160; &#160; &#160; &#160; 向系统日志中传递大量的I2C Algorithm调试信息.仅用于调试I2C设备故障<br />&#160; &#160; I2C Bus debugging messages<br />&#160; &#160; CONFIG_I2C_DEBUG_BUS<br />&#160; &#160; &#160; &#160; 向系统日志中传递大量的I2C Bus调试信息.仅用于调试I2C设备故障</p><p>SPI support<br />CONFIG_SPI<br />&#160; &#160; 串行外设接口(Serial Peripheral Interface)是一种标准的四线同步双向串行总线.SPI类似于I2C,但比I2C的&quot;2线&quot;稍微复杂一些,SPI需要4个引脚(&quot;4线&quot;),不但传输速率比I2C更高,还能实现全双工通信.大多数SPI设备不支持动态设备检测,有些甚至是只读或者只写的.SPI常用于微控制器(Microcontroller)与外围设备(RTC,传感器,EEPROM,FLASH,解/编码器,模数转换器,数字信号处理器)之间的通信,MMC和SD卡也可以通过SPI协议访问,而MMC接口的DataFlash卡则必须通过SPI才能访问.仅用于嵌入式环境,PC平台上没有这样的设备.<br />Qualcomm MSM SSBI bus support<br />CONFIG_SSBI<br />&#160; &#160; 高通(Qualcomm)骁龙系列智能手机处理器内嵌的单线串行总线接口(Single-wire Serial Bus Interface)<br />HSI support<br />CONFIG_HSI<br />&#160; &#160; 高速同步串行接口(High speed synchronous Serial Interface)是移动产业处理器接口(MIPI)联盟的高速同步接口工作组发布的一项技术规范.MIPI(Mobile Industry Processor Interface)是2003年由ARM,Nokia,ST,TI等公司成立的一个联盟,目的是把手机内部的接口(如摄像头,显示屏接口,射频/基带接口等)标准化,从而减少手机设计的复杂程度和增加设计灵活性.MIPI联盟下面有不同的工作组,分别定义了一系列的手机内部接口标准,比如摄像头接口CSI,显示接口DSI,射频接口DigRF,麦克风/扬声器接口SLIMbus等.统一接口标准的好处是手机厂商根据需要可以从市面上灵活选择不同的芯片和模组,更改设计和功能时更加快捷方便.目前,MIPI联盟的董事成员包括英特尔,摩托罗拉,诺基亚,三星,意法半导体,德州仪器.<br />PPS support<br />CONFIG_PPS<br />&#160; &#160; 秒脉冲(Pulse Per Second)是GPS天线的一项功能,用于获取GPS卫星的授时.PPS的精度可以到纳秒级,而且没有累积误差.<br />PTP clock support<br />CONFIG_PTP_1588_CLOCK<br />&#160; &#160; 精密时间协议(Precision Time Protocol)是IEEE 1588定义的一种基于以太网的高精度时间同步协议.PTP采用硬件与软件结合设计,可以提供比纯软件方式的NTP(网络时间协议)高的多的精度(微秒级).与GPS授时相比,在提供和GPS相同的精度情况下,PTP不需要为每个设备安装GPS那样昂贵的组件,只需要一个高精度的本地时钟和提供高精度时钟戳的部件,成本较低.一般的PC和服务器上没有PTP硬件.<br />GPIO Support<br />CONFIG_GPIOLIB<br />&#160; &#160; 每个芯片都会有至少一个引脚(PIN),像CPU或者芯片组这种复杂的芯片,其引脚会有成白上千个,这些PIN就是芯片与外部沟通的渠道,每个PIN都会有它特定的功能.GPIO(General Purpose I/O)就是芯片上的一种通用功能的引脚,其功能可由使用者通过编程的方式自定义(所谓&quot;可编程引脚&quot;),比如使用两条PIN就可以组成I2C,使用4条PIN就可以组成SPI.嵌入式系统经常需要控制结构简单但数量众多的外部设备(比如LED的亮与灭),使用传统的串口或者并口就太&quot;大炮打蚊子&quot;,而GPIO则非常适合用于控制此类数量众多的简单设备.GPIO在嵌入式设备中使用广泛,但PC平台的芯片组大多也集成有GPIO引脚.详情参见&quot;Documentation/gpio/gpio.txt&quot;文档.</p><p>&#160; &#160; Debug GPIO calls<br />&#160; &#160; CONFIG_DEBUG_GPIO<br />&#160; &#160; &#160; &#160; 仅供调试使用<br />&#160; &#160; /sys/class/gpio/... (sysfs interface)<br />&#160; &#160; CONFIG_GPIO_SYSFS<br />&#160; &#160; &#160; &#160; 为GPIO设备添加sysfs接口.主要用于调试和问题排查.不确定的选&quot;N&quot;.<br />&#160; &#160; Generic memory-mapped GPIO controller support (MMIO platform device)<br />&#160; &#160; CONFIG_GPIO_GENERIC_PLATFORM<br />&#160; &#160; &#160; &#160; 这是最简单的GPIO控制器驱动(platform总线驱动),仅支持单独一个&quot;data&quot;寄存器,用于读/写GPIO的状态.不确定的选&quot;Y&quot;.<br />&#160; &#160; {这里被省略的部分,按主板上实际集成的芯片选择即可}</p><p>Dallas&#039;s 1-wire support<br />CONFIG_W1<br />&#160; &#160; Dallas公司发明的单总线是比I2C更简单的总线,仅使用一个引脚(1-wire),使用Master-Slave结构,用于连接慢速的单引脚设备,比如iButton和热传感器.主要用于嵌入式系统.<br />Power supply class support<br />CONFIG_POWER_SUPPLY<br />&#160; &#160; 允许用户空间程序通过sysfs/uevent接口对电源(电池,交流电,USB)进行监控.建议选&quot;Y&quot;.</p><p>&#160; &#160; Power supply debug<br />&#160; &#160; CONFIG_POWER_SUPPLY_DEBUG<br />&#160; &#160; &#160; &#160; 仅供调试使用<br />&#160; &#160; Generic PDA/phone power driver<br />&#160; &#160; CONFIG_PDA_POWER<br />&#160; &#160; &#160; &#160; 通用的PDA/phone电源切换驱动.用于在内部电池和外部电源(AC/USB)之间进行切换.<br />&#160; &#160; Generic battery support using IIO<br />&#160; &#160; CONFIG_GENERIC_ADC_BATTERY<br />&#160; &#160; &#160; &#160; 为使用IIO总线(CONFIG_IIO)的电池提供的通用驱动<br />&#160; &#160; Test power driver<br />&#160; &#160; CONFIG_TEST_POWER<br />&#160; &#160; &#160; &#160; 仅供测试使用<br />&#160; &#160; SBS Compliant gas gauge<br />&#160; &#160; CONFIG_BATTERY_SBS<br />&#160; &#160; &#160; &#160; 与智能电池系统(Smart Battery System)规范兼容的气压计(集成在电池组中)支持.<br />&#160; &#160; GPIO charger<br />&#160; &#160; CONFIG_CHARGER_GPIO<br />&#160; &#160; &#160; &#160; 支持充电器通过GPIO引脚报告其在线状态.<br />&#160; &#160; Board level reset or power off<br />&#160; &#160; CONFIG_POWER_RESET<br />&#160; &#160; &#160; &#160; 允许通过操作板载的主电源,关闭或重启整个系统.<br />&#160; &#160; {这里被省略的部分,按实际电池控制芯片选择即可}</p><p>Adaptive Voltage Scaling class support<br />CONFIG_POWER_AVS<br />&#160; &#160; 自适应电压调节(Adaptive Voltage Scaling)技术能够动态的对设备工作电压进行精细的调整,拥有比DVFS更佳的电力利用效率,是一种降低功耗与优化性能并举的电源与性能管理技术.AVS在OMAP设备上也被称为&quot;SmartReflex&quot;.目前仅用于嵌入式领域.<br />Hardware Monitoring support<br />CONFIG_HWMON<br />&#160; &#160; 当前主板大多都有一个监控硬件温度/电压/风扇转速等状况的设备,请按照主板实际使用的芯片选择相应的子项.如果你不知道究竟需要使用哪个驱动,可以使用Superiotool和sensors-detect工具进行检测.另外,该功能还需要CONFIG_I2C的支持.更多详情参见&quot;Documentation/hwmon/userspace-tools&quot;文档.</p><p>&#160; &#160; Hardware Monitoring Chip debugging messages<br />&#160; &#160; CONFIG_HWMON_DEBUG_CHIP<br />&#160; &#160; &#160; &#160; 在系统日志中输出大量的I2C调试信息,仅用于故障调试<br />&#160; &#160; {被省略的部分,按实际的硬件监控芯片选择即可}<br />&#160; &#160; GPIO fan<br />&#160; &#160; CONFIG_SENSORS_GPIO_FAN<br />&#160; &#160; &#160; &#160; 连接在GPIO引脚上的风扇<br />&#160; &#160; PMBus support<br />&#160; &#160; CONFIG_PMBUS<br />&#160; &#160; &#160; &#160; 电源管理总线(Power Management Bus)是一种基于SMBus(CONFIG_I2C)的开放标准的数字电源管理协议,可以用于配置/监控/操作电源变换器,目前全球有超过40个IC厂商提供满足PMBus标准的产品.最新的PMBus+ 1.3标准增加AVS(CONFIG_POWER_AVS)支持,可以动态控制设备的工作电压.根据你的实际硬件状况选择子项.<br />&#160; &#160; ACPI 4.0 power meter<br />&#160; &#160; CONFIG_SENSORS_ACPI_POWER<br />&#160; &#160; &#160; &#160; 将ACPI 4.0(2009年6月发布)中定义的瓦特表(用于测量功耗)当做硬件监控设备导出到用户空间.需要固件支持ACPI 4.0规范,并且有一个瓦特表.不确定的选&quot;N&quot;.<br />&#160; &#160; ASUS ATK0110<br />&#160; &#160; CONFIG_SENSORS_ATK0110<br />&#160; &#160; &#160; &#160; 许多华硕主板都有这种ACPI硬件监控接口.此驱动可以通过主板固件读取风扇/电压/温度信息.</p><p>Generic Thermal sysfs driver<br />CONFIG_THERMAL<br />&#160; &#160; 为ACPI规范中定义的&quot;thermal&quot;(发热控制)提供一个通用的sysfs接口,以方便与诸如温度传感器和风扇之类的设备通信.由于目前所有PC和服务器都已支持ACPI,并且发热控制也越来越重要,所以建议选&quot;Y&quot;.详情参见&quot;Documentation/thermal/sysfs-api.txt&quot;文档.</p><p>&#160; &#160; Default Thermal governor<br />&#160; &#160; &#160; &#160; 选择默认的热调节器,建议选&quot;step_wise&quot;.<br />&#160; &#160; Fair-share thermal governor<br />&#160; &#160; CONFIG_THERMAL_GOV_FAIR_SHARE<br />&#160; &#160; &#160; &#160; 此调节器根据设备对所属区域的&quot;贡献&quot;(contribution)进行调节.<br />&#160; &#160; Step_wise thermal governor<br />&#160; &#160; CONFIG_THERMAL_GOV_STEP_WISE<br />&#160; &#160; &#160; &#160; 此调节器以线性方式进行调节,也就是每次调节都只在紧邻的两档之间进行切换.<br />&#160; &#160; User_space thermal governor<br />&#160; &#160; CONFIG_THERMAL_GOV_USER_SPACE<br />&#160; &#160; &#160; &#160; 此调节器让用户空间程序去决定如何调节<br />&#160; &#160; generic cpu cooling support<br />&#160; &#160; CONFIG_CPU_THERMAL<br />&#160; &#160; &#160; &#160; 通用的CPU降温机制(通过降低频率来实现,而不是通过ACPI接口).显然通过ACPI接口是更好的机制,所以建议选&quot;N&quot;.<br />&#160; &#160; Thermal emulation mode support<br />&#160; &#160; CONFIG_THERMAL_EMULATION<br />&#160; &#160; &#160; &#160; &quot;Thermal&quot;模拟.仅供调试使用,切勿用于生产系统!!<br />&#160; &#160; Intel PowerClamp idle injection driver<br />&#160; &#160; CONFIG_INTEL_POWERCLAMP<br />&#160; &#160; &#160; &#160; Intel PowerClamp 驱动通过利用Nehalem之后的CPU支持的&quot;package-level C-state&quot;特性,强制为在线的CPU注入&quot;idle&quot;指令(通过&quot;/sys/class/thermal/&quot;接口设定&quot;idle&quot;百分比),以确保CPU的功耗不会超过特定的阈值(发热量也就不会超过特定的阈值).这样刻意的降低系统性能峰值还有一个好处,那就是相对于传统的动态频率调节技术而言,能够达到更高的每瓦特性能.详见Documentation/thermal/intel_powerclamp.txt文档.如果你对节能和限制发热量特别在意,同时又不在乎系统峰值性能的降低,可以选&quot;Y&quot;.</p><p>Watchdog Timer Support<br />CONFIG_WATCHDOG<br />&#160; &#160; 选&quot;Y&quot;并选中下面相应的驱动之后,再创建一个主/次设备号为10/130的字符设备&quot;/dev/watchdog&quot;,即可拥有一只看门狗.其工作原理是:当/dev/watchdog设备被打开后,如果喂狗守护进程超过60秒没有喂狗(写入&quot;/dev/watchdog&quot;),那么底层的看门狗硬件将会触发整个机器硬重启(相当于按下面板上的&quot;RESET&quot;按钮).这对于提高服务器的在线率来说意义重大.详情参见&quot;Documentation/watchdog/watchdog-api.txt&quot;文档.</p><p>&#160; &#160; WatchDog Timer Driver Core<br />&#160; &#160; CONFIG_WATCHDOG_CORE<br />&#160; &#160; &#160; &#160; 看门狗核心驱动,它为所有特定于具体硬件的看门狗驱动提供了统一的框架和&quot;/dev/watchdog&quot;接口(未来还会包括sysfs接口).使用看门狗的必选.<br />&#160; &#160; Disable watchdog shutdown on close<br />&#160; &#160; CONFIG_WATCHDOG_NOWAYOUT<br />&#160; &#160; &#160; &#160; 默认情况下(此项=&quot;N&quot;)如果喂狗进程关闭&quot;/dev/watchdog&quot;文件,那么表示停止看门狗功能.开启此项后,看门狗一旦启用就不能被停止(即使关闭&quot;/dev/watchdog&quot;文件也不会停止).<br />&#160; &#160; Software watchdog<br />&#160; &#160; CONFIG_SOFT_WATCHDOG<br />&#160; &#160; &#160; &#160; 内核提供的&quot;软看门狗&quot;.使用它不需要有任何硬件的支持,但可靠性不如硬件看门狗,仅能应对喂狗进程的崩溃,不能应对内核本身的崩溃.在某些情况下(例如Oracle数据库),CONFIG_HANGCHECK_TIMER是比&quot;软看门狗&quot;更好的选择.<br />&#160; &#160; {此处省略的看门狗硬件请按照实际使用的芯片进行选择}</p><p>Sonics Silicon Backplane support<br />CONFIG_SSB<br />&#160; &#160; SSB(Sonics Silicon Backplane)是一种仅在嵌入式环境中使用的总线.<br />Broadcom specific AMBA<br />CONFIG_BCMA<br />&#160; &#160; Broadcom特有的AMBA(Advanced Microcontroller Bus Architecture)总线支持.仅用于嵌入式环境<br />Multifunction device drivers<br />&#160; &#160; MFD(多功能设备)的含义是&quot;在单个芯片上集成多个功能(GPIO,触摸屏,键盘,电流调节,电源管理...)&quot;.此种芯片通常通过一个或多个IRQ线和低速数据总线(SPI/I2C/GPIO)与主CPU进行通信.对于主系统来说,它们通过数据总线显示为一个单独的MFD设备.但透过MFD框架,又可以拥有多个相互独立的子设备(子功能).MFD多用于嵌入式环境.</p><p>&#160; &#160; Intel ICH LPC<br />&#160; &#160; CONFIG_LPC_ICH<br />&#160; &#160; &#160; &#160; LPC(Low Pin Count)总线是Intel于1998年发布的一个旨在取代传统ISA总线的接口规范,用于连接南桥和Super I/O芯片(用于连接低速外设:串口,并口,PS/2键鼠,软盘控制器,TPM(可信平台模块),温度传感器,风扇速度监测器)以及Flash芯片(BIOS).以往南桥必须保留ISA总线,以连接老旧的ISA插槽和Super I/O芯片(可以使用Superiotool和sensors-detect工具检测)以及Flash芯片.但是ISA需要占用大量针脚,主板的线路设计也比较复杂.随着ISA插槽的消失,LPC就顺理成章的出现了,它与ISA在软件层面是类似的,同时LPC工作速率由PCI总线速率同步驱动,但是引脚数大大降低,以方便在拥挤的现代主板上布局,这也是取名&quot;Low Pin Count&quot;的原因.此选项支持几乎所有Intel芯片组的LPC总线,以方便其他驱动控制MFD(目前仅有GPIO和watchdog).具体支持的芯片可以查看&quot;drivers/mfd/lpc_ich.c&quot;文件.<br />&#160; &#160; Intel SCH LPC<br />&#160; &#160; CONFIG_LPC_SCH<br />&#160; &#160; &#160; &#160; 用于 Intel Atom 处理器的 Intel SCH(System Controller Hub) LPC 总线支持.目前仅支持SMBus和GPIO.<br />&#160; &#160; {此处省略的硬件请按照实际使用的芯片进行选择}</p><p>Voltage and Current Regulator Support<br />CONFIG_REGULATOR<br />&#160; &#160; 通用的电压与电流调节器框架.除了提供通用的电压与电流调节接口外,还能通过sysfs向用户空间提供电压与电流的状态信息.目的在于通过动态调节电压和电流,降低能耗,延长电池寿命.建议笔记本用户选&quot;Y&quot;.<br />Multimedia support<br />CONFIG_MEDIA_SUPPORT<br />&#160; &#160; 多媒体设备:摄像头,视频采集,模拟电视,数字电视,机顶盒,收音机,遥控器,数字视频广播(DVB)...内核多媒体子系统由LinuxTV项目负责维护.</p><p>&#160; &#160; Cameras/video grabbers support<br />&#160; &#160; CONFIG_MEDIA_CAMERA_SUPPORT<br />&#160; &#160; &#160; &#160; 摄像头,视频采集卡<br />&#160; &#160; Analog TV support<br />&#160; &#160; CONFIG_MEDIA_ANALOG_TV_SUPPORT<br />&#160; &#160; &#160; &#160; 模拟电视信号接收器,包括那些既能接收模拟信号又能接收数字信号的电视卡<br />&#160; &#160; Digital TV support<br />&#160; &#160; CONFIG_MEDIA_DIGITAL_TV_SUPPORT<br />&#160; &#160; &#160; &#160; 数字电视信号接收器,包括那些既能接收模拟信号又能接收数字信号的电视卡<br />&#160; &#160; AM/FM radio receivers/transmitters support<br />&#160; &#160; CONFIG_MEDIA_RADIO_SUPPORT<br />&#160; &#160; &#160; &#160; AM/FM无线电接收机和发射机,包括那些带有收音机功能的电视卡<br />&#160; &#160; Remote Controller support<br />&#160; &#160; CONFIG_MEDIA_RC_SUPPORT<br />&#160; &#160; &#160; &#160; 基于红外线/射频的遥控器,用于控制视频采集卡或者电视卡.大多数电视卡和视频采集卡都需要它的支持,即使这些卡实际并不需要遥控器.<br />&#160; &#160; Media Controller API<br />&#160; &#160; CONFIG_MEDIA_CONTROLLER<br />&#160; &#160; &#160; &#160; 此API用于查询多媒体设备内部的拓扑结构,并进行动态配置.主要用于嵌入式环境中的摄像头配置.<br />&#160; &#160; V4L2 sub-device userspace API<br />&#160; &#160; CONFIG_VIDEO_V4L2_SUBDEV_API<br />&#160; &#160; &#160; &#160; 此API用于配置视频的格式/尺寸/帧率.主要用于嵌入式环境中的摄像头配置.<br />&#160; &#160; Enable advanced debug functionality on V4L2 drivers<br />&#160; &#160; CONFIG_VIDEO_ADV_DEBUG<br />&#160; &#160; &#160; &#160; 开启V4L2驱动程序的高级调试特性,不确定的选&quot;N&quot;.<br />&#160; &#160; Enable old-style fixed minor ranges on drivers/video devices<br />&#160; &#160; CONFIG_VIDEO_FIXED_MINOR_RANGES<br />&#160; &#160; &#160; &#160; 仅在你使用mknod而不是udev进行设备管理时才需要开启.不确定的选&quot;N&quot;.<br />&#160; &#160; V4L2 int device (DEPRECATED)<br />&#160; &#160; CONFIG_VIDEO_V4L2_INT_DEVICE<br />&#160; &#160; &#160; &#160; 仅用于旧式的图像传感器驱动(omap24xxcam和tcm825x),反对使用此项.选&quot;N&quot;.<br />&#160; &#160; DVB Network Support<br />&#160; &#160; CONFIG_DVB_NET<br />&#160; &#160; &#160; &#160; DVB(数字视频广播)是一系列国际公认的数字电视标准.此项提供了DVB网络(DVB标准的一部分)支持,可用于数字机顶盒(Set-Top-Box)的自动固件升级以及通过DVB卡访问互联网.<br />&#160; &#160; maximum number of DVB/ATSC adapters<br />&#160; &#160; CONFIG_DVB_MAX_ADAPTERS<br />&#160; &#160; &#160; &#160; 最大允许的DVB/ATSC电视卡数量.取值范围是[1,255],但经过测试的范围是[4,32].不确定的请保持默认值&quot;8&quot;.<br />&#160; &#160; Dynamic DVB minor allocation<br />&#160; &#160; CONFIG_DVB_DYNAMIC_MINORS<br />&#160; &#160; &#160; &#160; 为DVB设备节点动态分配次设备号,这样每张DVB卡就可以拥有最多4个同类型的设备(例如demux(分离器)和frontend(前端)).此特性需要udev的支持.<br />&#160; &#160; Compile Remote Controller keymap modules<br />&#160; &#160; CONFIG_RC_MAP<br />&#160; &#160; &#160; &#160; 将各种遥控器的keymap表编译进内核.这些表都很小,但是如果你不打算使用遥控器,或者更喜欢使用v4l-utils包内的ir-keytable工具从用户空间加载这些表,可以选&quot;N&quot;.<br />&#160; &#160; Remote controller decoders<br />&#160; &#160; CONFIG_RC_DECODERS<br />&#160; &#160; &#160; &#160; 遥控器解码器.其下的子项是各种不同的遥控通信协议.<br />&#160; &#160; Remote Controller devices<br />&#160; &#160; CONFIG_RC_DEVICES<br />&#160; &#160; &#160; &#160; 各种遥控器产品.其下子项按实际的厂商和型号选择即可.<br />&#160; &#160; Media USB Adapters<br />&#160; &#160; CONFIG_MEDIA_USB_SUPPORT<br />&#160; &#160; &#160; &#160; 各种USB总线的多媒体设备</p><p>&#160; &#160; &#160; &#160; USB Video Class (UVC)<br />&#160; &#160; &#160; &#160; CONFIG_USB_VIDEO_CLASS<br />&#160; &#160; &#160; &#160; &#160; &#160; UVC(USB Video Class)是一个开放的通用USB视频捕获标准.目前大多数摄像头都是UVC摄像头,也就是俗称的&quot;免驱摄像头&quot;.所有符合UVC规格的硬件都可以使用通用UVC驱动程序,而无需再使用专用驱动.</p><p>&#160; &#160; &#160; &#160; &#160; &#160; UVC input events device support<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 某些UVC摄像头上会带有按钮(常用于开关LED灯/拍照),此选项可以将此按钮注册为一个输入设备,以用于报告按钮事件.</p><p>&#160; &#160; &#160; &#160; GSPCA based webcams<br />&#160; &#160; &#160; &#160; CONFIG_USB_GSPCA<br />&#160; &#160; &#160; &#160; &#160; &#160; 基于GSPCA框架的摄像头驱动(依赖于CONFIG_VIDEO_V4L2),这是一位60岁的法国医生的杰作.该驱动适用于大多数常见的非UVC摄像头.具体支持的芯片列表可以查看&quot;Documentation/video4linux/gspca.txt&quot;文档.<br />&#160; &#160; &#160; &#160; {此处省略的非GSPCA摄像头,电视卡,电视棒等其他硬件请按照实际使用的芯片进行选择}</p><p>&#160; &#160; Media PCI Adapters<br />&#160; &#160; CONFIG_MEDIA_PCI_SUPPORT<br />&#160; &#160; &#160; &#160; 各种PCI/PCIe总线的多媒体设备<br />&#160; &#160; V4L platform devices<br />&#160; &#160; CONFIG_V4L_PLATFORM_DRIVERS<br />&#160; &#160; &#160; &#160; 特定于平台的V4L(Video For Linux)设备,这些设备不是通过USB/PCI这样的总线连接的.一般用于单片机之类的嵌入式环境.</p><p>&#160; &#160; &#160; &#160; SoC camera support<br />&#160; &#160; &#160; &#160; CONFIG_SOC_CAMERA<br />&#160; &#160; &#160; &#160; &#160; &#160; 所谓&quot;SoC Camera&quot;是指那些不通过PCI或USB总线连接的摄像头(例如通过I2C直接与SoC数据总线连接).此选项为这类摄像头提供了通用的支持.</p><p>&#160; &#160; &#160; &#160; &#160; &#160; platform camera support<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SOC_CAMERA_PLATFORM<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 仅用于调试目的</p><p>&#160; &#160; &#160; &#160; {此处省略的部分请按照实际使用的芯片进行选择}</p><p>&#160; &#160; Memory-to-memory multimedia devices<br />&#160; &#160; CONFIG_V4L_MEM2MEM_DRIVERS<br />&#160; &#160; &#160; &#160; 使用系统内存作为源和目标缓存(Memory-to-memory)的多媒体设备.一般的采集输出驱动仅将系统内存用于源或目标缓存之一.不确定的选&quot;N&quot;.<br />&#160; &#160; Media test drivers<br />&#160; &#160; CONFIG_V4L_TEST_DRIVERS<br />&#160; &#160; &#160; &#160; 仅用于调试目的.<br />&#160; &#160; Siano SMS1xxx based MDTV via SDIO interface<br />&#160; &#160; CONFIG_SMS_SDIO_DRV<br />&#160; &#160; &#160; &#160; 使用SDIO接口的一种移动数字电视(MDTV)卡,基于Siano SMS1xxx芯片.主要用于嵌入式设备<br />&#160; &#160; ISA and parallel port devices<br />&#160; &#160; CONFIG_MEDIA_PARPORT_SUPPORT<br />&#160; &#160; &#160; &#160; 使用ISA或并口的多媒体设备,古董级别的设备<br />&#160; &#160; Radio Adapters<br />&#160; &#160; CONFIG_RADIO_ADAPTERS<br />&#160; &#160; &#160; &#160; AM/FM无线电广播接收设备<br />&#160; &#160; FireDTV and FloppyDTV<br />&#160; &#160; CONFIG_DVB_FIREDTV<br />&#160; &#160; &#160; &#160; Digital Everywhere生产的FireWire(IEEE 1394)接口的DVB电视接收卡<br />&#160; &#160; Cypress firmware helper routines<br />&#160; &#160; CONFIG_CYPRESS_FIRMWARE<br />&#160; &#160; &#160; &#160; Cypress(赛普拉斯)多媒体产品的固件加载帮助程序.<br />&#160; &#160; Enable Remote Controller support for Siano devices<br />&#160; &#160; CONFIG_SMS_SIANO_RC<br />&#160; &#160; &#160; &#160; Siano多媒体设备遥控器<br />&#160; &#160; Enable debugfs for smsdvb<br />&#160; &#160; CONFIG_SMS_SIANO_DEBUGFS<br />&#160; &#160; &#160; &#160; 仅供调试使用,当前仅可用于Siano USB设备<br />&#160; &#160; Autoselect ancillary drivers (tuners, sensors, i2c, frontends)<br />&#160; &#160; CONFIG_MEDIA_SUBDRV_AUTOSELECT<br />&#160; &#160; &#160; &#160; 为多媒体设备驱动自动选择所有相关的辅助驱动(tuner[调谐器],sensor[传感器],视频编/解码器以及前端),以免去手动选择的麻烦.通常这是个好主意,建议选&quot;Y&quot;.但是对于某些嵌入式环境来说,却希望去掉部分有用的辅助驱动以保持内核尽可能短小,这时应该选&quot;N&quot;.<br />&#160; &#160; I2C module for IR<br />&#160; &#160; CONFIG_VIDEO_IR_I2C<br />&#160; &#160; &#160; &#160; 大多数板子都通过GPIO总线连接红外线芯片,但少数板子却使用I2C总线连接.此项即是对I2C总线连接的红外线芯片提供支持.<br />&#160; &#160; Encoders, decoders, sensors and other helper chips<br />&#160; &#160; &#160; &#160; 编码器,解码器,传感器,混频器...等辅助芯片<br />&#160; &#160; Sensors used on soc_camera driver<br />&#160; &#160; &#160; &#160; 用于&quot;SoC Camera&quot;(CONFIG_SOC_CAMERA)的各种传感器<br />&#160; &#160; Customize TV tuners<br />&#160; &#160; &#160; &#160; 各种专用的电视调谐器<br />&#160; &#160; Customise DVB Frontends<br />&#160; &#160; &#160; &#160; 各种专用的数字电视前端</p><p>Graphics support<br />&#160; &#160; 图形设备/显卡支持.对于不需要使用图形界面以及不需要进行图形渲染的用户来说,以下所有选项都应该选&quot;N&quot;.</p><p>&#160; &#160; /dev/agpgart (AGP Support)<br />&#160; &#160; CONFIG_AGP<br />&#160; &#160; &#160; &#160; GART(图形地址重映射表)可以看做一种被各种显卡(不只是AGP显卡,还包括PCI-E显卡与集成显卡以及核心显卡)使用的&quot;伪IOMMU&quot;(参见CONFIG_GART_IOMMU选项),它将物理地址不连续的系统内存映射成连续的&quot;显存&quot;供GPU使用.当物理显存容量不够时(大多数集成显卡甚至根本没有物理显存),GART允许通过DMA(直接内存访问)方式将这部分&quot;显存&quot;用于纹理贴图,Z轴缓冲,ALPHA混合,多边形网格生成...等各种3D操作.如果没有GART支持,OpenGL直接渲染将会变得特别慢.GLX与DRI(CONFIG_DRM)也依赖于此.简而言之,需要使用图形化界面的人都应该选&quot;Y&quot;.不需要图形界面的用户应该选&quot;N&quot;.[注意]对于使用304或更老版本的nVidia闭源驱动的用户,如果使用的是某些老旧的芯片组,那么此处应该选&quot;N&quot;.因为在这些特定的芯片组上,闭源驱动自己的agpgart实现(NvAGP)是更好的选择.[提示]老版本的AMD/ATI/NVIDIA闭源驱动都曾经有自己的agpgart实现,但在新版本中都已经被移除.而Intel显卡一直使用的都是内核的agpgart实现.</p><p>&#160; &#160; &#160; &#160; AMD Opteron/Athlon64 on-CPU GART support<br />&#160; &#160; &#160; &#160; CONFIG_AGP_AMD64<br />&#160; &#160; &#160; &#160; &#160; &#160; 该项仅适用于如下AMD处理器:(1)AMD K8微架构CPU[cpu family : 15] (2)AMD K10微架构CPU[cpu family : 16] (3)AMD 推土机微架构CPU[cpu family : 21 并且 model: 小于15].[提示]除了前面列出的三种CPU外,其他AMD处理器(例如A4/A6/A8系列APU)并不需要此选项.具体支持的CPU可以查看&quot;arch/x86/kernel/amd_nb.c&quot;文件中的&quot;AMD_NB_GART&quot;常量的使用.<br />&#160; &#160; &#160; &#160; Intel 440LX/BX/GX, I8xx and E7x05 chipset support<br />&#160; &#160; &#160; &#160; CONFIG_AGP_INTEL<br />&#160; &#160; &#160; &#160; &#160; &#160; 该项仅适用于:(1)某些Intel芯片组(440LX/BX/GX, 8xx系列, E7205/E7505/E7221, 9xx系列, 所有3/4系列). (2)全部Intel集成显卡(包括Intel核心显卡).具体支持的芯片组和集显可以查看&quot;drivers/char/agp/intel-*&quot;系列文件.[提示]如果你使用的既不是此处所列的芯片组(例如Xeon芯片组或者5/6/7/8系列芯片组)也不是Intel的集成显卡(例如AMD/nVidia独立显卡),那么应该选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; SiS chipset support<br />&#160; &#160; &#160; &#160; CONFIG_AGP_SIS<br />&#160; &#160; &#160; &#160; &#160; &#160; 该项仅适用于SiS芯片组,但不包括上世纪古董级的SiS 5591/5592芯片组.<br />&#160; &#160; &#160; &#160; VIA chipset support<br />&#160; &#160; &#160; &#160; CONFIG_AGP_VIA<br />&#160; &#160; &#160; &#160; &#160; &#160; 该项仅适用于VIA芯片组.具体支持的芯片组型号可以查看&quot;drivers/char/agp/via-agp.c&quot;中的&quot;via_agp_device_ids&quot;数组.</p><p>&#160; &#160; VGA Arbitration<br />&#160; &#160; CONFIG_VGA_ARB<br />&#160; &#160; &#160; &#160; 图形设备是通过I/O或内存的特定地址范围进行访问的.大多数现代的显卡都允许对这个范围进行重新定位,但是某些基于PCI的&quot;传统&quot;VGA设备仍然使用&quot;硬编码&quot;的地址范围,无法对其进行重新定位.如果系统上有多个这样的&quot;传统&quot;VGA设备,就会造成地址冲突,这时候就需要进行VGA仲裁.此选项主要用于处理多个显卡(比如集成显卡和独立显卡)之间的切换.如果你的系统上有多个显卡,可以选&quot;Y&quot;,否则应该选&quot;N&quot;.详情参见&quot;Documentation/vgaarbiter.txt&quot;文档.</p><p>&#160; &#160; &#160; &#160; Maximum number of GPUs<br />&#160; &#160; &#160; &#160; CONFIG_VGA_ARB_MAX_GPUS<br />&#160; &#160; &#160; &#160; &#160; &#160; 最多允许支持多少个显卡</p><p>&#160; &#160; Laptop Hybrid Graphics - GPU switching support<br />&#160; &#160; CONFIG_VGA_SWITCHEROO<br />&#160; &#160; &#160; &#160; 支持多个显卡之间的切换(通常是在集显和独显之间),这项技术有多个不同的名称:&quot;Hybrid Graphics&quot;,&quot;PowerXpress&quot;,&quot;HybridPower&quot;.这项特性主要用于笔记本,台式机一般不支持.<br />&#160; &#160; Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)<br />&#160; &#160; CONFIG_DRM<br />&#160; &#160; &#160; &#160; DRI(Direct Rendering Infrastructure)允许应用程序以高效安全的方式直接访问GPU,主要用于硬件3D加速.桌面用户建议选&quot;Y&quot;.[提示]KMS+DRI2+GEM+UXA+Wayland是Linux图形革命的基石,这里还有两篇需要越墙的文章可以帮助加深对Linux图形技术的理解:(1)关于Xorg的一些整理,(2)厘清了xorg里的一些概念.</p><p>&#160; &#160; &#160; &#160; Allow to specify an EDID data set instead of probing for it<br />&#160; &#160; &#160; &#160; CONFIG_DRM_LOAD_EDID_FIRMWARE<br />&#160; &#160; &#160; &#160; &#160; &#160; EDID(扩展显示器识别数据)是一种VESA(视频电子标准协会)制定的标准数据格式,其中包含有关显示器的各种参数:供应商信息,最大图像尺寸,颜色设置,厂商预设置,频率范围,显示器名,序列号字符串等等.EDID保存在显示器的PROM或EEPROM中,显卡或read-edid一般通过I2C总线使用DDC协议进行读取.但是在某些脑残的硬件(显示器或显卡)上却不能正确获取EDID数据.此选项就是为了解决这个问题而设置的.此选项可以允许从&quot;/lib/firmware/&quot;目录加载EDID数据,或者将EDID数据在编译时直接嵌入内核.不确定的选&quot;N&quot;.详情参见&quot;Documentation/EDID/HOWTO.txt&quot;文档.[提示]EDID的继任者是DisplayID,但目前DisplayID尚未被广泛应用.</p><p>&#160; &#160; I2C encoder or helper chips<br />&#160; &#160; &#160; &#160; I2C编码器或辅助芯片</p><p>&#160; &#160; &#160; &#160; Chrontel ch7006 TV encoder<br />&#160; &#160; &#160; &#160; CONFIG_DRM_I2C_CH7006<br />&#160; &#160; &#160; &#160; &#160; &#160; Chrontel ch7006 电视解码器支持.某些nVidia显卡上有这个芯片.此选项仅对NVIDIA显卡开源驱动(nouveau)有意义.<br />&#160; &#160; &#160; &#160; Silicon Image sil164 TMDS transmitter<br />&#160; &#160; &#160; &#160; CONFIG_DRM_I2C_SIL164<br />&#160; &#160; &#160; &#160; &#160; &#160; Silicon Image SIL164 最小化传输差分信号(TMDS)发送器,用于实现DVI信号的合成和发送.TMDS不如LVDS应用广泛,仅在某些nVidia显卡上有出现.<br />&#160; &#160; &#160; &#160; NXP Semiconductors TDA998X HDMI encoder<br />&#160; &#160; &#160; &#160; CONFIG_DRM_I2C_NXP_TDA998X<br />&#160; &#160; &#160; &#160; &#160; &#160; NXP(恩智浦) TDA998X HDMI 发射器.用于实现HDMI信号的合成和发送.</p><p>&#160; &#160; 3dfx Banshee/Voodoo3+<br />&#160; &#160; CONFIG_DRM_TDFX<br />&#160; &#160; &#160; &#160; 3dfx Banshee/Voodoo3+ 系列古董显卡<br />&#160; &#160; ATI Rage 128<br />&#160; &#160; CONFIG_DRM_R128<br />&#160; &#160; &#160; &#160; ATI Rage 128 系列古董显卡<br />&#160; &#160; ATI Radeon<br />&#160; &#160; CONFIG_DRM_RADEON<br />&#160; &#160; &#160; &#160; Radeon系列显卡开源驱动(radeon).[提示]R600及更新的GPU需要额外的固件/微代码(radeon-ucode)的帮助才能使用开源驱动.如果你打算在R600及更新的GPU上使用此开源驱动,那么建议选&quot;M&quot;而不是&quot;Y&quot;.因为&quot;Y&quot;需要将微代码(通常位于&quot;/lib/firmware/radeon/&quot;目录)一起编译进内核(使用CONFIG_EXTRA_FIRMWARE=&quot;radeon/GPU-MODEL.bin&quot;).[注意]如果你打算使用目前尚不支持KMS的Radeon闭源驱动(Catalyst/fglrx),那么此项必须选&quot;N&quot;.</p><p>&#160; &#160; &#160; &#160; Enable userspace modesetting on radeon (DEPRECATED)<br />&#160; &#160; &#160; &#160; CONFIG_DRM_RADEON_UMS<br />&#160; &#160; &#160; &#160; &#160; &#160; 禁用KMS支持.目的是为了兼容远古版本的DDX驱动.除非你有充足的理由,否则请选&quot;N&quot;.</p><p>&#160; &#160; Nouveau (nVidia) cards<br />&#160; &#160; CONFIG_DRM_NOUVEAU<br />&#160; &#160; &#160; &#160; nVidia系列显卡开源驱动(nouveau).[注意]如果你打算使用也许永远不会支持KMS的nVidia闭源驱动(nvidia-drivers),那么此项必须选&quot;N&quot;.</p><p>&#160; &#160; &#160; &#160; Maximum debug level<br />&#160; &#160; &#160; &#160; CONFIG_NOUVEAU_DEBUG<br />&#160; &#160; &#160; &#160; &#160; &#160; 最大调试级别,也就是最高允许显示的调试信息详细程度.取值范围是[0,7],数字越大,在内核中编入的调试信息就越多,建议设为&quot;4&quot;,过大的级别会导致驱动运行缓慢.<br />&#160; &#160; &#160; &#160; Default debug level<br />&#160; &#160; &#160; &#160; CONFIG_NOUVEAU_DEBUG_DEFAULT<br />&#160; &#160; &#160; &#160; &#160; &#160; 默认调试级别,必须小于等于CONFIG_NOUVEAU_DEBUG的值.数字越大,输出的调试信息就越详细,建议设为&quot;2&quot;,过大的级别会导致驱动运行缓慢.<br />&#160; &#160; &#160; &#160; Support for backlight control<br />&#160; &#160; &#160; &#160; CONFIG_DRM_NOUVEAU_BACKLIGHT<br />&#160; &#160; &#160; &#160; &#160; &#160; 允许调整显示器背光亮度,主要用于液晶显示屏等使用背光技术的显示器.建议选&quot;Y&quot;.</p><p>&#160; &#160; Intel I810<br />&#160; &#160; CONFIG_DRM_I810<br />&#160; &#160; &#160; &#160; 专为古董级Intel集成显卡(i810/i815)准备的驱动<br />&#160; &#160; Intel 8xx/9xx/G3x/G4x/HD Graphics<br />&#160; &#160; CONFIG_DRM_I915<br />&#160; &#160; &#160; &#160; Intel GMA(芯片组集成显卡)与HD Graphics(核心集成显卡)开源驱动(intel).除了个别老古董(i810/i815)与基于PowerVR的芯片(Atom z5xx)之外,此驱动支持所有Intel集成显卡(包括Atom中的集成显卡).[提示]三大主流显卡厂商对Linux的驱动支持,Intel是最彻底的,官方只提供开源驱动.</p><p>&#160; &#160; &#160; &#160; Enable modesetting on intel by default<br />&#160; &#160; &#160; &#160; CONFIG_DRM_I915_KMS<br />&#160; &#160; &#160; &#160; &#160; &#160; 默认开启KMS(Kernel Mode Setting)特性,作用是可以在内核级别(而不是用户级别)设置显示分辨率和颜色深度.KMS使用了更新的技术,可以减少失真,增强3D性能,甚至可以使用内核的节能功能.KMS是大势所趋,只要用户层软件不太旧(2010年之后),都建议开启.[注意]开启此项后,应该:(1)关闭CONFIG_FB_INTEL选项并禁止加载任何framebuffer驱动(包括CONFIG_FB_UVESA),(2)取消内核引导参数&quot;vga=xxx&quot;和&quot;video=xxx&quot;,(3)必须开启CONFIG_FRAMEBUFFER_CONSOLE选项.</p><p>&#160; &#160; Matrox g200/g400<br />&#160; &#160; CONFIG_DRM_MGA<br />&#160; &#160; &#160; &#160; Matrox G200, G400, G450 系列古董显卡<br />&#160; &#160; SiS video cards<br />&#160; &#160; CONFIG_DRM_SIS<br />&#160; &#160; &#160; &#160; SiS 630 系列古董显卡<br />&#160; &#160; Via unichrome video cards<br />&#160; &#160; CONFIG_DRM_VIA<br />&#160; &#160; &#160; &#160; Via unichrome 系列古董显卡<br />&#160; &#160; Savage video cards<br />&#160; &#160; CONFIG_DRM_SAVAGE<br />&#160; &#160; &#160; &#160; Savage3D/4/SuperSavage/Pro/Twister 系列古董显卡<br />&#160; &#160; DRM driver for VMware Virtual GPU<br />&#160; &#160; CONFIG_DRM_VMWGFX<br />&#160; &#160; &#160; &#160; VMware SVGA2 虚拟显卡驱动.支持3D加速,支持KMS.如果你打算在VMware内使用图形化界面,建议选&quot;Y&quot;.</p><p>&#160; &#160; &#160; &#160; Enable framebuffer console under vmwgfx by default<br />&#160; &#160; &#160; &#160; CONFIG_DRM_VMWGFX_FBCON<br />&#160; &#160; &#160; &#160; &#160; &#160; 如果你使用的VMware Tools不太旧就选&quot;Y&quot;.</p><p>&#160; &#160; Intel GMA5/600 KMS Framebuffer<br />&#160; &#160; CONFIG_DRM_GMA500<br />&#160; &#160; &#160; &#160; Intel基于Poulsbo架构的集成显卡实验性支持.此类显卡并不常见,仅用于Atom z5xx系列处理器.<br />&#160; &#160; DisplayLink<br />&#160; &#160; CONFIG_DRM_UDL<br />&#160; &#160; &#160; &#160; DisplayLink是一个通过USB接口实现显示器连接到电脑的连接技术,可以非常简单的连接电脑和多个显示设备,常用于通过USB接口扩展虚拟的电脑的桌面.目前DisplayLink技术最多可以支持6台显示器同时显示32位色彩的任意分辨率画面.<br />&#160; &#160; AST server chips<br />&#160; &#160; CONFIG_DRM_AST<br />&#160; &#160; &#160; &#160; AST系列显卡实验性支持.此种显卡仅出现在服务器环境.<br />&#160; &#160; Kernel modesetting driver for MGA G200 server engines<br />&#160; &#160; CONFIG_DRM_MGAG200<br />&#160; &#160; &#160; &#160; MGA G200服务器芯片组的KMS支持.[注意]仅用于服务器芯片,不要用于桌面芯片!<br />&#160; &#160; Cirrus driver for QEMU emulated device<br />&#160; &#160; CONFIG_DRM_CIRRUS_QEMU<br />&#160; &#160; &#160; &#160; 这是QEMU虚拟的cirrus显卡KMS驱动.千万不要用于真正的物理cirrus显卡.<br />&#160; &#160; QXL virtual GPU<br />&#160; &#160; CONFIG_DRM_QXL<br />&#160; &#160; &#160; &#160; 用于SPICE的虚拟桌面的QXL虚拟显卡(cirrus)KMS支持.<br />&#160; &#160; Lowlevel video output switch controls<br />&#160; &#160; CONFIG_VIDEO_OUTPUT_CONTROL<br />&#160; &#160; &#160; &#160; 底层视频输出开关控制(通过sysfs接口).这是ACPI视频控制所依赖的功能,也被许多显卡驱动所依赖.选&quot;Y&quot;.<br />&#160; &#160; Support for frame buffer devices<br />&#160; &#160; CONFIG_FB<br />&#160; &#160; &#160; &#160; 帧缓冲(framebuffer)设备(/dev/fb*)是一种对图形硬件的抽象,它把屏幕上的所有像素点都直接映射到一段线性的内存空间,这样就为软件提供了访问图形硬件的统一接口,这些软件不需要了解硬件的底层细节(例如寄存器),只要简单的改变相应内存位置的值,就能改变屏幕上显示的内容(颜色/亮度等).Xorg的高度可移植性也就根源于此.图形界面用户必选.</p><p>&#160; &#160; &#160; &#160; Enable firmware EDID<br />&#160; &#160; &#160; &#160; CONFIG_FIRMWARE_EDID<br />&#160; &#160; &#160; &#160; &#160; &#160; EDID(扩展显示器识别数据)保存在显示器的PROM或EEPROM中,显卡或read-edid一般通过I2C总线使用DDC协议进行读取.但是在某些脑残的硬件(显示器或显卡)上却不能正确获取EDID数据.此选项就是为了解决这个问题而设置的(参见CONFIG_DRM_LOAD_EDID_FIRMWARE).开启此项后,将允许三种驱动(nvidiafb,i810fb,savagefb)通过Video BIOS获取EDID.建议选&quot;N&quot;,仅在你确实遭遇EDID读取失败,并且确实需要使用nvidiafb/i810fb/savagefb驱动的时候才需要考虑选&quot;Y&quot;.[提示]EDID的继任者是DisplayID,但目前DisplayID尚未被广泛应用.<br />&#160; &#160; &#160; &#160; Framebuffer foreign endianness support<br />&#160; &#160; &#160; &#160; CONFIG_FB_FOREIGN_ENDIAN<br />&#160; &#160; &#160; &#160; &#160; &#160; 如果你想混合使用不同字节序的主板和显卡(在Little-Endian主板上使用Big-Endian显卡,或者相反),可以选&quot;Y&quot;.绝大多数人都应该选&quot;N&quot;.除非你确实知道自己在做什么.<br />&#160; &#160; &#160; &#160; Enable Video Mode Handling Helpers<br />&#160; &#160; &#160; &#160; CONFIG_FB_MODE_HELPERS<br />&#160; &#160; &#160; &#160; &#160; &#160; 使用GTF和EDID解析程序来帮助处理显示模式,建议选&quot;N&quot;,若有其他选项依赖于它时,会自动选上.<br />&#160; &#160; &#160; &#160; Enable Tile Blitting Support<br />&#160; &#160; &#160; &#160; CONFIG_FB_TILEBLITTING<br />&#160; &#160; &#160; &#160; &#160; &#160; 此项仅对matroxfb驱动有意义,建议选&quot;N&quot;,若有其他选项依赖于它时,会自动选上<br />&#160; &#160; &#160; &#160; {虽然此处省略的各种Framebuffer驱动提供了对图形硬件的统一抽象,让Xorg不必与硬件直接对话,但这些Framebuffer驱动仅能提供2D功能,在如今3D硬件加速和视频硬件解码早已铺天盖地的情况下,让Xorg直接与GPU硬件对话才更符合潮流,而传统的Framebuffer驱动(CONFIG_FB_*)反而成为了绊脚石,不但没有必要与新的DRI驱动(CONFIG_DRM_*)共存,而且还会相互冲突.所以切勿选中这里省略的任何Framebuffer驱动.除非你确实知道自己在做什么.}</p><p>&#160; &#160; Exynos Video driver support<br />&#160; &#160; CONFIG_EXYNOS_VIDEO<br />&#160; &#160; &#160; &#160; 三星基于ARM构的EXYNOS处理器内置显卡<br />&#160; &#160; Backlight &amp; LCD device support<br />&#160; &#160; CONFIG_BACKLIGHT_LCD_SUPPORT<br />&#160; &#160; &#160; &#160; 背光与液晶支持.</p><p>&#160; &#160; &#160; &#160; Lowlevel LCD controls<br />&#160; &#160; &#160; &#160; CONFIG_LCD_CLASS_DEVICE<br />&#160; &#160; &#160; &#160; &#160; &#160; 液晶(LCD)底层控制框架.用于控制对比度和LCD开关(而不是背光亮度).选中此项后还需要从子项中选择特定于硬件的驱动.这些LCD硬件目前仅用于智能手机/平板电脑等嵌入式环境.<br />&#160; &#160; &#160; &#160; Lowlevel Backlight controls<br />&#160; &#160; &#160; &#160; CONFIG_BACKLIGHT_CLASS_DEVICE<br />&#160; &#160; &#160; &#160; &#160; &#160; 背光(Backlight)底层控制框架.用于控制背光源的亮度和开关.选中此项后还需要从子项中选择特定于硬件的驱动.</p><p>&#160; &#160; &#160; &#160; &#160; &#160; Generic PWM based Backlight Driver<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_BACKLIGHT_PWM<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 液晶显示器(包括台式机和笔记本)的背光亮度调整方式有两种:(1)PWM调光,(2)非PWM调光.目前主流的液晶显示器基本上都是PWM调光,仅有少数是非PWM调光型号(而且越来越少).<br />&#160; &#160; &#160; &#160; &#160; &#160; Apple Backlight Driver<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_BACKLIGHT_APPLE<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 基于Intel处理器的苹果Macbook笔记本和iMac台式机显示器背光控制<br />&#160; &#160; &#160; &#160; &#160; &#160; {其它省略的驱动仅用于智能手机/平板电脑等嵌入式环境}</p><p>&#160; &#160; Console display driver support<br />&#160; &#160; &#160; &#160; 控制台显示驱动.每个人都需要.</p><p>&#160; &#160; &#160; &#160; VGA text console<br />&#160; &#160; &#160; &#160; CONFIG_VGA_CONSOLE<br />&#160; &#160; &#160; &#160; &#160; &#160; VGA文本控制台,必选.除非你知道自己在做什么</p><p>&#160; &#160; &#160; &#160; &#160; &#160; Enable Scrollback Buffer in System RAM<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_VGACON_SOFT_SCROLLBACK<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 标准的VGA控制台回滚缓冲区位于VGA RAM中,但是其空间非常小,并且是固定的.开启此项后,就可以在内存中开辟更大的屏幕回滚缓冲区,这将允许你回滚更多的屏幕(Shift+PageUp),但是控制台的速度会略有下降.经常使用文本控制台的可以选&quot;Y&quot;,不确定的选&quot;N&quot;.</p><p>&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; Scrollback Buffer Size (in KB)<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; CONFIG_VGACON_SOFT_SCROLLBACK_SIZE<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 在内存中开辟的屏幕回滚缓冲区大小.每个80x25屏幕需要4KB内存</p><p>&#160; &#160; &#160; &#160; Framebuffer Console support<br />&#160; &#160; &#160; &#160; CONFIG_FRAMEBUFFER_CONSOLE<br />&#160; &#160; &#160; &#160; &#160; &#160; 基于Framebuffer的控制台驱动.KMS特性依赖于它.桌面用户建议开启(使用了CONFIG_DRM_*的用户必须开启)</p><p>&#160; &#160; &#160; &#160; &#160; &#160; Map the console to the primary display device<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 选&quot;Y&quot;表示自动将控制台映射到&quot;主&quot;显卡,选&quot;N&quot;表示自动将控制台映射到第一个加载的显卡驱动.无论是否选中此项,都可以通过&quot;fbcon=map:N&quot;内核引导参数更改映射关系.仅在系统拥有多个显卡时此选项才有意义.参见&quot;Documentation/fb/fbcon.txt&quot;文档.<br />&#160; &#160; &#160; &#160; &#160; &#160; Framebuffer Console Rotation<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_FRAMEBUFFER_CONSOLE_ROTATION<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 显示画面旋转,由于是纯软件方式实现,所以会大大降低显示速度,除非你确实需要,否则建议选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; &#160; &#160; Support for the Framebuffer Console Decorations<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_FB_CON_DECOR<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 允许在控制台上显示背景图像,例如在系统启动时,在一堆滚动的字符背后显示漂亮的背景图像.当然,要实现这个功能,还需要用户空间程序的帮助.详见&quot;Documentation/fb/fbcondecor.txt&quot;文档以及fbsplash的wiki页.</p><p>&#160; &#160; &#160; &#160; Select compiled-in fonts<br />&#160; &#160; &#160; &#160; CONFIG_FONTS<br />&#160; &#160; &#160; &#160; &#160; &#160; 选择内嵌到内核中的字体(点阵字库,仅包含ASCII字符和扩展ASCII字符,共256个).选&quot;N&quot;表示内嵌自动选择的默认字体,选&quot;Y&quot;表示可以手动选择内嵌的字体.[提示]可到drivers/video/console目录下找到相应的&quot;font_*.c&quot;文件,将其中的&quot;0&quot;全部替换为空格,即可看到点阵字符.</p><p>&#160; &#160; &#160; &#160; &#160; &#160; VGA 8x8 font<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_FONT_8x8<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 这是传统上高分辨率(高于80x50)下使用的字体.因为点阵太小,所以显示的字体质量非常低劣.<br />&#160; &#160; &#160; &#160; &#160; &#160; VGA 8x16 font<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_FONT_8x16<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 这是传统上的标准字体(用于80x25),也是默认内嵌的字体,最为常见.建议选&quot;Y&quot;.<br />&#160; &#160; &#160; &#160; &#160; &#160; {其它字体省略}</p><p>&#160; &#160; Bootup logo<br />&#160; &#160; CONFIG_LOGO<br />&#160; &#160; &#160; &#160; 启动时显示linux的logo(一幅企鹅图像),企鹅的数量表示内核检测到的CPU数目,喜欢炫一下的就选吧.子项是三种不同质量的图片,分别是黑白,16色,224色.按需选择.</p><p>Sound card support<br />CONFIG_SOUND<br />&#160; &#160; 声卡支持</p><p>&#160; &#160; Preclaim OSS device numbers<br />&#160; &#160; CONFIG_SOUND_OSS_CORE_PRECLAIM<br />&#160; &#160; &#160; &#160; 开启此项后,只要OSS支持被开启,无论相应的模块是否被加载,内核都会预先声明所有OSS设备号.当其中一个设备被打开时,将会尝试使用&quot;sound-slot/service-*&quot;与&quot;char-major-*&quot;两种别名去加载相应的模块.关闭此项后, 内核将仅声明实际使用中的OSS设备号.当打开一个不存在的设备时,将会仅尝试使用标准的&quot;char-major-*&quot;别名去加载相应的模块.由于&quot;sound-slot/service-*&quot;将会在未来移除,此选项仅是一个为了兼容性而保留的过渡选项,未来会被移除(相当于设为&quot;N&quot;).<br />&#160; &#160; Advanced Linux Sound Architecture<br />&#160; &#160; CONFIG_SND<br />&#160; &#160; &#160; &#160; ALSA(高级Linux声音架构)是内核默认的声音子系统.ALSA除了提供了声音设备的驱动,还提供了一个用户空间的函数库,这样用户空间程序就可以通过统一的API使用驱动功能,而不必直接与内核驱动交互.[吐槽]Linux音频系统,比意大利面条更混乱的系统!</p><p>&#160; &#160; &#160; &#160; Sequencer support<br />&#160; &#160; &#160; &#160; CONFIG_SND_SEQUENCER<br />&#160; &#160; &#160; &#160; &#160; &#160; MIDI音序器支持,如果你是MIDI玩家,请选&quot;Y&quot;,但如果你不知道MIDI是什么,请选&quot;N&quot;.</p><p>&#160; &#160; &#160; &#160; &#160; &#160; Sequencer dummy client<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SND_SEQ_DUMMY<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 除非你要同时连接到多个MIDI设备或应用程序,否则请不要选中</p><p>&#160; &#160; &#160; &#160; OSS Mixer API<br />&#160; &#160; &#160; &#160; CONFIG_SND_MIXER_OSS<br />&#160; &#160; &#160; &#160; &#160; &#160; 模拟OSS混音器API(/dev/mixer*),某些老旧的程序仍然使用它,建议不选<br />&#160; &#160; &#160; &#160; OSS PCM (digital audio) API<br />&#160; &#160; &#160; &#160; CONFIG_SND_PCM_OSS<br />&#160; &#160; &#160; &#160; &#160; &#160; 模拟OSS数字音频(PCM)API(/dev/dsp*),某些老旧的程序仍然使用它,建议不选.</p><p>&#160; &#160; &#160; &#160; &#160; &#160; OSS PCM (digital audio) API - Include plugin system<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SND_PCM_OSS_PLUGINS<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 让ALSA模拟的 OSS PCM API 支持channel/format/rate的转换.选&quot;N&quot;,除非你确实知道为什么要选&quot;Y&quot;.</p><p>&#160; &#160; &#160; &#160; OSS Sequencer API<br />&#160; &#160; &#160; &#160; CONFIG_SND_SEQUENCER_OSS<br />&#160; &#160; &#160; &#160; &#160; &#160; 模拟OSS音序器(/dev/sequencer,/dev/music),某些老旧的程序仍然使用它,建议不选<br />&#160; &#160; &#160; &#160; HR-timer backend support<br />&#160; &#160; &#160; &#160; CONFIG_SND_HRTIMER<br />&#160; &#160; &#160; &#160; &#160; &#160; 允许将高精度定时器(CONFIG_HIGH_RES_TIMERS)用作ALSA高精度时间源,建议选中</p><p>&#160; &#160; &#160; &#160; &#160; &#160; Use HR-timer as default sequencer timer<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SND_SEQ_HRTIMER_DEFAULT<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 将高精度定时器(HR-timer)当作默认的时序脉冲发生器时间源,建议选中</p><p>&#160; &#160; &#160; &#160; Dynamic device file minor numbers<br />&#160; &#160; &#160; &#160; CONFIG_SND_DYNAMIC_MINORS<br />&#160; &#160; &#160; &#160; &#160; &#160; 动态分配ALSA设备的次设备号.如果你有8个以上的声卡,可以选&quot;Y&quot;,否则应该选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; Support old ALSA API<br />&#160; &#160; &#160; &#160; CONFIG_SND_SUPPORT_OLD_API<br />&#160; &#160; &#160; &#160; &#160; &#160; 支持已被废弃的老旧版本的ALSA PCM API,选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; Verbose procfs contents<br />&#160; &#160; &#160; &#160; CONFIG_SND_VERBOSE_PROCFS<br />&#160; &#160; &#160; &#160; &#160; &#160; 仅供调试使用<br />&#160; &#160; &#160; &#160; Verbose printk<br />&#160; &#160; &#160; &#160; CONFIG_SND_VERBOSE_PRINTK<br />&#160; &#160; &#160; &#160; &#160; &#160; 仅供调试使用<br />&#160; &#160; &#160; &#160; Debug<br />&#160; &#160; &#160; &#160; CONFIG_SND_DEBUG<br />&#160; &#160; &#160; &#160; &#160; &#160; 仅供调试使用<br />&#160; &#160; &#160; &#160; Generic sound devices<br />&#160; &#160; &#160; &#160; CONFIG_SND_DRIVERS<br />&#160; &#160; &#160; &#160; &#160; &#160; 通用声音设备</p><p>&#160; &#160; &#160; &#160; &#160; &#160; PC-Speaker support (READ HELP!)<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SND_PCSP<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 如果你有声卡,务必选&quot;N&quot;.如果你的系统没有声卡,仅在认真阅读了帮助之后,确实知道自己在干什么的情况下,才可以开启此项.<br />&#160; &#160; &#160; &#160; &#160; &#160; Dummy (/dev/null) soundcard<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SND_DUMMY<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 仅供调试使用<br />&#160; &#160; &#160; &#160; &#160; &#160; Generic loopback driver (PCM)<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SND_ALOOP<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; PCM环回(loopback)设备非常类似于网卡的环回接口(127.0.0.1),它会将输入的音频流原封不动的返回给用户空间.PCM回环设备常用来将A程序输出的音频流作为B程序的输入(A以写模式打开环回设备,而B以读模式打开),比如用B程序记录A程序的输出,或做进一步的处理.<br />&#160; &#160; &#160; &#160; &#160; &#160; Virtual MIDI soundcard<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SND_VIRMIDI<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 虚拟MIDI驱动,允许将使用原始MIDI设备的应用程序连接到音序器客户端,如果你不知道MIDI是什么就选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; &#160; &#160; {此处省略几种MIDI设备(事实上大部分人都没有这些设备)}<br />&#160; &#160; &#160; &#160; &#160; &#160; AC97 Power-Saving Mode<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SND_AC97_POWER_SAVE<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; AC97(Audio Codec 97)自动节能模式支持.在此模式下,如果音频设备闲置超过&quot;/sys/module/snd_ac97_codec/parameters/power_save&quot;设定的秒数(&quot;0&quot;表示关闭节能模式),那么驱动程序将会关闭音频设备以节约电力.建议选&quot;Y&quot;.详见&quot;Documentation/sound/alsa/powersave.txt&quot;文档.</p><p>&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; Default time-out for AC97 power-save mode<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SND_AC97_POWER_SAVE_DEFAULT<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 默认的超时秒数,也就是&quot;/sys/module/snd_ac97_codec/parameters/power_save&quot;的默认值.&quot;0&quot;表示关闭节能模式.建议设为&quot;10&quot;这个久经考验的合理数字.</p><p>&#160; &#160; &#160; &#160; ISA sound devices<br />&#160; &#160; &#160; &#160; CONFIG_SND_ISA<br />&#160; &#160; &#160; &#160; &#160; &#160; 基于ISA总线的声卡,已经绝种了.<br />&#160; &#160; &#160; &#160; PCI sound devices<br />&#160; &#160; &#160; &#160; CONFIG_SND_PCI<br />&#160; &#160; &#160; &#160; &#160; &#160; 基于PCI总线的声卡,绝大多数声卡都是PCI接口</p><p>&#160; &#160; &#160; &#160; &#160; &#160; {此处省略的声卡按实际情况选择即可(都是些比较旧的AC97声卡)}<br />&#160; &#160; &#160; &#160; &#160; &#160; Intel HD Audio<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SND_HDA_INTEL<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 符合Intel HD Audio规范的声卡是目前的主流声卡.如果选&quot;M&quot;,那么下面的每个驱动也都会被编译成模块,如果选&quot;Y&quot;,那么下面的每个驱动也都会直接编译进内核.</p><p>&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; Pre-allocated buffer size for HD-audio driver<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SND_HDA_PREALLOC_SIZE<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 为HD-audio驱动程序预先分配的缓冲区大小(kB),较大的值拥有更好的性能,例如对于使用PulseAudio声音服务器的系统来说,推荐使用&quot;4096&quot;.默认值&quot;64&quot;仅仅是为了历史兼容的原因.[提示]ALSA+PulseAudio是目前的主流搭配.<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; Build hwdep interface for HD-audio driver<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SND_HDA_HWDEP<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 为HD-audio驱动添加hwdep接口.仅用于调试目的<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; Support digital beep via input layer<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SND_HDA_INPUT_BEEP<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 为HD-audio驱动添加数字蜂鸣(beep)接口.如果你的主板没有蜂鸣器(不是能够播放音乐的扬声器),可以考虑选&quot;Y&quot;.</p><p>&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; Digital beep registration mode (0=off, 1=on)<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SND_HDA_INPUT_BEEP_MODE<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 设为&quot;0&quot;表示默认禁用数字蜂鸣接口,设为&quot;1&quot;表示默认启用数字蜂鸣接口.</p><p>&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; Support jack plugging notification via input layer<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SND_HDA_INPUT_JACK<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 通过输入层支持JACK插件通知.JACK是一个比PulseAudio更专业的声音服务器,重点是低延迟,是专业音频软件(例如:Ardour,Rezound,LinuxSampler)首选的音频服务器.如果你打算使用JACK,可以选&quot;Y&quot;.[提示]如果要将JACK和PulseAudio一起使用,需要安装PulseAudio的JACK支持模块.<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; Support initialization patch loading for HD-audio<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SND_HDA_PATCH_LOADER<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 仅用于调试目的<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; {此处省略的HD-audio声卡按实际情况选择即可.[提示]如果CONFIG_SND_HDA_INTEL被编译为模块,这里的每一个驱动也都会被编译成模块.}<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; Build HDMI/DisplayPort HD-audio codec support<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SND_HDA_CODEC_HDMI<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 在HD-audio驱动中添加HDMI和DisplayPort支持.如果你需要使用HDMI/DisplayPort接口,可以选&quot;Y&quot;.<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; Enable generic HD-audio codec parser<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SND_HDA_GENERIC<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 通用HD-audio编解码器(codec)支持,必选.<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; Default time-out for HD-audio power-save mode<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; CONFIG_SND_HDA_POWER_SAVE_DEFAULT<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; HD-audio自动节能模式默认的超时秒数.&quot;0&quot;表示关闭节能模式.建议设为&quot;10&quot;这个久经考验的合理数字.详见&quot;Documentation/sound/alsa/powersave.txt&quot;文档与CONFIG_SND_AC97_POWER_SAVE_DEFAULT选项.</p><p>&#160; &#160; &#160; &#160; SPI sound devices<br />&#160; &#160; &#160; &#160; CONFIG_SND_SPI<br />&#160; &#160; &#160; &#160; &#160; &#160; 基于SPI总线的声卡,仅出现在嵌入式设备上<br />&#160; &#160; &#160; &#160; USB sound devices<br />&#160; &#160; &#160; &#160; CONFIG_SND_USB<br />&#160; &#160; &#160; &#160; &#160; &#160; 基于USB总线的声卡,主要是外接声卡,并不常用<br />&#160; &#160; &#160; &#160; FireWire sound devices<br />&#160; &#160; &#160; &#160; CONFIG_SND_FIREWIRE<br />&#160; &#160; &#160; &#160; &#160; &#160; 基于IEEE-1394/FireWire/iLink总线的声卡,主要用于苹果的产品<br />&#160; &#160; &#160; &#160; PCMCIA sound devices<br />&#160; &#160; &#160; &#160; CONFIG_SND_PCMCIA<br />&#160; &#160; &#160; &#160; &#160; &#160; 基于PCMCIA接口的声卡,主要是外接声卡,并不常用<br />&#160; &#160; &#160; &#160; ALSA for SoC audio support<br />&#160; &#160; &#160; &#160; CONFIG_SND_SOC<br />&#160; &#160; &#160; &#160; &#160; &#160; SoC系统音频设备支持,重点是节能支持.仅用于嵌入式设备</p><p>&#160; &#160; Open Sound System (DEPRECATED)<br />&#160; &#160; CONFIG_SOUND_PRIME<br />&#160; &#160; &#160; &#160; OSS早已被废弃(已被ALSA取代).选&quot;N&quot;.</p><p>HID support<br />&#160; &#160; HID(人机接口设备)是一种定义计算机如何与人类交互的规范,常与USB或蓝牙搭配使用,常见的设备有:键盘,鼠标,触摸板,游戏杆,遥控器,蓝牙耳机,游戏手柄,手写板,等等.不过HID设备不一定要有人机接口,只要符合HID规范,就是HID设备.</p><p>&#160; &#160; HID bus support<br />&#160; &#160; CONFIG_HID<br />&#160; &#160; &#160; &#160; HID(human interface device)总线及通用HID层.要使用HID设备就必须开启.[提示]PS/2接口的鼠标和键盘不是HID设备,USB或蓝牙接口的才是HID设备.</p><p>&#160; &#160; &#160; &#160; Battery level reporting for HID devices<br />&#160; &#160; &#160; &#160; CONFIG_HID_BATTERY_STRENGTH<br />&#160; &#160; &#160; &#160; &#160; &#160; 为那些支持power_supply类的HID电池,向用户空间报告电池的剩余电量(可以通过upower工具显示).<br />&#160; &#160; &#160; &#160; /dev/hidraw raw HID device support<br />&#160; &#160; &#160; &#160; CONFIG_HIDRAW<br />&#160; &#160; &#160; &#160; &#160; &#160; 如果你想支持那些严格说来并不属于人机交互设备的硬件(使用额外的/dev/hidraw接口),例如显示控制装置(monitor control)或不间断电源(UPS),可以选&quot;Y&quot;.与CONFIG_USB_HIDDEV选项(/dev/hiddev)相比,/dev/hidraw设备直接无视一切hid事件(既不解析也不查找),这样就允许应用程序直接处理和操作原始的hid事件,从而避免使用用户层libhid/libusb库.详见&quot;Documentation/hid/hidraw.txt&quot;文档.<br />&#160; &#160; &#160; &#160; User-space I/O driver support for HID subsystem<br />&#160; &#160; &#160; &#160; CONFIG_UHID<br />&#160; &#160; &#160; &#160; &#160; &#160; HID子系统需要两种驱动:(1)&quot;HID I/O Driver&quot;是特定于硬件的驱动,直接与底层总线交互,并向&quot;HID Device Driver&quot;提供了一致接口用于收发HID数据.(2)&quot;HID Device Driver&quot;是硬件无关的通用驱动,其任务是按照HID规范解析和处理来自于&quot;HID I/O Driver&quot;的HID数据,并将组装好的数据通过&quot;HID I/O Driver&quot;提供的统一接口发送给底层硬件.开启此项后,将允许在用户空间实现&quot;HID I/O Driver&quot;.不确定的选&quot;N&quot;.详见&quot;Documentation/hid/uhid.txt&quot;文档.<br />&#160; &#160; &#160; &#160; Generic HID driver<br />&#160; &#160; &#160; &#160; CONFIG_HID_GENERIC<br />&#160; &#160; &#160; &#160; &#160; &#160; HID总线通用驱动,也就是前面说的&quot;HID Device Driver&quot;.它实现了对各种常见HID协议的支持:键盘,鼠标,游戏杆,手写板,数字画板.不确定的选&quot;Y&quot;.<br />&#160; &#160; &#160; &#160; Special HID drivers<br />&#160; &#160; &#160; &#160; &#160; &#160; 各种不严格遵守HID协议的&quot;HID Device Driver&quot;</p><p>&#160; &#160; &#160; &#160; &#160; &#160; {此处省略的硬件按实际情况选择即可}<br />&#160; &#160; &#160; &#160; &#160; &#160; Lenovo ThinkPad USB Keyboard with TrackPoint<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_HID_LENOVO_TPKBD<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 带有&quot;小红帽(TrackPoint)&quot;的联想(Lenovo)ThinkPad USB键盘.<br />&#160; &#160; &#160; &#160; &#160; &#160; Logitech devices<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_HID_LOGITECH<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 某些并不完全遵从HID标准的罗技(Logitech)外设<br />&#160; &#160; &#160; &#160; &#160; &#160; HID Multitouch panels<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_HID_MULTITOUCH<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; HID多点触控(Multitouch)板的通用支持<br />&#160; &#160; &#160; &#160; &#160; &#160; HID Sensors framework support<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_HID_SENSOR_HUB<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; HID传感器支持框架.详见&quot;Documentation/hid/hid-sensor.txt&quot;文档</p><p>&#160; &#160; USB HID support<br />&#160; &#160; &#160; &#160; 基于USB接口的HID设备,这是目前最常见的HID设备</p><p>&#160; &#160; &#160; &#160; USB HID transport layer<br />&#160; &#160; &#160; &#160; CONFIG_USB_HID<br />&#160; &#160; &#160; &#160; &#160; &#160; 特定于USB接口的&quot;HID I/O Driver&quot;.用于和USB总线上的硬件进行交互.只要你想使用任何基于USB接口的HID设备(键盘,鼠标,游戏杆,手写板,手绘板,不间断电源(UPS),显示控制装置(monitor control),等等),就必须选&quot;Y&quot;.[例外]在嵌入式环境中使用的HIDBP(HID Boot Protocol)键盘和鼠标不在此列,而且两者也不能共存.<br />&#160; &#160; &#160; &#160; PID device support<br />&#160; &#160; &#160; &#160; CONFIG_HID_PID<br />&#160; &#160; &#160; &#160; &#160; &#160; PID兼容的力反馈设备,例如:Microsoft Sidewinder Force Feedback 2<br />&#160; &#160; &#160; &#160; /dev/hiddev raw HID device support<br />&#160; &#160; &#160; &#160; CONFIG_USB_HIDDEV<br />&#160; &#160; &#160; &#160; &#160; &#160; 如果你想支持那些严格说来并不属于人机交互设备的硬件(使用额外的/dev/usb/hiddevX[char 180:96~111]接口),例如显示控制装置(monitor control)或不间断电源(UPS),可以选&quot;Y&quot;.参见CONFIG_HIDRAW选项.<br />&#160; &#160; &#160; &#160; USB HID Boot Protocol drivers<br />&#160; &#160; &#160; &#160; &#160; &#160; 如果你有绝对的把握确信不为自己的键盘和鼠标使用常规的HID驱动,而要使用Boot Protocol模式的HID驱动(常见于嵌入式环境)就选吧</p><p>&#160; &#160; I2C HID support<br />&#160; &#160; &#160; &#160; 基于I2C总线的HID设备</p><p>&#160; &#160; &#160; &#160; HID over I2C transport layer<br />&#160; &#160; &#160; &#160; CONFIG_I2C_HID<br />&#160; &#160; &#160; &#160; &#160; &#160; 特定于I2C总线的&quot;HID I/O Driver&quot;.用于和I2C总线上的硬件进行交互.只要你想使用任何基于I2C总线的HID设备(键盘,触摸板,触摸屏,等等),就必须选&quot;Y&quot;.I2C-HID主要用于嵌入式设备.</p><p>USB support<br />CONFIG_USB_SUPPORT<br />&#160; &#160; 通用串行总线(Universal Serial Bus)的目标是统一电脑的外设接口.目前几乎找不到没有USB接口的电脑,而且各种智能设备也大多带有USB接口.不要犹豫,选&quot;Y&quot;.</p><p>&#160; &#160; Support for Host-side USB<br />&#160; &#160; CONFIG_USB<br />&#160; &#160; &#160; &#160; 主机端(Host-side)USB支持.通用串行总线(USB)是一个串行总线子系统规范,它比传统的串口速度更快并且特性更丰富(供电,热插拔,最多可接127个设备等),其目标是统一PC外设接口.USB总体上呈现一种树型结构,USB的&quot;Host&quot;(主设备)被称为&quot;根&quot;(也可以理解为是主板上的USB控制器),USB的&quot;Slave&quot;(从设备)被称为&quot;叶子&quot;,而内部的节点则称为&quot;hub&quot;(集线器).只要使用任何USB设备都必须选中此项.另外,你还需要从下面选中至少一个HCD(Host Controller Driver),比如适用于USB1.1的&quot;UHCI HCD support&quot;或&quot;OHCI HCD support&quot;,适用于USB2.0的&quot;EHCI HCD (USB 2.0) support&quot;.如果你拿不准的话把他们都选中一般也不会出问题.如果你的系统有设备端的USB接口(也就是你的系统可以作为&quot;叶子&quot;使用),请到&quot;USB Gadget&quot;中进行选择.</p><p>&#160; &#160; &#160; &#160; USB verbose debug messages<br />&#160; &#160; &#160; &#160; CONFIG_USB_DEBUG<br />&#160; &#160; &#160; &#160; &#160; &#160; 仅供调试使用<br />&#160; &#160; &#160; &#160; USB announce new devices<br />&#160; &#160; &#160; &#160; CONFIG_USB_ANNOUNCE_NEW_DEVICES<br />&#160; &#160; &#160; &#160; &#160; &#160; 在syslog中记录每个新接入系统的USB设备的详细标识信息(idVendor,idProduct,Manufacturer,Product,SerialNumber),主要用于系统调试.不确定的选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; Enable USB persist by default<br />&#160; &#160; &#160; &#160; CONFIG_USB_DEFAULT_PERSIST<br />&#160; &#160; &#160; &#160; &#160; &#160; 根据USB规范,当USB总线被挂起(休眠)后,它必须继续提供挂起电流(1-5毫安),以确保USB设备能保持其内部状态,并且USB集线器(HUB)能够检测连接变化(设备插入和拔出).这在技术上被称为&quot;电力会话&quot;(power session).如果一个USB设备的电力会话被中断,那么系统必须按照该设备已经被拔出进行处理,这是一种保守的做法,因为没有挂起电流,计算机不可能知道外围设备究竟发生了什么变化:也许依然保持连接,也许已经被拔出并在同一端口上插入了一个新设备.系统必须做最坏的打算.默认情况下,Linux的行为符合USB规范的要求.当整个电脑进入休眠状态(例如挂起到硬盘)时,包括USB总线在内所有总线都将掉电,然后当系统被唤醒,所有USB设备都会被当做在休眠前就已经被拔出来处理.这样做始终是安全的,并且也是&quot;官方正确&quot;的做法.对于大多数USB设备来说,这样做没有任何问题,但是对于USB存储设备(例如移动硬盘/U盘)来说,如果在休眠前有尚未卸载的文件系统(特别是根文件系统),当系统被唤醒之后,由于无法访问该文件系统,系统可能会立即崩溃!其实不只有掉电,只要&quot;power session&quot;被中断(例如BIOS在唤醒过程中重置了USB控制器),都会导致这种故障.此选项(USB-persist)就是为了解决这个问题而设置的,虽然解决的不甚完美(参见&quot;Documentation/usb/persist.txt&quot;),但是依然推荐选&quot;Y&quot;,除非你确实有选&quot;N&quot;的理由.当然,最保险的做法是在休眠之前先卸载所有USB设备上的文件系统,而如果根文件系统位于USB设备上,就根本不使用任何休眠功能(不论是挂起到硬盘还是挂起到内存).<br />&#160; &#160; &#160; &#160; Dynamic USB minor allocation<br />&#160; &#160; &#160; &#160; CONFIG_USB_DYNAMIC_MINORS<br />&#160; &#160; &#160; &#160; &#160; &#160; 动态分配USB设备的次设备号(仅限于主设备号为180的字符设备[通常位于&quot;/dev/usb/&quot;目录下]).除非你有超过16个同类型(仅限:打印机,鼠标,扫描仪)的USB设备,否则应选&quot;N&quot;.[提示]即使你有100个U盘或者USB移动硬盘,也不需要开启此项,因为他们不是&quot;主设备号为180的字符设备&quot;.<br />&#160; &#160; &#160; &#160; OTG support<br />&#160; &#160; &#160; &#160; CONFIG_USB_OTG<br />&#160; &#160; &#160; &#160; &#160; &#160; 传统上,码照相机,手机,打印机,播放器,移动硬盘等设备之间要交换数据,都要作为PC的外围设备,在PC的控制下进行数据交换.一旦离开了PC,由于没有一个设备能够充当PC的&quot;Host&quot;角色,所以无法直接通信.USB-OTG(On-The-Go)就是为了解决这个问题而诞生的,它是USB2.0规格的补充标准,支持&quot;双角色&quot;设备(既可以当Host,也可以当Slave),从而实现外围设备之间的数据传送.例如,将数码相机直接连接到打印机上将相片打印出来.仅在你的主板上有Mini-AB/Micro-AB接口(目前仅用于嵌入式设备)时才需要选&quot;Y&quot;.<br />&#160; &#160; &#160; &#160; Rely on OTG Targeted Peripherals List<br />&#160; &#160; &#160; &#160; CONFIG_USB_OTG_WHITELIST<br />&#160; &#160; &#160; &#160; &#160; &#160; 将&quot;otg_whitelist.h&quot;文件用作&quot;OTG Targeted Peripherals List&quot;(外设白名单),白名单之外的USB外设将按照OTG规范的要求不被枚举(也就是初始化).同样,&quot;Embedded Host&quot;也只支持限定的外设.如果选&quot;N&quot;,那么白名单之外的外设也同样会被枚举(但会产生一个警告),这将大大方便嵌入式产品的开发.<br />&#160; &#160; &#160; &#160; Disable external hubs<br />&#160; &#160; &#160; &#160; CONFIG_USB_OTG_BLACKLIST_HUB<br />&#160; &#160; &#160; &#160; &#160; &#160; 选&quot;Y&quot;将禁止枚举(也就是初始化)外部USB集线器(HUB).这样,OTG主机就可以通过省去对外部集线器的支持,降低系统软硬件的成本.<br />&#160; &#160; &#160; &#160; USB Monitor<br />&#160; &#160; &#160; &#160; CONFIG_USB_MON<br />&#160; &#160; &#160; &#160; &#160; &#160; 选&quot;Y&quot;后,将可以捕获特定USB外设与USB主控器之间的数据流量,usbdump和usbmon工具依赖于此项.详见&quot;Documentation/usb/usbmon.txt&quot;文档.<br />&#160; &#160; &#160; &#160; Enable Wireless USB extensions<br />&#160; &#160; &#160; &#160; CONFIG_USB_WUSB<br />&#160; &#160; &#160; &#160; &#160; &#160; 主机端的WUSB(无线USB)支持.<br />&#160; &#160; &#160; &#160; Support WUSB Cable Based Association (CBA)<br />&#160; &#160; &#160; &#160; CONFIG_USB_WUSB_CBAF<br />&#160; &#160; &#160; &#160; &#160; &#160; WUSB CBA(Cable Based Association)是一项保障主机和WUSB设备之间通信安全的技术.如果你的WUSB设备在建立无线连接前必须先建立有线连接,可以选&quot;Y&quot;.</p><p>&#160; &#160; &#160; &#160; &#160; &#160; Enable CBA debug messages<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_USB_WUSB_CBAF_DEBUG<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 仅供调试使用</p><p>&#160; &#160; &#160; &#160; Cypress C67x00 HCD support<br />&#160; &#160; &#160; &#160; CONFIG_USB_C67X00_HCD<br />&#160; &#160; &#160; &#160; &#160; &#160; Cypress C67x00 (EZ-Host/EZ-OTG) USB 1.1 &quot;双角色&quot;控制器<br />&#160; &#160; &#160; &#160; xHCI HCD (USB 3.0) support<br />&#160; &#160; &#160; &#160; CONFIG_USB_XHCI_HCD<br />&#160; &#160; &#160; &#160; &#160; &#160; xHCI(eXtensible Host Controller Interface)就是当下大红大紫的USB3.0(SuperSpeed USB)主机控制器规范.[提示]因为xHCI移除了EHCI中为兼容USB1.1而引入的&quot;Companion&quot;模式,所以仅用一个单独的xHCI驱动就可以兼容所有USB3.0/2.0/1.1外设.也就是说,开启此项之后,就不需要再额外开启EHCI/OHCI/UHCI选项了.</p><p>&#160; &#160; &#160; &#160; &#160; &#160; Debugging for the xHCI host controller<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_USB_XHCI_HCD_DEBUGGING<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 仅供调试使用</p><p>&#160; &#160; &#160; &#160; EHCI HCD (USB 2.0) support<br />&#160; &#160; &#160; &#160; CONFIG_USB_EHCI_HCD<br />&#160; &#160; &#160; &#160; &#160; &#160; EHCI(Enhanced Host Controller Interface)就是渐成昨日黄花的USB2.0(HighSpeed USB)主机控制器规范.[提示]因为EHCI通过&quot;Companion&quot;模式来支持USB1.1设备,所以一般还需要额外再开启OHCI或UHCI选项(除非你不想兼容任何USB1.1设备).详见&quot;Documentation/usb/ehci.txt&quot;文档.<br />&#160; &#160; &#160; &#160; Root Hub Transaction Translators<br />&#160; &#160; &#160; &#160; CONFIG_USB_EHCI_ROOT_HUB_TT<br />&#160; &#160; &#160; &#160; &#160; &#160; 带有USB2.0接口的主板上都有一个&quot;根集线器&quot;(Root Hub)以允许在无需额外购买hub的情况下就可以提供多个USB插口,而大多数主板还在其中集成了事务转换(Transaction Translator)功能,这样就不需要再额外使用一个OHCI或UHCI控制器来兼容USB1.1,建议选&quot;Y&quot;,除非你不想兼容任何USB1.1设备.<br />&#160; &#160; &#160; &#160; Improved Transaction Translator scheduling<br />&#160; &#160; &#160; &#160; CONFIG_USB_EHCI_TT_NEWSCHED<br />&#160; &#160; &#160; &#160; &#160; &#160; 如果你有一个USB2.0 hub并且某些接在这个hub上的USB1.1设备不能正常工作(显示&#039;cannot submit datapipe: error -28&#039;或&#039;error -71&#039;错误),可以考虑选&quot;Y&quot;.<br />&#160; &#160; &#160; &#160; Generic EHCI driver for a platform device<br />&#160; &#160; &#160; &#160; CONFIG_USB_EHCI_HCD_PLATFORM<br />&#160; &#160; &#160; &#160; &#160; &#160; 通用platform设备的EHCI驱动.仅用于嵌入式环境.不确定的选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; OHCI HCD support<br />&#160; &#160; &#160; &#160; CONFIG_USB_OHCI_HCD<br />&#160; &#160; &#160; &#160; &#160; &#160; OHCI(Open Host Controller Interface)是主要用于嵌入式环境的USB1.1(LowSpeed/FullSpeed USB)主机控制器规范.<br />&#160; &#160; &#160; &#160; UHCI HCD (most Intel and VIA) support<br />&#160; &#160; &#160; &#160; CONFIG_USB_UHCI_HCD<br />&#160; &#160; &#160; &#160; &#160; &#160; UHCI(Universal Host Controller Interface)是主要用于PC环境的USB1.1(LowSpeed/FullSpeed USB)主机控制器规范.<br />&#160; &#160; &#160; &#160; {此处省略的USB控制器请按照实际硬件状况选择(基本上都仅用于嵌入式环境)}<br />&#160; &#160; &#160; &#160; Wireless USB Host Controller Interface (WHCI) driver<br />&#160; &#160; &#160; &#160; CONFIG_USB_WHCI_HCD<br />&#160; &#160; &#160; &#160; &#160; &#160; WHCI(Wireless USB Host Controller Interface)是无线USB主机控制器规范.目前市场上带有WUSB主控器的主板很少.不确定的选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; Host Wire Adapter (HWA) driver<br />&#160; &#160; &#160; &#160; CONFIG_USB_HWA_HCD<br />&#160; &#160; &#160; &#160; &#160; &#160; USB接口的3G/4G无线上网卡(通常需要搭配SIM卡使用),常见制式有:WCDMA/LTE/HSPA等.<br />&#160; &#160; &#160; &#160; BCMA usb host driver<br />&#160; &#160; &#160; &#160; CONFIG_USB_HCD_BCMA<br />&#160; &#160; &#160; &#160; &#160; &#160; BCMA(Broadcom specific AMBA)总线上的EHCI/OCHI主机控制器支持.仅用于嵌入式环境.<br />&#160; &#160; &#160; &#160; SSB usb host driver<br />&#160; &#160; &#160; &#160; CONFIG_USB_HCD_SSB<br />&#160; &#160; &#160; &#160; &#160; &#160; BCMA(Broadcom specific AMBA)总线上的EHCI/OCHI主机控制器支持.仅用于嵌入式环境.<br />&#160; &#160; &#160; &#160; Inventra Highspeed Dual Role Controller (TI, ADI, ...)<br />&#160; &#160; &#160; &#160; CONFIG_USB_MUSB_HDRC<br />&#160; &#160; &#160; &#160; &#160; &#160; 一系列基于Mentor Graphics公司silicon IP核的USB控制器.仅用于嵌入式环境.<br />&#160; &#160; &#160; &#160; Renesas USBHS controller<br />&#160; &#160; &#160; &#160; CONFIG_USB_RENESAS_USBHS<br />&#160; &#160; &#160; &#160; &#160; &#160; 一系列基于Renesas公司USBHS IP核的USB控制器.仅用于嵌入式环境.<br />&#160; &#160; &#160; &#160; USB Modem (CDC ACM) support<br />&#160; &#160; &#160; &#160; CONFIG_USB_ACM<br />&#160; &#160; &#160; &#160; &#160; &#160; USB接口的猫或ISDN适配器,基本没人用的东西.<br />&#160; &#160; &#160; &#160; USB Printer support<br />&#160; &#160; &#160; &#160; CONFIG_USB_PRINTER<br />&#160; &#160; &#160; &#160; &#160; &#160; USB接口的打印机,这是主流的打印机<br />&#160; &#160; &#160; &#160; USB Wireless Device Management support<br />&#160; &#160; &#160; &#160; CONFIG_USB_WDM<br />&#160; &#160; &#160; &#160; &#160; &#160; 为符合CDC(Communication Device CIass)和WMC(Wireless Mobile Communication)标准的手机提供WMC设备管理支持,这样你可以在这些手机上使用AT命令(被所有调制解调器制造商采用的一个调制解调器命令语言).<br />&#160; &#160; &#160; &#160; USB Test and Measurement Class support<br />&#160; &#160; &#160; &#160; CONFIG_USB_TMC<br />&#160; &#160; &#160; &#160; &#160; &#160; USBTMC(USB Test and Measurement Class)协议支持.主要适用于测试仪器的USB通信开发.不确定的选&quot;N&quot;.<br />&#160; &#160; &#160; &#160; USB Mass Storage support<br />&#160; &#160; &#160; &#160; CONFIG_USB_STORAGE<br />&#160; &#160; &#160; &#160; &#160; &#160; USB存储设备(U盘,USB硬盘,USB软盘,USB光盘,USB磁带,记忆棒,数码相机,读卡器等等).该选项依赖于CONFIG_SCSI和CONFIG_BLK_DEV_SD选项.选&quot;Y&quot;,除非你确实知道自己在干什么.</p><p>&#160; &#160; &#160; &#160; &#160; &#160; USB Mass Storage verbose debug<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_USB_STORAGE_DEBUG<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 仅供调试使用<br />&#160; &#160; &#160; &#160; &#160; &#160; {省略的部分请按照自己实际使用的硬件选择(事实上大部分人都没有这些设备)}</p><p>&#160; &#160; &#160; &#160; USB Mustek MDC800 Digital Camera support<br />&#160; &#160; &#160; &#160; CONFIG_USB_MDC800<br />&#160; &#160; &#160; &#160; &#160; &#160; 一款上世纪生产的数码相机<br />&#160; &#160; &#160; &#160; Microtek X6USB scanner support<br />&#160; &#160; &#160; &#160; CONFIG_USB_MICROTEK<br />&#160; &#160; &#160; &#160; &#160; &#160; 几款上世纪生产的扫描仪</p><p>&#160; &#160; DesignWare USB3 DRD Core Support<br />&#160; &#160; CONFIG_USB_DWC3<br />&#160; &#160; &#160; &#160; 基于DesignWare USB3 IP核的USB3.0控制器.仅用于嵌入式环境.<br />&#160; &#160; ChipIdea Highspeed Dual Role Controller<br />&#160; &#160; CONFIG_USB_CHIPIDEA<br />&#160; &#160; &#160; &#160; 基于ChipIdea silicon IP核的USB2.0控制器.仅用于嵌入式环境.<br />&#160; &#160; USS720 parport driver<br />&#160; &#160; CONFIG_USB_USS720<br />&#160; &#160; &#160; &#160; 一种USB转并口的转换设备.不确定的选&quot;N&quot;.<br />&#160; &#160; USB Serial Converter support<br />&#160; &#160; CONFIG_USB_SERIAL<br />&#160; &#160; &#160; &#160; USB-串口转换支持:(1)USB-串口转换器,(2)连接在USB口上的串口设备.详情参见&quot;Documentation/usb/usb-serial.txt&quot;文档.不确定的选&quot;N&quot;.<br />&#160; &#160; {此处省略的各种杂七杂八的USB设备,要么是老古董,要么是很罕见,不确定的可以全部选&quot;N&quot;}<br />&#160; &#160; USB testing driver<br />&#160; &#160; CONFIG_USB_TEST<br />&#160; &#160; &#160; &#160; 仅供调试使用<br />&#160; &#160; USB DSL modem support<br />&#160; &#160; CONFIG_USB_ATM<br />&#160; &#160; &#160; &#160; USB DSL modem 已经是绝迹的古董猫了<br />&#160; &#160; USB Physical Layer drivers<br />&#160; &#160; CONFIG_USB_PHY<br />&#160; &#160; &#160; &#160; 这类设备仅在嵌入式系统上存在<br />&#160; &#160; USB Gadget Support<br />&#160; &#160; CONFIG_USB_GADGET<br />&#160; &#160; &#160; &#160; USB是一个主/从协议,一个主机最多控制127个外设,其结构是非对称的,所以你无法把一个&quot;到主机&quot;的插头连接到外设上.Linux既可以在USB主机上运行,也可以在USB外设上运行.外设USB控制器可以是单独的芯片,也可以是集成在CPU中的微控制器,而常见的主机端控制器通常集成在芯片组的南桥中(xHCI/EHCI/OHCI/UHCI).如果你打算在外设中运行Linux,那么就必须开启此项,然后还需要为外设段的总线控制器配置一个硬件驱动,以及一个用于外设协议的&quot;配件驱动&quot;.不过对于大多数人来说,并不将Linux运行于外设端,因此可以放心的选&quot;N&quot;.仅那些嵌入式设备(例如智能手机)上运行的Linux才可能由此需求.</p><p>Ultra Wideband devices<br />CONFIG_UWB<br />&#160; &#160; UWB(Ultra Wideband)是一种高带宽,低能耗,点对点,抗干扰性能强的无载波通信技术.UWB在较宽的频谱(3.1-10.6GHz)上,使用极低的功率(约为蓝牙的1/20),以时间间隔极短(小于1ns)的脉冲信号进行通信.UWB主要应用于室内通信(2米范围内实现480Mbps速率,10米范围内实现110Mbps速率),例如作为WUSB(Wireless USB)协议的传输层.如果你有UWB无线控制器,可以选&quot;Y&quot;,不确定的选&quot;N&quot;.详见&quot;Documentation/usb/WUSB-Design-overview.txt&quot;文档.<br />MMC/SD/SDIO card support<br />CONFIG_MMC<br />&#160; &#160; MMC(MultiMediaCard)/SD(Secure Digital)/SDIO(Secure Digital I/O)主机控制器</p><p>&#160; &#160; MMC debugging<br />&#160; &#160; CONFIG_MMC_DEBUG<br />&#160; &#160; &#160; &#160; 仅供调试使用<br />&#160; &#160; Assume MMC/SD cards are non-removable (DANGEROUS)<br />&#160; &#160; CONFIG_MMC_UNSAFE_RESUME<br />&#160; &#160; &#160; &#160; 假定在系统休眠的过程中,所有MMC/SD/SDIO卡依然插在各自的插槽上没有变动.也许只有嵌入式系统才可以做这样的假定.不确定的选&quot;N&quot;.参见CONFIG_USB_DEFAULT_PERSIST选项.<br />&#160; &#160; MMC host clock gating<br />&#160; &#160; CONFIG_MMC_CLKGATE<br />&#160; &#160; &#160; &#160; 尝试激进的&quot;gate the clock to the MMC card&quot;(啥意思?).这样当MMC卡不使用的时候,就可以进入节电状态.主机控制器必须支持此特性.不确定的选&quot;N&quot;.<br />&#160; &#160; MMC block device driver<br />&#160; &#160; CONFIG_MMC_BLOCK<br />&#160; &#160; &#160; &#160; MMC块设备驱动.基本上MMC卡都是作为块设备(就像U盘一样)使用.所以只要使用MMC卡就应该开启.</p><p>&#160; &#160; &#160; &#160; Number of minors per block device<br />&#160; &#160; &#160; &#160; CONFIG_MMC_BLOCK_MINORS<br />&#160; &#160; &#160; &#160; &#160; &#160; 为每个MMC块设备保留的次设备号数量.取值范围是[4,256].这里设置的值应该等于&quot;最大可能的分区数+1&quot;.因为总的次设备号只有256个,所以最大能支持的MMC块设备数量就等于256除以此处设置的值.默认值&quot;8&quot;可以保证最大的向后兼容性.不确定的请保持默认值.<br />&#160; &#160; &#160; &#160; Use bounce buffer for simple hosts<br />&#160; &#160; &#160; &#160; CONFIG_MMC_BLOCK_BOUNCE<br />&#160; &#160; &#160; &#160; &#160; &#160; 为SD/MMC控制器提供更多的缓存(最大64KB),从而可以大幅提升其性能.建议选&quot;Y&quot;.</p><p>&#160; &#160; SDIO UART/GPS class support<br />&#160; &#160; CONFIG_SDIO_UART<br />&#160; &#160; &#160; &#160; 实现了UART类的SDIO卡支持.包括那些表现的像UART一样的GPS类支持.主要用于嵌入式设备.不确定的选&quot;N&quot;.<br />&#160; &#160; MMC host test driver<br />&#160; &#160; CONFIG_MMC_TEST<br />&#160; &#160; &#160; &#160; 仅供调试使用<br />&#160; &#160; Secure Digital Host Controller Interface support<br />&#160; &#160; CONFIG_MMC_SDHCI<br />&#160; &#160; &#160; &#160; 通用SD主控支持.笔记本电脑上用的SD主控(TI(德州仪器)/Ricoh(理光)/Toshiba(东芝)等厂商)基本上都是这个驱动.选中此项后,还需要选中相应的总线驱动(见下,通常是CONFIG_MMC_SDHCI_PCI).<br />&#160; &#160; SDHCI support on PCI bus<br />&#160; &#160; CONFIG_MMC_SDHCI_PCI<br />&#160; &#160; &#160; &#160; PCI总线的SD主控支持,目前的笔记本的SD主控基本都接在PCI总线上.</p><p>&#160; &#160; &#160; &#160; Ricoh MMC Controller Disabler<br />&#160; &#160; &#160; &#160; CONFIG_MMC_RICOH_MMC<br />&#160; &#160; &#160; &#160; &#160; &#160; 用于修正Ricoh(理光)MMC主控的bug,如果你需要使用Ricoh主控,就选&quot;Y&quot;.</p><p>&#160; &#160; SDHCI support for ACPI enumerated SDHCI controllers<br />&#160; &#160; CONFIG_MMC_SDHCI_ACPI<br />&#160; &#160; &#160; &#160; 专用于&quot;ACPI Compatibility ID&quot;等于&quot;PNP0D40&quot;的SD主控,以及&quot;ACPI Hardware ID&quot;等于&quot;INT33C6,INT33BB,80860F14&quot;的SD主控.<br />&#160; &#160; SDHCI platform and OF driver helper<br />&#160; &#160; CONFIG_MMC_SDHCI_PLTFM<br />&#160; &#160; &#160; &#160; 基于platform总线和OpenFirmware的SD主控.<br />&#160; &#160; {此处省略的SD主控请按照实际使用的芯片进行选择}<br />&#160; &#160; MMC/SD/SDIO over SPI<br />&#160; &#160; CONFIG_MMC_SPI<br />&#160; &#160; &#160; &#160; 基于SPI总线的MMC/SD/SDIO主控.仅用于嵌入式环境.</p><p>Sony MemoryStick card support<br />CONFIG_MEMSTICK<br />&#160; &#160; Sony记忆棒是一种Sony专用的存储设备.</p><p>&#160; &#160; MemoryStick debugging<br />&#160; &#160; CONFIG_MEMSTICK_DEBUG<br />&#160; &#160; &#160; &#160; 仅供调试使用<br />&#160; &#160; Allow unsafe resume (DANGEROUS)<br />&#160; &#160; CONFIG_MEMSTICK_UNSAFE_RESUME<br />&#160; &#160; &#160; &#160; 假定在系统休眠的过程中,所有记忆棒依然插在各自的插槽上没有变动.也许只有嵌入式系统才可以做这样的假定.不确定的选&quot;N&quot;.参见CONFIG_USB_DEFAULT_PERSIST选项.<br />&#160; &#160; MemoryStick Pro block device driver<br />&#160; &#160; CONFIG_MSPRO_BLOCK<br />&#160; &#160; &#160; &#160; &quot;Memory Stick PRO&quot;是SONY从2003开始引入的升级版标准,早已成为主流,所以应该选&quot;Y&quot;(除非你仍在使用十年前的老VAIO笔记本).<br />&#160; &#160; {此处省略的MemoryStick主控请按照实际使用的芯片进行选择}</p><p>LED Support<br />CONFIG_NEW_LEDS<br />&#160; &#160; 发光二级管(LED)支持.[提示]标准键盘上的LED灯不在此列(由input子系统控制)<br />Accessibility support<br />CONFIG_ACCESSIBILITY<br />&#160; &#160; 无障碍(Accessibility)支持.各种帮助残疾人使用计算机的软硬件技术.例如:盲文设备,语音合成,键盘映射,等等.<br />InfiniBand support<br />CONFIG_INFINIBAND<br />&#160; &#160; InfiniBand是一种低延迟/高带宽数据中心互联架构,采用远程直接内存存取(RDMA)实现高性能处理器间通信(IPC),同时对虚拟化技术也提供了良好的支持.主要用于服务器集群与高性能计算(HPC)领域.<br />EDAC (Error Detection And Correction) reporting<br />CONFIG_EDAC<br />&#160; &#160; 在电磁环境比较恶劣的情况下,一些大规模集成电路常常会受到干扰,特别是像RAM这种利用双稳态进行存储的器件,往往会在强干扰下发生翻转,使原来存储的&quot;0&quot;变为&quot;1&quot;,或者&quot;1&quot;变为&quot;0&quot;,造成严重的后果(例如控制程序跑飞,关键数据出错).随着芯片集成度的增加,发生错误的可能性也在增大,这已经成为一个不能忽视的问题.错误检测与纠正(EDAC)技术的目标就是发现并报告甚至纠正在计算机系统中发生的错误,这些错误是由CPU或芯片组报告的底层错误(内存错误/缓存错误/PCI错误/温度过高,等等),建议选&quot;Y&quot;.如果这些代码报告了一个错误,请到http://bluesmoke.sourceforge.net/和http://buttersideup.com/edacwiki查看更多信息.详见&quot;Documentation/edac.txt&quot;文档.</p><p>&#160; &#160; EDAC legacy sysfs<br />&#160; &#160; CONFIG_EDAC_LEGACY_SYSFS<br />&#160; &#160; &#160; &#160; 仅在你需要使用老版本edac-utils的情况下才需要选&quot;Y&quot;.<br />&#160; &#160; Debugging<br />&#160; &#160; CONFIG_EDAC_DEBUG<br />&#160; &#160; &#160; &#160; 仅供调试使用<br />&#160; &#160; Decode MCEs in human-readable form (only on AMD for now)<br />&#160; &#160; CONFIG_EDAC_DECODE_MCE<br />&#160; &#160; &#160; &#160; 将MCE(Machine Check Exception)解码为人类可读的形式(目前仅支持AMD).建议选&quot;Y&quot;.</p><p>&#160; &#160; &#160; &#160; Simple MCE injection interface over /sysfs<br />&#160; &#160; &#160; &#160; CONFIG_EDAC_MCE_INJ<br />&#160; &#160; &#160; &#160; &#160; &#160; 仅供调试使用</p><p>&#160; &#160; Main Memory EDAC (Error Detection And Correction) reporting<br />&#160; &#160; CONFIG_EDAC_MM_EDAC<br />&#160; &#160; &#160; &#160; 一些系统能够检测和修正主内存中的错误,EDAC能够报告这些信息(EDAC自己检测到的或者根据ECC得到的).EDAC还会尽量检测这些错误发生在哪里以便于替换损坏的内存.建议选&quot;Y&quot;并按照你实际硬件状况选取子项</p><p>&#160; &#160; &#160; &#160; Output ACPI APEI/GHES BIOS detected errors via EDAC<br />&#160; &#160; &#160; &#160; CONFIG_EDAC_GHES<br />&#160; &#160; &#160; &#160; &#160; &#160; 并不是所有机器都提供基于硬件的EDAC技术,有部分机器提供的是基于ACPI BIOS的报告机制(使用CONFIG_ACPI_APEI_GHES驱动).开启此项后,如果检测到GHES BIOS,那么CONFIG_ACPI_APEI_GHES驱动提供的错误报告将会通过EDAC API发送到用户空间,同时,硬件EDAC也会被禁用,也就是进入&quot;固件优先&quot;模式.注意:GHES BIOS和硬件EDAC两者不能共存,因为BIOS和操作系统在读取error寄存器时会相互竞争.所以如果你不想使用&quot;固件优先&quot;模式,应该选&quot;N&quot;,或者使用&quot;ghes.disable=1&quot;内核引导参数.<br />&#160; &#160; &#160; &#160; {此处省略的芯片请按照实际情况选择}</p><p>Real Time Clock<br />CONFIG_RTC_CLASS<br />&#160; &#160; 通用RTC(实时时钟)类支持.所有的PC机主板都包含一个电池动力的实时时钟芯片,以便在断电后仍然能够继续保持时间,RTC通常与CMOS集成在一起,因此BIOS可以从中读取当前时间(精度一般是秒级).选中此项后你就可以在操作系统中使用一个或多个RTC设备(你还必须从下面启用一个或多个RTC接口).[注意]Clock与Timer没有任何关系,Timer是定时器(用于计量时长),Clock是时钟(用于记录当前的时刻&quot;年-月-日 时:分:秒&quot;)</p><p>&#160; &#160; Set system time from RTC on startup and resume<br />&#160; &#160; CONFIG_RTC_HCTOSYS<br />&#160; &#160; &#160; &#160; 系统启动时从指定的RTC设备(CONFIG_RTC_HCTOSYS_DEVICE)中读取时间,以设定系统时间,这将有助于避免时间不准导致的麻烦(例如不必要的文件系统检测(fsck)以及网络故障).建议选&quot;Y&quot;.<br />&#160; &#160; Set the RTC time based on NTP synchronization<br />&#160; &#160; CONFIG_RTC_SYSTOHC<br />&#160; &#160; &#160; &#160; 如果用户空间报告了&quot;NTP已同步&quot;,那么每隔大约11分钟,内核将会自动把系统时间写入指定的RTC设备(CONFIG_RTC_HCTOSYS_DEVICE)中.建议选&quot;Y&quot;.</p><p>&#160; &#160; &#160; &#160; RTC used to set the system time<br />&#160; &#160; &#160; &#160; CONFIG_RTC_HCTOSYS_DEVICE<br />&#160; &#160; &#160; &#160; &#160; &#160; 默认的RTC设备(通常是&quot;rtc0&quot;).该设备的驱动必须静态编译进内核(而不能作为模块加载).</p><p>&#160; &#160; RTC debug support<br />&#160; &#160; CONFIG_RTC_DEBUG<br />&#160; &#160; &#160; &#160; 仅供调试使用<br />&#160; &#160; /sys/class/rtc/rtcN (sysfs)<br />&#160; &#160; CONFIG_RTC_INTF_SYSFS<br />&#160; &#160; &#160; &#160; 允许通过sysfs接口使用RTC,允许多个RTC设备,也就是/sys/class/rtc/rtc0~N<br />&#160; &#160; /proc/driver/rtc (procfs for rtcN)<br />&#160; &#160; CONFIG_RTC_INTF_PROC<br />&#160; &#160; &#160; &#160; 允许通过proc接口使用RTC,仅允许一个RTC设备,也就是/proc/driver/rtc(若有多个RTC设备,则其将对应&quot;rtc0&quot;)<br />&#160; &#160; /dev/rtcN (character devices)<br />&#160; &#160; CONFIG_RTC_INTF_DEV<br />&#160; &#160; &#160; &#160; 允许通过dev接口使用RTC,允许多个RTC设备,也就是/dev/rtc0~N,某些程序(比如hwclock)需要使用/dev/rtc(这是个软连接,udev会自动将其指向默认的RTC设备)</p><p>&#160; &#160; &#160; &#160; RTC UIE emulation on dev interface<br />&#160; &#160; &#160; &#160; CONFIG_RTC_INTF_DEV_UIE_EMUL<br />&#160; &#160; &#160; &#160; &#160; &#160; 如果底层rtc芯片驱动没有提供RTC_UIE就仿真一个RTC_UIE.选&quot;N&quot;,除非你确实知道自己在做什么.</p><p>&#160; &#160; Test driver/device<br />&#160; &#160; CONFIG_RTC_DRV_TEST<br />&#160; &#160; &#160; &#160; 仅供调试使用<br />&#160; &#160; {此处省略的其他RTC设备一般仅用于非PC环境}<br />&#160; &#160; PC-style &#039;CMOS&#039;<br />&#160; &#160; CONFIG_RTC_DRV_CMOS<br />&#160; &#160; &#160; &#160; 这是所有PC和基于ACPI的系统通用的RTC驱动.必须选&quot;Y&quot;(不能选&quot;M&quot;),除非你是嵌入式系统.</p><p>DMA Engine support<br />CONFIG_DMADEVICES<br />&#160; &#160; DMA引擎(DMA Engine)可以看做是传统DMA控制器(DMA controller)的新生.在DMA引擎的协助下,CPU只需初始化一个传输动作,其余的动作就可以由DMA引擎独立完成(完成后以中断的方式通知CPU),这对于高速传输大量数据以及&quot;分散-收集&quot;操作大有益处,可以节约大量的CPU资源(有时也可节约大量的内存操作).目前主要用于:(1)卸载高速网络栈中的内存COPY操作,(2)加速CONFIG_MD_RAID456驱动中的RAID操作.&quot;DMA引擎&quot;只是一个统称,在不同场合对应着不同的技术,例如Intel I/OAT(PC平台)和AHB(嵌入式).[提示]历史上,ISA架构的电脑都有一个专用的&quot;DMA控制器&quot;(最常见的是Intel 8237),但是到了PCI架构,由于每一个PCI设备都可以控制PCI总线(成为&quot;bus master&quot;)并直接读写系统内存,所以虽然DMA的操作方式依然存在,但是&quot;DMA控制器&quot;却消失了.现在新生的&quot;DMA引擎&quot;目前仍然主要出现在Intel的高端芯片上.</p><p>&#160; &#160; DMA Engine debugging<br />&#160; &#160; CONFIG_DMADEVICES_DEBUG<br />&#160; &#160; &#160; &#160; 仅供调试使用<br />&#160; &#160; Intel MID DMA support for Peripheral DMA controllers<br />&#160; &#160; CONFIG_INTEL_MID_DMAC<br />&#160; &#160; &#160; &#160; Intel MID DMA引擎,搭配Atom处理器使用.<br />&#160; &#160; Intel I/OAT DMA support<br />&#160; &#160; CONFIG_INTEL_IOATDMA<br />&#160; &#160; &#160; &#160; 带有英特尔I/O加速技术(I/O Acceleration Technology)的至强芯片组DMA引擎<br />&#160; &#160; Synopsys DesignWare AHB DMA support<br />&#160; &#160; CONFIG_DW_DMAC<br />&#160; &#160; &#160; &#160; 基于Synopsys DesignWare IP核的AHB总线DMA引擎.例如Atmel AT32ap7000中就整合了这个引擎.<br />&#160; &#160; Timberdale FPGA DMA support<br />&#160; &#160; CONFIG_TIMB_DMA<br />&#160; &#160; &#160; &#160; Timberdale FPGA DMA引擎.&quot;Timberdale FPGA&quot;是一个多功能设备,出现在基于Intel Atom的车载信息娱乐系统IVI(In-Vehicle Infotainment)上.<br />&#160; &#160; Intel EG20T PCH / LAPIS Semicon IOH(ML7213/ML7223/ML7831) DMA<br />&#160; &#160; CONFIG_PCH_DMA<br />&#160; &#160; &#160; &#160; 所有与Intel EG20T PCH兼容的芯片的DMA引擎支持,具体型号可以查看内核帮助.都是嵌入式芯片.<br />&#160; &#160; Network: TCP receive copy offload<br />&#160; &#160; CONFIG_NET_DMA<br />&#160; &#160; &#160; &#160; 通过在网络栈中利用DMA引擎来减少接收数据包时的copy-to-user操作以释放CPU资源,仅在CONFIG_INTEL_IOATDMA开启的前提下才有意义.<br />&#160; &#160; Async_tx: Offload support for the async_tx api<br />&#160; &#160; CONFIG_ASYNC_TX_DMA<br />&#160; &#160; &#160; &#160; 如果你开启了CONFIG_MD_RAID456,同时你的硬件又支持DMA引擎,那么开启此项后可以加速RAID操作.<br />&#160; &#160; DMA Test client<br />&#160; &#160; CONFIG_DMATEST<br />&#160; &#160; &#160; &#160; 仅供调试使用</p><p>Auxiliary Display support<br />CONFIG_AUXDISPLAY<br />&#160; &#160; 辅助显示设备.例如基于KS0108控制器的Crystalfontz CFAG12864B单色液晶屏(分辨率:128x64).仅用于嵌入式系统.<br />Userspace I/O drivers<br />CONFIG_UIO<br />&#160; &#160; UIO(Userspace I/O)是运行在用户空间的I/O技术,它为开发用户空间的驱动提供了一个简单的架构(/dev/uioN).使用uio的设备一般都属于嵌入式系统.不确定的选&quot;N&quot;.[提示]lsuio工具可以列出所有UIO的模块和其映射的内存地址.<br />VFIO Non-Privileged userspace driver framework<br />CONFIG_VFIO<br />&#160; &#160; VFIO(Virtual Function I/O)无特权用户空间I/O驱动框架,主要用于为虚拟化环境中的I/O驱动提供更高的安全性,需要有IOMMU虚拟化硬件支持(例如:AMD-Vi(AMD IOMMU),Intel VT-d).VFIO的目标是在IOMMU硬件的帮助下,取代UIO框架和&quot;KVM PCI device assignment&quot;(CONFIG_KVM_DEVICE_ASSIGNMENT).详见&quot;Documentation/vfio.txt&quot;文档.不确定的选&quot;N&quot;.[提示]QEMU 1.3以上版本才能利用VFIO特性.</p><p>&#160; &#160; VFIO support for PCI devices<br />&#160; &#160; CONFIG_VFIO_PCI<br />&#160; &#160; &#160; &#160; 允许PCI设备使用VFIO框架.这是VFIO框架当前的主要用途.选&quot;Y&quot;.</p><p>&#160; &#160; &#160; &#160; VFIO PCI support for VGA devices<br />&#160; &#160; &#160; &#160; CONFIG_VFIO_PCI_VGA<br />&#160; &#160; &#160; &#160; &#160; &#160; 让VFIO PCI支持VGA设备,建议选&quot;Y&quot;.</p><p>Virtualization drivers<br />CONFIG_VIRT_DRIVERS<br />&#160; &#160; 这个选项仅对PowerPC架构有意义<br />Virtio drivers<br />&#160; &#160; Virtio驱动.Virtio的目标是为各种半虚拟化的虚拟机管理程序(特别是KVM)提供一组通用的模拟设备,目前已实现:network/block/balloon/console/hw_random,未来还会实现更多.</p><p>&#160; &#160; PCI driver for virtio devices<br />&#160; &#160; CONFIG_VIRTIO_PCI<br />&#160; &#160; &#160; &#160; 半虚拟化PCI设备驱动.VMM(虚拟机管理程序)必须要有相应的&quot;PCI virtio backend&quot;.基于QEMU的VMM(KVM,Xen)一般都支持该驱动.[提示]由于目前的ABI尚不稳定,建议使用时注意版本匹配.<br />&#160; &#160; Virtio balloon driver<br />&#160; &#160; CONFIG_VIRTIO_BALLOON<br />&#160; &#160; &#160; &#160; balloon驱动支持增加和减少KVM客户机内的内存大小.<br />&#160; &#160; Platform bus driver for memory mapped virtio devices<br />&#160; &#160; CONFIG_VIRTIO_MMIO<br />&#160; &#160; &#160; &#160; 使用内存映射机制的platform设备驱动</p><p>&#160; &#160; &#160; &#160; Memory mapped virtio devices parameter parsing<br />&#160; &#160; &#160; &#160; CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES<br />&#160; &#160; &#160; &#160; &#160; &#160; 允许通过&quot;virtio_mmio.device&quot;内核模块参数实例化virtio-mmio设备.注意,错误的参数(特别是&quot;baseaddr&quot;错误)会导致系统崩溃.详见&quot;Documentation/kernel-parameters.txt&quot;文档中对&quot;virtio_mmio.device&quot;的说明.</p><p>Microsoft Hyper-V guest support<br />&#160; &#160; 仅在将此Linux内核作为微软Hyper-V虚拟机的来宾操作系统运行时,才需要开启这里的选项.</p><p>&#160; &#160; Microsoft Hyper-V client drivers<br />&#160; &#160; CONFIG_HYPERV<br />&#160; &#160; &#160; &#160; 将Linux内核作为Hyper-V的来宾操作系统运行</p><p>&#160; &#160; &#160; &#160; Microsoft Hyper-V Utilities driver<br />&#160; &#160; &#160; &#160; CONFIG_HYPERV_UTILS<br />&#160; &#160; &#160; &#160; &#160; &#160; Hyper-V管理工具驱动.<br />&#160; &#160; &#160; &#160; Microsoft Hyper-V Balloon driver<br />&#160; &#160; &#160; &#160; CONFIG_HYPERV_BALLOON<br />&#160; &#160; &#160; &#160; &#160; &#160; Hyper-V Balloon驱动</p><p>Xen driver support<br />&#160; &#160; 仅在将此Linux内核作为半虚拟化模式的XEN虚拟机的来宾操作系统运行时,才需要开启这里的选项.由于KVM的高歌猛进,特别是Ubuntu和Redhat的力挺,与昔日的辉煌相比,XEN现在已经没落许多了.<br />Staging drivers<br />CONFIG_STAGING<br />&#160; &#160; 尚在开发中或尚未完成的,目前尚不完善的驱动,切勿用于生产环境.仅供测试人员或者开发者试用.<br />X86 Platform Specific Device Drivers<br />CONFIG_X86_PLATFORM_DEVICES<br />&#160; &#160; 特定于X86平台的设备驱动.例如很多笔记本厂商的专有硬件和特色功能.大多数笔记本用户都应该进去看看(简单易懂,一看即知).</p><p>&#160; &#160; {此处省略所有特定于笔记本厂商的驱动}<br />&#160; &#160; Thermal Management driver for Intel menlow platform<br />&#160; &#160; CONFIG_INTEL_MENLOW<br />&#160; &#160; &#160; &#160; 此驱动专用于Intel Menlow平台(搭配Atom处理器),提供了增强的ACPI热量管理能力.<br />&#160; &#160; WMI<br />&#160; &#160; CONFIG_ACPI_WMI<br />&#160; &#160; &#160; &#160; ACPI-WMI(Windows管理规范)映射设备(PNP0C14)支持.WMI是微软对ACPI规范的专有扩展,可将部分ACPI固件内容通过PNP0C14设备映射到用户空间,以方便用户空间调用ACPI固件的功能.本选项仅为那些依赖于WMI的驱动提供支持(并不真正导出到用户空间),例如CONFIG_DRM_NOUVEAU驱动以及专用于Acer/Asus/Dell/MSI/HP等品牌笔记本的WMI驱动.<br />&#160; &#160; Intel Intelligent Power Sharing<br />&#160; &#160; CONFIG_INTEL_IPS<br />&#160; &#160; &#160; &#160; Intel Calpella平台支持Intel的智能电源共享(Intelligent Power Sharing)技术,可以在保持功耗不变的前提下,在CPU和GPU之间智能分配电力.开启此项和CONFIG_CPU_FREQ以及CONFIG_DRM_I915之后,即可实现此功能.<br />&#160; &#160; WMI support for MXM Laptop Graphics<br />&#160; &#160; CONFIG_MXM_WMI<br />&#160; &#160; &#160; &#160; MXM接口笔记本显卡的WMI支持.目前主要用于nvidia显卡.<br />&#160; &#160; Intel Oaktrail Platform Extras<br />&#160; &#160; CONFIG_INTEL_OAKTRAIL<br />&#160; &#160; &#160; &#160; Intel Oak Trail嵌入式平台需要此驱动来开关WiFi/相机/蓝牙等设备.<br />&#160; &#160; pvpanic device support<br />&#160; &#160; CONFIG_PVPANIC<br />&#160; &#160; &#160; &#160; pvpanic是QEMU提供的一种准虚拟化(paravirtualized)设备,允许客户机向宿主机报告panic事件.</p><p>Common Clock Framework<br />&#160; &#160; CCF(Common Clock Framework)是从3.4内核开始引入的新时钟框架,用于取代原有的&quot;Clock Framework&quot;.详见&quot;Documentation/clk.txt&quot;文档.这里还有一个讲解CCF的PDF.</p><p>&#160; &#160; DebugFS representation of clock tree<br />&#160; &#160; CONFIG_COMMON_CLK_DEBUG<br />&#160; &#160; &#160; &#160; 仅供调试使用<br />&#160; &#160; {此处省略的时钟设备请按实际情况选择(主要用于嵌入式设备)}</p><p>Hardware Spinlock drivers<br />&#160; &#160; 硬件自旋锁驱动.目前仅出现在嵌入式处理器上.自旋锁是保护共享资源的一种锁机制,与互斥锁比较类似,都是为了解决对某项资源的互斥使用.无论是互斥锁,还是自旋锁,在任何时刻,最多只能有一个持有者.也就是说,在任何时刻最多只能有一个执行单元获得锁.但是两者在调度机制上略有不同,对于互斥锁,如果资源已经被占用,资源申请者只能进入睡眠状态.但是自旋锁不会引起申请者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直在循环中&quot;忙等&quot;(占用CPU但无事可做),直到该自旋锁被释放.&quot;自旋&quot;一词就是因此而得名.自旋锁的使用非常方便,但仅适用于需要极短时间锁定的场合(例如1毫秒),以避免消耗太多的CPU空等时间.<br />Mailbox Hardware Support<br />CONFIG_MAILBOX<br />&#160; &#160; Mailbox硬件支持.这里的&quot;Mailbox&quot;是一个框架,通过消息队列和中断驱动信号,控制芯片上的多个处理器之间的通信.仅用于嵌入式环境.<br />IOMMU Hardware Support<br />CONFIG_IOMMU_SUPPORT<br />&#160; &#160; IOMMU硬件主要出现在带有I/O虚拟化技术的硬件上,例如带有AMD-Vi或VT-d技术的芯片.IOMMU主要作用:(1)内存地址转换(例如DMA地址转换,scatter-gather),(2)中断重映射,(3)对设备读取和写入的进行权限检查.这对于提高虚拟化性能和安全性,以及在64位系统上更好的使用32位设备,意义重大.[提示]此选项仅对宿主机有意义,如果此内核要作为来宾操作系统运行,请选&quot;N&quot;.</p><p>&#160; &#160; AMD IOMMU support<br />&#160; &#160; CONFIG_AMD_IOMMU<br />&#160; &#160; &#160; &#160; AMD IOMMU 硬件支持.一般还需要在BIOS中开启相应选项.</p><p>&#160; &#160; &#160; &#160; Export AMD IOMMU statistics to debugfs<br />&#160; &#160; &#160; &#160; CONFIG_AMD_IOMMU_STATS<br />&#160; &#160; &#160; &#160; &#160; &#160; 仅供调试使用<br />&#160; &#160; &#160; &#160; AMD IOMMU Version 2 driver<br />&#160; &#160; &#160; &#160; CONFIG_AMD_IOMMU_V2<br />&#160; &#160; &#160; &#160; &#160; &#160; 新一代的AMD IOMMUv2硬件(支持PCI PRI和PASID接口)支持.首次出现在AMD Opteron 4000/6000系列平台上.</p><p>&#160; &#160; Support for Intel IOMMU using DMA Remapping Devices<br />&#160; &#160; CONFIG_INTEL_IOMMU<br />&#160; &#160; &#160; &#160; 让Intel IOMMU支持DMA重映射,这是IOMMU的主要用途,只要你的芯片支持VT-d,就选&quot;Y&quot;.</p><p>&#160; &#160; &#160; &#160; Enable Intel DMA Remapping Devices by default<br />&#160; &#160; &#160; &#160; CONFIG_INTEL_IOMMU_DEFAULT_ON<br />&#160; &#160; &#160; &#160; &#160; &#160; 默认开启DMA重映射支持,相当于设置&quot;intel_iommu=on&quot;内核引导参数.选&quot;Y&quot;.</p><p>&#160; &#160; Support for Interrupt Remapping<br />&#160; &#160; CONFIG_IRQ_REMAP<br />&#160; &#160; &#160; &#160; 支持对IO-APIC和MSI设备开启中断重映射,这也是IOMMU的主要用途,只要你的芯片支持VT-d,就选&quot;Y&quot;.</p><p>Remoteproc drivers<br />&#160; &#160; 现代的SoC芯片一般都会以AMP(非对称多处理器)方式集成多个不同的处理器(例如OMAP5432就在单个芯片上集成了2个Cortex-A15处理器,2个Cortex-M4处理器,1个C64x DSP),这样就可在不同的处理器上分别运行多个不同的操作系统实例(例如,在2个Cortex-A9处理器上以SMP(对称多处理器)方式运行Linux,在2个Cortex-M3和1个C64x上分别运行不同的实时操作系统).而Remoteproc驱动对此种场合下的处理器间通信非常有用.详见&quot;Documentation/remoteproc.txt&quot;和&quot;Documentation/rpmsg.txt&quot;文档.目前仅对嵌入式系统有意义.不确定的选&quot;N&quot;.<br />Rpmsg drivers<br />&#160; &#160; 此项和上面的Remoteproc紧密相关,目前其下尚无子项可选.<br />Generic Dynamic Voltage and Frequency Scaling (DVFS) support<br />CONFIG_PM_DEVFREQ<br />&#160; &#160; DVFS(动态电压与频率调整)可以根据系统负载动态调节设备的运行频率和电压(对于同一芯片,频率越高,需要的电压也越高),从而达到节能目的.此选项提供了一个类似CPUfreq(CONFIG_CPU_FREQ)的通用DVFS框架(devfreq).目前DVFS技术进在嵌入式设备(例如Exynos4/Exynos5)上普遍存在.不确定的选&quot;N&quot;.<br />External Connector Class (extcon) support<br />CONFIG_EXTCON<br />&#160; &#160; extcon(外部连接器类)允许用户空间通过sysfs和uevent监控外部连接器,同时也支持多状态外部连接器(也就是拥有多个连接线缆的外部连接器).例如,一端连接到主机USB端口的多状态外部连接器,另一端可以同时连接一条HDMI线缆和一个AC适配器.30针的PDMI连接器也是多状态外部连接器的常见例子.不确定的选&quot;N&quot;.<br />Memory Controller drivers<br />CONFIG_MEMORY<br />&#160; &#160; 内存控制器驱动.这里所说的&quot;内存控制器&quot;仅指嵌入式SoC系统中的各种控制器.不确定的选&quot;N&quot;.<br />Industrial I/O support<br />CONFIG_IIO<br />&#160; &#160; IIO子系统为各种不同总线(i2c,spi,等)的嵌入式传感器驱动提供了一个统一的框架.例如:(1)模数转换器,(2)加速度传感器,(3)陀螺仪,(4)惯性测量仪,(5)电容-数字转换器,(6)压力/温度/光线传感器,等等.主要用于工业领域和嵌入式领域.不确定的选&quot;N&quot;.<br />Intel Non-Transparent Bridge support<br />CONFIG_NTB<br />&#160; &#160; PCI-E非透明桥是一个点对点PCI-E总线,用于连接两条对等的PCI-E总线.通常用于嵌入式智能I/O板卡.例如英特尔C5500/C3500系列嵌入式至强处理器.具体支持的设备号(PCI_DEVICE_ID)可以查看&quot;drivers/ntb/ntb_hw.h&quot;文件.不确定的选&quot;N&quot;.<br />VME bridge support<br />CONFIG_VME_BUS<br />&#160; &#160; VME(VersaModule Eurocard)总线是一种通用的计算机总线,主要用于工业控制/军用系统/航空航天/交通运输/医疗等嵌入式领域.而VME桥则是其他总线(例如PCI/PCI-E)到VME总线之间的转换芯片.不确定的选&quot;N&quot;.<br />Pulse-Width Modulation (PWM) Support<br />CONFIG_PWM<br />&#160; &#160; PWM(脉宽调制)是将模拟信号转换为脉波的一种技术.在计算机领域,这项技术常被用于控制风扇转速和背光显示器的亮度.很多微型处理器内部都包含有PWM控制器,此选项为所有PWM控制器驱动提供了一个统一的框架.主要用于嵌入式环境.不确定的选&quot;N&quot;.<br />IndustryPack bus support<br />CONFIG_IPACK_BUS<br />&#160; &#160; IndustryPack是工业控制领域常用的一种总线.不确定的选&quot;N&quot;.<br />Reset Controller Support<br />CONFIG_RESET_CONTROLLER<br />&#160; &#160; 为GPIO总线或者芯片内置的重启控制器提供通用支持.仅用于嵌入式设备.不确定的选&quot;N&quot;.</p>]]></description>
			<author><![CDATA[dummy@example.com (batsom)]]></author>
			<pubDate>Wed, 03 Aug 2022 14:38:54 +0000</pubDate>
			<guid>http://www.gentoo-zh.org/viewtopic.php?pid=19#p19</guid>
		</item>
	</channel>
</rss>
