Рецепт модуля ядра Linux, который отлично работал в Yocto-версии Freescale / NXP SDK v1.8, вызывает ошибку в do_package_qa при использовании Yocto-версии Freescale / NXP SDK v2.0. Как следует из ошибки:
ОШИБКА: QA. Проблема: ФАЙЛЫ в рецепте kernel-module-r8168 не должны содержать переменную $ {D}, поскольку она ссылается на локальный каталог сборки, а не на целевую файловую систему. Лучшее решение - удалить ссылку $ {D} [расширенный-d]
ОШИБКА: при тестировании были обнаружены фатальные ошибки. Пожалуйста, подумайте об их исправлении.
ОШИБКА: Сбой функции: do_package_qa
Сам рецепт модуля ядра не содержит $ {D}, но он используется в module.bbclass, от которого мой рецепт модуля наследуется
Вот мой рецепт модуля:
SUMMARY = "Realtek r8168 family driver Linux kernel module"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
inherit module
PN = "r8168"
PV = "8.041.01"
SRC_URI = "file://r8168-8.041.01.tgz \
file://COPYING \
"
SRC_URI[md5sum] = "f3fd1530132ed1b64345698f89beea0f"
S = "${WORKDIR}"
KERNEL_MODULE_AUTOLOAD += "r8168"
Я обнаружил, что проверка переменной $ {D} была добавлена в версию insane.bbclass SDK 2.0 Yocto по сравнению с версией SDK 1.8 Yocto.
У меня следующие вопросы:
- Это ошибка Yocto?
- Как я могу это обойти или исправить?
log.do_package_qa.526:
DEBUG: Executing python function sstate_task_prefunc
DEBUG: Python function sstate_task_prefunc finished
DEBUG: Executing python function do_package_qa
NOTE: DO PACKAGE QA
DEBUG: Executing python function read_subpackage_metadata
DEBUG: Python function read_subpackage_metadata finished
NOTE: Checking Package: r8168
NOTE: Checking Package: r8168-doc
NOTE: Checking Package: r8168-dbg
NOTE: Checking Package: r8168-staticdev
NOTE: Checking Package: r8168-locale
NOTE: Checking Package: r8168-dev
NOTE: Checking Package: kernel-module-r8168
NOTE: arm-fsl-linux-gnueabi-objdump -p /local/ctrommel/QorIQ-SDK-V2.0-20160527-yocto/build_ls1021atwr/tmp/work/ls1021at
wr-fsl-linux-gnueabi/r8168/8.041.01-r0/packages-split/kernel-module-r8168/lib/modules/4.1.8-rt8+gbd51baf/local/ctrommel
/QorIQ-SDK-V2.0-20160527-yocto/build_ls1021atwr/tmp/work/ls1021atwr-fsl-linux-gnueabi/r8168/8.041.01-r0/image/r8168.ko
ERROR: QA Issue: FILES in kernel-module-r8168 recipe should not contain the ${D} variable as it references the local bu
ild directory not the target filesystem, best solution is to remove the ${D} reference [expanded-d]
ERROR: QA run found fatal errors. Please consider fixing them.
DEBUG: Python function do_package_qa finished
ERROR: Function failed: do_package_qa