标签: yocto

如何添加包以将SDK填充为主机工具?

我已经创建了自己的配方来构建我的SW,它在构建期间需要本机perl(例如,调用perl脚本来生成代码).如果我将配方添加到图像并使用bitbake与图像构建配方,则没有问题.

现在我还想用一个填充SDK来构建SW,但是我发现当我生成填充SDK时,本机perl只包含一些模块而没有构建我的SW所需的模块.我发现了两种使用其他perl模块生成填充SDK的方法:

  1. 在生成填充SDK之前,将TOOLCHAIN_HOST_TASK + ="nativesdk-perl-modules"添加到我的图像.bb文件中
  2. 为nativesdk-packagegroup-sdk-host添加一个bbappend文件,其中包含RDEPENDS中的"nativesdk-perl-modules"

对于1,它是特定于图像的解决方案.对于2,它是一个全球解决方案.

现在我正在寻找特定配方的解决方案.有没有我可以在我的配方.bb文件中添加一些配置的解决方案,然后我为包含我的配方的任何图像构建填充SDK将包含这些额外的本机perl模块?

bitbake yocto

7
推荐指数
1
解决办法
6738
查看次数

如何配置yocto使用最新的git commit?

我是一个非常懒惰的人.在处理硬件/软件项目时,软件会永久更改.在这个开发阶段,更改配方中的commit/reversion-tags非常讨厌.我希望Yocto获取最新的git提交.这可能/如何做到这一点?我的示例食谱:

SUMMARY = "my test"
SECTION = "test"
LICENSE = "CLOSED"

inherit cmake
SRCREV = "f9bdbd6c631f07e427c010086c7c26a95eb2924e"

SRC_URI = "gitsm://myGit/mytest;protocol=http;branch=develop"

S = "${WORKDIR}/git/"
Run Code Online (Sandbox Code Playgroud)

git recipe bitbake yocto

7
推荐指数
1
解决办法
6638
查看次数

Yocto Project和OpenEmbedded之间的区别?

关于Yocto项目常见问题:

Yocto Project和OpenEmbedded共享一个名为openembedded-core的核心元数据集合.但是,这两个组织仍然是分开的,每个组织都有自己的重点.OpenEmbedded为各种体系结构,功能和应用程序提供了一整套元数据.Yocto项目致力于为核心架构和特定板提供功能强大,易于使用,可互操作,经过良好测试的工具,元数据和板级支持包(BSP).

我还没有得到任何清楚.这两个框架旨在构建Linux发行版.但我想知道它们具体区别于什么.不仅在技术上,而且在客观上,所以我可以争论为什么选择一个或另一个.

而且,为什么Yocto如此突出?尽管OE是第一个构建框架.

ps:我曾与Yocto Project合作过,但与OE合作过.

openembedded yocto

7
推荐指数
1
解决办法
2330
查看次数

适用于NVIDIA Jetson Nano的PyTorch的Yocto Warrior Bitbake食谱

我正在尝试为Python 3 PyTorch创建一个简单的Yocto Python食谱。目标是Yocto从meta-tegra层为NVIDIA Jetson Nano制作的SD卡映像。没有这些配方,我就可以成功地从meta-tegra编译并引导映像。

NVIDIA本身已经编译并发布了“ .whl” Python软件包,可以在以下位置找到它们:https ://devtalk.nvidia.com/default/topic/1048776/official-tensorflow-for-jetson-nano-/

使用他们的构建说明,我尝试编写一个Bitbake配方来安装PyTorch,如下所示:

SUMMARY = "Facebook PyTorch AI"
DESCRIPTION = "Facebook PyTorch AI"
HOMEPAGE = "https://pytorch.org/"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=acf4d595f99e159bf31797aa872aef57"

inherit pypi
inherit setuptools3

#BBCLASSEXTEND = "native nativesdk"

DEPENDS += "python3-pytest-runner-native python3-pyyaml-native cmake-native"

do_configure_prepend() {
  USE_NCCL=0
  USE_DISTRIBUTED=0
  TORCH_CUDA_ARCH_LIST="5.3;6.2;7.2"
}

do_compile_prepend() {
  USE_NCCL=0
  USE_DISTRIBUTED=0
  TORCH_CUDA_ARCH_LIST="5.3;6.2;7.2"
}

SRC_URI = "gitsm://github.com/pytorch/pytorch.git;protocol=https"
SRCREV = "a3346e100e7f4e7ec90f18b7befcccc47d5a1c82"

S = "${WORKDIR}/git"
Run Code Online (Sandbox Code Playgroud)

问题是我遇到了以下错误。我认为这与我的环境变量未被获取有关,因为错误包括“ -DUSE_CUDA = False”,但是当我查看bitbake环境(bitbake -e)时,它似乎在那里。

这是错误:

**NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: …
Run Code Online (Sandbox Code Playgroud)

python linux python-3.x bitbake yocto

7
推荐指数
1
解决办法
278
查看次数

如何在Yocto/Poky映像上设置root密码?

我正在使用Yocto/Poky发布Daisy 1.6.3构建图像.
什么是正确的方式或配置文件在哪里设置root密码?默认密码为空,我找不到指定它的位置.

