SATA: какие драйверы ядра Linux необходимы для базовой поддержки?

SATA: какие драйверы ядра Linux необходимы для базовой поддержки?

Я ищу базовые драйверы ядра для включения поддержки SATA.

У меня есть Braswell (Intel SoC) и я хотел бы сократить количество драйверов ядра до минимума. Нужны ли для поддержки SATA драйверы ATA? А как насчет драйверов SCSI? Или поддержка Device Mapper (из меню RAID)? Кажется, для поддержки SATA требуется более 10 различных универсальных драйверов, помимо драйвера производителя.

Я использую ядро ​​Linux 4.4 и не смог найти много информации в документации. Кажется, что параметры ATA, SATA и SCSI menuconfig разбросаны по нескольким разделам.

Я думаю, что самое важное — это драйвер libata, но мне не ясно, нужны ли им драйверы ATA или SCSI.

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

Я искал тему, но не нашел четкого ответа. Мне понравился этот ответ об исторической перспективе ATA и SCSI и о том, как они могутразговаривать друг с другом.

Также, будет ли какая-либо существенная разница при включении SATA для другой SoC, например, ARM SoC, помимо драйвера, специфичного для поставщика? Идеальным ответом было бы обращение к конкретным опциям в menuconfig!

Спасибо !

решение1

Частичный ответ:

Уровни ядра немного сложны, и я не могу дать вам полную картину. Сегодня почти все устройства хранения используют какие-то команды SCSI (поэтому они отображаются как /dev/sdXвместо /dev/hdX), хотя это может передаваться через различные механизмы (пакеты ATA, или USB, или другие). Поэтому вам нужно как минимум:

  • Драйвер SATA для вашего конкретного оборудования (возможно, несколько модулей, например libahci)
  • Общий уровень ATA (возможно, несколько модулей, включая libata)
  • Общий уровень SCSI, по крайней мере для того типа устройств хранения данных, который вы используете (определенно несколько модулей, включая scsi_mod).

ядуматьядро должно быть способно самостоятельно определить минимальные зависимости menuconfig: если вы сначала отключите все, а затем включите только нижний драйвер (зависящий от оборудования) и верхний драйвер (диск SCSI, CONFIG_BLK_DEV_SDмодуль sd_mod), вывероятныйв итоге получаем довольно минимальную работоспособную конфигурацию.

Связанный контент