Skip to content

lack of binaries for aarch64-linux-gnu #3745

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

Closed
idanre1 opened this issue Oct 22, 2017 · 23 comments
Closed

lack of binaries for aarch64-linux-gnu #3745

idanre1 opened this issue Oct 22, 2017 · 23 comments

Comments

@idanre1
Copy link

idanre1 commented Oct 22, 2017

Basic Infos

git://github.com/esp8266/Arduino/tools/get.py does not really support aarch64-linux-gnu.

Hardware

Hardware: ESP-01
Core Version: 2.4.0-rc2

Description

git://github.com/esp8266/Arduino/tools/get.py does not really support aarch64-linux-gnu.
I am using dragonboard 410c as a host with debian.
The OS is compiled for aarch64-linux-gnu.
the script does not recognize the os type as aarch64.
Also there are no binaries for this compilation under package/package_esp8266com_index.template.json

Settings in IDE

Issue exists in installation phase, didn't reached IDE phase yet

@devyte
Copy link
Collaborator

devyte commented Oct 24, 2017

@idanre1 I could be wrong, but I don't think that is a platform that is widely used here. Feel free to propose a PR.

@devyte devyte added the waiting for feedback Waiting on additional info. If it's not received, the issue may be closed. label Oct 24, 2017
@idanre1
Copy link
Author

idanre1 commented Oct 24, 2017 via email

@vdeconinck
Copy link
Contributor

PR = Pull Request : https://help.github.com/articles/about-pull-requests/

@devyte
Copy link
Collaborator

devyte commented Oct 25, 2017

You can find tutorials online for github. An outline off the top of my head:

  • Fork this repo
  • create a branch within the fork
  • clone locally
  • make changes for your request above and commit to branch
  • make the PR
  • once merged, delete the branch

@igrr
Copy link
Member

igrr commented Oct 25, 2017 via email

@idanre1
Copy link
Author

idanre1 commented Oct 26, 2017 via email

@devyte devyte removed the waiting for feedback Waiting on additional info. If it's not received, the issue may be closed. label Nov 1, 2017
@lobradov
Copy link
Contributor

Bump - any news on this front? I'm also interested in aarch64 - just got a bunch of Orange Pi Prime boards that I can't use...

@igrr
Copy link
Member

igrr commented Dec 29, 2017

FYI, I don't think any of the active contributors is working on this (or has hardware to test this). As mentioned above, making PRs to the relevant tool repositories (esptool-ck, mkspiffs) to support aarch64 builds can help a lot!

@devyte
Copy link
Collaborator

devyte commented Dec 29, 2017

Previous comment is correct. No active developer works on aarch64.
I think the critical point is building the xtensa toolchain. Whoever picks that up could also help getting an updated toolchain for everyone else (i.e.: more recent gcc!).

@igrr
Copy link
Member

igrr commented Dec 29, 2017

I think I can do the "more recent GCC" part, but if someone can post the right configuration for a Canadian build for aarch64 with crosstool-NG (preferably in Docker), that will be a great step towards having aarch64 support. Same for arm (v6/v7), by the way.

@herrold
Copy link
Contributor

herrold commented Dec 29, 2017

I went looking for the board, as it was unfamiliar here. I find this, and leave it as an aide for future work

at Amazon

  1. This DragonBoard 410C features Qualcomm Snapdragon 410 Processor and is compliant with 96Boards specification

  2. 96Boards is a 32-bit and 64-bit arm open specification maintained by the linaro 96Boards group to serve the software/maker and embedded OEM communities

@idanre1
Copy link
Author

idanre1 commented Dec 29, 2017

Hi
I am very excited this topic interests more people 👍

For more info on dragonboard you can goto DB410c landing page: https://www.96boards.org/product/dragonboard410c/
You can flash the boards with a debian linux distributed by linaro team.
I own such a board and doing some IOT hobby development using it.

In my training I am a HW guy now a SW, but maybe the info below can help the experts:

