Raspberry Pi 用のクロス環境を考察する

Mono を Raspberry Pi でビルドすると、12時間かかってしまうので非常に手間。考えてみれば、Raspberry Pi の CPU は ARM なのだから、Android のクロスコンパイル環境を持ってくれば動くのでは?と思ったのが発端です。

まだ調査中なので、どの環境がよいかは後でまとめます。

■方法

最初は、Linux 上にクロスコンパイラ環境を用意して、ビルドした後に Raspberry Pi にもっていけば、と思ったのですが、いくつか方法が選べることに思い至りました。

  • Linux Debian wheezy のクロスコンパイラ環境で Mono をビルドして、Raspberry Pi にインストール
  • Linux 上の ARM 仮想環境を作って、ビルドしたのち、Raspberry Pi にインストール
  • Android 実機を使ってビルドしたのち、Raspberry Pi にインストール
  • Raspberry Pi 自体をエミュレートする環境を作る

Android の実機を使うのは、ARM 仮想環境(エミュレータ)よりもスピードが速いだろう、って思いつきなのですが、手元の CPU スピードからいけば多少 ARM エミュレーターが遅くても RasPi よりは断然早いだろう、という想像です。Android 実機/エミュレータ に対しては adb で shell を動かすことができるから gcc さえ入れ込めば、とも思ったのですが、Android 上でこれができるのか?というのと Mono から配布されているソースパッケージを Android の環境に合わせるのは結構手間ではないか?との想定から、現実的なところは、Debian 上のクロスコンパイラか、Raspberry Pi のエミューレター環境ですね。エミュレーター環境とはいえ、IO をエミュレートしたいわけではなくて、Raspberry Pi の Debian 環境にそろえたいだけなので、単純に ARM CPU で動作する Linux 環境を作ればよいだけです。

■クロスコンパイラ環境を Debian 上に作る

debian wheezy 上でのクロスコンパイラのビルド を参考にして、クロスコンパイル環境を構築。

GCC_TARGET=armel
dpkg-buildpackage -b -uc -us

のところで、Error になってしまったので、後で調査。

■Scratchbox を使う

Mono:ARM – Mono を見ると、ScratchBox を使う方法が示されている。Scratchbox – ARMクロス開発環境 を見ると仮想環境を作る方法らしい。./configure を直すのは確かに大変なので、直接 ARM の仮想環境を作って、其の中に Gcc の入れ込んでしまうのがよい。

ここの環境に Raspberry Pi の Debian が入ればいいのだが?これができるかどうか分からない。

■qemuを使う

と、ここまで書いて

Raspberry Pi • View topic – Re: Emulating Raspberry Pi in Windows the easy way
http://www.raspberrypi.org/forums/viewtopic.php?f=26&t=5743 

のところに RasPi のエミュレーターがあった。http://sourceforge.net/projects/rpiqemuwindows/ qemu-system-arm.exe を使うらしい。QEMU は Linux 上で動くものが多いけど、Windows 上で動くのであれば、これでいいかも。

と、あっけなく起動できた w これでいいかも。RasPi の ディスクイメージをそのまま使っているので 2GB に制限されているけど、8GB 程度のイメージを作ればそれで使えるのでは?ちょっと試してみよう。

image

 

 

■参考

日記/2014-03-28/debian wheezy 上でのクロスコンパイラのビルド – BAK
http://jr0bak.homelinux.net/~imai/pukiwiki/pukiwiki.php?%C6%FC%B5%AD%2F2014-03-28%2Fdebian%20wheezy%20%BE%E5%A4%C7%A4%CE%A5%AF%A5%ED%A5%B9%A5%B3%A5%F3%A5%D1%A5%A4%A5%E9%A4%CE%A5%D3%A5%EB%A5%C9
Mono:ARM – Mono
http://www.mono-project.com/Mono:ARM
Scratchbox – cross compile enviroument
http://homepage2.nifty.com/SECS/scratchbox/index.html
QEMUでARM環境を手にいれる | 團長の小部屋
http://wwwdantyo.wordpress.com/qemu%E3%81%A7arm%E7%92%B0%E5%A2%83%E3%82%92%E6%89%8B%E3%81%AB%E3%81%84%E3%82%8C%E3%82%8B/

カテゴリー: RaspberryPi パーマリンク

Raspberry Pi 用のクロス環境を考察する への6件のフィードバック

  1. James Cruz のコメント:

    Very interesting piece

  2. Aubrey Simmons のコメント:

    Hello, important suggestion and an fascinating article,
    it will be exciting if this is still the case in a few months time

  3. Ethan Hill のコメント:

    I seldom discuss these posts, but I assumed this on deserved a well done
    you

  4. Lily Wood のコメント:

    I very rarely comment on these posts, but I thought this on deserved a well done you

  5. Audrey Jenkins のコメント:

    I hardly ever comment on these posts, but I thought this on deserved a well done you

  6. Jayden Phillips のコメント:

    Brilliant object, I enjoyed the definitive technology mythos xtr-60 bit

コメントは停止中です。