- 締切済み
Fedora11、RealtekR8168用ドライバのコンパイルエラー
ホームWEBサーバー実現を通じて、Linuxのお勉強をしようと、Intel製のAtom330ボードを用いて、PCを組み、Fedora11をインストールしました。PCパーツを発注してから、WEB検索してR8168の誤認識問題を知りましたが、Fedoraが新しいので直っているかもと、高をくくっておりましたが、しっかりはまってしまいました。田舎の事とて数冊並んでいた中からページ当たりの価格で、「できるFedora11」という書籍を購入してあり、それを参考にサーバー用のインストールを行いましたが、インストール後の起動時に r8169:eth0:link down というメッセージが表示され、root #も表示されずに止まってしまいました。 DVDのRescue installed systemから立ち上げて試行錯誤し、Realtek社のホームページからx86用の最新のドライバーを入手し、USBメモリに入れてマウント、解凍するところまではこぎ着け、ドライバのreadmeを参考に作業を進めたのですが、 make: ***/lib/modules/2.6.29.4-167.fc11.i586/build No such file or directory.stop. というエラーメッセージが出て止まってしまいます。 システム内に実際に存在するのは、/lib/modules/2.6.29.4-167.fc11.i686.PAEというディレクトリーでした。 素人なりにドライバのsrcを眺めてみたのですが、ソースが要求するのは、カーネルのバージョン/buildというフォルダーであるのに対し、 uname -r で取得されるカーネルバージョンは、2.6.29.4-167.fc11.i586 一方、実際には/lib/modules/2.6.29.4-167.fc11.i686.PAEしか存在しないという事でコンパイルエラーになってしまうのだと思います。 対処方法がおわかりの方、どうぞ御教示下さい。 悩みながら、コマンドを覚えているレベルの新人ですのでなにとぞよろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Wr5
- ベストアンサー率53% (2173/4061)
[root@localhost src]# uname -r 2.6.18-128.2.1.el5 [root@localhost src]# ls -lh /lib/modules/2.6.18-128.2.1.el5/build lrwxrwxrwx 1 root root 48 7月 16 13:00 /lib/modules/2.6.18-128.2.1.el5/build -> ../../../usr/src/kernels/2.6.18-128.2.1.el5-i686 [root@localhost src]# rpm -qf /lib/modules/2.6.18-128.2.1.el5/build kernel-2.6.18-128.2.1.el5 [root@localhost src]# rpm -qf /usr/src/kernels/2.6.18-128.2.1.el5-i686 kernel-devel-2.6.18-128.2.1.el5 [root@localhost src]# となりました。 # CentOS5.3ですが。 /lib/modules/2.6.18-128.2.1.el5/buildのシンボリックリンクは kernel-2.6.18-128.2.1.el5のrpmに含まれていて、 リンク先のディレクトリは kernel-devel-2.6.18-128.2.1.el5のrpmに含まれている。 ということになります。 # rpmファイル名はこの場合正しくないですが… rpm -qa | grep ^kernel | sort で、どんなのが出るのか…とか。 ls -lh /lib/modules/2.6.29.4-167.fc11.i586/ で何が出るのか…とか。 が問題…でしょうか。
- Wr5
- ベストアンサー率53% (2173/4061)
ドライバをビルドするのに必要なヘッダファイル類が不足しているのでしょう。 kernel-headers-2.6.29.4-167.fc11.i586.rpm をインストールして下さい。 これで不足がある場合は kernel-devel-2.6.29.4-167.fc11.i586.rpm も追加でインストールして下さい。 場合によっては kernel-PAE-devel-2.6.29.4-167.fc11.i686.rpm も必要かも知れません。 # CentOSですが…… # kernelパッケージの更新するたびにドライバのビルドとインストール、depmodコマンドの実行が必要なんですよねぇ。 # ちなみに、Makefile修正して都度都度、カーネルバージョン指定しています。 # そのままのMakefileだと、「現在使用中のカーネル」向けにしかビルドできませんので。
お礼
アドバイスありがとうございます。 終日出かけていたもので、お礼が遅れて申し訳ありません。 >Makefile修正して都度都度、カーネルバージョン指定しています。 自分でも、Makefileの KDIR := /lib/modules/$(KVER)/build の部分を決め打ちにしてやれば動くかもと思いついていたところでしたので、合わせて試してみたいと思います。結果は後ほど報告させていただきます。
補足
経過報告いたします。 kernel-headers-2.6.29.4-167.fc11.i586.rpm kernel-devel-2.6.29.4-167.fc11.i586.rpm をインストールしてみましたが、結果は変わりませんでした。 /lib/modules/2.6.29.4-167.fc11.i586/build というディレクトリも出来ていない様です。 調べてみると、 kernel-2.6.29.4-167.fc11.RPM というのをインストールしないと入っていない様ですが、これはカーネル自体の様に思えるので、インストールしておりません。 また、MakefileのKDIR := /lib/modules/$(KVER)/buildの箇所を KDIR := /lib/modules/2.6.29.4-167.fc11.i686.PAE/build に書き換えてトライしてみましたが、 make: *** /lib/modules/2.6.29.4-167.fc11.i686.PAE/build No such file or directry.stop. というエラーが出て止まってしまいます。綴りの間違い等チェックしましたが、間違いはなさそうでした。2.6.29.4-167.fc11.i686.PAE/buildというディレクトリ自体は存在するため、お手上げ状態です。 何か、追加情報がありましたら、よろしくお願いします。
お礼
リアクションが遅れて申し訳ありません。なんとかモノにしたかったのですが、盆の休み中にサーバーを立ち上げる目標に支障をきたすため、オンボードのR8168を殺し、保険でネット通販で頼んであったR8169搭載のLANボードを取り付けたところ、link downは解消しました。 その後もAudit云々のエラーが出て立ち上がらないため、テキストの最小インストールを諦め、WEBの記事を参考にインストールを試みたのですが、今度はUnable to read package metadata...なるエラーが出て記事通りに出来ないといったトラブルを経て、また駄目かと思ったけれど、二度目の再起動でなんとか立ち上がりました。ご指摘の設定内容の確認は、やってみてテキストファイルにリダイレクトしてあったのですが、再インストールでHDを書き換えてしまったため消えてしまいまいした。ただ再インストールの課程で、テキストの記事は最小インストール過ぎて、開発ツールが不足していたのではないかと感じました。 閉める前に、再度コンパイルだけやってみようと考えておりますが、少し先になると思います。 アドバイスありがとうございました。
補足
現在のインストール状態でコンパイルしてみました。 (開発セクションの開発ツールと、開発ライブラリをインストールする設定にしてあります。テキストの最小インストールでは、これらはインストールしていませんでした) 結果としては、コンパイルができ、r8186.koというファイルが生成されるところまでは確認しました。 省エネのため、いずれ拡張LANカードは外してみるつもりですが、現段階ではここまでに止めておきます。 以上、報告いたします。