手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

用QEMU模拟树莓派Raspberry Pi的方法

[日期:2014-08-13] 来源:Linux社区  作者:robertsong [字体: ]

下面介绍用QEMU模拟Raspberry Pi的方法,采用了这种方法后就算没有开发板也能进行测试。

用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模拟树莓派Raspberry Pi的方法

关于选项

关于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/)

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 的下载地址请点这里

本文永久更新链接地址http://www.linuxidc.com/Linux/2014-08/105511.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款