embedded-linux yocto

6
推荐指数
3
解决办法
1万
查看次数

如何将Python PyQt5应用程序部署到嵌入式Linux?

我编写了一个Python3应用程序,它使用PyQt5作为GUI,它可以在每个桌面系统上运行良好.现在我想在硬件制造商提供的嵌入式Linux(特别是:Yocto BSP)上运行它.由于没有PyQt5,而是在BSP上运行qt5和python3包,我想(以某种方式)制作应用程序的独立可执行文件.另外,我没有编写bitbake配方和创建自定义BSP的经验,也没有找到任何现有的PyQt5配方.

到目前为止我尝试过的(并没有成功):

  • 使用nuitka,cx-freeze,pyinstaller创建一个独立的可执行文件(在类似的arm平台上编译)
  • 使用pyqtdeploy将python转换为c ++源代码,然后使用提供的构建环境对其进行编译.我做了pyqt5和sip包的静态编译,一切编译得很好,但make报告了我无法解决的未定义引用(链接器错误)(因为我对c ++不是很熟悉).

现在,让python/pyqt5应用程序在包含非常有限的软件包的嵌入式Linux系统上运行的最佳方法是什么?

python linux embedded pyqt5 yocto

6
推荐指数
1
解决办法
977
查看次数

如何在u-boot中禁用串行控制台(非内核)

我正在为英特尔爱迪生构建Yocto图像.

图像的一个组件是u-boot,带有Edison特定的补丁.默认情况下,Edison的UART端口用于u-boot控制台.我想禁用此功能,但仅限于串行接口(u-boot也会侦听USB并且需要保留).

我主要担心的是UART端口上的" 按任意键停止自动引导 "功能.我需要此端口来连接可能在主设备启动过程中发送内容的附件.

我该如何处理这个问题?是否有环境变量,或者我是否需要修改源?

提前致谢!

linux embedded-linux u-boot yocto intel-edison

6
推荐指数
2
解决办法
7970
查看次数

如何导出DBUS_SESSION_BUS_ADDRESS

我正在尝试在嵌入式系统(Yocto Linux)上运行D-Bus,并从我的应用程序代码连接到它.

我打电话时收到以下错误 dbus_bus_get(DBUS_BUS_SESSION, &err);

Using X11 for dbus-daemon autolaunch was disabled at compile time, set your DBUS_SESSION_BUS_ADDRESS instead
Run Code Online (Sandbox Code Playgroud)

我意识到我需要启动第dbus-daemon一个,所以我从命令行运行dbus-launch.这打印出一个值,DBUS_SESSION_BUS_ADDRESS但我怎么能以编程方式导出它?

谢谢您的帮助

linux dbus yocto

6
推荐指数
3
解决办法
1万
查看次数

如何在Yocto Fido(poky)中使/ var/log持久化

我试图/var/log坚持我的fido构建.poky的默认设置是,有一个符号链接,/var其中包含点log -> volatile/log.volatile是一个安装在tmpfs上.

到目前为止,我发现符号链接应该由base-files配方创建:

volatiles = "log tmp"

do_install () {
  ...
    for d in ${volatiles}; do
        ln -sf volatile/$d ${D}${localstatedir}/$d
    done
  ...
Run Code Online (Sandbox Code Playgroud)

我附加了基本文件配方,因此没有创建链接,但它仍然在我的rootfs中出现.那么它来自哪里?我怀疑它可能fs-perms.txt与它有关.但我试图创造一个没有

${localstatedir}/log    link    volatile/log
Run Code Online (Sandbox Code Playgroud)

线,它仍然创建了该链接.有线索吗?

embedded-linux openembedded bitbake yocto

6
推荐指数
2
解决办法
3104
查看次数

Yocto-已安装文件/目录,但未以任何软件包提供

我正在使用Yocto 使用食谱https://github.com/CogentEmbedded/meta-opencl/blob/master/meta-ocl-common/recipes安装clBLAS库(https://github.com/clMathLibraries/clBLAS-graphics / clblas / clblas_git.bb

但是我每次都会收到以下警告,并且.so文件不在生成的映像中。

WARNING: QA Issue: clblas: Files/directories were installed but not shipped in any package:
  /usr/lib
  /usr/lib/libclBLAS.so.2.12.0
  /usr/lib/libclBLAS.so.2
  /usr/lib/libclBLAS.so
  /usr/lib/.debug
  /usr/lib/pkgconfig
  /usr/lib/cmake
  /usr/lib/.debug/libclBLAS.so.2.12.0
  /usr/lib/pkgconfig/clBLAS.pc
  /usr/lib/cmake/clBLAS
  /usr/lib/cmake/clBLAS/clBLASTargets-debug.cmake
  /usr/lib/cmake/clBLAS/clBLASConfigVersion.cmake
  /usr/lib/cmake/clBLAS/clBLASTargets.cmake
  /usr/lib/cmake/clBLAS/clBLASConfig.cmake
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
clblas: 14 installed and not shipped files. [installed-vs-shipped]
Run Code Online (Sandbox Code Playgroud)

如何克服此警告并使目标/usr/lib文件夹中存在.so文件?

yocto

6
推荐指数
2
解决办法
9957
查看次数