您现在的位置是:首页 > 服务器相关

Device Drivers

batsom2020-12-11服务器相关

简介Device Drivers
设备驱动程序

Device Drivers
设备驱动程序

Generic Driver Options
    驱动程序通用选项

    Support for uevent helper

    path to uevent helper
    CONFIG_UEVENT_HELPER_PATH
        早年的内核(切换到基于netlink机制之前),在发生uevent事件(通常是热插拔)时,
        需要调用用户空间程序(通常是"/sbin/hotplug"),以帮助完成uevent事件的处理.
        此选项就是用于设定这个帮助程序的路径.由于目前的发行版都已不再需要此帮助程序,所以请保持空白.
    Maintain a devtmpfs filesystem to mount at /dev
    CONFIG_DEVTMPFS
        devtmpfs是一种基于CONFIG_TMPFS的文件系统(与proc和sys有几分相似).在系统启动过程中,随着各个设备的初始化完成,内核将会自动在devtmpfs中创建相应的设备节点(使用默认的文件名和权限)并赋予正确的主次设备号.更进一步,在系统运行过程中,随着各种设备插入和拔除,内核也同样会自动在devtmpfs中创建和删除的相应的设备节点(使用默认的文件名和权限)并赋予正确的主次设备号.如果将devtmpfs挂载到"/dev"目录(通常是系统启动脚本),那么便拥有了一个全自动且全功能的"/dev"目录,而且用户空间程序(通常是udevd)还可以对其中的内容进行各种修改(增删节点,改变权限,创建符号链接).目前的发行版和各种嵌入式系统基本都依赖于此,除非你知道自己在做什么,否则请选"Y".

        Automount devtmpfs at /dev, after the kernel mounted the rootfs
        CONFIG_DEVTMPFS_MOUNT
            在内核挂载根文件系统的同时,立即自动将devtmpfs挂载到"/dev"目录.因为此时init进程都还尚未启动,所以这就确保在进入用户空间之前,所有设备文件就都已经准备完毕.开启此选项相当于设置内核引导参数"devtmpfs.mount=1",关闭此选项相当于设置内核引导参数"devtmpfs.mount=0".开启此项后,你就可以放心的使用"init=/bin/sh"直接进入救援模式,而不必担心"/dev"目录空无一物.注意:此选项并不影响基于initramfs的启动,此种情况下,devtmpfs必须被手动挂载.所以,如果你的系统使用initrd或者有专门的启动脚本用于挂载"/dev"目录(大多数发行版都有这样的脚本),或者你看了前面的解释,还是不确定,那就选"N".对于实在想要使用"init=/bin/sh"直接进入救援模式的人来说,还是使用"init=/bin/sh devtmpfs.mount=1"吧!

    Select only drivers that don't need compile-time external firmware
    CONFIG_STANDALONE
        只显示那些编译时不需要额外固件支持的驱动程序,除非你有某些怪异硬件,否则请选"Y".
    Prevent firmware from being built
    CONFIG_PREVENT_FIRMWARE_BUILD
        不编译固件(firmware).固件一般是随硬件的驱动程序提供的,仅在更新固件的时候才需要重新编译.建议选"Y".
    Userspace firmware loading support
    CONFIG_FW_LOADER
        用户空间固件加载支持.如果内核自带的模块需要它,它将会被自动选中.但某些内核树之外的模块也可能需要它,这时候就需要你根据实际情况手动开启了.

        Include in-kernel firmware blobs in kernel binary
        CONFIG_FIRMWARE_IN_KERNEL
            内核源码树中包含了许多驱动程序需要的二进制固件(blob),推荐的方法是通过"make firmware_install"将"firmware"目录中所需的固件复制到系统的"/lib/firmware/"目录中,然后由用户空间帮助程序在需要的时候进行加载.开启此项后,将会把所需的"blob"直接编译进内核,这样就可以无需用户空间程序的帮助,而直接使用这些固件了(例如:当根文件系统依赖于此类固件,而你又不想使用initrd的时候).每个需要此类二进制固件的驱动程序,都会有一个"Include firmware for xxx device"的选项,如果此处选"Y",那么这些选项都将被隐藏.建议选"N".
        External firmware blobs to build into the kernel binary
        CONFIG_EXTRA_FIRMWARE
            指定要额外编译进内核的二进制固件(blob).此选项的值是一个空格分隔的固件文件名字符串,这些文件必须位于CONFIG_EXTRA_FIRMWARE_DIR目录中(其默认值是内核源码树下的"firmware"目录).
        Firmware blobs root directory
        CONFIG_EXTRA_FIRMWARE_DIR
            指定CONFIG_EXTRA_FIRMWARE中列出的文件位于哪个目录.默认值是当前内核源码树下的"firmware"目录.若有需要,你也可以修改成其他目录(例如"/lib/firmware/").

    Fallback user-helper invocation for firmware loading
    CONFIG_FW_LOADER_USER_HELPER
        在内核自己直接加载固件失败后,作为补救措施,调用用户空间帮助程序(通常是udev)再次尝试加载.
        通常这个动作是不必要的,因此应该选"N".仅在某些特殊的固件位于非标准位置时,才需要选"Y".

    Allow device coredump
        允许设备coredump
        
    Driver Core verbose debug messages
    CONFIG_DEBUG_DRIVER
        让驱动程序核心在系统日志中产生冗长的调试信息,仅供调试
        
    Managed device resources verbose debug messages
    CONFIG_DEBUG_DEVRES
        为内核添加一个"devres.log"引导参数.当被设为非零值时,
        将会打印出设备资源管理驱动(devres)的调试信息.仅供调试使用.

    Test driver remove calls during probe
        测试驱动程序在探测期间删除呼
        
    Build kernel module to test asynchronous driver probing
        构建内核模块以测试异步驱动程序探测
        
    Enable verbose DMA_FENCE_TRACE messages
        nable详细的DMA_FENCE_TRACE消息
        
    Contiguous Memory Allocator
    CONFIG_CMA
        在使用ARM等嵌入式Linux系统的时候,GPU,Camera,HDMI等都需要预留大量连续内存,
        这部分内存平时不用,但是传统的做法又必须先预留着.
        而通过连续内存分配器(Contiguous Memory Allocator)可以做到不预留内存,
        仅在需要的时候才将大块的连续物理内存分配给相应的驱动程序.
        这个机制对于那些不支持I/O map和scatter-gather的设备很有作用.
        详情参见"include/linux/dma-contiguous.h"文件,不确定的选"N".

Bus devices
    总线设备.此类设备仅出现在ARM平台.
    
Connector - unified userspace <-> kernelspace linker
CONFIG_CONNECTOR
    统一的用户空间和内核空间连接器,工作在netlink socket协议的顶层.连接器是非常便利的用户态与内核态的通信方式,内核开发者在编写内核子系统或模块时可以采用这种方式方便地进行用户态与内核态的数据交换.内核有两个连接器应用实例:一个是进程事件连接器,另一个是CIFS文件系统.另外还有一个给Gentoo装上启动画面的例子.

    Report process events to userspace
    CONFIG_PROC_EVENTS
        提供一个向用户空间报告进程事件(fork,exec,id变化(uid,gid,suid))的连接器.

Memory Technology Device (MTD) support
CONFIG_MTD
    MTD子系统是一个闪存转换层.其主要目的是提供一个介于闪存硬件驱动程序与高级应用程序之间的抽象层,以简化闪存设备的驱动.注意:MTD常用于嵌入式系统,而我们常见的U盘/MMC卡/SD卡/CF卡等移动存储设备以及固态硬盘(SSD),虽然也叫"flash",但它们并不是使用MTD技术的存储器.仅在你需要使用主设备号为31的MTD块设备(/dev/romX,/dev/rromX,/dev/flashX,/dev/rflashX),或者主设备号为90的MTD字符设备(/dev/mtdX,/dev/mtdrX)时选"Y",否则选"N".
    
Device Tree and Open Firmware support
    设备树和开放固件支持
    
Parallel port support
CONFIG_PARPORT
    25针并口(LPT接口)支持.古董级的打印机或扫描仪可能使用这种接口.目前已被淘汰.
    
Plug and Play support
CONFIG_PNP
    即插即用(PnP)支持.选"Y"表示让Linux为PnP设备分配中断和I/O端口(需要在BIOS中开启"PnP OS"),
    选"N"则表示让BIOS来分配(需要在BIOS中关闭"PnP OS").建议选"Y".

    PNP debugging messages
    CONFIG_PNP_DEBUG_MESSAGES
        允许使用"pnp.debug"内核参数在系统启动过程中输出PnP设备的调试信息,建议选"N".

Block devices
CONFIG_BLK_DEV
    块设备,建议选"Y".
    Null test block driver
        空测试块驱动程序
    Normal floppy disk support
    CONFIG_BLK_DEV_FD
        通用软驱支持.已被时代抛弃的设备
    Parallel port IDE device support
    CONFIG_PARIDE
        通过并口与计算机连接的IDE设备,比如某些老旧的外接光驱或硬盘之类.此类设备早就绝种了
    Block Device Driver for Micron PCIe SSDs
    CONFIG_BLK_DEV_PCIESSD_MTIP32XX
        Micron P320/P325/P420/P425 系列固态硬盘支持
    Compaq SMART2 support
    CONFIG_BLK_CPQ_DA
        基于 Compaq SMART2 控制器的磁盘阵列卡
    Compaq Smart Array 5xxx support
    CONFIG_BLK_CPQ_CISS_DA
        基于 Compaq Smart 控制器的磁盘阵列卡
    SCSI tape drive support for Smart Array 5xxx
    CONFIG_CISS_SCSI_TAPE
        在基于 Compaq Smart 控制器的磁盘阵列卡上使用的磁带机
    Mylex DAC960/DAC1100 PCI RAID Controller support
    CONFIG_BLK_DEV_DAC960
        Mylex DAC960, AcceleRAID, eXtremeRAID PCI RAID 控制器.很古董的设备了.
    Micro Memory MM5415 Battery Backed RAM support
    CONFIG_BLK_DEV_UMEM
        一种使用电池做后备电源的内存,但被用作块设备,可以像硬盘一样被分区
    Loopback device support
    CONFIG_BLK_DEV_LOOP
        loop是指拿文件来模拟块设备(/dev/loopX),比如可以将一个iso9660镜像文件当成文件系统来挂载.建议选"Y".
        Number of loop devices to pre-create at init time
        CONFIG_BLK_DEV_LOOP_MIN_COUNT
            系统预先初始化的loop设备个数.此值可以通过内核引导参数"loop.max_loop"修改.
            如果你使用util-linux-2.21以上版本,建议设为"0"(loop设备将通过/dev/loop-control动态创建),
            否则保持默认值即可.
        Cryptoloop Support
        CONFIG_BLK_DEV_CRYPTOLOOP
            使用系统提供的CryptoAPI对loop设备加密.
            注意:因为不能在Cryptoloop上创建日志型文件系统(CONFIG_DM_CRYPT模块可以),
            所以Cryptoloop已经逐渐淡出了.建议选"N".
    DRBD Distributed Replicated Block Device support
    CONFIG_BLK_DEV_DRBD
        DRBD(Distributed Replicated Block Device)是一种分布式储存系统.DBRD处于文件系统之下,比文件系统更加靠近操作系统内核及IO栈.DRBD类似RAID1磁盘阵列,只不过RAID1是在同一台电脑内,而DRBD是透过网络.注意:为了进行连接认证,你还需要选中CONFIG_CRYPTO_HMAC以及相应的哈希算法.不确定的选"N".
        DRBD fault injection
        CONFIG_DRBD_FAULT_INJECTION
            模拟IO错误,以用于测试DRBD的行为.主要用于调试目的
    Network block device support
    CONFIG_BLK_DEV_NBD
        让你的电脑成为网络块设备的客户端,也就是可以挂载远程服务器通过TCP/IP网络提供的块设备
        (/dev/ndX).提示:这与NFS或Coda没有任何关系.更多详情参见"Documentation/blockdev/nbd.txt".不确定的选"N".
    NVM Express block device
    CONFIG_BLK_DEV_NVME
        NVM Express是专门针对PCI-E接口高性能固态硬盘的标准规范.
        有了这一标准,操作系统厂商只需要编写一种驱动,就可以支持不同厂商的不同
        PCI-E SSD设备,以解决目前PCI-E SSD产品形态与规格五花八门,缺乏通用性和互用性的问题.
    OSD object-as-blkdev support
    CONFIG_BLK_DEV_OSD
        允许将一个单独的 SCSI OSD(Object-Based Storage Devices) 对象当成普通的块设备来使用.举例来说,
        你可以在OSD设备上创建一个2G大小的对象,
        然后通过本模块将其模拟成一个2G大小的块设备使用.不确定的选"N".
    STEC S1120 Block Driver
        STEC S1120块驱动器
    Promise SATA SX8 support
    CONFIG_BLK_DEV_SX8
        基于Promise公司的SATA SX8控制器的RAID卡
    RAM block device support
    CONFIG_BLK_DEV_RAM
        内存中的虚拟磁盘,大小固定.详情参阅"Documentation/blockdev/ramdisk.txt".
        由于其功能比CONFIG_TMPFS弱许多,使用上也不方便,所以除非你有明确的理由,
        否则应该选"N",并转而使用CONFIG_TMPFS.
        Default number of RAM disks
        CONFIG_BLK_DEV_RAM_COUNT
            默认RAM disk的数量.请保持默认值,除非你知道自己在做什么.
        Default RAM disk size (kbytes)
        CONFIG_BLK_DEV_RAM_SIZE
            默认RAM disk的大小.请保持默认值,除非你知道自己在做什么.
        Support XIP filesystems on RAM block device
        CONFIG_BLK_DEV_XIP
            XIP(eXecute In Place)支持(指应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中).
            一般用于嵌入式设备.
    Packet writing on CD/DVD media
    CONFIG_CDROM_PKTCDVD
        CD/DVD刻录机支持.详情参见"Documentation/cdrom/packet-writing.txt"文档
        Free buffers for data gathering
        CONFIG_CDROM_PKTCDVD_BUFFERS
            用于收集写入数据的缓冲区个数(每个占用64Kb内存),缓冲区越多性能越好.
        Enable write caching
        CONFIG_CDROM_PKTCDVD_WCACHE
            为CD-R/W设备启用写入缓冲,目前这是一个比较危险的选项.建议关闭.
    ATA over Ethernet support
    CONFIG_ATA_OVER_ETH
        以太网ATA设备(ATA over Ethernet)支持.
    Xen virtual block device support
    CONFIG_XEN_BLKDEV_FRONTEND
        XEN虚拟块设备前端驱动.此驱动用于与实际驱动块设备的后端驱动(通常位于domain0)通信.
    Xen block-device backend driver
    CONFIG_XEN_BLKDEV_BACKEND
        XEN块设备后端驱动(通常位于domain0)允许内核将实际的块设备通过高性能的共享内存接口导出给
        其他客户端的前端驱动(通常位于非domain0)使用.
    Virtio block driver
    CONFIG_VIRTIO_BLK
        Virtio虚拟块设备驱动.它可以用于KVM或XEN这类基于lguest或QEMU的VMM(Virtual Machine Monitor).
        SCSI passthrough request for the Virtio block driver
            Virtio块驱动程序的SCSI直通请求
    Very old hard disk (MFM/RLL/IDE) driver
    CONFIG_BLK_DEV_HD
        又老又旧的MFM/RLL/ESDI硬盘驱动.无需犹豫,选"N".
    Rados block device (RBD)
    CONFIG_BLK_DEV_RBD
        rados块设备(rbd)支持.它可以与分布式文件系统Ceph合作,也能独立工作.
    IBM FlashSystem 70/80 PCIe SSD Device Driver
    CONFIG_BLK_DEV_RSXX
        IBM FlashSystem 70/80 PCIe SSD 驱动
    IBM Flash Adapter 900GB Full Height PCIe Device Driver
        IBM闪存适配器900GB全高PCIe设备驱动程序
        
Misc devices
    杂项设备

    {省略的部分请按照实际的硬件状况进行选择}
    Integrated Circuits ICS932S401
    CONFIG_ICS932S401
        IDT ICS932S401 系列时钟频率控制芯片支持(可能会出现在某些主板上).
    Enclosure Services
    CONFIG_ENCLOSURE_SERVICES
        SES(SCSI Enclosure Services)是一项目前大多数移动硬盘盒/硬盘托架/电脑主板都支持的硬件控制命令服务,
        SES可以让主机端透过SCSI命令去控制外接盒内的电源/冷却装置以及其他与数据传输无关的东西.
        要使用这项技术,外置硬盘盒和主机上的SCSI/ATA芯片都需要支持SES技术才OK.
    VMware Balloon Driver
    CONFIG_VMWARE_BALLOON
        VMware物理内存balloon驱动.参见CONFIG_BALLOON_COMPACTION选项.
    Generic on-chip SRAM driver
    CONFIG_SRAM
        许多SoC系统都有芯片内嵌的SRAM.开启此项后,就可以声明将此段内存范围交给通用内存分配器
        (genalloc)管理.不确定的选"N".
    EEPROM support
        EEPROM主要用于保存主板或板卡的BIOS,
        如果你想通过此Linux系统刷写BIOS可以考虑开启相应的子项.不确定的全部选"N".
    Intel Management Engine Interface
    CONFIG_INTEL_MEI
        Intel芯片组管理引擎,介于固件和系统驱动之间,类似于一种接口(Interface),
        帮助系统和固件之间交互.如果你的芯片组位于"CONFIG_INTEL_MEI_ME"中,可以选"Y",不过其实也没有多少实际意义.
    ME Enabled Intel Chipsets
    CONFIG_INTEL_MEI_ME
        请根据帮助中列出的芯片组对照实际情况选择.
    VMware VMCI Driver
    CONFIG_VMWARE_VMCI
        VMware VMCI(Virtual Machine Communication Interface)是一个在host和guest之间以及同一host上的guest和guest之间进行高速通信的虚拟设备.VMCI主要是提供一个接口让guest内的程序来调用,通过这个接口能在一个主机上的多个虚拟机之间进行直接的通信,而且无需经过更上层的其他途径,这样将有效地降低网络通信所产生的开支,但是这需要修改虚拟机上的软件,所以VMCI只适用于对虚拟机间通信要求非常高的情况.不确定的选"N".

ATA/ATAPI/MFM/RLL support (DEPRECATED)
CONFIG_IDE
    已被废弃的IDE硬盘和ATAPI光驱等接口的驱动(已被CONFIG_ATA取代).选"N",
    除非你确实知道自己在干什么.
