如之前的文章提到的,现在我们已经可以在Ubuntun上通过qemu模拟beagleboard了,进一步可以测试的是在这个qemu的beagleboard上运行Android。

相关阅读:

主要工作是制作一个qemu-system-arm可以识别的模拟sd卡文件。

在上一篇文章中我们已经分析了 linaro-media-create所创建的img文件,当时也考虑了可以将创建的img文件loop回到/dev/loopx上,然后修改这个img文件,让它包含启动Android需要的文件。不过整个过程比较麻烦。

在网上看了一下,发现Linaro项目中就有一个linaro-anroid-media-create工具可以用于创建Android的模拟sd卡,测试一下发现之前安装qemu-system的时候已经安装了linaro-anroid-media-create 工具,使用方式如下:

linaro-anroid-media-create --dev $BOARD --image-file ./myandroid.img --boot boot.tar.bz2 --system system.tar.bz2 --userdata userdata.tar.bz2

对应BeagleBoard的命令就是:

linaro-anroid-media-create --dev beagle --image-file ./myandroid.img --boot boot.tar.bz2 --system system.tar.bz2 --userdata userdata.tar.bz2

剩下的问题就是找的BeagleBoard对应的boot.tar.bz2 , system.tar.bz2 , userdata.tar.bz2这三个文件了。

下载了以上三个文件,然后执行linaro-anroid-media-create命令生成myandroid.img文件,再通过以下命令通过qemu-system-arm启动这个系统

sudo qemu-system-arm -M beaglexm -m 512 -sd ./myandroid.img -clock unix -serial stdio

然后就可以看到qemu启动,本来满心欢喜地等待Android的启动,没想到系统启动过程出错,跑到booting the kernel的时候报如下错误:

Uncompressing Linux... done, booting the kernel.

omap2_inth_read: Bad register 0x00000020

看错误的话MLO和u-boot.bin都没有问题,应该是linux kernel有问题,于是将myandroid.img文件的第一个分区loop回来,命令如下:

sudo mount -o loop,offset=$[63*512] ./myandroid.img ./mountpoint

然后删除了uImage文件,拷贝了一个之前为BeagleBoard编译Android的时候做好的uImage文件,再次启动。

这次启动成功了,看到了Android小机器人,adb也启动了,不过后面的界面就跑不起来了。查看了一下错误,可能是qemu上的模拟BeagleBoard没办法模拟HDMI的原因。于是没有细究,毕竟咱不是用这个来调试Android上的应用的,需要调试Android应用的话就直接用Android SDK上的模拟器了,有意思的是Android SDK上的Android模拟器其实也是基于qemu模拟器的。

下面是运行截图:

安卓 qemu 运行linux,在Qemu的beagleboard上运行Android相关推荐

  1. 运行linux在de1soc,在DE1-SOC上运行Linux

    1,设定串口终端 安装驱动 :使用mini-USB线将计算机与DE1-SoC的UART转USB接口.drivers\USB2UART_driver文件夹内放置有驱动程序 设定串口终端规格 : 设定串口 ...

  2. VMware Workstation pro无法在Windows上运行,检查可在Windows上运行的此应用的更新版本

    VMware Workstation pro无法在Windows上运行,检查可在Windows上运行的此应用的更新版本 我的Windows版本是win10-1903,VMware版本比较老旧是VMwa ...

  3. qemu debug linux内核,qemu调试linux内核

    2012.03.19 网上时间过早的讲编译内核的文章完全不用看,比如什么讲kgdb的,现在这个东西早就被集成到内核里了.还有调试内核的一些允许kernel debugging的选项,在新版本中也早已是 ...

  4. windows运行linux系统,coLinux:在Windows运行Linux系统(教程)

    Hi,没错又是我,企鹅.这次企鹅找到了个-新-旧黑科技,分享给大家玩玩.话不多说开始吧~ 首先,企鹅给大家介绍下这个CoLinux究竟是何方神圣. coLinux是一种可以让Linux运行于Windo ...

  5. linux xen 管理,ARM平台上运行Xen 可同时管理linux和VxWorks

    Xen项目管理程序从上个世纪90年代就已经在剑桥大学里开始进行,到了2002年项目开源.如今它是最流行的开源管理程序之一,可以在云计算上使用,Xilinx和DornerWorks将这种虚拟化平台应用在 ...

  6. linux edb 运行不了,运行 Linux 的 IBM Power Systems 上的 EDB Postgres Advanced Server 9.5 入门...

    EnterpriseDB (EDB) Postgres Advanced Server 9.5 和 IBM® Power Systems™ 提供了一个适合企业的 Postgres 平台,与类似的 x8 ...

  7. wordcount linux java_linux下在eclipse上运行hadoop自带例子wordcount

    启动eclipse:打开windows->open perspective->other->map/reduce 可以看到map/reduce开发视图.设置Hadoop locati ...

  8. 树莓派能直接运行python程序_在树莓派上运行python脚本 - python

    我正在研究rapiberry pi 3大约3个月,开始使用它时遇到了问题. 我找不到在树莓派打开时在其上运行python脚本的有效,安全的方法(没有监视器,鼠标和键盘).此刻,我在/ etc / pr ...

  9. weblogic运行项目_在WebLogic 12c上运行RichFaces

    weblogic运行项目 我最初以为我可以在几个月前写这篇文章. 但是我最终被不一样的事情所淹没. 其中之一是,它无法像我在4.0版本中那样简单地启动RichFaces展示柜. 有了所有的JMS ma ...

最新文章

  1. 读书:历史 -- 百年战争简史
  2. AQA 2011年度最佳博客
  3. Git cherry-pick 使用总结
  4. 小程序确定取消弹窗_微信小程序定制开发价格确定条件?
  5. 欲善其事,先利其器 | IDCF第6期DevOps案例研究回顾(附视频)
  6. neo4j cypher_Neo4j:Cypher –避免热切
  7. gRPC-go源码(2):ClientConn
  8. linux网络编程之socket:使用fork并发处理多个client的请求
  9. 电商商家可以用到的小工具和素材资源网站
  10. matlab2c使用c++实现matlab函数系列教程-tanh函数
  11. php工作在fastcgi模式下怎样配置xcache,FastCGI模式编译安装LAMP+XCache
  12. STM32 HAL I2C读取HMC5883L磁偏角的实践
  13. 视频直播方案(加强版
  14. Kotlin 语言必看书籍推荐
  15. Mac Ps cc2017 下载
  16. 移动端开发入门--基础知识
  17. 银行利率bp是什么意思,利率加点bp怎么计算
  18. 前端开发的流程与规范
  19. 深入理解Solaris X64系统调用
  20. 浪潮各机型管理芯片BMC IP(智能平台管理接口)设置

热门文章

  1. Linux的diff和git diff生成patch/打patch
  2. Ubuntu 编译安装ffmpeg,mplayer,x264全教程支持VDPAU(高清硬解)
  3. c语言中冒泡排序、插入排序、选择排序算法比较
  4. ffmpeg之让视频快进
  5. android之日志库logger
  6. python之OrderedDict
  7. python在自动化中的应用_python中在自动化运维的应用
  8. PHP和tp5—使用过得函数总结
  9. atm系统的用例模型_ATM银行系统用例图.doc
  10. 神经网络 异或_深度学习入门笔记(2)线性神经网络