2021年1月30日土曜日

qemu-system-arm で Raspbian を実行する

qemu-system-arm で Linux を動かしたかったのだが、いまいちやり方がわからん…。

少し調べた範囲だと、カーネルビルドからやっているものばかりで腰が重かったのだが、 Raspbian のイメージが配布されているようなので、とりあえずそれを動かしてみる。

Ubuntu で Raspbian システムを起動(QEMU, qemu-rpi-kernel を使用) を、 nographicqemu-system-arm で試す感じ。

前提

必要ファイルのダウンロード

# カーネル
Invoke-WebRequest https://raw.githubusercontent.com/dhruvvyas90/qemu-rpi-kernel/master/kernel-qemu-4.19.50-buster -OutFile kernel-qemu-4.19.50-buster
# Device Tree
Invoke-WebRequest https://raw.githubusercontent.com/dhruvvyas90/qemu-rpi-kernel/master/versatile-pb-buster.dtb -OutFile versatile-pb-buster.dtb
# イメージアーカイブダウンロード
Invoke-WebRequest -UseBasicParsing http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/raspbian-2020-02-14/2020-02-13-raspbian-buster.zip -OutFile 2020-02-13-raspbian-buster.zip
# イメージアーカイブ展開
Expand-Archive -Path .\2020-02-13-raspbian-buster.zip -DestinationPath .\

コンテナ起動

docker run -it --rm -v "$(pwd):/work" --workdir="/work" mikoto2000/qemu-system-arm

Raspbian 実行

qemu-system-arm -M versatilepb \
    -cpu arm1176 \
    -m 256 \
    -hda 2020-02-13-raspbian-buster.img \
    -dtb versatile-pb-buster.dtb \
    -kernel kernel-qemu-4.19.50-buster \
    -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw " \
    -no-reboot \
    -nographic

初期ログイン情報は以下の通り。

  • user: pi
  • password: raspberry

以上。

参考資料

0 件のコメント:

コメントを投稿