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

Impossible d'installer VIrtualbox, `"Specify KERN_DIR="` -- installation de Virtual Box pour Debian ?

Je reçois cette erreur :

Makefile:181 : *** Erreur : impossible de trouver les sources de votre noyau Linux actuel. Spécifiez KERN_DIR= et relancez Make. Arrêtez.

En gros, je fais :

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

Et l'erreur est :

Makefile:181 : *** Erreur : impossible de trouver les sources de votre noyau Linux actuel. Précisez KERN_DIR= et relancez Make. Arrêtez

Quelle est cette erreur et comment la corriger ?

Réponses (7)

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

Assurez-vous que vous installez le paquet d'en-têtes du noyau. 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:

Il se trouve que je dois également l'installer sur mon propre serveur et j'ai obtenu la même erreur en essayant d'utiliser la virtualbox dans les dépôts debian. J'ai donc ajouté le dépôt VirtualBox et je l'ai installé à partir de là. C'est mieux parce qu'ils sont plus à jour.

En tant que racine

$ nano /etc/apt/sources.list

Ajoutez la ligne ci-dessous pour squeeze

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

Puis ajoutez la clé publique de The Oracle pour apt-secure

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

puis lancez update et installez la dernière version 4. 2

apt-get update
apt-get install virtualbox-4.2

Installez le paquet dkms pour vous assurer que les modules du noyau hôte de VirtualBox sont à jour

apt-get install dkms

Devrait être bon pour aller. Ces instructions proviennent du site web de VirtualBox pour Linux qui semble être en panne pour le moment mais le lien est https://www.virtualbox.org/wiki/Linux_Downloads

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

Comment corriger cela pour Fedora/CentOS

Assurez-vous d'abord que les paquets que vous avez installés (surtout le noyau) sont à jour :

$ sudo yum update

S'il met à jour la version du noyau, vous devrez redémarrer pour que uname -r corresponde au nom du répertoire dans /usr/src/kernels/. Ensuite,

$ 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

Après cela, la compilation des modules du noyau de VirtualBox devrait fonctionner sans problème.

Sources :

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

J'ai eu l'erreur KERN_DIR dans CentOS. J'ai examiné le script d'installation du shell, et j'ai trouvé qu'il mettait KERN_DIR à /usr/src/kernels. Ensuite, “uname -r” montre que j'utilise une version du noyau inférieure … au code source sous /usr/src/kernels.

J'ai regardé /boot/grub/menu.lst … et j'ai confirmé la non-concordance du noyau. Bizarre.

Donc la correction était … “yum -y update kernel”, puis je redémarrais. Les outils VMWare ont alors été installés.

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

@hhhh Vous ne devez chercher que linux-headers et trouver le bon pour votre architecture. Dans mon cas :

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

Donc, dans mon cas, j'ai une architecture 64 bits, je dois installer linux-headers-amd64.

Une autre chose est que apt-get add n'existe pas. Remplacez apt-get par apt-key.

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

Essayez :

yum install kernel* dkms gcc

Puis

yum install kernel-uek-devel

Puis redémarrez votre machine

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

L'erreur signifie que vboxdrv/vboxadd ne peut pas trouver les sources de votre noyau.

Le script s'attend à ce que le dossier /lib/modules/$(uname -r)/build pointe vers /usr/src/kernels/$(uname -r) qui devrait avoir le Makefile où il peut exécuter la tâche kernelrelease, afin de pouvoir la comparer avec la version actuelle du noyau installée (uname -r).

Donc si cette commande échoue :

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

vous devez installer les en-têtes Linux par :

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

Pour plus de détails, veuillez consulter ce post .

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

Pour tout système d'exploitation, vous devez vous assurer que tous les paquets nécessaires sont installés. Dans mon cas sur Debian, il me manquait les paquets dkms et linux-headers-generic.

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

Pour des instructions complètes, voir ce message du forum VirtualBox .