【问题标题】:Running x86 Android emulators requires kvm-intel运行 x86 Android 模拟器需要 kvm-intel
【发布时间】:2017-08-31 00:22:08
【问题描述】:

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

所有这些都在 DigitalOcean 主机上的 Docker 容器中运行。

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

因此我安装了 qemu-kvm 和其他相关的 debian 软件包:
导出 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:失败(检查“kvm-intel”或“kvm-amd”模块是否已加载且 BIOS 已启用虚拟化)
QEMU:检查设备 /dev/vhost-net:通过
QEMU:检查设备 /dev/net/tun :通过
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

也不:
$ 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 的任何想法?

亲切的问候,

洛朗·勒穆

【问题讨论】:

  • 怎么没有'/lib/modules/4.9.16-coreos-r1'目录? '/lib/modules' 也不存在...这是特定于 Linux 容器的吗?根据我的阅读,我需要安装 linux 头文件,但 'apt-get --quiet install linux-headers-uname -r --yes' 失败并出现以下错误: E: Unable to locate package linux-headers-4.9.16 -coreos-r1 我尝试使用另一个图像/标题。然后安装了“kvm-intel.ko”,但无法加载。由于“无效的模块格式”,使用“insmod -f”失败。我被困住了。如果有人能提供帮助,我将不胜感激。

标签: digital-ocean kvm coreos


【解决方案1】:

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

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

我可能(好心)要求默认安装这些软件包: https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/issues/2242

【讨论】:

    猜你喜欢
    • 2017-03-04
    • 2014-04-15
    • 1970-01-01
    • 2014-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-12
    • 1970-01-01
    相关资源
    最近更新 更多