SATA:基本支援需要哪些 Linux 核心驅動程式?

SATA:基本支援需要哪些 Linux 核心驅動程式?

我正在尋找基本的核心驅動程式來啟用 SATA 支援。

我有一個 Braswell(英特爾 SoC)設置,我想將核心驅動程式的數量減少到最少。 SATA 支援是否需要 ATA 驅動程式? SCSI 驅動程式怎麼樣?或設備映射器支援(從 RAID 選單)?除了製造商的驅動程式之外,似乎還需要 10 多種不同的通用驅動程式來支援 SATA。

我使用的是 linux 核心 4.4,我在文件中找不到太多資訊。 ATA、SATA 和 SCSI 選單配置選項似乎分散在多個部分。

我想最重要的是驅動libata程序,但我不清楚他們是否需要 ATA 或 SCSI 驅動程式

Device Drivers  --->
    Serial ATA and Parallel ATA drivers (libata)   --->

我搜尋了該主題,但沒有找到明確的答案。我喜歡這個關於 ATA 和 SCSI 的歷史觀點以及它們如何能夠搭腔

此外,除了供應商特定的驅動程式之外,為另一個 SoC(例如 ARM SoC)啟用 SATA 時是否會有任何重大差異?理想的答案是參考 menuconfig 中的特定選項!

謝謝 !

答案1

部分答案:

內核層有點複雜,我無法給你完整的圖片。如今,幾乎所有儲存裝置都使用某種 SCSI 命令(這就是它們顯示為/dev/sdX而不是 的原因/dev/hdX),儘管這些命令可以透過不同的機制(ATA 封包、USB 或其他)傳輸。所以你至少需要:

  • 適用於您的特定硬體的 SATA 驅動程式(可能是多個模組,例如libahci
  • 通用 ATA 層(可能有多個模組,包括libata
  • 通用 SCSI 層,至少針對您使用的儲存設備類型(肯定是多個模組,包括scsi_mod)。

思考核心應該能夠找出最小的依賴關係本身menuconfig:如果您首先停用所有內容,然後僅啟用底部驅動程式(特定於硬體)和頂部驅動程式(SCSI 磁碟、CONFIG_BLK_DEV_SD模組sd_mod),您將可能最終得到一個相當最小的可行配置。

相關內容