Merge pull request #391 from geekpi/master

[Translated] 17 The Linux Kernel--Configuring the Kernel Part 13
This commit is contained in:
Xingyu.Wang 2013-11-11 04:08:53 -08:00
commit 9d8ea19084
5 changed files with 249 additions and 249 deletions

View File

@ -1,131 +0,0 @@
Translating------geekpi
17 The Linux Kernel: Configuring the Kernel Part 13
================================================================================
![](http://www.linux.org/attachments/slide-jpg.555/)
Aloha! In this next article of the Linux kernel series, we are still configuring ATA devices and we then move on to logical volumes/storage.
"ATA SFF support (for legacy IDE and PATA)" should be enabled because this extends the abilities of ATA.
To support Pacific Digital ADMA controllers, enable "Pacific Digital ADMA support".
"Pacific Digital Serial ATA QStor support" is offered by this next driver.
Support for the Promise SATA SX4 device is supported by the Linux kernel (Promise SATA SX4 support (Experimental)).
SFF ATA controllers with BMDMA abilities will need this driver (ATA BMDMA support). BMDMA stands for Bus-Master Direct Memory Access.
Next, this driver provides support for various Intel SATA and PATA controllers (Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support).
Here is another device-specific driver (Calxeda Highbank SATA support) and another (Marvell SATA support) and another (NVIDIA SATA support) and another (Promise SATA TX2/TX4 support) and another (Silicon Image SATA support) and several more (SiS 964/965/966/180 SATA support), (ServerWorks Frodo / Apple K2 SATA support), (ULi Electronics SATA support), (VIA SATA support), . . . .. Because many of the SATA/PATA controllers are designed differently, a generic driver cannot be used on many of these devices.
Next, ATA devices on PC Cards are supported by this driver unless a device-specific driver manages the hardware (PCMCIA PATA support).
After that, here is a generic PATA driver that manages all other PATA devices not supported by previously enabled drivers (Generic platform device PATA support).
The power consumption of PATA devices are managed by this ACPI driver (ACPI firmware driver for PATA). It is highly recommended that ACPI be enabled for all hardware on the system. Although this increases the kernel's size, ACPI is better for performance.
"Generic ATA support" is offered by this driver.
Legacy support for ISA, VLB, and PCI bus PATA devices can be added via this driver (Legacy ISA PATA support (Experimental)). This legacy support uses the new ATA layer.
This set of features contains many abilities for RAID and LVM as seen in the following feature options (Multiple devices driver support (RAID and LVM)).
INTERESTING FACT: The kernel is written in C and Assembly.
This driver allows RAID and LVM to be combined (RAID support). This is used to make several LVMs use RAID. Partitions are combined into Logical Block Devices which are then used to form RAID devices.
Many users will want RAID devices to be detected during booting (Autodetect RAID arrays during kernel boot). If you do not have RAID, then do not enable this feature. Otherwise, the boot process will take a few seconds longer than what it needs to be.
NOTE: When configuring the Linux kernel, it is best to follow the "use it or lose it" principal. That is, if you will not use it, then disable the feature.
Hard-drive partitions can be added together using this driver (Linear (append) mode).
The following driver adds RAID-0 support to logical block devices (RAID-0 (striping) mode). Then, there is (RAID-1 (mirroring) mode), (RAID-10 (mirrored striping) mode), and (RAID-4/RAID-5/RAID-6 mode).
The MD framework needs multipath support (Multipath I/O support). The MD framework is a Multi Device framework which manages multiple devices as one unit. For example, combining the partitions of many storage units will make multiple devices act as one. The multipath support is for handling a virtual "single device" with many addresses. Because the single storage unit is physically more than one piece of hardware, it will have more than one hardware address.
These larger multi-disk storage units can be tested for bugs using this debugging driver (Faulty test module for MD).
The "Device mapper support" is a volume manager that is used to map logical sectors. LVM uses sector mapping.
The device mapper can have debugging features if enabled (Device mapper debugging support).
These logical devices can be set to encrypt data if desired (Crypt target support). This feature can allow users to later encrypt such storage devices.
Snapshots of these logical storage units can only be taken if this feature is enabled (Snapshot target).
Thin provisioning allows logical volumes to be setup to have more storage capacity than the physical storage units that make up the logical volume (Thin provisioning target). This feature also provides snapshot abilities of such storage. This excess virtual data space cannot immediately be used. The point of it is to allow users to add a physical storage unit in the future and save time configuring the logical block device.
Thin provisioning can be debugged with this feature (Keep stack trace of thin provisioning block lock holders).
The performance of block devices can be improved by moving the more commonly used data to the faster storage units (Cache target (EXPERIMENTAL)).
Volume managers can be made to mirror logical volumes (Mirror target).
Device-mapper (dm) targets can be made to support the mappings of RAID1, RAID10, RAID4, RAID5 and RAID6 (RAID 1/4/5/6/10 target).
The device-mapper logs can be mirrored in userspace (Mirror userspace logging).
A "Zero target" is a device that disregards writes and returns reads as zero.
Next, volume managers should have multipath support for the hardware (Multipath target).
This driver finds the most efficient path to storage devices for reads and writes (I/O Path Selector based on the number of in-flight I/Os).
The next driver is the same as above, but finds the fastest path (I/O Path Selector based on the service time).
If a physical storage unit on a logical volume is busy, this feature will allow reads/writes to go to another physical volume if possible (I/O delaying target).
udev can generate events for device-manager actions (DM uevents). udev is a device manager for /dev/.
To test how software/hardware reacts to logical devices that occasionally fail input/output tasks, enable this debugging feature (Flakey target).
A logical volume can be created that is a read-only storage unit that validates data for another logical partition (Verity target support).
NOTE: If you enjoy my articles, click "Like" on my posts if you have a Linux.org account. Also, reshare this article on Google, Twitter, and/or Facebook.
ConfigFS and the TCM storage engine can be enabled with this setting (Generic Target Core Mod (TCM) and ConfigFS Infrastructure). ConfigFS is a RAM-based filesystem.
INTERESTING FACT: The Linux kernel does not have a “main()” function. In programs, main() is called by libc which depends on the kernel. The kernel cannot have a main() function because libc would not be able to start the kernel. If the kernel did have a main() function, then we would have a “chicken-or-the-egg” problem which would come first? Plus, the entry point of the kernel is written in Assembly which does not use the main() function.
Next, the "TCM/IBLOCK Subsystem Plugin for Linux/BLOCK" can be enabled/disabled.
Then, the "TCM/FILEIO Subsystem Plugin for Linux/VFS" can be enabled/disabled.
And again, there are two other TCM features - (TCM/pSCSI Subsystem Plugin for Linux/SCSI) and (TCM Virtual SAS target and Linux/SCSI LDD fabric loopback module).
The Linux-iSCSI.org iSCSI Target Mode Stack for ConfigFS is provided by this driver (Linux-iSCSI.org iSCSI Target Mode Stack).
Next, enable/disable the "FireWire SBP-2 fabric module". This allows a computer to connect to another computer and appear to be a hard-drive.
After that, we can configure "Fusion Message Passing Technology (MPT) device support".
The first option under that heading is a driver for SCSI support for parallel adapters (Fusion MPT ScsiHost drivers for SPI).
SCSI can also get support for fiber channel host adapters (Fusion MPT ScsiHost drivers for FC) and/or SAS adapters (Fusion MPT ScsiHost drivers for SAS).
Next, users can set the "Maximum number of scatter gather entries". A lower number leads to reduced memory consumption per controller instance.
The next driver offers system ioctl calls to manage MPT adapters (Fusion MPT misc device (ioctl) driver).
Fiber channel ports can support IP LAN traffic with this driver (Fusion MPT LAN driver).
I can read your mind you think there is going to be another article after this. Well, you thought correctly. Keep watching for the next article in this series.
If you like this article series, please post on Linux.org and/or Google+ telling me how much you like this series and what topics you would like to see covered in future articles. Or, email me (DevynCJohnson@Gmail.com). Mahalo!
To learn more about the author, check out the links in his signature box below.
If you have read this article completely, then you should have seen the word "Facebook" three times. If not, you did not read the whole article.
The word "Facebook" is seen in this paragraph, the paragraph above, and in one of the notes. I bet you read the paragraph above without finishing this article trying to find the third instance of the word.
--------------------------------------------------------------------------------
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-13.4714/
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,118 +0,0 @@
18 The Linux Kernel: Configuring the Kernel Part 14
================================================================================
![](http://www.linux.org/attachments/slide-jpg.566/)
Aloha! Ready for another cool article on the Linux kernel?
Next, in our long quest, we can enable/disable the "Fusion MPT logging facility". MPT stands for Message Passing Technology. The Fusion driver is made by LSI Logic Corporation. MPT is a specific messaging tactic used between process. This technique is synchronous meaning that process will wait for messages as needed.
After that, the "FireWire driver stack" should be enabled if the computer possesses FireWire ports. If not, then there is no point in enabling FireWire ports for a device that could not use such drivers. FireWire is a lot like USB. The differences lie in the protocols, speed, and the physical shape and layout of the ports. Generally, Apple devices use FireWire and USB. Some PCs have FireWire ports, but this is less common than USB ports.
Some FireWire controllers use the OHCI-1394 specification (OHCI-1394 controllers). If so, enable this driver.
To use FireWire storage devices, enable this next driver (Storage devices (SBP-2 protocol)). This driver provides a protocol that the FireWire storage units use to communicate with the FireWire bus (the card with the attached FireWire ports). Some FireWire scanners also need this driver.
IPv4 can be used on FireWire ports (IP networking over 1394). IEEE 1394 or simply "1394" is FireWire. Multicasting over FireWire using IPv4 has limitations.
Nosy is the traffic monitor for FireWire PCILynx cards (Nosy - a FireWire traffic sniffer for PCILynx cards).
Next, the I2O devices can be supported (I2O device support). Intelligent Input/Output (I2O) bus uses drivers for the hardware and operating system levels. The hardware drivers (HDM) are not specific to any operating system while the OS drivers (OSM) must be used on the intended operating system. The OSM communicates with any of the HDMs. I2O cards/buses have an IOP - Input/Output Processor. This speeds up the system since the main CPU is processing less data.
Only enable "Enable LCT notification" on systems that lack a SUN I2O controller. I2C SUN firmware does not support LCT notifications.
The Adaptec I2O controllers need this next driver if RAID is intended (Enable Adaptec extensions).
Direct memory access of 64-bits can be allowed on Adaptec I2O controllers (Enable 64-bit DMA).
I2O devices can be configured if permitted (I2O Configuration support). This feature is mainly needed for RAID setup.
The old Input/Output controls can be enabled for I2O devices (Enable ioctls (OBSOLETE)).
The OSM software for I2O bus adapters can be enabled (I2O Bus Adapter OSM). This set of OSMs are used to find new I2O devices on the other end of the adapter.
Next, the OSMs for I2O block devices can be enabled (I2O Block OSM). RAID controllers on I2O hardware will need this OSM.
The following OSM is for the SCSI or FiberChannel devices on I2O controllers (I2O SCSI OSM).
Information on I2O devices can be read from /proc/ if enabled (I2O /proc support).
After the I2O features have been enabled/disabled, we can move on to other kernel abilities. Next, we have "Macintosh device drivers". These are only useful to Apple devices. Linux kernels for PCs should not have any of these features enabled. However, as with many statements there is always an exception. Some PC users may use an Apple mouse, keyboard, and/or some other Apple device. Again, it is best to thoroughly understand the need and use of the kernel being developed.
Next, we have a driver for networking (Network device support). X11 and other Linux software do not depend on this driver, so if the kernel will not need to connect to another computer, Internet, Intranet, or network, then this can safely be disabled.
The following driver is like above, but is specific to core drivers (Network core driver support).
Etherchannels are supported by this driver (Bonding driver support). In networking, bonding is the fusion of two or more Ethernet channels. This is also known as trunking.
A dummy network can be set up in Linux with this driver (Dummy net driver support). A dummy network is a virtual network that is like the /dev/null of networking. Any data sent to this dummy network is gone forever as it would be going to /dev/null. The IP address is not set. The user can define their networking equivalent of /dev/null.
Next, EQL can be supported (EQL (serial line load balancing) support). This is needed to allow two computers to communicate via two serial connections that use the SLIP or PPP protocol.
Fiber Channel is a fast serial protocol for connecting storage devices to computers (Fibre Channel driver support).
The MII transceiver needs this driver (Generic Media Independent Interface device support). MII is an interface for Ethernet with speeds up to 100Mbit/s. These Ethernet cables are intended for connecting to a PHYceiver which is an Ethernet transceiver.
To group many Ethernet devices via virtual interfaces, the "Ethernet team driver support" is needed.
"MAC-VLAN support" permits users to have packet maps between a particular MAC address and a certain interface.
A tap character device can be made from the MAC-VLAN network interface (MAC-VLAN based tap driver). Tap devices get packets from the kernel so they can be sent elsewhere.
The next feature allows virtual vxlan interfaces that create Layer 2 networks to be placed above Layer 3 (Virtual eXtensible Local Area Network (VXLAN)). This is commonly used for tunneling to virtual systems.
Messages that the kernel sends on a network can be logged with this feature (Network console logging support). Only enable this if it is important for you to log the network messages. Disabling this feature will enhance performance.
This feature allows various parameters to be changed (Dynamic reconfiguration of logging targets). Some of these parameters include port numbers, MAC addresses, IP addresses, and some other settings.
If user space programs are expected to use TAP devices, then enable this driver that will allow such activity (Universal TUN/TAP device driver support).
This driver is for local Ethernet tunnels (Virtual ethernet pair device).
The "Virtio network driver" is used with QEMU, Xen, KVM, and other virtual machines.
Next, "ARCnet support" can be enabled. ARCnet is a Token-Ring-like Local-Area-Network (LAN) protocol. ARCnet stands for "Attached Resource Computer Network".
Now, we can move on to "ATM drivers". ATM stands for "Asynchronous Transfer Mode". ATM is used for telecommunications.
The Marvell Ethernet switch needs this driver (Marvell 88E6060 ethernet switch chip support). Also, the chip for such a switch is also needed depending on the model (Marvell 88E6085/6095/6095F/6131 ethernet switch chip support) and (Marvell 88E6123/6161/6165 ethernet switch chip support).
Now, we can learn about "Ethernet driver support".
First, we can enable/disable "3Com devices". This then allows kernel developers to choose which 3Com devices to support.
The next set of options is for various "Adaptec devices" and then later "Alteon devices".
These are just device/vendor specific drivers. Generally, these drivers are added as modules.
After those two sets of options, there is a set for "AMD devices" and again for "Atheros devices".
NOTE: Keep in mind what type of hardware the kernel will run on. For a large variety of devices, it may be best to add these devices as modules.
There are various other vendor-specific device drivers - "Cadence devices", "Broadcom devices", "Brocade devices", "Chelsio devices", "Cisco devices", and "Digital Equipment devices". Some other device/vendor specific drivers follow.
The next driver that is not vendor/device specific is "SLIP (serial line) support". This driver supports SLIP and CSLIP. SLIP (Serial Line Internet Protocol) is an Internet protocol for modems and serial ports. PPP is now used instead of SLIP. CSLIP is Compressed SLIP.
Next, "CSLIP compressed headers" can be enabled which compresses the TCP/IP headers. CSLIP is faster than SLIP, but to be able to use CSLIP, both the transmitting computer and the receiving computer must be able to understand CSLIP.
When using SLIP on bad analogue lines, then it may be a good idea to enable "Keepalive and linefill" which will help to keep the connection alive.
For running IP on poor-quality networks or are 7-bit, it may help to enable and use "Six bit SLIP encapsulation".
Now, we can move on to the popular USB system, but these are the USB drivers for networking.
The first USB network device to enable/disable is "USB CATC NetMate-based Ethernet device support". This is for 10Mbps USB Ethernet EL1210A chip devices. The USB device will act and appear to be an Ethernet device even though the hardware is USB.
Next, this driver is the same as above except this is for devices with the KLSI KL5KUSB101B chipset (USB KLSI KL5USB101-based ethernet device support).
The Pegasus USB devices are USB-to-Ethernet adapters/converters (USB Pegasus/Pegasus-II based ethernet device support).
Next, there is another USB-to-Ethernet driver (USB RTL8150 based ethernet device support).
In the next article, we will continue to configure the USB networking system.
--------------------------------------------------------------------------------
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-14.4765/
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,3 +1,5 @@
translating-------------geekpi
19 The Linux Kernel: Configuring the Kernel Part 15
================================================================================
![](http://www.linux.org/attachments/slide-jpg.578/)

View File

@ -0,0 +1,129 @@
戴文的Linux内核专题17 配置内核 (13)
================================================================================
![](http://www.linux.org/attachments/slide-jpg.555/)
你好!这是Linux内核系列的下一篇我们仍将配置ATA设备并将进入逻辑卷/存储。
"ATA SFF support (for legacy IDE and PATA)"应该启用因为这扩展了ATA的能力。
为了支持Pacific Digital的ADMA控制器应该启用"Pacific Digital ADMA support"。
"Pacific Digital Serial ATA QStor support"(串口ATA支持)在下一个驱动中支持
Promise的SATA SX4设备在内核中支持(Promise SATA SX4 support (Experimental))。
可以BMDMA的SFF ATA控制器需要这个驱动(ATA BMDMA support)。BMDMA代表总线主控直接内存访问(BMDMA stands for Bus-Master Direct Memory Access)。
下面这个驱动对不同的SATA和PATA控制器提供支持Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support)。
这里有其他的特定设备驱动(Calxeda Highbank SATA support)、(Marvell SATA support)、(NVIDIA SATA support)、(Promise SATA TX2/TX4 support)、(Silicon Image SATA support)还有(SiS 964/965/966/180 SATA support)、(ServerWorks Frodo / Apple K2 SATA support)、(ULi Electronics SATA support)、(VIA SATA support)。。。由于有很多SATA/PATA控制器设计不同一个通用驱动无法使用在这些设备上。
接下来这个驱动支持PC卡上的ATA设备除非有特定设备管理硬件的驱动(PCMCIA PATA support)。
在这之后有一个通用PATA驱动用于管理其他不被先前驱动支持的PATA设备 (Generic platform device PATA support)。
PATA设备的电源消耗由这个ACPI驱动管理(ACPI firmware driver for PATA)。强烈建议对系统上所有的硬件启用ACPI。虽然这会增加内核的大小但是ACPI会增强性能。
"Generic ATA support"(通用ATA支持)由这个驱动提供。
古老的ISA、VLB和PCI总线PATA设备可以通过这个驱动支持(Legacy ISA PATA support (Experimental))。这个古老支持使用新的ATA层。
这组特性包含了许多对于RAID和LVM能力可见下面的特性选项(Multiple devices driver support (RAID and LVM))。
有趣的事实内核是由C和汇编写成的。
这个驱动允许RAID和LVM组合在一起。这用于使几个LVM卷使用RAID。分区被组合成逻辑块设备然后形成RAID设备。
许多用户会希望RAID可以在启动时侦测到(Autodetect RAID arrays during kernel boot)。如果你没有RAID那么不要启用这个特性。不然启动处理会比原先希望的慢上几秒。
注意当配置Linux内核时最好按照"use it or lose it"(非用即失)的原则。那就是,如果你不用它,那就禁用这个特性。
硬盘分区可以通过这个驱动加在一起(Linear (append) mode)。
下面的驱动加入RAID-0支持带逻辑块设备中(RAID-0 (striping) mode)。接着还有 (RAID-1 (mirroring) mode)、(RAID-10 (mirrored striping) mode)和(RAID-4/RAID-5/RAID-6 mode)。
MD框架需要多路径支持(Multipath I/O support)。MD框架就是多设备(Multi Device)框架,它将多台设备作为一个单元管理。举例来说,将许多存储单元的分区组合起来可以使多个设备就像一个那样。多路径支持是用于使用处理虚拟的有多个地址的"单个设备"。因为单存储单元物理上有多件物理设备,所以它有多个硬件地址。
使用这个调试驱动可以测试更大的多磁盘存储单元的bug(Faulty test module for MD)。
"Device mapper support"是一个用来映射逻辑扇区的卷管理器。LVM使用扇区映射。
如果启用的话,设备映射器可以有调试特性(Device mapper debugging support)。
如果需要,逻辑设备可以设置加密数据(Crypt target support)。这个特性允许用户将来加密那些存储设备。
只有启用了这个特性,才能使用逻辑存储单元的快照功能(Snapshot target)。
"Thin provisioning"(自动精简配置)允许逻辑卷设置成比组成逻辑卷的物理设备拥有更大的存储容量(Thin provisioning target)。这个特性同样为这类设备提供了快照功能。这额外的虚拟数据空间无法马上使用。这个特性的意义是允许用户在将来增加物理存储单元并且节约了配置逻辑块设备的时间。
用这个可以调试"Thin provisioning" (Keep stack trace of thin provisioning block lock holders)。
块设备性能的提升可以通过移动更多的常用数据到更快的存储单元中(Cache target (EXPERIMENTAL))。
卷管理器可以制成镜像逻辑卷(Mirror target)。
设备映射器(Device-mapper (dm))单元支持映射RAID1、RAID10、 RAID4、RAID5和RAID6(RAID 1/4/5/6/10 target)。
设备映射器(device-mapper)日志可以镜像到用户空间(Mirror userspace logging)。
"Zero target"是一个忽视写入并返回读取为零的设备。
接下来,卷管理器应该对硬件有多路径支持(Multipath target)。
这个驱动会发现最有效的到存储设备的路径来读取和写入(I/O Path Selector based on the number of in-flight I/Os)。
=下面的一个驱动和以上相同,但是会寻找最快路径(I/O Path Selector based on the service time)。
如果一个逻辑卷上的物理存储单元正忙,如果可能的话,这个特性会允许读取/写入到另一个物理卷上。
udev可以生成设备管理器操作事件DM uevents)。udev是/dev的设备管理器。
为了测试软件/硬件对偶尔失败的输入/输出任务的逻辑设备如何反映,启用这个调试特性(Flakey target)。
逻辑卷可以创建为一个用于验证另一个逻辑分区数据的只读存储单元(Verity target support)。
注意如果你喜欢我的文章并且如果你有Linux.org的账号请在我的文章上点击"Like"。同样再次分享这篇文章在Google、Twitter和/或者Facebook上。
ConfigFS和TCM存储引擎可以通过这个设置启用(Generic Target Core Mod (TCM) and ConfigFS Infrastructure)。ConfigFS是一个基于内存的文件系统。
有趣的事实Linux内核没有"main()"函数。在程序中main()被依赖于kernel的libc调用。内核没有main()函数是因为libc将无法启动内核。如果内核的确有main()函数,那么我们就有一个"鸡或者蛋"的问题-谁先来另外内核的入口点用汇编写成这并不使用main()函数。
下面,"TCM/IBLOCK Subsystem Plugin for Linux/BLOCK"可以禁用或者启用。
接着"TCM/FILEIO Subsystem Plugin for Linux/VFS"可以启用/禁用。
再次还有两个TCM特性 - (TCM/pSCSI Subsystem Plugin for Linux/SCSI) 和 (TCM Virtual SAS target and Linux/SCSI LDD fabric loopback module)
对于ConfigFS的"Linux-iSCSI.org iSCSI Target Mode Stack"在这个驱动中支持(Linux-iSCSI.org iSCSI Target Mode Stack)。
下一步,可以启用/禁用"FireWire SBP-2 fabric module"。这允许一台计算机作为一个硬盘连接到另一台计算机上。
在这之后,我们可以配置"Fusion Message Passing Technology (MPT) device support"。
在那个标题下的第一个选项是一个用于并口适配器的SCSI支持的驱动(Fusion MPT ScsiHost drivers for SPI)。
SCSI同样也可以支持光纤通道主机适配器(Fusion MPT ScsiHost drivers for FC)和/或SAS适配器(Fusion MPT ScsiHost drivers for SAS)。
下一步,用户可以设置"Maximum number of scatter gather entries"。一个低的数值可以减少每个控制器实例的内存消耗。
下一个驱动提供了ioctl系统调用来管理MPT适配器(Fusion MPT misc device (ioctl) driver)。
光纤通道端口可以用这个驱动支持IP LAN的流量(Fusion MPT LAN driver)。
我可以读到你们的想法-你们会想到对于这个还有另外一篇文章。是的,你们想对了。请继续关注这个系列的下一篇文章。
如果你喜欢这个系列请在Linux.org和/或者Google+上发表评论告诉我你有多喜欢这个系列并且告诉我你想在今后的文章中希望看到的方面。或者给我发邮件DevynCJohnson@Gmail.com)。谢谢!
想要更多地了解作者,请检查下面的签名栏中的链接(译注:原文所在论坛有)
如果你已经完整地阅读了这篇文章,那么你应该已经看到单词"Facebook"三次了。如果没有,你没有阅读全部文章。
单词"Facebook"在这段中,上一段,和一个注解中。我打赌你阅读了上面的段落而没有通读文章来试图寻找第三个单词实例。
--------------------------------------------------------------------------------
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-13.4714/
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,118 @@
戴文的Linux内核专题18 配置内核 (14)
================================================================================
![](http://www.linux.org/attachments/slide-jpg.566/)
你好! 准备好读另一篇很酷的Linux内核文章了么?
接下来,在我们的长期追求中,我们可以启用/禁用"Fusion MPT logging facility"。MPT代表"Message Passing Technology"(消息传递技术)。Fusion驱动是由LSI Logic公司开发。MPT一种进程间使用的特定消息策略。这个技术是同步的意味着进程将会等待所需的消息。
在这之后,如果计算机处理拥有火线端口就应该启用"FireWire driver stack"。如果没有那么就没有必要去启动一个不会使用到的火线驱动。火线很像USB。不过在协议、速度、物理形状和端口布局上不同。通常上苹果设备使用火线和USB。一些PC有火线端口但是不像USB口那样普及。
一些火线控制器使用OHCI-1394规范(OHCI-1394 controllers)。如果是这样,启用这个驱动。
为了使用火线存储设备,启用下一个驱动(Storage devices (SBP-2 protocol))。这个驱动提供了火线存储单元与火线总线通信的协议(the card with the attached FireWire ports)。一些火线扫描仪同样需要这个驱动。
IPv4可以用在火线端口(IP networking over 1394)。IEEE 1394或者简单的"1394"就是火线。使用IPv4在火线多播有局限。
"Nosy"是"FireWire PCILynx"卡上的流量监控(Nosy - a FireWire traffic sniffer for PCILynx cards)。
下一步可以支持I2O设备(I2O device support)。"Intelligent Input/Output (I2O)"(智能输入/输出)总线使用硬件和操作系统层的驱动。硬件驱动(hardware drivers (HDM))并不特定与任何操作系统而OS驱动(OS drivers (OSM))必须在目标操作系统上使用。OSM可以与任何HDM通信。I2O卡/总线有一个IOP- 输入/输出处理器(Input/Output Processor)。由于主CPU处理更少的数据所以加速了系统。
只在缺乏SUN I2O控制器的系统上启用"Enable LCT notification"。I2C SUN固件不支持LCT通知。
如果目标是RAIDAdaptec I2O控制器需要下一个驱动(Enable Adaptec extensions)。
64位的直接内存访问可以在Adaptec I2O控制器上启用(Enable 64-bit DMA)。
如果允许可以配置I2O设备(I2O Configuration support)。这个特性主要用在RAID设定中。
可以为I2O启用支持老的输入/输出控制(Enable ioctls (OBSOLETE))。
可以启用I2O总线适配器的OSM软件(I2O Bus Adapter OSM)。这组OSM被用来寻找新的在其他适配器末端的I2O设备。
下面可以启用I2O块设备上的OSM(I2O Block OSM)。I2O硬件上的RAID控制器需要这个OSM。
下面的OSM用于I2O控制器上的SCSI或者光纤通道设备。
如果启用了(I2O /proc support),可以通过/proc读取I2O设备的信息。
在启用/禁用了I2O特性我们可以继续其他的内核特性。下面我们看到"Macintosh device drivers"。这只对苹果设备有用。PC的Linux内核不应该有任何这些驱动启用。然而正如许多说法都有例外一样。一些PC用户可能会使用苹果鼠标、键盘和/或者一些其他的苹果设备。再说一次,最好彻底地理解需求和正在开发的内核。
下一步,我们有一个用于网络的驱动(Network device support)。X11和其他的Linux软件不依赖于这个驱动所以如果内核不会连接到另一台计算机、因特网、内联网或者网络那么这个特性可以安全地禁用。
下面的驱动就像上面,但是特定于核心驱动(Network core driver support)。
这个驱动支持Etherchannel(Bonding driver support)。"bonding"是两条或者更多的以太网通道的融合。这也成为中继。
使用这个驱动(Dummy net driver support)可以在Linux中设置一个虚拟网络。虚拟网络(dummy network)就像网络中的/dev/null。任何发送给虚拟网络的数据都会永久消失因为它会发往/dev/null。IP地址没有设置。用户可以定义他们的网络相当于/dev/null。
下一步可以支持和EQL(EQL (serial line load balancing) support)。这允许两台计算机使用SLIP或者PPP协议在两条串行连接上通信。
光纤通道是一种用于连接存储设备到计算机的快速串行协议(Fibre Channel driver support)。
TMII收发器需要这个驱动(Generic Media Independent Interface device support)。MII是一种用于最高速度为100Mbit/s以太网的接口。以太网线缆用于连接到PHYceiver这是一种以太网收发器。
为了通过虚拟接口组织许多以太网设备,需要"Ethernet team driver support"。
"MAC-VLAN support"允许用户在特定的MAC地址和某个接口上映射数据包。
TAP字符设备可以由MAC-VLAN接口生成(MAC-VLAN based tap driver)。TAP设备从内核中获取数据包这样它们就可以被送往其他地方。
下一个特性允许虚拟vxvlan接口在3层网络上创建2层网络(Virtual eXtensible Local Area Network (VXLAN))。这通常用于隧道虚拟网络。
内核发送给网络的消息可任意通过这个特性记录下来(Network console logging support)。除非记录网络信息对你很重要时才启用它。禁用这个特性会增强性能。
这个特性允许不同参数被改变(Dynamic reconfiguration of logging targets)。这些参数包括端口号、MAC地址、IP地址和其他一些设定。
如果用户空间程序希望使用TAP设备那么启用这个特性可以允许这样的活动(Universal TUN/TAP device driver support)。
这个驱动用于本地以太网隧道(Virtual ethernet pair device)。
"Virtio network driver"用于QEMU、Xen、KVM和其他虚拟机。
下一步,可以启用"ARCnet support"。ARCnet是一种类似令牌环本地局域网络(Local-Area-Network (LAN)协议。ARCnet代表"Attached Resource Computer Network"(附加资源计算器网络)。
现在,我们进入到"ATM drivers"。ATM代表"Asynchronous Transfer Mode"(异步传输模式)。ATM用于电信。
Marevell以太网交换机芯片需要这个驱动(Marvell 88E6060 ethernet switch chip support)。同样,这类交换机的芯片同样需要依赖模型(Marvell 88E6085/6095/6095F/6131 ethernet switch chip support)和(Marvell 88E6123/6161/6165 ethernet switch chip support)。
现在,我们可以学习关于"Ethernet driver support"。
首先我们可以启用/禁用"3Com devices"。接下来允许内核开发者选择支持哪些3Com设备。
下一组选项是对于不同的"Adaptec devices"和接下来的"Alteon devices"。
这些只是特定设备/供应商驱动。通常地,这些驱动被作为模块加入。
在设置了这两组选项后,接下来还有"AMD devices"和"Atheros devices"。
注意:请记住内核会运行在哪类硬件上。对于大量不同的设备,或许最好把它们作为模块加入
这里有不同特定供货商的设备驱动-"Cadence devices"、"Broadcom devices"、"Brocade devices"、"Chelsio devices"、"Cisco devices"、"Digital Equipment devices"。一些其他的特定设备/供应商驱动遵循它们。
接下来的驱动并不是特定设备/供应商的 "SLIP (serial line) support"。这个驱动支持SLIP和CSLIP。SLIP(Serial Line Internet Protocol)是一种用于调制解调器和串口的因特网驱动。PPP现在用来代替SLIP。CSLIP是压缩的SLIP。
下面,"CSLIP compressed headers"可以启用用来压缩TCP/IP头。CSLIP快于SLIP但是想要启用CSLIP传输和接收的计算机都必须理解CSLIP。
当在恶劣的模拟线路上使用SLIP时最好启用"Keepalive and linefill",这会帮助保持连接。
对于质量差的网络或者7bit网络中运行IP而言最好启用"Six bit SLIP encapsulation"。
现在我们可以进入流行的USB系统但是这些是用于网络的USB驱动。
第一个启用/禁用的USB网络设备是"USB CATC NetMate-based Ethernet device support"。这是用于10Mbps的USB以太网EL1210A芯片设备。USB设备将会扮演和成为一个以太网设备即使硬件是USB。
接下来除了设备是KLSI KL5KUSB101B芯片组(USB KLSI KL5USB101-based ethernet device support),其他与上面的驱动一样。
Pegasus USB是USB转以太网的适配器/转换器(USB Pegasus/Pegasus-II based ethernet device support)。
接下来是另外一个USB转以太网驱动(USB RTL8150 based ethernet device support)。
下一篇文章中我们将继续配置USB网络系统。
--------------------------------------------------------------------------------
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-14.4765/
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出