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

Unable to install VIrtualbox, `"Specify KERN_DIR="` -- installing Virtual Box to Debian?

Ich erhalte diesen Fehler:

Makefile:181: *** Fehler: Kann die Quellen des aktuellen Linux-Kernels nicht finden. Geben Sie KERN_DIR= an und führen Sie Make erneut aus. Stop.

Im Grunde mache ich das:

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

Und der Fehler ist:

Makefile:181: *** Fehler: Kann die Quellen des aktuellen Linux-Kernels nicht finden. Geben Sie KERN_DIR= an und führen Sie Make erneut aus. Stop

Was ist dieser Fehler und wie kann er behoben werden?

Antworten (7)

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

Stellen Sie sicher, dass Sie das Kernel Headers Package installieren. 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:

Zufällig musste ich es auch auf meinem eigenen Server installieren und bekam die gleiche Fehlermeldung, als ich versuchte, die Virtualbox in den Debian-Repos zu verwenden. Ich ging voran und fügte das VirtualBox-Repos hinzu und installierte von dort. Das ist besser, weil sie aktueller sind.

Als root

$ nano /etc/apt/sources.list

Fügen Sie die folgende Zeile für squeeze

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

ein und fügen Sie dann den öffentlichen Oracle-Schlüssel für apt-secure

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

ein und führen Sie dann update aus, um die neueste Version 4. 2

apt-get update
apt-get install virtualbox-4.2

Installieren Sie das dkms-Paket, um sicherzustellen, dass die VirtualBox-Host-Kernel-Module auf dem neuesten Stand sind

apt-get install dkms

& Sollte jetzt alles bereit sein. Ich habe diese Anweisungen von der VirtualBox-Website für Linux, die im Moment nicht verfügbar zu sein scheint, aber der Link ist https://www.virtualbox.org/wiki/Linux_Downloads

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

So beheben Sie das Problem für Fedora/CentOS

Stellen Sie zunächst sicher, dass Ihre installierten Pakete (insbesondere der Kernel) auf dem neuesten Stand sind:

$ sudo yum update

Wenn die Kernel-Version aktualisiert wird, müssen Sie neu starten, damit uname -r mit dem Verzeichnisnamen in /usr/src/kernels/ übereinstimmt. Dann

$ 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

Danach sollte das Kompilieren der VirtualBox-Kernelmodule ohne Probleme funktionieren.

Quellen:

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

Ich hatte den KERN_DIR-Fehler in CentOS. Ich überprüfte das Shell-Installationsskript und fand heraus, dass es KERN_DIR auf /usr/src/kernels setzt. Dann führte ich “uname -r” aus, was zeigte, dass ich eine niedrigere Version des Kernels … als den Quellcode unter /usr/src/kernels laufen hatte.

Ich sah mir /boot/grub/menu.lst an … und bestätigte die Kernel-Fehlanpassung. Seltsam.

Also war die Lösung … “yum -y update kernel”, dann Neustart. VMWare-Tools wurden dann installiert.

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

@hhh Sie sollten nur nach linux-headers suchen und das gute für Ihre Architektur finden. In meinem Fall:

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

In meinem Fall, ich habe eine 64-Bit-Architektur, muss ich also linux-headers-amd64 installieren.

Eine andere Sache ist, dass apt-get add nicht existiert. Ersetzen Sie apt-get durch apt-key.

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

Versuchen Sie es:

yum install kernel* dkms gcc

Dann

yum install kernel-uek-devel

Dann starten Sie Ihren Rechner neu

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

Der Fehler bedeutet, dass vboxdrv/vboxadd Ihre Kernelquellen nicht finden kann.

Das Skript erwartet, dass der Ordner /lib/modules/$(uname -r)/build auf /usr/src/kernels/$(uname -r) zeigt, der das Makefile haben sollte, in dem es die Aufgabe kernelrelease ausführen kann, so dass es mit Ihrer aktuell installierten Kernelversion (uname -r) vergleichen kann.

Wenn dieser Befehl also fehlschlägt:

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

sollten Sie die Linux-Header installieren durch:

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

Für weitere Details lesen Sie bitte diesen Beitrag .

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

Für jedes Betriebssystem müssen Sie sicherstellen, dass alle benötigten Pakete installiert sind. In meinem Fall unter Debian fehlten die Pakete dkms und linux-headers-generic.

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

Vollständige Anweisungen finden Sie in diesem VirtualBox-Forumspost .