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

Running IoTEdge modules on arm64 architecture #40

Closed
Shrunoti opened this issue Jul 19, 2018 · 5 comments
Closed

Running IoTEdge modules on arm64 architecture #40

Shrunoti opened this issue Jul 19, 2018 · 5 comments
Labels

Comments

@Shrunoti
Copy link

Shrunoti commented Jul 19, 2018

Hi,

I am trying to run modules with IoTEdge on a Nvidia Jetson TX2 hardware with arm64 architecture.

With iotedge v1 by selecting image - azureiotedge-agent:1.0.0-preview022-linux-arm32v7
while setting up iotedgectl I was able to work it out.

I want to setup Iotedge GA with the Jetson (arm64 ). Is there any way to do so?

@darobs
Copy link
Contributor

darobs commented Jul 19, 2018

Hello @Shrunoti

To be clear, we still don't officially support ARM64, but it seems to be running. I have a couple of options for you:

In case you want to use the 1.0 bits with iotedgectl, then you will have to set a couple of environment
variables that are not being set anymore. To do that, set the following in the EdgeHub CreateOptions > during the deployment - {"HostConfig":{"PortBindings":{"8883/tcp":[{"HostPort":"8883"}],"443/tcp":[{"HostPort":"443"}],"5671/tcp":[{"HostPort":"5671"}]}},"Env":["SSL_CERTIFICATE_PATH=/mnt/edgehub","SSL_CERTIFICATE_NAME=edge-hub-server.cert.pfx"]}

This will set environment variables for the path that the EdgeHub should use. In case you have provided your own certificate (Gateway scenario), then use that certificate name instead. We are fixing the Edge runtime so that this should not be needed, but that will not be available till the next release. So this is a workaround till then. Note: This workaround is not needed for 1.0-preview bits.
--

One thing I have not been able to try (I don't have an ARM64 platform to experiment with) is running the ARM32 bits on an ARM64 device. This is optionally supported is some systems.

Is this enough to start? Need more information?

@Shrunoti
Copy link
Author

Hi,
Thank you.
I think I am to going to try re-building iotedged for ARM64. Can you just brief me about how to get going with the rebuilding for specific architecture?

@darobs
Copy link
Contributor

darobs commented Jul 23, 2018

The iotedged executable is built via Rust. You can get it on the native platform, or cross-compile using the "cross" tool.

Clone this repository recursively. (git clone --recursive)
I would recommend installing Rust via rustup.
If you choose to cross-compile, we use the cross tool. If you're lucky - and I'm wishing you all the best - following the Cross instructions, it should "just work".

You should be able to run edgehub and edgeagent "as is" from the containers, but the target platform there is ARM32 as well, and ARM64 is not supported.

@myagley myagley added the enhancement New feature or request label Jul 24, 2018
@krunallokhande
Copy link

Hi @darobs ,

Can we have IoT Edge GA setup with support for ARM32 or ARM64, since we are not able to install the IoT Edge GA itself on ARM64, whereas the preview version is working on the same?

@lt72
Copy link

lt72 commented Oct 30, 2019

@krunallokhande Closing this issue as it seems stale. Please feel free to re-open in case.

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

No branches or pull requests

6 participants