Yocto 获取SDK(一)

240 篇文章 11 订阅
30 篇文章 3 订阅

1. 查找预构建的SDK安装程序

可以通过查找和运行Yocto Project附带的SDK安装脚本来使用现有的预构建的工具链。使用此方法,可以选择并下载特定体系结构的SDK安装程序,然后运行脚本以手动安装工具链。
以下这些步骤用于查找和手动安装工具链:

  1. 跳转到安装程序目录
  2. 打开用于构建主机的文件夹:打开与构建主机匹配的文件夹(即,对于32位计算机,为i686;对于64位计算机,为x86_64)
  3. 查找并安装SDK安装程序:需要查找并下载相应的安装程序以用于构建主机,目标硬件和镜像类型
    安装程序文件(* .sh)遵循如下命名约定:

poky-glibc-host_system-core-image-type-arch-toolchain[-ext]-release.sh

Where:
    host_system is a string representing your development system:
           "i686" or "x86_64"

    type is a string representing the image:
          "sato" or "minimal"

    arch is a string representing the target architecture:
           "aarch64", "armv5e", "core2-64", "coretexa8hf-neon", "i586", "mips32r2",
           "mips64", or "ppc7400"

    release is the version of Yocto Project.

    NOTE:
       The standard SDK installer does not have the "-ext" string as
       part of the filename.

Yocto项目提供的工具链基于core-image-satocore-image-minimal镜像,并且包含适合针对这些镜像进行开发的库。

例如,如果构建主机是64-bit x86系统,并且需要用于64-bit core2目标的扩展SDK,请进入x86_64文件夹并下载以下安装程序:

poky-glibc-x86_64-core-image-sato-core2-64-toolchain-ext-DISTRO.sh
  1. 运行安装程序: 确保具有执行权限并运行安装程序。以下示例来自 Downloads目录:
$ ~/Downloads/poky-glibc-x86_64-core-image-sato-core2-64-toolchain-ext-DISTRO.sh

在执行脚本的过程中,选择工具链的根目录。有关更多信息,请参见"已安装的标准SDK目录结构"部分和“已安装的可扩展SDK目录结构”部分。

2. 构建一个SDK安装程序

除了查找和下载SDK安装程序之外,还可以生成SDK安装程序。按照以下步骤:

  1. 设置构建环境: 确保你的设置在shell中可以使用BitBake。请在《 Yocto项目开发任务手册》的“ 准备构建主机 ”部分获取有关如何准备本机Linu或使用CROPS构建主机的相关内容。

  2. 克隆“ poky”存储库: 需要具有Yocto Project Source Directory的本地副本(即本地poky存储库)。 请参阅《Yocto项目开发任务手册》中的“克隆poky存储库”部分,以及可能的“ poky中按分支检出”和“poky中按标签检出”部分,以获取有关如何克隆poky存储库和检出poky存储库的信息。

  3. 初始化构建环境:在源目录的根目录(即poky)中,运行oe-init-build-env环境设置脚本以在构建主机上定义OpenEmbedded构建环境。

    $ source oe-init-build-env
    

    除其他外,该脚本会创建“构建目录”,在本例中为“构建目录”,位于“源目录”中。 脚本运行后,当前的工作目录将被设置为构建目录。

  4. 确保正在为正确的机器构建安装程序:检查并确保“构建目录”中local.conf文件中的MACHINE变量与要构建的体系结构匹配。

  5. 确保SDK机器设置正确: 如果要构建与当前开发主机(即构建主机)不同的体系结构上运行的工具链,请确保正确设置了构建目录中local.conf文件中的SDKMACHINE变量。

    注意
    如果要为可扩展SDK构建SDK安装程序,则SDKMACHINE必须为所使用的计算机的体系结构设置值用于构建安装程序。 如果SDKMACHINE设置不正确,构建将失败并提供错误消息类似于以下内容:
    
    The extensible SDK can currently only be built for the same architecture as the machine being built on - SDK_ARCH is set to i686 (likely via setting SDKMACHINE) which is different from the architecture of the build machine (x86_64).
    Unable to continue.
    
    
  6. 构建SDK安装程序: 要为标准SDK构建SDK安装程序并填充SDK映像,请使用以下命令形式。 确保完成了镜像替换(例如“ core-image-sato”):$ bitbake image -c populate_sdk,你可以使用以下命令形式对可扩展SDK执行相同的操作:

    $ bitbake image -c populate_sdk_ext
    

    这些命令将生成一个包含与你的目标根文件系统匹配的sysroot的SDK安装程序。当 bitbake完成后,SDK安装程序会放在 tmp/deploy/sdk构建目录中。

    注意
     默认情况下,先前的BitBake命令不会静态生成二进制文件。如果想使用工具链来构建这些类型的库,则需要确保SDK具有适当的静态开发库。在构建SDK安装程序之前需要在local.conf文件中添加TOOLCHAIN_TARGET_TASK变量。这样可以确保最终的SDK安装过程将安装适当的库软件包作为SDK的一部分。以下是使用libc静态开发库的示例:TOOLCHAIN_TARGET_TASK_append =”libc-staticdev”
    
  7. 运行安装程序: 现在可以从tmp/deploy/sdk构建目录中运行SDK安装程序。以下是一个示例:

    $ cd ~/poky/build/tmp/deploy/sdk
    $ ./poky-glibc-x86_64-core-image-sato-core2-64-toolchain-ext-DISTRO.sh
    

    在执行脚本的过程中,选择工具链的根目录。有关更多信息,请参见"已安装的标准SDK目录结构"部分和“已安装的可扩展SDK目录结构”部分。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值