Компиляция пользовательского модуля в дереве

Я хотел бы перекомпилировать один из модулей Wi-Fi, а именно, drivers/net/wireless/realtek/rtl8xxxu/. Я использую человечность 16.04.3.

Моя версия ядра:

Linux fisk 4.10.0-38-generic #42~16.04.1-Ubuntu SMP Tue Oct 10 16:32:20 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

У меня есть необходимые заголовки в linux-headers-4.10.0-38-generic, а также источник Linux в/usr/src/linux-source-4.10.0

Я могу создать модуль очень хорошо в /usr/src/linux-source-4.10.0 если я действительно делаю-j8 SUBDIRS=drivers/net/wireless/realtek/rtl8xxxu/, однако vermagic не соответствует vermagic моего ядра, и в результате модуль не может быть загружен:

modinfo drivers/net/wireless/realtek/rtl8xxxu//rtl8xxxu.ko | grep vermagic vermagic: 4.10.17 SMP mod_unload

В результате при загрузке я вхожу в dmesg:

rtl8xxxu: version magic '4.10.17 SMP mod_unload ' should be '4.10.0-38-generic SMP mod_unload '

Таким образом, мой вопрос - то, что корректный путь состоит в том, чтобы создать модуль и способность загрузить его на моем ядре?

1
задан 13 November 2017 в 15:50

1 ответ

Таким образом, в конечном счете я ответил на свой вопрос. Команда, которую я должен был выполнить, была:

make -C /lib/modules/`uname -r`/build M=/home/foo/projects/kernel/linux-hwe-4.10.0/drivers/net/wireless/realtek/rtl8xxxu/

После того, как то выполнение modinfo показывает корректную вещь, и модуль может быть вставлен:

modinfo /home/foor/projects/kernel/linux-hwe-4.10.0/drivers/net/wireless/realtek/rtl8xxxu//rtl8xxxu.ko | grep vermagic
vermagic:       4.10.0-38-generic SMP mod_unload 
0
ответ дан 8 December 2019 в 03:24

Другие вопросы по тегам:

Похожие вопросы: