这应该很简单,但是我花了半天的时间在墙上撞头。
出于调试目的,我想将经过修改的bluetooth.ko加载到内核中。 uname -r告诉我我正在运行4.9.0-7-amd64,所以我首先打开一个名为“ linux-source-4.9.tar.xz”的压缩包,我相信我今天早些时候从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
...这与我今天早些时候使用错误版本的源代码树时遇到的错误相同。
我仍然是否有一个不好的版本?还是其他?