2012年06月20日
QEMU 1.1.0 で MIPS Debian GNU/Linux を動作させてみる
Android と言えば ARM ですが、最近は MIPS ベースの Android にも注目が集まっているようです。
(私はあまり詳しくないのですが。)
そういえば、x86 と ARM 以外の Linux は動作させたことが無いなと思ったので、まずは QEMU 1.1.0 で MIPS Linux を動作させてみることにしました。
そういえば、x86 と ARM 以外の Linux は動作させたことが無いなと思ったので、まずは QEMU 1.1.0 で MIPS Linux を動作させてみることにしました。
QEMU のビルドは、前回の記事の configure オプションに、mips-softmmu と mipsel-softmmu を追加する以外は同じです。(大してビルド時間は変わらないので、ARM もまとめて作っています。不具合回避のために、coroutine-win32.c だけ -O0 でコンパイルする必要があるのも同じです。)
http://people.debian.org/~aurel32/qemu/
http://people.debian.org/~aurel32/qemu/mips/
http://people.debian.org/~aurel32/qemu/mipsel/
今回は、debian_squeeze_mips_standard.qcow2 と debian_squeeze_mipsel_standard.qcow2 をダウンロードしました。
vmlinux も必要なのですが、mips 版も mipsel 版も、vmlinux-2.6.32-5-4kc-malta という同じファイル名で公開されているので、mipsel 版の方は vmlinux-2.6.32-5-4kc-malta-mipsel というファイル名にリネームしてダウンロードしました。
まずは mips 版を動作させてみます。
正常に起動できたようです。
poweroff や shutdown -h now で終了させようとしたら、なぜか再起動してしまいます…。しかたがないので will now halt disk stop というログが出た直後に強制終了しました。
mipsel 版も同様に動作しました。再起動してしまう件も同じです。
BogoMIPS の値が非常に大きいのが気になりますが、しばらくしてからもう一度起動したら、armel と同様に 1000 前後になったので、Virtual PC 環境の影響かもしれません。 (QEMU 関係は Windows 7 64 bit の XP Mode で作業しています。)
./configure --prefix=/c/kmc/qemu/qemu-1.1.0/bin --target-list=arm-softmmu,mips-softmmu,mipsel-softmmu --python=/c/Python27/python.exe --disable-strip前回の記事でも触れた、以下のサイトでは、ARM の他にも、様々なプロセッサ向けの Debian イメージ(QEMU 独自の qcow2 形式)と vmlinux が公開されているので、これを使わせていただきます。
http://people.debian.org/~aurel32/qemu/
http://people.debian.org/~aurel32/qemu/mips/
http://people.debian.org/~aurel32/qemu/mipsel/
今回は、debian_squeeze_mips_standard.qcow2 と debian_squeeze_mipsel_standard.qcow2 をダウンロードしました。
vmlinux も必要なのですが、mips 版も mipsel 版も、vmlinux-2.6.32-5-4kc-malta という同じファイル名で公開されているので、mipsel 版の方は vmlinux-2.6.32-5-4kc-malta-mipsel というファイル名にリネームしてダウンロードしました。
まずは mips 版を動作させてみます。
C:\kmc\qemu\qemu-1.1.0\bin>qemu-system-mips -M malta -kernel vmlinux-2.6.32-5-4kc-malta -hda debian_squeeze_mips_standard.qcow2 -append "root=/dev/sda1 console=tty0"root/root で login できます。
正常に起動できたようです。
poweroff や shutdown -h now で終了させようとしたら、なぜか再起動してしまいます…。しかたがないので will now halt disk stop というログが出た直後に強制終了しました。
mipsel 版も同様に動作しました。再起動してしまう件も同じです。
C:\kmc\qemu\qemu-1.1.0\bin>qemu-system-mipsel -M malta -kernel vmlinux-2.6.32-5- 4kc-malta-mipsel -hda debian_squeeze_mipsel_standard.qcow2 -append "root=/dev/sd a1 console=tty0"
BogoMIPS の値が非常に大きいのが気になりますが、しばらくしてからもう一度起動したら、armel と同様に 1000 前後になったので、Virtual PC 環境の影響かもしれません。 (QEMU 関係は Windows 7 64 bit の XP Mode で作業しています。)