オーディオに興味がある人は気になる話題ではないでしょうか。
私も注目しています。
そのスレッドで紹介されているソースコードが普通のプログラムではなく
Linuxドライバになっています。
ドライバのコンパイルにはカーネルのヘッダーファイルとかが必要なので、
RaspberryPi用のLinuxカーネルのソースを
https://github.com/raspberrypi/linux
から持ってきて、
zcat /proc/config.gz > .configとすればドライバのコンパイルに必要なファイルだけ生成して準備OKなはずですが、
make oldconfig
make modules_prepare
いざドライバを insmod で組み込もうとすると、
Invalid module format
とか、
no symbol version for module_layout
などのエラーメッセージが出て、うまくドライバを組み込めません。
仕方ないので、カーネルのコンパイル行いカーネルを切り替えます。
以下そのメモになります。
rootで作業しています。
https://github.com/raspberrypi/linux から3.2.27のソースのzipをダウンロード
/usr/src/3.2.27my
に展開
cd /usr/src/3.2.27my
zcat /proc/config.gz > .config
make oldconfig
make clean
Makefile 編集
先頭の
VERSION = 3
PATCHLEVEL = 2
SUBLEVEL = 27
EXTRAVERSION =
が uname -r などで表示されるバージョン番号になるようです。
EXTRAVERSION = my
と適当に修正しておきます。(しなくてもよい)
5~6時間かかります。
寝てる間にコンパイルするには
nohup make > out.log 2> err.log < /dev/null &
とします。こうするとsshを閉じてもバックグラウンドでコンパイルし続けます。
/usr/src/3.2.27my/vmlinux が出来てればOK
make modules_install
mkdir boot
cp /usr/src/3.2.27my/boot/vmlinuz-3.2.27my /boot
/boot/config.txt 修正
kernel=vmlinuz-3.2.27my の行を追加します。
再起動
これで新しいカーネルに切り替えることが出来ます。
0 件のコメント:
コメントを投稿