我有一个Gentoo VM,我是通过安装最新的(20131224)最小x86 ISO和第3阶段tarball创建的,使用genkernel
作为内核。在更新VM上的所有软件包并安装一些额外内容(如vim和virtualbox-guest-added)之后,我创建了一个Vagrant框。
我的Vagrantfile如下:
Vagrant.configure("2") do |config|
config.vm.box = "gentoo-x86"
config.vm.provider :virtualbox do |vb|
vb.gui = true
vb.customize ["modifyvm", :id, "--memory", 1024]
#vb.customize ["modifyvm", :id, "--hwvirtex", "off"]
vb.customize ["modifyvm", :id, "--cpus", 1]
end
end
目前,运行vagrant up
时,该盒子可以正常启动。但是,如果我取消注释禁用--hwvirtex
参数的行,则VM控制台中会显示以下错误:
INIT: version 2.88 booting
INFO: rcu_sched detected stalls on CPUs/tasks: {} (detected by 0, t=2102, jiffies, g=4595, c=4594, q=10)
INFO: Stall ended before state dump start
两条INFO
行无限重复(增加t=
值,我猜这可能代表'时间'),直到我运行vagrant halt
后跟vagrant destroy
。我在两个不同的主机(一个Ubuntu,一个Windows 7)上尝试了这个并得到相同的错误消息。
我怀疑这是一个Gentoo问题,因为有三个主要组件(Gentoo,VirtualBox,Vagrant),我可以合理地有信心排除其中两个:
我只在VirtualBox / Vagrant中禁用VT-X(我的CPU支持它并在BIOS中启用)。
我的CPU(来自/proc/cpuinfo
)是:Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz。该机器安装了8GB的RAM,主机操作系统是Ubuntu 13.10。
VM中uname -a
的输出为:
Linux vagrant-gentoo-x86 3.10.25-gentoo #1 SMP Fri Jan 10 14:58:12 GMT 2014 i686 Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz GenuineIntel GNU/Linux
我需要在具有较旧CPU(Intel E4600)的另一台计算机上使用此框,该计算机不支持VT-X,因此不能选择硬件虚拟化。
为了解决这个问题,还有其他我可以尝试的方法吗?
答案 0 :(得分:2)
当然,草皮的法律规定,在花了一个小时写下这个问题之后,我会通过另一个来源找到答案......
问题似乎是Gentoo使用的内核的组合(3.10 - 因此Precise没有问题的原因)以及在禁用硬件虚拟化时对客户的支持。遇到类似问题的任何人的相关VirtualBox错误是:
https://www.virtualbox.org/ticket/12469
不幸的是,到目前为止主要的反应是“修复不支持VT-x / AMD-V的主机的错误具有较低的优先级”。