资讯详情

史上最全linux内核配置--Device drivers

文章目录

      • Generic Driver Options --->
      • Bus Devices --->
      • < > Connector - unified userspace <-> kernelspace linker
      • Memory Technology Device (MTD) support --->
      • -Y- Device Tree and Open Firmware support --->
      • < > Parallel port support -----
      • [Y] Block devices -----
      • < > NVM Express block device
      • < > NVM Express over Fabrics FC host driver
      • NVMe Target support
      • Misc devices --->
      • ATA/ATAPI/MFM/RLL support (DEPRECATED) ----
      • SCSI device support --->
      • Serial ATA and Parallel ATA drivers (libata)--->
      • [N] Multiple devices driver support (RAID and LVM) ----
      • Generic Target Core Mod (TCM) and ConfigFS Infrastructure ----
      • [N] Fusion MPT device support ----
      • IEEE 1394 (FireWire) support --->
      • [Y] Network device support --->
      • [N] Open-Channel SSD target support ----
      • Input device support --->
      • Character devices --->
      • -Y- I2C support
      • [Y] SPI support --->
      • SPMI support ----
      • HSI support ----
      • -Y- PPS support --->
      • PTP clock support --->
      • -Y- Pin controllers --->
      • -Y- GPIO Support --->
      • Dallas's 1-wire support --->
      • [Y] Adaptive Voltage Scaling class support ----
      • [Y] Board level reset or power off --->
      • [Y] Power supply class support --->
      • Hardware Monitoring support --->
      • -Y- Generic Thermal sysfs driver --->
      • [Y] Watchdog Timer Support --->
      • Sonics Silicon Backplane --->
      • {Y} Broadcom specific AMBA --->
      • [Y] ChipCommon-attached serial flash support
      • [Y] BCMA Broadcom GBIT MAC COMMON core driver
      • [Y] BCMA GPIO driver
      • [N] BCMA debugging
      • Multifunction device drivers --->
      • -Y- Voltage and Current Regulator Support --->
      • Remote Controller support --->
      • Multimedia support --->
      • Graphics support --->
      • Sound card support --->
      • HID support --->
      • [Y] USB support --->
      • Ultra Wideband devices ----
      • MMC/SD/SDIO card support --->
      • Sony MemoryStick card support ----
      • [Y] LED Support --->
      • [N] Accessibility support ----
      • InfiniBand support ----
      • EDAC (Error Detection And Correction) reporting --->
      • [Y] Real Time Clock --->
      • [Y] DMA Engine support --->
      • DMABUF options --->
      • [N] Auxiliary Display support ----
      • Userspace I/O drivers--->
      • VFIO Non-Privileged userspace driver framework ----
      • [N] Virtualization drivers ----
      • Virtio drivers --->
      • Microsoft Hyper-V guest support ----
      • [N] Staging drivers ----
      • [N] Platform support for Goldfish virtual devices ----
      • [N] Platform support for Chrome hardware ----
      • [Y] Hardware Spinlock drivers --->
      • Clock Source drivers --->
      • -Y- Mailbox Hardware Support --->
      • [Y] IOMMU Hardware Support --->
      • Remoteproc drivers --->
      • Rpmsg drivers --->
      • SOC (System On Chip) specific Drivers --->
      • [N] Generic Dynamic Voltage and Frequency Scaling (DVFS) support ----
      • -Y- External Connector Class (extcon) support --->
      • -Y- Memory Controller drivers --->
      • Industrial I/O support --->
      • Non-Transparent Bridge support ----
      • [N] VME bridge support ----
      • -Y- Pulse-Width Modulation (PWM) Support --->
      • IRQ chip support ----
      • IndustryPack bus support ----
      • [Y] Reset Controller Support --->
      • FMC support ----
      • PHY Subsystem --->
      • [N] Generic powercap sysfs driver ----
      • MCB support ----
      • Performance monitor support --->
      • -Y- Reliability, Availability and Serviceability (RAS) features ----
      • Android --->
      • NVDIMM (Non-Volatile Memory Device) Support ----
      • DAX: direct access to differentiated memory ----
      • -Y- NVMEM Support ----
      • System Trace Module devices
      • Intel(R) Trace Hub controller
      • FPGA Configuration Framework ----
      • FSI support --->
      • Trusted Execution Environment support
          内核的配置过程依赖Makefile和arch/arm/Kconfig以及其他文件下的Kconfig文件,通过make menuconfig或者桌面环境下的xconfig/gconfig可以手动配置内核所支持的功能。           以下为Device drivers启动设置的配置。

