Intel Edison support


#1

I’m evaluating resin.io right now, testing it with a Edison board.
I’ve tried to deploy the simple-server-python example, but the application does not start. Looking to the logs in my dashboard I see:

31.10.15 14:45:52 [+0100] Failed to start application 'registry.resin.io/test/7c39f6985fcf57bcd9de2d0af7c17b98c7fef446' due to 'Cannot start container ef91b342d777ce0ac1e51af4e8350cfec27046b9ef043e8ff74305e1b8d57ff4: exec format error '

and looking to the build output I see:

arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c markupsafe/_speedups.c -o build/temp.linux-armv7l-2.7/markupsafe/_speedups.o
unable to execute 'arm-linux-gnueabihf-gcc': No such file or directory

Something weird here: why is it invoking arm-linux-gnueabihf-gcc if the target is an Intel Edison?


#2

Hey, so the issue is that in the dockerfile (https://github.com/resin-io-projects/simple-server-python/blob/master/Dockerfile) it uses FROM resin/armv7hf-debian:latest which means the base image is using the armv7hf architecture. If you change it to resin/i386-debian or resin/edison-debian then you’ll find that it works.

If you check out https://github.com/resin-io-projects/resin-openssh/blob/master/Dockerfile.template it’s also possible to use a Dockerfile.template and specify it as FROM resin/%%RESIN_MACHINE_NAME%%-debian and it will automatically work across device types for you :slight_smile:


#3

Thank you, I didn’t notice it!