Linux中國

戴文的Linux內核專題:16 配置內核 (12)

歡迎來享受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 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國