Erro ao instalar o Virtualbox Additions no Debian 9

2

Estou tentando instalar o Virtualbox Guest Additions em uma nova instalação do Debian 9 e obter um erro ao criar módulos. Pacotes build-essential , module-assistant , dpkg , linux-headers-4.0.3 estão instalados:

$ sudo apt install build-essential dpkg linux-headers-4.0.3-3
$ sudo apt build-dep -y linux

Para instalar as adições eu corro:

$ sudo mount -o remount,exec,ro /media/cdrom0
$ sudo /media/cdrom0/VBoxLinuxAddons.run

E receba o erro:

Verifying archive integrity... All good.
Uncompressing VirtualBox 5.1.6 Guest Additions for Linux...........
VirtualBox Guest Additions installer
Removing installed version 5.1.6 of VirtualBox Guest Additions...
Copying additional installer modules ...
Installing additional modules ...
vboxadd.sh: Building Guest Additions kernel modules.
Failed to set up service vboxadd, please check the log file
/var/log/VBoxGuestAdditions.log for details.
sergiy@debian-pc-1:~$

Registre /var/log/VBoxGuestAdditions.log contém:

Created symlink /etc/systemd/system/multi-user.target.wants/vboxadd.service → /lib/systemd/system/vboxadd.service.
vboxadd.sh: failed: Look at /var/log/vboxadd-install.log to find out what went wrong.
vboxadd.sh: failed: Please check that you have gcc, make, the header files for your Linux kernel and possibly perl installed..
Created symlink /etc/systemd/system/multi-user.target.wants/vboxadd-service.service → /lib/systemd/system/vboxadd-service.service.
Created symlink /etc/systemd/system/multi-user.target.wants/vboxadd-x11.service → /lib/systemd/system/vboxadd-x11.service.

Arquivo /var/log/vboxadd-install.log contém:

grep: /lib/modules/4.9.0-3-amd64/build/include/linux/version.h: No such file or directory
make KBUILD_VERBOSE=1 CONFIG_MODULE_SIG= -C /lib/modules/4.9.0-3-amd64/build SUBDIRS=/tmp/vbox.0 SRCROOT=/tmp/vbox.0 -j1 modules
make -C /usr/src/linux-headers-4.9.0-3-amd64 KBUILD_SRC=/usr/src/linux-headers-4.9.0-3-common \
-f /usr/src/linux-headers-4.9.0-3-common/Makefile modules
test -e include/generated/autoconf.h -a -e include/config/auto.conf || (                \
echo >&2;                                                       \
echo >&2 "  ERROR: Kernel configuration is invalid.";           \
echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";      \
echo >&2 ;                                                      \
/bin/false)
mkdir -p /tmp/vbox.0/.tmp_versions ; rm -f /tmp/vbox.0/.tmp_versions/*
make -f /usr/src/linux-headers-4.9.0-3-common/scripts/Makefile.build obj=/tmp/vbox.0
   gcc-6 -Wp,-MD,/tmp/vbox.0/.VBoxGuest-linux.o.d  -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/6/include -I/usr/src/linux-headers-4.9.0-3-common/arch/x86/
------------------------------------------------
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
/usr/src/linux-headers-4.9.0-3-common/include/linux/mm.h:1298:6: note: declared here
 long get_user_pages_remote(struct task_struct *tsk, struct mm_struct *mm,
      ^~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
/usr/src/linux-headers-4.9.0-3-common/scripts/Makefile.build:298: recipe for target '/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.o' failed
make[4]: *** [/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.o] Error 1
/usr/src/linux-headers-4.9.0-3-common/Makefile:1507: recipe for target '_module_/tmp/vbox.0' failed
make[3]: *** [_module_/tmp/vbox.0] Error 2
Makefile:150: recipe for target 'sub-make' failed
make[2]: *** [sub-make] Error 2
Makefile:8: recipe for target 'all' failed
make[1]: *** [all] Error 2
/tmp/vbox.0/Makefile.include.footer:84: recipe for target 'vboxguest' failed
make: *** [vboxguest] Error 2
Creating user for the Guest Additions.
Creating udev rule for the Guest Additions kernel module.

Saída uname -a :

Linux debian-pc-1 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u1 (2017-06-18) x86_64 GNU/Linux

$ dpkg -l | grep virtualbox

Resultado do comando dpkg -l | grep virtualbox no host Ubuntu 16.10:

ii  virtualbox                                  5.1.6-dfsg-2                                       amd64        x86 virtualization solution - base binaries
rc  virtualbox-5.1                              5.1.22-115126~Ubuntu~yakkety                       amd64        Oracle VM VirtualBox
ii  virtualbox-dkms                             5.1.6-dfsg-2                                       all          x86 virtualization solution - kernel module sources for dkms
ii  virtualbox-qt                               5.1.6-dfsg-2                                       amd64        x86 virtualization solution - Qt based user interface
ii  virtualbox-source                           5.1.6-dfsg-2                                       all          x86 virtualization solution - kernel module source

Arquivo /etc/apt/sources.list no convidado Debian:

deb http://deb.debian.org/debian/ stretch-updates main contrib non-free
deb-src http://deb.debian.org/debian/ stretch-updates main contrib non-free

deb http://deb.debian.org/debian/ stretch main contrib non-free
deb-src http://deb.debian.org/debian/ stretch main contrib non-free

deb http://security.debian.org/ stretch/updates main contrib non-free

deb http://httpredir.debian.org/debian stretch-backports main contrib non-free
deb-src http://httpredir.debian.org/debian stretch-backports main contrib non-free

ISO com Virtualbox addons 5.1.6 foi baixado pelo VirtualBox do site oficial. O que há de errado? Como consertar isso?

    
por Сергей Матийчук 19.07.2017 / 12:31

2 respostas

3

O linux-headers-4.0.3-3 pertence ao Ubuntu. Você deve instalar o pacote linux-headers-4.9.0-3-amd64 no debian 9:

apt install linux-headers-4.9.0-3-amd64 

Instale o dkms e prepare o kernel para construir o módulo do kernel:

apt install dkms
m-a prepare

Execute o VBoxLinuxAddons.run .

    
por 25.07.2017 / 12:52
1

Eu tive uma configuração semelhante ao OP. Eu até tentei o que o @ GAD3R sugeriu em um ponto.

No final, achei que a solução seria instalar a versão mais recente do VirtualBox (5.1.24) e baixar as adições de convidado separadamente do http://download.virtualbox.org/virtualbox/5.1.24/ .

    
por 25.07.2017 / 19:35