가장 사용자 친화적인 방식으로 토론

가장 사용자 친화적인 방식으로 토론

커널 모듈이 있고 이를 배포(예: 패키지)하고 싶습니다.

사용자가 다른 작업을 수행할 필요가 없도록 배포하고 싶습니다 yum/dnf install kmod-mymodule.

  • SRPM: 사용자는 자신의 컴퓨터에 RPM을 구축한 다음 RPM을 설치해야 합니다. yum 저장소에 넣을 수 없습니다
  • RPM: RHEL의 모든 주 버전과 부 버전에 대해 RPM을 구축해야 합니다.
  • DKMS: 해결책일 수도 있지만 사용자가 dkms 사용 방법을 알기를 기대하지만 그다지 투명하지는 않습니다.

yum install kmod-mymodule사용자가 특정 시스템용 모듈을 컴파일하기 만 하면 되도록 커널 모듈을 쉽게 배포할 수 있는 방법이 있습니까 ?

유통과 관련없는 솔루션이 있다면 모두 귀담아들겠습니다!

답변1

가장 사용자 친화적인 방식으로 토론

RPM: RHEL의 모든 주 버전과 부 버전에 대해 RPM을 구축해야 합니다.

그러나 고객의 관점에서 보면 아마도 올바른 접근 방식일 것입니다. 단일 패키지, 깨끗하고 즉각적이며 종속성이 없으며 설치됩니다.

6~12개 버전을 모두 동일한 SRPM으로 처리해야 할 수도 있습니다. 이 SRPM을 자신의 프로젝트에 업로드할 수 있습니다.구리모듈을 구축하는 데 필요한 전력 비용은 IBM이 지불하게 하거나 실행되는 쉘 스크립트에서 루프를 설정할 수 있습니다 for config in /etc/mock/rhel+epel-{7,8,9}-{x86_64,aarch64}.cfg ; do mock --rebuild ${your SRPM here} -r ${config} ; done (다른 RHEL 부 버전을 제공하려면 /etc/mock에서 템플릿을 약간 조정해야 할 수도 있음).

또는 가장을 사용하여 격리된 빌드 환경을 설정하는 대신 자체 컨테이너, 가상 머신 또는 현장에서 사용 가능한 모든 항목에 설정할 수 있습니다.

목표 RPM을 자동으로 구축합니다.

당신은 사용하고 싶을 것입니다아크모즈, 커널을 업데이트하고 처음으로 설치할 때마다 바이너리 커널 모듈 RPM이 자동으로 다시 빌드되도록 합니다.

이렇게 하면 사용자는 커널과 함께 자동으로 업데이트되는 커널 헤더 패키지에 의존하는 akmod 패키지를 설치하는 것 외에는 아무것도 할 필요가 없습니다. 또한 필요한 빌드 도구(C 컴파일러 등)에 따라 다릅니다.

rpm퓨전커널 모듈을 akmod로 패키지좀 더 자세히(약간). 결국 akmod는 kmod RPM을 자동으로 구축하는 방법일 뿐입니다.

실제 사례를 살펴보는 것이 가장 좋습니다. 이 v4l2loopback-kmod패키지에는 Linux 커널의 v4l2 카메라 인프라에 비디오 루프백 기능을 추가하는 타사 커널 모듈이 포함되어 있습니다. 나머지 패키징 파일과 함께 사양을 찾을 수 있습니다.여기.

관련 정보