2.6内核配置与注释大全【3】(作者:王旭东)

6  Bus options (PCI, PCMCIA, EISA, MCA, ISA)  --->
                [*] PCI support      PCI支持。如果使用了PCI的卡,当然必选
                      PCI access mode (Any)  --->
 PCI的存取方式,分三种,有透过BIOS或是直接存取跟任意,照预设值Any就好了
( ) BIOS                              
                                ( ) MMConfig                          
                                ( ) Direct                            
                                (X) Any                               
                [*] Vector-based interrupt indexing (MSI)   
好像是一种新的中断方法,取代原本使用IRQ来做索引的中断方法如果系统上装有MSI(Message Signaled
Interrupt)的patch的话系统似乎就会直接向內存送Memory Write的指令,取代了需要等IRQ讯号的方式(不知道
是干嘛的,先关掉 ...)           
                [*] Legacy /proc/pci interface                           可以选择
传统的/proc/pci介面,就是像我們一般用Linux,都可以/dev下看到目前的硬件狀况,在这个也可以不用(事实上依
help里的说明在2.5.53这个版就有被弄掉)改用一个叫lspci的工具可以达成一样的效果,看个人喜好 ...
                [*] PCI device name database                           可以选择
开启这个选项,kernel里会放入所有已知PCI device的资料库,而kernel会用这个來造出/proc/pci、/
proc/ioports ... 里的讯息                           
                [*] ISA support           老的ISA槽支持,没有这中插槽不用选                              
                [*]   EISA support       增强ISA总线,已经被PCI代替,所以不用选择了
                [*]     Vesa Local Bus priming                           不用选择了
                [*]     Generic PCI/EISA bridge (NEW)                    不用选择了
                [*]     EISA virtual root device (NEW)                     不用选择了
                [*]     EISA device name database (NEW)                  不用选择了
                [*] MCA support          IBM的东西,我就不选了哦
