14常见问题
目录
问: Poky 与OpenEmbedded有何不同?
答:该术语Poky
指的是 Yocto 项目提供的特定参考构建系统。Poky 基于 OpenEmbedded-Core (OE-Core)和BitBake。因此,此处用于构建系统的通用术语是“OpenEmbedded 构建系统”。Yocto 项目中使用 Poky 的开发与 OpenEmbedded 密切相关,更改总是先合并到 OE-Core 或 BitBake,然后再被拉回 Poky。这种做法立即使两个项目受益。
问:我的开发系统不符合要求的 Git、tar 和 Python 版本。特别是,我没有 Python 3.6.0 或更高版本。我还能使用 Yocto 项目吗?
答:您可以通过几种不同的方式(即构建 tarball 或下载 tarball)在您的主机开发系统上获得所需的工具。有关如何更新构建工具的步骤,请参阅“所需的 Git、tar、Python 和 gcc 版本”部分。
问:你怎么能说 Poky / OpenEmbedded-Core 是稳定的?
A:有三个方面有助于稳定;
-
Yocto 项目团队保持OpenEmbedded-Core (OE-Core)小而专注,包含大约 830 个配方,而不是其他 OpenEmbedded 社区层中可用的数千个。保持小尺寸使其易于测试和维护。
-
Yocto 项目团队使用一组小型、固定的参考硬件和模拟目标来运行手动和自动测试。
-
Yocto 项目使用自动构建器,它提供持续的构建和集成测试。
问:我如何获得对添加到 Yocto 项目的开发板的支持?
答:通过为其创建板支持包 (BSP) 层来添加对附加板的支持。有关如何创建 BSP 层的更多信息,请参阅Yocto 项目开发任务手册和Yocto 项目板支持包开发人员指南中的“理解和创建层”部分 。
通常,如果董事会不是完全陌生的,在 Yocto 项目中添加支持是相当简单的。
问:是否有使用 OpenEmbedded 构建系统构建的产品?
答:在Vernier LabQuest上运行的软件是使用 OpenEmbedded 构建系统构建的。有关详细信息,请参阅Vernier LabQuest网站。有许多使用 OpenEmbedded 构建系统的预生产设备,一旦发布,Yocto 项目团队就会宣布它们。
问: OpenEmbedded 构建系统生成什么作为输出?
答:因为您可以使用同一组配方来创建各种格式的输出,所以 OpenEmbedded 构建的输出取决于您如何启动它。通常,输出是为目标设备准备好的可闪存映像。
问:如何将我的包添加到 Yocto 项目?
A:要添加包,您需要创建一个 BitBake 配方。有关如何创建 BitBake 配方的信息,请参阅Yocto 项目开发任务手册中的“编写新配方”部分。
问:重新编译软件包时,是否必须使用新的 Yocto 项目映像重新刷新整个电路板?
答: OpenEmbedded 构建系统可以构建各种格式的包,例如 OPKG 的 IPK、Debian 包 ( .deb
) 或 RPM。然后,您可以使用设备上的软件包工具升级软件包,就像在桌面发行版(例如 Ubuntu 或 Fedora)上一样。但是,目标上的包管理完全是可选的。
问:我看到错误“ ”。怎么了?chmod: XXXXX new permissions are r-xrwxrwx, not r-xr-xr-x
答:您可能正在 NTFS 文件系统上运行构建。改用 ext2
、ext3
、 或ext4
。
问:当 OpenEmbedded 构建系统尝试下载源代码时,我看到很多针对文件的 404 响应。有什么问题吗?
答:没有什么不对的。OpenEmbedded 构建系统在从上游源下载之前检查任何配置的源镜像。构建系统会搜索源档案和 SCM 管理软件的预检出版本。这些检查有助于大型安装,因为它可以减少 SCM 服务器本身的负载。上面的地址是配置到构建系统中的默认镜像之一。因此,如果上游源消失,团队可以将源放置在那里,以便构建继续工作。
问:我的包中只有一台机器的特定于机器的数据,但该包在所有情况下都被标记为特定于机器的数据,我该如何防止这种情况?