пятница, 5 мая 2017 г.

Install Guest Additions for CentOS-6.5 in OpenBox 5.1

Centos-6.5 уже довольно старая ОС, но в силу некоторых причин пришлось это сделать. Собственно, сама установка гостевой ОС внутри виртуальной машины тривиальна и не требует особых трюков. А вот установка гостевых дополнений - это уже интереснее.
Итак, для начала установим все, что надо для патчинга ядра (здесь и далее все делается из root-консоли, это важно):

yum install kernel-headers kernel-devel

Теперь вставим диск с дополнениями ("Devices" -> "Insert Guest Additions CD image") и идем сюда:

cd /media/VBOXADDITIONS_5.1.22_115126

Пробуем теперь запустить установку гостевых дополнений:

./VBoxLinuxAdditions.run

И мы получаем ошибку. Смотрим, что именно происходит не так:

cat /var/log/vboxadd-install.log

И узнаем, что скрипт не может найти путь к ядру. Ок, давайте сами найдем его:

find / -type d -name '*kernel*'

У нас на выходе будет что-то типа этого:

/selinux/class/kernel_service
/proc/sys/kernel
/etc/kernel
/lib/modules/2.6.32-431.el6.x86_64/kernel
/lib/modules/2.6.32-431.el6.x86_64/kernel/kernel
/lib/modules/2.6.32-431.el6.x86_64/kernel/arch/x86/kernel
/sys/kernel
/sys/module/kernel
/usr/share/selinux/devel/include/kernel
/usr/share/doc/dracut-kernel-004
/usr/share/doc/kernel-firmware-2.6.32
/usr/share/dracut/modules.d/90kernel-modules
/usr/src/kernels
/usr/src/kernels/2.6.32-696.1.1.el6.x86_64/kernel
/usr/src/kernels/2.6.32-696.1.1.el6.x86_64/arch/parisc/kernel
...
/usr/src/kernels/2.6.32-696.1.1.el6.x86_64/arch/microblaze/kernel
/usr/src/kernels/2.6.32-696.1.1.el6.x86_64/arch/score/kernel
/usr/src/kernels/2.6.32-696.1.1.el6.x86_64/arch/m68k/kernel
...
/usr/src/kernels/2.6.32-696.1.1.el6.x86_64/include/config/have/kernel
/usr/src/kernels/2.6.32-696.1.1.el6.x86_64/include/config/kernel
...

Теперь укажем скрипту, где лежит ядро:

export KERN_DIR=/usr/src/kernels/2.6.32-696.1.1.el6.x86_64/

Запускаем скрипт еще раз и опять получаем fail. Смотрим в лог и видим, что теперь скрипт не может найти perl. Хорошо, установим его:

yum install perl

Пробуем еще раз и опять неудача. В этот раз скрипт не смог найти GCC. Установим его тоже:

yum install gcc

Запускам скрипт еще раз и наконец-то все заработало. Перезагружаем виртуальную машину.

Отдельное спасибо Shay Anderson за это руководство.