S.C*_*sen 11 openembedded bitbake
我正在使用bitbake/openembedded,但是我的配方失败了,因为我认为某些路径变量最终没有正确设置.具体来说,我正在向SRC_URI添加文件,但错误表明尝试复制文件是使用错误的路径完成的.因此
1)如何验证使用file:// protocol时使用的"当前"路径变量
2)鉴于我以某种方式确认哪个变量用于搜索文件,我可以在我的依赖图中跟踪对所述变量的赋值吗?我的意思是,bitbake必须在某些配方文件集中以某种顺序遇到变量的追加/前置,我想检查以便找到我的错误
奖金问题:我认为我当前用于检测配方中错误的"调试方法"过于原始(例如将-D -D -D添加到命令行,然后通过成堆输出来查找提示)."专业人士"如何调试他们的bitbake食谱?
更新:我发现了一种更好的调试配方的方法:
事实证明,在成功完成给定配方的"获取"任务之后,将创建配方的工作文件夹.在这个文件夹里面是一个"临时"子文件夹,里面包含执行的代码(例如run.do_fetch.######)和配方中每个任务的结果(例如log._do_fetch.######) .
检查"run .. ###"文件将告诉您任何变量的确切值,以及为该任务执行的确切命令/ Python函数.给定"run"的输出存储在"log .. ###"文件中,其id/number与"run"文件相同.不知何故,这个非常基本的信息在我阅读手册时没有注册,但现在我总是在配方失败时查看"temp"文件夹.
cha*_*nan 17
我猜你已经发现了bitbake -e,对吧?转储特定于单个bitbake"target"的环境(即配方.)我相信FILESPATH是bitbake用于查找文件中指定的文件的关键变量:// SRC_URI组件.使用bitbake -e(配方)| grep ^ FILESPATH =将显示非常大的路径变量!
我不知道跟踪该变量的赋值的方法,但有几种方法可以修改它.(实际上我记得一个bitbake补丁,它会注释bitbake -e的输出,用哪个文件修改了哪个变量但是不能回忆起详细信息.在oe列表上询问.)无论如何,如果你从'='中删除'='符号你上面的grep可以看到修改FILESPATH的其他方法.我认为这也涵盖在各种文档中.
最后,你可能有更好的运气询问openembedded邮件列表,而不是在stackoverflow上.
Bitbake -e和日志文件(在$ {WORKDIR}/temp中找到)是您最好的调试工具.(另请查看ack-grep.对于一些与bitbake相关的用例,比grep更好.)你问的WORKDIR在哪里?
bitbake -e(食谱)| grep ^ WORKDIR =
一旦熟悉了WORKDIR,你就会看到模式,而不必那样找到它.
快乐的烘烤!;)
| 归档时间: |
|
| 查看次数: |
19045 次 |
| 最近记录: |