드라이버 저장소에 변경 사항 푸시

드라이버 저장소에 변경 사항 푸시

내 거이해하다장점은 dkmsLinux 시스템에서 연결/연결 해제된 모든 장치 드라이버를 동적으로 관리하는 방법이라는 것입니다. 이것이 맞다면 장치 드라이버를 설치할 수 있는 "저장소"를 구성할 수 있으므로 핫 플러그 ​​가능 장치가 연결되면 해당 장치에 대한 드라이버를 찾을 수 있습니다(여기에 저장됨). 라이브러리)를 로드합니다.

만약 이것이 맞다면,이 저장소는 어디에 있으며 위치를 구성할 수 있습니까?원격으로(HTTP, TCP 등을 사용하여) 드라이버를 찾도록 구성할 수 있습니까?

반품,dkms는 런타임에 장치 드라이버를 동적으로 업데이트/업그레이드하는 방법을 제공합니까?장치 드라이버 업데이트를 이 저장소에 푸시한 다음 dkms가 자동으로 드라이버를 릴리스/제거하고, 기존 드라이버를 새/업데이트된 드라이버로 덮어쓴 다음 새 드라이버를 다시 로드하도록 하면 좋을 것입니다.

답변1

어느 것도 아니다우데브...도 아니다데이터 관리 시스템"Linux 시스템에서 연결/연결 해제된 모든 장치 드라이버를 동적으로 관리하는 방법"으로 적절하게 설명할 수 있습니다. udev 동적 관리장비, 드라이버가 아님 - /dev장치가 연결될 때 항목을 생성합니다. DKMS는 드라이버에 관한 것이지만 장치용 드라이버를 찾는 것과는 아무런 관련이 없습니다. DKMS는 커널이 설치될 때 소스에서 타사 드라이버를 컴파일하는 방법입니다.

커널이 드라이버가 없는 장치를 감지하면 이 프로그램을 호출합니다.modprobe이 드라이버를 제공하는 모듈을 로드해 보십시오. 그러면 프로그램 modprobe은 다음에 의해 생성된 데이터베이스를 참조합니다.depmod*.ko.Look에 위치하여 횡단합니다 ./lib/modules/VERSION/재부팅 후 데비안 직렬 PCI 카드가 감지되지 않습니다이 메커니즘에 대한 자세한 설명입니다.

장치가 연결되어 있고 메모리에 드라이버가 없는 경우 명목상 이벤트 순서는 다음과 같습니다.

  1. modprobe드라이버를 로드하기 위해 커널에 의해 호출됩니다 .
  2. modprobe에서 모듈 파일을 로드합니다 /lib/modules.
  3. 이제 드라이버를 사용할 수 있으므로 커널은 udev에 새 장치가 있음을 알립니다.
  4. /devudev는 새 장치에 대한 항목을 만듭니다.

알 수 없는 장치가 감지되면 어딘가에서 장치 드라이버를 다운로드할 수 있는 표준 메커니즘이 없습니다. 드라이버를 설치하는 일반적인 방법은 배포판에서 제공하는 가능한 모든 드라이버를 시스템에 설치하는 것입니다. 드라이버를 다운로드하는 것이 항상 가능한 것은 아닙니다(예: 드라이버를 네트워크에 연결해야 하거나 드라이버가 없는 경우). 네트워크 연결). 드라이버 업그레이드는 드라이버 파일이 포함된 패키지(일반적으로 커널 패키지)를 업그레이드하여 다른 것을 업그레이드하는 것과 동일하게 작동합니다.

드라이버가 Linux 커널의 일부가 아닌 경우 DKMS가 개입합니다. 커널 버전과 컴파일 옵션에서 작동하는 모듈 바이너리를 만드는 것은 어렵습니다. DKMS는 설치된 커널에 대한 모듈을 자동으로 컴파일하는 프레임워크입니다. 이러한 모듈은 소스 코드로 배포됩니다.

관련 정보