运行x86 Android模拟器需要kvm-intel

时间:2017-04-05 11:47:14

标签: digital-ocean kvm coreos

我使用Gitlab CI构建Android应用程序并自动在Android虚拟设备(AVD)上运行测试 我想使用这个模拟器的x86版本而不是ARM模拟器 但x86 AVD目前需要正确安装和加载虚拟化(VT)和KVM
所有这些都在DigitalOcean主机上的Docker容器中运行。

' lscpu'显示为Intel处理器启用了VT:
型号名称:Intel(R)Xeon(R)CPU E5-2650L v3 @ 1.80GHz
虚拟化:VT-x
管理程序供应商:KVM
虚拟化类型:完整

因此我安装了qemu-kvm和其他相关的debian软件包:
export DEBIAN_FRONTEND =非交互式
apt-get --quiet update --yes
apt-get --quiet install --yes qemu-kvm libvirt-bin virtinst bridge-utils
adduser' id -un' libvirt的

然后' virt-host-validate'显示kvm-intel未加载:
$ virt-host-validate
QEMU:检查硬件虚拟化:通过
QEMU:检查设备/ dev / kvm:FAIL(检查' kvm-intel'或' kvm-amd'模块是否已加载& BIOS已启用虚拟化)
QEMU:检查设备/ dev / vhost-net:通过
QEMU:检查设备/ dev / net / tun:PASS
LXC:检查Linux> = 2.6.26:通过
错误:作业失败:退出代码1

但是,添加' modprobe kvm-intel'失败:
$ modprobe kvm-intel
modprobe:错误:../ libkmod / libkmod.c:557 kmodsearchmoddep()无法打开moddep文件' /lib/modules/4.9.16-coreos-r1/modules.dep.bin'

两者都没有:
$ depmod
depmod:错误:无法打开目录/lib/modules/4.9.16-coreos-r1:没有这样的文件或目录 depmod:致命:无法搜索模块:没有这样的文件或目录 错误:作业失败:退出代码1

Nor:
$ apt-get install --reinstall linux-image - ' uname -r'
阅读包裹清单......
建立依赖树...
阅读国家信息......
E:无法找到包linux-image-4.9.16-coreos-r1
E:无法通过正则表达式找到任何软件包' linux-image-4.9.16-coreos-r1'

......确实解决了这个问题。关于我如何获得kvm-intel加载的任何想法?

亲切的问候,

Laurent Le Moux

1 个答案:

答案 0 :(得分:2)

最后我得到了一个答案: https://groups.google.com/d/topic/coreos-user/mvmOhDMiwsU/discussion

基本上,必须从Docker实例外部安装虚拟化软件包。 并且 - 不幸的是 - 我无法控制/访问它,因为它是由Gitlab CI跑步者自动启动的。

我可以(请)默认安装这些软件包: https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/issues/2242