Хорошо когда программа пишет "Пожалуйста"...
warning: Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel
Я не знаю в чем разница сборки модулей для ubuntu или mint, когда мне нужно собрать модуль для ядра ставлю эти пакеты build-essential libncurses-dev linux-header-$(uname -r) linux-source-$(uname -r) Но вот хня их может и не быть в репах поэтому на последние цифры внимания не обращаю. ставлю то что есть
linux-headers-5.3.0 linux-source-5.3.0 Если что ставим патчи ( это долго описывать ) Далее иду в каталог /usr/src/linux-source/linux-source-5.3.0/
sudo tar xvf linux-source-5.3.0.tar.bz2 Линкую чтобы не бегать по каталогам
sudo ln -s /usr/src/linux-source-5.3.0/linux-source-5.3.0 /usr/src/linux
cd /usr/src/linux
копирую файл Module.symvers - нужен для компиляции модулей
cp -v /usr/src/linux-headers-5.3.0/Module.symvers .
make oldconfig #или любой из config с сохранением
make prepare scripts modules_prepare
И тут пришлось до установить yasm вот на такую ошибку "CONFIG_X86_X32 enabled but no binutils support"
поностью sudo apt install flex bison yasm libelf-dev ( возможно sudo ldconfing )
sudo make -C . M=drivers/input/mouse или sudo make -C . M=drivers/net/usb или конкретный модуль sudo make -C . M=drivers/net/usb/dm9601.ko
sudo cp drivers/net/usb/dm9601.ko /lib/modules/$(uname -r)/kernel/drivers/net/usb/ && sudo depmod
Если что упустил извини! Поскольку работает версия ядра $(uname -r), нужно изменить Makefile и установить EXTRAVERSION=-(хвостик номера сборки ядро что работает). После этого, make kernelversion скажем так 5.3.0-ororo, точно совпадает с выводом uname -r команды. Удачи!