Generic Driver Options —>

          参考:/drivers/base/Kconfig

  • [Y] Support for uevent helper           支持uevent(例如热插拔)事件。           早年的内核(切换到基于netlink机制之前),在发生uevent事件(通常是热插拔)时,需要调用用户空间程序(通常是"/sbin/hotplug"),以帮助完成uevent事件的处理.此选项就是用于开启此功能.由于目前的发行版都已不再需要此帮助程序,所以请选"N".此外,如果你使用了systemd或udev则必须选"N".           The uevent helper program is forked by the kernel for every uevent. Before the switch to the netlink-based uevent source, this was used to hook hotplug scripts into kernel device events. It usually pointed to a shell script at /sbin/hotplug. This should not be used today, because usual systems create many events at bootup or device discovery in a very short time frame. One forked process per event can create so many processes that it creates a high system load, or on smaller systems it is known to create out-of-memory situations during bootup.
    • ( ) path to uevent helper           To disable user space helper program execution at by default specify an empty string here. This setting can still be altered via /proc/sys/kernel/hotplug or via /sys/kernel/uevent_helper later at runtime.
  • [Y] Maintain a devtmpfs filesystem to mount at /dev           在系统/dev文件夹下挂载devtmpf文件系统。           devtmpfs是一种基于CONFIG_TMPFS的文件系统(与proc和sys有几分相似).在系统启动过程中,随着各个设备的初始化完成,内核将会自动在devtmpfs中创建相应的设备节点(使用默认的文件名和权限)并赋予正确的主次设备号.           This creates a tmpfs/ramfs filesystem instance early at bootup. In this filesystem, the kernel driver core maintains device nodes with their default names and permissions for all registered devices with an assigned major/minor number. Userspace can modify the filesystem content as needed, add symlinks, and apply needed permissions.           It provides a fully functional /dev directory, where usually udev runs on top, managing permissions and adding meaningful symlinks.           In very limited environments, it may provide a sufficient functional /dev without any further help. It also allows simple rescue systems, and reliably handles dynamic major/minor numbers.           Notice: if CONFIG_TMPFS isn’t enabled, the simpler ramfs file system will be used instead.
    • [Y] Automount devtmpfs at /dev, after the kernel mounted the rootfs           在内核挂载根文件系统的同时,立即自动将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"吧!           This will instruct the kernel to automatically mount the devtmpfs filesystem at /dev, directly after the kernel has mounted the root filesystem. The behavior can be overridden with the commandline parameter: devtmpfs.mount=0|1. This option does not affect initramfs based booting, here the devtmpfs filesystem always needs to be mounted manually after the rootfs is mounted.           With this option enabled, it allows to bring up a system in rescue mode with init=/bin/sh, even when the /dev directory on the rootfs is completely empty.
  • [Y] Select only drivers that don't need compile-time external firmware           只显示那些编译时不需要额外固件支持的驱动程序,除非你有某些怪异硬件,否则请选"Y"。           Select this option if you don’t have magic firmware for drivers that need it. If unsure, say Y.
  • [Y] Prevent firmware from being built           不编译固件(firmware)。固件一般是随硬件的驱动程序提供的,仅在更新固件的时候才需要重新编译。建议选"Y"。           Say yes to avoid building firmware. Firmware is usually shipped with the driver and only when updating the firmware should a rebuild be made. If unsure, say Y here.
  • {Y} Userspace firmware loading support           用户空间固件加载支持。如果内核自带的模块需要它,它将会被自动选中。但某些内核树之外的模块也可能需要它,这时候就需要你根据实际情况手动开启了.           This option is provided for the case where none of the in-tree modules require userspace firmware loading support, but a module built out-of-tree does.
    • [Y] Include in-kernel firmware blobs in kernel binary           内核源码树中包含了许多驱动程序需要的二进制固件(blob),推荐的方法是通过"make firmware_install"将"firmware"目录中所需的固件复制到系统的"/lib/firmware/“目录中,然后由用户空间帮助程序在需要的时候进行加载.开启此项后,将会把所需的"blob"直接编译进内核,这样就可以无需用户空间程序的帮助,而直接使用这些固件了(例如:当根文件系统依赖于此类固件,而你又不想使用initrd的时候).每个需要此类二进制固件的驱动程序,都会有一个"Include firmware for xxx device"的选项,如果此处选"Y”,那么这些选项都将被隐藏.建议选"N".           Various drivers in the kernel source tree may require firmware, which is generally available in your distribution’s linux-firmware package.           The linux-firmware package should install firmware into /lib/firmware/ on your system, so they can be loaded by userspace helpers on request.           Enabling this option will build each required firmware blob specified by EXTRA_FIRMWARE into the kernel directly, where request_firmware() will find them without having to call out to userspace. This may be useful if your root file system requires a device that uses such firmware and you do not wish to use an initrd.           This single option controls the inclusion of firmware for every driver that uses request_firmware(), which avoids a proliferation of ‘Include firmware for xxx device’ options.           Say ‘N’ and let firmware be loaded from userspace.
    • ( ) External firmware blobs to build into the kernel binary           指定要额外编译进内核的二进制固件(blob).此选项的值是一个空格分隔的固件文件名字符串,这些文件必须位于CONFIG_EXTRA_FIRMWARE_DIR目录中(其默认值是内核源码树下的"firmware"目录).           This option allows firmware to be built into the kernel for the case where the user either cannot or doesn’t want to provide it from userspace at runtime (for example, when the firmware in question is required for accessing the boot device, and the user doesn’t want to use an initrd).           This option is a string and takes the (space-separated) names of the firmware files – the same names that appear in MODULE_FIRMWARE() and request_firmware() in the source. These files should exist under the directory specified by the EXTRA_FIRMWARE_DIR option, which is by default the firmware subdirectory of the kernel source tree.           For example, you might set CONFIG_EXTRA_FIRMWARE=“usb8388.bin”, copy the usb8388.bin file into the firmware directory, and build the kernel. Then any request_firmware(“usb8388.bin”) will be satisfied internally without needing to call out to userspace.           WARNING: If you include additional firmware files into your binary kernel image that are not available under the terms of the GPL, then it may be a violation of the GPL to distribute the resulting image since it combines both GPL and non-GPL work. You should consult a lawyer of your own before distributing such an image.
  • [N] Fallback user-helper invocation for firmware loading           在内核自己直接加载固件失败后,作为补救措施,调用用户空间帮助程序(通常是udev)再次尝试加载.通常这个动作是不必要的,因此应该选"N",如果你使用了udev或systemd,则必须选"N".仅在某些特殊的固件位于非标准位置时,才需要选"Y".           This option enables / disables the invocation of user-helper (e.g. udev) for loading firmware files as a fallback after the direct file loading in kernel fails. The user-mode helper is no longer required unless you have a special firmware file that resides in a non-standard path. Moreover, the udev support has been deprecated upstream.           If you are unsure about this, say N here.
  • [Y] Allow device coredump           为驱动程序开启core dump机制,仅供调试.           核心转储(core dump),是操作系统在进程收到某些信号而终止运行时,将此时进程地址空间的内容以及有关进程状态的其他信息写出的一个磁盘文件,这种信息往往用于调试,可以用gdb来调试。           This option controls if the device coredump mechanism is available or not; if disabled, the mechanism will be omitted even if drivers that can use it are enabled.           Say ‘N’ for more sensitive systems or systems that don’t want to ever access the information to not have the code, nor keep any data.           If unsure, say Y.
  • [N] Driver Core verbose debug messages           让驱动程序核心在系统日志中产生冗长的调试信息,仅供调试           Say Y here if you want the Driver core to produce a bunch of debug messages to the system log. Select this if you are having a problem with the driver core and want to see more of what is going on.           If you are unsure about this, say N here.
  • [N] Managed device resources verbose debug messages           为内核添加一个"devres.log"引导参数.当被设为非零值时,将会打印出设备资源管理驱动(devres)的调试信息.仅供调试使用.推荐设置为N。           This option enables kernel parameter devres.log. If set to non-zero, devres debug messages are printed. Select this if you are having a problem with devres or want to debug resource management for a managed device. devres.log can be switched on and off from sysfs node.           If you are unsure about this, Say N here.
  • [N] Test driver remove calls during probe (UNSTABLE)           Say Y here if you want the Driver core to test driver remove functions by calling probe, remove, probe. This tests the remove path without having to unbind the driver or unload the driver module. This option is expected to find errors and may render your system unusable. You should say N here unless you are explicitly looking to test this functionality.
  • <N> Build kernel module to test asynchronous driver probing           Enabling this option produces a kernel module that allows testing asynchronous driver probing by the device core. The module name will be test_async_driver_probe.ko           If unsure say N.
  • [N] Enable verbose DMA_FENCE_TRACE messages           Enable the DMA_FENCE_TRACE printks. This will add extra spam to the console log, but will make it easier to diagnose lockup related problems for dma-buffers shared across multiple devices.
  • [Y] DMA Contiguous Memory Allocator           This enables the Contiguous Memory Allocator which allows drivers to allocate big physically-contiguous blocks of memory for use with hardware components that do not support I/O map nor scatter-gather.           You can disable CMA by specifying “cma=0” on the kernel’s command line.           For more information see <include/linux/dma-contiguous.h>. If unsure, say “n”.
    • ***Default contiguous memory area size:***
    • (24) Size in Mega Bytes           default 0 if X86           default 16           Defines the size (in MiB) of the default memory area for Contiguous Memory Allocator. If the size of 0 is selected, CMA is disabled by default, but it can be enabled by passing cma=size[MG] to the kernel.
    • (C) Selected region size           (X) Use mega bytes value only           (N) Use percentage value only           (N) Use lower value (minimum)           (N) Use higher value (maximum)
    • (8) Maximum PAGE_SIZE order of alignment for contiguous buffers

