1、DEPLOY_DIR_IMAGE
部署目录,即发布版本时的目录。
举例:
bitbake -c devpyshell libxml2
pydevshell> d.getVar("DEPLOY_DIR_IMAGE")
'/media/****/****/***/****/****/****/poky/build/tmp-glibc/deploy/images/****'
上面的****,是我的私人目录。
2、IMAGE_FSTYPES
用来指定,最终生成的 root filesystem使用的格式。比如:ubi
3、IMAGE_INSTALL
官方解释:Lists out the base set of packages to install from the Package Feeds area.
该变量列出了,哪些package包会被安装到rootfs里面。
这个变量提供给 image这个bb使用的。通常,自己的项目会继承一个yocto提供的最小系统的image,然在这个基础上再去增加自己想要的工具到rootfs里面。
举例:
想把xmllint工具打包到rootfs里。
xmllint,是libxml2项目提供的,这个项目会提供.so的库,也会生成xmllint和xmlcatalog工具。
在yocto项目中,libxml2编译目录下,有如下几个package。
可以看到,xmllint工具在libxml2-utils这个package里,如果只有
IMAGE_INSTALL += "libxml2"
则只会将,image/usr/lib/目录下的几个libxml2.so的文件安装到rootfs里面。
如果想将image/usr/bin/目录下的可执行文件安装到rootfs里面,则还要添加如下的包
IMAGE_INSTALL += "libxml2-utils"
ps:
If a file matches the FILES variable for more than one package in PACKAGES, it will be assigned to the earliest (leftmost) package.
如果一个文件被安装到多个package,那么只有最早的安装有效,后面的安装都是无效的,安装会失败。
即,编译后的文件只能安装一次。
4、
TMPDIR: The top-level build output directory
MULTIMACH_TARGET_SYS: The target system identifier
EXTENDPE: The epoch - (if PE is not specified, which is usually the case for most recipes, then EXTENDPE is blank)
PN: The recipe name
PV: The recipe version
PR: The recipe revision