20241223 交叉编译之Linaro
明昧 Lv7

Linaro是ARM公司发起,其他做ARM SoC公司(ARM、Freescale、IBM、三星、ST、TI 6家公司)共同投资的一个非盈利组织,在ARMRISC架构处理器的基础上,并引入和基于Linux内核,构建位于底层的Linaro平台(或称ARM平台),支持相应的Linux操作系统(按照Linaro的设想,如:Android、MeeGo、LiMo、Ubuntu、WebOS等),使其搭载开放的移动互联终端设备(如:智能手机、平板电脑、互联电视、车载信息娱乐系统等),能顺利运行和长足发展。

它的收入主要来自会员公司的会费,所以算是业界最为财大气粗的开源组织之一了。Linaro由一系列的开发组和项目组成,投资上由Board委员会控制,技术上由技术决策委员会控制(TSC),TSC会定期讨论需要成立什么项目,实现什么功能。然后分配到各个项目中。项目由Linaro的开发人员和成员公司的开发人员(称为Assignee)共同组成,根据项目要求,完成相应的开发,然后上传到Linaro自己维护的分支或者开源分支中(后者首选)。Linaro的开发成果,基本上开源。

这就是为什么你看到比较实用的ARM解决方案都是Linaro提供的,因为它代表了ARM联盟的开源软件团队。

一般来说,现在大部分软件都可以直接从主线下,他们直接就会支持ARM。但如果你要特定的新平台和新特性的支持,就可以从Linaro下。

Linaro的解决方案现在主要聚焦在云解决方案,手机解决方案,边缘解决方案(现在叫雾解决方案,从原来的LNG,网络设备解决方案发展过来),IoT,AI等领域。

Linaro另一个比较大的项目是96Board,主要工作是为ARM生态提供统一的开发板,让所有开发者“有ARM开发板可用”,最早提供的是海思的HiKey,现在已经成为Android AOSP项目的唯一的默认支持开发板。2018年香港的Linaro Connect上,Linaro宣布成立96Board.ai,一口气推出3块聚焦inference的AI开发板,分别来自瑞芯微,海思和Xilinx。

Linaro Connect是Linaro每年两次的开发者聚会,一次在欧洲或者美洲,一次在亚洲。每次会有数百人参加,但参会费用不低(2500刀一个人),有兴趣的也可以直接看Youtube上的会议视频,那个不要钱,会有很多ARM领域的最新进展和讨论。
————————————————

原文链接:https://blog.csdn.net/qq_41076734/article/details/84940621

文件的区别

这几个文件是 Linaro 发布的与 AArch64 架构相关的交叉编译工具链和运行时环境。它们包含了为该平台构建和开发程序所需的不同组件。具体来说,每个文件的区别如下:

1. gcc-linaro-12.2.1-2022.12-linux-manifest.txt

  • 类型: 文本文件
  • 内容: 这是一个清单文件,列出 gcc-linaro-12.2.1-2022.12 工具链的所有组件及其版本。它包含了该工具链中的所有文件及其路径信息,通常用于查看工具链中包含的内容。

2. gcc-linaro-12.2.1-2022.12-x86_64_aarch64-linux-gnu.tar.xz

  • 类型: 压缩文件(tar.xz)
  • 内容: 这是 Linaro 发布的完整交叉编译工具链,包含用于开发 AArch64 架构程序的 GCC 编译器、库和相关工具。
  • 用途: 安装并使用此工具链进行交叉编译,可以将程序从 x86_64 架构编译为 AArch64 架构。

3. gcc-linaro-12.2.1-2022.12-x86_64_aarch64-linux-gnu.tar.xz.asc

  • 类型: ASCII 文件(签名文件)
  • 内容: 这是 gcc-linaro-12.2.1-2022.12-x86_64_aarch64-linux-gnu.tar.xz 文件的 GPG 签名文件,用于验证下载的 .tar.xz 文件是否被篡改。
  • 用途: 使用 GPG 公钥验证下载的工具链文件是否是官方发布,确保文件的完整性和来源的可信度。

4. runtime-gcc-linaro-12.2.1-2022.12-aarch64-linux-gnu.tar.xz

  • 类型: 压缩文件(tar.xz)
  • 内容: 这是 Linaro 发布的运行时环境,包含用于 AArch64 架构的运行时库,通常是为了支持 GCC 编译器生成的程序。它可能包含标准 C 库(如 glibc)以及其他运行时依赖项。
  • 用途: 此包是运行时环境,确保编译后的程序可以在目标平台(AArch64)上正确运行。它提供了程序运行所需的必要库和依赖项。

5. runtime-gcc-linaro-12.2.1-2022.12-aarch64-linux-gnu.tar.xz.asc

  • 类型: ASCII 文件(签名文件)
  • 内容: 这是 runtime-gcc-linaro-12.2.1-2022.12-aarch64-linux-gnu.tar.xz 文件的 GPG 签名文件,用于验证下载的运行时环境文件的完整性和来源。
  • 用途: 用于确保下载的运行时环境包未被篡改。

6. sysroot-glibc-linaro-2.36-2022.12-aarch64-linux-gnu.tar.xz

  • 类型: 压缩文件(tar.xz)
  • 内容: 这是 Linaro 发布的 sysroot 包,包含用于 AArch64 架构的 glibc 系统根目录文件。它提供了一个用于交叉编译的完整环境,通常包含系统头文件、库文件和其他系统级资源。
  • 用途: 用于交叉编译时提供一个完整的目标系统环境。sysroot 是一个必要的部分,它包含了目标架构的系统库和头文件,使得交叉编译器能够在构建过程中使用这些资源。

7. sysroot-glibc-linaro-2.36-2022.12-aarch64-linux-gnu.tar.xz.asc

  • 类型: ASCII 文件(签名文件)
  • 内容: 这是 sysroot-glibc-linaro-2.36-2022.12-aarch64-linux-gnu.tar.xz 文件的 GPG 签名文件,用于验证下载的 sysroot 包是否未被篡改。
  • 用途: 确保 sysroot 包文件的完整性和来源的可信度。

总结

  • GCC 工具链(gcc-linaro-12.2.1-2022.12): 这是交叉编译所需的工具链,包含编译器及其相关工具。
  • 运行时环境(runtime-gcc-linaro-12.2.1-2022.12): 包含运行时所需的库和依赖项,用于确保编译后的程序在目标平台上能够运行。
  • Sysroot(sysroot-glibc-linaro-2.36): 为交叉编译提供目标平台的完整系统环境,包含目标架构的头文件和库。

这些文件是进行交叉编译的关键部分。您需要根据目标平台(例如 AArch64)安装这些组件,以便能够正确地编译和运行程序。

 Comments
Comment plugin failed to load
Loading comment plugin
Powered by Hexo & Theme Keep
Unique Visitor Page View