戴文的Linux內核專題:18 配置內核 (14)
接下來,在這個任務中,我們可以啟用/禁用"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通知。 如果目標是RAID,Adaptec 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/
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive