无法获取源文件

Unable to get source files

我正在使用 imx8mnevk,我正在尝试重建图像并删除 tmp 目录。

我 运行 bitbake core-image-minimal 但现在 tmp 目录似乎没有应该包含所有源文件的工作共享文件夹。

我想修改设备树,但似乎无法找到它们所在的位置。

有没有办法重新获取源代码或者我需要重做所有内容?

尽量避免在 tmp 目录中进行任何修改(它被命名为 tmp 因为它是内部的和临时的)。具体来说,避免在那里更改源代码,因为它们可能会在未来的构建过程中被覆盖,并且在某些情况下,Yocto 将无法检测到 tmp 下的修改代码,并且实际上不会执行您期望的操作。

相反,使用 devtool 来提取和修改包的源代码。例如:

devtool modify virtual/kernel

这会将内核源提取到 workspace 目录中,并覆盖内核配方以使用该源。

您可以修改该源代码、构建,一旦您对更改感到满意,devtool 有一些命令可以自动将您的更改捕获为补丁文件并生成一个 .bbappend 文件您选择的图层。

在 Yocto 的内核开发指南中查看 Using devtool to Patch the Kernel 以获得提示。

在你的情况下,我怀疑 work-shared 目录没有重新出现,因为 Yocto 能够使用 sstate-cache(在 tmp 之外)传递 core-image-minimal 从缓存中获取食谱,无需重建内核。