데비안에서 여러 커널 이미지 버전을 위해 DKMS 모듈을 어떻게 컴파일합니까?


10

3.16 및 4.0 버전의 linux-image패키지가 설치되어 있습니다. 로그인하는 동안 "고급 옵션"메뉴 항목에서 부팅 할 커널을 선택할 수 있습니다. 그러나 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

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

이전 커널 이미지에 대해 패키지가 컴파일되지 않는 이유는 무엇입니까? 이 때문에 내가 뭔가를 구성 할 수 있다 컴파일?


2
이미 존재합니까?
0xC0000022L

현재 해당 컴퓨터에 액세스 할 권한이 없지만 해당 DKMS 패키지를 다시 설치하려고하는 동일한 메시지가 나타납니다. 아마 아닐 것입니다.
doublep

아니요, 설치되지 않았습니다. 그러나 이제 해당 패키지의 최신 버전을 사용할 수있게되었으며 업그레이드 한 후에는 두 커널 모두에 대해 자동으로 빌드되었습니다. 따라서 패키지에서도 일부 문제가 발생했을 수 있습니다. 반면, 3.16에서 부팅하는 동안 업그레이드를 수행 했으므로 현재 커널과 설치된 최신 커널을 위해 항상 빌드 됩니까?

답변:


5

DKMS 설치 명령 (Ref :)을 사용 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

1
좋습니다. DKMS에 알려진 모듈과 버전을 알려면 dkms statuscommand를 사용하십시오 .
Ruslan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.