我使用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的
但是,添加' 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
答案 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