博客
关于我
BitBake用户手册-3.语法和操作
阅读量:352 次
发布时间:2019-03-04

本文共 4448 字,大约阅读时间需要 14 分钟。

BitBake ??????????

BitBake ??????????????????????????????????????????????????????? BitBake ??????????????????????


3. ?????

3.1 ????

BitBake ???????????????????????????? BitBake ????????

3.1.1 ??????

??????? VARIABLE ??? "value"??????????????

VARIABLE = "value"

?????????????????????

VARIABLE = " value"VARIABLE = "value "

????????????????

VARIABLE = ""VARIABLE = " "

??????????????????????

VARIABLE = 'I have a " in my value'

???? Bourne shell ???BitBake ?????????????????????????

3.1.2 ???????

????????????????????????????????

  • ????????????
  • ?? *.bbclass ?????????????
  • ?? *.bbappend ??????????????????
  • ??????????????????????

????????????????????????????????????????????????????

3.1.3 ??

BitBake ???????? (\) ??????????????

FOO = "bar \       baz \       qaz"

?????????????????????FOO ???????????

3.1.4 ????

???????? Bourne shell ?????????????????????

A = "ava"B = "pre${A}post"

???? Bourne shell ???BitBake ????????????? (${})???? $?

????????????????????????????????

A = "${B} baz"B = "pre"C = "foo"

???????${A} ???? "pre foo"?

3.1.5 ????? (?=)

????? ?= ?????????????????????????????????

A ?= "aval"

????????????? ?= ??????????????

3.1.6 ?????? (??=)

???? ??= ???????????????? ?= ????????????????????

A ??= "somevalue"A ??= "someothervalue"

?????????? A?????????????? A????????? "someothervalue"?

3.1.7 ?????? (:=)

:= ?????????????????????????????

T = "123"A := "test ${T}"T = "456"B := "${T} ${C}"C = "cval"C := "${C}append"

????????? T ????? "456"?A ???? "test123"??? B ??? "456 cvalappend"?

3.1.8 ?????? (+=) ??? (+=)

??????????? += ? += ??????????????????????????

B = "bval"B += "additionaldata"C = "cval"C =+ "test"

??????

  • B = "bval Extradata"
  • C = "test cval"
3.1.9 ??????? (=.) ??? (=.)

??????????????????????? =.= ? =. ????

B = "bval"B .= "additionaldata"C = "cval"C =. "test"

??????

  • B = "bvaladditionaldata"
  • C = "testcval"
3.1.10 ???????????

????????????????????????????? += ? =+ ??????????????????

B_append = "additionaldata"C_prepend = "additional data "D_append = "additional data"

??????

  • B = "bval additional data"
  • C = "additional data cval"
  • D = "dvaladditional data"

??????????????????????

3.1.11 ??????????

????????????????????????????????????????????

FOO = "123 456 789 123456 123 456 123 456"FOO_remove = "123"FOO_remove = "456"

???

  • FOO = "789 123456"

3.2 ?????????

????? export ????????????????????????

export ENV_VARIABLEENV_VARIABLE = "value from the environment"

????????????????????????

bitbake -e

??????????????????? "export" ???


3.3 ????????

BitBake ?? OVERRIDES ??????????? OVERRIDES ??????

3.3.1 ?????

OVERRIDES ???????????????????????????

OVERRIDES = "architecture:os:machine"TEST = "default"TEST_os = "osspecific"

???????BitBake ?????? OVERRIDES ?????????????

3.3.2 key ??

? BitBake ??????????? key ??????

A${B} = "X"B = "2"A2 = "Y"

???????BitBake ??? ${B} ? "2"??? A2 ???? "X"?


3.4 ?????Sharing Functionality?

BitBake ?????????????????????????????

3.4.1 ?? Include ??? Class ??

BitBake ?? BBPATH ?????????????BBPATH ??????? PATH?

3.4.2 inherit ??

?????????? inherit ???????????????

inherit autotools

BitBake ?? BBPATH ??? classes/autotools.bbclass ???

3.4.3 include ??

include ?????????????????

include test_defs.inc

???????????include ?????????????? require ??? include?????????

3.4.4 require ??

require ??? include ???????????????????????

require foo.inc

3.4.5 INHERIT ????

???????? INHERIT ????????????

INHERIT += "abc"

3.5 ??

BitBake ?? Shell ???BitBake ??? Python ???Python ????? Python ???

3.5.1 Shell ??

Shell ?????

some_function () {    echo "Hello World"}

3.5.2 BitBake ??? Python ??

BitBake ??? Python ?????

python some_python_function () {    d.setVar("TEXT", "Hello World")    print(d.getVar("TEXT"))}

3.5.3 Python ??

?? Python ?????

def get_depends(d):    if d.getVar('SOMECONDITION'):        return "dependencywithcond"    else:        return "dependency"DEPENDS = "${@get_depends(d)}"

3.6 ??

??? BitBake ????????? BitBake ?????????? do_ ???

3.6.1 ???????

?????

addtask printdate after do_fetch before do_build

3.6.2 ????

???????

deltask printdate

3.7 ????

?????varflags???????????????????????

  • [cleandirs]?????????????
  • [depends]???????????
  • [dirs]????????????

3.8 ??

BitBake ??????????????????????????

  • bb.event.BuildStarted()
  • bb.build.TaskStarted()
  • bb.event.ConfigParsed()

3.9 ??-?????

BitBake ???? BBCLASSEXTEND ? BBVERSIONS ????????????

BBCLASSEXTEND = "native"BBVERSIONS = "1.0 2.0 git"

3.10 ??

BitBake ???????????????????

do_configure[deptask] = "do_populate_sysroot"

?????????????????? BitBake ?????????

转载地址:http://nvkr.baihongyu.com/

你可能感兴趣的文章
Openstack(两控制节点+四计算节点)-1
查看>>
openstack--memecache
查看>>
openstack-keystone安装权限报错问题
查看>>
openstack【Kilo】汇总:包括20英文文档、各个组件新增功能及Kilo版部署
查看>>
openstack下service和endpoint
查看>>
【Docker知识】重定向 Docker 的根目录
查看>>
Openstack企业级云计算实战第二、三期培训即将开始
查看>>
OpenStack创建虚拟机实例实战
查看>>
OpenStack安装部署实战
查看>>
OpenStack实践系列⑨云硬盘服务Cinder
查看>>
OpenStack架构
查看>>
OpenStack版本升级与故障排查实战
查看>>
Openstack的HA解决方案【替换原有的dashboard】
查看>>
OpenStack的基本概念与架构详解
查看>>
Openstack的视频学习
查看>>
OpenStack自动化安装部署实战(附OpenStack实验环境)
查看>>
openstack虚拟机迁移live-migration中libvirt配置
查看>>
OpenStack项目管理实战
查看>>
OpenStreetMap初探(一)——了解OpenStreetMap
查看>>
openSUSE 13.1 Milestone 2 发布
查看>>