命令行选项

以下是一些常用的命令行选项。

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

用户界面


Bitbake可以与几个不同的用户界面一起使用。 以下是一些选项:


User interface

Type

NOTES

bitbake <recipe-or-image> or

"bitbake -u knotty <recipe-or-image>"

scrolling text interface

This is the default user interface

bitbake -u ncurses <recipe-or-image>

text-window based interface

I couldn't figure out how to control or exit this interface

bitbake -u hob

graphical interface

This is a full graphical interface which includes selecting machine, distro, etc. and performing a build

bitbake -u goggle <recipe-or-image>

simple graphical interface

This is a simple graphical wrapper over the streaming text output of bitbake. It's nice in that it shows collapsible trees for the logs for sub-tasks for each recipe.

.bb文件语法


该表列出了在配方(.bb)文件中找到的一些语法。


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

 

VAR_append = "foo"

append without space

 

OVERRIDES="string1:string2"

VAR = "foo"
VAR_string1 = "bar"

alternate/override value

if string1 is listed in OVERRIDES, use "bar" for value of VAR, otherwise use "foo"

OVERRIDES="string1:string2"

VAR = "foo"
VAR_append_string1 = " bar"

conditional append

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 (1.0-1.8 in this example), then 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

include file named "foo", search BBPATH

require [<path>]foo

require file

include file named "foo", failing if not found exactly where specified

inherit foo

inherit classes

include definitions from foo.bbclass

do_sometask() {

<shell code>

}

define a task using shell code

 

python do_sometask {

<python code>

}

define a task using python code

 

addtask sometask (before|after) other_task

add a task

adds a defined task to the list of tasks, with the ordering specified. Zero or more 'before' or 'after' clauses can be used.

VAR[some_flag]="foo"

associate a subsidiary flag value to a variable

a few subsidiary flag value names are well-defined: "dirs", "cleandirs", "noexec", "nostamp", "fakeroot", "umask", "deptask", "rdeptask", "recdeptask", "recrdeptask"

Flag values appear to be used exclusively with task definitions (i.e. do_sometask)

inherit externalsrcEXTERNALSRC = "/some/path"# EXTERNALSRC_BUILD = "/some/path"

Fetch source from /some/path

You can place this at the bottom of a .bb or .bbappend file to override where the source will be fetched from. This is very convenient if you are currently working on the source code. Depending on the type of build (eg, 'inherit module' for out of tree Linux kernel modules) you may or may not need to set EXTERNALSRC_BUILD.

额外的bitbake相关的命令


Command

Description

NOTES

bitbake-layers

Show information about layers and recipes

Included in the bitbake/bin directory in yocto.

bitbake-env

Show invidividual bitbake variable values

see:  http://www.crashcourse.ca/wiki/index.php/OE_bitbake-env_utility

bitbake -g -u taskexp <recipe-or-image-name>

Show dependency information in a graphical interface