dkms

Dellの最近のPCにUbuntuを入れる場合、tg3を組み込んでやらないとネットワークが認識しない。

で、ドライバはBroadcomのサイトからダウンロードして、野良ビルドでさっくり入るのだが、カーネルバージョンアップの度にmakeするのも面倒だし、うっかり忘れてリブートしたら、リモートでログインできなくなる。

dkms(Dynamic Kernel Module Support)という機構を使えば、カーネルバージョンアップの時に自動的にビルドして、ドライバをインストールしてくれるから、できればこれを使いたい。

Dellのサポートサイトにも記述はあるのだが、dkms.confとか作成してないし、dkmsに登録もしてないから、dkmsをインストールするって手順は無意味でないかい?

色々と、Webを見ても、日本語の記述がごく僅かしか無いし、tg3のdkms.confの記述なんか皆無だ。

で、何とか dkms.conf をでっち上げて、dkms add …、dkms build… ってやると、tg3_flags.h の作成でエラーと言われて止まる。

make.log見ても中身はdkmsのメッセージのみでエラーが無く、空っぽで、元ソースでtg3_flags.hを作っておいて、dkms.confでCLEAN=”make -q clean”と定義してやると、cleanでexit code 1になるけど、ビルドには成功する。

Makefileの
sh makeflags.sh > tg3_flags.h
の行が悪いのだろうというのは分かるが、Why?

shellの多重起動がいかんのかな?