Я пытаюсь go заставить работать мой процессор эффектов Boss GT-1 Guitar в Linux. У меня есть патч, который нужно применить к файлу sound/usb/endpoint.c
в исходном коде ядра, и перекомпилировать ядро. Мне удалось сделать это на моей виртуальной машине с Ubuntu 19.10 (полная компиляция ядра, установка нового ядра, загрузка в него).
Теперь я хочу сделать то же самое на моем старом ноутбуке, но полная компиляция ядра требует много времени (~ 12 часов). Я пытаюсь перекомпилировать только один модуль ядра:
$ uname -r
5.3.0-29-generic
$ sudo apt-get install linux-source-5.3.0
$ cd /usr/src/
$ sudo tar -xjf linux-source-5.3.0.tar.bz2
$ cd /usr/src/linux-source-5.3.0/
$ sudo mousepad sound/usb/endpoint.c
< changing contents of file>
$ sudo make oldconfig
$ sudo cp /usr/src/linux-headers-5.3.0-29-generic/Module.symvers ./
$ sudo make modules SUBDIRS=sound/usb
< successfully build 14 modules >
$ sudo cp sound/usb/snd-usb-audio.ko /lib/modules/5.3.0-29-generic/kernel/sound/usb/
$ sudo depmod -a
После перезагрузки и загрузки я подключаю свое устройство и ... ничего. dmesg говорит мне, какая версия модуля неверна:
[ 183.884735] usb 1-1: new high-speed USB device number 7 using xhci_hcd
[ 184.039756] usb 1-1: New USB device found, idVendor=0582, idProduct=01d6, bcdDevice= 0.00
[ 184.039775] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 184.039786] usb 1-1: Product: GT-1
[ 184.039799] usb 1-1: Manufacturer: BOSS
[ 184.180719] snd_usb_audio: version magic '5.3.13 SMP mod_unload ' should be '5.3.0-29-generic SMP mod_unload '
[ 184.181005] snd_usb_audio: version magic '5.3.13 SMP mod_unload ' should be '5.3.0-29-generic SMP mod_unload '
[ 184.182263] snd_usb_audio: version magic '5.3.13 SMP mod_unload ' should be '5.3.0-29-generic SMP mod_unload '
[ 184.182750] snd_usb_audio: version magic '5.3.13 SMP mod_unload ' should be '5.3.0-29-generic SMP mod_unload '
Как я могу решить эту проблему? Можно ли исправить и сделать только один модуль ядра без перекомпиляции полных исходных текстов ядра?