最近正在研究嵌入式开发,手头没有开发板,所以考虑用qemu模拟一个arm linux出来。
网上有不少这方面的教程,基本上就是用crosstool或者crosstool-ng编译一个内核镜像,然后用qemu运行它。
我照做了,很不幸,没成功,弄的ubuntu都变得不正常了,索性直接直接用debian官网上提供的arm linux镜像,反正用起来是一样的。
debian官网上提供有arm-linux分别针对两种处理器,一种是arm,一种是armel,这个armel也就是arm-eabi,一般来说arm-eabi底层对浮点计算做了优化,具体情况你可以网上找找这方面的文章。
下面是debain提供的几个镜像文件下载地址(armel)
http://people.debian.org/~aurel32/qemu/armel/
关于qemu的配置,可以参考我的另外一篇文章
ubuntu 10.10 下为 qemu-arm linux配置网络(双网卡)
需要说明的几个地方
1.网络
默认情况下,arm-linux启动以后,是通过NAT方式联网的,也就是说你可以使用apt直接安装你需要的软件。
2.键盘布局
默认情况下,arm-linux启动以后键盘布局是乱的,需要重新设置一下。
操作如下:
先安装控制台配置工具
debian-arm:/# apt-get install console-setup ......
运行键盘配置工具,我没有在终端显示中文的需求,所以都设置成US和english。
注意:键盘要设置成104键。
debian-arm:/# dpkg-reconfigure console-setup ......
3.网络工具
默认是没有ifconfig之类的网络工具的,装上就是了
debian-arm:/# apt-get install net-tools ......
4.升级
系统各软件包的版本未必是最新的,使用apt-get upgrade可以升级到最新版,和debian的升级是一样的。
debian-arm:/# apt-get update ...... debian-arm:/# apt-get updrage ......
很慢,有点心理准备吧,我更新了近一个小时。
只是需要说明的是,速度实在是太慢,所以如果你手头有开发板的话,还是用开发板更快。
我觉得qemu虚拟的arm-linux的最大好处是,里面的lib和程序可以直接拷贝到开发板上用,这省去了你编译的过程了,非常适合像我这样喜欢在开发板上胡倒腾的懒人,呵呵。
