데비안에서 여러 커널 이미지 버전에 대한 DKMS 모듈을 컴파일하는 방법은 무엇입니까?

데비안에서 여러 커널 이미지 버전에 대한 DKMS 모듈을 컴파일하는 방법은 무엇입니까?

linux-image패키지 의 3.16 및 4.0 버전을 설치했습니다 . 로그인하는 동안 "고급 옵션" 메뉴 항목에서 부팅할 커널을 선택할 수 있습니다. 그러나 DKMS 모듈을 설치하면 최신 버전에 대해서만 컴파일됩니다.

Setting up fglrx-modules-dkms (1:14.12-1) ...
Loading new fglrx-14.12 DKMS files...
Building only for 4.0.0-1-amd64

3.16에서는 관련 패키지( linux-headers, linux-kbuild, )도 설치됩니다.linux-compiler-gcc

이 패키지가 이전 커널 이미지용으로 컴파일되지 않는 이유는 무엇입니까? 뭔가를 구성할 수 있나요?엮다?

답변1

DKMS 설치 명령(참조: man dkms)을 사용하여 특정 커널용 모듈을 다시 빌드하고 설치할 수 있습니다. 다음은 virtualbox 모듈의 커널 버전을 제거하여 생성된 예입니다.

sudo dkms install <module-name>/<module-version> -k <kernel-version>

$ dkms status
vboxhost, 5.0.10, 4.2.0-21-generic, x86_64: installed
vboxhost, 5.0.10, 4.2.0-22-generic, x86_64: installed
vboxhost, 5.0.10, 4.2.0-23-generic, x86_64: installed
vboxhost, 5.0.10, 4.2.0-25-generic, x86_64: installed

$ sudo dkms remove vboxhost/5.0.10 -k 4.2.0-22-generic
...

$ dkms status
vboxhost, 5.0.10, 4.2.0-21-generic, x86_64: installed
vboxhost, 5.0.10, 4.2.0-23-generic, x86_64: installed
vboxhost, 5.0.10, 4.2.0-25-generic, x86_64: installed


$ sudo dkms install vboxhost/5.0.10 -k 4.2.0-22-generic

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area....
make KERNELRELEASE=4.2.0-22-generic -C /lib/modules/4.2.0-22-generic/build M=/var/lib/dkms/vboxhost/5.0.10/build...............
cleaning build area....

DKMS: build completed.

vboxdrv.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.2.0-22-generic/updates/dkms/

vboxnetflt.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.2.0-22-generic/updates/dkms/

vboxnetadp.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.2.0-22-generic/updates/dkms/

vboxpci.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.2.0-22-generic/updates/dkms/

depmod....

DKMS: install completed.

$ dkms status
vboxhost, 5.0.10, 4.2.0-21-generic, x86_64: installed
vboxhost, 5.0.10, 4.2.0-22-generic, x86_64: installed
vboxhost, 5.0.10, 4.2.0-23-generic, x86_64: installed
vboxhost, 5.0.10, 4.2.0-25-generic, x86_64: installed

관련 정보