MCA(microChannel Archtecture)总线是IBM为解决快速微处理器和相对慢的ISA总线之间的差异而开发的一种
总线结构,并被用于IBM的PS/2系统,目前,MCA总线主要用于IBM PS/2 计算机和一些笔记本中
                [*] Legacy MCA API Support                              
                [*]   Support for the mca entry in /proc                
                <M> NatSemi SCx200 support                              
                    PCMCIA/CardBus support  --->             笔记本用的,台式机不用选了          
              <M> PCMCIA/CardBus support                            不用选了
              [*]   Enable PCMCIA debugging                           不用选了
              <M>   CardBus yenta-compatible bridge support              不用选了
              <M>   i82092 compatible bridge support                    不用选了
              <M>   i82365 compatible bridge support                    不用选了
              <M>   Databook TCIC host bridge support                   不用选了
                    PCI Hotplug Support  --->     支持PCI热插拔的,我们很少动,最好选上吧
   <*> Support for PCI Hotplug (EXPERIMENTAL)                      这个选一下,万一会用到,如插拔网卡
   <M>   Fake PCI Hotplug driver                                        伪设备,我不用选择了
   <M>   Compaq PCI Hotplug driver               PCI是intel和Compaq发布的总线,我只选择这个就够了,
   [*]     Save configuration into NVRAM on Compaq servers             不用选择了
   <M>   IBM PCI Hotplug driver                                          不用选择了
   <M>   ACPI PCI Hotplug driver                                         不用选择了
   [*]   CompactPCI Hotplug driver                                        不用选择了
   <M>     Ziatech ZT5550 CompactPCI Hotplug driver                       不用选择了
   <M>     Generic port I/O CompactPCI Hotplug driver                       不用选择了
   <M>   PCI Express Hotplug driver                                  最新的PCI-E,我还没有,不用选择了
   [*]     Use polling mechanism for hot-plug events (for testing purpose          不用选择了
   <M>   SHPC PCI Hotplug driver                                        不用选择了
   [*]     Use polling mechanism for hot-plug events (for testing purpose          不用选择了
7         Executable file formats  --->                             
             [*] Kernel support for ELF binaries                                      一定要选择
这个当然y,因为目前gcc2.7.0以上的都有支持ELF了,如果没有选择这一项,可能会使用相当多的程序因此无法执行。
 注意:编译模块成ELF和编译支持ELF二进制。不编译适当的支持’’gotcha’’是明智的,如果机器结构是Pentium
或486你将得到高效的代码,但一个386的核心将运行在32-bit compatible clone;一个Pentium核心将不。为大多机器制作一张紧急启动盘,最好在386下编译,而386并不能运行在Pentium下编译的核心。
另外一点要注意的,你不能同时把 a.out 和 ELF 支援编译成 modules,否则当你为了能够使用 insmod 而用
insmod 来载入 a.out/ELF modules 时会有 Catch/22 状况发生。如果你的系统主要是 ELF 而你偶尔会需要用到
a.out,你可以把 a.out 支援编译为modules,否则你最好把它直接放入 kernel 之中。如果你还没进入 ELF 的世纪,
在 compiler kernel 时可以直接把 ELF 支援去掉。
             <M> Kernel support for a.out and ECOFF binaries                        可以选择编成模块
a.out的执行文件是比较古老的可执行码,用在比较早期的UNIX系统上。Linux最初也是使用这种码来执行程序,一直
到ELF格式的可执行码出来后,有愈来俞多的程序码随着ELF格式的优点而变成了ELF的可执码。将来势必完全取代
a.out格式的可执行码。但目前由于沿有许多的程序还没有取代过来,所以只好选择Y,等将来有一天,全部的程序都变
成了ELF的天下时,那时再disable掉。
             <M> Kernel support for MISC binaries                                 可以选择编成模块
可以让你支援別的种类的binary执行档(如:Java、Python ... etc)丟到kernel或编成module都ok ...        
8          Device Drivers  --->
                Generic Driver Options  --->                            
                 <*> Hotplug firmware loading support                   热插拔固件加载,应该选择
                 [*] Driver Core verbose debug messages
                Memory Technology Devices (MTD)  --->   通常用在嵌入式系統,可以不用选择了
We use MTD (Memory Technology Devices) system to emulate flash memory as flash disk mounted into
Linux virtual file system. This allows accessing flash memory with standard I/O operations without any
extra effort. MTD system contains, “user” and driver”, two different modules. In driver modules, we use
CFI (Common Flash Interface) to probe the flash chip and then partition it, while we use MTD BLOCK to
emulate the flash partitions as block devices in user modules, and then mount them into Linux’s virtual
file system with JFFS2 (Journaling Flash File System version 2) type, which is a file system type
specifically designed for flash devices according to the features of flash devices.
        <M> Memory Technology Device (MTD) support                      
        [*]   Debugging                                                 
        (0)     Debugging verbosity (0 = quiet, 3 = noisy) (NEW)        
        <M>   MTD partitioning support                                 
        <M>   MTD concatenating support                                 
        <M> RedBoot partition table parsing                             
        <M> Command line partition table parsing       
        --- User Modules And Translation Layers                        
        <M> Direct char device access to MTD devices                   
        <M> Caching block device access to MTD devices 
        <M>   Readonly block device access to MTD devices              
        <M> FTL (Flash Translation Layer) support                      和PCMCIA有关,可以不用理睬
        <M> NFTL (NAND Flash Translation Layer) support              和PCMCIA有关,可以不用理睬
        [*]   Write support for NFTL                                    
        <M> INFTL (Inverse NAND Flash Translation Layer) support        和PCMCIA有关,可以不用理睬
            RAM/ROM/Flash chip drivers  --->                     用FLASH内存,可以不用选择
2000年, Axis Communications AB ( www.axis.com),发布了第一版的 JFFS文件系统,也是开源的(Open
Sourced)。这是一个完全为嵌入式Linux系统设计的文件系统, JFFS直接设计在FLASH设备之上,能判断获知可擦除
扇区的边界,以及FLASH的大小。
MTD可以看作是原始的FLASH芯片的“翻译层(translation layer)”,也正是由于MTD的存在,使得JFFS在Linux
中能快速发展。基于MTD这个硬件抽象层(HAL),JFFS几乎可以被mount在任何可随机访问的设备上(如: RAM,
FLASH(各种厂家的))-----只要MTD支持这些设备。
如果遇到新设备且驱动程序不存在,则找一个现存的驱动程序(做模板),然后修改其中的有关“read/write/erase”之
函数,之后就可以将JFFS mount到“新设备”上了(关键是你根本不需要知道JFFS是怎么工作的)。换句话说,将
JFFS文件系统与设备相关的MTD (Memory Technology Device)(包含了很多“raw FLASH chip”之Linux驱动程
序)相结合,你就得到了一个完整的解决方案----即由MTD向JFFS文件系统层提供一个抽象的设备层。
在这种方式下,JFFS不关心任何特定的存储(memory)技术。任何支持随机访问的设备(甚至象NAND FLASH这样的
伪随机设备)都可以与MTD接口,从而在之上实现JFFS。在设计方面,JFFS(以及JFFS2)在文件系统层中保证一
个“meta-data”(或文件系统的“格式”可靠性--- "formatting" reliability),这意味只要你的 write()系统调用返回
了,则可以保证数据一定是“记录”下来的 。换句话说,如果在write()命令的执行期间突然掉电了,而此时数据还没有
完全写入FLASH芯片,则芯片内记录的数据要么是older数据、要么是 newer数据,或者是两者的混合,但关键是你的
文件不会因此而“坏(corrupted)”了。
最初的JFFS是设计成 "append only"类型的文件系统,即“好”数据重来不会被“覆盖”( overwritten)(如:对一
个已打开的文件先做rewind()操作,然后 fwrite(),没用!),新的数据总是被添加在上次“文件系统”(而不是文
件)写操作的位置之后。与块数据同时被写入的“meta”数据将保证块数据在“逻辑”上已被写入文件的正确位置。当重启
动(或mount)之时,整个文件系统将被扫描,零散的数据块被重新排列,以使得在读取文件之时,最新被“标记(stamped)”数据块----即那些在逻辑上覆盖了“older数据块”----被读出。而“older数据”则被标记为“回收
(garbage collection)-----在适当的时候将被删除。这种“ append-only结构”的优点是“natural wear leveling
on the FLASH”(译注:减少FLASH的擦除次数)。有关JFFS的“掉电可靠性(Power Down Reliability)”,我已
经做一些扩展并提交了fixes(已包含在最新版本的 CVS之中),我观察的效果是500多次掉电实验大约10次失败。另
外,系统中还存在一些bug,使得JFFS会随机地丢掉一些文件(甚至是静态文件)!我将 NOT推荐在产品中使用该文
件系统(至少是当前版本)。 
JFFS2是JFFS技术的第二版,它基于JFFS的设计思想,但是由Redhat ( www.redhat.com)实现的。它采用了一种不同
的方法实现“可靠性”,所有的 "erase sector"被独立管理,且可以“乱序(out-of-order)”寻址,因而当创建新文
件或覆盖老文件之时,可以统一地申请一块“已擦除扇区(erase sector)”。为了保证“掉电可靠性”,在被确认已被
成功写入FLASH之前(通过CRC和版本标签),文件的任何部分不会被真正覆盖。之后,老的数据块被标记为“回
收”,则待到其所有的邻居(同一个扇区内的)也有相似的标记之时,该扇区被擦除。
好消息,JFFS2还支持压缩。文件数据在被写入时,通过zlib(可调整mod's)压缩;数据在被读出之时在线(on the
fly)解压缩;所以事实上你无法感知你的数据是否被压缩了。因而现在你可以采用ASCII文件格式(而不是binary文件)
来做日志(log)或配置(config)文件,当然二进制文件也会被压缩的。如果你的文件很“松散(sparse)”(如:其中
有很多空格),呵呵,不用担心空间会浪费了。但缺点是,如果你将已经压缩过的数据写入时,系统仍将花费大量时间试图
再压缩它。而此时你又无法动态关闭压缩功能。目前有些计划正在试图实现相关功能(即使是基于目录级别,对单个目录实
现压缩的开关选项或属性)。       
    <M> Detect flash chips by Common Flash Interface (CFI) probe       通过通用闪存接口检测闪存,可以不
用选择 
    <M> Detect non-CFI AMD/JEDEC-compatible flash chips                  可以不用选择
    [*] Flash chip driver advanced configuration options                  
          Flash cmd/query data swapping (NO)  --->                      
                           (X) NO                                    
                           ( ) BIG_ENDIAN_BYTE                        
                           ( ) LITTLE_ENDIAN_BYTE  
    [*]   Specific CFI Flash geometry selection                         
    [*]     Support  8-bit buswidth                                     
    [*]     Support 16-bit buswidth                                    
    [*]     Support 32-bit buswidth                                    
    [*]     Support 64-bit buswidth                                     
    [*]     Support 2-chip flash interleave  
            Mapping drivers for chip access  --->                       
        [*] Support non-linear mappings of flash chips                  
        <M> CFI Flash device in physical memory map                    
        (0x8000000) Physical start address of flash mapping (NEW)       
        (0x4000000) Physical length of flash mapping (NEW)              
        (2)   Bus width in octets (NEW)                                
        <M> CFI Flash device mapped on Photron PNC-2000                 
        <M> CFI Flash device mapped on AMD SC520 CDP                  
        <M> CFI Flash device mapped on AMD NetSc520                    
        <M> CFI Flash device mapped on Arcom SBC-GXx boards             
        <M> CFI Flash device mapped on Arcom ELAN-104NC
        <M> JEDEC Flash device mapped on Octagon 5066 SBC              
        <M> JEDEC Flash device mapped on Tempustech VMAX SBC301        
        <M> Flash device mapped with DOCCS on NatSemi SCx200            
        <M> BIOS flash chip on AMD76x southbridge                      
        <M> BIOS flash chip on Intel Hub Controller 2                   
        <M> BIOS flash chip on Intel SCB2 boards                        
        <M> CFI flash device on SnapGear/SecureEdge                   
        <M> CFI Flash device mapped on DIL/Net PC                       
        (0x80000) Size of DIL/Net PC flash boot partition (NEW)         
        <M> BIOS flash chip on Intel L440GX boards                      
        <M> PCI MTD driver  
        <M> Flash device mapped with DOCCS on NatSemi SCx200            
        <M> BIOS flash chip on AMD76x southbridge                       
        <M> BIOS flash chip on Intel Hub Controller 2                   
        <M> BIOS flash chip on Intel SCB2 boards                        
        <M> CFI flash device on SnapGear/SecureEdge                     
        <M> CFI Flash device mapped on DIL/Net PC                       
        (0x80000) Size of DIL/Net PC flash boot partition (NEW)         
        <M> BIOS flash chip on Intel L440GX boards   
            Self-contained MTD device drivers  --->                     
   <M> Ramix PMC551 PCI Mezzanine RAM card support                  
   [*]   PMC551 256M DRAM Bugfix                                       
   [*]   PMC551 Debugging                                               
   <M> Uncached system RAM                                              
   <M> Test driver using RAM                                            
   (4096) MTDRAM device size in KiB                                     
   (128) MTDRAM erase block size in KiB                                 
   <M> MTD emulation using block device                                 
   --- Disk-On-Chip Device Drivers                                      
   <M> M-Systems Disk-On-Chip 2000 and Millennium
   <M> M-Systems Disk-On-Chip Millennium-only alternative driver (see he
   <M> M-Systems Disk-On-Chip Millennium Plus                           
   [*] Advanced detection options for DiskOnChip                        
   (0x0000) Physical address of DiskOnChip (NEW)                        
   [*]   Probe high addresses                                           
   [*]   Probe for 0x55 0xAA BIOS Extension Signature 
            NAND Flash Device Drivers  --->    Flash设备,不用选择了
                      <M> NAND Device Support                          
                      [*]   Verify NAND page writes                  
                Parallel port support  --->                             没有打印机,可以不用选择
         <M> Parallel port support    如果要使用Parallel port的话,就打开吧!(打印机用那个)
         <M>   PC-style hardware     就是跟IBM PC相容的Parallel port,需要用Parallel port的话,就开着
         <M>     Multi-IO cards (parallel and serial)                              不用选择
这好像是指说在PCI上裝Parallel跟Serial Port扩充的支援,沒有的话就別理他                 
         [*]     Use FIFO/DMA if available (EXPERIMENTAL)              
         [*]     SuperIO chipset support (EXPERIMENTAL)                 
         <M>   Support for PCMCIA management for PC-style ports          不用选了
         [*] Support foreign hardware    如果要让Parallel port支援一些非标准的Parallel port装置就选吧
不用选择                           
         [*] IEEE 1284 transfer modes     不用选择
开启IEEE1284传输模式支援,如果要用ECP、EPP等模式就必需要开启如果要用Parallel port的話就選吧,可以增加
效能
                Plug and Play support  --->                              热插拔支持,当然要选择了
             [*] Plug and Play support                                   热插拔支持,当然要选择了
             [*]   PnP Debug Messages                                 热插拔硬件的调试,可以不用选择
             ---   Protocols                                            
             [*]   ISA Plug and Play support                           ISA的,好老的东西了,可以不用选择
             [*]   Plug and Play BIOS support (EXPERIMENTAL)           这个可以选择,热插拔的BIOS支持
             [*]     Plug and Play BIOS /proc interface                     这个可以选择
                Block devices  --->                                     
    <M> Normal floppy disk support                                       软驱支持,可以选择,编译成模块
    <M> PS/2 ESDI hard disk support                                      这种硬盘恐怕现在找不到了,不用选择
    <M> XT hard disk support                        石器时代的XT硬盘,IBM在很早时开发的东西,不用选择了
    <M> Parallel port IDE device support         一般硬盘都是并行ATA接口的40针连接器连接到总线的
    ---   Parallel IDE high-level drivers          LINUX是支持这种很新的并口的IDE设备的,如果你有的话就用上吧
    <M>   Parallel port IDE disks   并口连接的IDE设备,一般硬盘通过硬盘IDE控制器直接连接到总线,不用选择
    <M>   Parallel port ATAPI CD-ROMs      ATAPI用的是ATA接口,SCSI的命令集,后来只用于cdrom,不用选
    <M>   Parallel port ATAPI disks                                      同上,不用选了
    <M>   Parallel port ATAPI tapes                                     磁带机,不用选择
    <M>   Parallel port generic ATAPI devices                         同上,当然不用选择了
    ---   Parallel IDE protocol modules                                 不用选择
    <M>   ATEN EH-100 protocol                                     不用选择
    <M>   MicroSolutions backpack (Series 5) protocol                    不用选择
    <M>   MicroSolutions backpack (Series 6) protocol                    不用选择
    <M>   DataStor Commuter protocol                                     不用选择
    <M>   DataStor EP-2000 protocol                                      不用选择
    <M>   FIT TD-2000 protocol                                           不用选择
    <M>   FIT TD-3000 protocol                                           不用选择
    <M>   Shuttle EPAT/EPEZ protocol                                      不用选择
    [*]     Support c7/c8 chips (EXPERIMENTAL)                           不用选择
    <M>   Shuttle EPIA protocol                                          不用选择
    <M>   Freecom IQ ASIC-2 protocol                                    不用选择
    <M>   FreeCom power protocol                                         不用选择
    <M>   KingByte KBIC-951A/971A protocols                              不用选择
    <M>   KT PHd protocol                                                不用选择
    <M>   OnSpec 90c20 protocol                                          不用选择
    <M>   OnSpec 90c26 protocol                                          不用选择
    <M> Compaq SMART2 support          給Compaq Smart Array controllers用的driver,一般人不会用吧?不
选                     
    <M> Compaq Smart Array 5xxx support            同上                     
    [*]   SCSI tape drive support for Smart Array 5xxx                       SCSI接口的磁带机,不用选择了
    <M> Mylex DAC960/DAC1100 PCI RAID Controller support                      不用选择了
    <M> Micro Memory MM5415 Battery Backed RAM support (EXPERIMENTAL)      不用选择了
用來支援Mylex DAC960, AcceleRAID跟eXtremeRAID這些RAID控制器,沒用的話,就免了 ...
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值