如之前的文章提到的,现在我们已经可以在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项目网站上可以下载,链接如下:
http://releases.linaro.org/platform/linaro-n/android/11.09/beaglexm/
下载了以上三个文件,然后执行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-android-x86-runner:如何在QEMU中运行Android x86的快速入门
QEMU System Emulator for Linux Driver.
想过在安卓上运行windows系统么,可以在安卓运行的qemu,创建img qocw2镜像,可对虚拟机的运行
Qemu模拟器运行AIX 7.2 系统
stm32f407裸机程序在windows的qemu上跑,而且控制台可以输出打印信息。里面还包含了qemu-system-arm.exe,直接开箱即用,这个是我的对应博客教程 ...
Building Android for Qemu with Mesa and Virgil3D
Qemu Windows 10 Botstrap使用Qemu(带有QXL驱动程序和外部桥接网络)在Linux机器上运行Windows 10。开始吧创建Windows 10文件夹并将其放置在虚拟驱动器中。 对于Windows 10,建议使用50G及更高容量。 mkdir -p ~ /...
Qemu5最新版本 ARM X86 Windows版 包含演示Linux版本直接运行 此版本去除了一般不需要的除ARM/Intel之外的虚拟机 加入了ARM/X86直接可以运行的演示虚拟机例子 见 test-i386和test-arm 本版本运行于Windows X64版本
Windows下Android开发环境搭建指南
android qemu
OS X-KVM:在KVM和QEMU之上运行Mac OS X El Capitan主机系统详细信息 Ubuntu 15.10 在 i5-6500 CPU 上运行。 Fedora 24 在 i5-6500 + i7-6600U CPU 上运行。 使用 QEMU 2.4.1 和 QEMU 2.5 进行测试。 已知 AMD CPU ...
静态编译Qemu 版本4.2.0 目标平台aarch64/arm64/armv8 只编译了qemu-system-x86_64和qemu-x86_64(user) 解压后用安卓终端运行 可执行文件目录./bin
在D:\qemu文件夹下,打开cmd命令行 在命令行中键入: qemu-img create -f qcow2 D:\Kylin\kylindisk.qcow2 40G (最好选择40G,20G不够分配磁盘) 此时,会在Kylin文件夹下产生一个kylindisk.qcow2文件。 2.安装...
其亦能用来在一部主机上虚拟数部不同虚拟电脑。 QEMU的主体部份是在GPL下发布的,而其系统模式模拟与kqemu加速器则是在GPL下发布。使用kqemu可使QEMU能模拟至接近实机速度,但其在虚拟的操作系统是 Microsoft ...
QT程序如何在开发板上运行
arm cortex-a9程序在windows的qemu上跑,而且控制台可以输出打印信息。里面还包含了qemu-system-arm.exe,直接开箱即用,这个是我的对应博客教程 ...
所有QIRA代码均在MIT许可下发布 此仓库中的其他代码已根据各自的许可发布 支持的操作系统 Ubuntu 14.04 and 16.04 supported out of the box. 18.04 is having a problem with building QEMU See forked QEMU ...
QEMU在Windows上模拟ARM硬件平台并安装国产操作系统麒麟高级服务器版V10(基于OpenEuler)
Android4QEMU 要在我们的PC上运行Android,有多种选择,其中之一就是 。 但是,Android Studio是为Android开发人员创建的,并且具有许多功能的复杂GUI。 因此,即使不运行嵌入式仿真器也要消耗大量资源。 要测试应用...
在Qemu-mini2440模拟器中运行RT-Thread说明手册.pdf