20131108-2 选题(The Linux Kernel 的两篇新文章)

This commit is contained in:
DeadFire 2013-11-08 10:06:27 +08:00
parent ce44c883f0
commit c4643e00d3
2 changed files with 240 additions and 0 deletions

View File

@ -0,0 +1,122 @@
19 The Linux Kernel: Configuring the Kernel Part 15
================================================================================
![](http://www.linux.org/attachments/slide-jpg.578/)
Aloha! In this article of the Linux kernel series, we are still configuring drivers for USB networking. Then, we will move on to input devices.
First, we can enable/disable the "Multi-purpose USB Networking Framework" which allows connecting laptops to desktop systems.
Next, the ASIX USB-to-Ethernet adapter driver can be enabled/disabled (ASIX AX88xxx Based USB 2.0 Ethernet Adapters).
Then, there is another ASIX adaptor driver (ASIX AX88179/178A USB 3.0/2.0 to Gigabit Ethernet).
NOTE: Generally, it is best to add adapter drivers as modules.
The Communication Device Class specification is offered in the driver (CDC Ethernet support (smart devices such as cable modems)). This specification is for USB modems. The Linux system recognizes this USB networking interface as an Ethernet interface and will be designated as "ethX" where "X" is the Ethernet device number.
Next is a specification similar to the above (CDC EEM support). CDC EEM stands for Communication Device Class Ethernet Emulation Model.
The CDC Network Control Model (NCM) also has a driver that offers the specification (CDC NCM support).
The driver providing the CDC MBIM (Mobile Broadband Interface Model) specification is also available for the Linux kernel (CDC MBIM support).
Next, there are several vendor/device specific drivers for various USB networking devices and chipsets.
After those, there is a generic driver for USB network devices that do not require any special drivers (Simple USB Network Links (CDC Ethernet subset)).
Again, there are some more drivers for device/vendor specific devices.
FUN FACT: Linux was used to make the special effects for the movie "Titanic" by James Cameron.
"CDC Phonet support" is for USB Nokia modems that use Phonet.
Now, we can move on to Wireless LAN drivers which use the 802.11 specification.
Mainly, there is a list of vendor/device specific drivers.
"SoftLED Support" controls the LEDs that are associated with the Wifi cards/devices.
Some chipsets support SDIO as seen by this driver (Atheros ath6kl SDIO support). SDIO is an extension of the Secure Digital specification for wireless SD cards. SDIO stands for Secure Digital Input/Output.
Kernel developers may also notice that some wireless devices can support QoS. QoS stands for Quality of Service. This feature gives network transmissions priority. Assume two sets of data need to be sent over a network. Only one can go first. QoS will send the most important data first.
FUN FACT: Technically, Linux is not an operating system. Linux is the kernel while GNU/Linux is the operating system.
The "Generic HDLC layer" is needed for WAN cards. HDLC stands for High-Level Data Link Control. This is a data link layer protocol.
Raw HDLC can be used with the "Raw HDLC support" driver enabled.
The "Raw HDLC Ethernet device support" driver allows the HDLC layer to emulate Ethernet.
The cHDLC driver offers a HDLC extension also called Cisco HDLC (Cisco HDLC support).
The Linux kernel also has a driver for "Frame Relay support" for HDLC. Frame Relay is a Layer 2 protocol.
HDLC can also support PPP (Synchronous Point-to-Point Protocol (PPP) support) and X.25 (X.25 protocol support).
Next, this driver offers Frame Relay the ability to use DLCI (Frame Relay DLCI support).
The "LAPB over Ethernet driver" creates a device file that permits the user to make a LAPB point-to-point connection to another computer via Ethernet. The device file is usually /dev/lapb0 for the first of such device.
X.25 frames can be sent over telephone lines with this driver (X.25 async driver). Specifically, this driver allows X.25 to use asynchronous serial lines.
A special driver is needed for ISA SBNI12-xx cards (Granch SBNI12 Leased Line adapter support). These cards are inexpensive substitutes for leased line modems.
The next driver allows parallel connections to carry scheduled traffic (Multiple line feature support). This allows the Linux system to more efficiently manage parallel connection on SBNI12 adapters. Some Linux users claim this driver doubles their speed. However, I have never tested this to know for myself.
Next, "IEEE 802.15.4 drivers" can be configured. This is for slow WAN devices. This is a standard that controls the media and physical layers of the wireless network. This specification uses different frequencies in different continents. For example, in Europe, such wireless devices will use the 868.0-868.6MHz frequency.
The first setting in this category is for a fake LR-WPAN driver (Fake LR-WPAN driver with several interconnected devices). LR-WPAN stand for Low-Rate Wireless Personal Area Network.
FUN FACT: Only about 2% of the current kernel was written by Linus Torvalds.
The vmxnet3 virtual Ethernet used by VMware requires this driver (VMware VMXNET3 ethernet driver). When making a kernel for a large number of users, it is best to enable this as a module because someone may want to use the Ethernet on VMware.
The Hyper-V virtual network needs this driver (Microsoft Hyper-V virtual network driver). You may be wondering if this is the same Hyper-V virtual network by Microsoft. It is and yes, Linux supports Hyper-V.
The digital telephone service, ISDN, is supported by this driver (ISDN support). ISDN stands for Integrated Services Digital Network. In France, ISDN is known as RNIS which stands for Réseau numérique à intégration de services. With an ISDN adapter, a computer can start and accept voice calls. This allows computers to be used as answering machines or some other telephone service device. ISDN can also carry video information.
Now, we can move on to input devices (Input device support). These are devices that give the computer information. Mice and keyboards are the most commonly used and known input devices. Scanners are another example of input devices.
First, there is a driver that supports various haptic/tactile feed-back devices (Support for memoryless force-feedback devices). For instance, many game controllers vibrate which is haptic/tactile feed-back.
Some input devices check on the status of the hardware (Polled input device skeleton). Such behavior requires this driver.
Input devices that use sparse keymaps need this driver (Sparse keymap support library). A keymap is the layout information for keyboards.
Next, this is another keymap (Matrix keymap support library).
NOTE: When making a kernel for a broad user group, include most or all input devices as modules because the developer usually does not know what type of devices the users may plugin to the computer.
FUN FACT: A Vanilla Kernel is a Linux kernel in its original, unchanged state.
The "Mouse interface" makes two different device files for the mouse. The two device files are /dev/input/mouseX and /dev/input/mice.
This next driver makes a psaux device file that is an alias to /dev/input/mice (Provide legacy /dev/psaux device). The psaux device file is /dev/psaux.
If the system has a digitizer, then the horizontal resolution needs to be set (Horizontal screen resolution) and then the vertical resolution (Vertical screen resolution). A digitizer is the type of touch-screen that supports touch-pens that allow users to draw. Other touch-screens cannot support such complex input.
The next driver supports joysticks and gamepads (Joystick interface). This driver creates the /dev/input/jsX files.
The "Event interface" driver allows input devices to be accessible via /dev/input/eventX.
The "Event debugging" driver outputs all input events to the system's log. Do not enable this for any reason other than debugging systems. Obviously, for performance reasons, but the main reason I recommend this be disabled is for security purposes. All key-presses are plainly logged including passwords.
Next, a list of various keyboard drivers are listed for configuration (Keyboards) followed by mouse drivers (Mice) and then joystick/gamepad drivers (Joysticks/Gamepads).
After that, various drivers for specific tablet hardware/vendors are listed (Tablets). After that is the driver list for "Touchscreens".
The last set of input device drivers is a list of miscellaneous drivers for specific hardware and vendors (Miscellaneous devices).
The next article of this series will discuss input ports. Do not forget to read the other articles of this series and this website. Mahalo!
**NOTE TO FANS: Thank you** for all of your kind emails telling me how much you all love these articles.
--------------------------------------------------------------------------------
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-15.4793/
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,118 @@
20 The Linux Kernel: Configuring the Kernel Part 16
================================================================================
![](http://www.linux.org/attachments/slide-jpg.587/)
Welcome to the next Linux kernel article. In this article, we will discuss the input/output ports.
First, the "i8042 PC Keyboard controller" driver is needed for PS/2 mice and AT keyboards. Before USB, mice and keyboards used PS/2 ports which are circular ports. The AT keyboard is an 84-key IBM keyboard that uses the AT port. The AT port has five pins while the PS/2 port has six pins.
Input devices that use the COM port (sometime called RS232 serial port) will need this diver (Serial port line discipline). The COM port is a serial port meaning that one bit at a time is transferred.
The TravelMate notebooks need this special driver to use a mouse attached to the QuickPort (ct82c710 Aux port controller).
Parallel port adapters for PS/2 mice, AT keyboards, and XT keyboards use this driver (Parallel port keyboard adapter).
The "PS/2 driver library" is for PS/2 mice and AT keyboards.
"Raw access to serio ports" can be enabled to allow device files to be used as character devices.
Next, there is a driver for the "Altera UP PS/2 controller".
The PS/2 multiplexer also needs a driver (TQC PS/2 multiplexer).
The ARC FPGA platform needs special driver for PS/2 controllers (ARC PS/2 support).
NOTE: I want to make it clear that the PS/2 controllers that are discussed in this article are not Sony's game controllers for their PlayStation. This article is discussing the 6-pin mouse/keyboard ports. The controller is the card that holds the PS/2 ports.
The "Gameport support" driver offers support for the 15-pin gameport. Gameport was the 15-pin port used by many input gaming devices until the invention of the USB port.
The next driver is for gameports on ISA and PnP bus cards (Classic ISA and PnP gameport support). ISA stands for Industry Standard Architecture and was a parallel bus standard before PCI. PnP stands for Plug-and-Play and was a common standard before ISA.
"PDPI Lightning 4 gamecard support" provides a driver for a proprietary gamecard with gameports.
The SoundBlaster Audigy card is a proprietary gameport card (SB Live and Audigy gameport support).
The ForteMedia FM801 PCI audio controller has a gameport on the card (ForteMedia FM801 gameport support). This driver only supports the gameport.
Next, we can move on to "Character devices". Character devices transfer data character by character.
First, TTY can be enabled or disabled (Enable TTY). Removing TTY will save a lot of space, but TTY is needed for terminals and such. Unless you know what you are doing, do not disabled TTY.
NOTE TO MY FANS: If you know of a reason for disabling TTY, could you post the answer below and share with us. Mahalo!
Next, support for "Virtual terminals" can be enabled/disabled. Again, a lot of space can be saved, but virtual terminals are very important.
This next driver supports font mapping and Unicode translation (Enable character translations in console). This can be used to convert ASCII to Unicode.
Virtual terminals can be used as system consoles with this driver (Support for console on virtual terminal). A system console manages the logins and kernel messages/warnings.
Virtual terminals must channel through a console driver to interact with the physical terminal (Support for binding and unbinding console drivers). Before the virtual terminal can do so, the console driver must be loaded. When the virtual terminal is closed, the console terminal must be unloaded.
The next driver provides support for Unix98 PTY (Unix98 PTY support). This is Unix98 pseudo terminal.
FUN FACT: The Linux kernel allows a filesystem to be mount many times in many places at once.
Next, "Support multiple instances of devpts" can be supported. The devpts filesystem is for pseudo-terminal slaves.
Legacy support for PTY can also be enabled (Legacy (BSD) PTY support).
The max amount of legacy PTYs in use can be set (Maximum number of legacy PTY in use).
The next driver can be used to offer support to serial boards that the other drivers fail to support (Non-standard serial port support).
Next, there are some drivers for specific boards and cards.
The GSM MUX protocol is supported with this driver (GSM MUX line discipline support (EXPERIMENTAL)).
The next driver enables the kmem device file (/dev/kmem virtual device support). kmem is usually used for kernel debugging. kmem can be used to read certain kernel variables and states.
The Stallion cards have many serial ports on them (Stallion multiport serial support). This driver specifically supports this card.
Next, we can move on to drivers for serial devices. As stated before, serial devices transfer one bit at a time.
The first driver is for standard serial port support (8250/16550 and compatible serial support).
Plug-and-Play also exists for serial ports with this driver (8250/16550 PNP device support).
The following driver allows the serial ports to be used for connecting a terminal to be used as a console (Console on 8250/16550 and compatible serial port).
Some UART controllers support Direct Memory Access (DMA support for 16550 compatible UART controllers). UART stands for Universal Asynchronous Receiver/Transmitter. UART controllers convert serial to parallel and vice versa.
Next, this driver offers support for standard PCI serial devices (8250/16550 PCI device support).
16-bit PCMCIA serial devices are supported by this driver (8250/16550 PCMCIA device support). Remember, PCMCIA is a PC-card that is usually used in laptops.
The maximum number of supported serial ports can be set (Maximum number of 8250/16550 serial ports) and then the maximum that are registered during boot-up (Number of 8250/16550 serial ports to register at runtime).
For extended serial abilities like HUB6 support, enable this driver (Extended 8250/16550 serial driver options).
A special driver is needed to support more than four legacy serial ports (Support more than 4 legacy serial ports).
Serial interrupts can be shared when this driver is used (Support for sharing serial interrupts).
Serial port IRQs can be autodetected using this driver (Autodetect IRQ on standard ports).
RSA serial ports are also supported by the Linux kernel (Support RSA serial ports). RSA stands for Remote Supervisor Adapter. RSA is an IBM-specific hardware.
Next, there are various vendor/device specific divers.
This is a TTY driver that uses printk to output user messages (TTY driver to output user messages via printk). Printk (print kernel) is a special piece of software that usually prints the boot-up messages. Any string that is displayed by printk is usually put in the /var/log/messages file. The shell command "dmesg" displays all strings that were used by printk.
Next, we can enable/disable support for parallel printers (Parallel printer support).
The next driver allows a printer to be used as a console (Support for console on line printer). This means kernel messages will be literally printed at the printer. Normally when the word "print" was used in this article series, it meant putting data on the screen. This time, this literally means putting the data on paper.
The following driver makes the device files at /dev/parport/ (Support for user-space parallel port device drivers). This allows some processes to access.
Again, the Linux kernel has many features and drivers, so we will discuss more drivers in the next article. Mahalo!
NOTE TO FANS: We are getting close to the end of the configuration process. I still have a list of all of the suggested Linux kernel topics that many of you wanted to know about. Some of the topics include installing the kernel, managing modules, adding 3rd-party drivers, and all of the other very interesting suggestions and requests.
--------------------------------------------------------------------------------
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-16.4835/
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出