Bus Devices —>

          参考:/drivers/bus/Kconfig           总线设备.此类设备仅出现在ARM平台。下列是勾选的:

  • <Y> OMAP INTERCONNECT DRIVER           支持TI的omap开放式多媒体应用平台
  • <Y> OMAP OCP2SCP DRIVER           ocp/scp协议
  • <Y> Simple Power-Managed Bus Driver           电源管理总线

< > Connector - unified userspace <-> kernelspace linker

          连接器是一种新的用户态与内核态的通信方式,它使用起来非常方便。本质上,连接器是一种netlink,它的netlink协议号为 NETLINK_CONNECTOR,与一般的 netlink 相比,它提供了更容易的使用接口,使用起来更方便。           The Connector driver makes it easy to connect various agents using a netlink based network. One must register a callback and an identifier. When the driver receives a special netlink message with the appropriate identifier, the appropriate callback will be called.

Memory Technology Device (MTD) support —>

          详细参考/drivers/mtd/Kconfig。           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"。           Memory Technology Devices are flash, RAM and similar chips, often used for solid state file systems on embedded devices. This option will provide the generic support for MTD drivers to register themselves with the kernel and for potential users of MTD devices to enumerate the devices which are present and obtain a handle on them. It will also allow you to select individual drivers for particular hardware and users of MTD devices. If unsure, say N.