SCSI device support
    SCSI子系统

    RAID Transport Class
    CONFIG_RAID_ATTRS
        这只是用来得到RAID信息以及将来可能用于配置RAID方式的一个类.
        不管你的系统使用的是哪种RAID,都可以放心的关闭此项.不确定的选"N".
    SCSI device support
    CONFIG_SCSI
        SCSI协议支持.有任何SCSI/SAS/SATA/USB/Fibre Channel/FireWire设备之一就必须选上.选"Y".
    SCSI target support
    CONFIG_SCSI_TGT
        内核态的通用SCSI Target实现(原LIO项目).SCSI子系统使用了一种客户机-服务器(C/S)模型.通常,一台计算机是这个模型中的客户机(称为"initiator"),向目标(target)发起块操作请求,这个"target"通常是一个存储设备(例如一块硬盘).此模块的功能是将一台计算机变成一个"target"(就像一个普通的硬盘一样),响应其他"initiator"节点的操作请求,从而让"target"能够提供更加高级的功能:复制,自动精简配置,重复数据删除,高可用性,自动备份等.不确定的选"N".
    legacy /proc/scsi/ support
    CONFIG_SCSI_PROC_FS
        过时的/proc/scsi/接口.某些老旧的刻录程序可能需要它,建议选"N".
    SCSI disk support
    CONFIG_BLK_DEV_SD
        使用SCSI/SAS/SATA/PATA/USB/Fibre Channel存储设备的必选.选"Y".
    SCSI tape support
    CONFIG_CHR_DEV_ST
        通用SCSI磁带驱动
    SCSI OnStream SC-x0 tape support
    CONFIG_CHR_DEV_OSST
        专用于OnStream SC-x0/USB-x0/DI-x0的SCSI磁带/USB盘驱动
    SCSI CDROM support
    CONFIG_BLK_DEV_SR
        通过SCSI/FireWire/USB/SATA/IDE接口连接的DVD/CD驱动器(基本上涵盖了所有常见的接口).
        Enable vendor-specific extensions (for SCSI CDROM)
        CONFIG_BLK_DEV_SR_VENDOR
            仅在某些古董级的SCSI CDROM设备上才需要:NEC/TOSHIBA cdrom, HP Writers
    SCSI generic support
    CONFIG_CHR_DEV_SG
        通用SCSI协议(/dev/sg*)支持.也就是除硬盘/光盘/磁带之外的SCSI设备(例如光纤通道).
        这些设备还需要额外的用户层工具支持才能正常工作.例如:SANE,Cdrtools,CDRDAO,Cdparanoia
    SCSI media changer support
    CONFIG_CHR_DEV_SCH
        SCSI介质转换设备(SCSI Medium Changer device)
        是一种控制多个SCSI介质的转换器(例如在多个磁带/光盘之间进行切换),
        常用于控制磁带库或者CD自动点歌机(jukeboxes).
        此种设备会在/proc/scsi/scsi中以"Type: Medium Changer"列出.控制此类设备的用户层工具包是scsi-changer.
        更多细节参见"Documentation/scsi/scsi-changer.txt"文档.不确定的选"N".
    SCSI Enclosure Support
    CONFIG_SCSI_ENCLOSURE
        "Enclosure"是一种用于管理SCSI设备的背板装置.比如移动硬盘盒就是一种常见的"Enclosure"设备.
        此项主要用于向用户层报告一些"Enclosure"设备的状态,这些状态对于SCSI设备的正常运行并非必须.
        此项依赖于CONFIG_ENCLOSURE_SERVICES选项.
    Probe all LUNs on each SCSI device
    CONFIG_SCSI_MULTI_LUN
        默认强制在每个SCSI设备上探测所有的逻辑设备数量(Logical Unit Number),
        其值会被该模块的内核引导参数"max_luns"覆盖.
        只在一个SCSI设备上有多个逻辑设备时才需要选它,一般的SCSI设备并不需要.
        一个SCSI设备上有多个逻辑设备的典型例子:多口USB读卡器,CD点唱机(jukebox),
        处于"mass storage"模式的智能手机,量产为多个设备后的U盘.
        注意:此项并不影响符合SCSI-3或更高标准的设备,因为这些设备会明确的向内核报告逻辑设备数.
    Verbose SCSI error reporting (kernel size +=12K)
    CONFIG_SCSI_CONSTANTS
        以易读的方式报告SCSI错误,内核将会增大12K
    SCSI logging facility
    CONFIG_SCSI_LOGGING
        启用SCSI日志(默认并不开启,需要"echo [bitmask] > /proc/sys/dev/scsi/logging_level"),
        可用于跟踪和捕获SCSI设备的错误.
        关于[bitmask]的说明可以查看"drivers/scsi/scsi_logging.h"文件.
    Asynchronous SCSI scanning
    CONFIG_SCSI_SCAN_ASYNC
        异步扫描的意思是,在内核引导过程中,SCSI子系统可以在不影响其他子系统引导的同时进行SCSI设备的探测(包括同时在多个总线上进行检测),这样可以加快系统的引导速度.但是如果SCSI设备驱动被编译为模块,那么异步扫描将会导致内核引导出现问题(解决方法是加载scsi_wait_scan模块,或者使用"scsi_mod.scan=sync"内核引导参数).不确定的选"N".
    SCSI Transports
        SCSI接口类型,下面的子项可以全不选,内核中若有其他部分依赖它,会自动选上

        Parallel SCSI (SPI) Transport Attributes
        CONFIG_SCSI_SPI_ATTRS
            传统的并行SCSI(Ultra320/160之类),已逐渐被淘汰
        FiberChannel Transport Attributes
        CONFIG_SCSI_FC_ATTRS
            光纤通道接口

            SCSI target support for FiberChannel Transport Attributes
            CONFIG_SCSI_FC_TGT_ATTRS
                为光纤通道添加"target"模式驱动

        iSCSI Transport Attributes
        CONFIG_SCSI_ISCSI_ATTRS
            iSCSI协议是利用TCP/IP网络传送SCSI命令和数据的I/O技术
        SAS Transport Attributes
        CONFIG_SCSI_SAS_ATTRS
            串行SCSI传输属性支持(SAS对于SPI的关系犹如SATA对于IDE),这是目前的主流接口
        SAS Domain Transport Attributes
        CONFIG_SCSI_SAS_LIBSAS
            为使用了SAS Domain架构的驱动程序提供帮助.SAS Domain即整个SAS交换构架,由"SAS device"和"SAS expander device"组成,其中Device又区分为Initiator和Target,它们可以直接对接起来,也可以经过Expander进行连接,Expander起到通道交换或者端口扩展的作用.看不懂就说明你不需要它.

            ATA support for libsas (requires libata)
            CONFIG_SCSI_SAS_ATA
                在libsas中添加ATA支持,从而让libata和libsas协同工作.
            Support for SMP interpretation for SAS hosts
            CONFIG_SCSI_SAS_HOST_SMP
                在libsas中添加SMP解释器,以允许主机支持SAS SMP协议.

        SRP Transport Attributes
        CONFIG_SCSI_SRP_ATTRS
            SCSI RDMA 协议(SCSI RDMA Protocol)通过将SCSI数据传输阶段映射到Infiniband
            远程直接内存访问(Remote Direct Memory Access)操作加速了SCSI协议.

            SCSI target support for SRP Transport Attributes
            CONFIG_SCSI_SRP_TGT_ATTRS
                为SRP添加"target"模式驱动

    SCSI low-level drivers
    CONFIG_SCSI_LOWLEVEL
        底层SCSI驱动程序

        iSCSI Initiator over TCP/IP
        CONFIG_ISCSI_TCP
            iSCSI协议利用TCP/IP网络在"initiator"与"targets"间传送SCSI命令和数据.此选项便是iSCSI initiator驱动.相关的用户层工具/文档/配置示例,可以在open-iscsi找到.
        iSCSI Boot Sysfs Interface
        CONFIG_ISCSI_BOOT_SYSFS
            通过sysfs向用户空间显示iSCSI的引导信息.
        {此处省略的部分按照实际使用的控制器进行选择}
        VMware PVSCSI driver support
        CONFIG_VMWARE_PVSCSI
            VMware半虚拟化的SCSI HBA控制器
        Microsoft Hyper-V virtual storage driver
        CONFIG_HYPERV_STORAGE
            微软的Hyper-V虚拟存储控制器
        Intel(R) C600 Series Chipset SAS Controller
        CONFIG_SCSI_ISCI
            Intel C600 系列芯片组 6Gb/s SAS控制器
        virtio-scsi support
        CONFIG_SCSI_VIRTIO
            virtio虚拟HBA控制器
    PCMCIA SCSI adapter support
    CONFIG_SCSI_LOWLEVEL_PCMCIA
        通过PCMCIA卡与计算机连接的SCSI设备
    SCSI Device Handlers
    CONFIG_SCSI_DH
        针对某些特定SCSI设备的驱动,具体子项请按照实际使用的控制器进行选择
    OSD-Initiator library
    CONFIG_SCSI_OSD_INITIATOR
        OSD(Object-Based Storage Device)协议是一个T10 SCSI命令集,和SCSI处于同一级别,也跟SCSI很类似,分成osd-initiator/osd-target两部分,用于对象存储文件系统,此选项实现了OSD-Initiator库(libosd.ko).更多细节参见"Documentation/scsi/osd.txt"文件.看不懂就说明你不需要.[提示]此选项依赖于CONFIG_CRYPTO_SHA1和CONFIG_CRYPTO_HMAC模块.
        OSD Upper Level driver
        CONFIG_SCSI_OSD_ULD
            提供OSD上层驱动(也就是向用户层提供/dev/osdX设备).从而允许用户层控制OSD设备
            (比如挂载基于OSD的exofs文件系统).

Serial ATA and Parallel ATA drivers
CONFIG_ATA
    SATA与PATA(IDE)设备.桌面级PC以及低端服务器的硬盘基本都是此种接口
    Verbose ATA error reporting
    CONFIG_ATA_VERBOSE_ERROR
        输出详细的ATA命令描述信息.大约会让内核增大6KB.禁用它将会导致调试ATA设备错误变得困难.
    ATA ACPI Support
    CONFIG_ATA_ACPI        
    与ATA相关的ACPI对象支持.这些对象与性能/安全/电源管理等相关.
    不管你使用的是IDE硬盘还是SATA硬盘,都建议开启(可以使用内核引导参数"libata.noacpi=1"关闭).
        SATA Zero Power Optical Disc Drive (ZPODD) support
        CONFIG_SATA_ZPODD
            这是SATA-3.1版规范新增的节能相关内容,用新的电源管理策略降低了整个系统的电力需求,
            可以让处于空闲状态的光驱耗电量近乎于零.这需要主板和光驱两者都支持SATA-3.1规范才行.
    SATA Port Multiplier support
    CONFIG_SATA_PMP
        SATA端口复用器(Port Multiplier)是一个定义在SATA规范里面的可以选择的功能,
        可以把一个活动主机连接多路复用至多个设备连接,相当于一个SATA HUB.不确定的选"N".
    AHCI SATA support
    CONFIG_SATA_AHCI
        AHCI SATA 支持.这是最佳的SATA模式(NCQ功能依赖于它).某些主板还需要在BIOS中将硬盘明确设为AHCI模式.使用SATA硬盘者必选"Y".[提示]由于各厂商芯片组内的SATA控制器都遵循同一种规范,所以并不需要各种各样针对不同SATA控制器的驱动,就这一个驱动基本就能通吃所有SATA控制器了,这比丰富多彩的网卡驱动省事多了.
    Platform AHCI SATA support
    CONFIG_SATA_AHCI_PLATFORM
        这是用于嵌入式系统的与AHCI接口兼容的SATA驱动.并不是常见的芯片组中的SATA控制器驱动.不确定的选"N".
    {此处省略几个特殊且不常见的SATA控制器驱动}
    ATA SFF support (for legacy IDE and PATA)
    CONFIG_ATA_SFF
        使用SATA硬盘的用户可无视此项,选"N"即可.对于依然使用老旧的IDE/PATA硬盘的用户而言,
        按照实际情况在子项中选择相应的控制器驱动即可.

        {此处省略几个罕见的Pacific/Promise芯片组}
        ATA BMDMA support
        CONFIG_ATA_BMDMA
            这是IDE控制器的事实标准.除了上世纪的古董外,绝大多数芯片组都遵守这个标准,选"Y",
            然后从子项中选择恰当的芯片组/控制器.
        {此处省略的PIO-only SFF芯片组都是早就绝迹的老古董}
        ACPI firmware driver for PATA
        CONFIG_PATA_ACPI
            通过ACPI BIOS去操作IDE控制器.仅用于某些比较奇特的IDE控制器.选"N".
        Generic ATA support
        CONFIG_ATA_GENERIC
            这是通用的IDE控制器驱动.如果你无法确定IDE控制器的具体型号(比如需要面对未知的硬件状况),
            或者不想使用针对特定芯片组的IDE驱动,就选"Y"吧.

Multiple devices driver support (RAID and LVM)
CONFIG_MD
    多设备支持(RAID和LVM).RAID和LVM的功能是使用多个物理设备组建成一个单独的逻辑设备
    RAID support
    CONFIG_BLK_DEV_MD
        "Software RAID"(需要使用mdadm工具)支持.也就是"软RAID".使用硬件RAID卡的用户并不需要此项.
        Autodetect RAID arrays during kernel boot
        CONFIG_MD_AUTODETECT        
        在内核启动过程中自动检测RAID模式.
        如果你没有使用RAID,那么选中此项将会让内核在启动过程中
        增加几秒延迟.如果你使用了"raid=noautodetect"内核引导参数关闭了自动检测,或者此处选了"N",
        那么你必须使用"md=???"内核引导参数明确告诉内核RAID模式及配置.
        Linear (append) mode
        CONFIG_MD_LINEAR
            线性模式(简单的将一个分区追加在另一个分区之后),一般不使用这种模式.
        RAID-0 (striping) mode
        CONFIG_MD_RAID0
            RAID-0(等量分割)模式,可以获取最高性能,但是却损害了可靠性,一般也不使用这种模式.
        RAID-1 (mirroring) mode
        CONFIG_MD_RAID1
            RAID-1(镜像)模式.包含内核的引导分区只能使用这种模式.
        RAID-10 (mirrored striping) mode
        CONFIG_MD_RAID10
            RAID 1+0 模式
        RAID-4/RAID-5/RAID-6 mode
        CONFIG_MD_RAID456
            RAID-4/RAID-5/RAID-6 模式
        Multipath I/O support
        CONFIG_MD_MULTIPATH
            多路IO支持是指在服务器和存储设备之间使用冗余的物理路径组件创建"逻辑路径",
            如果这些组件发生故障并造成路径失败,多路径逻辑将为I/O使用备用路径以使应用程序仍然
            可以访问其数据.该选项已废弃,并已被CONFIG_DM_MULTIPATH所取代.选"N".
        Faulty test module for MD
        CONFIG_MD_FAULTY
            用于MD(Multi-device)的缺陷测试模块,仅用于调试.
    Block device as cache
    CONFIG_BCACHE
        将一个块设备用作其他块设备的缓存(Bcache).此缓存使用btree(平衡树)索引,
        并专门为SSD进行了优化.仅在你打算使用高速SSD作为普通硬盘的缓存时才需要此功能.
        详情参见"Documentation/bcache.txt"文档.
        Bcache debugging
        CONFIG_BCACHE_DEBUG
            仅供内核开发者调试使用
        Extended runtime checks
        CONFIG_BCACHE_EDEBUG
            仅供内核开发者调试使用
        Debug closures
        CONFIG_BCACHE_CLOSURES_DEBUG
            仅供内核开发者调试使用
    Device mapper support
    CONFIG_BLK_DEV_DM
        Device-mapper是一个底层的卷管理器,提供了一种从逻辑设备到物理设备的映射框架,
        用户可以很方便的根据自己的需要制定实现存储资源的管理策略.它不像RAID那样工作在设备层,
        而是通过块和扇区的映射机制,将不同磁盘的不同部分组合成一个大的块设备供用户使用.
        LVM2和EVMS都依赖于它.此外,那些集成在南桥(例如ICH8R/ICH9R/ICH10R系列等)中所谓的
        "硬RAID"(准确的称呼应该是"Device Mapper RAID",又称为"Fake RAID"/"BIOS RAID")也依赖于它.
        equest-based DM: use blk-mq I/O path by default
            基于equest的DM:默认使用blk-mq I / O路径
        Device mapper debugging support
        CONFIG_DM_DEBUG
            仅供内核开发者调试使用
        Block manager locking
            块管理器锁定
        Crypt target support
        CONFIG_DM_CRYPT
           此模块允许你创建一个经过透明加密的逻辑设备(使用cryptsetup工具),
           要使用加密功能,除此项外,还需要在"Cryptographic API"里选中相应的加密算法,例如CONFIG_CRYPTO_AES.
           更多文档请参考LUKS FAQ.
        Snapshot target
        CONFIG_DM_SNAPSHOT
            允许卷管理器为DM设备创建可写的快照(定格于特定瞬间的一个设备虚拟映像).LVM2 Snapshot需要它的支持.
            更多详情参见"Documentation/device-mapper/snapshot.txt"文档.不确定的选"N".
        Thin provisioning target
        CONFIG_DM_THIN_PROVISIONING
            "Thin provisioning"(某些地方翻译为"精简配置")的意思是允许分配给所有用户的总存储容量超过实际的
            存储容量(使用thin-provisioning-tools工具).例如给100个用户分配空间,
            每个用户最大允许10G空间,共计需要1000G空间.但实际情况是95%的用户都只使用了不到1G的空间,
            那么实际准备1000G空间就是浪费.有了"thinprovisioning"的帮助,
            你实际只需要准备150G的空间就可以了,之后,
            可以随着用户需求的增加,添加更多的实际存储容量,
            从而减少存储投资和避免浪费.更多详情参见"Documentation/device-mapper/thin-provisioning.txt"文档.
            Keep stack trace of thin provisioning block lock holders
            CONFIG_DM_DEBUG_BLOCK_STACK_TRACING
                仅用于调试目的
        Cache target
        CONFIG_DM_CACHE
            dm-cache通过将频繁使用的热点数据缓存到一个容量较小但性能很高的存储设备上,
            从而提升块设备的性能.它支持writeback和writethrough两种模式,
            并可以使用多种缓存策略(policy)以判断哪些是热点数据以及哪些数据需要从缓存中移除.
            更多详情参见"Documentation/device-mapper/cache.txt"文档.不确定的选"N".
            MQ Cache Policy
            CONFIG_DM_CACHE_MQ
                MQ缓存策略.这是目前唯一真正可用的缓存策略.
            Cleaner Cache Policy
            CONFIG_DM_CACHE_CLEANER
                Cleaner简单的把所有数据都同步写入到原始设备上,相当于关闭缓存.
        Mirror target
        CONFIG_DM_MIRROR
            允许对逻辑卷进行镜像,同时实时数据迁移工具pvmove也需要此项的支持.
            Mirror userspace logging
            CONFIG_DM_LOG_USERSPACE
                device-mapper用户空间日志功能由内核模块和用户空间程序两部分组成,
                此选项是内核模块(API定义于"linux/dm-dirty-log.h"文件).不确定的选"N".
        RAID 1/4/5/6/10 target
        CONFIG_DM_RAID
            RAID 1/4/5/6/10 支持.即使使用ICH8R/ICH9R/ICH10R这样的南桥,
            也不推荐使用"Device Mapper RAID"(既无性能优势又依赖于特定硬件),
            应该直接使用更成熟的CONFIG_BLK_DEV_MD模块.
        Zero target
        CONFIG_DM_ZERO
            "Zero target"类似于"/dev/zero",所有的写入都被丢弃,
            所有的读取都可以得到无限多个零.可用于某些恢复场合.
        Multipath target
        CONFIG_DM_MULTIPATH
            设备映射多路径(DM-Multipath)支持.不确定的选"N".

        I/O Path Selector based on the number of in-flight I/Os
        CONFIG_DM_MULTIPATH_QL
            这是一个动态负载均衡路径选择器:选择当前正在处理中的I/O数量最小的通路.
        I/O Path Selector based on the service time
        CONFIG_DM_MULTIPATH_ST
            这是一个动态负载均衡路径选择器:选择完成此I/O操作预期时间最少的通路.
      I/O delaying target
      CONFIG_DM_DELAY
          对读/写操作进行延迟,并可将其发送到不同的设备.仅用于测试DM子系统.
      DM uevents
      CONFIG_DM_UEVENT
          为DM事件透过netlink向用户层的udevd发出uevent通知,这样就允许udevd在"/dev/"目录中执行相应的操作.
      Flakey target
      CONFIG_DM_FLAKEY
          模拟间歇性的I/O错误,以用于调试DM子系统.
      Verity target support
      CONFIG_DM_VERITY
          Verity target 可以创建一个只读的逻辑设备,然后根据预先生成的哈希校验和(存储在其他设备上),
          校验底层设备上的数据正确性.要使此模块正常工作,还需要在"Cryptographic API"部分选中相应的哈希算法.
      Switch target support
      Log writes target support
      Integrity target support

Generic Target Core Mod (TCM) and ConfigFS Infrastructure
CONFIG_TARGET_CORE
    通用TCM存储引擎与ConfigFS虚拟文件系统(/sys/kernel/config)支持.看不懂就说明你不需要.
Fusion MPT device support
CONFIG_FUSION
    Fusion MPT(Message Passing Technology) 是 LSI Logic 公司为了更容易实现SCSI和光纤通道而提出的技术,
    支持Ultra320 SCSI/光纤通道/SAS.
IEEE 1394 (FireWire) support
    火线(IEEE 1394)是苹果公司开发的串行接口,类似于USB,但PC上并不常见,算得上是个没有未来的技术了.
I2O device support
CONFIG_I2O
    智能输入输出(Intelligent Input/Output)架构让硬件驱动分成了两部分:OSM(特定于操作系统)+HDM(特定于硬件,
    与操作系统无关).由于I2O设备上集成有专用的I/O处理器,从而加快I/O速度(因为避免了CPU的参与).
    I2O属于已被废弃的技术,目前能见到的此类设备都属于老古董了.
Macintosh device drivers
CONFIG_MACINTOSH_DRIVERS
    苹果的Macintosh电脑上的专有设备驱动
    
    TCM/IBLOCK Subsystem Plugin for Linux/BLOCK
        用于Linux / BLOCK的TCM / IBLOCK子系统插件
    TCM/FILEIO Subsystem Plugin for Linux/VFS
        适用于Linux / VFS的TCM / FILEIO子系统插件
    TCM/pSCSI Subsystem Plugin for Linux/SCSI
        适用于Linux / SCSI的TCM / pSCSI子系统插件
    TCM/USER Subsystem Plugin for Linux
        适用于Linux的TCM / USER子系统插件
    TCM Virtual SAS target and Linux/SCSI LDD fabric loopback module
        TCM Virtual SAS目标和Linux / SCSI LDD结构环回模块
    TCM_FC fabric Plugin
        TCM_FC面料插件
    Linux-iSCSI.org iSCSI Target Mode Stack
        Linux-iSCSI.org iSCSI目标模式堆栈
    FireWire SBP-2 fabric module
       FireWire SBP-2织物模块
    
Fusion MPT device support
    Fusion MPT设备支持
    
IEEE 1394 (FireWire) support
Macintosh device drivers
    Macintosh设备驱动程序
    
