我想为raspberrypi制作交叉编译环境。现在我有带有基于qemu-arm的交叉编译环境的VM(基于这文章),而且速度非常慢。
我认为本机 i386 编译器可以为不同的体系结构生成可执行文件,它只需要工具链和正确配置的 make.conf,但我可能是错的。
也许有人知道如何配置系统以进行交叉构建?
- 主机系统:vm i386 上的 freebsd 11
- 目标:freebsd 11 armv6hf
感谢您的解答!
答案1
已经有一个可用于 FreeBSD 11 的交叉编译器。
您可以在 i386 或 amd64 主机上尝试 gnatcross-aarch64 端口。
您可能想从端口编译所有 gnatcross 位。有两个项目可以使用 pkg 安装。只需执行“pkg search gnatcross”,它就会列出它们。
使用 FreeBSD 11 可能会出现问题,因为它不适用于 Raspberry PI 3。您可能需要修改 gnatcross-* 套件才能使用 FreeBSD 12 文件。我摆弄了一下,并用所需的 v12 文件(base.txz)增加了 distfiles 缓存。我更改了我使用的端口的名称。我将名称缩短为 gx-* 而不是 gnatcross-*
gnatcross 之所以出名是因为它包含 Ada 编译器。
在 FreeBSD 环境中创建交叉编译器有多种技巧。你可以试试这个。
答案2
我有一个 VPS,我将它与 poudriere 一起使用(请参阅这里)。我认为这是最简单的解决方案。