在Debian(etch)上用QEMU仿真ARM系统

原文地址:http://linuxman.blog.ccidnet.com/blog-htm-do-showone-uid-60710-type-blog-itemid-1134050.html

在Debian(etch)上用QEMU仿真ARM系统

一直都想用QEMU来仿真ARM系统,这段时间在网上搜索了很多文章,并做一些验证,现在终于成功地在Debian(etch)上用QEMU仿真了ARM系统。
具体操作步骤参照Debian on an emulated ARM machine完成,可能是原文没有更新的缘故,其中的一些内容已经实际情况不符。本文重点描述不同于原文的地方或需要注意的地方备忘,其他详细的说明请参照原文

1、编译安装0.9.1版本的QEMU
etch中的QEMU的版本是0.8.2-4etch2,该版本在安装libc6时会失败,无法使用,所以需要我们自己编译安装最新版本的QEMU,目前是0.9.1。
wget http://bellard.org/qemu/qemu-0.9.1.tar.gz
su -c "apt-get build-dep qemu"
cd qemu-0.9.1
./configure

make
su -c "make install" 其中的 apt-get build-dep qemu是安装编译QEMU所需的软件包。

2、创建ARM系统的虚拟硬盘
qemu-img create -f qcow hda.img 10G
命令行中的硬盘容量参数10G中的单位必须用大写G,不能用小写g,否则命令会执行失败。

3、下载ARM系统的内核和initrd文件
wget http://people.debian.org/~aurel32/arm-versatile/vmlinuz-2.6.18-6-versatile
wget http://people.debian.org/~aurel32/arm-versatile/initrd.img-2.6.18-6-versatile


4、下载ARM系统安装用的initrd文件
我们用anheng的Debian安装源中的:
wget http://www.anheng.com/debian/dists/etch/main/installer-arm/current/images/rpc/netboot/initrd.gz

5、在ARM仿真机上安装的Debian etch
qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.18-6-versatile -initrd initrd.gz -hda hda.img -append "root=/dev/ram"
安装源选择手工输入anheng提供安装镜像:www.anheng.com。anheng是国内提供全体系结构Debian安装源的公司,赞一个!
安装过程中会有一些提示,不要理会,选择继续安装即可。安装完毕后,关闭QEMU程序。

6、使用ARM仿真系统
用下面的命令启动ARM仿真系统:
qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.18-6-versatile -initrd initrd.img-2.6.18-6-versatile -hda hda.img -append "root=/dev/sda1"
第一次启动ARM仿真系统需要安装内核映像文件,在仿真系统内以root用户登录并执行:
apt-get install initramfs-tools
wget http://people.debian.org/~aurel32/arm-versatile/linux-image-2.6.18-6-versatile_2.6.18.dfsg.1-23+versatile_arm.deb
su -c "dpkg -i linux-image-2.6.18-6-versatile_2.6.18.dfsg.1-23+versatile_arm.deb"

安装内核时会有提示,不要理会,选择继续安装。

7、直接在shell中使用ARM仿真系统
直接在shell中使用ARM仿真系统需要先配置串口登录并运行root登录。在仿真系统中执行:
(1)在 /etc/inittab 文件中增加:
T0:23:respawn:/sbin/getty -L ttyAMA0 9600 vt100
(2)在 /etc/securetty 文件中增加:
ttyAMA0
配置好后,执行下面的命令可以直接在shell中使用ARM仿真系统:
qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.18-6-versatile -initrd initrd.img-2.6.18-6-versatile -hda hda.img -append "root=/dev/sda1 console=ttyAMA0" -nographic

8、其他说明
(1)因担心仿真系统资源太弱,所以没有试验在仿真系统上安装X。
(2)简单试验了原文中的网络桥接设置,但没有成功。待以后有时间研究桥接设置时,再试验解决。
(3)在网上还找到一篇在windows系统上用同样方法仿真ARM系统的文章(http://www.cs.tut.fi/~paulus/emu-arm-debian-howto.html#emu),暂未试验。

(4)本文所需的内核、initrd文件在http://people.debian.org/~aurel32/arm-versatile/可以找到最新版本的。而http://people.debian.org/~aurel32/qemu/中则包含已经制作好的用于QEMU仿真的文件系统。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值