bitbake 編譯任務順序


  • 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM