QEMUでARM版Ubuntuの動作方法

QEMUでARM版Ubuntuの動作させるとこんな感じで動きます。速度的に、2コアのノートパソコンの第3世代Core i5で動かして、たぶんPentium 3くらいの感じになります。キーボードもマウスもマウスホイールもネットワークも問題ないです。gcc も apt-get でインストールできます。


Ubuntu 側でやる作業

VMware 上の Ubuntu 12.04 で行いました。SDカードのイメージをダウンロードして展開しているだけです。yukoba:yukoba になっているところは適当に変えてください。

wget http://releases.linaro.org/13.06/ubuntu/vexpress/vexpress-raring_alip_20130625-379.img.gz
gunzip vexpress-raring_alip_20130625-379.img.gz

sudo mkdir /mnt/mnt
(IMG=vexpress-raring_alip_20130625-379.img ; if [ -e "$IMG" ] ; then sudo mount -o loop,offset="$(file "$IMG" | awk 'BEGIN { RS=";"; } /partition 2/ { print $7*512; }')" -t auto "$IMG" /mnt/mnt; else echo "$IMG not found"; fi )

sudo cp -vr /mnt/mnt/boot .
sudo chown -R yukoba:yukoba boot
sudo umount /mnt/mnt
mv vexpress-raring_alip_20130625-379.img boot/

Windows 側でやる作業

上記の boot フォルダを Windows 側にコピーしてください。そして、http://lassauge.free.fr/qemu/ (QEMU on Windows) から QEMU をダウンロードして、C:\Program Files\Qemu-windows-1.5.1 とかに展開します。

boot フォルダに移動して、以下のコマンドで実行できます。

"C:\Program Files\Qemu-windows-1.5.1\qemu-system-armw.exe" -kernel vmlinuz-3.10.0-1-linaro-vexpress -M vexpress-a9 -cpu cortex-a9 -serial stdio -m 1024 -initrd initrd.img-3.10.0-1-linaro-vexpress -append "root=/dev/mmcblk0p2 rw mem=1024M raid=noautodetect console=ttyAMA0,38400n8 rootwait vmalloc=256MB devtmpfs.mount=0" -sd vexpress-raring_alip_20130625-379.img

以上のやり方は、https://wiki.linaro.org/PeterMaydell/QemuVersatileExpress より修正。