Raspbianを起動するには、下記2つのがいるが必要になります
- QEMU用のカーネル
- Rapbianのイメージファイル
そこで、GitHubで公開(Qemu kernel for emulating Rpi on QEMU)されているビルド済みのカーネルを使用させていただきました。なお、公開されているカーネルの最新版(kernel-qemu-4.4.34-jessie)をダウンロードしました
次にRaspbianのダウンロードですが、カーネルがjessieを使用していますのでこれに合わせる必要があります。Raspbianのミラーサイトから2017-07-05-raspbian-jessieをダウンロードします。
これで必要なファイルはそろいましたので、ターミナルからQEMUを使用して起動します。Raspbianのディフォルト設定のままでは起動しません。初回起動でbashを立ち上げて、QEMUで起動するための設定をRaspbianのイメージファイル内に行います。起動コマンドは次の通りです。
qemu-system-arm -kernel kernel-qemu-4.4.34-jessie -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw init=/bin/bash" -hda 2017-07-05-raspbian-jessie.img
Raspbianのターミナルが起動したら、下記のファイルをviコマンドなどで開きます
vi /etc/ld.so.preload
このファイルには1行しかありませんので、その行をコメントアウトします
次にQEMUで認識しているディスクとRaspbianでのディスクを合わせるためにシンボリックリンクを作成します。新規に/etc/udev/rules.d/90-qemu.rulesファイルを作成し、下記シンボリックリンクを記載します。
vi /etc/udev/rules.d/90-qemu.rules
KERNEL=="sda", SYMLINK+="mmcblk0"
KERNEL=="sda?", SYMLINK+="mmcblk0p%n"
KERNEL=="sda2", SYMLINK+="root"
この2つのファイル編集で書き換えは完了になります。実際にRaspbianを下記コマンドで起動します
qemu-system-arm -kernel kernel-qemu-4.4.34-jessie -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw" -hda 2017-07-05-raspbian-jessie.img
起動プロセスが流れていきます 。ドキドキする瞬間ですね
しばらくすると見覚えのあるRaspbian GUIが起動しました
QEMUを使用するといろいろと遊べそうですね
0 件のコメント:
コメントを投稿