imx6qsabresd Самотестирование / демонстрационное приложение драйвера для компиляции Yocto по рецепту linux -imx - PullRequest
0 голосов
/ 09 апреля 2020

Я использую Poky Krogoth, так же как и справочную плату imx6qsabresd (ядро 4.1.15).

У меня вопрос, каков наилучший способ скомпилировать самотестирование драйвера (приложение из пользовательского пространства), чтобы включен в исходный код ядра linux -imx по тому же рецепту linux -imx (.bbappend).

В мета-fsl-bsp-release \ imx \ meta-bsp \ recipes-kernel \ linux \ linux -imx _%. bbappend, есть инструкции по установке заголовков i.MX Speci c непосредственно в промежуточный каталог (см. ниже).

# Copyright (C) 2013-2016 Freescale Semiconductor
# Released under the MIT license (see COPYING.MIT for the terms)

inherit fsl-vivante-kernel-driver-handler

IMX_UAPI_HEADERS = "mxc_asrc.h mxc_dcic.h mxcfb.h mxc_mlb.h mxc_sim_interface.h \
                    mxc_v4l2.h ipu.h videodev2.h pxp_device.h pxp_dma.h isl29023.h"

MORE_UAPI_HEADERS = "ion.h"

do_install_append () {
   # Install i.MX specific uapi headers
   oe_runmake headers_install INSTALL_HDR_PATH=${B}${exec_prefix}
   install -d ${D}${exec_prefix}/include/linux
   for UAPI_HDR in ${IMX_UAPI_HEADERS}; do
       find ${B}${exec_prefix}/include -name ${UAPI_HDR} -exec cp {} ${D}${exec_prefix}/include/linux \;
       ls ${D}${exec_prefix}/include/linux
       echo "copy ${UAPI_HDR} done"
   done
}

do_install_append () {
   # Install some additional uapi headers
   install -d ${D}${exec_prefix}/include/linux
   for UAPI_HDR in ${MORE_UAPI_HEADERS}; do
       find ${STAGING_KERNEL_DIR} -path '*uapi*' -name ${UAPI_HDR} -exec cp {} ${D}${exec_prefix}/include/linux \;
       ls ${D}${exec_prefix}/include/linux
       echo "copy ${UAPI_HDR} done"
   done
}

sysroot_stage_all_append () {
    # FIXME: Remove videodev2.h as conflict with linux-libc-headers
    find ${D}${exec_prefix}/include -name videodev2.h -exec mv {} ${B} \;
    # Install SOC related uapi headers to sysroot
    sysroot_stage_dir ${D}${exec_prefix}/include ${SYSROOT_DESTDIR}${exec_prefix}/include
    # FIXME: Restore videodev2 back
    if [ -e ${B}/videodev2.h ]; then
        mv ${B}/videodev2.h ${D}${exec_prefix}/include/linux/
    fi
}

PACKAGES += "${PN}-soc-headers"
FILES_${PN}-soc-headers = "${exec_prefix}/include"

# support for systemd
do_configure_append () {
    echo "CONFIG_FHANDLE=y" >>  ${B}/.config
}

Я пытался сделать то же самое Техника, как bbappend выше, чтобы установить рассматриваемый бинарный файл, но, даже если он скомпилирован и установлен под sys root -destdir, он не устанавливается в целевой rootfs. Любые предложения?

Примечание: Я хотел бы иметь демонстрационный источник вместе с исходным кодом ядра linux -imx, без необходимости разделять их и создавать отдельные рецепты, если это возможно, конечно, конечно.

Спасибо

...