2013年8月21日水曜日

USBラジオ RDPC-101(3) RaspberryPIでのカーネルモジュール作成

警告

以下の手順で再起動後にRaspbianのカーネルモジュールが一切読み込まれなくなりました。

きっと何か間違っています。


USBラジオ RDPC-101(2)と同様にdkmsであっさりビルドできると思っていたのだが、Raspbianだと動作しているカーネルのヘッダーパッケージがないらしくモジュールがビルドできない様子。

どうも自分でカーネルソースを取得して展開する必要があるらしい。

http://www.raspberrypi.org/phpBB3/viewtopic.php?f=71&t=17666

フォーラムの記事を参考にやってみたらカーネルモジュールのビルドができたので手順をのっけとく。

(1) カーネルソースの取得

https://github.com/raspberrypi/linux/の3.6.yブランチの右サイドバーの「Download Zip」からlinux-rpi-3.6.y.zipをダウンロードする。



(2) カーネルソースの展開

# cd /usr/src
# unzip linux-rpi-3.6.y.zip


(3) make oldconfigとmake module_prepare

# cd linux-rpi-3.6.y
# zcat /proc/config.gz > .config
# make oldconfig
# make modules_prepare

8
(4) Module.symversの取得(必要?)

wget https://github.com/raspberrypi/firmware/raw/master/extra/Module.symvers


(5) symlink作成

# mkdir /lib/modules/`uname -r`
# pushd /lib/modules/`uname -r`
# ln -s ${KSRC} source
# ln -s ${KSRC} build
# popd

# pushd /usr/src
# ln -s ${KSRC} linux-`uname -r`
# ln -s ${KSRC} linux
# popd

これでradio_rdpc101-0.0.1のMakefileが通るようになる。
dkmsでのモジュールビルドも可能(カーネルパッケージをアップグレードするとカーネルソースがなくなってdkmsコケるかも知れないけど)。

とりあえあえずここまで。
あとで追記します。

0 件のコメント:

amazonアソシエイト