BitBake is the tool at the heart of the OpenEmbedded build system and is responsible for parsing the Metadata, generating a list of tasks from it, and then executing those tasks.
This section briefly introduces BitBake. If you want more information on BitBake, see the BitBake User Manual.
To see a list of the options BitBake supports, use either of the following commands:
$ bitbake -h $ bitbake --help
The most common usage for BitBake is
bitbake
,
where packagename
packagename
is the name of the
package you want to build (referred to as the "target" in this
manual).
The target often equates to the first part of a recipe's
filename (e.g. "foo" for a recipe named
foo_1.3.0-r0.bb
).
So, to process the
matchbox-desktop_1.2.3.bb
recipe file, you
might type the following:
$ bitbake matchbox-desktop
Several different versions of
matchbox-desktop
might exist.
BitBake chooses the one selected by the distribution
configuration.
You can get more details about how BitBake chooses between
different target versions and providers in the
"Preferences"
section of the BitBake User Manual.
BitBake also tries to execute any dependent tasks first.
So for example, before building
matchbox-desktop
, BitBake would build a
cross compiler and glibc
if they had not
already been built.
A useful BitBake option to consider is the
-k
or --continue
option.
This option instructs BitBake to try and continue processing
the job as long as possible even after encountering an error.
When an error occurs, the target that failed and those that
depend on it cannot be remade.
However, when you use this option other dependencies can
still be processed.