bitbake SRC_URI文件://

wei*_*wei 11 uri path environment-variables bitbake yocto

如果我在本地目录中有一个tarball,helloworld.tar.gz,比如/ home/user/tarballs /,如何从该目录中获取bitbake配方?

我的helloworld.bb是

SECTION = "examples"
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://COPYING; md5=1b1b8016e15e07a2fec59623ebf12345"

SRC_URI = "file://helloworld.tar.gz"
Run Code Online (Sandbox Code Playgroud)

但是当我咬嘴时,我收到以下警告信息:

WARNING: Unable to get checksum for helloworld SRC_URI entry helloworld.tar.gz: file could not be found
Run Code Online (Sandbox Code Playgroud)

我读了一些关于FILES和FILESEXTRAPATHS的内容可以影响下载路径,但不确定在何处/如何设置它们.

我做了一个bitbake -c show FILESEXTRAPATHS但收到错误信息:

ERROR: Nothing PROVIDES 'FILESEXTRAPATHS'
Run Code Online (Sandbox Code Playgroud)

And*_*ers 18

好吧,如果你想从本地目录中获取,请使用eg:

SRC_URI = "file:///home/user/tarballs/helloworld.tar.gz"
Run Code Online (Sandbox Code Playgroud)

FILES和FILESEXTRAPATHS变量告诉bitbake在哪里找到被引用的文件:

SRC_URI = "file://helloworld.tar.gz"
Run Code Online (Sandbox Code Playgroud)

在这两个变量指定的位置搜索这些文件.(或者更确切地说,搜索FILESEXTRAPATHS,然后搜索FILESEXTRAPATHS中指定的目录的一些可能的子目录,其中包括DISTRO,MACHINE,ARCH等的扩展值).

FILES(和FILESEXTRAPATHS)用于查找与元数据一起存储的文件,即在路径meta- / recipes-/name/XXX下.

http://www.yoctoproject.org/docs/1.7/mega-manual/mega-manual.html#var-FILEShttp://www.yoctoproject.org/docs/1.7/mega-manual/mega-manual的.html#VAR-FILESEXTRAPATHS


yoc*_*com 7

更好的是,您可以将文件保存在当前(.bb 文件所在的位置)目录中,并在 .bb 文件中提供以下几行。

FILESEXTRAPATHS_prepend := "${THISDIR}:"
SRC_URI = "file://helloworld.tar.gz"
Run Code Online (Sandbox Code Playgroud)

FILESEXTRAPATHS_prepend :告诉比特烘焙文件存在于 .bb 文件所在的位置。