加载中…
个人资料
felonwan
felonwan
  • 博客等级:
  • 博客积分:0
  • 博客访问:619,608
  • 关注人气:117
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

[原创]安卓机器在chroot环境中使用qemu运行Windows

(2014-09-26 12:56:09)
标签:

安卓

qemu

linux

windows

x86

分类: 程序Linux电脑学习
版权声明:本博客中带[原创]字样均为作者felonwan原创,本文原始地址:http://blog.sina.com.cn/s/blog_59cf67260102v0vh.html,网上转载请务必保留此声明。商业用途请联系作者:felonwan@sina.com.cn

一句话:chroot到Linux,然后运行qemu-system-i386或qemu-system-x86_64。

关于安卓chroot到linux开启桌面,可以参考笔者在Ubuntu论坛的帖子:

而使用chroot开qemu,其实无需开一整套桌面,开个X服务器(Frame Buffer或者SDL都可以),就可以直接启动qemu了。要想体验好点,可以装个很小的窗口管理器,比如icewm,这样就可以对qemu窗口进行放大缩小或全屏了。

发图表真相,这是在红米手机上运行的结果:
[原创]安卓机器在chroot环境中使用qemu运行Windows

[原创]安卓机器在chroot环境中使用qemu运行Windows

笔者使用XServer XSDL作为X服务器,Ubuntu 14.04 Core armhf作为chroot后的系统(官方源可下载tar.gz文件,解压后放到用qemu-img做的镜像里)。没有安装窗口管理器,这样有个好处就是界面都是一个像素对应一个像素,不会出现看起来很虚的情况。Ubuntu和Windows XP的镜像都放在外挂的移动硬盘上,Ubuntu镜像安装完qemu-system不到400M,XP SP3镜像不到1.5G(精简版)。

使用方法简单介绍:
1. 使用chimg挂载镜像并chroot到挂载目录,进入Linux环境,注意把存储windows xp镜像的目录一定要绑定到这个Linux环境下;
2. 使用qemu启动虚拟系统,这里使用的镜像为xp.img:
qemu-system-i386 -m 380 -hda xp.img
或者模拟64位X86的CPU,把qemu-system-i386换成qemu-system-x86_64。
-m 380表示分配380MB内存;-hda xp.img表示第一块硬盘为xp.img;-soundhw es1370表示声卡硬件为es1370,这个已经在镜像里安装好了驱动。
更多参数请网上自行查阅。

已知问题:
在X86电脑上能上网,但是在Ubuntu armhf的镜像里默认的网卡不一样,找不到驱动,声音是在同样指定为es1370的时候启动时也提示出错。
qemu的选项太多了,能配置的也很多,很不容易配置啊。

运行速度问题:
一定要用高速的卡,或者外接移动硬盘,保证接口稳固。
Cortex-A8单核1.0GHz(全志A10),只有1G内存,顶多给分个380M的内存吧,启动Windows XP时间约十分钟(见桌面),操作反应挺慢,鼠标操作最好慢点,否则一下就不知道跳哪儿去了,任务管理器就会把CPU占满,再干其它事就会很久很久才响应。
ARM Cortex A7四核1.5GHz(MTK 6589),-smp 4(最多使用4核)选项不起作用,只能使用单核,启动时间大概在5~6分钟能看到桌面的样子。
真要实用,估计得A15以后的CPU吧。

根据一个旧闻,qemu 1.5开始支持在Cortex A15的板子开启KVM虚拟化(http://www.oschina.net/news/40691/qemu-1-5-gpu-pass- through-and-arm-support),使用KVM应该能大大提高运行速度。不过在chroot环境下怎么开启KVM服务呢?我所知道的或许可以用daemonize程序来运行kvm服务,或者自己打补丁重新编译upstart服务(对ubuntu而言)。

一个国外的公司介绍如何在Cortex A15板子上构建KVM的网页:
http://www.virtualopensystems.com/en/solutions/guides/kvm-on-arm/
谁有A15的开发板或机器可以测试一下。他们有编译好qemu-system-arm,可以直接用,当然,这个只能用来模拟安卓了。公司上有一些demo,说是可以在A15的机器上同时运行主机和两个虚拟机,虚拟机的运行速度和真实机器比较接近,有视频。

其实使用效果更好、效率更高的应该是直接刷个linux内核,然后用KVM玩虚拟化,跟服务器似的。想玩任何X86架构的系统都可以啊,也可以用qemu-system-arm运行ARM系的系统,比如安卓哈,当然还有其它架构,比如MIPS、PPC等。这种方法其实也不限于在安装安卓的ARM机器上玩,目前一些X86的平板几乎是白菜价,在X86的机器原始的安卓系统上也是可以弄的。但是现在的X86平板一般都可以直接安装Windows了,直接装更省事运行效率更高。当然,平板或是手机,驱动是个问题!谁家能出一款安装KVM的平板给发烧友玩也很不错啊!

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有