установка VirtualBox на Fedora 13 x64

Решил написать эту статью т.к. исходя из того что я ставил VirtualBox всю сегодняшнюю ночь, считаю что это довольно нетривиальный процесс и заслуживает определенного внимания.

Способы буду описывать в соответсвии хронологии сегодняшних событий.

способ #0 – способ для психов и тех, кто никогда не читает мануалы

1. Качаем дистрибутив с оффсайта.

1
2
$ wget http://download.virtualbox.org/virtualbox/3.2.6
/VirtualBox-3.2-3.2.6_63112_fedora13-1.x86_64.rpm

2. Устанавливаем dkms, kernel-header, kernel-devel и gcc

1
$ su -c "yum install -y dkms kernel-devel kernel-header gcc"

3 Установка исходников ядра

3.1 Предисловие

Казалось бы мы установили исходники ядра на предыдущем шаге, но нет, VirtualBox так не считает. Можете даже проверить мои слова и попробывать сейчас установить rpm.

1
2
$ su -c "rpm -ivh VirtualBox-3.2-3.2.6_63112_fedora13-1.
x86_64.rpm"

После установки rpm в меню даже появится иконка, и вам возможно даже удастся ее запустить, вот только создать там виртуальную машину вам не удастся т.к. выскочит ошибка, требующая перекомпилить VB командой

1
# /etc/init.d/vboxdrv setup

и после того как вы перекомпилите VB, выше приведенной командой, в консоли выведется следующие сообщение

1
2
3
4
5
6
7
# /etc/init.d/vboxdrv setup
WARNING: Deprecated config file /etc/modprobe.conf, all config
files belong into /etc/modprobe.d/.
Stopping VirtualBox kernel module                 [  OK  ]
Recompiling VirtualBox kernel module            [СБОЙ ]
  (Look at /var/log/vbox-install.log to find out what
went wrong)

Посмотрев лог ошибок

1
$ cat /var/log/vbox-install.log

можно увидеть следующие

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Attempting to install using DKMS
  removing old DKMS module vboxdrv version  3.2.6
 
------------------------------
Deleting module version: 3.2.6
completely from the DKMS tree.
------------------------------
Done.
 
Creating symlink /var/lib/dkms/vboxdrv/3.2.6/source ->
                 /usr/src/vboxdrv-3.2.6
 
DKMS: add Completed.
 
Error! Your kernel source for kernel 2.6.33.4-95.fc13.x86_64
cannot be found at /lib/modules/2.6.33.4-95.fc13.x86_64
/build or /lib/modules/2.6.33.4-95.fc13.x86_64/source.
You can use the --kernelsourcedir option to tell DKMS
where it's located. Failed to install using DKMS, attempting
to install without Makefile:159: *** Error: unable to find
the sources of your current Linux kernel. Specify
KERN_DIR=directory and run Make again.  Останов.

Делать сейчас то что советует лог не имеет смысла т.к. исходников ядра в
/lib/modules/2.6.33.4-95.fc13.x86_64/build и /lib/modules/2.6.33.4-95.fc13.x86_64/source действительно нет, собственно поэтому нам и нужно их установить.

3.2 Собственно сама установка

3.2.1 Качаем srpm

Например для дефолтного ядра (kernel-2.6.33.3-85.fc13.src.rpm) для fedora 13 его можно скачать здесь http://download.fedora.redhat.com/pub/fedora/linux/releases/13/Fedora/source/SRPMS/.
Однако, есть способ и немного по попсовее:

1
2
$ su -c "yum install yum-utils -y ;
yumdownloader --source kernel"
3.2.2 Ставим скачанный пакет
1
$ su -c "rpm -ivh имя_пакета.src.rpm"

если нет sparse и/или rpm-build ставим их

1
$ su -c "yum install sparse rpm-build -y"
3.2.3 Делаем нормальными исходники

Теперь пробуем сделать сорцы нормальными (незабудьте забэкапить kernel.spec, мало ли что)

1
2
3
$ su
# rpmbuild -bp --target=$(uname -m) /root/rpmbuild/SPECS/
kernel.spec

Далее вы возможно будете наблюдать список зависимостей, которые необходимо устранить, в противном случае пропускаем этот шаг

1
2
3
4
5
6
7
8
9
10
Платформы для сборки: x86_64
Сборка для платформы x86_64
ошибка: Неудовлетворенные зависимости сборки:
redhat-rpm-config нужен для kernel-2.6.33.6-147.fc13.x86_64
xmlto нужен для kernel-2.6.33.6-147.fc13.x86_64
asciidoc нужен для kernel-2.6.33.6-147.fc13.x86_64
elfutils-libelf-devel нужен для kernel-2.6.33.6-147.fc13.x86_64
zlib-devel нужен для kernel-2.6.33.6-147.fc13.x86_64
binutils-devel нужен для kernel-2.6.33.6-147.fc13.x86_64
libdwarf-devel нужен для kernel-2.6.33.6-147.fc13.x86_64

Сейчас исходники лежат, например здесь /root/rpmbuild/BUILD/kernel-2.6.33/linux-2.6.33.x86_64, для вашей версии ядра циферки будут другие. На этом шаге нам необходимо сделать так чтобы ссылка /lib/modules/2.6.33.4-95.fc13.x86_64/source указывала на наши исходники

1
2
3
4
$ su
# rm -r /lib/modules/2.6.33.4-95.fc13.x86_64/source
# ln -s  /root/rpmbuild/BUILD/kernel-2.6.33/linux-2.6.33.x86_64
/lib/modules/2.6.33.4-95.fc13.x86_64/source
3.2.4 Финал

Перезагружаемся и теперь вводим с чистой совестью долгожданное

1
$ su -c '/etc/init.d/vboxdrv setup'

способ #1 – установка без гемороя из репозитория

Сначала добавляем новый репозиторий в YUM

1
2
3
4
$ su -c 'wget http://download.virtualbox.org/virtualbox/rpm/
fedora/virtualbox.repo -O /etc/yum.repos.d/virtualbox.repo;
sed -i "s,enabled=0,enabled=1,g" /etc/yum.repos.d/
virtualbox.repo'

Теперь обновляемся (обязательно!), качаем и устанавливаем необходимое и сам дистр VB

1
2
$ su -c 'yum update; yum install -y VirtualBox-3.2 dkms gcc
kernel-devel kernel-headers'

Далее перезагружаемся (обязательно!) и компилим VB

1
$ su -c '/etc/init.d/vboxdrv setup'

В конце осталось добавить себя в группу пользователей VB

1
$ su -c 'usermod -G vboxusers -a <ваш логин>'

итоги

В заключение хочу сказать что у меня получилось установить VirtualBox обоими способами, однако я настоятельно рекоммендую использовать только второй способ.

5 Comments to “установка VirtualBox на Fedora 13 x64”

  1. NoNamez пишет:

    федора страшная…. Под убунтой достаточно sudo apt-get install virtualbox …

  2. incoremedia пишет:

    Интересное замечание.

  3. aero11 пишет:

    Мне показалось…после игы с разными дистрибутивами, что Fedora самое оптимальное решение.Удобна, репозиториев много, софта под неё – тоже хватает. Главное весьма стабильна.

  4. lukmus пишет:

    Некоторые люди говорят, что у Федоры есть 1 недостаток, который отталкивает их от нее – слишком большая зависимость от интернета.
    Я, конечно, не принадлежу к их числу и считаю, что эта проблема решается настройкой локального репозитария.

  5. lukmus пишет:

    немного отредактировал статью, привел к более-менее читаемому виду

Leave a Reply to incoremedia

(обязательно)

(обязательно)