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

Невозможно установить VIrtualbox, ``Укажите KERN_DIR=<каталог>"` -- установка Virtual Box в Debian?

Advertisement

Я получаю эту ошибку:

Makefile:181: *** Ошибка: не могу найти исходники текущего ядра Linux. Укажите KERN_DIR= и снова запустите Make. Стоп.

В основном делаю:

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

И ошибка:

Makefile:181: *** Ошибка: не могу найти исходники текущего ядра Linux. Укажите KERN_DIR= и снова запустите Make. Стоп

Что это за ошибка и как ее исправить?

Advertisement
Advertisement

Ответы (7)

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

Убедитесь, что вы установили пакет Kernel Headers Package. 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:

Я случайно установил его также на свой сервер и получил такую же ошибку при попытке использовать виртуальный ящик в репозитории debian. Я добавил репозиторий VirtualBox и установил его оттуда. Это лучше, потому что они более актуальны.

В качестве корневого

$ nano /etc/apt/sources.list

Добавить строку ниже для сжатия

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

Затем добавить открытый ключ Oracle для apt-secure

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

, а затем запустить обновление и установить последние 4. 2

apt-get update
apt-get install virtualbox-4.2

Установите пакет dkms, чтобы убедиться, что модули ядра хоста VirtualBox обновлены

apt-get install dkms

должны быть готовы к работе. Получил эти инструкции с сайта VirtualBox для Linux, который в данный момент, кажется, не работает, но ссылка на него - _COPY16_Downloads .

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

Как это исправить для Fedora/CentOS

Сначала убедитесь, что установленные вами пакеты (особенно ядро) обновлены:

$ sudo yum update

Если он обновляет версию ядра, вам придется перезагрузить, чтобы uname -r совпало с именем каталога в /usr/src/kernels/. Тогда

$ 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

После этой компиляции модули ядра VirtualBox должны работать без проблем.

Исходники:

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

У меня была ошибка KERN_DIR в CentOS. Просмотрел скрипт установки оболочки и обнаружил, что он устанавливает KERN_DIR в /usr/src/kernels. Затем “uname -r” показало, что я запустил более низкую версию ядра … чем исходный код под /usr/src/kernels.

Я посмотрел на /boot/grub/menu.lst … и подтвердил несоответствие ядра. Странно.

Итак, исправление было … “yum -y update kernel”, затем перезагрузился. Затем были установлены инструменты VMWare.

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

@hh Вы должны искать только linux-headers и найти хорошую для вашей архитектуры. В моем случае:

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

Так что в моем случае у меня 64-битная архитектура, мне нужно установить linux-headers-amd64.

Другое дело, что apt-get add не существует. Замените apt-get на apt-key.

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

Попробуй:

yum install kernel* dkms gcc

затем

yum install kernel-uek-devel

затем перезагрузите вашу машину

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

Ошибка означает, что vboxdrv/vboxadd не могут найти исходники вашего ядра.

Скрипт ожидает, что папка /lib/modules/$(uname -r)/build указывает на /usr/src/kernels/$(uname -r), в которой должен быть Makefile, где он может выполнить задачу kernelrelease, так что он может сравнить с текущей установленной версией ядра (uname -r).

Так что если эта команда не сработает:

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

вы должны установить заголовки Linux:

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

Для более подробной информации, пожалуйста, проверьте это сообщение .

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

Для любой операционной системы необходимо убедиться, что все необходимые пакеты установлены. В моём случае в Debian мне не хватало пакетов dkms и linux-headers-generic.

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

Полные инструкции смотрите в этом сообщении форума VirtualBox .

Advertisement

Похожие вопросы

12
11
8
5
7
Advertisement