2014-01-11 2 views
2

У меня есть виртуальная машина Gentoo, которую я создал, установив из последнего (20131224) минимальный x86 ISO и этап 3 tarball, используя genkernel как ядро. Я создал окно Vagrant после обновления всех пакетов на виртуальной машине и установки нескольких дополнительных функций, таких как vim и virtualbox-guest-дополнения.Гость Gentoo VirtualBox не может загрузиться без аппаратной виртуализации

Мой 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 следующие ошибки отображения в консоли виртуальной машины:

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), и я могу быть достаточно уверены в управлении два из них следующим образом:

  1. Если я бегу VM напрямую из VirtualBox с отключенным VT-X я получаю то же сообщение об ошибке, что и при использовании окна в Vagrant с выключенным hwvirtex - возможно, не проблемой бродяг.
  2. Если я использую блок exact32 (поставляемый сопровождающими Vagrant), он работает с hwvirtex вкл. Или выкл. (При отключении заметного снижения производительности, но я бы ожидал) - возможно, это не проблема VirtualBox.

Я отключил VT-X только в VirtualBox/Vagrant (мой процессор поддерживает его, и он включен в BIOS).

Мой CPU (от /proc/cpuinfo) есть: Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz. Аппарат имеет 8 ГБ оперативной памяти, а ОС хоста - Ubuntu 13.10.

Выход из 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 

мне нужно использовать эту коробку на другую машину с более старым процессором (Intel E4600), который не поддерживает VT-X, поэтому, оставляя на виртуализацию это не вариант.

Есть ли другие вещи, которые я мог бы попробовать, чтобы исправить это?

ответ

2

Конечно, закон подлости гласит, что после того, как тратить час описывает этот вопрос, я наткнулся на ответ через другой источник ...

Проблемы, кажется, комбинация ядра, которая Gentoo использует (3,10 - поэтому у Precise нет проблем) и поддержка для гостей в целом, когда аппаратная виртуализация отключена. Соответствующий VirtualBox ошибка для тех, кто испытывает подобные проблемы есть:

https://www.virtualbox.org/ticket/12469

К сожалению, основной ответ до сих пор является то, что «исправление ошибок для хостов, которые не поддерживают VT-X/AMD-V имеют более низкий приоритет ».

Смежные вопросы