歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 用QEMU模擬樹莓派Raspberry Pi的方法

用QEMU模擬樹莓派Raspberry Pi的方法

日期:2017/2/28 14:28:58   编辑:Linux教程

下面介紹用QEMU模擬Raspberry Pi的方法,采用了這種方法後就算沒有開發板也能進行測試。

開發環境

測試用的Host OS環境是 Debian 7.2 Wheezy amd64.

Guest OS是, 對Raspberry Pi進行優化後的 Debian Raspbian (2013-09-15) .

2014/7/31 追加: Debian 8 jessie amd64, QEMU 2.0.0, Raspbian (2014-06-20) 也用同樣的步驟確認過動作.

安裝QEMU

先安裝QEMU.

sudo aptitude install qemu

執行下面的命令來檢查需要的CPU是否被支持了. 如果arm1176 被顯示就OK.

arm1176 沒有被表示的話, 或者是重新編譯QEMU, 或者是查找其他的Binary.

qemu-system-arm -cpu'?' | grep arm1176

映像的下載

創建合適的目錄, 從http://www.raspberrypi.org/downloads 下載 Raspbian 映像並展開.

在同一個目錄下從 http://xecdesign.com/downloads/linux-qemu/kernel-qemu 下載內核映像文件.

第一次啟動

執行下面的命令, 第一次啟動qemu.

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 2013-09-25-wheezy-raspbian.img

編集/etc/ld.so.preload.

nano/etc/ld.so.preload

如下所示, 注釋掉第一行並保存, 關閉文件.

#/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so

下面的步驟可選。 QEMU 模擬器上磁盤是認作 /dev/sda , 但是由於實機上是認作 /dev/mmcblk0 所以要設定對應的符號鏈接。

創建/etc/udev/rules.d/90-qemu.rules 並追加以下記錄.

/etc/udev/rules.d/90-qemu.rules

KERNEL=="sda", SYMLINK+="mmcblk0"

KERNEL=="sda?", SYMLINK+="mmcblk0p%n"

KERNEL=="sda2", SYMLINK+="root"

結束。

exit

起動

起動下面的命令。

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 2013-09-25-wheezy-raspbian.img

用用戶名: pi, 密碼: raspberry 登錄, 這樣就能起動 X.

關於選項

關於QEMU 起動時候的選項的說明整理了一下.

-kernel kernel-qemu

使用下載的內核映像 kernel-qemu.

-cpu arm1176

模擬ARM1176 CPU. Raspberry Pi 板上搭載了 Broadcom BCM2835, 這個處理器用的是ARM1176JZ-F.

-m 256

RAM的大小是256MB. 設定成比256MB大的值板子好像不能啟動.

-M versatilepb

設定模擬的開發板類型. versatilepb 是 ARM Versatile Platform Board

-no-reboot

不重啟退出.

-serial stdio

重定向Guest 的串口到Host的標准輸入輸出.

-append “root=/dev/sda2 panic=1 rootfstype=ext4 rw”

內核的命令行.

-hda 2013-09-25-wheezy-raspbian.img

Harddisk 0 使用 2013-09-25-wheezy-raspbian.img.

其他

就用那樣的映像的話磁盤的空余容量比較少, 根據需要可以需要擴張磁盤的大小. 詳情請參照 Raspberry Pi のイメージファイルを拡張する.

參考

QEMU – Emulating Raspberry Pi the easy way (Linux or Windows!) (http://xecdesign.com/qemu-emulating-raspberry-pi-the-easy-way/)

  • BCM2835 (http://ja.broadcom.com/products/BCM2835)

Raspberry Pi 樹莓派上安裝Weston http://www.linuxidc.com/Linux/2013-06/86685.htm

用於Raspberry Pi 的Linux 操作系統已經可用 http://www.linuxidc.com/Linux/2012-03/56058.htm

Raspberry Pi(樹莓派)試用小記 http://www.linuxidc.com/Linux/2013-10/91008.htm

Raspberry Pi(樹莓派)的安裝、配置IP及軟件源等入門 http://www.linuxidc.com/Linux/2013-10/91009.htm

Ubuntu 12.04之找不到Qemu命令 http://www.linuxidc.com/Linux/2012-11/73419.htm

Arch Linux上安裝QEMU+EFI BIOS http://www.linuxidc.com/Linux/2013-02/79560.htm

QEMU的翻譯框架及調試工具 http://www.linuxidc.com/Linux/2012-09/71211.htm

QEMU 的詳細介紹:請點這裡
QEMU 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved