LINUX.ORG.RU

Доконпелять модуль

 ,


1

1

Приветствую.

Так вышло, что понадобился мне bluetooth, который я не вкомпилил в предыдущее ведро.

Исходники есть, .config есть.

Подскажите пожалуйста вкратце, как можно докомпилить\доустановить bluetooth ?

★★★★★
Ответ на: комментарий от Silerus

Если автору темы только модуль, то, возможно, вот такая вики лучше: https://wiki.archlinux.org/title/Compile_kernel_module

Я по ней тут недавно баловался. Только ещё с BTF отдельная борьба была, но в принципе - работает подсовывание только одного пересобранного модуля.

Правда я далеко не спец. Просто понравилось в это тыкать. Вот и тыкал.

Toxo2 ★★★★
()

Обычно делается просто:

cd «исходники ядра»

копируешь Module.symvers из /lib/modules/$(uname -r)/build + .config в исходники. Потом

LANG=C fakeroot make -C . scripts
LANG=C fakeroot make -C . prepare
LANG=C fakeroot make -C . modules_prepare
LANG=C fakeroot make -j(nproc --all) -C . M=drivers/bluetooth 

копируешь готовые .ko в /lib/modules/$(uname -r)/kernel/drivers/bluetooth

Потом sudo depmod -a

Занимает пару минут.

Если исходники ядра на основе debian, то, насколько помню, вместо make использовать debian/rules. Например

LANG=C fakeroot make -C . scripts
заменить на 
LANG=C fakeroot debian/rules -C . scripts
VladMesh
()
Последнее исправление: VladMesh (всего исправлений: 6)

исходники, .config.
если не делал make clean||distclean и остались результаты сборки,
кмк, при определённой конфигурации .config, можно просто добавить в него module_name=M и его зависимости и сделать make modules && make modules_install - последнее по памяти, примерно

etwrq ★★★★★
()

Подскажите пожалуйста вкратце, как можно докомпилить\доустановить bluetooth ?

Вы сначала изложите проблему. У вас проблемы с запуском make, в ядре отсутствует поддержка вашего модуля или что?

Сначала громче всех ненавидите линукс, а потом выясняется, что вы в нём не ориентируетесь. Совсем.

utanho ★★★★★
()
Ответ на: комментарий от utanho

У меня нет ненависти или любви к инструментарию.

«Проблема» - просто не вкомпилил модуль в ядро при его сборке.

Была задача дособрать внешний модуль.

Впрочем вопрос уже неактуален, поскольку новый gcc отказался собирать 5.15, а оно несовместимо с моим базовым принципом - «если мышиная возня занимает больше часа - надо подвязывать, это хобби а не работа».

Просто скомпилил новое 6.1.

windows10 ★★★★★
() автор топика
Ответ на: комментарий от windows10

… Это было очевидно, если раньше собирали кастомное ядро. Перед запуском сборки модулей, после копирования своего .config,

запустить

LANG=C fakeroot make -C . menuconfig

и включить нужное в Networking support -> Bluetooth subsystem support -> Bluetooth drivers

VladMesh
()