SATA: quais drivers do kernel Linux são necessários para o suporte básico?

1

Estou procurando os drivers básicos do kernel para ativar o suporte SATA.

Eu tenho uma configuração do Braswell (Intel SoC) e gostaria de reduzir ao mínimo o número de drivers do kernel. O suporte SATA precisa dos drivers ATA? E quanto aos drivers SCSI? Ou suporte para mapeador de dispositivos (no menu RAID)? Parece que há mais de 10 drivers genéricos diferentes necessários para suportar o SATA além do driver do fabricante.

Estou usando o kernel Linux 4.4 e não consegui encontrar muita informação na Documentação. Parece que as opções ATA, SATA e SCSI menuconfig estão espalhadas por várias seções.

Acho que o mais importante é o driver libata , mas não está claro se eles precisam dos drivers ATA ou SCSI

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

Eu pesquisei o assunto, mas não encontrei uma resposta clara. Gostei dessa resposta sobre a perspectiva histórica do ATA e do SCSI e como eles podem conversam entre si .

Além disso, haveria alguma diferença importante ao habilitar o SATA para outro SoC, como um SoC da ARM, além do driver específico do fornecedor? Uma resposta ideal referir-se-ia às opções específicas em menuconfig!

Obrigado!

    
por ForeverLearning 26.05.2017 / 19:13

1 resposta

1

Resposta parcial:

As camadas do kernel são um pouco complexas, e eu não posso te dar uma visão completa. Atualmente, quase todos os dispositivos de armazenamento usam algum tipo de comando SCSI (o motivo pelo qual eles aparecem como /dev/sdX em vez de /dev/hdX ), embora possam ser transportados por mecanismos diferentes (pacotes ATA ou USB ou outros). Então você precisa de pelo menos:

  • O driver SATA para seu hardware específico (possivelmente vários módulos, por exemplo, libahci )
  • A camada ATA genérica (possivelmente vários módulos, incluindo libata )
  • A camada SCSI genérica, pelo menos para o tipo de dispositivos de armazenamento que você usa (definitivamente vários módulos, incluindo scsi_mod ).

Eu acho que o kernel deve ser capaz de descobrir as próprias dependências mínimas em menuconfig : Se você primeiro desabilitar tudo e depois habilitar apenas o driver de baixo (hardware específico) e o driver de cima (Disco SCSI, CONFIG_BLK_DEV_SD , módulo sd_mod ) você provavelmente acabará com uma configuração funcional mínima.

    
por 27.05.2017 / 09:32