Модуль для другой версии ядра не загрузится, потому что это защита ядра Linux. @vanxantуже написал в комментариях, что это можно обойти.
Это проблема бинарной несовместимости, когда меняются структуры и смещения полей становятся другими. В этом случае принудительно загружая модуль от для другой версии ядра вы делаете на свой страх и риск.
Что касается совместимости на уровне исходного кода, насколько изменчиво ядро - это субъективно с вероятностной составляющей. Все зависит, что вы используете в своем модуле. Меньше компонентов ядра используете, меньше вероятность, что сломается.
Наверное, единственный алгоритм - это попытаться скомпилировать модуль, если не получится, посмотреть ошибки, Исправить. После усердно тестировать и разбираться в исходном коде модуля и ядра.
Статический модуль ядра - такого нет. Разделяемые и статические библиотеки - это userspace. В ядре немного другие правила.
Модуль для другой версии ядра не загрузится, потому что это защита ядра Linux. @vanxantуже написал в комментариях, что это можно обойти.
Это проблема бинарной несовместимости, когда меняются структуры и смещения полей становятся другими. В этом случае принудительно загружая модуль от для другой версии ядра вы делаете на свой страх и риск.
Что касается совместимости на уровне исходного кода, насколько изменчиво ядро - это субъективно с вероятностной составляющей. Все зависит, что вы используете в своем модуле. Меньше компонентов ядра используете, меньше вероятность, что сломается.
Наверное, единственный алгоритм - это попытаться скомпилировать модуль, если не получится, посмотреть ошибки, Исправить. После усердно тестировать и разбираться в исходном коде модуля и ядра.
Статический модуль ядра - такого нет. Разделяемые и статические библиотеки - это userspace. В ядре немного другие правила.
Спасибо. В планах есть. Но ещё не определился для какого именно железа. Пока думаю на Raspberry Pi сделать.
Спасибо.