天天看點

[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</