-Y- Device Tree and Open Firmware support —>

          参考:/drivers/mtd/Kconfig。           Device Tree基础架构与Open Firmware支持,主要用于嵌入式环境。不确定的选"N"。内核中若有其它选项依赖于它,则会自动选中此项。           This option enables the device tree infrastructure. It is automatically selected by platforms that need it or can be enabled manually for unit tests, overlays or compile-coverage.

< > Parallel port support -----

          参考:/drivers/parport/Kconfig。           25针并口(LPT接口)支持,古董级的打印机或扫描仪可能使用这种接口。目前已被淘汰。           If you want to use devices connected to your machine’s parallel port (the connector at the computer with 25 holes), e.g. printer, ZIP drive, PLIP link (Parallel Line Internet Protocol is mainly used to create a mini network by connecting the parallel ports of two local machines) etc., then you need to say Y here; please read <file:Documentation/parport.txt> and <file:drivers/parport/BUGS-parport>.           For extensive information about drivers for many devices attaching to the parallel port see http://www.torque.net/linux-pp.html on the WWW. It is possible to share a single parallel port among several devices and it is safe to compile all the corresponding drivers into the kernel. To compile parallel port support as a module, choose M here: the module will be called parport. If you have more than one parallel port and want to specify which port and IRQ to be used by this driver at module load time, take a look at <file:Documentation/parport.txt>.           If unsure, say Y.

