URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 6260
[ Назад ]

Исходное сообщение
"Netgraph and executable kernel module"

Отправлено lex83 , 14-Мрт-07 14:33 
FreeBSD 6.1
Написал новый тип ноды для netgraph, согласно man'ам загрузить ноду можно 2 способами: встроить в ядро или загрузить во время работы с помощью kldload, вопрос собственно в следующем, для всех нетграфовских нод существует makefile стандартного типа:

KMOD= xxx
SRCS= xxx.c

.include <bsd.kmod.mk>

и он действительно собирает .ko файл, только вот этот файл не исполняемый и kldload его не грузит с ошибкой Exec format error. Вопрос: как собрать исполняемый модуль.


Содержание

Сообщения в этом обсуждении
"Netgraph and executable kernel module"
Отправлено Michelnok , 14-Мрт-07 15:55 
>и он действительно собирает .ko файл, только вот этот файл не исполняемый

Странно, всегда собирало нормально, именно этим способом.
http://www.freebsd.org.ru/developers-handbook/x2584.html


"Netgraph and executable kernel module"
Отправлено lex83 , 14-Мрт-07 16:29 
>>и он действительно собирает .ko файл, только вот этот файл не исполняемый
>
>Странно, всегда собирало нормально, именно этим способом.
>http://www.freebsd.org.ru/developers-handbook/x2584.html

Возможно, но есть одно различие, в netgraph  модулях нет объявления типа DECLARE_MODULE(skeleton, skel_loader, SI_SUB_KLD, SI_ORDER_ANY);

таких объявлений нет и для других модулей, уже встроенных в ядро, например ng_pppoe или ng_tee


"Netgraph and executable kernel module"
Отправлено Michelnok , 14-Мрт-07 22:31 
> в netgraph  модулях нет объявления типа DECLARE_MODULE

Там есть NETGRAPH_INIT, в котором есть DECLARE_MODULE