Network device support
CONFIG_NETDEVICES
    网络设备.除非你不想连接任何网络,否则必选"Y".
    Network core driver support
    CONFIG_NET_CORE      
    如果你不想使用任何高级网络功能(拨号网络/EQL/VLAN/bridging/bonding
    /光纤通道/虚拟网络等),
    仅仅是一般性质的联网(普通服务器,通过路由器或者局域网上网的常规个人电脑),
    可以选"N".此外,某些网卡的驱动会依赖于其下的CONFIG_MII子项(会被自动选中).
        Bonding driver support
        CONFIG_BONDING
            链路聚合技术拥有多个不同的称谓:Linux称为"Bonding",IEEE称为"802.3ad",
            Sun称为"Trunking",Cisco称为"Etherchannel".该技术可以将多个以太网通道聚合为一个单独的虚拟适配器,
            例如将两块网卡聚合成一个逻辑网卡,可以用来实现负载均衡或硬件冗余.
        Dummy net driver support
        CONFIG_DUMMY
            Dummy网络接口本质上是一个可以配置IP地址的bit-bucket(位桶,所有发送到此设备的流量都将被湮灭),
            以使应用程序看上去正在和一个常规的网络接口进行通信.使用SLIP(小猫拨号,目前应该已经绝迹了)
            或PPP(常用于PPPoE ADSL)的用户需要它
        EQL (serial line load balancing) support
        CONFIG_EQUALIZER
            串行线路的负载均衡.如果有两个MODEM和两条SLIP/PPP线路,
            该选项可以让你同时使用这两个通道以达到双倍速度(网络的对端也要支持EQL技术).
            曾经昙花一现的ISDN就这项技术的一个实例.
        Fibre Channel driver support
        CONFIG_NET_FC
            光纤通道(Fibre Channel)是一种高速网络串行协议,主要用于存储局域网(SAN),它与SCSI协议兼容,并意在取代SCSI.与传统的SCSI技术相比,除了提供更高的数据传输速度,更远的传输距离,更多的设备连接支持,更稳定的性能,更简易的安装以外,最重要的是支持最新的网络区域存储(SAN)技术.如果你的机器上有光纤通道卡(FC卡),除了需要开启此项外,还需要开启相应的FC卡驱动,以及CONFIG_CHR_DEV_SG选项.
        Generic Media Independent Interface device support
        CONFIG_MII
            媒体独立接口(Media Independent Interface)又称介质无关接口,是IEEE-802.3(规定了以太网相关协议的具体内容)定义的以太网行业标准.它包括一个数据接口,以及一个位于MAC和PHY之间的控制接口.[提示]大多数以太网卡都有MII收发器,其驱动都依赖于此项,也会自动选中此项.
        Intermediate Functional Block support
        CONFIG_IFB
            IFB是一个中间层驱动,可以用来灵活的配置资源共享.更多信息参见iproute2文档.看不懂就说明你不需要.
        Ethernet team driver support
        CONFIG_NET_TEAM
            允许通过"ip link add link [ address MAC ] [ NAME ] type team"命令,将多个以太网卡(称为"port")组合在一起,创建一个虚拟的"team"网络设备,其目的是取代传统的"Bonding"(CONFIG_BONDING)驱动."ip"是iproute2包中的一个命令.不确定的选"N".
        MAC-VLAN support
        CONFIG_MACVLAN
            MAC-VLAN是通过MAC地址来划分VLAN的方式,在Linux则用来给网卡添加多个MAC地址.
            你可以使用"ip link add link <real dev> [ address MAC ] [ NAME ] type macvlan"
            命令创建一个虚拟的"macvlan"设备(系统会自动打开网卡的混杂模式),
            然后就可以在同一个物理网卡上虚拟出多个以太网口.
            MAC-VLAN based tap driver
            CONFIG_MACVTAP
                基于MAC-VLAN接口的tap(虚拟以太网设备)字符设备(macvtap)驱动,旨在简化虚拟化的桥接网络,
                目的是替代TUN/TAP和Bridge内核模块.可以通过与创建macvlan设备相同的"ip"
                命令创建一个虚拟的"macvtap"设备,并通过TAP用户空间接口进行访问.
        Virtual eXtensible Local Area Network (VXLAN)
        CONFIG_VXLAN
            "vxlan"虚拟接口可以在第三层网络上创建第二层网络(跨多个物理IP子网的虚拟二层子网),
            是一种在UDP中封装MAC的简单机制,主要用于虚拟化环境下的隧道虚拟网络(tunnel virtual network).
        Generic Network Virtualization Encapsulation
            通用网络虚拟化封装
        GPRS Tunneling Protocol datapath (GTP-U)
            GPRS隧道协议数据路径(GTP-U)
        IEEE 802.1AE MAC-level encryption (MACsec)
            IEEE 802.1AE MAC级加密(MACsec)
        Network console logging support
        CONFIG_NETCONSOLE
            网络控制台(netconsole)的作用是通过网络记录内核日志信息.
            详情参见"Documentation/networking/netconsole.txt"文档.不确定的选"N".
            Dynamic reconfiguration of logging targets
            CONFIG_NETCONSOLE_DYNAMIC
                允许通过configfs导出的用户空间接口,在运行时更改日志目标(网口, IP地址, 端口号, MAC地址).
        Netpoll traffic trapping
        CONFIG_NETPOLL_TRAP
            netpoll的目的是让内核在网络和I/O子系统尚不能完整可用时,依然能发送和接收数据包.
            主要用于网络控制台(netconsole)和远程内核调试(KGDBoE)中.不确定的选"N".
        Virtual Ethernet over NTB
        CONFIG_NTB_NETDEV
            PCI-E非透明桥(CONFIG_NTB)上的虚拟网卡.不确定的选"N".
        RapidIO Ethernet over messaging driver support
        CONFIG_RIONET
            在标准的RapidIO通信方式上发送以太网数据包.不确定的选"N".
        Universal TUN/TAP device driver support
        CONFIG_TUN
            TUN/TAP可以为用户空间提供包的接收和发送服务,可以用来虚拟一张网卡或点对点通道.当程序打开"/dev/net/tun"设备时,驱动程序就会注册相应的"tunX"或"tapX"网络设备,当程序关闭"/dev/net/tun"设备时,驱动程序又会删除相应的"tunX"或"tapX"网络设备以及所有与之相关联的路由.详情参见"Documentation/networking/tuntap.txt"文档.看不懂就表明你不需要.
        Virtual ethernet pair device
        CONFIG_VETH
            该驱动提供了一个本地以太网隧道(设备会被成对的创建).
        Virtio network driver
        CONFIG_VIRTIO_NET
            virtio虚拟网卡驱动.可以用于lguest或者基于QEMU的虚拟机管理程序(例如KVM/Xen).

    ARCnet support
    CONFIG_ARCNET
        ARCnet是1977年由Datapoint公司开发的一种局域网技术,它采用令牌总线方案来管理LAN上
        工作站和其他设备之间的共享线路,主要用于工业控制领域中.
    ATM drivers
    CONFIG_ATM_DRIVERS
        可怜的ATM(异步传输模式),曾经在90年代风靡一时,现在已经消失的无影无踪了.
    {这里省略几个专用于Android/MeeGo系统的PF_CAIF类型套接字相关的选项}
    Distributed Switch Architecture drivers
        分布式交换架构驱动,其子项都是Marvell系列以太网交换机芯片组的驱动
    Ethernet driver support
    CONFIG_ETHERNET
        最常见的以太网卡驱动
        {省略的部分请按照实际的硬件状况进行选择,这里仅以两个常见公司的以太网芯片为例进行说明}
        AMD devices
        CONFIG_NET_VENDOR_AMD
            AMD出品的以太网控制芯片
            AMD PCnet32 PCI support
            CONFIG_PCNET32
                这是VMware/VirtualBox虚拟机中常用的网卡
        Broadcom devices
        CONFIG_NET_VENDOR_BROADCOM
            博通(Broadcom)公司的网卡
            Broadcom 440x/47xx ethernet support
            CONFIG_B44
                Broadcom 44xx/47xx 10/100M PCI
            Broadcom NetXtremeII support
            CONFIG_BNX2
                NetXtreme II 1 Gigabit ( BCM5706/5708/5709/5716 )
            Broadcom CNIC support
            CONFIG_CNIC
                NetXtremeII 系列网卡的TCP减负引擎(TCP Offload Engine)特性支持.
                不过,TOE并不适合高连接数/小文件的Web服务器类应用,它的主要目的是和IP存储协议
                (iSCSI/NFS)一起使用.[注意]TOE与"Large Receive Offload"是两个不同的东西,不要混淆.
            Broadcom Tigon3 support
            CONFIG_TIGON3
                这是最流行的驱动,其涵盖的型号特别多,但是"Tigon3"的名称却非常具有迷惑性.
                简单说来,除了B44,BNX2,BNX2X中明确列出的型号外,其他型号用的都是这个驱动.
            Broadcom NetXtremeII 10Gb support
            CONFIG_BNX2X
                NetXtreme II 10 Gigabit ( BCM57710/57711/57711E/57712/57800/57810 )

                Broadcom 578xx and 57712 SR-IOV support
                CONFIG_BNX2X_SRIOV
                    支持578xx/57712的单根I/O虚拟化(Single Root IOV)技术

    FDDI driver support
    CONFIG_FDDI
        光纤分布式数据接口(FDDI)
    Digital DEFTA/DEFEA/DEFPA adapter support
    SysKonnect FDDI PCI support
    HIPPI driver support
    CONFIG_HIPPI
        高性能并行接口(HIgh Performance Parallel Interface)是一个在短距离内高速传送大量数据的点对点协议.
        常用于集群和超级计算机.
    General Instruments Surfboard 1000
    CONFIG_NET_SB1000
        SURFboard 1000 插卡式Cable Medem(ISA接口),这玩意早就绝种了
    MDIO bus device drivers
        MDIO总线设备驱动程序
    Bitbanged MDIO buses
        Bitbanged MDIO总线
    GPIO lib-based bitbanged MDIO buses
        基于GPIO lib的bitbanged MDIO总线
    ThunderX SOCs MDIO buses
        ThunderX SOC MDIO总线
    PHY Device support and infrastructure
    CONFIG_PHYLIB
        数据链路层芯片简称为MAC控制器,物理层芯片简称之为PHY,
        通常的网卡把MAC和PHY的功能做到了一颗芯片中,但也有一些仅含PHY的"软网卡".
        此选项就是对这些"软网卡"的支持.请根据实际情况选择其下的子项.
    Micrel KS8995MA 5-ports 10/100 managed Ethernet switch
    CONFIG_MICREL_KS8995MA
        Micrel KS8995MA 5端口 10/100M 以太网交换芯片
    PLIP (parallel port) support
    CONFIG_PLIP
        PLIP(Parallel Line Internet Protocol)用于将两台电脑通过并口进行联网,组成一个简单的客户机/服务器结构.
        详情参见"Documentation/networking/PLIP.txt".现在的电脑都使用网卡进行互联,
        并口早就经被丢进历史的垃圾箱了.
    PPP (point-to-point protocol) support
    CONFIG_PPP
        点对点协议(Point to Point Protocol)是SLIP的继任者,使用PPP需要用户层程序pppd的帮助.PPP实际上有两个版本:
        基于普通模拟电话线的"异步PPP"和基于数字线路(例如ISDN线路)的"同步PPP".
        使用电脑直接拨号的 PPPoE ADSL 用户需要此项.
        PPP BSD-Compress compression
        CONFIG_PPP_BSDCOMP
            为PPP提供BSD(等价于LZW压缩算法,没有gzip高效)压缩算法支持,需要通信双方的支持才有效.
            大多数ISP都不支持此算法.
        PPP Deflate compression
        CONFIG_PPP_DEFLATE
            为PPP提供Deflate(等价于gzip压缩算法)压缩算法支持,需要通信双方的支持才有效.
            这是比BSD更好的算法(压缩率更高且无专利障碍).
        PPP filtering
        CONFIG_PPP_FILTER
            允许对通过PPP接口的包进行过滤.仅在你需要使用pppd的pass-filter/active-filter选项时才需要开启.
            不确定的选"N".
        PPP MPPE compression (encryption)
        CONFIG_PPP_MPPE
            为PPP提供MPPE加密协议支持,它被用于微软的P2P隧道协议中.此特性需要PPTP Client工具的支持.
        PPP multilink support
        CONFIG_PPP_MULTILINK
            多重链路协议(RFC1990)允许你将多个线路(物理的或逻辑的)组合为一个PPP连接一充分利用带宽,
            这不但需要pppd的支持,还需要ISP的支持
        PPP over ATM
        CONFIG_PPPOATM
            在ATM上跑的PPP.果断"N".
        PPP over Ethernet
        CONFIG_PPPOE
            这就是ADSL用户最常见的PPPoE,也就是在以太网上跑的PPP协议.这需要RP-PPPoE工具的帮助
        PPP over IPv4 (PPTP)
        CONFIG_PPTP
            点对点隧道协议(Point-to-Point Tunneling Protocol)是一种主要用于VPN的数据链路层网络协议.
            此功能需要ACCEL-PPTP工具的支持.
        PPP over L2TP
        CONFIG_PPPOL2TP
            第二层隧道协议(L2TP)是一种通过UDP隧道传输PPP流量的技术,对于VPN用户来说,
            L2TP VPN是比PPTP VPN的更好解决方案.
        PPP support for async serial ports
        CONFIG_PPP_ASYNC
            基于普通模拟电话线或标准异步串口(COM1,COM2)的"异步PPP"支持.
            PPPoE ADSL 使用的就是这个.不能与下面的CONFIG_PPP_SYNC_TTY同时并存.
        PPP support for sync tty ports
        CONFIG_PPP_SYNC_TTY
            基于同步tty设备(比如SyncLink适配器)的"同步PPP"支持.常用于高速租用线路(比如T1/E1).不确定的选"N".

    SLIP (serial line) support
    CONFIG_SLIP
        一个在串行线上(例如电话线)传输IP数据报的TCP/IP协议.最原始的通过电话线拨号上网就用这个协议,
        如今基本绝迹了.不确定的选"N".
    CSLIP compressed headers
    CONFIG_SLIP_COMPRESSED
        CSLIP协议基于SLIP,但比SLIP快,它将TCP/IP头(而非数据)进行压缩传送,需要通信双方的支持才有效
    Keepalive and linefill
    CONFIG_SLIP_SMART
        让SLIP驱动支持RELCOM linefill和keepalive监视,这在信号质量比较差的模拟线路上是个好主意
    Six bit SLIP encapsulation
    CONFIG_SLIP_MODE_SLIP6
        这种线路非常罕见,选"N".
    USB Network Adapters
        USB网络适配器
    Wireless LAN
    CONFIG_WLAN
        无线网卡

        {省略的部分请按照实际的硬件状况进行选择,这里仅以Intel公司的主流无线网卡为例进行说明}
        Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi)
        CONFIG_IWLWIFI
            这是目前主流Intel无线网卡的驱动.此驱动依赖于二进制uCode微代码,它通常被安装到"/lib/firmware"目录,不过你最好亲自用眼睛检查一下"/etc/hotplug/firmware.agent"脚本中的"FIRMWARE_DIR"变量的设置是否正确.

            Intel Wireless WiFi DVM Firmware support
            CONFIG_IWLDVM
                DVM固件支持(这也是当前唯一可用的固件).选"Y/M".
            Intel Wireless WiFi MVM Firmware support
            CONFIG_IWLMVM
                MVM固件支持(这是专用于7000系列无线网卡的固件).

        Debugging Options
            仅供调试使用,其下所有选项都选"N".
        iwlwifi experimental P2P support
        CONFIG_IWLWIFI_P2P
            iwlwifi驱动实验性的P2P支持.不确定的选"N".

    WiMAX Wireless Broadband devices
        WiMAX无线设备
    Wan interfaces support
    CONFIG_WAN
        广域网(Wide Area Network)网卡支持.这种网卡很罕见.不确定的选"N".
    IEEE 802.15.4 drivers
    CONFIG_IEEE802154_DRIVERS
        IEEE 802.15.4描述了低速率无线个人局域网的物理层和媒体接入控制协议
    Xen network device frontend driver
    CONFIG_XEN_NETDEV_FRONTEND
        XEN半虚拟化网络设备前端驱动(通常是被"domain 0"导出的)
    Xen backend network device
    CONFIG_XEN_NETDEV_BACKEND
        XEN半虚拟化网络设备后端驱动,通常被用在"domain 0"内核上,用于向其他domain导出半虚拟化网络设备.
    VMware VMXNET3 ethernet driver
    CONFIG_VMXNET3
        VMware vmxnet3 虚拟以太网卡驱动
    Microsoft Hyper-V virtual network driver
    CONFIG_HYPERV_NET
        Microsoft Hyper-V 虚拟以太网卡驱动
    FUJITSU Extended Socket Network Device driver
        FUJITSU扩展套接字网络设备驱动程序
    ISDN support
    CONFIG_ISDN
        上世纪在ADSL流行之前曾经有过短暂流行,但现在已经绝迹了

Open-Channel SSD target support
    开放式通道SSD目标支持

Input device support
    输入设备

    Generic input layer (needed for keyboard, mouse, ...)
    CONFIG_INPUT
        通用输入层.只要你有任何输入设备(键盘,鼠标,手写板,触摸板,游戏杆,方向盘,游戏键盘...),就必须选"Y".
        Export input device LEDs in sysfs
            在sysfs中导出输入设备LED
        Support for memoryless force-feedback devices
        CONFIG_INPUT_FF_MEMLESS
            游戏玩家使用的力反馈设备,例如: Logitech WingMan Force 3D 飞行摇杆,ThrustMaster FireStorm Dual Power 2.如果你有此类设备,除了本项之外,还需要开启特定于硬件的驱动.
        Polled input device skeleton
        CONFIG_INPUT_POLLDEV
            使用轮询机制的输入设备支持,此项主要是为源码树之外的驱动准备的,内核自带的驱动若有需要会自动选中.不确定的选"N".
        Sparse keymap support library
        CONFIG_INPUT_SPARSEKMAP
            使用"sparse keymap"的输入设备支持,此项主要是为源码树之外的驱动准备的,内核自带的驱动若有需要会自动选中.不确定的选"N".
        Matrix keymap support library
        CONFIG_INPUT_MATRIXKMAP
            使用"matrix keymap"的输入设备支持,此项主要是为源码树之外的驱动准备的,内核自带的驱动若有需要会自动选中.不确定的选"N".
        Mouse interface
        CONFIG_INPUT_MOUSEDEV
            鼠标接口(/dev/input/mouseX,/dev/input/mice).用鼠标的必选.[提示]如果系统上有多个鼠标,那么,mouseX对应单个特定的鼠标,而mice则是所有鼠标的集合(所有鼠标的事件都会被发送到这个设备文件中).

            Provide legacy /dev/psaux device
            CONFIG_INPUT_MOUSEDEV_PSAUX
                仍然支持传统的/dev/psaux接口,这是为兼容老旧的程序而设置.选"N".
            Horizontal screen resolution
            CONFIG_INPUT_MOUSEDEV_SCREEN_X
                作为鼠标使用的数字化转换器(digitizer)或手写板(graphic tablet)需要知道X window的水平分辩率.一般可理解为显示屏的水平分辨率.
            Vertical screen resolution
            CONFIG_INPUT_MOUSEDEV_SCREEN_Y
                作为鼠标使用的数字化转换器(digitizer)或手写板(graphic tablet)需要知道X window的垂直分辩率.一般可理解为显示屏的垂直分辨率.

        Joystick interface
        CONFIG_INPUT_JOYDEV
            游戏杆(joystick)和游戏键盘(gamepad)支持(/dev/input/jsX)
        Event interface
        CONFIG_INPUT_EVDEV
            将所有的输入设备事件都通过"/dev/input/eventX"以一种通用的方式进行处理.
            Xorg需要使用此接口.不确定的选"Y".
        Event debugging
        CONFIG_INPUT_EVBUG
            将所有输入设备的动作(键盘按下,鼠标移动等)都记录到系统日志当中.
            主要用于调试,同时也会带来安全漏洞(键盘输入中很可能包含你的密码).选"N".
        Keyboards
        CONFIG_INPUT_KEYBOARD
            键盘驱动

            AT keyboard
            CONFIG_KEYBOARD_ATKBD
                标准AT键盘或者PS/2键盘.[提示]除了台式机PS/2接口上的键盘外,
                许多笔记本的键盘其实也是PS/2键盘.使用USB键盘或者ADB键盘(旧式苹果键盘)的可以选"N".
                {此处被省略的键盘都很罕见,基本上不必考虑}

        Mice
        CONFIG_INPUT_MOUSE
            鼠标驱动

            PS/2 mouse
            CONFIG_MOUSE_PS2
                标准的两键或三键的PS/2鼠标,同时兼容Microsoft/Logitech/Genius生产的带有滚轮或者
                额外按键的PS/2鼠标.使用Synaptics/ALPS/Elantech触摸板的用户还可以看看其专用的X驱动,
                这些驱动可以提供更多的高级功能.使用USB鼠标的可以选"N".
                其下的子项是针对各厂商特定产品的扩展协议支持.按需选择即可.
                [提示]除了台式机PS/2接口上的鼠标外,许多笔记本的触摸板其实也是PS/2鼠标.
            {此处被省略的鼠标都很罕见,基本上不必考虑}

        Joysticks/Gamepads
            游戏杆,6自由度摇杆,游戏键盘,方向盘,射击武器...等各种游戏装置
        Tablets
        CONFIG_INPUT_TABLET
            平板输入设备
        Touchscreens
        CONFIG_INPUT_TOUCHSCREEN
            触摸屏输入设备
        Miscellaneous devices
        CONFIG_INPUT_MISC
            其他杂项输入设备
        PC Speaker support
        CONFIG_INPUT_PCSPKR
            标准蜂鸣器.建议开启.
        {此处被省略的其他设备都很罕见,基本上不必考虑}
        Synaptics RMI4 bus support
            Synaptics RMI4总线支持
        Hardware I/O ports
            硬件I/O端口

        Serial I/O support
        CONFIG_SERIO
            串行I/O硬件支持.标准AT键盘,PS/2鼠标,串口鼠标,Sun键盘,游戏杆,6自由度摇杆等设备都依赖于它.不确定的选"Y".

            i8042 PC Keyboard controller
            CONFIG_SERIO_I8042
                标准AT键盘,PS/2鼠标,这两种设备需要它的支持.
            Serial port line discipline
            CONFIG_SERIO_SERPORT
                RS232串口(COM).串口鼠标,游戏杆,6自由度摇杆等设备都依赖于它.
            ct82c710 Aux port controller
            CONFIG_SERIO_CT82C710
                一种德州仪器TravelMate笔记本上使用QuickPort接口的鼠标
            Parallel port keyboard adapter
            CONFIG_SERIO_PARKBD
                并口键盘适配器,用于将AT/XT键盘或PS/2鼠标转接到并口上.非常罕见.
            PCI PS/2 keyboard and PS/2 mouse controller
            CONFIG_SERIO_PCIPS2
                接在移动式扩展坞(Docking station)上的PS/2键盘或鼠标
            PS/2 driver library
            CONFIG_SERIO_LIBPS2
                为PS/2接口上的设备提供驱动(比如PS/2鼠标和标准AT键盘)
            Raw access to serio ports
            CONFIG_SERIO_RAW
                以raw方式访问serio接口(echo -n "serio_raw" > /sys/bus/serio/devices/serioX/drvctl),例如i8042键盘控制器的AUX端口.看不懂的就别选了.
            Altera UP PS/2 controller
            CONFIG_SERIO_ALTERA_PS2
                Altera University Program PS/2 端口支持.不确定的选"N".
            TQC PS/2 multiplexer
            CONFIG_SERIO_PS2MULT
                TQC板上的PS/2端口复用器(multiplexer)
            ARC PS/2 support
            CONFIG_SERIO_ARC_PS2
                ARC FPGA 平台上的PS/2控制器

        Gameport support
        CONFIG_GAMEPORT
            15针电脑游戏接口(Gameport).图

