0

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

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

我想修改设备树,但似乎找不到它们的位置。

有没有办法再次获取资源或者我需要重做所有事情?

4

1 回答 1

1

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

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

devtool modify virtual/kernel

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

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

查看Yocto 内核开发指南中的使用devtool修补内核以获取提示。

在您的情况下,我怀疑该work-shared目录没有重新出现,因为 Yocto 能够使用sstate-cache(位于外部tmp)从缓存中传递core-image-minimal配方,而无需重建内核。

于 2021-10-13T12:25:10.530 回答