Одминский блог
Установка VirtualBox Guest Additions в Debian
В ключе ковыряния в Astra Linux пришлось немного повозиться, пытаясь установить утилиты VirtualBox, которые напрочь отказывались вставать, ссылаясь на занятость и незнакомство с данным продуктом.
Собственно в обычной системе под Debian утилиты VirtualBox Guest Additions ставятся на раз-два три следующим образом:
перехватываем права root через su, патчим систему и накатываем некоторые модули
# apt-get update
# apt-get upgrade
# apt-get install build-essential module-assistant
# m-a prepare
после чего монтируем диск с дополнениями из менюшки гостевой операционки: Устройства -> Установить Дополнения гостевой ОС и запускаем
# sh /media/cdrom/VBoxLinuxAdditions.run
на этой стадии в листинге установки появились ошибки, т.ч полез в логи, где обнаружил следующую запись “Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR= and run Make again”
Лечится это путем указания заголовков ядра:
# apt-cache search linux-headers-$(uname -r)
# apt-get install linux-headers-$(uname -r)
В принципе этого достаточно, чтобы под дебом все это хозяйство заработало, а вот под Astra Linux посыпались ошибки на undeclared & undefined symbol
З.Ы вообщем так или иначе VirtualBox Guest Additions встали на Astra Linux 1.10 только после апргейта VirtualBox с версии 4.2.6 до 4.3.20
Astra Linux и VirtualBox
После этого исчезает графический вход в систему, ввожу пароль и логин в терминале и starx. Загружается графическая оболочка, но через некоторое время в терминале появляется сообщение vboxsf:Unknown parametr ‘tag’ и система зависает. gcc и perl установлен. Как я понял, VB не может создать ядро , которые бы обеспечивало выбор разрешения экрана и другие дополнительные функции. Подскажите, пожалуйста, как решить эту проблему.
Montfer
New member
он говорит, что надо установить gcc make perl
ну, и проверь, установлен ли linux-heagers-версия_твоего_ядра
Iskatel_znaniy
New member
Версия VirtualBox 7.0.8 r156879 (Qt5.15.2), Windows 10 64bit. При попытке установить дополнение VB получаю сообщение:
Copying additional installer modules . Installing additional modules . VirtualBox Guest Additions: Starting. VirtualBox Guest Additions: Setting up modules VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel modules. This may take a while. VirtualBox Guest Additions: To build modules for other installed kernels, run VirtualBox Guest Additions: /sbin/rcvboxadd quicksetup VirtualBox Guest Additions: or VirtualBox Guest Additions: /sbin/rcvboxadd quicksetup all VirtualBox Guest Additions: Building the modules for kernel 5.15.0-70-generic. This system is currently not set up to build kernel modules. Please install the gcc make perl packages from your distribution. VirtualBox Guest Additions: Running kernel modules will not be replaced until the system is restarted or 'rcvboxadd reload' triggered VirtualBox Guest Additions: reloading kernel modules and services currently loaded module vboxguest version () does not match to VirtualBox Guest Additions installation version (7.0.8 r156879) The log file /var/log/vboxadd-setup.log may contain further information.
После этого исчезает графический вход в систему, ввожу пароль и логин в терминале и starx. Загружается графическая оболочка, но через некоторое время в терминале появляется сообщение vboxsf:Unknown parametr ‘tag’ и система зависает. gcc и perl установлен. Как я понял, VB не может создать ядро , которые бы обеспечивало выбор разрешения экрана и другие дополнительные функции. Подскажите, пожалуйста, как решить эту проблему.
Версия 7 на Астра Linux Орле не поддерживается, насколько я знаю, потому что 7 версия расчитана на Debian 10 а Орел сделан на Debian 9. Но если Вам удастся установить поделитесь решением.
VirtualBox Guest Additions — общие папки
Результатом его работы для данного примера будет образ /tmp/VBoxLinuxAdditions-6.1.34.iso, который уже можно подключить к гостевой Астре и запустить там подправленный VBoxLinuxAdditions.run.
Iskatel_znaniy
New member
При установке дополнений в гостевой Астре происходит ошибка сборки модуля общих папок, и, соответственно, общие папки потом не работают.
/tmp/vbox.0/include/iprt/linux/version.h:135:48: error: hexadecimal floating constants require an exponent # define RTLNX_UBUNTU_ABI(a_iAbi) (RT_CONCAT(0x,a_iAbi))
Чтобы избежать ошибки, можно подправить вышеуказанную строку в вышеупомянутом файле version.h внутри VBoxLinuxAdditions.run, изменив её на
# define RTLNX_UBUNTU_ABI(a_iAbi) 0
Для автоматизации этого действия можно использовать следующий скрипт. Для его работы нужно предварительно установить пакет makeself, которым создаются файлы .run.
#!/bin/bash runfile='VBoxLinuxAdditions.run' archive='VBoxGuestAdditions-amd64.tar.bz2' line='^# define RTLNX_UBUNTU_ABI' tmpdir='/tmp/vboxadd' sedcmd='/.+VirtualBox ([0-9.]+) Guest Additions.+/' version=$(sh "$runfile" --info | sed -nE "$sedcmd" -) || exit 1 file="src/vboxguest-$/vboxsf/include/iprt/linux/version.h" sh "$runfile" --noexec --keep --target "$tmpdir" || exit 1 cd "$tmpdir" mkdir -p 'extract' && cd 'extract' && tar -xjf ../"$archive" || exit 1 sed -i "/$/s/(RT_CONCAT(0x,a_iAbi))/0/" "$file" || exit 1 tar -cjf ../"$archive" * && cd ../.. && rm -r "$tmpdir/extract" || exit 1 makeself='/usr/bin/makeself.sh'; [[ -f $makeself ]] || makeself='/usr/bin/makeself' $makeself --nocomp "$tmpdir" "$runfile" \ "VirtualBox $version Guest Additions for Linux" \ '/bin/sh' './install.sh' '$0' && rm -r "$tmpdir" || exit 1 genisoimage -rJV "VBox_$_Linux_GAs" -o "VBoxLinuxAdditions-$.iso" \ "$runfile" && rm "$runfile" || exit 1 echo -e "\nГотово: /tmp/VBoxLinuxAdditions-$.iso\n" exit 0
Скрипт нужно запустить в терминале, зайдя в системе-хозяине на примонтированный образ с дополнениями. Например, так.
sudo mount ~/.config/VirtualBox/VBoxGuestAdditions_6.1.34.iso /mnt cd /mnt bash
Результатом его работы для данного примера будет образ /tmp/VBoxLinuxAdditions-6.1.34.iso, который уже можно подключить к гостевой Астре и запустить там подправленный VBoxLinuxAdditions.run.
Iskatel_znaniy
New member
#!/bin/bash
runfile=’VBoxLinuxAdditions.run’
archive=’VBoxGuestAdditions-amd64.tar.bz2′
line=’^# define RTLNX_UBUNTU_ABI’
tmpdir=’/tmp/vboxadd’
sedcmd=’/.+VirtualBox ([0-9.]+) Guest Additions.+/’
version=$(sh «$runfile» —info | sed -nE «$sedcmd» -) || exit 1
file=»src/vboxguest-$/vboxsf/include/iprt/linux/version.h»
sh «$runfile» —noexec —keep —target «$tmpdir» || exit 1
cd «$tmpdir»
mkdir -p ‘extract’ && cd ‘extract’ && tar -xjf ../»$archive» || exit 1
sed -i «/$/s/(RT_CONCAT(0x,a_iAbi))/0/» «$file» || exit 1
tar -cjf ../»$archive» * && cd ../.. && rm -r «$tmpdir/extract» || exit 1
makeself=’/usr/bin/makeself.sh’; [[ -f $makeself ]] || makeself=’/usr/bin/makeself’
$makeself —nocomp «$tmpdir» «$runfile» \
«VirtualBox $version Guest Additions for Linux» \
‘/bin/sh’ ‘./install.sh’ ‘$0’ && rm -r «$tmpdir» || exit 1
genisoimage -rJV «VBox_$_Linux_GAs» -o «VBoxLinuxAdditions-$.iso» \
«$runfile» && rm «$runfile» || exit 1
echo -e «\nГотово: /tmp/VBoxLinuxAdditions-$.iso\n»
exit 0
[/code]
Скрипт нужно запустить в терминале, зайдя в системе-хозяине на примонтированный образ с дополнениями. Например, так.
sudo mount ~/.config/VirtualBox/VBoxGuestAdditions_6.1.34.iso /mnt cd /mnt bash
Результатом его работы для данного примера будет образ /tmp/VBoxLinuxAdditions-6.1.34.iso, который уже можно подключить к гостевой Астре и запустить там подправленный VBoxLinuxAdditions.run.
А под каким названием и с каким расширением этот скрипт нужно сделать и куда его лучше всего поместить?
countmein
New member
Это значения не имеет. Какая программа выполняет скрипт, указано в его первой строчке. Это на случай, если вы его сделаете исполняемым и запустите как программу. А если передать его как аргумент в вызове bash, то и исполняемым делать не надо. Но обычно дают расширение .sh. Поместить тоже всё равно куда. Но если в один из каталогов, указанных в PATH, то можно будет его вызывать без пути к нему.
Iskatel_znaniy
New member
Скрипт нужно запустить в терминале, зайдя в системе-хозяине на примонтированный образ с дополнениями. Например, так.
countmein
New member
find ~ -name 'VBoxGuestAdditions*.iso'
Iskatel_znaniy
New member
find ~ -name 'VBoxGuestAdditions*.iso'
countmein
New member
Да, дополнения устанавливаются на гостевой, но образ-то с ними скачивается VirtualBox’ом в основную, потом подключается к виртуальному приводу гостя.
Iskatel_znaniy
New member
Да, дополнения устанавливаются на гостевой, но образ-то с ними скачивается VirtualBox’ом в основную, потом подключается к виртуальному приводу гостя.
12489229 drwx------ 2 user user user ? 4,0K мая 30 22:05 ./ 12320783 drwxr-xr-x 32 user user user ? 4,0K мая 30 22:01 ../ 12493156 -rw------- 1 user user user ? 1,2K янв 21 22:05 compreg.dat 12485871 -rw------- 1 user user user ? 1,7K мая 30 22:20 selectorwindow.log 12482279 -rw------- 1 user user user ? 4,2K мая 30 12:26 selectorwindow.log.1 12485879 -rw------- 1 user user user ? 2,0K мая 27 12:25 selectorwindow.log.10 12482275 -rw------- 1 user user user ? 6,5K мая 30 12:02 selectorwindow.log.2 12485893 -rw------- 1 user user user ? 3,0K мая 30 00:13 selectorwindow.log.3 12486044 -rw------- 1 user user user ? 3,4K мая 29 19:22 selectorwindow.log.4 12485958 -rw------- 1 user user user ? 362 мая 29 19:22 selectorwindow.log.5 12486091 -rw------- 1 user user user ? 291 мая 29 17:49 selectorwindow.log.6 12485885 -rw------- 1 user user user ? 2,0K мая 29 16:30 selectorwindow.log.7 12485937 -rw------- 1 user user user ? 218 мая 27 23:50 selectorwindow.log.8 12485928 -rw------- 1 user user user ? 1,3K мая 27 23:49 selectorwindow.log.9 12493073 -rw-r--r-- 1 user user user ? 196K мая 30 11:02 vbox-ssl-cacertificate.crt 12485926 -rw------- 1 user user user ? 68K мая 30 22:20 VBoxSVC.log 12482276 -rw------- 1 user user user ? 711K мая 30 12:28 VBoxSVC.log.1 12485867 -rw------- 1 user user user ? 54K мая 23 22:54 VBoxSVC.log.10 12485888 -rw------- 1 user user user ? 463K мая 30 00:13 VBoxSVC.log.2 12482274 -rw------- 1 user user user ? 87K мая 29 23:25 VBoxSVC.log.3 12485927 -rw------- 1 user user user ? 79K мая 27 23:50 VBoxSVC.log.4 12485895 -rw------- 1 user user user ? 58K мая 27 12:33 VBoxSVC.log.5 12485884 -rw------- 1 user user user ? 78K мая 26 23:52 VBoxSVC.log.6 12486047 -rw------- 1 user user user ? 131K мая 25 23:52 VBoxSVC.log.7 12485875 -rw------- 1 user user user ? 84K мая 25 12:30 VBoxSVC.log.8 12485886 -rw------- 1 user user user ? 80K мая 24 23:49 VBoxSVC.log.9 12486623 -rw------- 1 user user user ? 5,2K мая 30 12:28 VirtualBox.xml 12486597 -rw------- 1 user user user ? 4,9K мая 30 12:28 VirtualBox.xml-prev 12493169 -rw------- 1 user user user ? 30K янв 21 22:05 xpti.dat