标签: yocto

如何将全局 CXX 编译器标志添加到 yocto 构建

这对我来说似乎很明显,但我找不到任何解决方案。假设我想添加或更改适用于所有 yocto 配方的编译器标志/选项。可以在某处添加全局标志而不更改配方?

compiler-flags yocto

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

如何将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
查看次数

如何在bitbake的配方中将文件夹或文件添加到根目录?

我试图将文件夹放入文件系统的根目录.在文档中(例如这里),他们主要使用变量,因此文件和文件夹的SRC_URI结果存储在/usr/bin或者某些东西中,但从不存在/.

所以这是我的食谱:

DESCRIPTION = "Example for adding files and folders to rootfs"

SRC_URI += "file://example_folder"
SRC_URI += "file://example_file"

LICENSE = [...]

do_install() {
    install -d ${D}/rootfolder
    cp -r ${WORKDIR}/example_folder ${D]/rootfolder/
    install -m 0755 ${WORKDIR}/example_file ${D}/rootfolder
}
Run Code Online (Sandbox Code Playgroud)

这只是do_install我尝试的很多变种中的一种.它们中的每一个都导致Error: example not found in the base feeds [...]文件和文件夹中的任何一个或者文件和文件夹没有放在根目录中,而是/usr/bin如上所述.

embedded-linux bitbake yocto

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

如何在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 glibc-locale do_package已安装,但未在任何软件包中提供

我正在尝试在yocto上构建自定义图像.当我创建一个图像时,我在glibc-locale中遇到错误(do_package步骤).

错误是

ERROR: glibc-locale-2.24-r0 do_package: QA Issue: glibc-locale: Files/directories were installed but not shipped in any package:
    {
        "a lot of file in /usr/lib/gconv, /usr/share/i18n paths"
    }
    Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
    glibc-locale: 820 installed and not shipped files. [installed-vs-shipped]
    ERROR: glibc-locale-2.24-r0 do_package: Fatal QA errors found, failing task.
    ERROR: glibc-locale-2.24-r0 do_package: Function failed: do_package
    ERROR: Logfile of failure stored in: /home/test/rpi/build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/glibc-locale/2.24-r0/temp/log.do_package.30243
    ERROR: …
Run Code Online (Sandbox Code Playgroud)

bitbake yocto

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

我如何扩展其他人的回购清单?

在我的项目中,我想为汽车级 Linux 发行版采用现有的 Yocto 设置,并为我们自己的组件添加一些带有配方的层。

他们的 gerrit 站点上有一个公开可用的清单文件 。我想做的是基本上

<manifest>
    <include url="<url of AGL manifest>" />
    <remote name="mysite" fetch="ssh://gerrit.mysite.com" />
    <project name="mylayer1" path="mylayer1" />
    <project name="mylayer2" path="mylayer2" />
</manifest>
Run Code Online (Sandbox Code Playgroud)

目的是repo init指向我的清单的命令首先获取“包含”清单中提到的所有存储库,然后继续获取我自己的所有元层。

问题是该include元素用于在repo init命令行上指定的同一存储库中包含其他清单。

可以简单地将他们的清单复制到我自己的存储库中,使用不同的名称,并在旁边创建我自己的清单。或者我可以复制他们的文件并进行编辑。

但是维护它会很痛苦并且极易出错。特别是上游清单不仅用于指定存储库,还用于将每个存储库固定到特定提交,作为 Yocto 中的一种版本控制形式。

我不敢相信这么明显的用例还没有被考虑和解决。

那么,冒着因“太宽泛”或请求建议而被关闭的风险,有人已经解决了这个问题吗?如果是这样,如何?

openembedded yocto repo

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

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
查看次数

在yocto中为python应用程序编写食谱

我有一个简单的python应用程序,它可以:

  1. 从GPS获取信息
  2. 解析信息
  3. 将其存储在InfluxDB中

包装要求:

certifi==2018.4.16
chardet==3.0.4
idna==2.6 
influxdb==5.0.0
pynmea2==1.12.0 
pyserial==3.4
python-dateutil==2.7.3
pytz==2018.4
requests==2.18.4
six==1.11.0
urllib3==1.22          
Run Code Online (Sandbox Code Playgroud)

上面是通过使用以下命令生成的:

pip3 install pynmea2 pyserial influxdb

OpenEmbedded Layers Index我已经找到pyserialPython3包中。这暗示着我可能需要做的事情pip3 install pynmea2 influxdb

在考虑所有上述pip依赖关系的情况下,如何继续编写应用程序的配方?

我没有找到有关编写python应用程序食谱的任何教程。(相反,Node应用程序确实在yoctoWiki页面上有一些指导。

在检查meta-python层中的一些配方后,我发现了一些.inc文件,但不确定如何处理

embedded-linux python-3.x yocto

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