[Y] Block devices -----

          块设备,必选。           参考:/drivers/block/Kconfig。           Say Y here to get to see options for various different block device drivers. This option alone does not add any kernel code.           If you say N, all options in this submenu will be skipped and disabled; only do this if you know what you are doing.           下列是勾选的:

  • <Y> Loopback device support           在进行某些测试的时候,往往需要新建一些磁盘分区或者设备(ISO9660镜像文件或者CD-ROM)等,此时对硬盘进行重新划分往往不太方便。在这种情况下,可以通过loop伪设备来实现循环挂载,从而达到目的。在使用之前,循环设备必须与现存文件系统上的文件相关联。这种关联将提供给用户一个应用程序接口,接口将允许文件视为块特殊文件(参见设备文件系统)使用。因此,如果文件中包含一个完整的文件系统,那么这个文件就能如同磁盘设备一般被挂载。这种设备文件经常被用于光盘或是磁盘镜像。通过循环挂载来挂载包含文件系统的文件,便使处在这个文件系统中的文件得以被访问。这些文件将出现在挂载点目录。           在Linux中,设备名按照相应设备驱动程序的符号表项进行命名。这些设备被叫做“loop”设备,设备节点通常命名为/dev/loop0、/dev/loop1之类。           默认情况下Linux支持的loop设备是8个。如果需要超过8个的loop设备,那么可能会遇到类似的错误“no such device”或“could not find any free loop device”,这是因为超过了可用loop设置设备的最大限制。           Saying Y here will allow you to use a regular file as a block device; you can then create a file system on that block device and mount it just as you would mount other block devices such as hard drive partitions, CD-ROM drives or floppy drives. The loop devices are block special device files with major number 7 and typically called /dev/loop0, /dev/loop1 etc.           This is useful if you want to check an ISO 9660 file system before burning the CD, or if you want to use floppy images without first writing them to floppy. Furthermore, some Linux distributions avoid the need for a dedicated Linux partition by keeping their complete root file system inside a DOS FAT file using this loop device driver.           To use the loop device, you need the losetup utility, found in the util-linux package, see https://www.kernel.org/pub/linux/utils/util-linux/.           The loop device driver can also be used to “hide” a file system in a disk partition, floppy, or regular file, either using encryption (scrambling the data) or steganography (hiding the data in the low bits of, say, a sound file). This is also safe if the file resides on a remote file server.           There are several ways of encrypting disks. Some of these require kernel patches. The vanilla kernel offers the cryptoloop option and a Device Mapper target (which is superior, as it supports all file systems). If you want to use the cryptoloop, say Y to both LOOP and CRYPTOLOOP, and make sure you have a recent (version 2.12 or later) version of util-linux. Additionally, be aware that the cryptoloop is not safe for storing journaled filesystems.           Note that this loop device has nothing to do with the loopback device used for network connections from the machine to itself. To compile this driver as a module, choose M here: the module will be called loop.           Most users will answer N here.
    • (8) Number of loop devices to pre-create at init time           设置loop分区启动时默认分配的个数。
  • <Y> RAM block device support           在内存中开辟一个和普通存储同样支持读写的块设备,一般用于启动时存放一个最小文件系统。详细参考<file:Documentation/blockdev/ramdisk.txt>,一般选择N。           Saying Y here will allow you to use a portion of your RAM memory as a block device, so that you can make file systems on it, read and write to it and do all the other things that you can do with normal block devices (such as hard drives). It is usually used to load and store a copy of a minimal root file system off of a floppy into RAM during the initial install of Linux.           Note that the kernel command line option “ramdisk=XX” is now obsolete. For details, read <file:Documentation/blockdev/ramdisk.txt>.           To compile this driver as a module, choose M here: the module will be called brd. An alias “rd” has been defined for historical reasons.           Most normal users won’t need the RAM disk functionality, and can thus say N here.
    • (16) Default number of RAM disks           设置默认RAM disks的个数。
    • (65536) Default RAM disk size (kbytes)           设置默认大小。
  • <Y> Virtio block driver           Virtio虚拟块设备驱动,仅可用在基于lguest或QEMU的半虚拟化客户机中(一般是KVM或XEN)。           This is the virtual block driver for virtio. It can be used with QEMU based VMMs (like KVM or Xen). Say Y or M.

< > NVM Express block device

          NVM Express是专门针对PCI-E接口高性能固态硬盘的标准规范。有了这一标准,操作系统厂商只需要编写一种驱动,就可以支持不同厂商的不同PCI-E SSD设备,以解决过去PCI-E SSD产品形态与规格五花八门,缺乏通用性和互用性的问题。如果你有一块较新的PCIE固态硬盘,那么很大可能就是NVMe接口。           The NVM Express driver is for solid state drives directly connected to the PCI or PCI Express bus. If you know you don’t have one of these, it is safe to answer N. To compile this driver as a module, choose M here: the module will be called nvme.

< > NVM Express over Fabrics FC host driver

          This provides support for the NVMe over Fabrics protocol using the FC transport.This allows you to use remote block devices exported using the NVMe protocol set.           To configure a NVMe over Fabrics controller use the nvme-cli tool from https://github.com/linux-nvme/nvme-cli. If unsure, say N.

NVMe Target support

          This enabled target side support for the NVMe protocol, that is it allows the Linux kernel to implement NVMe subsystems and controllers and export Linux block devices as NVMe namespaces. You need to select at least one of the transports below to make this functionality useful.           To configure the NVMe target you probably want to use the nvmetcli tool from http://git.infradead.org/users/hch/nvmetcli.git.

