2

Is it possible to compile a Package on ARMv8 and run it on ARMv7 ?

I am not really experienced in the whole building thing (yet). I came to this question because my Odroid C1+ fails to compile icinga2 due to the very limited RAM. The C2 has 2 GB of RAM and will do probably better at this task.

But can I run a C2 (ARMv8) compiled package on my C1+ (ARMv7)?

4

1 回答 1

3

是否可以在 ARMv8 上编译一个包并在 ARMv7 上运行它?

这称为交叉编译,是生成 ARM 代码的常用方式——只是现在大多数 ARM 二进制文件的构建机器可能是 x86_64。但是,如果您有一个针对在 ARMv8 上运行的平台 ARMv7 的编译器,我认为没有问题。

我在整个建筑方面还没有真正的经验(还)。我来这个问题是因为我的 Odroid C1+ 由于 RAM 非常有限而无法编译 icinga2。C2 有 2 GB 的 RAM,在这项任务上可能会做得更好。

你知道什么在编译方面要好得多吗?具有超过 4GB RAM、海量 RAM 带宽和更高存储带宽的适当 PC,具有高度流水线的多核 CISC CPU,而不是节能 ARM。

实际上,嵌入式系统的软件通常构建在具有交叉编译器的非嵌入式计算机上。在 PC 上为 C1+ 进行交叉编译肯定有不同的方法;我通常建议使用您的 Linux 发行版(如果您正在使用)具有交叉编译包的方法。

ARMv7 是与 ARMv8 不同的平台,因此在 v8 上从 ARMv7 编译软件与在 x86 上为 ARMv7 编译软件相比没有优势。无论如何,您将需要一个交叉编译工具链。

于 2016-05-07T22:22:57.483 回答