如何在Yocto中编译配方时运行shell脚本

如何在Yocto中编译配方时运行shell脚本,yocto,bitbake,Yocto,Bitbake,我已经创建了一个bashshell脚本,并希望在构建该配方(在该配方下创建了脚本)时执行该脚本。所以我希望bitbake在构建配方时运行此脚本。我应该在.bb文件中添加什么 非常感谢您的帮助。如果您想在配方中运行脚本,您可以定义任务并向其添加依赖项 这在我的uboot.bb文件中。这样,每次编译uboot时,都会将uboot映像复制到一个目录中 生成前的表示每次运行bitbake do deploy之后的表示每次编译uboot时都会执行此脚本 PACKET\u OUTDIR?=“${DEPLOY

我已经创建了一个bashshell脚本,并希望在构建该配方(在该配方下创建了脚本)时执行该脚本。所以我希望bitbake在构建配方时运行此脚本。我应该在.bb文件中添加什么


非常感谢您的帮助。

如果您想在配方中运行脚本,您可以定义任务并向其添加依赖项

这在我的
uboot.bb
文件中。这样,每次编译uboot时,都会将uboot映像复制到一个目录中

生成前的
表示每次运行
bitbake

do deploy之后的
表示每次编译uboot时都会执行此脚本

PACKET\u OUTDIR?=“${DEPLOY\u DIR\u IMAGE}/out”
UBOOT\u OUTFILE?=“${MACHINE}.UBOOT”
#编译后复制bin
在do_部署之后在do_构建之前添加任务箱
#如果vardeps变量从上次执行更改,则重做任务
do_bin[vardeps]=“UBOOT\u OUTFILE PACKET\u OUTDIR”
杜斌(){
#创建目录
安装-d${PACKET\u OUTDIR}
#将uboot bin复制到out目录,并在显示屏上打印输出
bbplain$(cp-vH${DEPLOY_DIR_IMAGE}/${UBOOT_MAKE_TARGET}-${UBOOT_CONFIG}${PACKET_OUTDIR}/${UBOOT_OUTFILE})
#在主页中运行外部脚本
~/external\u script.sh
}

如果您想在编译之前运行脚本,只需在编译之前使用

,这取决于脚本的功能。但通常只需创建一个任务,或者更简单地创建一个do_compile_append(){${WORKDIR}/},它就会运行。如果还没有do_compile任务,您可以省略_append或只使用另一个任务