Страница 1 из 1
Как собрать ядро с поддержкой стороннего модуля?
Добавлено: 2008-09-19 11:02:43
skeletor
Есть сторонний модуль aacu64.ko для поддержки RAID\SAS контроллера Adaptec 5805. ОС FreeBSD 6.3 AMD x64. Модуль подгружаю через loader.conf. Но потребовалось пересобрать ядро, и после пересборки пришлось опять копировать модуль aacu64.ko в папку с модулями (/boot/kernel). Можно ли как-то включить готовый модуль, что бы ядро собралось с ним? Или обязательно нужны исходники модуля? Если только через исходники, то куда их запихнуть?
Re: Как собрать ядро с поддержкой стороннего модуля?
Добавлено: 2008-09-19 12:40:31
zingel
можно, но только с сурсами иначе фря не поймёт
Создаём папку
Код: Выделить всё
[root@zingel /]#mkdir -p /usr/local/black && cd /usr/local/black
копируем туда исходники модуля
Код: Выделить всё
[root@zingel /usr/local/black]# ls
black.c black.o device_if.h machine
Makefile black.c~ bus_if.h
делаем make
Код: Выделить всё
[root@zingel /usr/local/black]#make && ls
@ black.c black.kld black.o device_if.h machine
Makefile black.c~ black.ko bus_if.h export_syms
копируем модуль
Код: Выделить всё
[root@zingel /usr/local/black]# cp black.ko /boot/kernel/
добавляем в /boot/loader.conf строку
Код: Выделить всё
[root@zingel /usr/local/black]# echo 'black_enable="YES"' >> /boot/loader.conf
проверяем
Код: Выделить всё
[root@zingel /usr/local/black]# kldload ./black.ko
[root@zingel /usr/local/black]#
[root@zingel /usr/local/black]# kldstat -v | grep black
7 1 0xccc90000 2000 black.ko
226 black
[root@zingel /usr/local/black]# kldunload black
[root@zingel /usr/local/black]#
в мейкфайле должно быть
Код: Выделить всё
[root@zingel /usr/local/black]# cat Makefile
SRCS=black.c
KMOD=black
.include <bsd.kmod.mk>
Если хочется портировать в само ядро при сборки всей фри, то нужно проделать тоже самое в папке /usr/src/sys/modules и добавить кросс-ссылку в конфиг ядра.
говорим дяде Зингелю спасибо.
Re: Как собрать ядро с поддержкой стороннего модуля?
Добавлено: 2008-09-19 13:08:22
skeletor
Положил его в /boot/modules, которое для сторонних модулей, собственно, и предназначено. Всё работает.
Zingel - большое спасибо за помощь в случае исходников. Может оформите как статью и в раздел статьи? Довольно познавательная вышла статья.
Re: Как собрать ядро с поддержкой стороннего модуля?
Добавлено: 2008-09-19 13:13:20
zingel
я буду не первый кто такую статью напишет, нет нужды в этом, в инете полно линков, вот к примеру, в гугле набирите, я просто свой опыт описал
write kernel module freebsd