2012年9月26日水曜日

Raspberry pi (Raspbian “wheezy”) のカーネルヘッダはどこ?

かなり古い製品なUSB接続タイプの無線LANアダプタを
Raspberry pi(Raspbian “wheezy”)をUSB端子に挿してみたところ、
"lsusb"コマンドの結果から正しく認識できていることは確認できましたが、
やはりデバイスドライバは組み込まれていないようです。
こういう場合ソースからビルドして何とかすることが多いのでやってみることにしました。
それらしいLinuxデバイスドライバのソースを探してきてさてビルドしようとすると、
どうもLinuxのカーネルソースのヘッダがないようです。
デバイスドライバをビルドする場合にはカーネルヘッダは必須となります。

で、カーネルヘッダを探すのですが…ない。
"uname -a"コマンドの結果から現在動いているカーネルのバージョンは"3.1.9+"とわかりましたが、
これのソースのありかがわかりません。
"apt-cache search"コマンドでそれらしい"linux-headers-3.2.0-3-rpi"パッケージが見つかり、
とりあえずインストールしてみましたが当然バージョン違いです。
もしかして、最新のカーネルが"3.2.0-3"なのかなと思い、
# apt-get update
# apt-get dist-upgrade
してみましたが今度は"3.2.27+"へと行き過ぎてしまいました。

この時点でパッケージでどうにかするのはあきらめて生ソースを探し、
https://github.com/raspberrypi/linuxに行き当たりました。
そのページに"Latest commit to the rpi-3.2.27 branch"なるコメントがあり、
gitでこれを取ってくれば何とかなるような気がしてきました。
で、以下を実行しました。
# cd /usr/src
# git clone --depth 1 https://github.com/raspberrypi/linux.git
# ln -s linux linux-3.2.27+
# cd linux
# zcat /proc/config.gz > .config
# ln -s /usr/src/linux /lib/modules/3.2.27+/build
# cd /usr/src/linux
# make oldconfig && make prepare
# make zImage
zImageをビルドしていますが、これはzImageを得るのが目的ではなく、
scriptsディレクトリにあるツール類を使えるようにするためにしたことです。

0 件のコメント:

コメントを投稿