Это должно быть просто, но я потратил половину дня, стуча головой о стену.
В целях отладки я хочу загрузить модифицированную версию bluetooth.ko в ядро. uname -r говорит мне, что я использую 4.9.0-7-amd64, поэтому я начинаю с распаковки тарбола с именем "linux-source-4.9.tar.xz", в который я верю I получил от apt-get ранее сегодня (я подтверду это утверждение завтра). Затем я делаю следующие команды
make menuconfig
make oldconfig && make prepare scripts
make modules SUBDIRS=net/bluetooth
это создает bluetooth.ko, хотя я получаю следующее предупреждение
Symbol version dump ./Module.symvers is missing; modules will have no dependencies and modversion
это касается, но я читал в другом месте, что это не критично, поэтому я игнорирую это. Затем я вставляю новый драйвер; это требует удаления старого драйвера и любых драйверов, которые зависят от него.
sudo rmmod btusb
sudo rmmod btrtl
sudo rmmod btintel
sudo rmmod btbcm
sudo rmmod rfcomm
sudo systemctl stop bluetooth
sudo rmmmod bnep
sudo rmmod bluetooth
sudo insmod net/bluetooth/bluetooth.ko
Последняя команда выдает мне следующую ошибку
could not insert module net/bluetooth/bluetooth.ko: Invalid module format
... которая была той же ошибкой, которую я получил сегодня сегодня, когда использовал неверную версию дерева исходных текстов.
У меня все еще есть какая-то плохая версия? или это что-то еще?