牛人在Ubuntu上模拟ARM开发环境
我(牛人)有一个很明确的方向是我需要一个ARM版本的ubuntu系统,编译一些ARM平台库是十分方便的,其实这方面是有经验的,之前使用RK3188主板运行Ubuntu,编译一些库极为容易,至少依赖问题很好解决。而不再像两年前那样只使用一个交叉工具链来编译一个库,需要顺带编译很多依赖库。
用主板觉得麻烦,就想着能不能有像VMware这样的虚拟机模拟ARM CPU呢?
根据《Linux设备驱动开发详解 第三版》上介绍有一个叫QEMU的可以模拟ARM CPU。试用一下完全非人类,最后还找了一个封装图形界面的AQEMU,还是不好用。不能跑Ubuntu-arm版本系统;最后根据vmware arm关键词找到过armware,也并不好用。
最后想起来了 Android开发环境中的模拟器是可以模拟ARM的,那我以模拟器(英文:emulator)为关键词找到了新大陆 ubuntu-sdk。它是一个ubuntu-touch平台,也就是ARM平台做的一套类似Android开发环境,根据Ubuntu SDK 安装,勉强装环境装起来了。
其实,中间犯了不少错误,比如我尝试在VMware中跑Ubuntu-sdk的模拟器,原来这样是不行的,这里总结一句是目前ubuntu-sdk还不太完善,安装后自己的主Ubuntu系统显示很乱,另外一点是ubuntu-arm模拟器运行速度实在是太慢了,启动就得40分钟,进去后卡得不行。x86版本还好一些,但是只目前想要的是ARM版本。为了这个像找一个不用硬件的模拟器做ARM开发,也真是够难的,或许几年后所有的东西都变得成熟了就会好一些。
补充:最痛苦的是Ubuntu不是编译后的镜像,而是就像装系统一样从网上下载iso,然后自动化配置,时间上十分急人。
最终还是采用了一个ARM开发板,开始主要是通过HDMI连接屏幕,当成一个电脑使用。最后发现很多问题,比如WiFi不好用;就得使用有线网,去网上淘了个 无线转有线 的神器。
最后的开发模式定下来了,Ubuntu主机+ARM开发板+串口控制+SSH连接。如果手里有个小钱,买个Ubuntu arm版本手机也是不错的,可以网上淘个二手的。不过那都是后事了。