android device monitor命令行窗口在哪里_如何将Android运行在虚拟机中

4a808523ac328c75a94bd8cb414ddb8f.pngCeladon是用于英特尔架构的开源Android®软件参考栈。本公众号专注于IA架构下进行Android®开发的相关技术研究,并定期分享Celadon的工程师们在工作中的心得和故事。
项目官网:https://01.org/projectceladon/
在前文  Celadon as a Service (CaaS) 概述 中,我们已经了解到基于Celadon的Android系统,能够分别单独运行在英特尔裸机平台中、Linux容器里以及虚拟机中。 本文主要介绍如何将Celadon运行在Linux的KVM虚拟机中。

1

Host OS系统准备

请准备好一台英特尔NUC机器,确保安装Linux内核为5.0.0以上的Linux发行版操作系统,本文的测试是基于Ubuntu OS 18.04.3, 如果你在其他版本上遇到问题,请在我们的Celadon技术交流微信群中反馈(文末有介绍如何加入此微信群)。

此OS作为Host主机将要运行基于Celadon的Android Guest系统。

2

Host OS环境配置

为了简化Ubuntu Host OS的环境准备工作,我们编写了一个帮助脚本setup_host.sh, 你可以通过以下的命令来获取这个脚本,并然后运行它。

$ mkdir -p ~/caas && cd ~/caas$ wget https://raw.githubusercontent.com/projectceladon/device-androidia-mixins/master/groups/device-specific/caas/setup_host.sh$ chmod +x setup_host.sh$ sudo -E ./setup_host.sh

注意在安装过程中,会遇到提示对系统的改动,请放心选择“y“确认。

3

编译Android CaaS镜像

本小节的步骤可以参考之前的公众号文章 Celadon快速上路指南Part2:编译Celadon镜像,注意要选择caas作为lunch目标来编译CaaS的镜像文件。

编译结束后,有下面的两个镜像生成:

  • caas.img

    此文件为GPT格式的磁盘镜像,如果想要QEMU直接用于此镜像文件启动Android,可以忽略下个小节的步骤。建议在实际产品中,可以使用此种格式,相比下面的一种方式既方便又简单,大多数情况下我们都是用这种镜像格式。

  • caas-flashfiles-eng..zip

    这个压缩的flashfile文件包包含了CaaS的各个分区镜像文件。可以使用下一小节的方法,将它们这些分区镜像文件分别安装到一个新建的qcow2格式的虚拟磁盘文件中,然后再启动Android。此种方式可以在开发调试阶段使用,它可以方便单独替换某个分区镜像文件,同时方便控制磁盘文件大小。

4

创建CaaS的虚拟磁盘

注意:如果你想直接使用上面的GPT格式的磁盘镜像启动,请忽略此小节。

使用下面的步骤来创建并安装CaaS分区到一个qcow2格式的虚拟磁盘中。

  • 运行帮助脚本 start_flash_usb.sh,注意该脚本在执行完上面的第二个步骤之后可以在当前目录中找到。

$ cd ~/caas$ sudo ./start_flash_usb.sh caas-flashfiles-eng..zip
  • 在运行上面的脚本之后,如下图所示的一个Qemu窗口会被弹出,同时运行到UEFI Shell的环境中,然后开始自动执行一个UEFI的脚本把CaaS的各个分区镜像烧写到虚拟的磁盘文件中。

5b9daaa2248ed34baf1c136e6eb2a232.png

  • 最终等结束之后,QEMU的窗口会自动关闭。此时在当前目录下面就会有一个名为android.qcow2的虚拟磁盘镜像文件。

5

启动Android

接下来就是使用QEMU以及KVM,来启动Android了。

可以在当前目录下面直接运行脚本start_android_qcow2.sh来启动,必要时可以在运行之前,打开此脚本进行QEMU的配置改动或者镜像文件名的替换。

...function launch_*render(){    qemu-system-x86_64 \    -m 2048 -smp 2 -M q35 \    -name caas-vm \    -enable-kvm \    ...    -drive file=./android.qcow2,if=none,id=disk1 \  ### Edit the CaaS image file name on the left    ...}...
$ cd ~/caas$ sudo ./start_android_qcow2.sh
在运行上述的命令之后,期待已久的Android系统就会在基于QEMU/KVM的虚拟机环境中启动了。

3a250890725a0ecd385b6987bc9a0c45.png

ffd7f5056d64d827949c84f148c74490.png

4a808523ac328c75a94bd8cb414ddb8f.png请加入Celadon技术讨论群参与更多话题讨论,加入方式请扫码关注公众号留言“微信群”按照里面提示的方法来入群,或者您可以找到身边已经在群的小伙伴儿拉您入群。
6afd8b1300457cb69ce085f710d19e51.png
f94c27e385011aab68cfeba2a549d709.png请访问项目官网获取更多资讯:
https://01.org/projectceladon/
93902bc6c5078c69e800acdbe1a03649.png请发信给邮件群组进行技术讨论和汇报您遇到的问题:
celadon@lists.01.org
072fbaec5c169c3c4e59800889aa014b.png请注册邮件群组参与更多话题讨论:
https://lists.01.org/postorius/lists/celadon.lists.01.org/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值