Сбой компиляции сетевых драйверов ядра Linux

#linux-kernel

Вопрос:

Я пытаюсь создать чистый код драйвера сетевой карты e1000.

Используя следующую команду:

 sudo make -C $PATH_TO_KERNEL_SRC M=drivers/net/ethernet/intel/e1000 modules
 

Сборка завершается ошибкой со следующей ошибкой:

 Make: Entering directory '/home/estro/kernel_dev/linux-stable'
WARNING: Symbol version dump "Module.symvers" is missing.
         Modules may not have dependencies or modversions.
  MODPOST drivers/net/ethernet/intel/e1000/Module.symvers
FATAL: modpost: drivers/net/ethernet/intel/e1000/e1000: sizeof(struct pci_device_id)=40 is not a modulo of the size of section __mod_pci__<identifier>_device_table=1216.
Fix definition of struct pci_device_id in mod_devicetable.h
make[1]: *** [scripts/Makefile.modpost:124: drivers/net/ethernet/intel/e1000/Module.symvers] Error 1
make: *** [Makefile:1726: modules] Error 2
make: Leaving directory '/home/estro/kernel_dev/linux-stable'
 

Я предполагаю, что драйверы в стабильной ветке ядра должны компилироваться без проблем, что, вероятно, означает, что мне здесь чего-то не хватает.

Комментарии:

1. Предупреждение «ПРЕДУПРЕЖДЕНИЕ: дамп версии символа «Модуль.символы» отсутствует». обычно это означает, что вы не подготовили каталог ( /home/estro/kernel_dev/linux-stable ) для сборки модулей. Файл Module.symvers создается при сборке самого ядра.