Компиляция и установка внешнего модуля в Petalinux 2018.3 (ядро) + Debian 9 (rootfs) - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь разработать драйвер DMA для Zynq. В соответствии с требованиями нашего программного обеспечения я создал следующую среду:

  • ядро: создано в petalinux 2018.3.

  • источник ядра : загруженс https://github.com/Xilinx/linux-xlnx (git tag = xlnx_rebase_v4.14_2018.3, как указано в примечаниях к выпуску). Распаковывается в /usr/src/linux-headers-4.14.0-xilinx-v2018.3.

  • rootfs: создано из исходного кода Debian 9.

Загрузка с SD-карты и команда uname -r вернули 4.14.0-xilinx-v2018.3.

Я сделал простой драйвер и скомпилировал его для вышеупомянутого источника ядра: make -C / usr / src / linux-headers- $ (shell uname -r) M = $ (shell pwd) modules_install

Компиляция прошла успешно с установленным ds_axidma.ko /lib/modules/4.14.0/extra/

Затем я попытался установить ядро:

Команда insmod ds_axidma.ko Возвращенная ошибка:

insmod: ERROR: could not insert module ds_axidma.ko: Invalid module format

Команда modprobe ds_axidma.ko Возвращенная ошибка:

modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.14.0-xilinx-v2018.3/modules.dep.bin' modprobe: FATAL: Module ds_axidma not found in directory /lib/modules/4.14.0-xilinx-v2018.3

Это выглядитномера версий ядра несовместимы для двух операций, в результате чего компиляция, установленная в каталог, отличный от каталога, который просматривает modprobe.

Итак, как я могу заставить его работать? Правильно ли работает эта конфигурация среды (для ядра / исходного кода ядра / rootfs)?

...