bitbake 编译任务顺序

本文详细介绍了OpenEmbedded(OE)的编译流程,包括从场景设置到资源分发的整个过程,如do_setscene, do_fetch等,并解释了如何通过_add,_prepend调整任务顺序及使用MIRRORS_prepend修改镜像源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • OE编译大致顺序:
    do_setscene
    do_fetch
    do_unpack
    do_patch
    do_configure
    do_qa_configure
    do_compile
    do_stage
    do_install
    do_package
    do_populate_staging
    do_package_write_deb
    do_package_write
    do_distribute_sources
    do_qa_staging
    do_build
    do_rebuild



  • 基本上每种动作都可以添加其_append,_prepend操作:
    do_configure_prepend ()
    do_compile_prepend ()
    python do_compile_prepend ()
    do_stage_prepend()
    do_install_prepend()
    do_package_prepend()
    python populate_packages_prepend ()
    带有python的函数,其函数内容是使用python定义的,否则使用shell 语法定义。
  • do_compile这些函数都是在openembedded的classes中定义的,在bitbake中没有对这些进行定义。这说明,bitbake只是oe更底层的一个工具,oe是基于bitbake架构来完成的。



    • stuff/openembedded/classes:
      base.bbclass          oe_runmake就是在这里定义的,所有的其他bbclass可能都是继承于本base的
      autotools.bbclass     autotools_do_configure
      image.bbclass         可以看出image是集成与rootfs的
    • 导出了这个函数,子类就可以调用这些函数了(猜测,只有导出,子类才可以调用):
      EXPORT_FUNCTIONS do_compile do_install do_stage do_configure
    • 通过addtask的方式来调整各个task之间的顺序:
      addtask sizecheck before do_install after do_compile
    • MIRRORS_prepend () ,可以用来修改本bb的mirror

转载于:https://www.cnblogs.com/fire909090/p/10877196.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值