Character devices
    字符设备

    Enable TTY
    CONFIG_TTY
        字符终端和串口都需要TTY的支持.选"Y",除非你知道自己在干什么.[提示]你想在控制台上显示汉字吗?试试CJKTTY补丁吧!

        Virtual terminal
        CONFIG_VT
            虚拟终端可以在一个物理终端设备上虚拟出多个"显示器+键盘"的组合(可以使用"Alt+Fn"组合键在多个虚拟终端间切换).除非是嵌入式系统,否则必选"Y".

            Enable character translations in console
            CONFIG_CONSOLE_TRANSLATIONS
                在虚拟控制台(console)上支持字体映射和Unicode转换.建议选"Y".
            Support for console on virtual terminal
            CONFIG_VT_CONSOLE
                内核默认将第一个虚拟终端(/dev/tty0)用作系统控制台(可以通过"console=tty3"这样的参数去修改),将诸如模块错误/内核错误/启动信息之类的警告信息发送到这里,而且以单用户模式登录时也需要使用这个控制台.除非是嵌入式系统,否则必选"Y".
            Support for binding and unbinding console drivers
            CONFIG_VT_HW_CONSOLE_BINDING
                虚拟终端是通过控制台驱动程序与物理终端交互的,但在某些系统上可以使用多个控制台驱动程序(如framebuffer控制台驱动程序),该选项使得你可以选择其中之一.如果你需要使用多个控制台驱动,可以选"Y",不确定的选"N".参见"Documentation/console/console.txt"和"Documentation/fb/fbcon.txt"获取更多细节.

        Unix98 PTY support
        CONFIG_UNIX98_PTYS
            伪终端(PTY)是指一个"软件终端",它是由slave(等价于一个物理终端)和master(被一个诸如xterms之类的进程用来读写slave设备)两部分组成的软设备.需要使用telnet或ssh远程登录者必选.

            Support multiple instances of devpts
            CONFIG_DEVPTS_MULTIPLE_INSTANCES
                允许多个"devpts"文件系统实例(使用"-o newinstance"挂载选项),以允许相互隔离的PTY命名空间(比如在虚拟化容器中).不确定的选"N".

        Legacy (BSD) PTY support
        CONFIG_LEGACY_PTYS
            使用过时的BSD风格的/dev/ptyxx作为master,/dev/ttyxx作为slave,这个方案有一些安全问题,选"N".
        Non-standard serial port support
        CONFIG_SERIAL_NONSTANDARD
            非标准串口支持.这样的设备非常罕见,选"N".
        HSDPA Broadband Wireless Data Card - Globe Trotter
        CONFIG_NOZOMI
            一种PCMCIA接口的HSDPA(WCDMA) 3G 无线上网卡
        Multi-Tech multiport card support
        CONFIG_ISI
            Multi-Tech公司生产的多端口卡(拥有多个串口)实验性支持.不确定的选"N".
        HDLC line discipline support
        CONFIG_N_HDLC
            Microgate SyncLink.不确定的选"N".
        GSM MUX line discipline support
        CONFIG_N_GSM
            GSM MUX(多路复用器)支持.不确定的选"N".
        Trace data router for MIPI P1149.7 cJTAG standard
        CONFIG_TRACE_ROUTER
            仅用于调试内含modem设备的手机系统.
        Trace data sink for MIPI P1149.7 cJTAG standard
        CONFIG_TRACE_SINK
            仅用于调试内含modem设备的手机系统.

    KCopy
        内核Copy

        Memory-to-memory copies using kernel assist
        CONFIG_KCOPY
            高性能的进程间内存复制(可以减少一次向共享内存的复制动作).主要用于高性能并行计算领域,比如基于消息传递接口(Message Passing Interface)协议的开发的并行程序.不确定的选"N".

    /dev/kmem virtual device support
    CONFIG_DEVKMEM
        "/dev/kmem"虚拟设备是内核看到的虚拟内存的全镜像,可以用来访问内核内存.一般可以用来查看内核变量或者用作rootkit之类(!危险!).仅供调试,不确定的选"N".
    Serial drivers
        串口(COM)驱动.串口在台式机主板上正在逐渐消亡,而在笔记本和服务器上早就已经绝迹了.大多数人应该将所有子项都选"N".

        8250/16550 and compatible serial support
        CONFIG_SERIAL_8250
            这是标准串口(COM)驱动.只要你想使用串口,就必选此项.不过,大多数人应该选"N".

            Support 8250_core.* kernel options
            CONFIG_SERIAL_8250_DEPRECATED_OPTIONS
                选"N".
            8250/16550 PNP device support
            CONFIG_SERIAL_8250_PNP
                即插即用串口支持,不确定的选"Y".
            Console on 8250/16550 and compatible serial port
            CONFIG_SERIAL_8250_CONSOLE
                将串口当做系统控制台(接受所有内核消息,单用户模式登录)使用(需要使用"console=ttyS1"参数).仅在没有显示接口嵌入式设备上有用.不确定的选"N".

        DMA support for 16550 compatible UART controllers
        CONFIG_SERIAL_8250_DMA
            与标准8250/16650兼容的通用异步收发传输器(Universal Asynchronous Receiver/Transmitter)的DMA支持.在嵌入式设计中,UART用来主机与辅助设备通信,如汽车音响与外接AP之间的通信,与PC机通信包括与监控调试器和其它器件(如EEPROM)通信.不确定的选"Y".
        8250/16550 PCI device support
        CONFIG_SERIAL_8250_PCI
            PCI串口支持.选"N"表示仅支持传统的标准串口.
        8250/16550 PCMCIA device support
        CONFIG_SERIAL_8250_CS
            16-bit PCMCIA串口支持.选"N"表示仅支持传统的标准串口.
        Maximum number of 8250/16550 serial ports
        CONFIG_SERIAL_8250_NR_UARTS
            允许的最大串口数量,保持默认值即可.
        Number of 8250/16550 serial ports to register at runtime
        CONFIG_SERIAL_8250_RUNTIME_UARTS
            内核在启动时注册的串口数量(可以通过"8250.nr_uarts"参数修改),保持默认即可.
        Extended 8250/16550 serial driver options
        CONFIG_SERIAL_8250_EXTENDED
            非标准的串口驱动选项(例如HUB6,中断共享,多端口,超过4个COM口).不确定的选"N".

            Support more than 4 legacy serial ports
            CONFIG_SERIAL_8250_MANY_PORTS
                如果你的板子上有超过4个COM接口就选"Y".
            Support for sharing serial interrupts
            CONFIG_SERIAL_8250_SHARE_IRQ
                有些板子上集成了共享IRQ的硬件支持.如果有就选"Y".
            Autodetect IRQ on standard ports (unsafe)
            CONFIG_SERIAL_8250_DETECT_IRQ
                让内核去猜串口的IRQ号.不安全,选"N".
            Support RSA serial ports
            CONFIG_SERIAL_8250_RSA
                RSA串口.看不懂的选"N".

        Support for Synopsys DesignWare 8250 quirks
        CONFIG_SERIAL_8250_DW
            Synopsys DesignWare APB UART 中非标准特性的支持.
        Medfield High Speed UART support
        CONFIG_SERIAL_MFD_HSU
            Medfield是Intel以x86为架构开发的SoC手机芯片.
        {此处被省略的都是非标准的串口设备,按实际情况选择即可}

    TTY driver to output user messages via printk
    CONFIG_TTY_PRINTK
        通过"/dev/ttyprintk"设备使用printk发送用户消息.用于在内核中嵌入用户消息.不确定的选"N".
    Parallel printer support
    CONFIG_PRINTER
        并口打印机
    Support for user-space parallel port device drivers
    CONFIG_PPDEV
        用户空间的原始并口设备(/dev/parportN)支持,这样用户空间的程序就可以用原始模式直接访问并口(相当于并口版本的CONFIG_CHR_DEV_SG).并口打印机/CD-ROM/硬盘都不依赖于此项,所以大部分人可以关闭该选项.
    Xen Hypervisor Console support
    CONFIG_HVC_XEN
        XEN虚拟控制台设备驱动

        Xen Hypervisor Multiple Consoles support
        CONFIG_HVC_XEN_FRONTEND
            如果你需要多个虚拟控制台,可以选"Y".

    Virtio console
    CONFIG_VIRTIO_CONSOLE
        Virtio虚拟控制台设备驱动.此外,该驱动还可以作为普通的串口设备(/dev/vportNpX),用于客户机和宿主机之间的通信.Virtio的目标是为各种半虚拟化的虚拟机管理程序(特别是KVM)提供一组通用的模拟设备.
    IPMI top-level message handler
    CONFIG_IPMI_HANDLER
        智能平台管理接口(Intelligent Platform Management Interface)是标准的传感器(温度,电压,风扇,电源,机箱入侵)管理规范.IPMI的核心是专用的基板管理控制器(BMC)硬件,BMC并不依赖于服务器的CPU/BIOS/OS,是一个独立在系统内运行的管理子系统,只要有BMC与IPMI固件便可工作.BMC通常是一个安装在服务器主板上的独立的板卡(也有少数服务器主板内置).IPMI良好的独立特性便克服了以往基于操作系统的管理方式所受的限制,例如操作系统不响应或未加载的情况下,仍然可以进行开关机等操作.更多详情参见"Documentation/IPMI.txt"文档.此项技术主要用于服务器领域,个人PC和笔记本上是没有的.

        Generate a panic event to all BMCs on a panic
        CONFIG_IPMI_PANIC_EVENT
            当内核panic(发生紧急情况)时,IPMI消息处理器将会向每一个已注册的底板管理控制器(BMC)接口生成一个描述该panic的IPMI事件,这些事件可以引发日志记录/报警/重启/关机等动作.

            Generate OEM events containing the panic string
            CONFIG_IPMI_PANIC_STRING
                当发生紧急情况(panic)时,IPMI消息处理器将会产生OEM类型(f0)的事件

        Device interface for IPMI
        CONFIG_IPMI_DEVICE_INTERFACE
            为IPMI消息处理器提供一个IOCTL接口以便用户空间进程也可以使用IPMI,目前支持 poll() 和 select()
        IPMI System Interface handler
        CONFIG_IPMI_SI
            向系统提供接口(KCS,SMIC),建议选"Y".
        IPMI Watchdog Timer
        CONFIG_IPMI_WATCHDOG
            启用IPMI Watchdog定时器.如果硬件有这种功能,推荐选"Y".
        IPMI Poweroff
        CONFIG_IPMI_POWEROFF
            允许通过IPMI消息处理器关闭机器

    Hardware Random Number Generator Core support
    CONFIG_HW_RANDOM
        硬件随机数发生器设备(/dev/hw_random)支持.此设备并不会直接向内核的随机数发生器填充(这是"rngd"守护进程的职责).详情参见"Documentation/hw_random.txt"文档.不确定的选"Y".

        Timer IOMEM HW Random Number Generator support
        CONFIG_HW_RANDOM_TIMERIOMEM
            Technologic Systems 的TS-7800单板计算机,这是一个嵌入式设备.
        Intel HW Random Number Generator support
        CONFIG_HW_RANDOM_INTEL
            Intel基于i8xx芯片组的硬件随机数发生器
        AMD HW Random Number Generator support
        CONFIG_HW_RANDOM_AMD
            AMD基于76x芯片组的硬件随机数发生器
        Atmel Random Number Generator support
        CONFIG_HW_RANDOM_ATMEL
            Atmel AT91 硬件随机数发生器
        VIA HW Random Number Generator support
        CONFIG_HW_RANDOM_VIA
            VIA芯片组的硬件随机数发生器
        VirtIO Random Number Generator support
        CONFIG_HW_RANDOM_VIRTIO
            Virtio虚拟的硬件随机数发生器

    EXYNOS HW random number generator support
    CONFIG_HW_RANDOM_EXYNOS
        基于EXYNOS的SOC嵌入式系统上的硬件随机数发生器
    TPM HW Random Number Generator support
    CONFIG_HW_RANDOM_TPM
        可信赖平台模块(Trusted Platform Module)提供的硬件随机数发生器
    /dev/nvram support
    CONFIG_NVRAM
        直接存取主板上"CMOS RAM"的接口,太危险!建议选"N".
    Siemens R3964 line discipline
    CONFIG_R3964
        与使用西门子R3964协议的设备同步通信,除非你有一些诸如PLC之类的特殊设备,否则别选
    Applicom intelligent fieldbus card support
    CONFIG_APPLICOM
        Applicom international公司生产的用于现场总线(fieldbus)的连接卡.不确定的选"N".
    PCMCIA character devices
        PCMCIA接口的字符设备
    ACP Modem (Mwave) support
    CONFIG_MWAVE
        IBM Thinkpad上的一种软猫,古董产品
    RAW driver (/dev/raw/rawN)
    CONFIG_RAW_DRIVER
        裸设备的含义是将一个原始块设备(可以是一整块磁盘,也可以是一个分区)当做一个线性的字节流来访问.它是一种没有经过格式化,不经过操作系统缓存,也不能通过文件系统来访问的特殊字符设备.与FreeBSD不同,Linux反对使用裸设备,且被列入了废除计划(建议的做法是使用"O_DIRECT"标志打开对应的块设备文件,例如"/dev/hda1").不确定的选"N".
    HPET - High Precision Event Timer
    CONFIG_HPET
        高精度事件定时器(HPET Timer),又被称为"Multimedia Timer",是一种取代传统"ACPI Timer"(CONFIG_X86_PM_TIMER)的硬件时钟发生器,提供14.31818MHz固定频率.2007年以后的芯片组一般都支持(有的主板还需要在BIOS里面明确开启HPET支持),建议开启.

        Allow mmap of HPET
        CONFIG_HPET_MMAP
            允许对HPET寄存器进行映射.但是某些包含HPET硬件寄存器的页中同时还含有其他不该暴露给用户的信息,在此种情况下,需要选"N".

    Hangcheck timer
    CONFIG_HANGCHECK_TIMER
        宕机检测定时器周期性地检查系统任务调度程序以确定系统的运行状况,如果超过阈值,计算机将重新启动.不确定的选"N".
    TPM Hardware Support
    CONFIG_TCG_TPM
        基于硬件的可信赖平台模块(Trusted Platform Module),它实际上是一个含有密码运算部件和存储部件的小芯片上的系统,由CPU,存储器,I/O,密码运算器,随机数产生器和嵌入式操作系统等部件组成.使用此功能需要TrouSerS工具的帮助.

        TPM Interface Specification 1.2 Interface
        CONFIG_TCG_TIS
            TCG TIS 1.2 TPM 规范支持
        TPM Interface Specification 1.2 Interface (I2C - Infineon)
        CONFIG_TCG_TIS_I2C_INFINEON
            仅需要对Infineon的TPM设备选"Y".
        National Semiconductor TPM Interface
        CONFIG_TCG_NSC
            仅需要对National的TPM设备选"Y".
        Atmel TPM Interface
        CONFIG_TCG_ATMEL
            仅需要对Atmel的TPM设备选"Y".
        Infineon Technologies TPM Interface
        CONFIG_TCG_INFINEON
            仅需要对Infineon的TPM设备(SLD 9630 TT 1.1 或 SLB 9635 TT 1.2)选"Y".此驱动支持的硬件列表.
        STMicroelectronics ST33 I2C TPM
        CONFIG_TCG_ST33_I2C
            意法半导体(STMicroelectronics)出品的I2C总线的TPM安全芯片.

    Telecom clock driver for ATCA SBC
    CONFIG_TELCLOCK
        没见过这种硬件,选"N".

I2C support
CONFIG_I2C
    I2C与SMBus支持.I2C(读着"I-squared-C")是用于单片机(又称"微控制器")的低速串行总线协议,它为微控制器(Microcontroller)与各种不同的低速设备通信提供了一种廉价的总线(因为只需要使用两个引脚,称为"2线"),因此广泛的应用于嵌入式环境.SMBus(System Management Bus)差不多相当于是I2C的子集,常用于硬件监控(电压/风扇转速/温度/电池等)以及内存模块的配置(使用I2C EEPROM),因此所有PC主板都依赖于SMBus协议.系统硬件监控工具lm_sensors和i2c-tools依赖于此模块,硬件传感器和"Video For Linux"也需要该模块的支持.详情参见"Documentation/i2c/summary"文档及整个"i2c"文件夹.不确定的选"Y".

    Enable compatibility bits for old user-space
    CONFIG_I2C_COMPAT
        为了与 lm-sensors 3.1.2 之前的版本兼容而设置.某些2011年之前版本的i2c相关程序也需要此兼容性.
    I2C device interface
    CONFIG_I2C_CHARDEV
        I2C设备通常都是由内核控制的,但此选项可以向用户空间提供I2C设备接口,以允许用户空间的程序通过/dev/i2c-*字符设备文件使用I2C总线.详情参见"Documentation/i2c/dev-interface"文档.不确定的选"N".
    I2C bus multiplexing support
    CONFIG_I2C_MUX
        多路复用I2C总线支持.不确定的选"N".

        Multiplexer I2C Chip support
            I2C多路复用芯片,其下的子项按实际情况选择就OK了

    Autoselect pertinent helper modules
    CONFIG_I2C_HELPER_AUTO
        有一些I2C驱动程序需要"I2C algorithm"的帮助才能工作.而"I2C算法"本质上是I2C接口的纯软件抽象.开启此项后,如有需要,则会自动选上这些算法,而无需你再手动选择.推荐选"Y".仅在你想使用额外的算法时,才选"N".

        SMBus-specific protocols
        CONFIG_I2C_SMBUS
            SMBus特有的扩展支持.目前唯一实际支持的扩展是SMBus报警协议.建议选"Y".

    I2C Algorithms
        I2C算法,子项可以全不选,若有其他部分依赖其子项时,会自动选上
    I2C Hardware Bus support
        I2C硬件支持

        *** PC SMBus host controller drivers ***
            这部分按照主板芯片组的实际情况选择就OK了
        SMBus Control Method Interface
        CONFIG_I2C_SCMI
            SMBus控制方法接口(Control Method Interface)是SMBus的ACPI接口.用于在ACPI环境中使用SMBus设备.不确定的选"M"(i2c-scmi).
        {其余被省略的都是用于嵌入式系统或者额外的I2C/SMBus扩展卡,按实际情况选择即可}

    I2C/SMBus Test Stub
    CONFIG_I2C_STUB
        用于帮助开发SMBus client驱动(特别是某些传感器芯片).详情参见"Documentation/i2c/i2c-stub"文档.不确定的选"N".
    I2C Core debugging messages
    CONFIG_I2C_DEBUG_CORE
        向系统日志中传递大量的I2C Core调试信息.仅用于调试I2C设备故障
    I2C Algorithm debugging messages
    CONFIG_I2C_DEBUG_ALGO
        向系统日志中传递大量的I2C Algorithm调试信息.仅用于调试I2C设备故障
    I2C Bus debugging messages
    CONFIG_I2C_DEBUG_BUS
        向系统日志中传递大量的I2C Bus调试信息.仅用于调试I2C设备故障

SPI support
CONFIG_SPI
    串行外设接口(Serial Peripheral Interface)是一种标准的四线同步双向串行总线.SPI类似于I2C,但比I2C的"2线"稍微复杂一些,SPI需要4个引脚("4线"),不但传输速率比I2C更高,还能实现全双工通信.大多数SPI设备不支持动态设备检测,有些甚至是只读或者只写的.SPI常用于微控制器(Microcontroller)与外围设备(RTC,传感器,EEPROM,FLASH,解/编码器,模数转换器,数字信号处理器)之间的通信,MMC和SD卡也可以通过SPI协议访问,而MMC接口的DataFlash卡则必须通过SPI才能访问.仅用于嵌入式环境,PC平台上没有这样的设备.
Qualcomm MSM SSBI bus support
CONFIG_SSBI
    高通(Qualcomm)骁龙系列智能手机处理器内嵌的单线串行总线接口(Single-wire Serial Bus Interface)
HSI support
CONFIG_HSI
    高速同步串行接口(High speed synchronous Serial Interface)是移动产业处理器接口(MIPI)联盟的高速同步接口工作组发布的一项技术规范.MIPI(Mobile Industry Processor Interface)是2003年由ARM,Nokia,ST,TI等公司成立的一个联盟,目的是把手机内部的接口(如摄像头,显示屏接口,射频/基带接口等)标准化,从而减少手机设计的复杂程度和增加设计灵活性.MIPI联盟下面有不同的工作组,分别定义了一系列的手机内部接口标准,比如摄像头接口CSI,显示接口DSI,射频接口DigRF,麦克风/扬声器接口SLIMbus等.统一接口标准的好处是手机厂商根据需要可以从市面上灵活选择不同的芯片和模组,更改设计和功能时更加快捷方便.目前,MIPI联盟的董事成员包括英特尔,摩托罗拉,诺基亚,三星,意法半导体,德州仪器.
PPS support
CONFIG_PPS
    秒脉冲(Pulse Per Second)是GPS天线的一项功能,用于获取GPS卫星的授时.PPS的精度可以到纳秒级,而且没有累积误差.
PTP clock support
CONFIG_PTP_1588_CLOCK
    精密时间协议(Precision Time Protocol)是IEEE 1588定义的一种基于以太网的高精度时间同步协议.PTP采用硬件与软件结合设计,可以提供比纯软件方式的NTP(网络时间协议)高的多的精度(微秒级).与GPS授时相比,在提供和GPS相同的精度情况下,PTP不需要为每个设备安装GPS那样昂贵的组件,只需要一个高精度的本地时钟和提供高精度时钟戳的部件,成本较低.一般的PC和服务器上没有PTP硬件.
GPIO Support
CONFIG_GPIOLIB
    每个芯片都会有至少一个引脚(PIN),像CPU或者芯片组这种复杂的芯片,其引脚会有成白上千个,这些PIN就是芯片与外部沟通的渠道,每个PIN都会有它特定的功能.GPIO(General Purpose I/O)就是芯片上的一种通用功能的引脚,其功能可由使用者通过编程的方式自定义(所谓"可编程引脚"),比如使用两条PIN就可以组成I2C,使用4条PIN就可以组成SPI.嵌入式系统经常需要控制结构简单但数量众多的外部设备(比如LED的亮与灭),使用传统的串口或者并口就太"大炮打蚊子",而GPIO则非常适合用于控制此类数量众多的简单设备.GPIO在嵌入式设备中使用广泛,但PC平台的芯片组大多也集成有GPIO引脚.详情参见"Documentation/gpio/gpio.txt"文档.

    Debug GPIO calls
    CONFIG_DEBUG_GPIO
        仅供调试使用
    /sys/class/gpio/... (sysfs interface)
    CONFIG_GPIO_SYSFS
        为GPIO设备添加sysfs接口.主要用于调试和问题排查.不确定的选"N".
    Generic memory-mapped GPIO controller support (MMIO platform device)
    CONFIG_GPIO_GENERIC_PLATFORM
        这是最简单的GPIO控制器驱动(platform总线驱动),仅支持单独一个"data"寄存器,用于读/写GPIO的状态.不确定的选"Y".
    {这里被省略的部分,按主板上实际集成的芯片选择即可}

Dallas's 1-wire support
CONFIG_W1
    Dallas公司发明的单总线是比I2C更简单的总线,仅使用一个引脚(1-wire),使用Master-Slave结构,用于连接慢速的单引脚设备,比如iButton和热传感器.主要用于嵌入式系统.