Misc devices —>

          其他设备。以下是勾选的:

ATA/ATAPI/MFM/RLL support (DEPRECATED) ----

          已被废弃的IDE硬盘和ATAPI光驱等接口的驱动(已被CONFIG_ATA取代)。

SCSI device support —>

          如果有SCSI(小型计算机系统接口)设备,例如硬盘、软驱、光驱、打印机以及扫描仪等,就需要勾选。           参考:/drivers/scsi/support。           If you want to use a SCSI hard disk, SCSI tape drive, SCSI CD-ROM or any other SCSI device under Linux, say Y and make sure that you know the name of your SCSI host adapter (the card inside your computer that “speaks” the SCSI protocol, also called SCSI controller), because you will be asked for it.           You also need to say Y here if you have a device which speaks the SCSI protocol. Examples of this include the parallel port version of the IOMEGA ZIP drive, USB storage devices, Fibre Channel, and FireWire storage.           To compile this driver as a module, choose M here and read <file:Documentation/scsi/scsi.txt>. The module will be called scsi_mod.           However, do not compile this as a module if your root file system (the one containing the directory /) is located on a SCSI device.           下列为勾选的子项:

  • {M} SCSI device support           SCSI协议支持。有任何SCSI/SAS/SATA/USB/Fibre Channel/FireWire设备之一就必须选上,选"Y"。注意USB设备驱动也需要此项支持!
  • [Y] legacy /proc/scsi/ support           过时的/proc/scsi/接口。某些老旧的刻录程序可能需要它,建议选"N"。
  • <M> SCSI disk support           使用SCSI/SAS/SATA/PATA/USB/Fibre Channel存储设备的必选,选"Y"。
  • <M> SCSI CDROM support           通过SCSI/FireWire/USB/SATA/IDE接口连接的DVD/CD驱动器(基本上涵盖了所有常见的接口)。
  • [Y] SCSI low-level drivers --->           底层SCSI驱动程序。

Serial ATA and Parallel ATA drivers (libata)—>

          SATA与PATA(IDE)设备。桌面级PC以及低端服务器的硬盘基本都是此种接口。           参考:/drivers/ata/Kconfig。           If you want to use an ATA hard disk, ATA tape drive, ATA CD-ROM or any other ATA device under Linux, say Y and make sure that you know the name of your ATA host adapter (the card inside your computer that “speaks” the ATA protocol, also called ATA controller), because you will be asked for it.           NOTE: ATA enables basic SCSI support; however, ‘SCSI disk support’, ‘SCSI tape support’, or ‘SCSI CDROM support’ may also be needed, depending on your hardware configuration.

[N] Multiple devices driver support (RAID and LVM) ----

          多设备支持(RAID和LVM)。RAID和LVM的功能是使用多个物理设备组建成一个单独的逻辑设备。           参考:drivers/md/Kconfig。           Support multiple physical spindles through a single logical device. Required for RAID and logical volume management.

Generic Target Core Mod (TCM) and ConfigFS Infrastructure ----

          通用TCM存储引擎与ConfigFS虚拟文件系统(/sys/kernel/config)支持,看不懂就说明你不需要。           参考:drivers/target/Kconfig。           Say Y or M here to enable the TCM Storage Engine and ConfigFS enabled control path for target_core_mod. This includes built-in TCM RAMDISK subsystem logic for virtual LUN 0 access.

[N] Fusion MPT device support ----

          Fusion MPT(Message Passing Technology) 是 LSI Logic 公司为了更容易实现SCSI和光纤通道而提出的技术,支持Ultra320 SCSI/光纤通道/SAS。           参考:drivers/message/fusion/Kconfig。           Say Y here to get to see options for Fusion Message Passing Technology (MPT) drivers.This option alone does not add any kernel code.           If you say N, all options in this submenu will be skipped and disabled.

IEEE 1394 (FireWire) support —>

          火线(IEEE 1394)是苹果公司开发的串行接口,类似于USB,但PC上并不常见,算得上是个没有未来的技术了。           参考:drivers/firewire/Kconfig。

