Bitbake Cheat Sheet
From eLinux.org
Here are some quick notes on bitbake syntax and rules. For an exhaustive list of functionality, and longer descriptions, see the bitbake manual at: http://docs.openembedded.org/bitbake/html/ (note that this link goes to the OpenEmbedded version of the bitbake manual, which is a version from 2006 as of this writing. A separate (yocto-specific?) bitbake manual is included in source form in the yocto project source directory, under bitbake/doc.)
Options
| Option | Meaning |
|---|---|
| -c <task> | execute <task> for the image or recipe being built. ex: bitbake -c fetch busybox.
Some of the possible tasks are: fetch, configure, compile, package, clean |
| -f | force execution of the operation, even if not required |
| -v | show verbose output |
| -DDD | show lots of debug information |
| -s | show recipe version information |
| --help | get usage help |
| -c listtasks <image-or-recipe-name> | show the tasks associated with an image or individual recipe |
| -g <recipe> | output dependency tree in graphviz format |
Syntax
| Syntax | Meaning | NOTES | ||
|---|---|---|---|---|
| VAR = "foo" | simple assignment | |||
| VAR ?= "foo" | assign if no other value is already assigned (default assignment) | |||
| VAR ??=foo | weak default assignment | takes lower precedence than ?= | ||
| VAR = "stuff ${OTHER_VAR} more" | variable expansion | OTHER_VAR expanded at time of reference to VAR | ||
| VAR := "stuff ${OTHER_VAR} more" | immediate variable expansion | OTHER_VAR expanded at time of parsing this line | ||
| VAR += "foo" | append with space | |||
| VAR =+ "foo" | prepend with space | |||
| VAR .= "foo" | append without space | |||
| VAR =. "foo" | prepend without space | |||
| OVERRIDES="string1:string2" VAR = "foo" |
alternate/override value | if string1 is listed in OVERRIDES, use "bar" for value of VAR, otherwise use "foo" | ||
| OVERRIDES="string1:string2" VAR = "foo" |
conditional appending | if string1 is in OVERRIDES, then append " bar" to the value of VAR | ||
| BBVERSIONS="1.0 1.8 string" |
VAR="foo" |
VAR_string="bar" | range-specific conditional | If the version of the package is in the specified range, the perform an override on the indicated variable |
| VAR = "foo ${@<line-of-python-code>}" | python code expansion | ex: VAR = "the date is: ${@time.strftime(’%Y%m%d’,time.gmtime())}" | ||
| include foo | include file named "foo", search BBPATH | |||
| require [<path>]foo | include file names "foo", failing if not found exactly where specified | |||
| inherit foo | inherit definitions from foo.bbclass |