linux - 在 Yocto Build 中包含应用程序镜像

标签 linux yocto

我觉得我已尽最大努力为此搜索答案,但不可否认,也许我没有使用正确的搜索键。

我正在使用 Yocto 构建一个 Linux 内核,我可以看到将行 IMAGE_INSTALL_append 添加到 local.conf,然后是您想要包含的附加图像是包括 connmandropbear 等内容的方式。没问题。

我想要做的是包含我编写的应用程序的图像。我们将其命名为 HelloWorld.exe,我希望将其放入自己的目录 (MyHello) 以及一个子目录中,该子目录还包含一些文件HelloWorld 操作所必需的。

我确信有不同的方法可以做到这一点,但我只需要一种。我需要知道:

  1. 我应该将 HelloWorld.exe 及其附属文件和子目录放置在我的 Ubuntu 系统中的什么位置,它们将在构建过程中被拾取并包含在镜像中?
  2. 我如何更改 local.conf 以确保最终图像将包括我的应用程序及其支持文件和目录,我需要它在目标上?

谢谢。标记

最佳答案

我相信在 Yocto 中它变得有点复杂:

  1. 您需要创建您的 own layer .让我们说 meta-hello。此文件夹需要与所有其他 meta 层以及您的 poky 目录位于同一位置。

  2. 您需要在 bblayers.conf 文件中启用该层。为此,您可以使用 bitbake-layers add-layer/path/to/meta-hello

  3. 现在在您的 meta-hello 文件夹中创建一个食谱 recipes-hello/hello

  4. 您的 hello.bb 文件位于上述文件夹中,您可以决定使用 automakemakefile 或编译它相应地使用 Dev Manual Here

  5. 完成后,在您的 BUILD 目录中执行 bitbake hello,这将编译并提供错误(如果有)。解决它们,一旦编译成功,在 local.conf 文件中添加 IMAGE_INSTALL_append = "hello"

这是一种方法。另一个使用 ADT Yocto Workflow 有点复杂

很抱歉,没有更简单的方法来解决这个问题,因为 Yocto 确实有一个陡峭的学习和开发曲线。

实例

  • 您可以查看 Boundary Devices 发表的这篇博文它创建了一个简单的 daemonize automake 示例。你也可以在 GitHub 上找到它。

devtools 工作流程

Youtube Video by Tim Orling from Intel on devtools workflow

打包外部二进制文件

对于这种情况,请使用 Binaries Installation in Mega Manual

关于linux - 在 Yocto Build 中包含应用程序镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50220126/

相关文章:

linux - 使用此语法分配 bash 变量值时有什么区别?

linux - 运行多线程应用程序的新四核处理器中的 linux 内核有多好

linux - 在 Yocto 中提取 Linux 源代码的命令

linux - Yocto 汇编

linux - MACHINE_EXTRA_RDEPENDS 对比 MACHINE_ESSENTIAL_EXTRA_RDEPENDS

c++ - 如何使用 LDAP 对用户进行密码验证?

regex - 如何只查找包含两个连续元音的行

c - 错误 : assignment of member ai_family in read-only object

linux - Yocto 减少 libicudata 大小

linux - 无法在 yocto 中安装共享库