▼ 2009/11/16(Mon) Debian4にIntel PCI-E GbEを認識させる方法
別にDebian 4.0/etchに限ったことではないが、古いkernelのLinuxを使っている場合、PCI ExpressのNICなどのドライバを持っていないことが多く、OSをインストールはいいがネットワーク全滅ということがある。
Intelの場合は幸いにもドライバを公開してくれているので楽ではあるが、Windowsの時と比べてダイアログに従ってポンポン行けばよいほど楽ではないので、いろいろ試行錯誤してみて解決策を見出したので、そのメモ。
Intelの場合は幸いにもドライバを公開してくれているので楽ではあるが、Windowsの時と比べてダイアログに従ってポンポン行けばよいほど楽ではないので、いろいろ試行錯誤してみて解決策を見出したので、そのメモ。
ダウンロード
今回tryしたマシンはhp compaqのdx7500 SFF PCという、BTO PC。構成表の「インテル(R) WG82567V ギガビット・ネットワーク・コネクション」を頼りにintelを探すと、82567に該当するドライバを発見。
以下からダウンロード。
Network Adapter Driver for PCI-E Gigabit Network Connections under Linux*
インストールしてみる
とりあえずマニュアル通りにやってみる。$ cd $ tar zxvf e1000e-1.0.15.tar.gz $ cd src $ sudo make installすると、カーネルソースがないと怒られる。
ま、そりゃそうか。
Windows慣れしてると「ドライバインストールにカーネルが要る」という発想がイマイチだな…。
kernel準備
自分が使っているのはDebian 4.0/etchのrev6なので、kernel.orgからlinux-2.6.18.6.tar.bz2とかをダウンロードして/usr/src/に解凍。# mv linux-2.6.18.6.tar.bz2 /usr/src # cd /usr/src # tar jxf linux-2.6.18.6.tar.bz2
適宜小細工
カーネルソースのパスを見つけてくれない*1ので、/usr/src/linuxにシンボリックを張るのが楽。# ln -s linux-2.6.18.6 linuxversion.hが無いという問題はREADMEにも書いてあるようにmakeすりゃいいのでする。
# cd /usr/src/linux/ # make include/linux/version.hコンフィグがautoconf.hという名前で無いといけないらしいのでシンボリック。
# ln -s config.h autoconf.hで、これでmakeやったらコンパイラがないと言われたwこれはひどい……
*1 : uname -rの結果は、'2.6.18-6-686'で解凍ディレクトリに該当しない
Makefile修正
gccをインストールして再度makeに挑戦するとThis driver is not supported on kernel versions older than 2.4.0カーネルが2.4.0以下だと!?そんなはずはない…。
色々追っていくと、Makefileのカーネルバージョンが入るべきKVERに何も入っていないことが判明したので、代入しても良いかと思ったが、とりあえずunameコマンドを使う事に。
Makefileをいじって177行目あたりのKVERの定義している下に
# get the kernel version - we use this to find the correct install path KVER := $(shell $(CC) $(EXTRA_CFLAGS) -E -dM $(VERSION_FILE) | grep UTS_RELEASE | awk ' print $$3' | sed 's/\"//g') KVER := $(shell uname -r) # ←これを追加とする
makeエラー
が、まだmakeエラー起こす。どうやら、カーネル側も置いただけじゃだめで適宜コンパイルが居る模様。
# cd /usr/src/linux # make oldconfig && make prepare新機能の部分については、適当にEnter連打でよい。
ちなみに、
WARNING: Symbol version dump /usr/src/linux-2.6.18.6/Module.symvers
is missing, module will have dependencies and modversions.
は無視で問題なさそう。またmakeエラー
MODPOST /bin/sh: script/mod/modpost そのようなファイルやディレクトリはありません make[2]: *** [__modpost] Error 127 make[1]: *** [modules] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.18.6' make: *** [default] Error 2というなエラーメッセージで止まった場合、
# cd /usr/src/linux # make modules_prepareで直る。
やっと
これでやっとmakeが通った。いえーい。注意として、一発目でsudo make installやって失敗した場合、makeで生成されたファイルがroot権限で0バイトのまま残ってしまい、ユーザ権限でmakeしても許可がないなどと怒られるので、一度書庫ごと解凍し直したほうが良さそう。
make cleanやるにも、先のMakefile修正の部分までたどり着いていないとcleanできないって怒られるので。
ちなみに、sudo make installしたときの
catmanモードで/var/cache/man/cat7/e1000e.7.gz に書き込みできませんは無視した。
参考文献など
- 本家のREADME
- README
- autoconf.hはconfig.hのシンボリックでおkのソース
- Linux kernel source not configured: missing config.h [Archive] - Ubuntu Forums
- カーネルソースを利用したモジュールの作成方法についての補足
- http://sourceforge.jp/forum/forum.php?forum_id=16160
- modpostで止まった時の対処法
- incentivespro.com :: View topic - modpost missing
参考になった記事や興味深かった記事は、他の人も見つけやすいようにリンクやはてブしていただけると助かります…。
コメントも歓迎です。
▼ コメント(0件)
- TB-URL http://mo.kerosoft.com/0147/tb/
▼ 2009/11/16(Mon) Windows7のウィンドウ整列機能をオフにする
Windows7の新機能の一つに、ウィンドウの自動整列機能がある。
というのが、昨今、ワイドディスプレイ化が進んだことなどにより、左右に半分ずつブラウザを並べたり、ブラウザとWordを並べたりといったような使い方をしやすいよう、ウィンドウを左端もしくは右端に持って行くと、横幅が画面の半分で自動整列されるようにしたのだろう。
が、私個人としてはノートPCは別として、基本的にデュアルディスプレイで生活しているので、ブラウザなんぞは2ndディスプレイに最大化するのが常であるし、ノートPCだとFn+矢印キーでPageDw/UpやHome/Endを操作するときに誤爆してWin+矢印キーを操作し、先の自動整列が起こってしまうのが面倒に感じていた。
というわけで、この自動整列機能及びショートカットキーの切り方。
というのが、昨今、ワイドディスプレイ化が進んだことなどにより、左右に半分ずつブラウザを並べたり、ブラウザとWordを並べたりといったような使い方をしやすいよう、ウィンドウを左端もしくは右端に持って行くと、横幅が画面の半分で自動整列されるようにしたのだろう。
が、私個人としてはノートPCは別として、基本的にデュアルディスプレイで生活しているので、ブラウザなんぞは2ndディスプレイに最大化するのが常であるし、ノートPCだとFn+矢印キーでPageDw/UpやHome/Endを操作するときに誤爆してWin+矢印キーを操作し、先の自動整列が起こってしまうのが面倒に感じていた。
というわけで、この自動整列機能及びショートカットキーの切り方。
参考になった記事や興味深かった記事は、他の人も見つけやすいようにリンクやはてブしていただけると助かります…。
コメントも歓迎です。
- TB-URL http://mo.kerosoft.com/0146/tb/
