Next Previous Contents

4. The first attempt: start building

Everything is ready to play, let's go for it!

We should issue all bitbake commands from the build/ directory, so all work will be created within a tmp/ folder inside build/. Usually the first bitbake command to raise is:

~/my_OE/build$ bitbake nano
or
~/my_OE/build$ bitbake helloworld

Basically what we are doing is to build a very simple package, because by building this first package the system will create all the staff related with building systems, compilers, linkers, glibc (or uclibc), and so on. This is a time consuming task, then we must be patients.

~/my_OE/build$ bitbake nano
NOTE: Handling BitBake files: \ (4974/4974) [100 %]
NOTE: Parsing finished. 0 cached, 4745 parsed, 229 skipped, 0 masked.
NOTE: build 200804231554: started

OE Build Configuration:
BB_VERSION     = "1.8.10"
OE_REVISION    = "02f2658aecfb649fc8c64f9e8ec8cce2af899d06"
TARGET_ARCH    = "i586"
TARGET_OS      = "linux"
MACHINE        = "epia"
DISTRO         = "generic"
DISTRO_VERSION = ".dev-snapshot-20080423"
TARGET_FPU     = ""

NOTE: Resolving any missing task queue dependencies
...

After this first compilation we will have a new tmp directory that is used by bitbake as output working directory. It shows the following structure:

~/my_OE/build/tmp/
        |-- cache/              
        |-- cross/              ==> cross tools (gcc, ldd, ...)
        |-- deploy/
        |   |-- images          ==> final image files (cpio, jffs2, ext2, ...)
        |   `-- ipk             ==> final packets
        |-- rootfs/             ==> final rootfs layout.
        |-- staging/            ==> shared items availables for the whole system.
        |-- stamps/             ==> magnagement stamps. 
        `-- work/               ==> where bitbake uncompress, configure, compile, ...

4.1 OE useful targets

It is strongly recommended to study the Bitbake manual. Anyway the following table shows the usual examples, for informational purposes:


bitbake nano -c listtasks tasks available for a package/recipe
bitbake nano -c rebuild -f clean and build again a package
bitbake nano -c fetch -f download again the source program
bitbake nano -c devshell expand a gnome xterm ready to raise commands
bibake helloworld-image image which will start a static executable that prints hello world
bitbake package-index make Package index files for feeds
bitbake gpe-image GPE-based kernel and rootfs
bitbake bootstrap-image Build image contains task-base packages.
bitbake bootstrap-image -c buildall -f build pending packages for bootstrap-image
bitbake bootstrap-image -c rootfs -f populate rootfs again for bootstrap-image
Bitbake examples


Next Previous Contents