私のシステムにはいくつかの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