This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TDA4VM:用于 Yocto 编译 Linux SDK 8.6的 Aarch64-none-linux-gnu-工具链

Guru**** 1997805 points
Other Parts Discussed in Thread: TDA4VM
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1297542/tda4vm-aarch64-none-linux-gnu--toolchain-for-yocto-compilation-of-linux-sdk-8-6

器件型号:TDA4VM

您好、TI 专家!

客户正在使用 TDA4VM SDK8.6。

从其他相关文章中可以看出、从 SDK9.0开始、Aarch64-none-linux-gnu- toolchain 通常用于 Yocto 编译 Linux。

由于我的客户已将 SDK8.6用于大规模生产、因此他们很难将 SDK 升级到9.0。

他们想要使用  aarch64-none-linux-gnu-工具链的原因是、该工具链独立于平台选择、并具有更好的 Linux 兼容性。

实际上、客户已经尝试使用 aarch64-none-linux-gnu- toolchain for Yocto build on SDK8.6一段时间。 没有编译 错误。 但是、在 Yocto 编译完成后、当他们运行工具链时、会出现工具链 SDK 库兼容性错误。 经过仔细研究、Yocto 在 SDK 8.6中构建的工具链库与  Aarch64-none-linux-gnu- toolchain 库本身不兼容、尤其是对于 glibc 库

我想知道 使用 Aarch64-none-linux-gnu- toolchain 编译 SDK8.6是否可行?

非常感谢!

凯文

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kevin:

    您运行工具链的具体意思是什么? 他们是否尝试在主机上交叉编译二进制文件/软件包、然后在 TDA4VM 上运行?

    如果是、他们的 Yocto 编译是否使用相同版本的 aarch64-none-linux-gnu-工具链、就像他们交叉编译其他东西时一样?

    此致!
    杰瑞德

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Jared:

    感谢您的回复!

    我的帖子中有一些误解描述、下面我将详细说明。

    在  TDA4VM 上使用 Linux SDK8.6 Yocto build for Aarch64-none-linux-gnu- toolchain 后、它将生成如下所示的工具链 SDK 文件。  

    我们发现此生成的 sagos-sdk-toolchain-V1.0.2.0-2023.11.29.sh 与不同 Ubuntu 版本存在兼容性问题。 当它在 ubuntu tu18.04上运行时,没有问题。 但是,当它在 ubusbundu22.04上运行时,将会出现一些兼容性错误。  

    客户想要实现的是,他们希望这个生成的工具链 SDK (由 SDK8.6 Yocto 构建)也可以在 ubuspu 22.04上运行。  

    但是,在仔细研究之后,Yocto 在 SDK 8.6中构建的工具链库不兼容,不能在 ubusbo 22.04上运行,特别是对于  glibc 库

    请问是否有可行性呢?  

    谢谢!

    凯文

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kevin:

    是否可以发送 toochain 脚本所在的文件路径? 当我构建 tisdk-default-image 时、我在任何地方都没有看到工具链脚本。

    此外、我认为客户无法运行这些脚本、除非他们能够解决所有因尝试在22.04上运行18.04代码而引起的版本依赖问题。 我能想到的最佳解决方案是在 Ubuntu 22.04系统上的 Ubuntu 18.04 Docker 容器内运行脚本。

    此致!
    杰瑞德

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Jared:

    感谢您的答复和建议!

    构建的工具链脚本的路径为 deploy/sdk。 (客户正在使用 FULSE_SDK 模式)

     容器 方法是客户当前使用的方法、是的、它运行良好。

    但是,使用容器时,性能不如直接在 ubuntu 22.04上运行时好。  

    客户建议实现这一目标、他们应尝试使工具链 SDK 包含所有需要的软件包、例如独立的环境路径。 则理论上 、它可以与主机完全隔离。

    当前的挑战是电池的  glibc 库兼容性问题 不能解决,所以他们 还没有成功。

    因此、客户可能也希望从 TI 一方获得关于这种可行性的建议。

    非常感谢!

    凯文  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kevin:

    让我来谈谈我们的开发人员、看看这是否可行。

    与此同时、如果在9.0 SDK 中生成 toolchain 脚本、那么它是否仍可用于8.6个应用程序?

    此致!
    杰瑞德

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Jared:

    感谢您的回复!

    由于我的客户正在将 SDK8.6用于大规模生产、因此我们还没有尝试使用 SDK9.0。

    期待我们的开发人员作出回应!

    此致、

    凯文

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kevin:

    我收到了开发人员的反馈、他们建议使用容器。  我不知道为什么客户看到运行容器时出现性能问题。

    另一种解决方案是将机器降至18.04、但我假设客户尝试避免这种情况。

    此致!
    杰瑞德