Как собрать ядро с поддержкой стороннего модуля?
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- skeletor
- майор
- Сообщения: 2548
- Зарегистрирован: 2007-11-16 18:22:04
Как собрать ядро с поддержкой стороннего модуля?
Есть сторонний модуль aacu64.ko для поддержки RAID\SAS контроллера Adaptec 5805. ОС FreeBSD 6.3 AMD x64. Модуль подгружаю через loader.conf. Но потребовалось пересобрать ядро, и после пересборки пришлось опять копировать модуль aacu64.ko в папку с модулями (/boot/kernel). Можно ли как-то включить готовый модуль, что бы ядро собралось с ним? Или обязательно нужны исходники модуля? Если только через исходники, то куда их запихнуть?
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
Re: Как собрать ядро с поддержкой стороннего модуля?
можно, но только с сурсами иначе фря не поймёт
Создаём папку
копируем туда исходники модуля
делаем make
копируем модуль
добавляем в /boot/loader.conf строку
проверяем
в мейкфайле должно быть
Если хочется портировать в само ядро при сборки всей фри, то нужно проделать тоже самое в папке /usr/src/sys/modules и добавить кросс-ссылку в конфиг ядра.
говорим дяде Зингелю спасибо.
Создаём папку
Код: Выделить всё
[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
Код: Выделить всё
[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/
Код: Выделить всё
[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>
говорим дяде Зингелю спасибо.
Z301171463546 - можно пожертвовать мне денег
- skeletor
- майор
- Сообщения: 2548
- Зарегистрирован: 2007-11-16 18:22:04
Re: Как собрать ядро с поддержкой стороннего модуля?
Положил его в /boot/modules, которое для сторонних модулей, собственно, и предназначено. Всё работает.
Zingel - большое спасибо за помощь в случае исходников. Может оформите как статью и в раздел статьи? Довольно познавательная вышла статья.
Zingel - большое спасибо за помощь в случае исходников. Может оформите как статью и в раздел статьи? Довольно познавательная вышла статья.
- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
Re: Как собрать ядро с поддержкой стороннего модуля?
я буду не первый кто такую статью напишет, нет нужды в этом, в инете полно линков, вот к примеру, в гугле набирите, я просто свой опыт описал
write kernel module freebsd
write kernel module freebsd
Z301171463546 - можно пожертвовать мне денег