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

Kan Virtual Box niet installeren, `"Specificeer KERN_DIR="` -- Virtual Box installeren op Debian?

Ik krijg deze foutmelding:

Makefile:181: *** Fout: niet in staat om de broncode van uw huidige Linux kernel te vinden. Specificeer KERN_DIR= en voer Make opnieuw uit. Stop.

Eigenlijk ben ik aan het doen:

$ 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)

En de fout is:

Makefile:181: *** Fout: niet in staat om de broncode van uw huidige Linux kernel te vinden. Specificeer KERN_DIR= en voer Make opnieuw uit. Stop

Wat is deze fout en hoe los ik hem op?

Antwoorden (7)

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

Zorg ervoor dat je Kernel Headers Package installeert. 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:

Ik moest het toevallig ook op mijn eigen server installeren en kreeg dezelfde foutmelding toen ik probeerde de virtualbox in debian repos te gebruiken. Ik ging door en voegde de VirtualBox repo toe en installeerde vanaf daar. Dit is beter omdat ze meer up-to-date zijn.

Als root

$ nano /etc/apt/sources.list

Voeg onderstaande regel toe voor squeeze

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

Voeg dan de De Oracle publieke sleutel toe voor apt-secure

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

voer dan update uit en om de laatste 4 te installeren. 2

apt-get update
apt-get install virtualbox-4.2

Installeer het dkms pakket om er zeker van te zijn dat de VirtualBox host kernel modules up to date zijn

apt-get install dkms

Zou goed moeten zijn om te gaan. Ik heb deze instructies van de VirtualBox website voor Linux, die op het moment niet beschikbaar lijkt te zijn, maar de link is https://www.virtualbox.org/wiki/Linux_Downloads

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

Hoe dit op te lossen voor Fedora/CentOS

Zorg er eerst voor dat je geinstalleerde pakketten (vooral kernel) up to date zijn:

$ sudo yum update

Als het de kernel versie update, moet je herstarten zodat uname -r overeenkomt met de directory naam in /usr/src/kernels/. Dan

$ 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

Hierna zou het compileren van VirtualBox kernel modules zonder problemen moeten werken.

Bronnen:

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

Ik had de KERN_DIR fout in CentOS. Ik bekeek het shell installatie script, en ontdekte dat het KERN_DIR instelt op /usr/src/kernels. Toen ik “uname -r” deed, bleek dat ik een lagere versie van de kernel draaide … dan de broncode onder /usr/src/kernels.

Ik keek naar /boot/grub/menu.lst … en bevestigde de kernel mismatch. Vreemd.

Dus de oplossing was … “yum -y update kernel”, dan opnieuw opstarten. VMWare tools werden toen geïnstalleerd.

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

@hhh Je moet alleen naar linux-headers zoeken en de goede voor jouw architectuur vinden. In mijn geval:

# 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)

Dus, in mijn geval, ik heb een 64-bit architectuur, moet ik linux-headers-amd64 installeren.

Een ander ding is dat apt-get add niet bestaat. Vervang apt-get door apt-key.

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

Probeer:

yum install kernel* dkms gcc

Dan

yum install kernel-uek-devel

Dan herstart uw machine

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

De fout betekent dat vboxdrv/vboxadd uw kernelbronnen niet kan vinden.

Het script verwacht dat de map /lib/modules/$(uname -r)/build wijst naar /usr/src/kernels/$(uname -r) die de Makefile zou moeten hebben waar het de opdracht kernelrelease kan uitvoeren, zodat het kan vergelijken met je huidige geïnstalleerde kernelversie (uname -r).

Dus als deze opdracht mislukt:

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

moet je de Linux headers installeren door:

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

Voor meer details, zie deze post .

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

Voor elk OS moet je ervoor zorgen dat alle benodigde pakketten zijn geïnstalleerd. In mijn geval op Debian miste ik de pakketten dkms en linux-headers-generic.

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

Voor volledige instructies zie dit VirtualBox forum post .