2016-12-14 14 views
0

Я делаю реализацию Hash_Drbg.Включить ошибки во время работы в ядре

оригинальный исходный код можно найти здесь: https://github.com/torvalds/linux/blob/master/crypto/drbg.c

Я вынул части коды мне нужно для моей реализации и думает, что он должен работать, когда я скомпилировать его.

Когда я скомпилирую, я получаю ошибки относительно включений.

Например:

fatal error: crypto/drbg.h: No such file or directory. 

Это может быть легко исправлена ​​путем загрузки ядра и модифицирования включают расположенный в верхней части исходного кода. Когда я это делаю, я встречаюсь с той же ошибкой для входящих в заголовок drbg.h.

Например:

fatal error: linux/scatterlist.h: No such file or directory. 

Как я могу исправить эти ошибки?

+0

ли вы использовать флаги компилятора '-i' указать правильный включают в себя каталоги? – e0k

ответ

0

Похоже, вам не хватает заголовков ядра Linux, которые позволяют компилировать код с ядром Linux.

Вы должны установить заголовки linux. Какой вкус вы используете? Пожалуйста, измените ниже команды соответственно.

Чтобы установить только заголовки в Ubuntu:

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

Чтобы установить весь исходный код ядра Linux в Ubuntu:

$ sudo apt-get install linux-source 

Обратите внимание, что вы должны использовать заголовки ядра, которые соответствуют ядру вы Бег.

И тогда вы можете добавить, что в вашем Makefile как:

KDIR =//usr/src/linux-headers 

all: 
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules