Debianで複数のカーネルイメージバージョンの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-headerslinux-kbuildlinux-compiler-gccあまりにも3.16用にインストールされています。

パッケージが古いカーネルイメージ用にコンパイルされないのはなぜですか?それはので、私は何かを設定することができますされてコンパイル?


2
おそらくすでに存在していますか?
0xC0000022L 2015年

現在、そのコンピュータにアクセスして確認することはできませんが、DKMSパッケージを再インストールしようとすると同じメッセージが表示されます。だから、おそらくない。
2015年

いいえ、インストールされていません。しかし、そのパッケージの新しいバージョンが利用可能になり、アップグレードすると、両方のカーネル用に自動的にビルドされました。そのため、パッケージにも問題がある可能性があります。一方、3.16で起動中にアップグレードを実行したため、常に現在のカーネルとインストールされている新しいカーネル用にビルドされるのでしょうか?
2015年

回答:


5

DKMSインストールコマンド(参照:)を使用してman dkms、特定のカーネル用のモジュールを再構築およびインストールできます。以下は、1つのカーネルバージョンの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 statusコマンドを使用します。
Ruslan
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.