嵌入式应用开发协作系统-Yocto
2022-04-29 10:55:50 阿炯

本站赞助商链接,请多关照。 Yocto计划(英语:Yocto Project™),一个自由软件项目计划,提供模板、工具和方法帮你创建定制的 Linux 系统和嵌入式产品,而无需关心硬件体系。由Linux基金会于2010年宣布,该计划的目标在于创造出可以提供嵌入式linux发行版的软件工具,以改善软件发展流程。2011年3月,这个计划与OpenEmbedded计划结合,以OpenEmbedded-Core计划作为计划的另一个名称。适合嵌入式Linux开发人员使用。在GPL协议下授权使用。


提供了一套灵活的工具和一个空间,全世界的嵌入式开发者可以在这里分享技术、软件堆栈、配置和最佳实践,可以用来为嵌入式和物联网设备或任何需要定制Linux操作系统的地方创建定制的Linux图像。 提供跨平台工具、元数据以及流程以利于快速和可复制的开发Linux嵌入式系统。



主要由三个组件组成:
BitBake:读取配置档与处方档(recipes)并执行,配置与建置所指定的应用程序或者系统文件映像档。
OpenEmbedded-Core:由基础layers所组成,并为处方档(recipes),layers与classes的集合:这些要素都是在OpenEmbedded系统中共享使用的。
Poky:是一个参考系统。是许多案子与工具的集合,用来让用户延伸出新的发行版(Distribution) 。




最新版本:4.0
Yocto 4.0 于2022年4月下旬发布,它提供了在构建中使用 Linux 5.15 LTS 内核以及更新的工具链组件(如 GNU C Library 2.35)的支持。此外还有大约 300 种软件/工具得到了版本升级。该版本的压缩套件从 Gzip 切换到 Zstd ,以提供更好的压缩/解压缩性能,同时还有各种 ARM 和 RISC-V 的特定改进,以及各种其他增强,比如对一些变量名称的包容性语言调整。更多内容可查看发行公告。

最新版本:4.2
基于 Linux 基金会的 Yocto 项目于2023年5月上旬发布了 4.2 版本。

新功能/增强功能
Linux 内核 6.1、glibc 2.37 和约 350 个软件升级
Python 3.8+ 和 GCC 8.0+ 是构建主机的最低要求版本
此版本中的 BitBake 支持新的 addpylib 指令,以在层内启用 Python 库
BitBake 有多项内部更改,这些更改可能会提高内存和磁盘使用率以及解析时间,特别是:
BitBake 的 Cooker 服务器现在是多线程的
Ctrl+C 现在可以用来中断一些以前忽略它的长时间运行的操作
BitBake 的缓存已扩展为包含更多哈希调试数据,但也已优化以压缩缓存数据
BitBake 的用户界面现在会定期对服务器执行 ping 操作,以确保它仍然存在

新变量:
VOLATILE_TMP_DIR 允许指定是/tmp应该在持久存储上还是在 RAM 中
SPDX_CUSTOM_ANNOTATION_VARS 允许将特定注释添加到配方的 SPDX 描述中

防锈改进:
此版本在目标上添加了 Cargo 支持,并包括针对此功能的自动化 QA 测试
它还支持 Rust crate 的校验和,并使它们对于配方中的每个 crate 都是强制性的
新的 cargo-update-recipe-crates 类可以更新 SRC_URI 包装箱列表Cargo.lock
为裸机目标启用构建 Rust
现在还可以轻松地选择使用新的 RUST_CHANNEL 变量构建测试版或夜间版本的 Rust (使用风险自负)
支持 SRC_URI 中的本地 GitHub 存储库作为 Cargo 依赖项的替代品
使用内置的 Rust 目标进行-native构建,以节省构建 Rust 工具链的几分钟时间

特定于体系结构的增强功能:
此版本添加了对 LoongArch ( loongarch64) 架构的初始支持,但尚未对其进行测试
新x86-64-v3音频格式(AVX、AVX2、BMI1、BMI2、F16C、FMA、LZCNT、MOVBE、XSAVE)
go:添加对在 ppc64le 上构建的支持
rust:rustfmt 现在可以为 riscv32 工作和安装
libpng:为 aarch64 启用 NEON 以确保与 arm32 的一致性。
baremetal-helloworld:启用 x86 和 x86-64 端口

与内核相关的增强功能:
添加了对构建 6.2/6.3-rc 内核的一些支持
linux-yocto-dev:标记为与 qemuarm64 和 qemuarmv5 兼容
添加内核特定的 OBJCOPY,以帮助在 gcc 和 clang 之间干净地切换工具链

更多详情查看更新公告


官方主页:https://www.yoctoproject.org/