How does bitbake work


"Liu <treebody@...>
 

Hi all,
    In order to learn to use poky,I am wondering how bitbake works with so many recipes. When I bitbake <target>, I want to know how bitbake collect the providers of <target> . Then bitbake will prepare the runqueue tasks to build the <target>.So I need to know which tasks to assign to build the <target>.And bitbake run these tasks in what order.In other words according to the characteristics of what to decided to implement which task first and then next.
     I am very eager to know the answers.
     Thanks ,
------ Yu Liu
     Following is the some output of bitbake busybox and in this example I want to know why first do the task of (quilt-native_0.51.bb, do_fetch)  :
 
Parsing recipes...done.
Parsing of 830 .bb files complete (0 cached, 830 parsed). 1106 targets, 34 skipped, 0 masked, 0 errors.
OE Build Configuration:
BB_VERSION        = "1.15.2"
TARGET_ARCH       = "arm"
TARGET_OS         = "linux-gnueabi"
MACHINE           = "qemuarm"
DISTRO            = "poky"
DISTRO_VERSION    = "1.2.1"
TUNE_FEATURES     = "armv5 dsp thumb arm926ejs"
TARGET_FPU        = "soft"
meta             
meta-yocto        = "<unknown>:<unknown>"
NOTE: Resolving any missing task queue dependencies
NOTE: multiple providers are available for virtual/arm-none-linux-gnueabi-g++ (external-csl-toolchain, gcc-cross)
NOTE: consider defining a PREFERRED_PROVIDER entry to match virtual/arm-none-linux-gnueabi-g++
NOTE: multiple providers are available for runtime linux-libc-headers-dev (linux-libc-headers, linux-libc-headers-yocto, linux-libc-headers-yocto-nativesdk)
NOTE: consider defining a PREFERRED_PROVIDER entry to match linux-libc-headers-dev
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Running task 1 of 706 (ID: 18, /home/ly/yocto/poky-denzil-7.0.1/meta/recipes-devtools/quilt/quilt-native_0.51.bb, do_fetch)
NOTE: Running task 2 of 706 (ID: 228, virtual:native:/home/ly/yocto/poky-denzil-7.0.1/meta/recipes-devtools/gnu-config/gnu-config_20111111.bb, do_fetch)
NOTE: Running task 3 of 706 (ID: 189, virtual:native:/home/ly/yocto/poky-denzil-7.0.1/meta/recipes-devtools/autoconf/autoconf_2.68.bb, do_fetch)
NOTE: Running task 4 of 706 (ID: 515, /home/ly/yocto/poky-denzil-7.0.1/meta/recipes-devtools/m4/m4-native_1.4.16.bb, do_fetch)
NOTE: package gnu-config-native-20111111-r1: task do_fetch: Started
NOTE: package m4-native-1.4.16-r2: task do_fetch: Started
NOTE: package quilt-native-0.51-r1: task do_fetch: Started
NOTE: package autoconf-native-2.68-r7: task do_fetch: Started
NOTE: package gnu-config-native-20111111-r1: task do_fetch: Succeeded
NOTE: Running task 5 of 706 (ID: 224, virtual:native:/home/ly/yocto/poky-denzil-7.0.1/meta/recipes-devtools/gnu-config/gnu-config_20111111.bb, do_unpack)
NOTE: package gnu-config-native-20111111-r1: task do_unpack: Started
NOTE: package gnu-config-native-20111111-r1: task do_unpack: Succeeded
NOTE: Running task 6 of 706 (ID: 202, virtual:native:/home/ly/yocto/poky-denzil-7.0.1/meta/recipes-devtools/automake/automake_1.11.2.bb, do_fetch)
NOTE: package automake-native-1.11.2-r3: task do_fetch: Started
NOTE: package m4-native-1.4.16-r2: task do_fetch: Succeeded
NOTE: Running task 7 of 706 (ID: 511, /home/ly/yocto/poky-denzil-7.0.1/meta/recipes-devtools/m4/m4-native_1.4.16.bb, do_unpack)
NOTE: package m4-native-1.4.16-r2: task do_unpack: Started
NOTE: package m4-native-1.4.16-r2: task do_unpack: Succeeded
NOTE: Running task 8 of 706 (ID: 215, /home/ly/yocto/poky-denzil-7.0.1/meta/recipes-devtools/libtool/libtool-native_2.4.2.bb, do_fetch)
NOTE: package autoconf-native-2.68-r7: task do_fetch: Succeeded
NOTE: Running task 9 of 706 (ID: 185, virtual:native:/home/ly/yocto/poky-denzil-7.0.1/meta/recipes-devtools/autoconf/autoconf_2.68.bb, do_unpack)
NOTE: package libtool-native-2.4.2-r2.0: task do_fetch: Started
NOTE: package autoconf-native-2.68-r7: task do_unpack: Started
NOTE: package autoconf-native-2.68-r7: task do_unpack: Succeeded
NOTE: Running task 10 of 706 (ID: 254, virtual:native:/home/ly/yocto/poky-denzil-7.0.1/meta/recipes-core/zlib/zlib_1.2.6.bb, do_fetch)
NOTE: package automake-native-1.11.2-r3: task do_fetch: Succeeded
NOTE: Running task 11 of 706 (ID: 198, virtual:native:/home/ly/yocto/poky-denzil-7.0.1/meta/recipes-devtools/automake/automake_1.11.2.bb, do_unpack)
NOTE: package zlib-native-1.2.6-r1: task do_fetch: Started
NOTE: package automake-native-1.11.2-r3: task do_unpack: Started
NOTE: package automake-native-1.11.2-r3: task do_unpack: Succeeded
NOTE: Running task 12 of 706 (ID: 450, virtual:native:/home/ly/yocto/poky-denzil-7.0.1/meta/recipes-devtools/pkgconfig/pkgconfig_0.25.bb, do_fetch)
NOTE: package pkgconfig-native-0.25-r3: task do_fetch: Started
WARNING: Failed to fetch URL http://www.zlib.net/zlib-1.2.6.tar.bz2
NOTE: package zlib-native-1.2.6-r1: task do_fetch: Succeeded
NOTE: Running task 13 of 706 (ID: 250, virtual:native:/home/ly/yocto/poky-denzil-7.0.1/meta/recipes-core/zlib/zlib_1.2.6.bb, do_unpack)
NOTE: package zlib-native-1.2.6-r1: task do_unpack: Started
NOTE: package pkgconfig-native-0.25-r3: task do_fetch: Succeeded
NOTE: Running task 14 of 706 (ID: 446, virtual:native:/home/ly/yocto/poky-denzil-7.0.1/meta/recipes-devtools/pkgconfig/pkgconfig_0.25.bb, do_unpack)
NOTE: package zlib-native-1.2.6-r1: task do_unpack: Succeeded
NOTE: Running task 15 of 706 (ID: 241, /home/ly/yocto/poky-denzil-7.0.1/meta/recipes-core/gettext/gettext-minimal-native_0.18.1.1.bb, do_fetch)
NOTE: package gettext-minimal-native-0.18.1.1-r3: task do_fetch: Started
NOTE: package gettext-minimal-native-0.18.1.1-r3: task do_fetch: Succeeded
NOTE: Running task 16 of 706 (ID: 237, /home/ly/yocto/poky-denzil-7.0.1/meta/recipes-core/gettext/gettext-minimal-native_0.18.1.1.bb, do_unpack)
NOTE: package pkgconfig-native-0.25-r3: task do_unpack: Started
NOTE: package pkgconfig-native-0.25-r3: task do_unpack: Succeeded
NOTE: Running task 17 of 706 (ID: 463, virtual:native:/home/ly/yocto/poky-denzil-7.0.1/meta/recipes-core/ncurses/ncurses_5.9.bb, do_fetch)
NOTE: package gettext-minimal-native-0.18.1.1-r3: task do_unpack: Started
NOTE: package gettext-minimal-native-0.18.1.1-r3: task do_unpack: Succeeded
NOTE: Running task 18 of 706 (ID: 528, virtual:native:/home/ly/yocto/poky-denzil-7.0.1/meta/recipes-connectivity/openssl/ocf-linux_20100325.bb, do_fetch)
NOTE: package ncurses-native-5.9-r9.1: task do_fetch: Started
NOTE: package ocf-linux-native-20100325-r3.0: task do_fetch: Started
NOTE: package libtool-native-2.4.2-r2.0: task do_fetch: Succeeded
NOTE: Running task 19 of 706 (ID: 211, /home/ly/yocto/poky-denzil-7.0.1/meta/recipes-devtools/libtool/libtool-native_2.4.2.bb, do_unpack)
NOTE: package libtool-native-2.4.2-r2.0: task do_unpack: Started
NOTE: package libtool-native-2.4.2-r2.0: task do_unpack: Succeeded
NOTE: Running task 20 of 706 (ID: 280, virtual:native:/home/ly/yocto/poky-denzil-7.0.1/meta/recipes-connectivity/openssl/openssl_1.0.0i.bb, do_fetch)
NOTE: package openssl-native-1.0.0i-r0.2: task do_fetch: Started
NOTE: package ncurses-native-5.9-r9.1: task do_fetch: Succeeded
NOTE: Running task 21 of 706 (ID: 459, virtual:native:/home/ly/yocto/poky-denzil-7.0.1/meta/recipes-core/ncurses/ncurses_5.9.bb, do_unpack)
NOTE: package ncurses-native-5.9-r9.1: task do_unpack: Started
NOTE: package ncurses-native-5.9-r9.1: task do_unpack: Succeeded
NOTE: Running task 22 of 706 (ID: 176, virtual:native:/home/ly/yocto/poky-denzil-7.0.1/meta/recipes-support/sqlite/sqlite3_3.7.10.bb, do_fetch)
NOTE: package sqlite3-native-3.7.10-r2: task do_fetch: Started
WARNING: Failed to fetch URL http://download.savannah.gnu.org/releases/quilt/quilt-0.51.tar.gz
NOTE: package openssl-native-1.0.0i-r0.2: task do_fetch: Succeeded
NOTE: Running task 23 of 706 (ID: 276, virtual:native:/home/ly/yocto/poky-denzil-7.0.1/meta/recipes-connectivity/openssl/openssl_1.0.0i.bb, do_unpack)
NOTE: package openssl-native-1.0.0i-r0.2: task do_unpack: Started
NOTE: package quilt-native-0.51-r1: task do_fetch: Succeeded
NOTE: Running task 24 of 706 (ID: 14, /home/ly/yocto/poky-denzil-7.0.1/meta/recipes-devtools/quilt/quilt-native_0.51.bb, do_unpack)
NOTE: package openssl-native-1.0.0i-r0.2: task do_unpack: Succeeded
NOTE: Running task 25 of 706 (ID: 541, virtual:native:/home/ly/yocto/poky-denzil-7.0.1/meta/recipes-extended/pigz/pigz_2.2.4.bb, do_fetch)
NOTE: package quilt-native-0.51-r1: task do_unpack: Started
NOTE: package quilt-native-0.51-r1: task do_unpack: Succeeded
NOTE: Running task 26 of 706 (ID: 15, /home/ly/yocto/poky-denzil-7.0.1/meta/recipes-devtools/quilt/quilt-native_0.51.bb, do_patch)
NOTE: package pigz-native-2.2.4-r2: task do_fetch: Started
NOTE: package quilt-native-0.51-r1: task do_patch: Started
NOTE: package quilt-native-0.51-r1: task do_patch: Succeeded
NOTE: Running task 27 of 706 (ID: 20, /home/ly/yocto/poky-denzil-7.0.1/meta/recipes-devtools/quilt/quilt-native_0.51.bb, do_configure)
NOTE: package quilt-native-0.51-r1: task do_configure: Started

Join yocto@lists.yoctoproject.org to automatically receive all group messages.