【OpenBMC 系列】0.OpenBMC features & 名词介绍

Yocto项目是一个用于创建定制Linux系统的开源工具,其核心是Poky构建系统,包括BitBake、元数据集、配方文件等组件。元数据集描述了软件包的来源和配置,而Bitbake负责解析和执行这些数据来构建系统。OpenBMC是一个特色项目,提供了诸如HTTP/Webserver、REST管理、D-Bus接口、远程KVM等一系列BMC功能,支持IPMI标准,具备电源管理和日志记录等能力,适用于OpenPOWER系统。

Yocto

Yocto:Yocto是这个开源项目的名称,该项目旨在帮助我们自定义Linux系统
Poky:Poky有两个含义。第一个含义是用来构建Linux的构建系统,值得注意的该Poky仅仅是一个概念,而非一个实体:它包含了 BitBake工具、编译工具链、BSP、诸多程序包或层,可以认为Poky即是Yocto的本质;此外Poky还有另外一层意思,使用Poky系统得到的默认参考 Linux 发行版也叫Poky(当然,我们可以对此发行版随意命名)。Poky的两个含义千万不能混淆
Metadata:元数据集,所谓元数据集就是发行版内各基本元素的描述与来源
Recipes:.bb/.bbappend文件,配方文件,描述了从哪获取软件源码,如何配置,如何编译。bbappend和bb的区别主要在于bbappend是基于bb的,功能是对相应的bb文件作补充和覆盖,有点类似于“重写”的概念
Class:.bbclass文件,包含在配方文件之间共享的有用信息。比如autotools该类,其中包含Autotools使用的任何应用程序的常用设置。Yocto项目参考手册中的“ 类 ”一章提供了有关类及其使用方法的详细信息。https://www.yoctoproject.org/docs/2.5/ref-manual/ref-manual.html#ref-classes
Configuration:.conf文件,即配置文件,我们可以用它来改变构建方式,比如conf/local.conf可以配置机器配置选项,分发配置选项,编译器调整选项,常规通用配置选项和用户配置选项 。conf/bblayers.conf中可以添加用到的layer层路径,从而在编译时将他们添加进去。
Layers:即各种meta-xxx目录,将Metadata按层进行分类,有助于项目的维护,包含相关元数据(即指令集)的存储库,它们告诉OpenEmbedded构建系统如何构建目标。图层保存特定硬件的所有配置。隔离特定于硬件的配置允许通过使用不同的层来共享其他元数据,其中元数据可能在多个硬件中是通用的。
Bitbake:一个任务执行引擎,用来解析并执行Metadata

当遇到 “Feature 'xcb' was enabled, but the pre - condition 'features.thread && libs.xcb && tests.xcb_syslibs && features.xkbcommon-x11' failed” 错误,意味着在启用 'xcb' 功能时,相关的前置条件未满足,通常是由于缺少关键库导致的。以下是一些可能的解决方法: ### 安装缺失的依赖库 确保系统中安装了 `xcb` 相关的所有依赖库,包括线程库、`xcb` 库、`xcb` 系统库以及 `xkbcommon-x11` 库。在基于 Debian 或 Ubuntu 的系统上,可以使用以下命令安装: ```bash sudo apt-get update sudo apt-get install libxcb-xinerama0-dev libxcb-xkb-dev libxcb-randr0-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-icccm4-dev libxkbcommon-dev libxkbcommon-x11-dev ``` ### 检查 Qt 配置参数 在编译 Qt 时,确保正确配置了 `xcb` 选项。从 Qt 5.15 版本以后,`-qt-xcb` 选项已不再使用,应直接使用 `-xcb` 选项。示例命令如下: ```bash ./configure -xcb make sudo make install ``` ### 检查环境变量 确保系统的环境变量配置正确,尤其是 `LD_LIBRARY_PATH` 变量,它应该包含 `xcb` 库的路径。可以通过以下命令临时设置: ```bash export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/xcb/lib ``` 若要永久设置,可将上述命令添加到 `~/.bashrc` 或 `/etc/profile` 文件中。 ### 检查线程支持 确保系统支持线程功能,并且编译环境正确配置了线程支持。一般情况下,现代操作系统都会默认支持线程,但在某些特殊环境下,可能需要手动配置。 ### 重新编译和安装 如果以上方法都无法解决问题,可以尝试重新编译和安装相关的库和 Qt。在重新编译之前,先清理旧的编译文件: ```bash make clean ``` 然后重新执行配置、编译和安装步骤: ```bash ./configure -xcb make sudo make install ``` ### 示例代码片段 ```bash # 更新系统软件包列表 sudo apt-get update # 安装 xcb 相关依赖库 sudo apt-get install libxcb-xinerama0-dev libxcb-xkb-dev libxcb-randr0-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-icccm4-dev libxkbcommon-dev libxkbcommon-x11-dev # 清理旧的编译文件 make clean # 配置 Qt 编译选项 ./configure -xcb # 编译 Qt make # 安装 Qt sudo make install ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AiFool

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值