我已经创建了自己的配方来构建我的SW,它在构建期间需要本机perl(例如,调用perl脚本来生成代码).如果我将配方添加到图像并使用bitbake与图像构建配方,则没有问题.
现在我还想用一个填充SDK来构建SW,但是我发现当我生成填充SDK时,本机perl只包含一些模块而没有构建我的SW所需的模块.我发现了两种使用其他perl模块生成填充SDK的方法:
对于1,它是特定于图像的解决方案.对于2,它是一个全球解决方案.
现在我正在寻找特定配方的解决方案.有没有我可以在我的配方.bb文件中添加一些配置的解决方案,然后我为包含我的配方的任何图像构建填充SDK将包含这些额外的本机perl模块?
我是一个非常懒惰的人.在处理硬件/软件项目时,软件会永久更改.在这个开发阶段,更改配方中的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) 关于Yocto项目常见问题:
Yocto Project和OpenEmbedded共享一个名为openembedded-core的核心元数据集合.但是,这两个组织仍然是分开的,每个组织都有自己的重点.OpenEmbedded为各种体系结构,功能和应用程序提供了一整套元数据.Yocto项目致力于为核心架构和特定板提供功能强大,易于使用,可互操作,经过良好测试的工具,元数据和板级支持包(BSP).
我还没有得到任何清楚.这两个框架旨在构建Linux发行版.但我想知道它们具体区别于什么.不仅在技术上,而且在客观上,所以我可以争论为什么选择一个或另一个.
而且,为什么Yocto如此突出?尽管OE是第一个构建框架.
ps:我曾与Yocto Project合作过,但与OE合作过.
我正在尝试为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) 我正在使用Yocto/Poky发布Daisy 1.6.3构建图像.
什么是正确的方式或配置文件在哪里设置root密码?默认密码为空,我找不到指定它的位置.
我编写了一个Python3应用程序,它使用PyQt5作为GUI,它可以在每个桌面系统上运行良好.现在我想在硬件制造商提供的嵌入式Linux(特别是:Yocto BSP)上运行它.由于没有PyQt5,而是在BSP上运行qt5和python3包,我想(以某种方式)制作应用程序的独立可执行文件.另外,我没有编写bitbake配方和创建自定义BSP的经验,也没有找到任何现有的PyQt5配方.
到目前为止我尝试过的(并没有成功):
make报告了我无法解决的未定义引用(链接器错误)(因为我对c ++不是很熟悉).现在,让python/pyqt5应用程序在包含非常有限的软件包的嵌入式Linux系统上运行的最佳方法是什么?
我正在为英特尔爱迪生构建Yocto图像.
图像的一个组件是u-boot,带有Edison特定的补丁.默认情况下,Edison的UART端口用于u-boot控制台.我想禁用此功能,但仅限于串行接口(u-boot也会侦听USB并且需要保留).
我主要担心的是UART端口上的" 按任意键停止自动引导 "功能.我需要此端口来连接可能在主设备启动过程中发送内容的附件.
我该如何处理这个问题?是否有环境变量,或者我是否需要修改源?
提前致谢!
我正在尝试在嵌入式系统(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但我怎么能以编程方式导出它?
谢谢您的帮助
我试图/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)
线,它仍然创建了该链接.有线索吗?
我正在使用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 ×10
bitbake ×4
linux ×4
openembedded ×2
python ×2
dbus ×1
embedded ×1
git ×1
intel-edison ×1
pyqt5 ×1
python-3.x ×1
recipe ×1
u-boot ×1