mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
[Translated] 16 The Linux Kernel: Configuring the Kernel Part 12
This commit is contained in:
parent
ed0da4fbfd
commit
c8ebfc9396
@ -1,127 +0,0 @@
|
|||||||
translating---------geekpi
|
|
||||||
|
|
||||||
16 The Linux Kernel: Configuring the Kernel Part 12
|
|
||||||
================================================================================
|
|
||||||
![](http://www.linux.org/attachments/slide-jpg.539/)
|
|
||||||
|
|
||||||
Welcome and enjoy the next part of the Linux kernel configuration series. The kernel supports a large variety of hardware, protocols, and features as you have already guessed.
|
|
||||||
|
|
||||||
The next set of features we will discuss is "EEPROM support". Electrically Erasable Programmable Read-Only Memory is a form of memory that is not erased when the power is lost or purposely shut off.
|
|
||||||
|
|
||||||
The kernel supports EEPROM chips on I2C cards including FRAMs, ROMs, and SRAMs (I2C EEPROMs / RAMs / ROMs from most vendors). FRAM (also called FeRAM is a Random Access Memory chip that uses ferroelectric principles instead of dieletric materials to store data. A ROM chip is a Read Only Memory chip. SRAM is Static instead of Dynamic like DRAM. DRAM must be refreshed to retain data while SRAM does not require refreshing. However, both lose the stored data when the power is turned off or lost.
|
|
||||||
|
|
||||||
The kernel also supports EEPROMs for SPI buses (SPI EEPROMs from most vendors). The Serial Peripheral Interface Bus (SPI) is a full duplex bus system that lacks an error-checking protocol.
|
|
||||||
|
|
||||||
The older I2C EEPROM chips require a driver other than the I2C driver above (Old I2C EEPROM reader). The I2C bus is intended for embedded systems and cellphones due to the low-speed bus protocol that is used.
|
|
||||||
|
|
||||||
This feature is needed to prevent the Maxim programmable EEPROM from going into read-only mode (Maxim MAX6874/5 power supply supervisor). Specifically, this driver provides better power management to the chip.
|
|
||||||
|
|
||||||
There is also a driver for "EEPROM 93CX6 support", "Microwire EEPROM 93XX46 support", and then "ENE CB710/720 Flash memory card reader support".
|
|
||||||
|
|
||||||
Like with many other kernel features, there are debugging features for EEPROM devices (Enable driver debugging). Again, for better performance, disable debugging features.
|
|
||||||
|
|
||||||
Next, we have a Texas Instruments feature (Shared transport core driver). This driver provides transport protocols for BT/FM and GPS chips.
|
|
||||||
|
|
||||||
The following driver supports the I2C LIS3LV02Dx accelerometer (STMicroeletronics LIS3LV02Dx three-axis digital accelerometer (I2C)). The data provided by the device is stored in /sys/devices/platform/lis3lv02d.
|
|
||||||
|
|
||||||
Next, the Linux kernel supports a module for downloading firmware to Altera's FPGA (Altera FPGA firmware download module). An FGPA is a field-programmable gate array. These are programmable integrated circuits.
|
|
||||||
|
|
||||||
The "Intel Management Engine Interface" offers security and other services to Intel chips.
|
|
||||||
|
|
||||||
"ME Enabled Intel Chipsets" can have MEI support. MEI is Management Engine Interface. This driver gives supported chipsets MEI services.
|
|
||||||
|
|
||||||
The "VMware VMCI Driver" is a high-speed virtual device for relaying communications between the guest and host. VMCI stands for Virtual Machine Communication Interface.
|
|
||||||
|
|
||||||
Next, "ATA/ATAPI/MFM/RLL support" can be enabled/disabled. MFM (Modified Frequency Modulation) is a specific method for encoding floppy disk bits. However, this does not work on all floppy disks. MFM uses the RLL (Run-Length Limited) coding scheme. RLL transfers data going through communication systems that have bandwidth limits. ATAPI is the previously mentioned ATA Packet Interface and ATA is the same ATA mentioned when discussing interface standards.
|
|
||||||
|
|
||||||
Now, we will discuss SCSI support. Small Computer System Interface is another interface standard as is SATA. USB and FireWire devices use the SCSI protocol.
|
|
||||||
|
|
||||||
The first SCSI setting concerns the "RAID Transport Class". This allows RAID to use the SCSI standard.
|
|
||||||
|
|
||||||
To use SCSI targets, enable this feature (SCSI target support).
|
|
||||||
|
|
||||||
If the system will run old Linux applications, the system may need "legacy /proc/scsi/ support".This will create the SCSI files once placed in /proc/scsi/.
|
|
||||||
|
|
||||||
To support SCSI disks, enable the next feature (SCSI disk support). This is a generic driver.
|
|
||||||
|
|
||||||
To support SCSI tapes, enable this feature (SCSI tape support). This is a generic driver. A SCSI tape drive stores data on tape-like magnetic strips.
|
|
||||||
|
|
||||||
|
|
||||||
The OnStream SCSI tapes need this driver instead of the previously mentioned generic SCSI driver (SCSI OnStream SC-x0 tape support).
|
|
||||||
|
|
||||||
For "SCSI CDROM support" enable this feature. Some CD-ROMs use the SCSI protocol.
|
|
||||||
|
|
||||||
Next, the user can enable "Enable vendor-specific extensions (for SCSI CDROM)".
|
|
||||||
|
|
||||||
This is a SCSI driver that is a generic driver for a larger variety of SCSI devices (SCSI generic support). This is mainly used for SCSI scanners and other SCSI devices not supported by the previously mentioned SCSI drivers or those discussed afterwards.
|
|
||||||
|
|
||||||
Some SCSI jukeboxes need this SCSI driver (SCSI media changer support).
|
|
||||||
|
|
||||||
The Linux kernel offers "SCSI Enclosure Support". A SCSI enclosure is a device that manages the power and cooling of the SCSI device as well as offer other services not related to the data.
|
|
||||||
|
|
||||||
The Linux kernel should be set to search for all Logical Unit Numbers (LUN) for each SCSI device (Probe all LUNs on each SCSI device). A LUN is a SCSI address.
|
|
||||||
|
|
||||||
Extra error reporting is available for SCSI (Verbose SCSI error reporting (kernel size +=12K)). This will increase the size of the kernel significantly.
|
|
||||||
|
|
||||||
There is also a logger for SCSI (SCSI logging facility).
|
|
||||||
|
|
||||||
To enhance your system, enable this feature that allows SCSI to be probed while the system boots up rather than booting and then probing (Asynchronous SCSI scanning). Most systems can perform both tasks at once, so why not allow it? For hardware with many SCSI devices attached, this will increase boot time significantly.
|
|
||||||
|
|
||||||
Next, "Parallel SCSI (SPI) Transport Attributes" allows each SCSI device to send transport information to sysfs. Some systems require this feature.
|
|
||||||
|
|
||||||
This next feature is the same as above, but sends information about transport from FiberChannel devices (FiberChannel Transport Attributes). FiberChannel devices use SCSI.
|
|
||||||
|
|
||||||
Next, the user can enable/disable "SCSI target support for FiberChannel Transport Attributes".
|
|
||||||
|
|
||||||
Transport information from iSCSI devices and SAS devices can also be exported to sysfs (iSCSI Transport Attributes) and (SAS Transport Attributes). SAS stands for Serial Attached SCSI.
|
|
||||||
|
|
||||||
Next, ATA support is added to libsas (ATA support for libsas (requires libata)). Note that the configuration tools says libata is required. To satisfy this need, enable ATA support. Most likely, the configuration tool has or will do this for you, but double check anyway. libsas and libata are the libraries that provide support for SAS and ATA, respectively.
|
|
||||||
|
|
||||||
The next feature permits SAS interfaces to accept SMP frames (Support for SMP interpretation for SAS hosts). This adds a SMP interpreter to libsas. However, this does increase the kernel's size. SMP frames allow all processors on multi-CPU systems to access SAS devices.
|
|
||||||
|
|
||||||
SRP can send transport data to sysfs (SRP Transport Attributes). SRP stands for SCSI RDMA Protocol. RDMA stands for Remote Direct Memory Access. This means SRP is a protocol used to access data from remote SCSI devices attached to another computer.
|
|
||||||
|
|
||||||
Next, the user can enable "SCSI target support for SRP Transport".
|
|
||||||
|
|
||||||
Low-level SCSI drivers can be enabled (SCSI low-level drivers). This provides many basic drivers.
|
|
||||||
|
|
||||||
After that, users can enable/disable "PCMCIA SCSI adapter support". This adapter allows SCSI devices to attach to PC cards.
|
|
||||||
|
|
||||||
There are some drivers for specific adapters - (Future Domain PCMCIA support), (Qlogic PCMCIA support), and (Symbios 53c500 PCMCIA support).
|
|
||||||
|
|
||||||
Devices with multi-path setups will need this feature (SCSI Device Handlers). This is used in clusters where each node needs a direct path to a SCSI storage unit.
|
|
||||||
|
|
||||||
Next, the "OSD-Initiator library" can be enabled. This is a SCSI driver that provides patches, the OSD protocol, and the T10 protocol to SCSI devices. OSD stands for Object-based Storage Device; this is discussed more in the next paragraph.
|
|
||||||
|
|
||||||
This feature makes a SCSI upper layer for testing and managing /dev/osdx devices (OSD Upper Level driver). exofs uses this driver for mounting OSD-based filesystems. OSD devices are storage devices that do not use blocks like other storage units. Instead, OSD devices store data in containers called objects. exofs was once called OSDFS.
|
|
||||||
|
|
||||||
OSD features provide debugging tools if enabled (Compile All OSD modules with lots of DEBUG prints).
|
|
||||||
|
|
||||||
Now, we can discuss Serial ATA and Parallel ATA features and drivers. The first feature to enable/disable is for debugging (Verbose ATA error reporting).
|
|
||||||
|
|
||||||
Next, users should enable the Advanced Configuration and Power Interface feature for ATA devices (ATA ACPI Support). This will allow the kernel to manage power usage more efficiently in SATA devices.
|
|
||||||
|
|
||||||
The kernel contains a driver for "SATA Zero Power Optical Disc Drive (ZPODD) support". This powers off SATA optical disc drives (ODD) when not in use. This saves energy and reduces wear and tear.
|
|
||||||
|
|
||||||
TIP: Even when making a high-performance kernel, try to enable all power management features. This reduces power consumption, operating costs, heat production (heat reduces performance), and wear and tear.
|
|
||||||
|
|
||||||
SATA port multipliers need this driver (SATA Port Multiplier support). A port multiplier is a device that has numerous ports but only needs to plug into one port itself. For instance, if a piece of hardware has one SATA port, but more are needed, plug the port multiplier into the one port. Now the device has many SATA ports.
|
|
||||||
|
|
||||||
Next is a driver for AHCI SATA (AHCI SATA support). Advanced Host Controller Interface (AHCI) is an operation standard for SATA bus adapters.
|
|
||||||
|
|
||||||
For AHCI SATA devices to be supported on SoC hardware, this driver must be enabled (Platform AHCI SATA support). SoC stands for System-on-a-Chip.
|
|
||||||
|
|
||||||
Next are some drivers for some specific devices.
|
|
||||||
Initio 162x SATA support
|
|
||||||
ACard AHCI variant (ATP 8620)
|
|
||||||
Silicon Image 3124/3132 SATA support
|
|
||||||
|
|
||||||
Again, watch and wait for the next awesome article.
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-12.4681/
|
|
||||||
|
|
||||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
|
||||||
|
|
||||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
|
@ -0,0 +1,124 @@
|
|||||||
|
戴文的Linux内核专题:16 配置内核 (12)
|
||||||
|
================================================================================
|
||||||
|
![](http://www.linux.org/attachments/slide-jpg.539/)
|
||||||
|
|
||||||
|
欢迎来享受Linux内核配置系列下一部分。如你所猜到的那样,内核支持大量不同的硬件、协议和特性。
|
||||||
|
|
||||||
|
下一组我们要讨论的特性是"EEPROM support"。电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory)是一种掉电或者意外关闭后不会擦除内容的存储器。
|
||||||
|
|
||||||
|
内核支持在I2C卡上的EEPROM芯片包括FRAMs、ROMs和SRAMs (I2C EEPROMs / RAMs / ROMs 来自多数供货商)。FRAM(同样也称作FeRAM是一种使用铁电原理而不是电介质存储数据的随机访问存储芯片)。ROM芯片是只读(Read Only Memory)芯片。SRAM是静态而不是动态存储器就像DRAM。DRAN必须被刷新以保留数据而SRAM不需要刷新。然而,两者都会在电源关闭或者丢失时失去数据。
|
||||||
|
|
||||||
|
内核支持SPI总线的EEPROM(SPI EEPROMs from most vendors)。串行外设接口总线(Serial Peripheral Interface Bus (SPI))是一个缺乏错误检测的全双工总线系统。
|
||||||
|
|
||||||
|
老式的I2C EEPROM芯片需要一个除了上面I2C驱动的驱动(Old I2C EEPROM reader)。I2C总线用于嵌入式系统和电话,由于它用的是低速总线协议。
|
||||||
|
|
||||||
|
这个特性用来防止Maxim的可编程EEPROM变成只读模式(Maxim MAX6874/5 power supply supervisor)。特别地,这驱动提供对这个芯片的更好的电源管理。
|
||||||
|
|
||||||
|
这里还有一个驱动"EEPROM 93CX6 support","Microwire EEPROM 93XX46 support"和"ENE CB710/720 Flash memory card reader support"。
|
||||||
|
|
||||||
|
和其他内核特性一样,这里有一个对于EEPROM的调试特性(Enable driver debugging)。再说一次,为了更好的性能,禁用调试特性。
|
||||||
|
|
||||||
|
下面,我们有一个TI特性(Shared transport core driver)。这个驱动提供对于BT/FM和GPS芯片的传输协议。
|
||||||
|
|
||||||
|
下面的驱动支持I2C LIS3LV02Dx加速度计(STMicroeletronics LIS3LV02Dx three-axis digital accelerometer (I2C))。设备提供的数据存储在/sys/devices/platform/lis3lv02d。
|
||||||
|
|
||||||
|
下一步, Linux提供了下载固件到Altera的FPGA的模块(Altera FPGA firmware download module)。FPGA就是现在可编程门阵列(field-programmable gate array)。它们是可编程集成电路。
|
||||||
|
|
||||||
|
Intel Management Engine Interface"提供Intel芯片的安全和其他服务。
|
||||||
|
|
||||||
|
"ME Enabled Intel Chipsets"可以支持MEI。MEI是"Management Engine Interface"(管理引擎接口)。这个驱动支持有MEI服务的芯片组。
|
||||||
|
|
||||||
|
"VMware VMCI Driver"是一种用于客户机和宿主机中继通信的高速虚拟设备。VMCI代表的是"Virtual Machine Communication Interface"(虚拟机通信接口)。
|
||||||
|
|
||||||
|
下面, "ATA/ATAPI/MFM/RLL support"可以启用/禁用。MFM (Modified Frequency Modulation)是一种特殊的编码软驱位的方法。然而,这并不工作在所有的软驱上。MFM使用RLL(Run-Length Limited)编码制式。RLL通过有带宽限制的系统通信转换数据。ATAPI是先前提过的"ATA Packet Interface",同时ATA也在讨论接口标准的时候讨论过。
|
||||||
|
|
||||||
|
现在我们将讨论SCSI支持。小型计算机接口(Small Computer System Interface (SCSI))是另外一种SATA的接口标准。USB和火线设备使用SCSI协议。
|
||||||
|
|
||||||
|
第一个SCSI设定关于"RAID Transport Class"。这允许RAID使用SCSI标准。
|
||||||
|
|
||||||
|
为了使用SCSI目标,启用这个特性(SCSI target support)。
|
||||||
|
|
||||||
|
如果系统会运行旧的Linux应用,系统可能需要"legacy /proc/scsi/ support"。这会在/proc/scsi创建SCSI文件。
|
||||||
|
|
||||||
|
为了支持SCSI磁盘,启用下一个特性(SCSI disk support)。这是一个通用驱动。
|
||||||
|
|
||||||
|
为了支持SCSI磁带,启用这个特性(SCSI tape support)。这是一个通用驱动。SCSI磁带驱动器在像磁带的磁性条上记录数据。
|
||||||
|
|
||||||
|
OnStream SCSI磁带需要这个驱动而不是前面提到SCSI通用驱动SCSI OnStream SC-x0 tape support)。
|
||||||
|
|
||||||
|
"对于SCSI CDROM support",一些CD-ROM使用SCSI协议。
|
||||||
|
|
||||||
|
下面, 用户可以启用"Enable vendor-specific extensions (for SCSI CDROM)"。
|
||||||
|
|
||||||
|
这是一个对于大量不同SCSI设备的通用驱动(SCSI generic support)。这主要用于SCSI扫描仪和其他不被上面提到的SCSI驱动支持的设备或者那些之后会讨论的设备。
|
||||||
|
|
||||||
|
一些SCSI点唱机需要这个SCSI驱动(SCSI media changer support)。
|
||||||
|
|
||||||
|
Linux内核提供"SCSI Enclosure Support"。SCSI附件是一种管理电源和制冷SCSI设备同时提供不关于数据的服务的设备。
|
||||||
|
|
||||||
|
Linux内核应该设置为每个SCSI设备搜索全部的逻辑单元号(Logical Unit Numbers (LUN))(Probe all LUNs on each SCSI device)。LUN是SCSI地址。
|
||||||
|
|
||||||
|
这有额外的对于SCSI的错误报告(Verbose SCSI error reporting (kernel size +=12K))。这会明显地增加内核的大小。
|
||||||
|
|
||||||
|
这里还有一个SCSI日志系统(SCSI logging facility)。
|
||||||
|
|
||||||
|
为了增强你的系统,启用这个特性会允许SCSI在系统启动时就被探测到而不是先启用再探测(Asynchronous SCSI scanning)。大多数系统可以一次执行这两个任务,因此为什么允许这项? 对于那些连接了很多SCSI设备的硬件,这个会明显加快启动速度。
|
||||||
|
|
||||||
|
下面,"Parallel SCSI (SPI) Transport Attributes"(传统的并行SCSI)允许每个SCSI设备发送传输信息给sysfs。一些系统需要这个特性。
|
||||||
|
|
||||||
|
下面的特性和上面提到的一样,但是发送光纤通道设备的传输信息(FiberChannel Transport Attributes)(光纤通道接口)。光线通道设备使用SCSI。
|
||||||
|
|
||||||
|
下面用户可以启用/禁用"SCSI target support for FiberChannel Transport Attributes"(为光纤通道添加"target"模式驱动)。
|
||||||
|
|
||||||
|
iSCSI设备和SAS设备的传输数据可以导出到sysfs(iSCSI Transport Attributes)和SAS Transport Attributes)。SAS代表的的是"Serial Attached SCSI"(串行链接SCSI)。
|
||||||
|
|
||||||
|
下面,ATA支持被加入libsas(ATA support for libsas (requires libata))。注意配置工具提示需要libata。为了满足这个需求,启用ATA支持。更多情况下,配置工具已经或者将会会你这么做,但是请无论再检查一下。libsas和libata是相应的支持SAS和ATA的库。
|
||||||
|
|
||||||
|
下面的特性允许SAS接口接收SMP帧(Support for SMP interpretation for SAS hosts)。这加入了一个SMP解释器到libsas中。然而,这不会增加内核的尺寸。SMP帧允许所有在多CPU系统上的处理器访问SAS设备。
|
||||||
|
|
||||||
|
SRP可以发送传输的数据给sysfs(SRP Transport Attributes)。SRP代表SCSI RDMA协议(SCSI RDMA Protocol)。RDMA代表远程直接内存访问(Remote Direct Memory Access)。这意味着SRP是一个用来访问连接到另外一台计算机的SCSI设备的数据的协议。
|
||||||
|
|
||||||
|
下一步,用户可以启用"SCSI target support for SRP Transport"。
|
||||||
|
|
||||||
|
可以启用底层SCSI驱动(SCSI low-level drivers)。这提供了很多基础驱动。
|
||||||
|
|
||||||
|
在这之后,用户可以启用/禁用"PCMCIA SCSI adapter support"。这个适配器允许SCSI设备连接到PC卡上。
|
||||||
|
|
||||||
|
这里有一些驱动用于特殊的适配器- (Future Domain PCMCIA support)、(Qlogic PCMCIA support) 、(Symbios 53c500 PCMCIA support)。
|
||||||
|
|
||||||
|
多路径安装的设备需要这个特性(SCSI Device Handlers)。这用在每个节点都需要一个到SCSI存储单元的直接路径的集群中。
|
||||||
|
|
||||||
|
下一步,"OSD-Initiator library"(OSD启动库)可以启用。这是一个提供了补丁、OSD协议、和针对SCSI设备的T10协议的SCSI驱动。 OSD代表的是基于对象的存储设备(Object-based Storage Device);下一段会讨论得更多。
|
||||||
|
|
||||||
|
这个特性生成一个SCSI上层用于测试和管理/dev/osdx设备(OSD Upper Level driver)。exofs使用这个驱动用于挂载基于OSD的文件系统。OSD设备不像其他存储单元一样使用块的存储设备。相反地,OSD设备存储数据在称之为对象的容器里。exofs曾经称作OSDFS。
|
||||||
|
|
||||||
|
如果启用了它,OSD特性提供了调试工具(Compile All OSD modules with lots of DEBUG prints)。
|
||||||
|
|
||||||
|
如今,我们可以讨论串行ATA和并行ATA特性和驱动了。首先启用/禁用用于调试的第一个特性(Verbose ATA error reporting)。
|
||||||
|
|
||||||
|
下一步,用户应该对于ATA设备启用高级配置及电源接口特性(ATA ACPI Support)。这允许内核在SATA设备上更有效地管理电源使用。
|
||||||
|
|
||||||
|
内核包含了对于"SATA Zero Power Optical Disc Drive (ZPODD) support"的驱动。这会在不使用时关闭SATA光盘驱动器(SATA optical disc drives (ODD))。这节约了能源以及减少损耗。
|
||||||
|
|
||||||
|
贴士:即使你在编译一个高性能的内核,尝试启用所有的电源管理特性。则减少了电源消耗、操作开销、热量产生(热量会降低性能),以及磨损。
|
||||||
|
|
||||||
|
SATA端口复用器需要这个驱动(SATA Port Multiplier support)。端口复用器是一个拥有许多端口但是自己仅需插入一个端口的设备。举例来说,如果一个硬件有一个SATA口,但是还需要更多的口,在这个口上插入端口复用器。现在设备可以有许多SATA口了。
|
||||||
|
|
||||||
|
下一个驱动用于AHCI SATA(AHCI SATA support)。高级主机控制器接口(Advanced Host Controller Interface (AHCI))是一种SATA总线适配器的操作标准。
|
||||||
|
|
||||||
|
对于要在Soc硬件上支持AHCI SATA设备,必须启用这个驱动(Platform AHCI SATA support)。Soc代表片上系统(System-on-a-Chip)。
|
||||||
|
|
||||||
|
下面是一些特殊设备的驱动
|
||||||
|
Initio 162x SATA support
|
||||||
|
ACard AHCI variant (ATP 8620)
|
||||||
|
Silicon Image 3124/3132 SATA support
|
||||||
|
|
||||||
|
再说一次,等着下一篇精彩的文章。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-12.4681/
|
||||||
|
|
||||||
|
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
Loading…
Reference in New Issue
Block a user