天天看点

[Yocto] 直接向deploy/images目录部署binary

最近用yocto的时候碰到一个问题,有一些IP的FW binary是从别的地方直接拿来的,没有source code,有一个需求就是需要把它用wks script的方式把它们打包到最后的image里,这篇文章就是来谈谈这个问题。

yocto patch/deploy等做了什么

首先,虽然我们的code,bbfile,或者说patch,是用git repo的形式clone下来的,但是实际上yocto的工作目录是在

build

,或者说的更详细一点,是在

build/tmp/work

下的各级目录,说的再直白一点,如果你把文件直接放在source目录,想用传统的copy的方式把文件从source code目录copy到deploy目录,是很难办到的,就算你办到了,也已经脱离开了yocto的工作流程。

把binary或者文件添加到deploy目录的方法

正如上面我们说到的,我们要用Yocto自带的工作流程来处理这些文件。

在bb文件中添加do_deploy task

SRC_URI:append:riscv64 = " \
	......
    file://ddr/a_bin \
    ......
   "

do_deploy:append() {
	install -d -m 755 ${DEPLOYDIR}/ddr
	install -D -m 755 ${S}/../ddr/a_bin ${DEPLOYDIR}/ddr/
}
           

因为这里我们用到的component已经有了

do_deploy</