Power supply class support
CONFIG_POWER_SUPPLY
    允许用户空间程序通过sysfs/uevent接口对电源(电池,交流电,USB)进行监控.建议选"Y".

    Power supply debug
    CONFIG_POWER_SUPPLY_DEBUG
        仅供调试使用
    Generic PDA/phone power driver
    CONFIG_PDA_POWER
        通用的PDA/phone电源切换驱动.用于在内部电池和外部电源(AC/USB)之间进行切换.
    Generic battery support using IIO
    CONFIG_GENERIC_ADC_BATTERY
        为使用IIO总线(CONFIG_IIO)的电池提供的通用驱动
    Test power driver
    CONFIG_TEST_POWER
        仅供测试使用
    SBS Compliant gas gauge
    CONFIG_BATTERY_SBS
        与智能电池系统(Smart Battery System)规范兼容的气压计(集成在电池组中)支持.
    GPIO charger
    CONFIG_CHARGER_GPIO
        支持充电器通过GPIO引脚报告其在线状态.
    Board level reset or power off
    CONFIG_POWER_RESET
        允许通过操作板载的主电源,关闭或重启整个系统.
    {这里被省略的部分,按实际电池控制芯片选择即可}

Adaptive Voltage Scaling class support
CONFIG_POWER_AVS
    自适应电压调节(Adaptive Voltage Scaling)技术能够动态的对设备工作电压进行精细的调整,拥有比DVFS更佳的电力利用效率,是一种降低功耗与优化性能并举的电源与性能管理技术.AVS在OMAP设备上也被称为"SmartReflex".目前仅用于嵌入式领域.
Hardware Monitoring support
CONFIG_HWMON
    当前主板大多都有一个监控硬件温度/电压/风扇转速等状况的设备,请按照主板实际使用的芯片选择相应的子项.如果你不知道究竟需要使用哪个驱动,可以使用Superiotool和sensors-detect工具进行检测.另外,该功能还需要CONFIG_I2C的支持.更多详情参见"Documentation/hwmon/userspace-tools"文档.

    Hardware Monitoring Chip debugging messages
    CONFIG_HWMON_DEBUG_CHIP
        在系统日志中输出大量的I2C调试信息,仅用于故障调试
    {被省略的部分,按实际的硬件监控芯片选择即可}
    GPIO fan
    CONFIG_SENSORS_GPIO_FAN
        连接在GPIO引脚上的风扇
    PMBus support
    CONFIG_PMBUS
        电源管理总线(Power Management Bus)是一种基于SMBus(CONFIG_I2C)的开放标准的数字电源管理协议,可以用于配置/监控/操作电源变换器,目前全球有超过40个IC厂商提供满足PMBus标准的产品.最新的PMBus+ 1.3标准增加AVS(CONFIG_POWER_AVS)支持,可以动态控制设备的工作电压.根据你的实际硬件状况选择子项.
    ACPI 4.0 power meter
    CONFIG_SENSORS_ACPI_POWER
        将ACPI 4.0(2009年6月发布)中定义的瓦特表(用于测量功耗)当做硬件监控设备导出到用户空间.需要固件支持ACPI 4.0规范,并且有一个瓦特表.不确定的选"N".
    ASUS ATK0110
    CONFIG_SENSORS_ATK0110
        许多华硕主板都有这种ACPI硬件监控接口.此驱动可以通过主板固件读取风扇/电压/温度信息.

Generic Thermal sysfs driver
CONFIG_THERMAL
    为ACPI规范中定义的"thermal"(发热控制)提供一个通用的sysfs接口,以方便与诸如温度传感器和风扇之类的设备通信.由于目前所有PC和服务器都已支持ACPI,并且发热控制也越来越重要,所以建议选"Y".详情参见"Documentation/thermal/sysfs-api.txt"文档.

    Default Thermal governor
        选择默认的热调节器,建议选"step_wise".
    Fair-share thermal governor
    CONFIG_THERMAL_GOV_FAIR_SHARE
        此调节器根据设备对所属区域的"贡献"(contribution)进行调节.
    Step_wise thermal governor
    CONFIG_THERMAL_GOV_STEP_WISE
        此调节器以线性方式进行调节,也就是每次调节都只在紧邻的两档之间进行切换.
    User_space thermal governor
    CONFIG_THERMAL_GOV_USER_SPACE
        此调节器让用户空间程序去决定如何调节
    generic cpu cooling support
    CONFIG_CPU_THERMAL
        通用的CPU降温机制(通过降低频率来实现,而不是通过ACPI接口).显然通过ACPI接口是更好的机制,所以建议选"N".
    Thermal emulation mode support
    CONFIG_THERMAL_EMULATION
        "Thermal"模拟.仅供调试使用,切勿用于生产系统!!
    Intel PowerClamp idle injection driver
    CONFIG_INTEL_POWERCLAMP
        Intel PowerClamp 驱动通过利用Nehalem之后的CPU支持的"package-level C-state"特性,强制为在线的CPU注入"idle"指令(通过"/sys/class/thermal/"接口设定"idle"百分比),以确保CPU的功耗不会超过特定的阈值(发热量也就不会超过特定的阈值).这样刻意的降低系统性能峰值还有一个好处,那就是相对于传统的动态频率调节技术而言,能够达到更高的每瓦特性能.详见Documentation/thermal/intel_powerclamp.txt文档.如果你对节能和限制发热量特别在意,同时又不在乎系统峰值性能的降低,可以选"Y".

Watchdog Timer Support
CONFIG_WATCHDOG
    选"Y"并选中下面相应的驱动之后,再创建一个主/次设备号为10/130的字符设备"/dev/watchdog",即可拥有一只看门狗.其工作原理是:当/dev/watchdog设备被打开后,如果喂狗守护进程超过60秒没有喂狗(写入"/dev/watchdog"),那么底层的看门狗硬件将会触发整个机器硬重启(相当于按下面板上的"RESET"按钮).这对于提高服务器的在线率来说意义重大.详情参见"Documentation/watchdog/watchdog-api.txt"文档.

    WatchDog Timer Driver Core
    CONFIG_WATCHDOG_CORE
        看门狗核心驱动,它为所有特定于具体硬件的看门狗驱动提供了统一的框架和"/dev/watchdog"接口(未来还会包括sysfs接口).使用看门狗的必选.
    Disable watchdog shutdown on close
    CONFIG_WATCHDOG_NOWAYOUT
        默认情况下(此项="N")如果喂狗进程关闭"/dev/watchdog"文件,那么表示停止看门狗功能.开启此项后,看门狗一旦启用就不能被停止(即使关闭"/dev/watchdog"文件也不会停止).
    Software watchdog
    CONFIG_SOFT_WATCHDOG
        内核提供的"软看门狗".使用它不需要有任何硬件的支持,但可靠性不如硬件看门狗,仅能应对喂狗进程的崩溃,不能应对内核本身的崩溃.在某些情况下(例如Oracle数据库),CONFIG_HANGCHECK_TIMER是比"软看门狗"更好的选择.
    {此处省略的看门狗硬件请按照实际使用的芯片进行选择}

Sonics Silicon Backplane support
CONFIG_SSB
    SSB(Sonics Silicon Backplane)是一种仅在嵌入式环境中使用的总线.
Broadcom specific AMBA
CONFIG_BCMA
    Broadcom特有的AMBA(Advanced Microcontroller Bus Architecture)总线支持.仅用于嵌入式环境
Multifunction device drivers
    MFD(多功能设备)的含义是"在单个芯片上集成多个功能(GPIO,触摸屏,键盘,电流调节,电源管理...)".此种芯片通常通过一个或多个IRQ线和低速数据总线(SPI/I2C/GPIO)与主CPU进行通信.对于主系统来说,它们通过数据总线显示为一个单独的MFD设备.但透过MFD框架,又可以拥有多个相互独立的子设备(子功能).MFD多用于嵌入式环境.

    Intel ICH LPC
    CONFIG_LPC_ICH
        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总线速率同步驱动,但是引脚数大大降低,以方便在拥挤的现代主板上布局,这也是取名"Low Pin Count"的原因.此选项支持几乎所有Intel芯片组的LPC总线,以方便其他驱动控制MFD(目前仅有GPIO和watchdog).具体支持的芯片可以查看"drivers/mfd/lpc_ich.c"文件.
    Intel SCH LPC
    CONFIG_LPC_SCH
        用于 Intel Atom 处理器的 Intel SCH(System Controller Hub) LPC 总线支持.目前仅支持SMBus和GPIO.
    {此处省略的硬件请按照实际使用的芯片进行选择}

Voltage and Current Regulator Support
CONFIG_REGULATOR
    通用的电压与电流调节器框架.除了提供通用的电压与电流调节接口外,还能通过sysfs向用户空间提供电压与电流的状态信息.目的在于通过动态调节电压和电流,降低能耗,延长电池寿命.建议笔记本用户选"Y".
Multimedia support
CONFIG_MEDIA_SUPPORT
    多媒体设备:摄像头,视频采集,模拟电视,数字电视,机顶盒,收音机,遥控器,数字视频广播(DVB)...内核多媒体子系统由LinuxTV项目负责维护.

    Cameras/video grabbers support
    CONFIG_MEDIA_CAMERA_SUPPORT
        摄像头,视频采集卡
    Analog TV support
    CONFIG_MEDIA_ANALOG_TV_SUPPORT
        模拟电视信号接收器,包括那些既能接收模拟信号又能接收数字信号的电视卡
    Digital TV support
    CONFIG_MEDIA_DIGITAL_TV_SUPPORT
        数字电视信号接收器,包括那些既能接收模拟信号又能接收数字信号的电视卡
    AM/FM radio receivers/transmitters support
    CONFIG_MEDIA_RADIO_SUPPORT
        AM/FM无线电接收机和发射机,包括那些带有收音机功能的电视卡
    Remote Controller support
    CONFIG_MEDIA_RC_SUPPORT
        基于红外线/射频的遥控器,用于控制视频采集卡或者电视卡.大多数电视卡和视频采集卡都需要它的支持,即使这些卡实际并不需要遥控器.
    Media Controller API
    CONFIG_MEDIA_CONTROLLER
        此API用于查询多媒体设备内部的拓扑结构,并进行动态配置.主要用于嵌入式环境中的摄像头配置.
    V4L2 sub-device userspace API
    CONFIG_VIDEO_V4L2_SUBDEV_API
        此API用于配置视频的格式/尺寸/帧率.主要用于嵌入式环境中的摄像头配置.
    Enable advanced debug functionality on V4L2 drivers
    CONFIG_VIDEO_ADV_DEBUG
        开启V4L2驱动程序的高级调试特性,不确定的选"N".
    Enable old-style fixed minor ranges on drivers/video devices
    CONFIG_VIDEO_FIXED_MINOR_RANGES
        仅在你使用mknod而不是udev进行设备管理时才需要开启.不确定的选"N".
    V4L2 int device (DEPRECATED)
    CONFIG_VIDEO_V4L2_INT_DEVICE
        仅用于旧式的图像传感器驱动(omap24xxcam和tcm825x),反对使用此项.选"N".
    DVB Network Support
    CONFIG_DVB_NET
        DVB(数字视频广播)是一系列国际公认的数字电视标准.此项提供了DVB网络(DVB标准的一部分)支持,可用于数字机顶盒(Set-Top-Box)的自动固件升级以及通过DVB卡访问互联网.
    maximum number of DVB/ATSC adapters
    CONFIG_DVB_MAX_ADAPTERS
        最大允许的DVB/ATSC电视卡数量.取值范围是[1,255],但经过测试的范围是[4,32].不确定的请保持默认值"8".
    Dynamic DVB minor allocation
    CONFIG_DVB_DYNAMIC_MINORS
        为DVB设备节点动态分配次设备号,这样每张DVB卡就可以拥有最多4个同类型的设备(例如demux(分离器)和frontend(前端)).此特性需要udev的支持.
    Compile Remote Controller keymap modules
    CONFIG_RC_MAP
        将各种遥控器的keymap表编译进内核.这些表都很小,但是如果你不打算使用遥控器,或者更喜欢使用v4l-utils包内的ir-keytable工具从用户空间加载这些表,可以选"N".
    Remote controller decoders
    CONFIG_RC_DECODERS
        遥控器解码器.其下的子项是各种不同的遥控通信协议.
    Remote Controller devices
    CONFIG_RC_DEVICES
        各种遥控器产品.其下子项按实际的厂商和型号选择即可.
    Media USB Adapters
    CONFIG_MEDIA_USB_SUPPORT
        各种USB总线的多媒体设备

        USB Video Class (UVC)
        CONFIG_USB_VIDEO_CLASS
            UVC(USB Video Class)是一个开放的通用USB视频捕获标准.目前大多数摄像头都是UVC摄像头,也就是俗称的"免驱摄像头".所有符合UVC规格的硬件都可以使用通用UVC驱动程序,而无需再使用专用驱动.

            UVC input events device support
            CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV
                某些UVC摄像头上会带有按钮(常用于开关LED灯/拍照),此选项可以将此按钮注册为一个输入设备,以用于报告按钮事件.

        GSPCA based webcams
        CONFIG_USB_GSPCA
            基于GSPCA框架的摄像头驱动(依赖于CONFIG_VIDEO_V4L2),这是一位60岁的法国医生的杰作.该驱动适用于大多数常见的非UVC摄像头.具体支持的芯片列表可以查看"Documentation/video4linux/gspca.txt"文档.
        {此处省略的非GSPCA摄像头,电视卡,电视棒等其他硬件请按照实际使用的芯片进行选择}

    Media PCI Adapters
    CONFIG_MEDIA_PCI_SUPPORT
        各种PCI/PCIe总线的多媒体设备
    V4L platform devices
    CONFIG_V4L_PLATFORM_DRIVERS
        特定于平台的V4L(Video For Linux)设备,这些设备不是通过USB/PCI这样的总线连接的.一般用于单片机之类的嵌入式环境.

        SoC camera support
        CONFIG_SOC_CAMERA
            所谓"SoC Camera"是指那些不通过PCI或USB总线连接的摄像头(例如通过I2C直接与SoC数据总线连接).此选项为这类摄像头提供了通用的支持.

            platform camera support
            CONFIG_SOC_CAMERA_PLATFORM
                仅用于调试目的

        {此处省略的部分请按照实际使用的芯片进行选择}

    Memory-to-memory multimedia devices
    CONFIG_V4L_MEM2MEM_DRIVERS
        使用系统内存作为源和目标缓存(Memory-to-memory)的多媒体设备.一般的采集输出驱动仅将系统内存用于源或目标缓存之一.不确定的选"N".
    Media test drivers
    CONFIG_V4L_TEST_DRIVERS
        仅用于调试目的.
    Siano SMS1xxx based MDTV via SDIO interface
    CONFIG_SMS_SDIO_DRV
        使用SDIO接口的一种移动数字电视(MDTV)卡,基于Siano SMS1xxx芯片.主要用于嵌入式设备
    ISA and parallel port devices
    CONFIG_MEDIA_PARPORT_SUPPORT
        使用ISA或并口的多媒体设备,古董级别的设备
    Radio Adapters
    CONFIG_RADIO_ADAPTERS
        AM/FM无线电广播接收设备
    FireDTV and FloppyDTV
    CONFIG_DVB_FIREDTV
        Digital Everywhere生产的FireWire(IEEE 1394)接口的DVB电视接收卡
    Cypress firmware helper routines
    CONFIG_CYPRESS_FIRMWARE
        Cypress(赛普拉斯)多媒体产品的固件加载帮助程序.
    Enable Remote Controller support for Siano devices
    CONFIG_SMS_SIANO_RC
        Siano多媒体设备遥控器
    Enable debugfs for smsdvb
    CONFIG_SMS_SIANO_DEBUGFS
        仅供调试使用,当前仅可用于Siano USB设备
    Autoselect ancillary drivers (tuners, sensors, i2c, frontends)
    CONFIG_MEDIA_SUBDRV_AUTOSELECT
        为多媒体设备驱动自动选择所有相关的辅助驱动(tuner[调谐器],sensor[传感器],视频编/解码器以及前端),以免去手动选择的麻烦.通常这是个好主意,建议选"Y".但是对于某些嵌入式环境来说,却希望去掉部分有用的辅助驱动以保持内核尽可能短小,这时应该选"N".
    I2C module for IR
    CONFIG_VIDEO_IR_I2C
        大多数板子都通过GPIO总线连接红外线芯片,但少数板子却使用I2C总线连接.此项即是对I2C总线连接的红外线芯片提供支持.
    Encoders, decoders, sensors and other helper chips
        编码器,解码器,传感器,混频器...等辅助芯片
    Sensors used on soc_camera driver
        用于"SoC Camera"(CONFIG_SOC_CAMERA)的各种传感器
    Customize TV tuners
        各种专用的电视调谐器
    Customise DVB Frontends
        各种专用的数字电视前端

