编译Bitbake食谱时标题错误

时间:2018-12-17 13:47:47

标签: linux kernel bitbake

简介

我有一个使用bitbake构建的Linux,该Linux的应用程序启动了一些容器。每当我启动该应用程序时,“ dmesg”都会告诉我,dm-ioctl.h的版本不匹配(4.35(内核)至4.39(应用程序)。

我正在使用64位内核(4.9)为Raspberrypi构建Linux。 如果我进入启动容器的模块的.bb配方,我会看到它抓住了头frp,另一个dm-ioctl.h所在的配方-sysroot。 该应用程序很小,可以通过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配方: How to write a BitBake driver recipe which requires kernel source header files?

但是它总是保持不变,如果我转至tmp / work / aarch64-poky-linux /我可以看到,它在食谱sysroot文件夹中的usr / include中具有错误的头文件。

问题

  1. 是否可以更改recipe-sysroot,以便它获取内核使用的相同标头,并使用它们(而不是“错误的”)编译我的模块

  2. 我如何从包含此错误头的位置获取源(它必须来自较新的内核头,但我无法弄清楚该位置位于何处)

预先感谢任何对我的问题有某种回答的人!

0 个答案:

没有答案