[Y] Network device support —>

          网络设备。除非你不想连接任何网络,否则必选"Y"。           参考:drivers/net/Kconfig。           You can say N here if you don’t intend to connect your Linux box to any other computer at all.           You’ll have to say Y if your computer contains a network card that you want to use under Linux. If you are going to run SLIP or PPP over telephone line or null modem cable you need say Y here. Connecting two machines with parallel ports using PLIP needs this, as well as AX.25/KISS for sending Internet traffic over amateur radio links.           See also “The Linux Network Administrator’s Guide” by Olaf Kirch and Terry Dawson. Available at http://www.tldp.org/guides.html. If unsure, say Y.           下列为勾选的:

  • [Y] Network core driver support           如果你不想使用任何高级网络功能(拨号网络/EQL/VLAN/bridging/bonding/team/光纤通道/虚拟网络等),仅仅是一般性质的联网(普通低端服务器,通过路由器或者局域网上网的常规个人电脑或办公电脑),可以选"N"。           You can say N here if you do not intend to use any of the networking core drivers (i.e. VLAN, bridging, bonding, etc.)
    • <M> Dummy net driver support           Dummy网络接口本质上是一个可以配置IP地址的bit-bucket(位桶,所有发送到此设备的流量都将被湮灭),以使应用程序看上去正在和一个常规的网络接口进行通信。使用SLIP(小猫拨号,目前应该已经绝迹了)或PPP(常用于PPPoE ADSL)的用户需要它。           This is essentially a bit-bucket device (i.e. traffic you send to this device is consigned into oblivion) with a configurable IP address. It is most commonly used in order to make your currently inactive SLIP address seem like a real address for local programs.           If you use SLIP or PPP, you might want to say Y here. It won’t enlarge your kernel. What a deal. Read about it in the Network Administrator’s Guide, available from http://www.tldp.org/docs.html#guide.           To compile this driver as a module, choose M here: the module will be called dummy.
    • <M> MAC-VLAN support           MAC-VLAN是通过MAC地址来划分VLAN的方式,在Linux则用来给网卡添加多个MAC地址。你可以使用"ip link add link [ address MAC ] [ NAME ] type macvlan"命令创建一个虚拟的"macvlan"设备(系统会自动打开网卡的混杂模式),然后就可以在同一个物理网卡上虚拟出多个以太网口。Docker依赖于它.           This allows one to create virtual interfaces that map packets to or from specific MAC addresses to a particular interface.           Macvlan devices can be added using the “ip” command from the iproute2 package starting with the iproute2-2.6.23 release:“ip link add link [ address MAC ] [ NAME ] type macvlan”           To compile this driver as a module, choose M here: the module will be called macvlan.
    • <M> Virtual eXtensible Local Area Network (VXLAN)           “vxlan”虚拟接口可以在第三层网络上创建第二层网络(跨多个物理IP子网的虚拟二层子网),是一种在UDP中封装MAC的简单机制,主要用于虚拟化环境下的隧道虚拟网络(tunnel virtual network)。           This allows one to create vxlan virtual interfaces that provide Layer 2 Networks over Layer 3 Networks. VXLAN is often used to tunnel virtual network infrastructure in virtualized environments.           For more information see: http://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-02           To compile this driver as a module, choose M here: the module will be called vxlan.
    • <M> Virtual ethernet pair device           该驱动提供了一个本地以太网隧道(设备会被成对的创建),Docker依赖于它。           This device is a local ethernet tunnel. Devices are created in pairs. When one end receives the packet it appears on its pair and vice versa.
    • <Y> Virtio network driver           virtio虚拟网卡驱动,仅可用在基于lguest或QEMU的半虚拟化客户机中(一般是KVM或XEN)。           This is the virtual network driver for virtio. It can be used with QEMU based VMMs (like KVM or Xen). Say Y or M.
  • [Y] Ethernet driver support --->           最常见的以太网卡驱动,针对各厂商。参考:drivers/net/ethernet/Kconfig。           This section contains all the Ethernet device drivers
  • -Y- MDIO bus device drivers ----           MDIO devices and driver infrastructure code.
  • -Y- PHY Device support and infrastructure --->           数据链路层芯片简称为MAC控制器,物理层芯片简称之为PHY,通常的网卡把MAC和PHY的功能做到了一颗芯片中,但也有一些仅含PHY的“软网卡”。此选项就是对这些“软网卡”的支持。请根据实际情况选择其下的子项,参考:drivers/net/phy/Kconfig。           Ethernet controllers are usually attached to PHY devices. This option provides infrastructure for managing PHY devices.
  • <M> USB Network Adapters --->           USB网络适配器,参考:drivers/net/usb/Kconfig。
  • [Y] Wireless LAN --->           无线网卡,参考:drivers/net/wireless/Kconfig。

[N] Open-Channel SSD target support ----

          Open-channel SSD 是一种遵守NVMe规范且不使用FTL技术的固态硬盘。目前此种SSD由于过于前卫还非常罕见,但是非常有前途。           参考:drivers/lightnvm/Kconfig。

