スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Date: --.--.-- Category: スポンサー広告   

クロスコンパイル環境を作る

SmartQ5 でビルドするのはあまりに遅すぎるので、PC でクロスコンパイル環境を作ります。こうすれば (SmartQ5 よりは) 高速にビルドができるでしょう。
今回環境を作成したのは、E4200 上の gentoo。
結構簡単です。

まず、crossdev パッケージをインストールします。
emerge crossdev

次に、crossdev コマンドを使ってクロスコンパイル環境を作ります。
PORTAGE_OVERLAY=/opt/crossdev crossdev -t arm-gentoo-linux-gnueabi
(PORTAGE_OVERLAY の値は適当な値で良いはずです。)

以上。ちなみに、Beagleboard という ARM を使った小型のボードがあるのですが、それと同じ方法でできます。このボードの情報はそこそこあるので探しやすいかもしれません。
crossdev コマンドは、binutils や GCC をコンパイルするのでそこそこ時間が掛かります。E4200 では 1 時間以上はかかったと思います。

crossdev によって作成される gcc 等には、arm-gentoo-linux-gnueabi-gcc の様に頭に arm-gentoo-linux-gnueabi- がつきます。単体のソースをコンパイルするだけなら、
arm-gentoo-linux-gnueabi-gcc test.c -o test
みたいにすれば ARM 向けのバイナリが作成されます。生成されたファイルを file コマンドで調べてみればわかると思います。

./configure と make を使う場合は、
./configure --host=arm-gentoo-linux-gnueabi
としてから make すればいい・・・のかな? ただこれは別途必要なライブラリなども関係してくるので、クロスコンパイルするのは難しいかもしれません。

カーネルは、
make ARCH=arm CROSS_COMPILE=arm-gentoo-linux-gnueabi-
とします。menuconfig などの指定は、
make ARCH=arm CROSS_COMPILE=arm-gentoo-linux-gnueabi- menuconfig
のように指定します。


2009/10/11 14:02 追記
カーネルの CROSS_COMPILE に指定する値が間違えていたので修正しました。
スポンサーサイト
Date: 2009.10.11 Category: gentoo  Comments (0) Trackbacks (0)

この記事へのコメント:


管理人のみ通知 :

トラックバック:


最新記事
最新コメント
ウィジェット
月別アーカイブ
カテゴリ
プロフィール

SC3WO06A

Author:SC3WO06A
FC2ブログへようこそ!


検索フォーム
RSSリンクの表示
リンク
このブログをリンクに追加する
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
最新トラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。