・クロスコンパイル環境構築&カーネルコンパイル
http://www.sea-dog.jp/blog/archives/2012/08/22/19-54.php
見ればOK (´_ゝ`)
違いは
git clone -b rpi-3.6.y https://github.com/raspberrypi/linux.git
でソースコード持ってきて、RPiから zcat /proc/config.gz > .config として .config をカーネルツリーにコピーしました。
(既にRPiのカーネルが3.6.11だったため)
Makefileの4行目を EXTRAVERSION = my に変更。
RPi上でコンパイルすると5~6時間かかりますが、
PhenomII X6 1090T 3.2GHz、メモリ8GBなWIndows7 64bit 上に
割り当て
CPUコア:4
メモリ:2GB
Ubuntuな仮想環境では45分ほどで完了します。
出来上がったファイルは
scp filename pi@192.168.yyy.xxx:/home/pi
で、RPiへ直接転送できます。
・アプリのクロスコンパイル
辺りを参考にすればOK (´_ゝ`)
気付いたら mediatomb が Illegal instruction というエラーを出して
起動できなくなっていたのでクロスコンパイルしてみました。
まずは必要なライブラリ sqlite3、expat をコンパイルします。
./configure --host=arm-unknown-linux-gnueabi --prefix=/home/username/mycross
make
make install
次に mediatomb 本体です。
./configure --host=arm-unknown-linux-gnueabi --prefix=/home/username/mycross --disable-mysql --enable-sqlite3 --disable-rpl-malloc \
--with-sqlite3-h=/home/username/mycross/include --with-sqlite3-libs=/home/username/mycross/lib \
--with-expat-h=/home/username/mycross/include --with-expat-libs=/home/username/mycross/lib \
CXXFLAGS=-fpermissive
make
スクリプトなども再インストールできなくなっていたので
/var/cache/apt/archives
にある
mediatomb-common_0.12.1-4_armhf.deb
mediatomb-daemon_0.12.1-4_all.deb
を手動で展開してコピーしました。
あとは~DBがサイズ0だったので、mediatombのソースのconfig/sqlite3.sql を
実行してテーブルを作ってやります。
これで動くようになりました。
にしても、なぜ急に動かなくなったのか...
カーネルやライブラリいじくってて、変になってしまったのかな...(;´д`)
0 件のコメント:
コメントを投稿