【问题标题】:How to add changed dts-file in kernel in Yocto?如何在 Yocto 的内核中添加更改的 dts 文件?
【发布时间】:2019-10-24 21:59:57
【问题描述】:

如何在 Yocto 项目中添加更改的 dts 文件和添加自己的配置内核文件 (.conf)?我应该改变什么食谱以及如何改变?

【问题讨论】:

  • 通常,创建一个附加或配方,为所需的机器构建您的(修补的)内核。我演示了很多here,包括很多错误,完整的解释可以在kernel dev manual中找到
  • 谢谢。我已经开始看你的视频了,但我还没有到第 6 季)。

标签: kernel yocto


【解决方案1】:

出于您的目的,我将创建自己的层,然后添加内核 bbhappend:

sources/meta-ziegfried/recipes-kernel/linux/linux-tn-imx_%.bbappend

对于配方的确切名称,您应该指定您的确切内核配方名称而不是我的。要知道你可以做的名字:

$ oe-pkgdata-util lookup-recipe kernel

然后创建一个 sources/meta-ziegfried/recipes-kernel/linux/patchs/ 目录并简单地将您对 dts 的修改添加到补丁中:

$ cat sources/meta-ziegfried/recipes-kernel/linux/linux-tn-imx_%.bbappend

FILESEXTRAPATHS_prepend := "${THISDIR}/patchs:"

SRC_URI += " file://0001-add-ziegfried-modified-dts.patch \
       "

瞧,它会自动将您的 dts 添加到内核中。

对于您正在使用的 yocto 版本的内核配置,您可以使用内核片段:

https://www.yoctoproject.org/docs/2.5/kernel-dev/kernel-dev.html#creating-config-fragments

【讨论】:

  • 我在 Yocto 中通过命令“bitbake -c linux-imx”编译内核。我应该在我的接收中创建什么路径以及我应该在哪里复制 defconfig?
  • 对设备树的任何更改都编译得非常快是不是很不正常?
  • 确实很正常,因为设备树中的更改只是文本到二进制,所以这里没什么特别的。如果您想验证是否考虑了更改,您可以“反编译”您的 dtb:dtc -I dtb -O dts your-dtb.dtb -o uncompiled.dts
  • 奇怪的是,在我的情况下应用了补丁(我什至可以看到工作目录文件 tmp/work-shared/beaglebone/kernel-source/arch/arm/boot/dts/am335x-boneblack.dts 的变化),但最终结果,即图像附带的 dtb 不受修补。好像内核在补丁完成后没有编译。
  • 可能是您构建了一个内核树外的 dts?转到#yocto irc 频道来解决您的问题,有人会在那里帮助您。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-15
  • 1970-01-01
  • 2021-10-07
  • 2023-02-17
  • 1970-01-01
  • 1970-01-01
  • 2021-10-16
相关资源
最近更新 更多