如何最快地准备交叉编译 target arch rootfs?

2019-10-04 06:28:11 +08:00
 dangyuluo

一直以来我都有这个问题,假设我需要在 x8664 下交叉编译 aarch64 的应用,那么要使用aarch64-linux-gnu-gcc配合aarch64的 ROOTFS,which 包含了 /usr, /opt, /var 等一系列根目录文件系统。目前我知道的取得 rootfs 的做法有

  1. 直接下载 ubuntu-base,本身就是一个 rootfs,但是缺少我需要的库,比如 Boost。
  2. 找一台 aarch64 机器,安装 ubuntu aarch64,配置好所有的库后再把根目录拷贝出来。这个方法的问题就是慢,不好自动化。
  3. 用 Qemu+Docker 在 x8664 机器上生成一个镜像,再拷贝出根目录下的文件。问题就是 qemu 模拟 aarch64 实在是太慢了

请问大家有什么又快又稳的办法么?谢谢。

4072 次点击
所在节点    C
7 条回复
ho121
2019-10-04 08:21:11 +08:00
用手机编译?
kljsandjb
2019-10-04 08:29:24 +08:00
yocto build
kljsandjb
2019-10-04 08:31:24 +08:00
你可以用 yocto pop 出你所要的 SDK,你说的 rootfs 其实就是这样的一个东西,提供了你所要的所有依赖,包括头文件,动态链接库等等
t123yh
2019-10-04 09:03:32 +08:00
buildroot 可以试试,比较轻量化
artandlol
2019-10-04 20:49:07 +08:00
用 arrch64 编译过一整套 HADOOP,建议是不要用模拟器去编译,会出现很多问题。
WinCloud
2019-10-04 21:36:07 +08:00
用 ubuntu-base 吧,boost 交叉编译不难的
thomaspaine
2019-10-05 20:51:57 +08:00
骚年,buildroot 了解一下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/606225

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX