Je reçois cette erreur:
Makefile: 181: *** Erreur: impossible de trouver les sources de votre noyau Linux actuel. Spécifiez KERN_DIR = et exécutez à nouveau Make. Arrêtez.
Fondamentalement 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 la suivante:
Makefile: 181: *** Erreur: impossible de trouver les sources de votre noyau Linux actuel. Spécifiez KERN_DIR = et exécutez à nouveau Make. Arrêtez
Quelle est cette erreur et comment y remédier?
Assurez-vous d’installer le paquetage des en-têtes de 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:
Je dois juste l’installer également sur mon propre serveur et avoir la même erreur en essayant d’utiliser la virtualbox dans le dépôt Debian. Je suis allé de l'avant et ajouté VirtualBox repo et installé à partir de là. C'est mieux car ils sont plus à jour.
En tant que root
$ nano /etc/apt/sources.list
Ajouter la ligne ci-dessous pour squeeze
deb http://download.virtualbox.org/virtualbox/debian squeeze contrib non-free
Ajoutez ensuite la clé publique Oracle pour apt-secure
$ wget -q http://download.virtualbox.org/virtualbox/debian/Oracle_vbox.asc -O- | Sudo apt-key add -
puis lancez update et d'installer la dernière version 4.2
apt-get update
apt-get install virtualbox-4.2
Installez le package dkms pour vous assurer que les modules du noyau de VirtualBox Host sont à jour.
apt-get install dkms
Devrait être bon pour aller. J'ai reçu ces instructions sur le 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
Tout d’abord, assurez-vous que vos paquets installés (en particulier 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 cette compilation, les modules du noyau VirtualBox devraient fonctionner sans aucun problème.
Sources:
@hhh Vous devriez rechercher uniquement linux-headers
et trouver celui qui convient à 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
.
Essayer:
yum install kernel* dkms gcc
Ensuite
yum install kernel-uek-devel
Puis redémarrez votre machine
J'ai eu l'erreur KERN_DIR dans CentOS. A examiné le script d'installation du shell et a constaté qu'il définit KERN_DIR sur/usr/src/kernels. Ensuite, "uname -r" a montré que j’exécutais une version inférieure du noyau ... que le code source sous/usr/src/kernels.
J'ai regardé /boot/grub/menu.lst ... et confirmé l'inadéquation du noyau. Bizarre.
Donc, correctif était ... "noyau de mise à jour yum -y", puis redémarrez. Les outils VMWare se sont ensuite installés.
Pour tout système d'exploitation, vous devez vous assurer que tous les packages nécessaires sont installés. Dans mon cas sous 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, consultez cet article Forum de VirtualBox .
L'erreur signifie que vboxdrv
/vboxadd
ne peut pas trouver vos sources du noyau.
Le script s'attend à ce que le dossier /lib/modules/$(uname -r)/build
pointe sur /usr/src/kernels/$(uname -r)
, qui doit comporter le fichier Makefile où il peut exécuter la tâche kernelrelease
, de sorte qu'il puisse être comparé à la version actuelle du noyau (uname -r
).
Donc si cette commande échoue:
make -C /usr/src/kernels/$(uname -r)/build kernelrelease
vous devriez installer les en-têtes Linux en:
Sudo apt-get install linux-headers-$(uname -r)
Pour plus de détails, veuillez vérifier ceci post .