Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-10263

Native toolchain support for cross compiling to produce ARM binaries

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • Impala 4.0.0
    • None
    • Infrastructure
    • ghx-label-12

    Description

      With support for ARM added to upstream Impala, it would be useful to be able to build the ARM native toolchain from an x86 machine. This would allow it to be built and uploaded to s3 using the same infrastructure that currently builds the x86 binaries. Having the ARM binaries in s3 opens up possibilities to incorporate an ARM build into GVO.

      QEMU has the ability to emulate ARM on an x86 machine, and it is surprisingly simple to get an ARM docker container running on x86. This article provides some depth:

      https://ownyourbits.com/2018/06/27/running-and-building-arm-docker-containers-in-x86/

      The basic story is that the steps are:

      1. Install qemu-user/qemu-user-static (which installs appropriate hooks in the kernel)
      2. Make qemu-aarch64-static available in the context for building the docker container
      3. In the Dockerfile, copy qemu-aarch64-static into /usr/bin

      For example, here is the start of the ubuntu1804 Dockerfile:

      FROM arm64v8/ubuntu:18.04
      
      COPY qemu-aarch64-static /usr/bin/qemu-aarch64-static
      
      # The rest of the dockerfile

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              joemcdonnell Joe McDonnell
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: