SATA: 기본 지원을 위해서는 어떤 Linux 커널 드라이버가 필요합니까?

SATA: 기본 지원을 위해서는 어떤 Linux 커널 드라이버가 필요합니까?

SATA 지원을 활성화하기 위한 기본 커널 드라이버를 찾고 있습니다.

Braswell(Intel SoC) 설정이 있고 커널 드라이버 수를 최소한으로 줄이고 싶습니다. SATA를 지원하려면 ATA 드라이버가 필요합니까? SCSI 드라이버는 어떻습니까? 아니면 장치 매퍼 지원(RAID 메뉴에서)? 제조업체의 드라이버 외에도 SATA를 지원하는 데 필요한 일반 드라이버가 10개 이상인 것으로 보입니다.

나는 리눅스 커널 4.4를 사용하고 있는데 문서에서 많은 정보를 찾을 수 없습니다. ATA, SATA 및 SCSI 메뉴 구성 옵션은 여러 섹션에 분산되어 있는 것으로 보입니다.

가장 중요한 것은 드라이버라고 생각합니다 libata. 하지만 ATA 또는 SCSI 드라이버가 필요한지는 잘 모르겠습니다.

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

이 주제를 검색했지만 명확한 답변을 찾지 못했습니다. 나는 ATA와 SCSI에 대한 역사적 관점과 그들이 어떻게 할 수 있는지를 좋아합니다.서로 대화.

또한 공급업체별 드라이버 외에 ARM SoC와 같은 다른 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) 만 활성화하면가능한그 결과 상당히 최소한의 실행 가능한 구성이 탄생했습니다.

관련 정보