VB install: различия между версиями

Материал из ALT Linux Wiki
м (так пусть будет редиректом)
 
(не показано 7 промежуточных версий 4 участников)
Строка 1: Строка 1:
== Установка проприетарной сборки VirtualBox ==
#REDIRECT [[VirtualBox]]
=== Почему бы не поставить VB из дистрибутива? ===
[http://virtualbox.org VirtualBox] входит в состав дистрибутивов ALT, и всем рекомендуется ставить эту программу так же, как и все прочие приложения.
 
Однако, свободная версия VB (а именно такая входит в дистрибутив) не позволяет в гостевой системе использовать USB, что иногда критически важно! В этом случае придётся использовать закрытую бинарную сборку с сайта разработчиков программы.
 
=== Что потребуется для установки? ===
Во-первых, очевидно, потребуется файл с инсталлятором VB с официального сайта. На данный момент страница со ссылками на нужный файл находится тут: [http://www.virtualbox.org/wiki/Linux_Downloads www.virtualbox.org/wiki/Linux_Downloads]. Скачать нужно файл {{path|All distributions i386}} или {{path|All distributions AMD64}} для 32-х или 64-битной системы соответственно.
 
Во-вторых, вам потребуется компилятор. Например, на момент написания этой статьи, нужен пакет {{pkg|gcc4.1}}, а так же программа {{prg|make}}. Кроме того, вам потребуется пакет {{pkg|kernel-headers-modules}} для ''вашего'' ядра.
 
=== Об установке заголовков для сборки ядерных модулей ===
Для сборки модулей ядра (которые нужны для VB или VMWare) в системе должен быть установлен пакет '''kernel-headers-modules''' той же версии, что и используемое ядро.
 
Посмотрите, какая версия ядра установлена у вас в системе. Например:
[alexei@threebears ~]$ uname -r
2.6.27-std-ll-alt7
Как видно, в системе установлено ядро '''2.6.27-std-ll-alt7'''. То есть для сборки модулей под него нужно установить пакет '''kernle-headers-modules-std-ll''' версии '''2.6.27-alt7'''.
 
Проверить, установлен ли у вас такой пакет, можно так:
[alexei@threebears ~]$ rpm -qa | grep headers-modules
kernel-headers-modules-std-ll-2.6.27-alt7
kernel-headers-modules-std-def-2.6.27-alt7
Как видно, в моей системе он установлен.
 
Если в вашей системе этого пакета нет, установите его командой
apt-get install kernel-headers-modules-std-ll
 
 
=== К вопросу о несогласованности версий ===
Если вы ставите пакеты с диска с дистрибутивом, то версии ядер и заголовков совпадают (если только в дистрибутив не вкралась досадная ошибка). Однако, если вы делали точечные обновления системы, или обновляетесь с нестабильных репозиториев, то версии ядра и заголовков могут не совпадать.
 
Проверьте версии. Если они не совпадают, то обновите свою систему, обновите индексы apt (через apt-get update или "получить сведения" в Синаптике), или установите то ядро, для которого есть заголовки.
 
=== Установка ===
 
Общий план действий:
* скачайте дистрибутив в любое удобное место, например в /tmp
* сделайте файл исполняемым
* переключитесь в рута, и выполните файл
** в процессе установки выберите какой-либо каталог, отличный от /usr, например /opt
* запускайте VirtualBox от пользователя и работайте
 
Вот пример:
[alexei@threebears ~]$ cd /tmp
[alexei@threebears tmp]$ wget http://download.virtualbox.org/virtualbox/2.1.0/VirtualBox-2.1.0-41146-Linux_x86.run
.......<skip>.........
100%[======================================>] 41 050 695  1,54M/s  в 23s     
2008-12-27 16:15:16 (1,71 MB/s) - `VirtualBox-2.1.0-41146-Linux_x86.run?e=1230383984&h=ff5f79c0533f3b71dd384e4c47e696c9' сохранён [41050695/41050695]
[alexei@threebears tmp]$ mv ./VirtualBox-2.1.0-41146-Linux_x86.run\?e\=1230383984\&h\=ff5f79c0533f3b71dd384e4c47e696c9 ./VirtualBox-2.1.0-41146-Linux_x86.run 
[alexei@threebears tmp]$ chmod a+x ./VirtualBox-2.1.0-41146-Linux_x86.run
[alexei@threebears tmp]$ ll ./VirtualBox-2.1.0-41146-Linux_x86.run
-rwxr-xr-x 1 alexei user 41050695 Дек 27 16:17 ./VirtualBox-2.1.0-41146-Linux_x86.run
[alexei@threebears tmp]$ su -
Password:
[root@threebears ~]# cd /tmp/
[root@threebears tmp]# ./VirtualBox-2.1.0-41146-Linux_x86.run
Verifying archive integrity... All good.
Uncompressing VirtualBox for Linux installation.........
VirtualBox Version 2.1.0 (2008-12-17T10:57:49Z) installer
Removing previous installation of VirtualBox 2.1.0 from /opt/VirtualBox-2.1.0
Installing VirtualBox to /opt/VirtualBox-2.1.0
Building the VirtualBox kernel module
Building the VirtualBox netflt kernel module
VirtualBox has been installed successfully.
You will find useful information about using VirtualBox in the user manual
  /opt/VirtualBox-2.1.0/UserManual.pdf
and in the user FAQ
  http://www.virtualbox.org/wiki/User_FAQ
We hope that you enjoy using VirtualBox.
 
Все, программа установлена. Теперь от пользователя можно вызывать команду VirtualBox.
 
Второй вариант установки, с бывшей страницы Virtualbox, созданной пользователем Becase
 
Прекрасно работает VirtualBox_*_Linux_x86.run
 
== 1 ==
Надо обязательно иметь в системе и в хост и в гостевой такие пакеты
(версии не важны, важно, чтобы они были '''одинаковы''' и для вашего
рабочего ядра)
* kernel-headers-common
* kernel-headers-std-smp
* kernel-headers-modules-std-smp
Установка аддона — отдельная песня, но весьма не сложная
== 2 ==
Надо аддон рутом распаковать, например, так:
<code>
./VBoxLinuxAdditions.run --noexec --keep --target /root/VBoxInstall
</code>
== 3 ==
Влезть в install.sh и добавить в
проверку версии xorg
Найдите строчки
<code>
7.1.* | 7.2.* )
            install -o 0 -g 0 -m 0644 vboxvideo_drv_71.so
$modules_dir/drivers/vboxvideo_drv.so
            install -o 0 -g 0 -m 0644 vboxmouse_drv_71.so
$modules_dir/input/vboxmouse_drv.so
</code>
И замените первую на:
<code>
7.1.* | 7.2.* | 7.3.* )
            install -o 0 -g 0 -m 0644 vboxvideo_drv_71.so
$modules_dir/drivers/vboxvideo_drv.so
            install -o 0 -g 0 -m 0644 vboxmouse_drv_71.so
$modules_dir/input/vboxmouse_drv.so
</code>
А еще, чуть выше в строку
<code>
for dir in /usr/lib/xorg/modules /usr/X11R6/lib/modules; do
</code>
добавьте «наш» каталог для модулей
<code>
for dir in '''/usr/lib/X11/modules''' /usr/lib/xorg/modules /usr/X11R6/lib/modules; do
</code>
 
После чего можно просто запускать install.sh (от рута) и перегружать
гостевую ОС … все работает :)
 
=== Что делать после обновления ядра ===
Если вы установили VB, а потом обновили ядро, то при следующем запуске VirtualBox вы получите такое сообщение:
 
[alexei@threebears ~]$ VirtualBox
WARNING: The vboxdrv kernel module is not loaded. Either there is no module
          available for the current kernel (2.6.27-std-ll-alt7) or it failed to
          load. Please recompile the kernel module and install it by
            sudo /etc/init.d/vboxdrv setup
          You will not be able to start VMs until this problem is fixed.
 
Это означает, что для нового ядра не собран нужный модуль, и программа подсказывает вам, как поступить:
[alexei@threebears ~]$ su -
Password:
[root@threebears ~]# service vboxdrv setup
Stopping VirtualBox kernel module                                      [ DONE ]
Removing old VirtualBox netflt kernel module                            [ DONE ]
Removing old VirtualBox kernel module                                  [ DONE ]
Recompiling VirtualBox kernel module                                    [ DONE ]
Starting VirtualBox kernel module                                      [ DONE ]
 
 
[[Category:HOWTO]]
 
== Установка "дополнений гостевой ОС" для гостевого ALT Linux ==
=== Почему бы не поставить то, что есть в дистрибутиве ===
На момент написания этой статьи в дистрибутиве есть драйвера для Xorg (vboxmouse и vboxvideo), но от очень старой версии VB, и они не работают с новыми версиями Xorg.
 
=== Краткая инструкция ===
'''ВНИМАНИЕ: идеологически неправильное решение!!!'''<ref>Идеологически правильно дождаться, пока мэйнтейнер соберет более новую версию драйверов в дистрибутив</ref>
* Запускаем гостевой Линукс, и удаляем пакеты
xorg-x11-drv-vboxvideo
xorg-x11-drv-vboxmouse
* Ставим пакет '''kernel-headers-modules''' ДЛЯ СВОЕГО ЯДРА.
* В окне VirtualBox в меню "Устройства" выбираем "Установить дополнения гостевой ОС".
* В гостевом Линуксе заходим на СДРОМ, находим там файл '''VBoxLinuxAdditions-x86.run''' (-amd64.run для соответствующей архитектуры), копируем его в /tmp
* В гостевом Линуксе открываем терминал, переходим в нем в рута (командой su -) и выполняем команду
chmod a+x /tmp/VBoxLinuxAdditions-x86.run
/tmp/VBoxLinuxAdditions-x86.run
* Далее исполняется скрипт, который сам все распакует, скомпилирует и установит.
* Убеждаемся, что в гостевом Линуксе '''xorg.conf''' прописаны драйвер '''vboxvideo''' для видео и '''vboxmouse''' для мышки.
* Перезагружаем виртуальную машину.
* Наслаждаемся автоизменением размеров окна, и "незалипающей" мышкой.
 
== Примечания ==
<references />

Текущая версия от 21:53, 7 апреля 2013

Перенаправление на: