2016-04-27 4 views
0

Я пытаюсь создать модуль ядра. Но когда я пытаюсь скомпилировать код, я получаю следующую ошибку.Ошибка в GCC-Kernel

ERROR: gcc/kernel version mismatch 
+ echo 'gcc version: 4.8.4-2ubuntu1~14.04.1) 4.8.4' 
gcc version: 4.8.4-2ubuntu1~14.04.1) 4.8.4 
+ echo 'kernel version: 4.8.2-19ubuntu1) 4.8.2' 

Я использую ubuntu Ubuntu 14.04.4 LTS. Любая помощь сдается

ответ

1

Версия ядра, с которой вы строите против, не соответствует установленной версии. Вам нужно построить против правильной версии ядра. Используйте aptitude и сопоставляйте заголовки с версией ядра, которую вы хотите создать, и скомпилируйте с ними.

+0

вы можете объяснить немного больше о том, как использовать способности, чтобы сделать эту работу ? Я на самом деле новичок в этом. – Mahi

0

вы можете пройти через this answer. Он расскажет вам, почему важно строить модуль на точной версии ядра. Из-за чего gcc не позволяет вам. Вы можете использовать

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

После установки, отредактируйте Makefile, чтобы использовать текущие заголовки версий, uname -r поможет вам в этом

obj-m += hello-1.o 

all: 
    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules 

clean: 
    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean 
Смежные вопросы