Estoy buscando los controladores básicos del kernel para habilitar la compatibilidad con SATA.
Tengo una configuración Braswell (Intel SoC) y me gustaría reducir la cantidad de controladores del kernel al mínimo. ¿La compatibilidad con SATA necesita los controladores ATA? ¿Qué pasa con los controladores SCSI? ¿O compatibilidad con Device Mapper (desde el menú RAID)? Parece que se necesitan más de 10 controladores genéricos diferentes para admitir SATA además del controlador del fabricante.
Estoy usando el kernel de Linux 4.4 y no pude encontrar mucha información en la Documentación. Parece que las opciones de configuración del menú ATA, SATA y SCSI están dispersas en varias secciones.
Supongo que el más importante es el libata
controlador, pero no me queda claro si necesitan los controladores ATA o SCSI.
Device Drivers --->
Serial ATA and Parallel ATA drivers (libata) --->
Busqué el tema pero no encontré una respuesta clara. Me gustó esta respuesta sobre la perspectiva histórica de ATA y SCSI y cómo puedenhablar entre sí.
Además, ¿habría alguna diferencia importante al habilitar SATA para otro SoC, como un SoC ARM, además del controlador específico del proveedor? ¡Una respuesta ideal sería referirse a las opciones específicas en menuconfig!
Gracias !
Respuesta1
Respuesta parcial:
Las capas del núcleo son un poco complejas y no puedo darles una imagen completa. Hoy en día, casi todos los dispositivos de almacenamiento utilizan algún tipo de comando SCSI (por eso aparecen como /dev/sdX
en lugar de /dev/hdX
), aunque pueden transportarse a través de diferentes mecanismos (paquetes ATA, USB u otros). Entonces necesitas al menos:
- El controlador SATA para su hardware particular (posiblemente varios módulos, por ejemplo
libahci
) - La capa ATA genérica (posiblemente varios módulos, incluidos
libata
) - La capa SCSI genérica, al menos para el tipo de dispositivos de almacenamiento que utilices (definitivamente varios módulos, incluido
scsi_mod
).
Ipensarel kernel debería poder descubrir las dependencias mínimas por sí mismo en menuconfig
: Si primero deshabilita todo y luego habilita solo el controlador inferior (específico del hardware) y el controlador superior (disco SCSI, CONFIG_BLK_DEV_SD
módulo sd_mod
), podráprobabletermine con una configuración viable bastante mínima.