Graphics support
    图形设备/显卡支持.对于不需要使用图形界面以及不需要进行图形渲染的用户来说,以下所有选项都应该选"N".

    /dev/agpgart (AGP Support)
    CONFIG_AGP
        GART(图形地址重映射表)可以看做一种被各种显卡(不只是AGP显卡,还包括PCI-E显卡与集成显卡以及核心显卡)使用的"伪IOMMU"(参见CONFIG_GART_IOMMU选项),它将物理地址不连续的系统内存映射成连续的"显存"供GPU使用.当物理显存容量不够时(大多数集成显卡甚至根本没有物理显存),GART允许通过DMA(直接内存访问)方式将这部分"显存"用于纹理贴图,Z轴缓冲,ALPHA混合,多边形网格生成...等各种3D操作.如果没有GART支持,OpenGL直接渲染将会变得特别慢.GLX与DRI(CONFIG_DRM)也依赖于此.简而言之,需要使用图形化界面的人都应该选"Y".不需要图形界面的用户应该选"N".[注意]对于使用304或更老版本的nVidia闭源驱动的用户,如果使用的是某些老旧的芯片组,那么此处应该选"N".因为在这些特定的芯片组上,闭源驱动自己的agpgart实现(NvAGP)是更好的选择.[提示]老版本的AMD/ATI/NVIDIA闭源驱动都曾经有自己的agpgart实现,但在新版本中都已经被移除.而Intel显卡一直使用的都是内核的agpgart实现.

        AMD Opteron/Athlon64 on-CPU GART support
        CONFIG_AGP_AMD64
            该项仅适用于如下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可以查看"arch/x86/kernel/amd_nb.c"文件中的"AMD_NB_GART"常量的使用.
        Intel 440LX/BX/GX, I8xx and E7x05 chipset support
        CONFIG_AGP_INTEL
            该项仅适用于:(1)某些Intel芯片组(440LX/BX/GX, 8xx系列, E7205/E7505/E7221, 9xx系列, 所有3/4系列). (2)全部Intel集成显卡(包括Intel核心显卡).具体支持的芯片组和集显可以查看"drivers/char/agp/intel-*"系列文件.[提示]如果你使用的既不是此处所列的芯片组(例如Xeon芯片组或者5/6/7/8系列芯片组)也不是Intel的集成显卡(例如AMD/nVidia独立显卡),那么应该选"N".
        SiS chipset support
        CONFIG_AGP_SIS
            该项仅适用于SiS芯片组,但不包括上世纪古董级的SiS 5591/5592芯片组.
        VIA chipset support
        CONFIG_AGP_VIA
            该项仅适用于VIA芯片组.具体支持的芯片组型号可以查看"drivers/char/agp/via-agp.c"中的"via_agp_device_ids"数组.

    VGA Arbitration
    CONFIG_VGA_ARB
        图形设备是通过I/O或内存的特定地址范围进行访问的.大多数现代的显卡都允许对这个范围进行重新定位,但是某些基于PCI的"传统"VGA设备仍然使用"硬编码"的地址范围,无法对其进行重新定位.如果系统上有多个这样的"传统"VGA设备,就会造成地址冲突,这时候就需要进行VGA仲裁.此选项主要用于处理多个显卡(比如集成显卡和独立显卡)之间的切换.如果你的系统上有多个显卡,可以选"Y",否则应该选"N".详情参见"Documentation/vgaarbiter.txt"文档.

        Maximum number of GPUs
        CONFIG_VGA_ARB_MAX_GPUS
            最多允许支持多少个显卡

    Laptop Hybrid Graphics - GPU switching support
    CONFIG_VGA_SWITCHEROO
        支持多个显卡之间的切换(通常是在集显和独显之间),这项技术有多个不同的名称:"Hybrid Graphics","PowerXpress","HybridPower".这项特性主要用于笔记本,台式机一般不支持.
    Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
    CONFIG_DRM
        DRI(Direct Rendering Infrastructure)允许应用程序以高效安全的方式直接访问GPU,主要用于硬件3D加速.桌面用户建议选"Y".[提示]KMS+DRI2+GEM+UXA+Wayland是Linux图形革命的基石,这里还有两篇需要越墙的文章可以帮助加深对Linux图形技术的理解:(1)关于Xorg的一些整理,(2)厘清了xorg里的一些概念.

        Allow to specify an EDID data set instead of probing for it
        CONFIG_DRM_LOAD_EDID_FIRMWARE
            EDID(扩展显示器识别数据)是一种VESA(视频电子标准协会)制定的标准数据格式,其中包含有关显示器的各种参数:供应商信息,最大图像尺寸,颜色设置,厂商预设置,频率范围,显示器名,序列号字符串等等.EDID保存在显示器的PROM或EEPROM中,显卡或read-edid一般通过I2C总线使用DDC协议进行读取.但是在某些脑残的硬件(显示器或显卡)上却不能正确获取EDID数据.此选项就是为了解决这个问题而设置的.此选项可以允许从"/lib/firmware/"目录加载EDID数据,或者将EDID数据在编译时直接嵌入内核.不确定的选"N".详情参见"Documentation/EDID/HOWTO.txt"文档.[提示]EDID的继任者是DisplayID,但目前DisplayID尚未被广泛应用.

    I2C encoder or helper chips
        I2C编码器或辅助芯片

        Chrontel ch7006 TV encoder
        CONFIG_DRM_I2C_CH7006
            Chrontel ch7006 电视解码器支持.某些nVidia显卡上有这个芯片.此选项仅对NVIDIA显卡开源驱动(nouveau)有意义.
        Silicon Image sil164 TMDS transmitter
        CONFIG_DRM_I2C_SIL164
            Silicon Image SIL164 最小化传输差分信号(TMDS)发送器,用于实现DVI信号的合成和发送.TMDS不如LVDS应用广泛,仅在某些nVidia显卡上有出现.
        NXP Semiconductors TDA998X HDMI encoder
        CONFIG_DRM_I2C_NXP_TDA998X
            NXP(恩智浦) TDA998X HDMI 发射器.用于实现HDMI信号的合成和发送.

    3dfx Banshee/Voodoo3+
    CONFIG_DRM_TDFX
        3dfx Banshee/Voodoo3+ 系列古董显卡
    ATI Rage 128
    CONFIG_DRM_R128
        ATI Rage 128 系列古董显卡
    ATI Radeon
    CONFIG_DRM_RADEON
        Radeon系列显卡开源驱动(radeon).[提示]R600及更新的GPU需要额外的固件/微代码(radeon-ucode)的帮助才能使用开源驱动.如果你打算在R600及更新的GPU上使用此开源驱动,那么建议选"M"而不是"Y".因为"Y"需要将微代码(通常位于"/lib/firmware/radeon/"目录)一起编译进内核(使用CONFIG_EXTRA_FIRMWARE="radeon/GPU-MODEL.bin").[注意]如果你打算使用目前尚不支持KMS的Radeon闭源驱动(Catalyst/fglrx),那么此项必须选"N".

        Enable userspace modesetting on radeon (DEPRECATED)
        CONFIG_DRM_RADEON_UMS
            禁用KMS支持.目的是为了兼容远古版本的DDX驱动.除非你有充足的理由,否则请选"N".

    Nouveau (nVidia) cards
    CONFIG_DRM_NOUVEAU
        nVidia系列显卡开源驱动(nouveau).[注意]如果你打算使用也许永远不会支持KMS的nVidia闭源驱动(nvidia-drivers),那么此项必须选"N".

        Maximum debug level
        CONFIG_NOUVEAU_DEBUG
            最大调试级别,也就是最高允许显示的调试信息详细程度.取值范围是[0,7],数字越大,在内核中编入的调试信息就越多,建议设为"4",过大的级别会导致驱动运行缓慢.
        Default debug level
        CONFIG_NOUVEAU_DEBUG_DEFAULT
            默认调试级别,必须小于等于CONFIG_NOUVEAU_DEBUG的值.数字越大,输出的调试信息就越详细,建议设为"2",过大的级别会导致驱动运行缓慢.
        Support for backlight control
        CONFIG_DRM_NOUVEAU_BACKLIGHT
            允许调整显示器背光亮度,主要用于液晶显示屏等使用背光技术的显示器.建议选"Y".

    Intel I810
    CONFIG_DRM_I810
        专为古董级Intel集成显卡(i810/i815)准备的驱动
    Intel 8xx/9xx/G3x/G4x/HD Graphics
    CONFIG_DRM_I915
        Intel GMA(芯片组集成显卡)与HD Graphics(核心集成显卡)开源驱动(intel).除了个别老古董(i810/i815)与基于PowerVR的芯片(Atom z5xx)之外,此驱动支持所有Intel集成显卡(包括Atom中的集成显卡).[提示]三大主流显卡厂商对Linux的驱动支持,Intel是最彻底的,官方只提供开源驱动.

        Enable modesetting on intel by default
        CONFIG_DRM_I915_KMS
            默认开启KMS(Kernel Mode Setting)特性,作用是可以在内核级别(而不是用户级别)设置显示分辨率和颜色深度.KMS使用了更新的技术,可以减少失真,增强3D性能,甚至可以使用内核的节能功能.KMS是大势所趋,只要用户层软件不太旧(2010年之后),都建议开启.[注意]开启此项后,应该:(1)关闭CONFIG_FB_INTEL选项并禁止加载任何framebuffer驱动(包括CONFIG_FB_UVESA),(2)取消内核引导参数"vga=xxx"和"video=xxx",(3)必须开启CONFIG_FRAMEBUFFER_CONSOLE选项.

    Matrox g200/g400
    CONFIG_DRM_MGA
        Matrox G200, G400, G450 系列古董显卡
    SiS video cards
    CONFIG_DRM_SIS
        SiS 630 系列古董显卡
    Via unichrome video cards
    CONFIG_DRM_VIA
        Via unichrome 系列古董显卡
    Savage video cards
    CONFIG_DRM_SAVAGE
        Savage3D/4/SuperSavage/Pro/Twister 系列古董显卡
    DRM driver for VMware Virtual GPU
    CONFIG_DRM_VMWGFX
        VMware SVGA2 虚拟显卡驱动.支持3D加速,支持KMS.如果你打算在VMware内使用图形化界面,建议选"Y".

        Enable framebuffer console under vmwgfx by default
        CONFIG_DRM_VMWGFX_FBCON
            如果你使用的VMware Tools不太旧就选"Y".

    Intel GMA5/600 KMS Framebuffer
    CONFIG_DRM_GMA500
        Intel基于Poulsbo架构的集成显卡实验性支持.此类显卡并不常见,仅用于Atom z5xx系列处理器.
    DisplayLink
    CONFIG_DRM_UDL
        DisplayLink是一个通过USB接口实现显示器连接到电脑的连接技术,可以非常简单的连接电脑和多个显示设备,常用于通过USB接口扩展虚拟的电脑的桌面.目前DisplayLink技术最多可以支持6台显示器同时显示32位色彩的任意分辨率画面.
    AST server chips
    CONFIG_DRM_AST
        AST系列显卡实验性支持.此种显卡仅出现在服务器环境.
    Kernel modesetting driver for MGA G200 server engines
    CONFIG_DRM_MGAG200
        MGA G200服务器芯片组的KMS支持.[注意]仅用于服务器芯片,不要用于桌面芯片!
    Cirrus driver for QEMU emulated device
    CONFIG_DRM_CIRRUS_QEMU
        这是QEMU虚拟的cirrus显卡KMS驱动.千万不要用于真正的物理cirrus显卡.
    QXL virtual GPU
    CONFIG_DRM_QXL
        用于SPICE的虚拟桌面的QXL虚拟显卡(cirrus)KMS支持.
    Lowlevel video output switch controls
    CONFIG_VIDEO_OUTPUT_CONTROL
        底层视频输出开关控制(通过sysfs接口).这是ACPI视频控制所依赖的功能,也被许多显卡驱动所依赖.选"Y".
    Support for frame buffer devices
    CONFIG_FB
        帧缓冲(framebuffer)设备(/dev/fb*)是一种对图形硬件的抽象,它把屏幕上的所有像素点都直接映射到一段线性的内存空间,这样就为软件提供了访问图形硬件的统一接口,这些软件不需要了解硬件的底层细节(例如寄存器),只要简单的改变相应内存位置的值,就能改变屏幕上显示的内容(颜色/亮度等).Xorg的高度可移植性也就根源于此.图形界面用户必选.

        Enable firmware EDID
        CONFIG_FIRMWARE_EDID
            EDID(扩展显示器识别数据)保存在显示器的PROM或EEPROM中,显卡或read-edid一般通过I2C总线使用DDC协议进行读取.但是在某些脑残的硬件(显示器或显卡)上却不能正确获取EDID数据.此选项就是为了解决这个问题而设置的(参见CONFIG_DRM_LOAD_EDID_FIRMWARE).开启此项后,将允许三种驱动(nvidiafb,i810fb,savagefb)通过Video BIOS获取EDID.建议选"N",仅在你确实遭遇EDID读取失败,并且确实需要使用nvidiafb/i810fb/savagefb驱动的时候才需要考虑选"Y".[提示]EDID的继任者是DisplayID,但目前DisplayID尚未被广泛应用.
        Framebuffer foreign endianness support
        CONFIG_FB_FOREIGN_ENDIAN
            如果你想混合使用不同字节序的主板和显卡(在Little-Endian主板上使用Big-Endian显卡,或者相反),可以选"Y".绝大多数人都应该选"N".除非你确实知道自己在做什么.
        Enable Video Mode Handling Helpers
        CONFIG_FB_MODE_HELPERS
            使用GTF和EDID解析程序来帮助处理显示模式,建议选"N",若有其他选项依赖于它时,会自动选上.
        Enable Tile Blitting Support
        CONFIG_FB_TILEBLITTING
            此项仅对matroxfb驱动有意义,建议选"N",若有其他选项依赖于它时,会自动选上
        {虽然此处省略的各种Framebuffer驱动提供了对图形硬件的统一抽象,让Xorg不必与硬件直接对话,但这些Framebuffer驱动仅能提供2D功能,在如今3D硬件加速和视频硬件解码早已铺天盖地的情况下,让Xorg直接与GPU硬件对话才更符合潮流,而传统的Framebuffer驱动(CONFIG_FB_*)反而成为了绊脚石,不但没有必要与新的DRI驱动(CONFIG_DRM_*)共存,而且还会相互冲突.所以切勿选中这里省略的任何Framebuffer驱动.除非你确实知道自己在做什么.}

    Exynos Video driver support
    CONFIG_EXYNOS_VIDEO
        三星基于ARM构的EXYNOS处理器内置显卡
    Backlight & LCD device support
    CONFIG_BACKLIGHT_LCD_SUPPORT
        背光与液晶支持.

        Lowlevel LCD controls
        CONFIG_LCD_CLASS_DEVICE
            液晶(LCD)底层控制框架.用于控制对比度和LCD开关(而不是背光亮度).选中此项后还需要从子项中选择特定于硬件的驱动.这些LCD硬件目前仅用于智能手机/平板电脑等嵌入式环境.
        Lowlevel Backlight controls
        CONFIG_BACKLIGHT_CLASS_DEVICE
            背光(Backlight)底层控制框架.用于控制背光源的亮度和开关.选中此项后还需要从子项中选择特定于硬件的驱动.

            Generic PWM based Backlight Driver
            CONFIG_BACKLIGHT_PWM
                液晶显示器(包括台式机和笔记本)的背光亮度调整方式有两种:(1)PWM调光,(2)非PWM调光.目前主流的液晶显示器基本上都是PWM调光,仅有少数是非PWM调光型号(而且越来越少).
            Apple Backlight Driver
            CONFIG_BACKLIGHT_APPLE
                基于Intel处理器的苹果Macbook笔记本和iMac台式机显示器背光控制
            {其它省略的驱动仅用于智能手机/平板电脑等嵌入式环境}

    Console display driver support
        控制台显示驱动.每个人都需要.

        VGA text console
        CONFIG_VGA_CONSOLE
            VGA文本控制台,必选.除非你知道自己在做什么

            Enable Scrollback Buffer in System RAM
            CONFIG_VGACON_SOFT_SCROLLBACK
                标准的VGA控制台回滚缓冲区位于VGA RAM中,但是其空间非常小,并且是固定的.开启此项后,就可以在内存中开辟更大的屏幕回滚缓冲区,这将允许你回滚更多的屏幕(Shift+PageUp),但是控制台的速度会略有下降.经常使用文本控制台的可以选"Y",不确定的选"N".

                Scrollback Buffer Size (in KB)
                CONFIG_VGACON_SOFT_SCROLLBACK_SIZE
                    在内存中开辟的屏幕回滚缓冲区大小.每个80x25屏幕需要4KB内存

        Framebuffer Console support
        CONFIG_FRAMEBUFFER_CONSOLE
            基于Framebuffer的控制台驱动.KMS特性依赖于它.桌面用户建议开启(使用了CONFIG_DRM_*的用户必须开启)

            Map the console to the primary display device
            CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY
                选"Y"表示自动将控制台映射到"主"显卡,选"N"表示自动将控制台映射到第一个加载的显卡驱动.无论是否选中此项,都可以通过"fbcon=map:N"内核引导参数更改映射关系.仅在系统拥有多个显卡时此选项才有意义.参见"Documentation/fb/fbcon.txt"文档.
            Framebuffer Console Rotation
            CONFIG_FRAMEBUFFER_CONSOLE_ROTATION
                显示画面旋转,由于是纯软件方式实现,所以会大大降低显示速度,除非你确实需要,否则建议选"N".
            Support for the Framebuffer Console Decorations
            CONFIG_FB_CON_DECOR
                允许在控制台上显示背景图像,例如在系统启动时,在一堆滚动的字符背后显示漂亮的背景图像.当然,要实现这个功能,还需要用户空间程序的帮助.详见"Documentation/fb/fbcondecor.txt"文档以及fbsplash的wiki页.

        Select compiled-in fonts
        CONFIG_FONTS
            选择内嵌到内核中的字体(点阵字库,仅包含ASCII字符和扩展ASCII字符,共256个).选"N"表示内嵌自动选择的默认字体,选"Y"表示可以手动选择内嵌的字体.[提示]可到drivers/video/console目录下找到相应的"font_*.c"文件,将其中的"0"全部替换为空格,即可看到点阵字符.

            VGA 8x8 font
            CONFIG_FONT_8x8
                这是传统上高分辨率(高于80x50)下使用的字体.因为点阵太小,所以显示的字体质量非常低劣.
            VGA 8x16 font
            CONFIG_FONT_8x16
                这是传统上的标准字体(用于80x25),也是默认内嵌的字体,最为常见.建议选"Y".
            {其它字体省略}

    Bootup logo
    CONFIG_LOGO
        启动时显示linux的logo(一幅企鹅图像),企鹅的数量表示内核检测到的CPU数目,喜欢炫一下的就选吧.子项是三种不同质量的图片,分别是黑白,16色,224色.按需选择.

Sound card support
CONFIG_SOUND
    声卡支持

    Preclaim OSS device numbers
    CONFIG_SOUND_OSS_CORE_PRECLAIM
        开启此项后,只要OSS支持被开启,无论相应的模块是否被加载,内核都会预先声明所有OSS设备号.当其中一个设备被打开时,将会尝试使用"sound-slot/service-*"与"char-major-*"两种别名去加载相应的模块.关闭此项后, 内核将仅声明实际使用中的OSS设备号.当打开一个不存在的设备时,将会仅尝试使用标准的"char-major-*"别名去加载相应的模块.由于"sound-slot/service-*"将会在未来移除,此选项仅是一个为了兼容性而保留的过渡选项,未来会被移除(相当于设为"N").
    Advanced Linux Sound Architecture
    CONFIG_SND
        ALSA(高级Linux声音架构)是内核默认的声音子系统.ALSA除了提供了声音设备的驱动,还提供了一个用户空间的函数库,这样用户空间程序就可以通过统一的API使用驱动功能,而不必直接与内核驱动交互.[吐槽]Linux音频系统,比意大利面条更混乱的系统!

        Sequencer support
        CONFIG_SND_SEQUENCER
            MIDI音序器支持,如果你是MIDI玩家,请选"Y",但如果你不知道MIDI是什么,请选"N".

            Sequencer dummy client
            CONFIG_SND_SEQ_DUMMY
                除非你要同时连接到多个MIDI设备或应用程序,否则请不要选中

        OSS Mixer API
        CONFIG_SND_MIXER_OSS
            模拟OSS混音器API(/dev/mixer*),某些老旧的程序仍然使用它,建议不选
        OSS PCM (digital audio) API
        CONFIG_SND_PCM_OSS
            模拟OSS数字音频(PCM)API(/dev/dsp*),某些老旧的程序仍然使用它,建议不选.

            OSS PCM (digital audio) API - Include plugin system
            CONFIG_SND_PCM_OSS_PLUGINS
                让ALSA模拟的 OSS PCM API 支持channel/format/rate的转换.选"N",除非你确实知道为什么要选"Y".

        OSS Sequencer API
        CONFIG_SND_SEQUENCER_OSS
            模拟OSS音序器(/dev/sequencer,/dev/music),某些老旧的程序仍然使用它,建议不选
        HR-timer backend support
        CONFIG_SND_HRTIMER
            允许将高精度定时器(CONFIG_HIGH_RES_TIMERS)用作ALSA高精度时间源,建议选中

            Use HR-timer as default sequencer timer
            CONFIG_SND_SEQ_HRTIMER_DEFAULT
                将高精度定时器(HR-timer)当作默认的时序脉冲发生器时间源,建议选中

        Dynamic device file minor numbers
        CONFIG_SND_DYNAMIC_MINORS
            动态分配ALSA设备的次设备号.如果你有8个以上的声卡,可以选"Y",否则应该选"N".
        Support old ALSA API
        CONFIG_SND_SUPPORT_OLD_API
            支持已被废弃的老旧版本的ALSA PCM API,选"N".
        Verbose procfs contents
        CONFIG_SND_VERBOSE_PROCFS
            仅供调试使用
        Verbose printk
        CONFIG_SND_VERBOSE_PRINTK
            仅供调试使用
        Debug
        CONFIG_SND_DEBUG
            仅供调试使用
        Generic sound devices
        CONFIG_SND_DRIVERS
            通用声音设备

            PC-Speaker support (READ HELP!)
            CONFIG_SND_PCSP
                如果你有声卡,务必选"N".如果你的系统没有声卡,仅在认真阅读了帮助之后,确实知道自己在干什么的情况下,才可以开启此项.
            Dummy (/dev/null) soundcard
            CONFIG_SND_DUMMY
                仅供调试使用
            Generic loopback driver (PCM)
            CONFIG_SND_ALOOP
                PCM环回(loopback)设备非常类似于网卡的环回接口(127.0.0.1),它会将输入的音频流原封不动的返回给用户空间.PCM回环设备常用来将A程序输出的音频流作为B程序的输入(A以写模式打开环回设备,而B以读模式打开),比如用B程序记录A程序的输出,或做进一步的处理.
            Virtual MIDI soundcard
            CONFIG_SND_VIRMIDI
                虚拟MIDI驱动,允许将使用原始MIDI设备的应用程序连接到音序器客户端,如果你不知道MIDI是什么就选"N".
            {此处省略几种MIDI设备(事实上大部分人都没有这些设备)}
            AC97 Power-Saving Mode
            CONFIG_SND_AC97_POWER_SAVE
                AC97(Audio Codec 97)自动节能模式支持.在此模式下,如果音频设备闲置超过"/sys/module/snd_ac97_codec/parameters/power_save"设定的秒数("0"表示关闭节能模式),那么驱动程序将会关闭音频设备以节约电力.建议选"Y".详见"Documentation/sound/alsa/powersave.txt"文档.

                Default time-out for AC97 power-save mode
                CONFIG_SND_AC97_POWER_SAVE_DEFAULT
                    默认的超时秒数,也就是"/sys/module/snd_ac97_codec/parameters/power_save"的默认值."0"表示关闭节能模式.建议设为"10"这个久经考验的合理数字.

        ISA sound devices
        CONFIG_SND_ISA
            基于ISA总线的声卡,已经绝种了.
        PCI sound devices
        CONFIG_SND_PCI
            基于PCI总线的声卡,绝大多数声卡都是PCI接口

            {此处省略的声卡按实际情况选择即可(都是些比较旧的AC97声卡)}
            Intel HD Audio
            CONFIG_SND_HDA_INTEL
                符合Intel HD Audio规范的声卡是目前的主流声卡.如果选"M",那么下面的每个驱动也都会被编译成模块,如果选"Y",那么下面的每个驱动也都会直接编译进内核.

                Pre-allocated buffer size for HD-audio driver
                CONFIG_SND_HDA_PREALLOC_SIZE
                    为HD-audio驱动程序预先分配的缓冲区大小(kB),较大的值拥有更好的性能,例如对于使用PulseAudio声音服务器的系统来说,推荐使用"4096".默认值"64"仅仅是为了历史兼容的原因.[提示]ALSA+PulseAudio是目前的主流搭配.
                Build hwdep interface for HD-audio driver
                CONFIG_SND_HDA_HWDEP
                    为HD-audio驱动添加hwdep接口.仅用于调试目的
                Support digital beep via input layer
                CONFIG_SND_HDA_INPUT_BEEP
                    为HD-audio驱动添加数字蜂鸣(beep)接口.如果你的主板没有蜂鸣器(不是能够播放音乐的扬声器),可以考虑选"Y".

                    Digital beep registration mode (0=off, 1=on)
                    CONFIG_SND_HDA_INPUT_BEEP_MODE
                        设为"0"表示默认禁用数字蜂鸣接口,设为"1"表示默认启用数字蜂鸣接口.

                Support jack plugging notification via input layer
                CONFIG_SND_HDA_INPUT_JACK
                    通过输入层支持JACK插件通知.JACK是一个比PulseAudio更专业的声音服务器,重点是低延迟,是专业音频软件(例如:Ardour,Rezound,LinuxSampler)首选的音频服务器.如果你打算使用JACK,可以选"Y".[提示]如果要将JACK和PulseAudio一起使用,需要安装PulseAudio的JACK支持模块.
                Support initialization patch loading for HD-audio
                CONFIG_SND_HDA_PATCH_LOADER
                    仅用于调试目的
                {此处省略的HD-audio声卡按实际情况选择即可.[提示]如果CONFIG_SND_HDA_INTEL被编译为模块,这里的每一个驱动也都会被编译成模块.}
                Build HDMI/DisplayPort HD-audio codec support
                CONFIG_SND_HDA_CODEC_HDMI
                    在HD-audio驱动中添加HDMI和DisplayPort支持.如果你需要使用HDMI/DisplayPort接口,可以选"Y".
                Enable generic HD-audio codec parser
                CONFIG_SND_HDA_GENERIC
                    通用HD-audio编解码器(codec)支持,必选.
                Default time-out for HD-audio power-save mode
                CONFIG_SND_HDA_POWER_SAVE_DEFAULT
                    HD-audio自动节能模式默认的超时秒数."0"表示关闭节能模式.建议设为"10"这个久经考验的合理数字.详见"Documentation/sound/alsa/powersave.txt"文档与CONFIG_SND_AC97_POWER_SAVE_DEFAULT选项.

        SPI sound devices
        CONFIG_SND_SPI
            基于SPI总线的声卡,仅出现在嵌入式设备上
        USB sound devices
        CONFIG_SND_USB
            基于USB总线的声卡,主要是外接声卡,并不常用
        FireWire sound devices
        CONFIG_SND_FIREWIRE
            基于IEEE-1394/FireWire/iLink总线的声卡,主要用于苹果的产品
        PCMCIA sound devices
        CONFIG_SND_PCMCIA
            基于PCMCIA接口的声卡,主要是外接声卡,并不常用
        ALSA for SoC audio support
        CONFIG_SND_SOC
            SoC系统音频设备支持,重点是节能支持.仅用于嵌入式设备

    Open Sound System (DEPRECATED)
    CONFIG_SOUND_PRIME
        OSS早已被废弃(已被ALSA取代).选"N".

