我正在使用 imx8mnevk,我试图重建图像并删除 tmp 目录。
我运行了 bitbake core-image-minimal 但现在 tmp 目录似乎没有应该包含所有源文件的工作共享文件夹。
我想修改设备树,但似乎找不到它们的位置。
有没有办法再次获取资源或者我需要重做所有事情?
尽量避免在tmp
目录中进行任何修改(它之所以命名tmp
是因为它是内部和临时的)。具体来说,避免在那里进行源代码更改,因为它们可能会在未来的构建过程中被覆盖,并且在某些情况下,Yocto 将无法检测到修改后的代码,tmp
并且实际上不会按照您的期望进行操作。
相反,使用devtool来提取和修改包的源代码。例如:
devtool modify virtual/kernel
这会将内核源代码提取到一个workspace
目录中,并覆盖内核配方以使用该源代码。
您可以修改该源、构建,一旦您对更改感到满意,就会devtool
有一些命令自动将您的更改捕获为补丁文件并.bbappend
在您选择的层中生成一个文件。
查看Yocto 内核开发指南中的使用devtool
修补内核以获取提示。
在您的情况下,我怀疑该work-shared
目录没有重新出现,因为 Yocto 能够使用sstate-cache
(位于外部tmp
)从缓存中传递core-image-minimal
配方,而无需重建内核。