首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  C/C++/Obj-C

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

  •  
  •   dangyuluo · 41 天前 · 1507 次点击
    这是一个创建于 41 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一直以来我都有这个问题,假设我需要在 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 实在是太慢了

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

    7 回复  |  直到 2019-10-05 20:51:57 +08:00
        1
    ho121   41 天前 via Android
    用手机编译?
        2
    kljsandjb   41 天前 via iPhone
    yocto build
        3
    kljsandjb   41 天前 via iPhone
    你可以用 yocto pop 出你所要的 SDK,你说的 rootfs 其实就是这样的一个东西,提供了你所要的所有依赖,包括头文件,动态链接库等等
        4
    t123yh   41 天前 via Android
    buildroot 可以试试,比较轻量化
        5
    artandlol   41 天前 via Android
    用 arrch64 编译过一整套 HADOOP,建议是不要用模拟器去编译,会出现很多问题。
        6
    WinCloud   41 天前 via Android
    用 ubuntu-base 吧,boost 交叉编译不难的
        7
    thomaspaine   40 天前
    骚年,buildroot 了解一下
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   966 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 19ms · UTC 21:15 · PVG 05:15 · LAX 13:15 · JFK 16:15
    ♥ Do have faith in what you're doing.