Windows上でraspberry piをエミュレート

いろいろ事情がありまして、初の投稿がこんなんになってしまいました。

raspberry piで色々やろうとしているのですが、rubyのインストールでつまずいています。rubyのインストールというか、その後にopensslのライブラリがないとかほざくので先に進めません…。

実機で作業していたのですが、いかんせん遅い。rubyのコンパイルに数時間かかります。

これはちょっと耐えられないので、後数回rubyをコンパイルするはめになるであろうことを見越して先に仮想環境でテストできるようにしたいと思います。

http://sourceforge.net/projects/rpiqemuwindows/

これはQEMUというプロセッサエミュレータを使って、Windows上でラズパイと同じものが起動するように設定されたものです。

リンク先のZIPファイルをダウンロードし、適当な場所に解凍します。

フォルダを見てみると、qemuフォルダの中にosのimgファイルが入っており、それを同フォルダにあるrun.batから読み込ませているようです。

で、実機と同じOSでやらないと意味が無いので、実機用に落とした2014-01-07-wheezy-raspbian.imgをこのフォルダに突っ込んで、batファイルを以下のように修正しました。

修正前:qemu-system-arm.exe -M versatilepb -cpu arm1176 -hda 2012-07-15-wheezy-raspbian.img -kernel kernel-qemu -m 192 -append “root=/dev/sda2”

修正後:qemu-system-arm.exe -M versatilepb -cpu arm1176 -hda 2014-01-07-wheezy-raspbian.img -kernel kernel-qemu -m 192 -append “root=/dev/sda2”

という具合にOSの名前を書き換えて起動してみたのですが、エラーでループして起動せず…。

Unable to determine your tty name.

( ゚д゚)???

 

ググってみると、/etc/ld.so.preload をコメントアウトすればいいらしい。

( ゚д゚)…?

 

更にググってみると、こちらに詳しく書かれておりました。

http://www.asu.ac.jp/hachi/v3/scratch14imePi.html

 

というわけで、

qemu-system-arm.exe -M versatilepb -cpu arm1176 -hda 2014-01-07-wheezy-raspbian.img -kernel kernel-qemu -m 256 -append “root=/dev/sda2 rootfstype=ext4 rw init=/bin/bash”

と書き換えると、見事起動!

で、シングルユーザーモードで起動するので、

echo > /etc/ld.so.preload

して一旦QEMUを終了し、

qemu-system-arm.exe -M versatilepb -cpu arm1176 -hda 2014-01-07-wheezy-raspbian.img -kernel kernel-qemu -m 256 -append “root=/dev/sda2”

と書き換えると…

キタ – .∵・(゚∀゚)・∵. – ッ!!

やったぜ!やっと仮想環境が動いた!

 

というわけで、やっとこさQEMUで最新のraspbianを動かすことができました。やっとスタートラインです…。