The board can compile C,C++ out of the box with linaro distribution.
When I do apt-cache policy I see:
500 http://obs.linaro.org/linaro-overlay-stretch/Debian_9.0 ./ Packages
release o=obs://private/linaro-overlay-stretch/Debian_9.0,n=Debian_9.0,l=linaro-overlay-stretch,c=
origin obs.linaro.org
500 http://obs.linaro.org/qcom/stretch ./ Packages
release o=obs://private/qcom/stretch,n=stretch,l=qcom,c=
origin obs.linaro.org
500 http://deb.debian.org/debian stretch/non-free arm64 Packages
release v=9.2,o=Debian,a=stable,n=stretch,l=Debian,c=non-free,b=arm64
origin deb.debian.org
using apt-cache search libgcc I get many GCCs compiled to aarch64

You mentioned docker, there are docker images for aarch64 at: https://hub.docker.com/u/aarch64/
I used the ubuntu image: sudo docker run -it aarch64/ubuntu /bin/bash

You also mentioned cross compile to aarch64, linaro posted a tutorial for doing it from a x86 linux machine: https://www.96boards.org/blog/cross-compile-files-x86-linux-to-96boards/

Given that, I still lack much info in order to do the necessary tasks for enabling esp8266 compilation for aarch64.

Regards
Idan

@herrold
Copy link
Contributor

herrold commented Dec 29, 2017

@idanre1

The topic is interesting in several ways, but as others implied, getting a cross build platform is the focus here, rather than generally using the SOC -- system on chip -- boards

I have several of the small ARM based units, and as you point out Ambian and other distributions exist. It is generally held (I disagree, as I started in a different era, compiling for the M6800 on a s/370 mainframe) that cross-compiling to a target architecture is less 'good' than 'naively compiling'

There are more widely used (Raspberry Pi), or less expensive (Orange Pi) SOC's around to also approach this goal -- the unit you cited has present and strong (it seems) IoT use case support with one of the 'biggies' behind it, and as I pointed out is available for purchase from a large distribution company as well

But solving and documenting an updated GCC compile issue is the interest, I think, here

@lobradov
Copy link
Contributor

lobradov commented Dec 30, 2017 via email

@lobradov
Copy link
Contributor

lobradov commented Dec 30, 2017 via email

@igrr igrr added this to the 2.5.0 milestone Mar 15, 2018
@igrr igrr self-assigned this Mar 15, 2018
@swarren
Copy link
Contributor

swarren commented Mar 15, 2018

This bug relies/depends on arduino/Arduino#7302 (AArch64 support for the Arduino IDE itself).

@probonopd
Copy link
Contributor

There is now an Arduino IDE for aarch64 beta available from the Arduino.cc download page. It runs well for me after having installed openjdk-8-jre and deleting the java directory that came with the Arduino IDE like this:

sudo apt install openjdk-8-jre
rm -rf Downloads/arduino-PR-beta1.9-BUILD-87/java

However esp8266 seems not to be available for aarch64 yet.

@devyte
Copy link
Collaborator

devyte commented Nov 1, 2018

To be clear, there is no ongoing work by the currently active maintainers to port the core to aarch64, and there is no plan for it either. As a precursor, at the very least the toolchain must be ported first, so until that happens nothing will happen here.

@devyte devyte assigned earlephilhower and unassigned igrr Nov 27, 2018
@devyte
Copy link
Collaborator

devyte commented Nov 27, 2018

The status of this has changed due to ongoing toolchain update work.

@earlephilhower
Copy link
Collaborator

Check out PR #5376 which has a toolchain compiled for aarch64. I can't do any testing, and I am not sure I got the arduino host type name right in the get.py json file, so any testing would be helpful to make it happen.

@earlephilhower
Copy link
Collaborator

Closed via #5376 .

@probonopd
Copy link
Contributor

probonopd commented Dec 4, 2018

Thanks @earlephilhower. Does this mean that esp8266 is available for aarch64 now?

@earlephilhower
Copy link
Collaborator

I'm building aarch64 compiler/etc. now, but can't test. Give the git head a go (it's not yet an official release).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants