删除tmp目录后bitbake构建imx8mnevk镜像找不到源码及设备树如何解决
不需要完整重做所有构建流程,仅需要针对设备树所属的配方执行指定阶段的构建任务即可恢复源码目录。
你删除tmp目录后重新执行
bitbake core-image-minimal时,BitBake会优先复用本地sstate-cache中已预编译好的构建产物,不会触发源码拉取、补丁应用等前期步骤,因此用于存放共享源码的work-shared目录不会自动生成。
操作步骤
- 第一步:确认设备树所属配方
绝大多数i.MX8平台的设备树存放于内核源码目录,如果你不确定归属,可优先操作内核配方,如需修改U-Boot设备树则替换后续命令中的virtual/kernel为U-Boot对应的配方名(通常为u-boot-imx)。 - 第二步:清理对应配方的状态缓存
执行命令清理内核配方的sstate缓存,强制BitBake重新走源码准备流程:bitbake -c cleansstate virtual/kernel - 第三步:执行源码准备阶段任务
仅执行到补丁应用阶段即可停止,无需完成全量编译,此时会自动生成work-shared目录及对应的源码文件:bitbake -c patch virtual/kernel - 第四步:定位设备树文件
执行以下命令获取内核工作目录路径,进入后在arch/arm64/boot/dts/freescale/路径下即可找到imx8mnevk对应的dts、dtsi文件:bitbake -e virtual/kernel | grep ^WORKDIR= - 可选:修改后增量编译
设备树修改完成后,执行以下命令仅重编内核并更新镜像,无需全量构建:bitbake -c compile -f virtual/kernel bitbake core-image-minimal
内容的提问来源于stack exchange,提问作者Sohil Shah
相关产品推荐
相关产品推荐

