9
6

More than 5 years have passed since last update.

Raspberry Pi(Raspbian wheezy)をOS XのQEMUで動作させる手順

Posted at

Raspberry Pi emulator for WindowsでRaspbian最新版を動作させる手順ではWindows上のQEMUでRaspbianを動作させましたが、現在使用しているのはMacBookなので、OS X上のQEMUでRaspbianを動作させる手順をまとめます。内容はほぼ同じです。

注意

  • Raspbian Jessieを動作させようとしましたが、Kernel Panicで起動しませんでした。よって、当記事では前回と同じRaspbian wheezyを動作させます。
  • OSとQEMUの組み合わせがマズイのかと思ってDebian on VirtualBoxで試しましたが、別の原因で起動しませんでした。
  • CentOS、Ubuntuではqemu-system-armをインストールする方法が分かりませんでした。あまりまじめに探していませんが。

作業環境

  • OS X Yosemite
  • qemu 2.4.0.1

作業手順

QEMUをインストール

Homebrewでqemuをインストールします。

$ brew install qemu

必要なCPUがサポートされているかチェックします。arm1176が表示されればサポートされています。arm1176が表示されない場合は、QEMUをビルドする必要があります。問題無いはず。

$ qemu-system-arm -M versatilepb -cpu '?' | grep arm1176

Raspbianおよびkernelをダウンロード

Raspberry Pi Downloads - Software for the Raspberry Piから、RASPBIAN WHEEZYをダウンロードします。ファイルサイズが大きいので注意。ダウンロードしたら展開して、raspbian.imgにリネームします。

次に、dhruvvyas90/qemu-rpi-kernelからkernel-qemu-3.10.25-wheezyをダウンロードします。ダウンロードしたら、kernel-qemuにリネームします。

Raspbian使用準備

RaspbianをQEMUで使用するためには、いくつかの調整を行う必要があります。なお、この作業の一部でキーボードが英語配列になることがあるので注意。

Raspbianを起動(1回目)

調整のため、1回目の起動を行います。

$ qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw init=/bin/bash" -hda raspbian.img

ld.so.preloadを修正

/etc/ld.so.preloadを修正します。1行目先頭に#を追加して、コメントアウトします。

# sed -i -e 's/^/#/' /etc/ld.so.preload

90-qemu.rulesを作成

/etc/udev/rules.d/90-qemu.rulesを作成します。

# touch /etc/udev/rules.d/90-qemu.rules
# echo 'KERNEL=="sda", SYMLINK+="mmcblk0"' >> /etc/udev/rules.d/90-qemu.rules
# echo 'KERNEL=="sda?", SYMLINK+="mmcblk0p%n"' >> /etc/udev/rules.d/90-qemu.rules
# echo 'KERNEL=="sda2", SYMLINK+="root"' >> /etc/udev/rules.d/90-qemu.rules

Raspbianを終了

これで使用準備ができました。いったん、終了します。

# exit

Raspbianを起動(2回目)

Raspbianを起動します。以降、以下のコマンドでRaspbianを起動します。1回目の起動とはコマンド内容が少し異なるので注意。

$ qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw" -hda raspbian.img -redir tcp:5022::22

正常に起動したら、設定完了です。この時点のraspbian.imgをバックアップしておくと、状態を元に戻すのが楽になります。

-redir tcp:5022::22で、ホストOSの5022番ポートを、ゲストOSの22番ポートにリダイレクトします。5022番ポート以外を使用する場合は、このオプションを変更します。sshログインするには、以下のようにコマンドを実行します。パスワードはraspberryです。

ssh -p 5022 pi@localhost

参考

9
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
6