Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide ARMv6l binaries #5525

Closed
wants to merge 1 commit into from

Commits on Apr 7, 2019

  1. Provide ARMv6l binaries

    ARM is a quite popular for small computing clusters, and an interesting
    pet project to try Nomad on.
    
    Unfortunately, the current ARM builds don't run on Raspberry Pi's 1,
    Zero or Zero W as it is compiled with some operations not available
    there.
    
    When executing the current binary, you receive this message:
    
    ```
    Illegal instruction (core dumped)
    ```
    
    The difference is caused by the version of the ARM instructions are
    available on each version of the Pi.
    
    | Version     | Compiler arch              |
    |-------------+----------------------------|
    | Pi v1, Zero | armel, floating point (v6) |
    | Pi v2, v3   | armhf, floating point (v7) |
    
    Fortunately, cross-compiling using Go is not so troublesome. It is possible to
    produce an executable using the non-hf version of `gcc`.
    
    This commit introduces a new `make` target for armel binaries. It renames the
    previous one so it is clear the difference between artifacts versions.
    
    A couple of extra compilation dependencies are needed on the build machine.
    
    Tested `armel` o a Pi Zero W 1.3 and Pi 3, which executes, but there are not yet
    any jobs running. The `armel` binary should work on all Raspberry Pi models,
    while the `armhf` only works on Pi 2/3 and it is optimized.
    
    Fixes hashicorp#2517
    bltavares committed Apr 7, 2019
    Configuration menu
    Copy the full SHA
    d610c63 View commit details
    Browse the repository at this point in the history