我是Yocto项目的新手,我正在尝试为基于i.MX6QP / Q / DL SABRE Automotive的定制板构建一个简单的核心图像最小图像。现在我只使用meta-freescale图层。
我有一些我想要构建的自定义DTS文件,并包含在Linux内核的fitImage中。
这是我到目前为止所做的:
我已经使用自定义计算机创建了自定义图层,并在 conf / machine.conf 文件中指定了我要使用的DTB:
KERNEL_DEVICETREE = " \
imx6qp-g25-protoc-1280x480.dtb \
...
"
不幸的是,在尝试构建core-image-minimal时,DTB构建失败并显示以下消息:
make [3]: *没有规则来制作目标'arch / arm / boot / dts / imx6qp-g25-protoc-1280x480.dtb'。停止。 arch / arm / Makefile:322:目标'imx6qp-g25-protoc-1280x480.dtb'的配方失败 make [2]: [imx6qp-g25-protoc-1280x480.dtb]错误2 Makefile:146:目标'sub-make'的配方失败 make [1]: [sub-make]错误2 Makefile:24:目标'__sub-make'的配方失败 make:* [__sub-make]错误2 错误:oe_runmake失败了 警告:从shell命令退出代码1。
我已经通过查看源文件夹 linux-fslc-imx / 4.1-2.0.x + gitAUTOINC + 6c1ad49339-r0 / build / source / arch / arm检查了补丁是否已应用/ boot / dts , Makefile 是正确的,并且 DTS 文件存在。
答案 0 :(得分:0)
看起来问题是我没有在内核配方中包含 defconfig 文件,因此CONFIG_SOC_IMX6Q
变量未设置为y
使我的目标未被检测到在 arch / arm / boot / dts / Makefile 中。包含 defconfig 和ARCH_SOC_IMX6Q=y
解决了我的问题。
答案 1 :(得分:0)
或者是配置文件 imx6q.cfg ,其中包含以下选项:
ARCH_SOC_IMX6Q=y
可以创建并将其放置在 linux-xxx.bb 配方旁边,并放置在 files 子文件夹中。
在这种情况下,内核提供的任何 defconfig 都将在编译或应用任何补丁之前启用必要的选项。
使用以下示例说明如何在 linux-xxx.bb 配方中附加创建的配置文件:
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git;protocol=git;nocheckout=1;name=machine;branch=linux-5.4.y; \
file://imx6q.cfg"