web-dev-qa-db-ja.com

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

私のシステムには複数のDKMSモジュールがインストールされています。それらの一部は mine で、一部はOracleのVirtualBox 5などのかなり主要な保守パッケージに属しています。

私が見つけたのは、カーネルをアップグレードするたびに、すべてのDKMSモジュールが壊れ、新しいカーネルにインストールされないことです。私は自分のモジュールの代わりに構成が悪いと思っていましたが、VirtualBoxも壊れているように見えるので、それが別の問題だと疑っています。

DKMSが新しいカーネルバージョンでモジュールをインストールしない理由をデバッグするにはどうすればよいですか?

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

カーネルのアップグレード後dkms statusは何も出力しません。つまり、noneのDKMSモジュールが正しくインストールされています。

6
Naftuli Kay

現在使用しているディストリビューションの情報を見逃しています。また、VirtualBox 5.xも私にとってdkmsに適切に登録されませんでした。つまり、カーネルの更新後、これらのモジュールはdkmsによって再構築されません。

DKMSのインストールに関して提供した指示 の場合、これらの手順では、モジュールソースが/usr/src/<modulename>-<moduleversion>/の下にインストールされ、モジュールが現在実行中のカーネル(または指定された)。起動時にdkmsサービスが実行されていない場合、新しいカーネルが初めて起動されたときに新しいバージョンはコンパイルされません。

簡単に確認できます。dkms statusをrootとして実行すると表示されるすべてのモジュールは、新しいカーネルを初めて起動したときに自動的に再構築されますandそのカーネルのカーネルヘッダーがインストールされている場合。さらに、問題のモジュールのdkms.confにはAUTOINSTALL=Yを指定する必要があり、dkmsサービス(通常、古いディストリビューションの場合は/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
2
doktor5000