HID support
    HID(人机接口设备)是一种定义计算机如何与人类交互的规范,常与USB或蓝牙搭配使用,常见的设备有:键盘,鼠标,触摸板,游戏杆,遥控器,蓝牙耳机,游戏手柄,手写板,等等.不过HID设备不一定要有人机接口,只要符合HID规范,就是HID设备.

    HID bus support
    CONFIG_HID
        HID(human interface device)总线及通用HID层.要使用HID设备就必须开启.[提示]PS/2接口的鼠标和键盘不是HID设备,USB或蓝牙接口的才是HID设备.

        Battery level reporting for HID devices
        CONFIG_HID_BATTERY_STRENGTH
            为那些支持power_supply类的HID电池,向用户空间报告电池的剩余电量(可以通过upower工具显示).
        /dev/hidraw raw HID device support
        CONFIG_HIDRAW
            如果你想支持那些严格说来并不属于人机交互设备的硬件(使用额外的/dev/hidraw接口),例如显示控制装置(monitor control)或不间断电源(UPS),可以选"Y".与CONFIG_USB_HIDDEV选项(/dev/hiddev)相比,/dev/hidraw设备直接无视一切hid事件(既不解析也不查找),这样就允许应用程序直接处理和操作原始的hid事件,从而避免使用用户层libhid/libusb库.详见"Documentation/hid/hidraw.txt"文档.
        User-space I/O driver support for HID subsystem
        CONFIG_UHID
            HID子系统需要两种驱动:(1)"HID I/O Driver"是特定于硬件的驱动,直接与底层总线交互,并向"HID Device Driver"提供了一致接口用于收发HID数据.(2)"HID Device Driver"是硬件无关的通用驱动,其任务是按照HID规范解析和处理来自于"HID I/O Driver"的HID数据,并将组装好的数据通过"HID I/O Driver"提供的统一接口发送给底层硬件.开启此项后,将允许在用户空间实现"HID I/O Driver".不确定的选"N".详见"Documentation/hid/uhid.txt"文档.
        Generic HID driver
        CONFIG_HID_GENERIC
            HID总线通用驱动,也就是前面说的"HID Device Driver".它实现了对各种常见HID协议的支持:键盘,鼠标,游戏杆,手写板,数字画板.不确定的选"Y".
        Special HID drivers
            各种不严格遵守HID协议的"HID Device Driver"

            {此处省略的硬件按实际情况选择即可}
            Lenovo ThinkPad USB Keyboard with TrackPoint
            CONFIG_HID_LENOVO_TPKBD
                带有"小红帽(TrackPoint)"的联想(Lenovo)ThinkPad USB键盘.
            Logitech devices
            CONFIG_HID_LOGITECH
                某些并不完全遵从HID标准的罗技(Logitech)外设
            HID Multitouch panels
            CONFIG_HID_MULTITOUCH
                HID多点触控(Multitouch)板的通用支持
            HID Sensors framework support
            CONFIG_HID_SENSOR_HUB
                HID传感器支持框架.详见"Documentation/hid/hid-sensor.txt"文档

    USB HID support
        基于USB接口的HID设备,这是目前最常见的HID设备

        USB HID transport layer
        CONFIG_USB_HID
            特定于USB接口的"HID I/O Driver".用于和USB总线上的硬件进行交互.只要你想使用任何基于USB接口的HID设备(键盘,鼠标,游戏杆,手写板,手绘板,不间断电源(UPS),显示控制装置(monitor control),等等),就必须选"Y".[例外]在嵌入式环境中使用的HIDBP(HID Boot Protocol)键盘和鼠标不在此列,而且两者也不能共存.
        PID device support
        CONFIG_HID_PID
            PID兼容的力反馈设备,例如:Microsoft Sidewinder Force Feedback 2
        /dev/hiddev raw HID device support
        CONFIG_USB_HIDDEV
            如果你想支持那些严格说来并不属于人机交互设备的硬件(使用额外的/dev/usb/hiddevX[char 180:96~111]接口),例如显示控制装置(monitor control)或不间断电源(UPS),可以选"Y".参见CONFIG_HIDRAW选项.
        USB HID Boot Protocol drivers
            如果你有绝对的把握确信不为自己的键盘和鼠标使用常规的HID驱动,而要使用Boot Protocol模式的HID驱动(常见于嵌入式环境)就选吧

    I2C HID support
        基于I2C总线的HID设备

        HID over I2C transport layer
        CONFIG_I2C_HID
            特定于I2C总线的"HID I/O Driver".用于和I2C总线上的硬件进行交互.只要你想使用任何基于I2C总线的HID设备(键盘,触摸板,触摸屏,等等),就必须选"Y".I2C-HID主要用于嵌入式设备.

USB support
CONFIG_USB_SUPPORT
    通用串行总线(Universal Serial Bus)的目标是统一电脑的外设接口.目前几乎找不到没有USB接口的电脑,而且各种智能设备也大多带有USB接口.不要犹豫,选"Y".

    Support for Host-side USB
    CONFIG_USB
        主机端(Host-side)USB支持.通用串行总线(USB)是一个串行总线子系统规范,它比传统的串口速度更快并且特性更丰富(供电,热插拔,最多可接127个设备等),其目标是统一PC外设接口.USB总体上呈现一种树型结构,USB的"Host"(主设备)被称为"根"(也可以理解为是主板上的USB控制器),USB的"Slave"(从设备)被称为"叶子",而内部的节点则称为"hub"(集线器).只要使用任何USB设备都必须选中此项.另外,你还需要从下面选中至少一个HCD(Host Controller Driver),比如适用于USB1.1的"UHCI HCD support"或"OHCI HCD support",适用于USB2.0的"EHCI HCD (USB 2.0) support".如果你拿不准的话把他们都选中一般也不会出问题.如果你的系统有设备端的USB接口(也就是你的系统可以作为"叶子"使用),请到"USB Gadget"中进行选择.

        USB verbose debug messages
        CONFIG_USB_DEBUG
            仅供调试使用
        USB announce new devices
        CONFIG_USB_ANNOUNCE_NEW_DEVICES
            在syslog中记录每个新接入系统的USB设备的详细标识信息(idVendor,idProduct,Manufacturer,Product,SerialNumber),主要用于系统调试.不确定的选"N".
        Enable USB persist by default
        CONFIG_USB_DEFAULT_PERSIST
            根据USB规范,当USB总线被挂起(休眠)后,它必须继续提供挂起电流(1-5毫安),以确保USB设备能保持其内部状态,并且USB集线器(HUB)能够检测连接变化(设备插入和拔出).这在技术上被称为"电力会话"(power session).如果一个USB设备的电力会话被中断,那么系统必须按照该设备已经被拔出进行处理,这是一种保守的做法,因为没有挂起电流,计算机不可能知道外围设备究竟发生了什么变化:也许依然保持连接,也许已经被拔出并在同一端口上插入了一个新设备.系统必须做最坏的打算.默认情况下,Linux的行为符合USB规范的要求.当整个电脑进入休眠状态(例如挂起到硬盘)时,包括USB总线在内所有总线都将掉电,然后当系统被唤醒,所有USB设备都会被当做在休眠前就已经被拔出来处理.这样做始终是安全的,并且也是"官方正确"的做法.对于大多数USB设备来说,这样做没有任何问题,但是对于USB存储设备(例如移动硬盘/U盘)来说,如果在休眠前有尚未卸载的文件系统(特别是根文件系统),当系统被唤醒之后,由于无法访问该文件系统,系统可能会立即崩溃!其实不只有掉电,只要"power session"被中断(例如BIOS在唤醒过程中重置了USB控制器),都会导致这种故障.此选项(USB-persist)就是为了解决这个问题而设置的,虽然解决的不甚完美(参见"Documentation/usb/persist.txt"),但是依然推荐选"Y",除非你确实有选"N"的理由.当然,最保险的做法是在休眠之前先卸载所有USB设备上的文件系统,而如果根文件系统位于USB设备上,就根本不使用任何休眠功能(不论是挂起到硬盘还是挂起到内存).
        Dynamic USB minor allocation
        CONFIG_USB_DYNAMIC_MINORS
            动态分配USB设备的次设备号(仅限于主设备号为180的字符设备[通常位于"/dev/usb/"目录下]).除非你有超过16个同类型(仅限:打印机,鼠标,扫描仪)的USB设备,否则应选"N".[提示]即使你有100个U盘或者USB移动硬盘,也不需要开启此项,因为他们不是"主设备号为180的字符设备".
        OTG support
        CONFIG_USB_OTG
            传统上,码照相机,手机,打印机,播放器,移动硬盘等设备之间要交换数据,都要作为PC的外围设备,在PC的控制下进行数据交换.一旦离开了PC,由于没有一个设备能够充当PC的"Host"角色,所以无法直接通信.USB-OTG(On-The-Go)就是为了解决这个问题而诞生的,它是USB2.0规格的补充标准,支持"双角色"设备(既可以当Host,也可以当Slave),从而实现外围设备之间的数据传送.例如,将数码相机直接连接到打印机上将相片打印出来.仅在你的主板上有Mini-AB/Micro-AB接口(目前仅用于嵌入式设备)时才需要选"Y".
        Rely on OTG Targeted Peripherals List
        CONFIG_USB_OTG_WHITELIST
            将"otg_whitelist.h"文件用作"OTG Targeted Peripherals List"(外设白名单),白名单之外的USB外设将按照OTG规范的要求不被枚举(也就是初始化).同样,"Embedded Host"也只支持限定的外设.如果选"N",那么白名单之外的外设也同样会被枚举(但会产生一个警告),这将大大方便嵌入式产品的开发.
        Disable external hubs
        CONFIG_USB_OTG_BLACKLIST_HUB
            选"Y"将禁止枚举(也就是初始化)外部USB集线器(HUB).这样,OTG主机就可以通过省去对外部集线器的支持,降低系统软硬件的成本.
        USB Monitor
        CONFIG_USB_MON
            选"Y"后,将可以捕获特定USB外设与USB主控器之间的数据流量,usbdump和usbmon工具依赖于此项.详见"Documentation/usb/usbmon.txt"文档.
        Enable Wireless USB extensions
        CONFIG_USB_WUSB
            主机端的WUSB(无线USB)支持.
        Support WUSB Cable Based Association (CBA)
        CONFIG_USB_WUSB_CBAF
            WUSB CBA(Cable Based Association)是一项保障主机和WUSB设备之间通信安全的技术.如果你的WUSB设备在建立无线连接前必须先建立有线连接,可以选"Y".

            Enable CBA debug messages
            CONFIG_USB_WUSB_CBAF_DEBUG
                仅供调试使用

        Cypress C67x00 HCD support
        CONFIG_USB_C67X00_HCD
            Cypress C67x00 (EZ-Host/EZ-OTG) USB 1.1 "双角色"控制器
        xHCI HCD (USB 3.0) support
        CONFIG_USB_XHCI_HCD
            xHCI(eXtensible Host Controller Interface)就是当下大红大紫的USB3.0(SuperSpeed USB)主机控制器规范.[提示]因为xHCI移除了EHCI中为兼容USB1.1而引入的"Companion"模式,所以仅用一个单独的xHCI驱动就可以兼容所有USB3.0/2.0/1.1外设.也就是说,开启此项之后,就不需要再额外开启EHCI/OHCI/UHCI选项了.

            Debugging for the xHCI host controller
            CONFIG_USB_XHCI_HCD_DEBUGGING
                仅供调试使用

        EHCI HCD (USB 2.0) support
        CONFIG_USB_EHCI_HCD
            EHCI(Enhanced Host Controller Interface)就是渐成昨日黄花的USB2.0(HighSpeed USB)主机控制器规范.[提示]因为EHCI通过"Companion"模式来支持USB1.1设备,所以一般还需要额外再开启OHCI或UHCI选项(除非你不想兼容任何USB1.1设备).详见"Documentation/usb/ehci.txt"文档.
        Root Hub Transaction Translators
        CONFIG_USB_EHCI_ROOT_HUB_TT
            带有USB2.0接口的主板上都有一个"根集线器"(Root Hub)以允许在无需额外购买hub的情况下就可以提供多个USB插口,而大多数主板还在其中集成了事务转换(Transaction Translator)功能,这样就不需要再额外使用一个OHCI或UHCI控制器来兼容USB1.1,建议选"Y",除非你不想兼容任何USB1.1设备.
        Improved Transaction Translator scheduling
        CONFIG_USB_EHCI_TT_NEWSCHED
            如果你有一个USB2.0 hub并且某些接在这个hub上的USB1.1设备不能正常工作(显示'cannot submit datapipe: error -28'或'error -71'错误),可以考虑选"Y".
        Generic EHCI driver for a platform device
        CONFIG_USB_EHCI_HCD_PLATFORM
            通用platform设备的EHCI驱动.仅用于嵌入式环境.不确定的选"N".
        OHCI HCD support
        CONFIG_USB_OHCI_HCD
            OHCI(Open Host Controller Interface)是主要用于嵌入式环境的USB1.1(LowSpeed/FullSpeed USB)主机控制器规范.
        UHCI HCD (most Intel and VIA) support
        CONFIG_USB_UHCI_HCD
            UHCI(Universal Host Controller Interface)是主要用于PC环境的USB1.1(LowSpeed/FullSpeed USB)主机控制器规范.
        {此处省略的USB控制器请按照实际硬件状况选择(基本上都仅用于嵌入式环境)}
        Wireless USB Host Controller Interface (WHCI) driver
        CONFIG_USB_WHCI_HCD
            WHCI(Wireless USB Host Controller Interface)是无线USB主机控制器规范.目前市场上带有WUSB主控器的主板很少.不确定的选"N".
        Host Wire Adapter (HWA) driver
        CONFIG_USB_HWA_HCD
            USB接口的3G/4G无线上网卡(通常需要搭配SIM卡使用),常见制式有:WCDMA/LTE/HSPA等.
        BCMA usb host driver
        CONFIG_USB_HCD_BCMA
            BCMA(Broadcom specific AMBA)总线上的EHCI/OCHI主机控制器支持.仅用于嵌入式环境.
        SSB usb host driver
        CONFIG_USB_HCD_SSB
            BCMA(Broadcom specific AMBA)总线上的EHCI/OCHI主机控制器支持.仅用于嵌入式环境.
        Inventra Highspeed Dual Role Controller (TI, ADI, ...)
        CONFIG_USB_MUSB_HDRC
            一系列基于Mentor Graphics公司silicon IP核的USB控制器.仅用于嵌入式环境.
        Renesas USBHS controller
        CONFIG_USB_RENESAS_USBHS
            一系列基于Renesas公司USBHS IP核的USB控制器.仅用于嵌入式环境.
        USB Modem (CDC ACM) support
        CONFIG_USB_ACM
            USB接口的猫或ISDN适配器,基本没人用的东西.
        USB Printer support
        CONFIG_USB_PRINTER
            USB接口的打印机,这是主流的打印机
        USB Wireless Device Management support
        CONFIG_USB_WDM
            为符合CDC(Communication Device CIass)和WMC(Wireless Mobile Communication)标准的手机提供WMC设备管理支持,这样你可以在这些手机上使用AT命令(被所有调制解调器制造商采用的一个调制解调器命令语言).
        USB Test and Measurement Class support
        CONFIG_USB_TMC
            USBTMC(USB Test and Measurement Class)协议支持.主要适用于测试仪器的USB通信开发.不确定的选"N".
        USB Mass Storage support
        CONFIG_USB_STORAGE
            USB存储设备(U盘,USB硬盘,USB软盘,USB光盘,USB磁带,记忆棒,数码相机,读卡器等等).该选项依赖于CONFIG_SCSI和CONFIG_BLK_DEV_SD选项.选"Y",除非你确实知道自己在干什么.

            USB Mass Storage verbose debug
            CONFIG_USB_STORAGE_DEBUG
                仅供调试使用
            {省略的部分请按照自己实际使用的硬件选择(事实上大部分人都没有这些设备)}

        USB Mustek MDC800 Digital Camera support
        CONFIG_USB_MDC800
            一款上世纪生产的数码相机
        Microtek X6USB scanner support
        CONFIG_USB_MICROTEK
            几款上世纪生产的扫描仪

    DesignWare USB3 DRD Core Support
    CONFIG_USB_DWC3
        基于DesignWare USB3 IP核的USB3.0控制器.仅用于嵌入式环境.
    ChipIdea Highspeed Dual Role Controller
    CONFIG_USB_CHIPIDEA
        基于ChipIdea silicon IP核的USB2.0控制器.仅用于嵌入式环境.
    USS720 parport driver
    CONFIG_USB_USS720
        一种USB转并口的转换设备.不确定的选"N".
    USB Serial Converter support
    CONFIG_USB_SERIAL
        USB-串口转换支持:(1)USB-串口转换器,(2)连接在USB口上的串口设备.详情参见"Documentation/usb/usb-serial.txt"文档.不确定的选"N".
    {此处省略的各种杂七杂八的USB设备,要么是老古董,要么是很罕见,不确定的可以全部选"N"}
    USB testing driver
    CONFIG_USB_TEST
        仅供调试使用
    USB DSL modem support
    CONFIG_USB_ATM
        USB DSL modem 已经是绝迹的古董猫了
    USB Physical Layer drivers
    CONFIG_USB_PHY
        这类设备仅在嵌入式系统上存在
    USB Gadget Support
    CONFIG_USB_GADGET
        USB是一个主/从协议,一个主机最多控制127个外设,其结构是非对称的,所以你无法把一个"到主机"的插头连接到外设上.Linux既可以在USB主机上运行,也可以在USB外设上运行.外设USB控制器可以是单独的芯片,也可以是集成在CPU中的微控制器,而常见的主机端控制器通常集成在芯片组的南桥中(xHCI/EHCI/OHCI/UHCI).如果你打算在外设中运行Linux,那么就必须开启此项,然后还需要为外设段的总线控制器配置一个硬件驱动,以及一个用于外设协议的"配件驱动".不过对于大多数人来说,并不将Linux运行于外设端,因此可以放心的选"N".仅那些嵌入式设备(例如智能手机)上运行的Linux才可能由此需求.

Ultra Wideband devices
CONFIG_UWB
    UWB(Ultra Wideband)是一种高带宽,低能耗,点对点,抗干扰性能强的无载波通信技术.UWB在较宽的频谱(3.1-10.6GHz)上,使用极低的功率(约为蓝牙的1/20),以时间间隔极短(小于1ns)的脉冲信号进行通信.UWB主要应用于室内通信(2米范围内实现480Mbps速率,10米范围内实现110Mbps速率),例如作为WUSB(Wireless USB)协议的传输层.如果你有UWB无线控制器,可以选"Y",不确定的选"N".详见"Documentation/usb/WUSB-Design-overview.txt"文档.
MMC/SD/SDIO card support
CONFIG_MMC
    MMC(MultiMediaCard)/SD(Secure Digital)/SDIO(Secure Digital I/O)主机控制器

    MMC debugging
    CONFIG_MMC_DEBUG
        仅供调试使用
    Assume MMC/SD cards are non-removable (DANGEROUS)
    CONFIG_MMC_UNSAFE_RESUME
        假定在系统休眠的过程中,所有MMC/SD/SDIO卡依然插在各自的插槽上没有变动.也许只有嵌入式系统才可以做这样的假定.不确定的选"N".参见CONFIG_USB_DEFAULT_PERSIST选项.
    MMC host clock gating
    CONFIG_MMC_CLKGATE
        尝试激进的"gate the clock to the MMC card"(啥意思?).这样当MMC卡不使用的时候,就可以进入节电状态.主机控制器必须支持此特性.不确定的选"N".
    MMC block device driver
    CONFIG_MMC_BLOCK
        MMC块设备驱动.基本上MMC卡都是作为块设备(就像U盘一样)使用.所以只要使用MMC卡就应该开启.

        Number of minors per block device
        CONFIG_MMC_BLOCK_MINORS
            为每个MMC块设备保留的次设备号数量.取值范围是[4,256].这里设置的值应该等于"最大可能的分区数+1".因为总的次设备号只有256个,所以最大能支持的MMC块设备数量就等于256除以此处设置的值.默认值"8"可以保证最大的向后兼容性.不确定的请保持默认值.
        Use bounce buffer for simple hosts
        CONFIG_MMC_BLOCK_BOUNCE
            为SD/MMC控制器提供更多的缓存(最大64KB),从而可以大幅提升其性能.建议选"Y".

    SDIO UART/GPS class support
    CONFIG_SDIO_UART
        实现了UART类的SDIO卡支持.包括那些表现的像UART一样的GPS类支持.主要用于嵌入式设备.不确定的选"N".
    MMC host test driver
    CONFIG_MMC_TEST
        仅供调试使用
    Secure Digital Host Controller Interface support
    CONFIG_MMC_SDHCI
        通用SD主控支持.笔记本电脑上用的SD主控(TI(德州仪器)/Ricoh(理光)/Toshiba(东芝)等厂商)基本上都是这个驱动.选中此项后,还需要选中相应的总线驱动(见下,通常是CONFIG_MMC_SDHCI_PCI).
    SDHCI support on PCI bus
    CONFIG_MMC_SDHCI_PCI
        PCI总线的SD主控支持,目前的笔记本的SD主控基本都接在PCI总线上.

        Ricoh MMC Controller Disabler
        CONFIG_MMC_RICOH_MMC
            用于修正Ricoh(理光)MMC主控的bug,如果你需要使用Ricoh主控,就选"Y".

    SDHCI support for ACPI enumerated SDHCI controllers
    CONFIG_MMC_SDHCI_ACPI
        专用于"ACPI Compatibility ID"等于"PNP0D40"的SD主控,以及"ACPI Hardware ID"等于"INT33C6,INT33BB,80860F14"的SD主控.
    SDHCI platform and OF driver helper
    CONFIG_MMC_SDHCI_PLTFM
        基于platform总线和OpenFirmware的SD主控.
    {此处省略的SD主控请按照实际使用的芯片进行选择}
    MMC/SD/SDIO over SPI
    CONFIG_MMC_SPI
        基于SPI总线的MMC/SD/SDIO主控.仅用于嵌入式环境.

Sony MemoryStick card support
CONFIG_MEMSTICK
    Sony记忆棒是一种Sony专用的存储设备.

    MemoryStick debugging
    CONFIG_MEMSTICK_DEBUG
        仅供调试使用
    Allow unsafe resume (DANGEROUS)
    CONFIG_MEMSTICK_UNSAFE_RESUME
        假定在系统休眠的过程中,所有记忆棒依然插在各自的插槽上没有变动.也许只有嵌入式系统才可以做这样的假定.不确定的选"N".参见CONFIG_USB_DEFAULT_PERSIST选项.
    MemoryStick Pro block device driver
    CONFIG_MSPRO_BLOCK
        "Memory Stick PRO"是SONY从2003开始引入的升级版标准,早已成为主流,所以应该选"Y"(除非你仍在使用十年前的老VAIO笔记本).
    {此处省略的MemoryStick主控请按照实际使用的芯片进行选择}

