<!-- 注: このサイトはまだ工事中です -->

違うカーネルのドライバが無かった

{
  date: "",
}

Debian系での話だけど,多分他のディストロでも同じことが言えるはず。

きっかけ

自分はこれまでzenカーネル(liquorix)というものを使っていたのだが,とある理由からそれを標準カーネルに切り替えたところ,今まで使っていたカーネルモジュール(主にデバイスドライバ類)が無いと怒られてしまった。

DKMS

Dynamic Kernel Module Supportの略。

linuxのソースツリーの外でカーネルモジュールを生成するための仕組みらしい。

/usr/src/hogeにモジュールのソースを置いて,

# dkms add ${NAME}/${VERSION}
# dkms build ${NAME}/${VERSION}
# dkms install ${NAME}/${VERSION}

とすることで導入できる。 非常に簡単。

原因

標準カーネル向けのモジュールが(そもそも)ビルドされてなかった事が原因。

パッケージマネージャのDKMSのフックが,ヘッダーファイルの見つからないカーネル向けのビルドを無言でスキップしてくれるので気付くのが遅れた。

ちなみに当該カーネルのヘッダーファイルのパッケージを入れたら普通にビルドされた。

参考(になるリンク)