dポイントプレゼントキャンペーン実施中!

ホーム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しか存在しないという事でコンパイルエラーになってしまうのだと思います。
対処方法がおわかりの方、どうぞ御教示下さい。
悩みながら、コマンドを覚えているレベルの新人ですのでなにとぞよろしくお願いします。

A 回答 (2件)

ドライバをビルドするのに必要なヘッダファイル類が不足しているのでしょう。



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だと、「現在使用中のカーネル」向けにしかビルドできませんので。

この回答への補足

経過報告いたします。
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というディレクトリ自体は存在するため、お手上げ状態です。
何か、追加情報がありましたら、よろしくお願いします。

補足日時:2009/08/13 22:03
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
終日出かけていたもので、お礼が遅れて申し訳ありません。
>Makefile修正して都度都度、カーネルバージョン指定しています。
自分でも、Makefileの
KDIR:= /lib/modules/$(KVER)/build
の部分を決め打ちにしてやれば動くかもと思いついていたところでしたので、合わせて試してみたいと思います。結果は後ほど報告させていただきます。

お礼日時:2009/08/13 19:24

[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/
で何が出るのか…とか。
が問題…でしょうか。

この回答への補足

現在のインストール状態でコンパイルしてみました。
(開発セクションの開発ツールと、開発ライブラリをインストールする設定にしてあります。テキストの最小インストールでは、これらはインストールしていませんでした)
結果としては、コンパイルができ、r8186.koというファイルが生成されるところまでは確認しました。
省エネのため、いずれ拡張LANカードは外してみるつもりですが、現段階ではここまでに止めておきます。
以上、報告いたします。

補足日時:2009/08/16 14:55
    • good
    • 0
この回答へのお礼

リアクションが遅れて申し訳ありません。なんとかモノにしたかったのですが、盆の休み中にサーバーを立ち上げる目標に支障をきたすため、オンボードのR8168を殺し、保険でネット通販で頼んであったR8169搭載のLANボードを取り付けたところ、link downは解消しました。
その後もAudit云々のエラーが出て立ち上がらないため、テキストの最小インストールを諦め、WEBの記事を参考にインストールを試みたのですが、今度はUnable to read package metadata...なるエラーが出て記事通りに出来ないといったトラブルを経て、また駄目かと思ったけれど、二度目の再起動でなんとか立ち上がりました。ご指摘の設定内容の確認は、やってみてテキストファイルにリダイレクトしてあったのですが、再インストールでHDを書き換えてしまったため消えてしまいまいした。ただ再インストールの課程で、テキストの記事は最小インストール過ぎて、開発ツールが不足していたのではないかと感じました。
閉める前に、再度コンパイルだけやってみようと考えておりますが、少し先になると思います。
アドバイスありがとうございました。

お礼日時:2009/08/15 08:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!