- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
int main() {
printf("Hello, World!\n");
return 0;
}
DESCRIPTION = "Recipe created by bitbake-layers"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
SRC_URI = "file://${BSPDIR}/poky/build-microchip/my_layer/recipes-example/helloworld/helloworld/helloworld.c"
S = "/home/user/my_dir/poky/build-microchip/conf"
do_compile() {
${CC} helloworld.c -o helloworld
}
do_install() {
install -d ${D}${bindir}
install -m 0755 helloworld ${D}${bindir}
}
bitbake Hello World
错误do_compile() block 中的错误 helloworld.c 文件未找到
build-microchip/my_layer/recipes-examples/
└── helloworld
├── helloworld
│ └── helloworld.c
└── helloworld.bb
2个目录,2个文件
最佳答案
SRC_URI
中有绝对路径是相当不寻常的.
对于名为 helloworld_0.1.bb
的食谱位于build-microchip/my_layer/recipes-examples/helloworld/
, SRC_URI
默认情况下(按顺序)在您的食谱的以下目录之一 ( FILESPATH
[1]) 中查找内容:
build-microchip/my_layer/recipes-examples/helloworld/helloworld-0.1
build-microchip/my_layer/recipes-examples/helloworld/helloworld
build-microchip/my_layer/recipes-examples/helloworld/files
所以,你实际上不需要传递任何这些目录名称,Yocto 会自己找到它。您只需转至 SRC_URI
相对于上述路径之一的路径。
如果你想使用配方当前目录之外的文件,通常是externalsrc
类必须被继承(而且这样做通常不是一个好主意)。除非在 bbappends 的情况下,您使用 FILESEXTRAPATHS_prepend := "${THISDIR}/<otherdir>"
添加另一个路径到列表中其中 ${THISDIR}/<otherdir>
在上面列表的第一位。
请注意,可以多一层“抽象”,内容为 FILESOVERRIDES
[2]。如有疑问,请始终查看 WORKDIR
中的 log.do_fetch的食谱,它将为您提供查找文件所遍历的所有路径以及它们遍历的顺序。
SRC_URI = "file://helloworld.c"
应该适合你。
我非常确定S
未设置为 Yocto 所期望的。 S
[3] 是 do_unpack
之后 Yocto 源代码所在的目录任务。这是 Yocto 设置的临时目录。通常以 ${WORKDIR}
开头这是给定配方的临时目录。仅在本地源的情况下,设置S = "${WORKDIR}"
因为来自SRC_URI
的本地文件(以 file://
开头的)放入 ${WORKDIR}
中通过 getter 。默认情况下设置为 ${WORKDIR}/<recipename-recipeversion>
.
do_compile
任务运行于 B
默认设置为 ${S}
,配方中设置不正确。这就是找不到您的文件的原因。[4]
SRC_URI = "file://helloworld.c"
S = "${WORKDIR}"
[1] https://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html#var-FILESPATH
[2] https://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html#var-FILESOVERRIDES
[3] https://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html#var-S
[4] https://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html#ref-tasks-compile
关于c - 如何在 yocto 中构建 hello world 食谱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59369008/
谁能更全面地向我解释 sstate 缓存在 yocto 中是如何工作的? This explanation还不清楚。 我不明白这种情况何时发生: NOTE: Preparing runqueue NO
我想为一台新机器(称之为A)添加一些从上游获取的层,主要是为了使用这些层提供的机器A配置文件、内核和u-boot。然而,新层有几个 bbappend 文件(还有 bb 文件),其版本与我的 yocto
我正在尝试为我的飞思卡尔 imx6 板添加一个新层。它依赖于 meta-fsl-arm 层。 层被添加到 bblayers.conf。但是当我构建机器 imx6dlwisehmi 时,linux-im
如何使用 BitBake 配方向图像添加大量文件? 我将文件添加到图像所遵循的模式如下: SRC_URI += "file://bar" do_install () { install -
我是 Yocto 世界的新手。我正在尝试学习如何使用 Yocto 创建嵌入式 Linux 发行版,到目前为止已经成功地为我的定制板构建了一个基本镜像,并且系统运行良好。我目前正在使用 Yocto 分支
我有一个基于 Rocko 分支的工作 Yocto 构建系统,它为基于 ARM 的目标板生成图像。该板上的一个芯片是一个基于 ARM 的小型微 Controller ,与主 CPU 分开。它需要加载我必
我需要 Yocto 项目的源代码包。我已经拥有整个项目的所有资源,但它们还包括开发工具。 我想有一种方法来生成将为目标图像构建的所有包的(修补的)源。因此,例如,如果目标图像包含 busybox,我想
我有一个在解析过程中进行检查的配方。我想做的不是发出警告或因错误而停止,我想让 yocto 完全忽略配方,就好像它从未存在过一样。如果其他一些配方 RDEPENDS 在它上面,它仍然可能会出错,但否则
在 poky/build/tmp/work 目录中编辑源代码是一种好习惯吗?因为如果我们不小心清理了状态,更改将被删除。 或者,我们可以编辑"file"目录中的源代码以及配方文件,但由于这里的大部分代
我正在尝试使用 core-image-base 配方为 RPi 构建一个控制台图像,但在我的配置中的某个地方,我似乎已经打开了一些增加配方数量的东西由大约 1000 人构建,其中包括许多感觉不属于控制
我最近尝试构建基于 Linux 的嵌入式系统,这与我通常可以完全控制一切的嵌入式系统相去甚远。 作为其中的一部分,我正在研究 Yocto/bitbake/OpenEmbedded 构建系统。 我正在努
我有一些自己编写的 yocto 配方,这些配方会导致 yocto 状态缓存机制出现问题(比如当依赖项发生变化时不重建配方)。 有没有办法在每个配方的基础上禁用状态缓存? 在互联网上搜索我只能找到非常古
我正在为特定硬件构建 yocto(来自 nxp 的 imx6 saber-sdb)。我想从构建过程中删除特定的( Chrome )包。这样 chromium 包就不会被下载、编译,也不会成为目标镜像的
我正在尝试添加新的 c 文件来代替从 git 下载软件包后已经存在的文件。尝试过 bbappend 但原始文件仍然存在。还修改了 src_uri += file://fileone.c 但这是也不覆盖
假设我们有配方“A”和“B”,它们每个都在目标镜像上安装一些二进制文件。但在图像的运行时, 'A' 的二进制结果取决于 'B' 的二进制结果是否存在。如果我这样做的话,我可以使两个二进制文件都存在 I
我是 Yocto 和 Embedded 的新手,想要这样的东西, $ git clone https://github.com/babelouest/orcania.git $ git clone h
我正在尝试添加新的 c 文件来代替从 git 下载软件包后已经存在的文件。尝试过 bbappend 但原始文件仍然存在。还修改了 src_uri += file://fileone.c 但这是也不覆盖
假设我们有配方“A”和“B”,它们每个都在目标镜像上安装一些二进制文件。但在图像的运行时, 'A' 的二进制结果取决于 'B' 的二进制结果是否存在。如果我这样做的话,我可以使两个二进制文件都存在 I
我是 Yocto 和 Embedded 的新手,想要这样的东西, $ git clone https://github.com/babelouest/orcania.git $ git clone h
我使用 Yocto 构建了一个文件系统,使用了 core-image-minimal 的 .bbappend。两个问题: 我如何找出哪个包占用了 rootfs 上的大量存储空间? 除了查看每个包的 $
我是一名优秀的程序员,十分优秀!