ВВЕДЕНИЕ
Я получил Linux, созданный с помощью bitbake, в котором есть приложение, которое запускает некоторые контейнеры.Каждый раз, когда я запускаю это приложение, 'dmesg' говорит мне, что существует несовпадение версий dm-ioctl.h (от 4.35 (ядро) до 4.39 (приложение).
Я собираю Linux для Raspberrypi, используя64-битное ядро (4.9). Если я вхожу в мой .bb рецепт модуля, который запускает контейнеры, я вижу, что он берет заголовки frp, recipe-sysroot, где находится другой dm-ioctl.h. Приложение довольномаленький и получает сборку через cmake.
это рецепт:
DESCRIPTION = "Container management utility"
LICENSE = "CLOSED"
PACKAGES = "${PN} ${PN}-dbg"
DEPENDS = "util-linux openssl rapidjson virtual/kernel"
do_compile[depends] += "virtual/kernel:do_shared_workdir"
SRC_URI = " <files to include>"
S ="${WORKDIR}"
IMAGE_DEPLOY_DIR ?= "${@d.getVar('IMGDEPLOYDIR', False) o d.getVar('DEPLOY_DIR_IMAGE',False)}"
inherit pkgconfig cmake
sbindir = "/sbin"
bindir = "${INSTALLP}"
# Files to be packaged
FILES_${PN} = "${sbindir}/container_start"
FILES_${PN}-dbg = "${sbindir}/.debug /usr"
Я уже пытался изменить .bb рецепт этого модуля с помощью этого вопроса: Какнаписать рецепт драйвера BitBake, который требует файлы заголовков исходного кода ядра?
, но он всегда остается прежним, и если я иду в tmp / work / aarch64-poky-linux /, я вижу, что он имеетнеправильный заголовок в usr / include в папке recipe-sysroot.
ВОПРОСЫ
Можно ли изменить рецепт-sysroot так, чтобыон захватывает те же заголовки, что и мое ядроmpiles мой модуль с ними, а не с «неправильными»
Как получить источник, из которого включен этот неправильный заголовок (он должен исходить из более новых заголовков ядра, но я не могувыясните, где находится этот)
Заранее благодарю всех, у кого есть ответы на мои вопросы!