Всё что вам нужно, чтобы собрать модуль для ядра любой архитектуры любой версии -- это компилятор для этой архитектуры, исходники ядра и .config для этого ядра.
Шаги такие:
- распаковать/вычекнуть исходники ядра нужной версии
- создать и сконфигурировать каталог сборки ядра: создать каталог, скопировать в него .config, выполнить
make -C <каталог исходников ядра> \
O=<каталог сборки ядра> \
ARCH=<целевая архитектура> \
CROSS_COMPILE=<префикс кросс-компилятора> \
silentoldconfig
- собрать ядро:
make -C <каталог исходников ядра> \
O=<каталог сборки ядра> \
ARCH=<целевая архитектура> \
CROSS_COMPILE=<префикс кросс-компилятора> \
vmlinux
- собрать модуль используя созданный на предыдущем шаге каталог:
make -C <каталог сборки ядра> \
M=<каталог исходников модуля> \
ARCH=<целевая архитектура> \
CROSS_COMPILE=<префикс кросс-компилятора> \
modules
CROSS_COMPILE можно опустить, если нужно использовать хостовый компилятор. Для x86 ARCH=x86