在bitbake的构建过程中,搜索配方的顺序如下:
搜索本地配置中指定的层目录(例如CONF_PATH),以查找指定的recipe和bb文件。
搜索在本地配置(例如BBPATH)中定义的所有层目录,以查找指定的recipe和bb文件。
在OpenEmbedded软件仓库中搜索和匹配指定的recipe名称并下载,然后解压至本地目录(例如TMPDIR)。
代码示例:
1.搜索本地配置中指定的层目录
# 替换${CONF_PATH}和${BBFILE_COLLECTIONS}为实际目录
LAYERDIRS := "${CONF_PATH}:${BBFILE_COLLECTIONS}"
# 替换${BBPATH}为实际目录
BBFILES := ""
for dir in ${BBPATH}; do \
BBFILES += `find $$dir -name '*.bb'` \
BBFILES += `find $$dir -name '*.bbappend'` \
done
# 替换${DL_DIR}和${SSTATE_DIR}为实际目录
DL_DIR := "/path/to/downloads"
SSTATE_DIR := "/path/to/sstate"
BB_STRICT_CHECKSUM := "0"
FETCHCOMMAND="wget --continue --directory-prefix=${DL_DIR} ${URI}"
FALLBACK_FETCHCOMMAND = "wget --continue --tries=2 --retry-connrefused --directory-prefix=${DL_DIR} ${URI}"
SSTATE_DIR = "${SSTATE_DIR}"