LED Support
CONFIG_NEW_LEDS
    发光二级管(LED)支持.[提示]标准键盘上的LED灯不在此列(由input子系统控制)
Accessibility support
CONFIG_ACCESSIBILITY
    无障碍(Accessibility)支持.各种帮助残疾人使用计算机的软硬件技术.例如:盲文设备,语音合成,键盘映射,等等.
InfiniBand support
CONFIG_INFINIBAND
    InfiniBand是一种低延迟/高带宽数据中心互联架构,采用远程直接内存存取(RDMA)实现高性能处理器间通信(IPC),同时对虚拟化技术也提供了良好的支持.主要用于服务器集群与高性能计算(HPC)领域.
EDAC (Error Detection And Correction) reporting
CONFIG_EDAC
    在电磁环境比较恶劣的情况下,一些大规模集成电路常常会受到干扰,特别是像RAM这种利用双稳态进行存储的器件,往往会在强干扰下发生翻转,使原来存储的"0"变为"1",或者"1"变为"0",造成严重的后果(例如控制程序跑飞,关键数据出错).随着芯片集成度的增加,发生错误的可能性也在增大,这已经成为一个不能忽视的问题.错误检测与纠正(EDAC)技术的目标就是发现并报告甚至纠正在计算机系统中发生的错误,这些错误是由CPU或芯片组报告的底层错误(内存错误/缓存错误/PCI错误/温度过高,等等),建议选"Y".如果这些代码报告了一个错误,请到http://bluesmoke.sourceforge.net/和http://buttersideup.com/edacwiki查看更多信息.详见"Documentation/edac.txt"文档.

    EDAC legacy sysfs
    CONFIG_EDAC_LEGACY_SYSFS
        仅在你需要使用老版本edac-utils的情况下才需要选"Y".
    Debugging
    CONFIG_EDAC_DEBUG
        仅供调试使用
    Decode MCEs in human-readable form (only on AMD for now)
    CONFIG_EDAC_DECODE_MCE
        将MCE(Machine Check Exception)解码为人类可读的形式(目前仅支持AMD).建议选"Y".

        Simple MCE injection interface over /sysfs
        CONFIG_EDAC_MCE_INJ
            仅供调试使用

    Main Memory EDAC (Error Detection And Correction) reporting
    CONFIG_EDAC_MM_EDAC
        一些系统能够检测和修正主内存中的错误,EDAC能够报告这些信息(EDAC自己检测到的或者根据ECC得到的).EDAC还会尽量检测这些错误发生在哪里以便于替换损坏的内存.建议选"Y"并按照你实际硬件状况选取子项

        Output ACPI APEI/GHES BIOS detected errors via EDAC
        CONFIG_EDAC_GHES
            并不是所有机器都提供基于硬件的EDAC技术,有部分机器提供的是基于ACPI BIOS的报告机制(使用CONFIG_ACPI_APEI_GHES驱动).开启此项后,如果检测到GHES BIOS,那么CONFIG_ACPI_APEI_GHES驱动提供的错误报告将会通过EDAC API发送到用户空间,同时,硬件EDAC也会被禁用,也就是进入"固件优先"模式.注意:GHES BIOS和硬件EDAC两者不能共存,因为BIOS和操作系统在读取error寄存器时会相互竞争.所以如果你不想使用"固件优先"模式,应该选"N",或者使用"ghes.disable=1"内核引导参数.
        {此处省略的芯片请按照实际情况选择}

Real Time Clock
CONFIG_RTC_CLASS
    通用RTC(实时时钟)类支持.所有的PC机主板都包含一个电池动力的实时时钟芯片,以便在断电后仍然能够继续保持时间,RTC通常与CMOS集成在一起,因此BIOS可以从中读取当前时间(精度一般是秒级).选中此项后你就可以在操作系统中使用一个或多个RTC设备(你还必须从下面启用一个或多个RTC接口).[注意]Clock与Timer没有任何关系,Timer是定时器(用于计量时长),Clock是时钟(用于记录当前的时刻"年-月-日 时:分:秒")

    Set system time from RTC on startup and resume
    CONFIG_RTC_HCTOSYS
        系统启动时从指定的RTC设备(CONFIG_RTC_HCTOSYS_DEVICE)中读取时间,以设定系统时间,这将有助于避免时间不准导致的麻烦(例如不必要的文件系统检测(fsck)以及网络故障).建议选"Y".
    Set the RTC time based on NTP synchronization
    CONFIG_RTC_SYSTOHC
        如果用户空间报告了"NTP已同步",那么每隔大约11分钟,内核将会自动把系统时间写入指定的RTC设备(CONFIG_RTC_HCTOSYS_DEVICE)中.建议选"Y".

        RTC used to set the system time
        CONFIG_RTC_HCTOSYS_DEVICE
            默认的RTC设备(通常是"rtc0").该设备的驱动必须静态编译进内核(而不能作为模块加载).

    RTC debug support
    CONFIG_RTC_DEBUG
        仅供调试使用
    /sys/class/rtc/rtcN (sysfs)
    CONFIG_RTC_INTF_SYSFS
        允许通过sysfs接口使用RTC,允许多个RTC设备,也就是/sys/class/rtc/rtc0~N
    /proc/driver/rtc (procfs for rtcN)
    CONFIG_RTC_INTF_PROC
        允许通过proc接口使用RTC,仅允许一个RTC设备,也就是/proc/driver/rtc(若有多个RTC设备,则其将对应"rtc0")
    /dev/rtcN (character devices)
    CONFIG_RTC_INTF_DEV
        允许通过dev接口使用RTC,允许多个RTC设备,也就是/dev/rtc0~N,某些程序(比如hwclock)需要使用/dev/rtc(这是个软连接,udev会自动将其指向默认的RTC设备)

        RTC UIE emulation on dev interface
        CONFIG_RTC_INTF_DEV_UIE_EMUL
            如果底层rtc芯片驱动没有提供RTC_UIE就仿真一个RTC_UIE.选"N",除非你确实知道自己在做什么.

    Test driver/device
    CONFIG_RTC_DRV_TEST
        仅供调试使用
    {此处省略的其他RTC设备一般仅用于非PC环境}
    PC-style 'CMOS'
    CONFIG_RTC_DRV_CMOS
        这是所有PC和基于ACPI的系统通用的RTC驱动.必须选"Y"(不能选"M"),除非你是嵌入式系统.

DMA Engine support
CONFIG_DMADEVICES
    DMA引擎(DMA Engine)可以看做是传统DMA控制器(DMA controller)的新生.在DMA引擎的协助下,CPU只需初始化一个传输动作,其余的动作就可以由DMA引擎独立完成(完成后以中断的方式通知CPU),这对于高速传输大量数据以及"分散-收集"操作大有益处,可以节约大量的CPU资源(有时也可节约大量的内存操作).目前主要用于:(1)卸载高速网络栈中的内存COPY操作,(2)加速CONFIG_MD_RAID456驱动中的RAID操作."DMA引擎"只是一个统称,在不同场合对应着不同的技术,例如Intel I/OAT(PC平台)和AHB(嵌入式).[提示]历史上,ISA架构的电脑都有一个专用的"DMA控制器"(最常见的是Intel 8237),但是到了PCI架构,由于每一个PCI设备都可以控制PCI总线(成为"bus master")并直接读写系统内存,所以虽然DMA的操作方式依然存在,但是"DMA控制器"却消失了.现在新生的"DMA引擎"目前仍然主要出现在Intel的高端芯片上.

    DMA Engine debugging
    CONFIG_DMADEVICES_DEBUG
        仅供调试使用
    Intel MID DMA support for Peripheral DMA controllers
    CONFIG_INTEL_MID_DMAC
        Intel MID DMA引擎,搭配Atom处理器使用.
    Intel I/OAT DMA support
    CONFIG_INTEL_IOATDMA
        带有英特尔I/O加速技术(I/O Acceleration Technology)的至强芯片组DMA引擎
    Synopsys DesignWare AHB DMA support
    CONFIG_DW_DMAC
        基于Synopsys DesignWare IP核的AHB总线DMA引擎.例如Atmel AT32ap7000中就整合了这个引擎.
    Timberdale FPGA DMA support
    CONFIG_TIMB_DMA
        Timberdale FPGA DMA引擎."Timberdale FPGA"是一个多功能设备,出现在基于Intel Atom的车载信息娱乐系统IVI(In-Vehicle Infotainment)上.
    Intel EG20T PCH / LAPIS Semicon IOH(ML7213/ML7223/ML7831) DMA
    CONFIG_PCH_DMA
        所有与Intel EG20T PCH兼容的芯片的DMA引擎支持,具体型号可以查看内核帮助.都是嵌入式芯片.
    Network: TCP receive copy offload
    CONFIG_NET_DMA
        通过在网络栈中利用DMA引擎来减少接收数据包时的copy-to-user操作以释放CPU资源,仅在CONFIG_INTEL_IOATDMA开启的前提下才有意义.
    Async_tx: Offload support for the async_tx api
    CONFIG_ASYNC_TX_DMA
        如果你开启了CONFIG_MD_RAID456,同时你的硬件又支持DMA引擎,那么开启此项后可以加速RAID操作.
    DMA Test client
    CONFIG_DMATEST
        仅供调试使用

Auxiliary Display support
CONFIG_AUXDISPLAY
    辅助显示设备.例如基于KS0108控制器的Crystalfontz CFAG12864B单色液晶屏(分辨率:128x64).仅用于嵌入式系统.
Userspace I/O drivers
CONFIG_UIO
    UIO(Userspace I/O)是运行在用户空间的I/O技术,它为开发用户空间的驱动提供了一个简单的架构(/dev/uioN).使用uio的设备一般都属于嵌入式系统.不确定的选"N".[提示]lsuio工具可以列出所有UIO的模块和其映射的内存地址.
VFIO Non-Privileged userspace driver framework
CONFIG_VFIO
    VFIO(Virtual Function I/O)无特权用户空间I/O驱动框架,主要用于为虚拟化环境中的I/O驱动提供更高的安全性,需要有IOMMU虚拟化硬件支持(例如:AMD-Vi(AMD IOMMU),Intel VT-d).VFIO的目标是在IOMMU硬件的帮助下,取代UIO框架和"KVM PCI device assignment"(CONFIG_KVM_DEVICE_ASSIGNMENT).详见"Documentation/vfio.txt"文档.不确定的选"N".[提示]QEMU 1.3以上版本才能利用VFIO特性.

    VFIO support for PCI devices
    CONFIG_VFIO_PCI
        允许PCI设备使用VFIO框架.这是VFIO框架当前的主要用途.选"Y".

        VFIO PCI support for VGA devices
        CONFIG_VFIO_PCI_VGA
            让VFIO PCI支持VGA设备,建议选"Y".

Virtualization drivers
CONFIG_VIRT_DRIVERS
    这个选项仅对PowerPC架构有意义
Virtio drivers
    Virtio驱动.Virtio的目标是为各种半虚拟化的虚拟机管理程序(特别是KVM)提供一组通用的模拟设备,目前已实现:network/block/balloon/console/hw_random,未来还会实现更多.

    PCI driver for virtio devices
    CONFIG_VIRTIO_PCI
        半虚拟化PCI设备驱动.VMM(虚拟机管理程序)必须要有相应的"PCI virtio backend".基于QEMU的VMM(KVM,Xen)一般都支持该驱动.[提示]由于目前的ABI尚不稳定,建议使用时注意版本匹配.
    Virtio balloon driver
    CONFIG_VIRTIO_BALLOON
        balloon驱动支持增加和减少KVM客户机内的内存大小.
    Platform bus driver for memory mapped virtio devices
    CONFIG_VIRTIO_MMIO
        使用内存映射机制的platform设备驱动

        Memory mapped virtio devices parameter parsing
        CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES
            允许通过"virtio_mmio.device"内核模块参数实例化virtio-mmio设备.注意,错误的参数(特别是"baseaddr"错误)会导致系统崩溃.详见"Documentation/kernel-parameters.txt"文档中对"virtio_mmio.device"的说明.

Microsoft Hyper-V guest support
    仅在将此Linux内核作为微软Hyper-V虚拟机的来宾操作系统运行时,才需要开启这里的选项.

    Microsoft Hyper-V client drivers
    CONFIG_HYPERV
        将Linux内核作为Hyper-V的来宾操作系统运行

        Microsoft Hyper-V Utilities driver
        CONFIG_HYPERV_UTILS
            Hyper-V管理工具驱动.
        Microsoft Hyper-V Balloon driver
        CONFIG_HYPERV_BALLOON
            Hyper-V Balloon驱动

Xen driver support
    仅在将此Linux内核作为半虚拟化模式的XEN虚拟机的来宾操作系统运行时,才需要开启这里的选项.由于KVM的高歌猛进,特别是Ubuntu和Redhat的力挺,与昔日的辉煌相比,XEN现在已经没落许多了.
Staging drivers
CONFIG_STAGING
    尚在开发中或尚未完成的,目前尚不完善的驱动,切勿用于生产环境.仅供测试人员或者开发者试用.
X86 Platform Specific Device Drivers
CONFIG_X86_PLATFORM_DEVICES
    特定于X86平台的设备驱动.例如很多笔记本厂商的专有硬件和特色功能.大多数笔记本用户都应该进去看看(简单易懂,一看即知).

    {此处省略所有特定于笔记本厂商的驱动}
    Thermal Management driver for Intel menlow platform
    CONFIG_INTEL_MENLOW
        此驱动专用于Intel Menlow平台(搭配Atom处理器),提供了增强的ACPI热量管理能力.
    WMI
    CONFIG_ACPI_WMI
        ACPI-WMI(Windows管理规范)映射设备(PNP0C14)支持.WMI是微软对ACPI规范的专有扩展,可将部分ACPI固件内容通过PNP0C14设备映射到用户空间,以方便用户空间调用ACPI固件的功能.本选项仅为那些依赖于WMI的驱动提供支持(并不真正导出到用户空间),例如CONFIG_DRM_NOUVEAU驱动以及专用于Acer/Asus/Dell/MSI/HP等品牌笔记本的WMI驱动.
    Intel Intelligent Power Sharing
    CONFIG_INTEL_IPS
        Intel Calpella平台支持Intel的智能电源共享(Intelligent Power Sharing)技术,可以在保持功耗不变的前提下,在CPU和GPU之间智能分配电力.开启此项和CONFIG_CPU_FREQ以及CONFIG_DRM_I915之后,即可实现此功能.
    WMI support for MXM Laptop Graphics
    CONFIG_MXM_WMI
        MXM接口笔记本显卡的WMI支持.目前主要用于nvidia显卡.
    Intel Oaktrail Platform Extras
    CONFIG_INTEL_OAKTRAIL
        Intel Oak Trail嵌入式平台需要此驱动来开关WiFi/相机/蓝牙等设备.
    pvpanic device support
    CONFIG_PVPANIC
        pvpanic是QEMU提供的一种准虚拟化(paravirtualized)设备,允许客户机向宿主机报告panic事件.

Common Clock Framework
    CCF(Common Clock Framework)是从3.4内核开始引入的新时钟框架,用于取代原有的"Clock Framework".详见"Documentation/clk.txt"文档.这里还有一个讲解CCF的PDF.

    DebugFS representation of clock tree
    CONFIG_COMMON_CLK_DEBUG
        仅供调试使用
    {此处省略的时钟设备请按实际情况选择(主要用于嵌入式设备)}

Hardware Spinlock drivers
    硬件自旋锁驱动.目前仅出现在嵌入式处理器上.自旋锁是保护共享资源的一种锁机制,与互斥锁比较类似,都是为了解决对某项资源的互斥使用.无论是互斥锁,还是自旋锁,在任何时刻,最多只能有一个持有者.也就是说,在任何时刻最多只能有一个执行单元获得锁.但是两者在调度机制上略有不同,对于互斥锁,如果资源已经被占用,资源申请者只能进入睡眠状态.但是自旋锁不会引起申请者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直在循环中"忙等"(占用CPU但无事可做),直到该自旋锁被释放."自旋"一词就是因此而得名.自旋锁的使用非常方便,但仅适用于需要极短时间锁定的场合(例如1毫秒),以避免消耗太多的CPU空等时间.
Mailbox Hardware Support
CONFIG_MAILBOX
    Mailbox硬件支持.这里的"Mailbox"是一个框架,通过消息队列和中断驱动信号,控制芯片上的多个处理器之间的通信.仅用于嵌入式环境.
IOMMU Hardware Support
CONFIG_IOMMU_SUPPORT
    IOMMU硬件主要出现在带有I/O虚拟化技术的硬件上,例如带有AMD-Vi或VT-d技术的芯片.IOMMU主要作用:(1)内存地址转换(例如DMA地址转换,scatter-gather),(2)中断重映射,(3)对设备读取和写入的进行权限检查.这对于提高虚拟化性能和安全性,以及在64位系统上更好的使用32位设备,意义重大.[提示]此选项仅对宿主机有意义,如果此内核要作为来宾操作系统运行,请选"N".

    AMD IOMMU support
    CONFIG_AMD_IOMMU
        AMD IOMMU 硬件支持.一般还需要在BIOS中开启相应选项.

        Export AMD IOMMU statistics to debugfs
        CONFIG_AMD_IOMMU_STATS
            仅供调试使用
        AMD IOMMU Version 2 driver
        CONFIG_AMD_IOMMU_V2
            新一代的AMD IOMMUv2硬件(支持PCI PRI和PASID接口)支持.首次出现在AMD Opteron 4000/6000系列平台上.

    Support for Intel IOMMU using DMA Remapping Devices
    CONFIG_INTEL_IOMMU
        让Intel IOMMU支持DMA重映射,这是IOMMU的主要用途,只要你的芯片支持VT-d,就选"Y".

        Enable Intel DMA Remapping Devices by default
        CONFIG_INTEL_IOMMU_DEFAULT_ON
            默认开启DMA重映射支持,相当于设置"intel_iommu=on"内核引导参数.选"Y".

    Support for Interrupt Remapping
    CONFIG_IRQ_REMAP
        支持对IO-APIC和MSI设备开启中断重映射,这也是IOMMU的主要用途,只要你的芯片支持VT-d,就选"Y".

Remoteproc drivers
    现代的SoC芯片一般都会以AMP(非对称多处理器)方式集成多个不同的处理器(例如OMAP5432就在单个芯片上集成了2个Cortex-A15处理器,2个Cortex-M4处理器,1个C64x DSP),这样就可在不同的处理器上分别运行多个不同的操作系统实例(例如,在2个Cortex-A9处理器上以SMP(对称多处理器)方式运行Linux,在2个Cortex-M3和1个C64x上分别运行不同的实时操作系统).而Remoteproc驱动对此种场合下的处理器间通信非常有用.详见"Documentation/remoteproc.txt"和"Documentation/rpmsg.txt"文档.目前仅对嵌入式系统有意义.不确定的选"N".
Rpmsg drivers
    此项和上面的Remoteproc紧密相关,目前其下尚无子项可选.
Generic Dynamic Voltage and Frequency Scaling (DVFS) support
CONFIG_PM_DEVFREQ
    DVFS(动态电压与频率调整)可以根据系统负载动态调节设备的运行频率和电压(对于同一芯片,频率越高,需要的电压也越高),从而达到节能目的.此选项提供了一个类似CPUfreq(CONFIG_CPU_FREQ)的通用DVFS框架(devfreq).目前DVFS技术进在嵌入式设备(例如Exynos4/Exynos5)上普遍存在.不确定的选"N".
External Connector Class (extcon) support
CONFIG_EXTCON
    extcon(外部连接器类)允许用户空间通过sysfs和uevent监控外部连接器,同时也支持多状态外部连接器(也就是拥有多个连接线缆的外部连接器).例如,一端连接到主机USB端口的多状态外部连接器,另一端可以同时连接一条HDMI线缆和一个AC适配器.30针的PDMI连接器也是多状态外部连接器的常见例子.不确定的选"N".
Memory Controller drivers
CONFIG_MEMORY
    内存控制器驱动.这里所说的"内存控制器"仅指嵌入式SoC系统中的各种控制器.不确定的选"N".
Industrial I/O support
CONFIG_IIO
    IIO子系统为各种不同总线(i2c,spi,等)的嵌入式传感器驱动提供了一个统一的框架.例如:(1)模数转换器,(2)加速度传感器,(3)陀螺仪,(4)惯性测量仪,(5)电容-数字转换器,(6)压力/温度/光线传感器,等等.主要用于工业领域和嵌入式领域.不确定的选"N".
Intel Non-Transparent Bridge support
CONFIG_NTB
    PCI-E非透明桥是一个点对点PCI-E总线,用于连接两条对等的PCI-E总线.通常用于嵌入式智能I/O板卡.例如英特尔C5500/C3500系列嵌入式至强处理器.具体支持的设备号(PCI_DEVICE_ID)可以查看"drivers/ntb/ntb_hw.h"文件.不确定的选"N".
VME bridge support
CONFIG_VME_BUS
    VME(VersaModule Eurocard)总线是一种通用的计算机总线,主要用于工业控制/军用系统/航空航天/交通运输/医疗等嵌入式领域.而VME桥则是其他总线(例如PCI/PCI-E)到VME总线之间的转换芯片.不确定的选"N".
Pulse-Width Modulation (PWM) Support
CONFIG_PWM
    PWM(脉宽调制)是将模拟信号转换为脉波的一种技术.在计算机领域,这项技术常被用于控制风扇转速和背光显示器的亮度.很多微型处理器内部都包含有PWM控制器,此选项为所有PWM控制器驱动提供了一个统一的框架.主要用于嵌入式环境.不确定的选"N".
IndustryPack bus support
CONFIG_IPACK_BUS
    IndustryPack是工业控制领域常用的一种总线.不确定的选"N".
Reset Controller Support
CONFIG_RESET_CONTROLLER
    为GPIO总线或者芯片内置的重启控制器提供通用支持.仅用于嵌入式设备.不确定的选"N".

 

郑重声明:

本站所有活动均为互联网所得,如有侵权请联系本站删除处理

随便看看

文章排行

本栏推荐

栏目更新