Ubuntu成长历程-内核配置menuconfig详解(二)
---Device
Drivers
说实话,这部分涉及的内容实在太多了,就不采用上一篇颜色区分模块法了,直接用华丽的分割线。
每段的错位表示子选项。
—————————————————————————————————————————————————
Generic Driver Options
--->
{*} Connector - unified userspace
<-> kernelspace
linker
--->
##大意是用户与核心之间的一个连结用的东西,肯定需要*
() path to uevent
helper
##一个返回进程信息的机制,现在不用,因为造成系统负载太重
[*] Maintain a devtmpfs filesystem to mount
at /dev
##启动时建立一个临时filesystem完成加载设备等
[*]
Automount devtmpfs at /dev, after the kernel mounted the rootfs
##与上一步配合用
[ ] Select only drivers that don't need
compile-time external firmware
##只显示那些不需要内核对外部设备的固件作map支持的驱动程序
[*] Prevent firmware from being
built
##不编译固件.固件一般是随硬件的驱动程序提供的,仅在 更新固件的时候才需要重新编译.建议选上
-*- Userspace firmware
loading support
##提供某些内核之外的模块需要的用户空间固件加载支持,在内核树之外编译的模块可能需要它
[*]
Include in-kernel firmware blobs in kernel
binary
() External
firmware blobs to build into the kernel
binary
[ ] Driver Core verbose debug messages
##让驱动程序核心在系统日志中产生冗长的调试信息,仅 供调试
[ ] Managed device resources verbose debug
messages
——————————————————————————————————————————————
<M> Memory Technology Device (MTD)
support
--->
##内存技术驱动,U盘啊,嵌入式等等需要,这里M比较好
<M> Parallel port
support --->
##并行端口的支持,传统的设备是打印机
———————————————————————————————————————————————
-*- Plug and Play support
--->
##即插即用设备
[*] PNP debugging messages
##调试使用
-*- ISA Plug and Play support
##ISA设备即插即用支持
[*]
Plug and Play BIOS /proc interface ##也是调试用的一个选项
[*] Plug and Play BIOS support
(EXPERIMENTAL) ##主要是由内核检测主板上的设备并为其分配资源,有助于防止主板上的设备与其他总线设备冲突,不过现在一般不用
———————————————————————————————————————————————
[*] Block devices
--->
##和硬盘,光驱,软件,CD-ROM有关的设备,建议是细项全为模块.主要有以下这些:
<
> Normal floppy
disk support ##通用软驱支持,不需要
<*>
Loopback device support ##Loopback是指拿文件来模拟块设备,比如可以将一个iso9660镜像文件挂成一个文件系统
<
>
Cryptoloop
Support
##使用系统提供的加密API对Loopback设备加密,但不能用于日志型文件系统
<
> Network block
device support
##让你的电脑成为网络块设备的客户端
<*>
RAM block device support ##内存中的虚拟磁盘,大小固定(由下面的选项
决定,也可给内核传递"ramdisk_size=参数"来决定)
(16) Default
number of RAM disks ##默认RAM
disk的数量
(16384) Default RAM disk size (kbytes)
##仅在你真正知道它的含义时才允许修改
[
]
Support XIP filesystems on RAM block device ##???
<
> Packet writing
on CD/DVD media ##CD/DVD刻录支持刻录机支持。选为模块备用。
##其他的选择大多有型号显示,根据自己有无设备就可以选择,不清楚的可以编译成模块。
—————————————————————————————————————————————————
[*] Misc devices
--->
## 其他设备 ,基本可以不用选择
—————————————————————————————————————————————————
< > ATA/ATAPI/MFM/RLL support
(DEPRECATED) --->
##主板的芯片支持,一般用IDE接口的主板可以选上,如果纯scsi设备,不用选上。
—————————————————————————————————————————————————
SCSI device support
--->
##这个主要是为USB,和SCSI设备提供的,必须要,这个说法很不一,??????
—————————————————————————————————————————————————
<*> Serial ATA
and Parallel ATA drivers
--->
##串并行设备的驱动,找到你的设备类型,*,不知道的模块就好。
————————————————————————————————————————————————[*] Multiple
devices driver support (RAID and LVM)
--->
##多设备支持(RAID和LVM).RAID和LVM的功能是使多个物理设备组建成一个单独的逻辑磁盘
磁盘阵列和逻辑卷。里面多是RAID模式的选择,有需要的话自行选择。
<
> Multipath I/O
support
##多路IO支持是指在服务器和存储设备之间使用冗余的物理路径组件创建"逻辑路径",如果
这些组件发生故障并造成路径失败,多路径逻辑将为I/O使用备用路径以使应用程序仍然可以访问其数据
<*>
Device mapper support ##是一个底层的卷管理器,不用LVM就别选了
—————————————————————————————————————————————————[*]
Fusion MPT device support
---> ##Fusion MPT设备的支持
IEEE 1394 (FireWire) support
--->
##火线接口,没这个设备的不用选,现在真正用这个的人很少,可以不要
—————————————————————————————————————————————————<M>
I2O device support
---> ##智能输入输出设备
cat /proc/i2o 查看机器的智能设备
[*] Macintosh device drivers
---> ##似乎是苹果机使用的驱动
—————————————————————————————————————————————————-*- Network
device support
---> ##网络设备的支持,包括了LAN设备,无线设备,PPP设备的驱动,根据使用情况选择
<
> Intermediate
Functional Block support
##这是一个中间层驱动,可以用来灵活的配置资源共享,看不懂的可以不选
<
> Dummy net
driver support
##哑接口网络,使用SLIP或PPP传输协议(如ADSL用户)的需要它
<
> Bonding driver
support
##将多个以太网通道绑定为一个,也就是两块网卡具有相同的IP地址并且聚合成一个逻辑链路工作,可以用来实现负载均衡或硬件冗余
<
> MAC-VLAN
support (EXPERIMENTAL)
##基于MAC地址的VLAN,一种根据报文的源MAC地址来确定untagged报文所属VLAN的划分方法
<
> EQL (serial
line load balancing) support
##串行线路的负载均衡.如果有两个MODEM和两条电话线而且用SLIP或PPP协议,该选项可以让您同时使用这两个MODEM以达到双倍速度(在网络的另一端也要有同样的设备)
<
> Universal
TUN/TAP device driver support
##TUN/TAP可以为用户空间提供包的接收和发送服务,比如可以用来虚拟一张网卡或点对点通道
<
> Virtual
ethernet pair device
<
> General
Instruments Surfboard 1000
##SURFboard 1000插卡式Cable
Medem(ISA接口),这玩意大概早就绝种了
<
> ARCnet
support --->##一般人没有ARCnet类型的网卡ARCNET是1977年由Datapoint公司开发的一种安装广泛的局域网(LAN)技术,它采用令牌总线(token-bus)方案来管理LAN上工作站和其他设备之间的共享线路
......
##请根据自己的网络和设备选择
—————————————————————————————————————————————————
[*] ISDN support
--->
##ISDN接入设备,不选,现在很少有这种接入方式了
<M> Telephony
support --->
##有电话卡设备么?没有,所以不选
—————————————————————————————————————————————————
Input device support
---> ##输入设备,键盘,鼠标,手柄等等,看自己的使用选择
-*- Generic input layer (needed for keyboard,
mouse, ...) ##通用输入层,要使用键盘鼠标的就必选
-*-
Support for memoryless force-feedback devices
##游戏玩家使用的力反馈设备。
<*>
Polled input device skeleton
*** Userland interfaces ***
-*- Mouse
interface ##鼠标接口
<*>
Event interface ##事件接口能够利用/dev/input/eventX来存取输入设备的事件
-*-
Keyboards ---> ##键盘驱动
[*]
Mice --->
<*>
PS/2 mouse
[*]
Touchscreens ---> ##触摸屏驱动
##其他的,可以看说明,都是比较简单的。
—————————————————————————————————————————————————
Character devices
---> ##字符设备,和tty1-7等等有关
-*- Virtual terminal ##虚拟终端,就是F1-F7的控制台。
虚拟终端.除非是嵌入式系统,否则必选
[*]
Support for binding and unbinding console drivers
##虚拟终端是通过控制台驱动程序与物理终端相结合的,但在某些系统上可以使用多个控制台驱动程序(如framebuffer控制台驱动程序),该选项使得你可以选择其中之一
控制台的驱动。要换控制台驱动的话选这个
[*] /dev/kmem
virtual device support ##虚拟设备的支持
[*] Non-standard
serial port support ##非标准串口支持.这样的设备早就绝种了
<*> 8250/16550
and compatible serial support
##8250/16550兼容串口输入支持标准的设备。一般都选这个,除非你的硬件比较奇特,比如有总线形的老鼠,或者你的机器是只用来做远程控制的服务器,不需要直接在上面操作
[*]
Console on 8250/16550 and compatible serial port
##串口设备的控制台支持。控制台就是F1-F6的控制台,叫TTY1-TTY6,这里是再加上串口设备的控制台。一般用不到。
##其他的,大概都不需要了。
—————————————————————————————————————————————————
{*} I2C support
---> ##IC2总线,主要用来监视系统,以1根串行数据线(SDA)和1根串行时钟线(SCL)实现了双工的同步数据传输。建议按需选择。
[*] SPI support
---> ##串行外围接口(SPI)常用于微控制器(MCU)与外围设备(传感器,eeprom,flash,编码器,模数转换器)之间的通信,比如MMC和SD卡就通常需要使用SPI,用的少,不需要
PPS support
---> ##不需要
-*- GPIO Support
---> ##实际上也不怎么需要的
{M} Dallas's 1-wire support
---> ##Wire
是一种单总线标准,接口方式简单可靠,可以工作在比较差的工作环境。不怎么需要。
-*-
Power supply class support
--->
{*} Hardware Monitoring support
---> ##硬件监视器支持。就是监视硬件情况的东东,比如像CPU温度监视、风扇监视等。下面是一堆驱动,选自己的当前主板大多都有一个监控硬件健康的设备用于监视温度/电压/风扇转速等,请按照自己主板实际使用的芯片选择相应的子项.另外,该功能还需要I2C的支持。
-*- Generic Thermal sysfs driver
--->
[*] Watchdog Timer Support
---> ##看门狗设备,一般服务器上用,个人不需要的
Sonics Silicon Backplane
--->
Multifunction device drivers
--->
[*] Voltage and Current Regulator Support
--->
<M> Multimedia
support
---> ##多媒体卡,不同于显卡,一般是电视卡等等,有就进行配置
—————————————————————————————————————————————————
Graphics support
---> ##显卡,这个要自己设置了
[*] Backlight & LCD device
support ---> ##LCD显示器支持,一般无需选择逆光LCD设备支持。
-*- VGA text console ##文本控制台,必选
—————————————————————————————————————————————————
<M> Sound card
support ---> ##声卡支持
[*]
Preclaim OSS device numbers
<*>
Advanced Linux Sound Architecture
--->
##使用声卡者必选ALSA声卡驱动。一般都用这个。只能选为模块,无法编进内核。选了这个就不用选下面的Open
Sound System了。其他的除了在 ISA devices 或者PCI
devices里要确保选上自己的声卡外,都可用默认设置。
--- Advanced Linux Sound
Architecture
<M>
Sequencer support ##音序器支持(MIDI必需),除非你确定不需要,否则请选上
<M>
Sequencer dummy client ##除非你要同时连接到多个MIDI设备或应用程序,否则请不要选择
<M>
OSS Mixer API ##OSS混音器API仿真,许多程序目前仍然需要使用它,建议选择
<M>
OSS PCM (digital audio) API ##OSS数字录音(PCM)API模拟,许多程序目前仍然需要使用它,建议选择
[*]
OSS PCM (digital audio) API - Include plugin system ##建议不选
[*] OSS
Sequencer API ##OSS音序器支持,许多程序目前仍然需要使用它,建议选择
<M>
HR-timer backend support
[*]
Use HR-timer as default sequencer timer
[*] Dynamic
device file minor numbers ##仅供拥有多个声卡的用户选择
[*]
Support old ALSA ##API支持已被废弃的老版本ALSA
API
[*]
Verbose procfs contents ##仅供调试使用
[
] Verbose printk ##仅供调试使用
[
] Debug ##仅供调试使用
[*] Generic
sound devices ---> ##通用设备
————————————————————————————————————————————————[*] HID
Devices
---> ##人机口接口设备,比如USB鼠标等,全部选
[*] USB support
---> ##USB驱动,必须的。
{M} Ultra Wideband devices (EXPERIMENTAL)
--->
<*> MMC/SD/SDIO card
support --->
##有这些读卡器的设备,选上
<M> Sony MemoryStick card support
(EXPERIMENTAL)
--->
##SONY记忆棒,无视。
-*- LED Support
--->
[ ] Accessibility support
--->
<M> InfiniBand
support
--->
##InfiniBand架构是一种支持多并发链接的“转换线缆”技术,在这种技术中,每种链接都可
以达到2.5
Gbps的运行速度。这种架构在一个链接的时候速度是500 MB/秒,四个链接的时候速度是2 GB/秒,12个链接的时候速度可以达到6
GB
/秒。InfiniBand技术不是用于一般网络连接的,它的主要设计目的是针对服务器端的连接问题的。因此,InfiniBand技术将会被应用于服务
器与服务器(比如复制,分布式工作等),服务器和存储设备(比如SAN和直接存储附件)以及服务器和网络之间(比如LAN,
WANs和the Internet)的通信。
[*] EDAC (Error Detection And Correction)
reporting
--->
##错误检测和汇报系统。默认是模块,我编进内核。
错误检测与纠正(EDAC)的目标是发现并报告甚至纠正在计算机系统中发生的错误,这些错误是由CPU或芯片组报告的底层错误(内存错误/缓存错误
/PCI错误/温度过高,等等),建议选择.如果这些代码报告了一个错误,请到http://bluesmoke./和
http:///edacwiki查看更多信息
<*> Real Time Clock
--->
##RTC时钟频率。我奇怪这么重要的东西默认是编为模块的。我编进内核。
所有的PC机主板都包含一个电池动力的实时时钟芯片,以便在断电后仍然能够继续保持时间,RTC通常与CMOS集成在一起,因此BIOS可以从中读取当前时间
[*] DMA Engine support
--->
##DMA支持。我都搞进内核,希望它能给我的硬盘提点速呵呵。IDE硬盘必选。SATA和SCSI硬盘好像作用不是很明显。
从Intel Bensley双核服务器平台开始引入的数据移动加速(Data Movement
Acceleration)引擎,它将某些传输数据的操作从CPU转移到专用硬件,从而可以进行异步传输并减轻CPU负载.Intel已将此项技术变为开放的标准,将来应当会有更多的厂商支持
[*] Auxiliary Display support
--->
{M} Userspace I/O drivers
--->
TI VLYNQ
--->
[*] Staging drivers
--->
—————————————————————————————————————————————————
[*] X86 Platform Specific Device Drivers
##笔记本系列驱动,可以无视的。。。