Ubuntu成长历程-内核配置menuconfig详解(二)

来源:互联网 发布:矩阵a的 1次方 编辑:程序博客网 时间:2024/05/16 15:59

Ubuntu成长历程-内核配置menuconfig详解(二)

 

              Ubuntu成长历程-内核配置menuconfig详解(二)

                                                          ---Device Drivers

Ubuntu成长历程-内核配置menuconfig详解(二)

说实话,这部分涉及的内容实在太多了,就不采用上一篇颜色区分模块法了,直接用华丽的分割线。
每段的错位表示子选项。
—————————————————————————————————————————————————

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.sourceforge.net/和 http://buttersideup.com/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 

 ##笔记本系列驱动,可以无视的。。。

0 0
原创粉丝点击