Input device support —>

          输入设备。           参考:drivers/input/Kconfig。           下列为勾选项:

  • -Y- Generic input layer (needed for keyboard, mouse, ...)           通用输入层。只要你有任何输入设备(键盘、鼠标、手写板、触摸板、游戏杆、方向盘,游戏键盘…),就必须选"Y"。           Say Y here if you have any input device (mouse, keyboard, tablet, joystick, steering wheel …) connected to your system and want it to be available to applications. This includes standard PS/2 keyboard and mouse.           Say N here if you have a headless (no monitor, no keyboard) system.           More information is available: <file:Documentation/input/input.txt>           If unsure, say Y.           To compile this driver as a module, choose M here: the module will be called input.
  • <Y> Export input device LEDs in sysfs           将输入设备上的LED指示灯当作标准的LED类设备导出到sysfs中。不确定的选"Y"。
  • {M} Polled input device skeleton           使用轮询机制的输入设备支持,此项主要是为源码树之外的驱动准备的,内核自带的驱动若有需要会自动选中,不确定的选"N"。
  • *{M} Matrix keymap support library           使用"matrix keymap"的输入设备支持,此项主要是为源码树之外的驱动准备的,内核自带的驱动若有需要会自动选中,不确定的选"N"。
  • <Y> Joystick interface           游戏杆(joystick)和游戏键盘(gamepad)支持(/dev/input/jsX)。
  • <Y> Event interface           将所有的输入设备事件都通过"/dev/input/eventX"以一种通用的方式进行处理.Xorg需要使用此接口,不确定的选"Y"。           Say Y here if you want your input device events be accessible under char device 13:64+ - /dev/input/eventX in a generic way. To compile this driver as a module, choose M here: the module will be called evdev.
  • [Y] Keyboards --->           键盘。
  • [Y] Mice --->           鼠标。
  • [Y] Touchscreens --->           触摸屏。
  • [Y] Miscellaneous devices --->           其他杂项输入,支持GPIO、SPI、I2C,参考:drivers/input/misc/Kconfig。           Say Y here, and a list of miscellaneous input drivers will be displayed. Everything that didn’t fit into the other categories is here. This option doesn’t affect the kernel.

Character devices —>

          字符设备。           下列为勾选项:

  • [Y] Enable TTY           字符终端和串口都需要TTY的支持,选"Y"。参考/drivers/tty/Kconfig。           Allows you to remove TTY support which can save space, and blocks features that require TTY from inclusion in the kernel. TTY is required for any text terminals or serial port communication. Most users should leave this enabled.
    • [Y] Virtual terminal           虚拟终端可以在一个物理终端设备上虚拟出多个"显示器+键盘"的组合(可以使用"Alt+Fn"组合键在多个虚拟终端间切换),除非是嵌入式系统,否则必选"Y"。           If you say Y here, you will get support for terminal devices with display and keyboard devices. These are called “virtual” because you can run several virtual terminals (also called virtual consoles) on one physical terminal. This is rather useful, for example one virtual terminal can collect system messages and warnings, another one can be used for a text-mode user session, and a third could run an X session, all in parallel. Switching between virtual terminals is done with certain key combinations, usually Alt-.           The setterm command (“man setterm”) can be used to change the properties (such as colors or beeping) of a virtual terminal. The man page console_codes(4) (“man console_codes”) contains the special character sequences that can be used to change those properties directly. The fonts used on virtual terminals can be changed with the setfont (“man setfont”) command and the key bindings are defined with the loadkeys (“man loadkeys”) command.           You need at least one virtual terminal device in order to make use of your keyboard and monitor. Therefore, only people configuring an embedded system would want to say N here in order to save some memory; the only way to log into such a system is then via a serial or network connection.           If unsure, say Y, or else you won’t be able to do much with your new shiny Linux system 😃
      • [Y] Enable character translations in console           在虚拟控制台(console)上支持字体映射和Unicode转换。
      • [Y] Support for console on virtual terminal           内核默认将第一个虚拟终端(/dev/tty0)用作系统控制台(可以通过"console=tty3"这样的参数去修改),将诸如模块错误/内核错误/启动信息之类的警告信息发送到这里,而且以单用户模式登录时也需要使用这个控制台。若选"N"则会导致黑屏,除非是嵌入式系统,否则必选"Y"。
      • -Y- Support for binding and unbinding console drivers           虚拟终端是通过控制台驱动程序与物理

标签: 30显卡因电容差别产生黑屏崩溃27000mfd电容tv电源专用固态电容145mfd电容流量传感器vt系列电容170mfd

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台