2012-11-03 17:06:32 +0000 2012-11-03 17:06:32 +0000
38
38

Impossibile installare VIrtualbox, `"Specificare KERN_DIR="` -- installando Virtual Box su Debian?

Sto ottenendo questo errore:

Makefile:181: *** Errore: impossibile trovare i sorgenti del kernel Linux corrente. Specifica KERN_DIR= ed esegui nuovamente Make. Stop.

Fondamentalmente sto facendo:

$ sudo /etc/init.d/vboxdrv setup
Removing existing VirtualBox non-DKMS kernel modules [OK]
Building the VirtualBox Guest Additions kernel modules
The headers for the current running kernel were not found. If the following
module compilation fails then this could be the reason.
The missing package can be probably installed with
yum install kernel-devel-2.6.32-573.18.1.el6.x86_64

Building the main Guest Additions module [FAILED]
(Look at /var/log/vboxadd-install.log to find out what went wrong)

e l'errore è:

Makefile:181: *** Errore: impossibile trovare i sorgenti del kernel Linux corrente. Specifica KERN_DIR= ed esegui nuovamente Make. Stop

Cos'è questo errore e come risolverlo?

Risposte (7)

34
34
34
2012-11-03 17:38:30 +0000

Assicuratevi di installare il pacchetto Kernel Headers. http://www.cyberciti.biz/faq/howto-install-kernel-headers-package

Make sure you have updated version

Type the following command
$ sudo apt-get update

OR as root user enter:
# apt-get update

Search for kernel version (optional)

Type the following command:
$ apt-cache search linux-headers-$(uname -r)

Install linux-header package under Debina or Ubuntu Linux

Type the following command:
$ sudo apt-get install linux-headers-$(uname -r)

OR as root user:
# apt-get install linux-headers-$(uname -r)

EDIT:

Mi è capitato di doverlo installare anche sul mio server e ho avuto lo stesso errore quando ho cercato di usare virtualbox nei repo debian. Sono andato avanti e ho aggiunto il repo di VirtualBox e ho installato da lì. Questo è meglio perché sono più aggiornati.

Come root

$ nano /etc/apt/sources.list

Aggiungere la linea sottostante per squeeze

deb http://download.virtualbox.org/virtualbox/debian squeeze contrib non-free

Poi aggiungere la chiave pubblica Oracle per apt-secure

$ wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

poi eseguire update e installare l'ultima 4. 2

apt-get update
apt-get install virtualbox-4.2

Installare il pacchetto dkms per assicurarsi che i moduli del kernel host di VirtualBox siano aggiornati

apt-get install dkms

Dovrebbe essere pronto a partire. Ho preso queste istruzioni dal sito web di VirtualBox per Linux che sembra essere giù al momento, ma il link è https://www.virtualbox.org/wiki/Linux_Downloads

29
29
29
2014-07-19 12:20:11 +0000

Come risolvere questo problema per Fedora/CentOS

Prima assicurati che i tuoi pacchetti installati (specialmente il kernel) siano aggiornati:

$ sudo yum update

Se aggiorna la versione del kernel, dovrai riavviare così uname -r corrisponde al nome della directory in /usr/src/kernels/. Poi

$ sudo yum install kernel-devel gcc
$ echo export KERN_DIR=/usr/src/kernels/`uname -r` >> ~/.bashrc
$ source ~/.bashrc # to set the variable in your current shell
$ sudo echo $KERN_DIR # verify the value is set
$ sudo ls $KERN_DIR # verify the directory exists

Dopo questo compilare i moduli del kernel di VirtualBox dovrebbe funzionare senza problemi.

Fonti:

2
2
2
2015-10-23 02:03:00 +0000

Ho avuto l'errore KERN_DIR in CentOS. Ho rivisto lo script di installazione della shell e ho scoperto che imposta KERN_DIR su /usr/src/kernels. Poi ha fatto “uname -r” mostra che stavo eseguendo una versione inferiore del kernel … rispetto al codice sorgente sotto /usr/src/kernels.

Ho guardato /boot/grub/menu.lst … e ho confermato la mancata corrispondenza del kernel. Strano.

Quindi la soluzione era … “yum -y update kernel”, poi riavviare. Gli strumenti VMWare si sono poi installati.

2
2
2
2013-05-28 18:05:47 +0000

@hhh Dovresti cercare solo per linux-headers e trovare quello buono per la tua architettura. Nel mio caso:

# aptitude search linux-headers      
v linux-headers -                                                                              
p linux-headers-2.6-amd64 - Header files for Linux amd64 configuration (dummy package)                   
p linux-headers-3.2.0-4-all - All header files for Linux 3.2 (meta-package)                                
p linux-headers-3.2.0-4-all-amd64 - All header files for Linux 3.2 (meta-package)                                
i A linux-headers-3.2.0-4-amd64 - Header files for Linux 3.2.0-4-amd64                                         
i A linux-headers-3.2.0-4-common - Common header files for Linux 3.2.0-4                                        
p linux-headers-3.2.0-4-common-rt - Common header files for Linux 3.2.0-4-rt                                     
p linux-headers-3.2.0-4-rt-amd64 - Header files for Linux 3.2.0-4-rt-amd64                                      
i linux-headers-amd64 - Header files for Linux amd64 configuration (meta-package)                    
p linux-headers-rt-amd64 - Header files for Linux rt-amd64 configuration (meta-package)

Quindi, nel mio caso, ho un'architettura a 64 bit, devo installare linux-headers-amd64.

Un'altra cosa è che apt-get add non esiste. Sostituisci apt-get con apt-key.

1
1
1
2014-06-08 02:10:33 +0000

Prova:

yum install kernel* dkms gcc

poi

yum install kernel-uek-devel

poi riavvia la tua macchina

0
0
0
2016-06-08 16:03:37 +0000

L'errore significa che vboxdrv/vboxadd non riesce a trovare i tuoi sorgenti del kernel.

Lo script si aspetta che la cartella /lib/modules/$(uname -r)/build punti a /usr/src/kernels/$(uname -r) che dovrebbe avere il Makefile dove può eseguire il task kernelrelease, in modo da poterlo confrontare con la tua attuale versione del kernel installato (uname -r).

Quindi se questo comando fallisce:

make -C /usr/src/kernels/$(uname -r)/build kernelrelease

dovresti installare gli header di Linux da:

sudo apt-get install linux-headers-$(uname -r)

Per ulteriori dettagli, controlla questo post .

0
0
0
2016-06-22 11:47:51 +0000

Per qualsiasi sistema operativo è necessario assicurarsi che tutti i pacchetti necessari siano installati. Nel mio caso su Debian mi mancavano i pacchetti dkms e linux-headers-generic.

#apt-get install dkms build-essential linux-headers-generic linux-headers-$(uname -r)

Per istruzioni complete vedere questo post sul forum di VirtualBox .