Re: How does bitbake work


David Stewart
 

I like the chapter Beth Flanagan wrote recently about the architecture of the Yocto Project. Check it out at the following link, and I think you might learn a lot.  I do suspect that what’s happening for you is that certain native tools like quilt need to be built first so that other parts of the build will run. (Quilt is used to manage the patches that applied in the build process).

 

Dave

 

http://www.aosabook.org/en/yocto.html

 

From: yocto-bounces@... [mailto:yocto-bounces@...] On Behalf Of Liu
Sent: Tuesday, August 21, 2012 1:11 AM
To: yocto
Subject: [yocto] How does bitbake work

 

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.