Особенности установки VirtualBox на Calculate Linux

Установка Virtual Box на CLD (здесь и далее все описанные действия справедливы для CLD 11.0)

Выполняем:

emerge virtualbox

ну или:

emerge virtualbox-bin

если нужен дополнительный функционал.

Сам я бинарную версию никогда не ставил, возможно в ее настройке имеются отличия.

После установки пакетов emerge выдает сообщение, что неплохо бы было указать ядру системы на необходимость загрузки соответствующих модулей, а именно vboxdrv vboxnetflt vboxnetadp, иначе программа не запустится. Это можно сделать внеся соответствующие изменения в конфигурационный файл /etc/conf.d/modules. Лично мне удобно редактировать текстовые файлы в Midnight Commander, разумеется запускать его необходимо под суперпользователем. В Calculate Linux необходимо редактировать последнюю строчку modules_2_6_35_5_calculate добавив туда недостающие названия модулей.

Привожу пример содержимого своего /etc/conf.d/modules:

#You can define a list modules for a specific kernel version,
#a released kernel version, a main kernel version or just a list.
#modules_2_6_23_gentoo_r5="ieee1394 ohci1394"
#modules_2_6_23="tun ieee1394"
#modules_2_6="tun"
#modules="ohci1394"
#You can give modules a different name when they load - the new name
#will also be used to pick arguments below.
#modules="dummy:dummy1"
#Give the modules some arguments if needed, per version if necessary.
#module_ieee1394_args="debug"
#module_ieee1394_args_2_6_23_gentoo_r5="ieee1394 ohci1394"
#module_ieee1394_args_2_6_23="tun ieee1394"
#module_ieee1394_args_2_6="tun"
#You should consult your kernel documentation and configuration
#for a list of modules and their options.
modules_2_6_35_5_calculate="vboxdrv vboxnetflt vboxnetadp mperf speedstep-lib cpufreq_conservative cpufreq_ondemand cpufreq_userspace cpufreq_powersave"

Далее перезагрузка. И можно запускать Virtual Box.

Хорошее, удобное описание. Спасибо.

Можно не загружать модули vboxdrv vboxnetflt vboxnetadp при старте, а подгружать их непосредственно перед загрузкой виртуальной машины:

 # modprobe vboxdrv && modprobe vboxnetflt && modprobe vboxnetadp && virtualbox

После окончания работы виртуальной машины эти модули можно выгрузить:

 # modprobe -r vboxdrv && modprobe -r vboxnetflt && modprobe -r vboxnetadp 

P.S.
Думаю можно сделать алиасы для удобства запуска-остановки. Например, чтобы запускать командой virtualbox-start:

 # alias virtualbox-start='modprobe vboxdrv && modprobe vboxnetflt && modprobe vboxnetadp && virtualbox'

1. Забыли добавить себя в группу vboxusers и usb (вдруг чего по usb подключить надо).
2. Никогда не понимал смысл надписи

modules_2_6_35_5_calculate="vboxdrv vboxnetflt vboxnetadp 

поэтому всегда заменяю на

modules="vboxdrv vboxnetflt vboxnetadp 

3. virtualbox-start - полный бред, потому как modprobe запускается от root, а какой смысл песочницу от root запускать? Можно сделать проще, если так уж хочется кнопку запуска добавить - в самом virtualbox можно сделать ссылку запуска сформированной (установленной) виртуалки на рабочий стол.

Кстати по п.2 задавал вопрос на irc - почему бы не прописывать существующие модули при обновлении ядра, которые были внесены вручную, но ответа не дождался. А так при обновлении ядра все ваши "vboxdrv vboxnetflt vboxnetadp исчезнут, а точнее будут с номером старого ядра и соответственно загружаться не будут.

Н-да, забыл, давно уже ставил. Поправлю.
По п.2 modules=“vboxdrv vboxnetflt vboxnetadp” пробовал, но вроде тогда не помогло это запустить виртуалбокс. Для этого и блог, чтобы другие на теже грабли не наступали.

  1. virtualbox-start - полный бред, потому как modprobe запускается от root, а какой смысл песочницу от root запускать? Можно сделать проще, если так уж хочется кнопку запуска добавить - в самом virtualbox можно сделать ссылку запуска сформированной (установленной) виртуалки на рабочий стол.

А почему бы не предложить свое решение с подключением модулей перед стартом virtualbox не из-под root?

P.S.
Согласен, конечно, чуть погорячился. Хорошее уточнение. Я обходился отдельным алиасом

 # alias vbox-start='modprobe vboxdrv && modprobe vboxnetflt && modprobe vboxnetadp

А уже потом запускал virtualbox, т.к. машинка в личном пользовании и совсем забыл, что бывают пользователи, лишенные доступа к привилегиям root.

Решение я вроде сразу отобразил, самое простое - вписать модули в /etc/conf.d/modules. По крайней мере у меня так на 3-х компах сделано и прекрасно работает:

cat /etc/conf.d/modules
modules="microcode sdhci mmc_core mmc_block k8temp vboxdrv vboxnetflt vboxnetadp mperf powernow-k8 speedstep-lib cpufreq_conservative cpufreq_powersave cpufreq_userspace"

Какой смысл изобретать велосипед?

Выполняю всё по инструкции, (размаскировка, установка). в конце пишет

Messages for package app-emulation/virtualbox-modules-5.0.14:

* ERROR: app-emulation/virtualbox-modules-5.0.14::gentoo failed (install phase):
* doins failed
*
* If you need support, post the output of `emerge --info ‘=app-emulation/virtualbox-modules-5.0.14::gentoo’`,
* the complete build log and the output of `emerge -pqv ‘=app-emulation/virtualbox-modules-5.0.14::gentoo’`.
* The complete build log is located at ‘/var/calculate/tmp/portage/app-emulation/virtualbox-modules-5.0.14/temp/build.log’.
* The ebuild environment file is located at ‘/var/calculate/tmp/portage/app-emulation/virtualbox-modules-5.0.14/temp/environment’.
* Working directory: ‘/var/calculate/tmp/portage/app-emulation/virtualbox-modules-5.0.14/work’
* S: ‘/var/calculate/tmp/portage/app-emulation/virtualbox-modules-5.0.14/work’
calculate guest #