我使用 构建的图像bitbake必须包含适用于不同机器的不同包(例如,我需要将包添加package1到图像 for machine1,而不是 for machine2)。
可以加线
IMAGE_INSTALL_append_machine1 = " package1"
Run Code Online (Sandbox Code Playgroud)
到图像配方。但我不认为这是可持续的,因为IMAGE_INSTALL_append_machine1可能在其他一些配方中定义(这不在我的控制之下),并且较早的定义被后一个覆盖。这就是我认为 Yocto 项目开发手册警告使用 IMAGE_INSTALL 的原因。
我的担心有效吗?在这种情况下编写配方的正确方法是什么?
我想了解这两个包之间的关系,因为更改“qemu”的源 uri 似乎会导致 qemu-native 的构建损坏。
我不是 Yocot/Bitbake 专家,所以稍微澄清一下会大有帮助。
谢谢。
我正在使用 YOCTO 来构建图像,但 Bitbake 进程总是卡在任何任务中,包括从 git 中获取
前任:
Currently 2 running tasks (1373 of 2477):
0: rpi-mkimage-native-git-r0 do_fetch (pid 2372)
1: linux-raspberrypi-1_4.1.21+gitAUTOINC+ff45bc0e89-r0 do_fetch (pid 2371)
Run Code Online (Sandbox Code Playgroud)
这些任务永远不会结束,我检查了我机器上的 Git,我可以毫无问题地克隆这些存储库。
我想在构建期间停用内核选项:
在内核配方的 .bbappend 文件中,我通过具有以下内容SRC_URI的 .cfg 内核片段文件获取no_usb.cfg:
CONFIG_USB=n
CONFIG_USB_TEST=y
Run Code Online (Sandbox Code Playgroud)
第一个条目应该在内核配置中关闭 USB,第二个条目用于测试相反的情况。
这不起作用:既没有出现测试条目,也没有停用 USB。我也在 yocto 源 *.scc 文件中看到过,我为我的文件创建了一个no_usb.cfg:
kconf hardware no_usb.cfg
Run Code Online (Sandbox Code Playgroud)
但是我在文档中发现的很少,无法关闭 USB。那么我该如何停用CONFIG_USB?
这是我的内核配方(来自飞思卡尔 SDK)linux-qoriq_3.12.bb:
require recipes-kernel/linux/linux-qoriq.inc
SRC_URI = "git://git.freescale.com/ppc/sdk/linux.git;branch=sdk-v1.9.x"
SRCREV = "43cecda943a6c40a833b588801b0929e8bd48813"
Run Code Online (Sandbox Code Playgroud)
我有一个带有此附加文件的图层linux-qoriq_3.12.bbappend:
SRC_URI += "file://no_usb.cfg"
Run Code Online (Sandbox Code Playgroud)
该层的目录结构如下:
meta-layer
??? recipes-kernel
??? linux
??? linux-qoriq
? ??? no_usb.cfg
??? linux-qoriq_3.12.bbappend
Run Code Online (Sandbox Code Playgroud) 我正在研究 yocto,我有一个组件,我正在使用 cmake 命令手动编译它。我需要在编译时使用 cmake 选择一些选项。cmake -Dex=on ..., 启用“ex”
现在我试图在 yocto 中做同样的事情,为了编译,我在 bb 文件中使用了继承 cmake,但我不传递这个选项 -Dex=on
我的 bb 文件看起来像这样
SECTION = "devel"
LICENSE = "CLOSED" SRC_URI = "file://*"
SRC_URI = "gitsm://****.git;protocol=ssh"
SRCREV="${AUTOREV}"
S = "${WORKDIR}/git"
inherit cmake
Run Code Online (Sandbox Code Playgroud)
如何在 bitbake 文件中传递 cmake 选项?
我想创建一个基于的新目标core-image-minimal,我想用systemdover更改初始化系统SysV init。我希望我的更改是永久性的(不基于 local.conf)。我怎样才能做到这一点?
我是 Yocto 和 Bitbake 的新手。我正在通过 Ubuntu 上的 qemu 模拟器运行我的 yocto 机器,并尝试使用该meta-selftest层来了解如何安装新层。我已将meta-selftest文件下载到其余目录所在的meta-目录中,并将该meta-selftest目录的路径添加到bblayers.conf文件中。运行bitbake-layers show-layers命令给出输出
layer path priority
==========================================================================
meta /home/[my name]/Documents/poky/meta 5
meta-poky /home/[my name]/Documents/poky/meta-poky 5
meta-yocto-bsp /home/[my name]/Documents/poky/meta-yocto-bsp 5
meta-selftest /home/[my name]/Documents/poky/meta-selftest 5
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试运行时bitbake meta-selftest,出现错误:
Loading cache: 100%
Loaded 1294 entries from dependency cache.
ERROR: Nothing PROVIDES 'meta-selftest'
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
Run Code Online (Sandbox Code Playgroud)
这个错误是什么意思?我检查了meta-selftest的依赖项,它没有任何依赖项,所以我觉得这个错误并不是说存在依赖项问题,但是我找不到任何关于这个错误告诉我什么的明确文档。我有一种模糊的感觉,这意味着 bitbake can't find meta-selftest …
我有一个并不出名的库,并且没有可用于此库的包 https://github.com/dailab/libsml通常我通过执行make install
如何在我的设备上安装此库如何将此库作为包添加到我的发行版中Linux的。就像我可以python在我的local.conf
我的 local.conf 看起来像这样
MACHINE ?= "phyboard-regor-am335x-1"
DISTRO ?= "yogurt"
# The following line disables the autostart of the phytec-qtdemo by
# default, but you can start the demo anytime using
# $ systemctl start phytec-qtdemo.service
#SYSTEMD_AUTO_ENABLE_pn-phytec-qtdemo = "disable"
# That are the default values of bitbake. Adapt these to your workspace and
# host preferences.
#DL_DIR = "${TOPDIR}/downloads"
#SSTATE_DIR = "${TOPDIR}/sstate-cache"
# License Handling
# - Uncomment for i.MX6 proprietary GPU …Run Code Online (Sandbox Code Playgroud) 在哪里可以找到用于构建内核的 .config 文件?
我用:
$ bitbake virtual/kernel -c menuconfig to open the menuconfig
Run Code Online (Sandbox Code Playgroud)
我刚刚运行了 menuconfig,但遇到了一个大问题:没有激活的选项。.config 文件 (?) 看起来已被删除或损坏
我有两个目录:
我必须获取旧的配置文件并将其粘贴到损坏的配置中。
提前致谢。
有一个项目,我们使用项目 yocto,我们的元数据从一些远程 git 存储库中获取源。
问题是这些存储库只能在某些特定情况/特定时间访问。
因此,我需要一种方法来获取存储库(当它们可用时),以便在本地拥有它们,但当时不构建任何东西。
这可能吗?
bitbake ×10
yocto ×10
openembedded ×2
qemu ×2
build-system ×1
embedded ×1
kernel ×1
linux ×1
linux-kernel ×1
packages ×1