2016-03-14 3 views
0

Я пытаюсь выполнить команду fakeroot debian/rules binary-headers binary-genericand при сборке ядра, но получить ошибку.Ошибка компиляции ядра Linux 3.19.0-25-generic

Здесь ошибка ниже

arch/x86/built-in.o:(.rodata+0x1cb8): undefined reference to 'sys_monlak' 
make[2]: *** [vmlinux] Error 1 
make[2]: Leaving directory '/home/su/linux-lts-vivid-3.19.0/debian/build/build-generic' 
make[1]: *** [sub-make] Error 2 
make[1]: Leaving directory '/home/su/linux-lts-vivid-3.19.0' 
make: *** [/home/su/linux-lts-vivid-3.19.0/debian/stamps/stamp-build-generic] Error 2 

Я пытался построить ядро ​​следующие Build your own kernel и Clarkson.edu

+0

Ядро Linux не написано на C++! Не используйте спам-теги. – Olaf

+0

Я бы рекомендовал искать SO для другого ответа, когда люди пытаются реализовать свой системный вызов. – 0andriy

+0

Эта ссылка может помочь http://linuxseekernel.blogspot.ie/2014/07/adding-system-call-in-x86-qemu.html – Jeyaram

ответ

0

Я не вижу каких-либо ссылку на символ «sys_monlak» внутри любой отрасли официального ядра Linux. Вы используете филиал, полученный из другого места?

Эта ошибка произошла, если драйвер зависит от символа «sys_monlak», который должен быть определен в другом месте ядра, но это не так, или, возможно, правильный модуль ядра не включен в конфигурацию ядра.

Вы можете попробовать запустить:

$ grep -R "sys_monlak" 

Если это приводит к кесарево файл, то вы можете попытаться найти файл сборки, который должен компилировать в этом файле гр. Если, к примеру, файл называется «арка/x86/monlak.c» вы можете найти следующую информацию в файле «арочный/x86/Makefile»:

obj-$(CONFIG_MONLAK) += monlak.o 

В этом случае вы хотите, чтобы попытаться включите CONFIG_MONLAK в конфигурации ядра.

Другая возможность заключается в том, что вы можете отключить модуль, который зависит от символа «sys_monlak». Попробуйте внимательно прочитать описание в файле Kconfig, чтобы узнать, что делает каждый модуль (тот, который зависит, и тот, который предоставляет).

Смежные вопросы