カーネルのアップグレード時にDKMSモジュールが正しくインストールされていません。

カーネルのアップグレード時にDKMSモジュールが正しくインストールされていません。

私のシステムにはいくつかのDKMSモジュールがインストールされています。私のもの、そのいくつかは、OracleのVirtualBox 5などのかなり重要なメンテナンスパッケージです。

カーネルをアップグレードするたびに、すべてのDKMSモジュールが破損して新しいカーネルにインストールされないことがわかりました。私のモジュールの構成が間違っていると思いましたが、VirtualBoxも破損しているのを見ると他の問題のようです。

DKMSが最新のカーネルバージョンにモジュールをインストールしない理由をデバッグする方法は?

私はカーネル3.19、Ubuntu 14.04を使用しています。

カーネルのアップグレード後、dkms status出力はあまりありません。つまり、まったく私のDKMSモジュールが正しくインストールされました。

答え1

現在使用中のディストリビューションに関する情報がありません。 VirtualBox 5.xもdkmsに正しく登録されていないことは言及する価値があります。つまり、カーネルの更新後、dkms はこれらのモジュールを再構築しないことを意味します。

~のためDKMS をインストールするために提供した指示このステップでは、モジュールソースが/usr/src/<modulename>-<moduleversion>/現在実行中のカーネル(または指定されたカーネル)にインストールされており、モジュールが現在実行中のカーネル用に構築されていることに注意してください。起動時にdkmsサービスが実行されていない場合、新しいカーネルが最初に起動したときに新しいバージョンはコンパイルされません。

確認が簡単です。dkms status初めて新しいカーネルを起動した後、ルートとして実行したときに表示されるすべてのモジュールを自動的に再構築する必要があります。そしてそのカーネルのカーネルヘッダをインストールした場合。さらに、dkms.conf関連モジュールを指定する必要があるdkmsサービスAUTOINSTALL=Y(通常は/etc/rc.d/init.d/dkms 以前のディストリビューションの場合)は、次回の起動時に登録済みモジュールを再構築します。

各条件が満たされていることを確認できますか?具体的には、起動時に実行されているサービスがdkmsステータスを確認し、必要に応じて新しいモジュールをビルドしますか?dkmsまたはdkms_autoinstallerこれと同様に呼び出す必要があります。

比較のために、以下は、dkms status複数のカーネルバージョンに対して複数のバイナリとソースモジュールがインストールされている場合の出力です。

[doktor5000@Mageia5]─[16:40:27]─[~] sudo dkms status | sort
broadcom-wl, 6.30.223.271-1.mga5.nonfree, 4.1.12-desktop-1.mga5, x86_64: installed 
broadcom-wl, 6.30.223.271-1.mga5.nonfree, 4.1.13-desktop-2.mga5, x86_64: installed 
broadcom-wl, 6.30.223.271-1.mga5.nonfree, 4.1.8-desktop-1.mga5, x86_64: installed 
nvidia-current, 346.96-1.mga5.nonfree, 4.1.12-desktop-1.mga5, x86_64: installed 
nvidia-current, 346.96-1.mga5.nonfree, 4.1.12-desktop-1.mga5, x86_64: installed-binary from 4.1.12-desktop-1.mga5
nvidia-current, 346.96-1.mga5.nonfree, 4.1.13-desktop-2.mga5, x86_64: installed-binary from 4.1.13-desktop-2.mga5
nvidia-current, 346.96-1.mga5.nonfree, 4.1.8-desktop-1.mga5, x86_64: installed 
nvidia-current, 346.96-1.mga5.nonfree, 4.1.8-desktop-1.mga5, x86_64: installed-binary from 4.1.8-desktop-1.mga5
rtl8192cu-fixes, 1.10, 4.1.12-desktop-1.mga5, x86_64: installed 
rtl8192cu-fixes, 1.10, 4.1.13-desktop-2.mga5, x86_64: installed 
rtl8192cu-fixes, 1.10, 4.1.8-desktop-1.mga5, x86_64: installed 
sysdig, 0.2.0-1.mga5, 4.1.13-desktop-2.mga5, x86_64: installed 
virtualbox, 5.0.10-1.mga5, 4.1.12-desktop-1.mga5, x86_64: installed 
virtualbox, 5.0.10-1.mga5, 4.1.13-desktop-2.mga5, x86_64: installed-binary from 4.1.13-desktop-2.mga5
virtualbox, 5.0.8-1.mga5, 4.1.12-desktop-1.mga5, x86_64: installed-binary from 4.1.12-desktop-1.mga5
virtualbox, 5.0.8-1.mga5, 4.1.8-desktop-1.mga5, x86_64: installed-binary from 4.1.8-desktop-1.mga5

関連情報