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

rkt run: unable to run image with architecture armhf (on armhf/armv7l) #730

Closed
yarwelp opened this Issue Apr 5, 2015 · 20 comments

Comments

Projects
None yet
5 participants
@yarwelp

yarwelp commented Apr 5, 2015

Hello,

Background: Continuing from appc/spec#284, I created an app container manually using sudo tar cvf django-timelog.tgz manifest rootfs/.

Attempting sudo ~/go/src/github.com/coreos/rkt/bin/rkt run django-timelog.aci gives me:

bad arch "armhf" for linux (must be one of: [amd64 i386])

Now, while I know that, as per the README, only amd64 Linux is officially supported, I was wondering if you could give me an idea of the amount of work required in order to run on armhf/armv7l? Is there any inherent limitation or is it just hard coded to say this because amd64 and i386 are the only officially supported architectures for app container images?

I am running Lubuntu 14.04.2 on the ODROID-XU3.

Regards,

Erik Nordstroem

@yarwelp yarwelp changed the title from rkt run: unable to run image with architecture armhf (on armhf) to rkt run: unable to run image with architecture armhf (on armhf/armv7l) Apr 5, 2015

@philips

This comment has been minimized.

Show comment
Hide comment
@philips

philips Apr 6, 2015

Contributor

What does go env | grep GOARCH report for this architecture? Then we just need to add that here: https://github.com/appc/spec/blob/master/schema/types/labels.go#L9

Contributor

philips commented Apr 6, 2015

What does go env | grep GOARCH report for this architecture? Then we just need to add that here: https://github.com/appc/spec/blob/master/schema/types/labels.go#L9

@yarwelp

This comment has been minimized.

Show comment
Hide comment
@yarwelp

yarwelp Apr 6, 2015

Hi @philips, thank you for the reply.

go env | grep GOARCH

GOARCH="arm"

Tested the fix you suggested for appc/spec#284, it works so I made a Pull Request with the changes.

Do not have time to see how this affects the issue here in rkt right now (am in TZ Europe/Oslo, am going to sleep soon) but will look at it more after I wake up again.

yarwelp commented Apr 6, 2015

Hi @philips, thank you for the reply.

go env | grep GOARCH

GOARCH="arm"

Tested the fix you suggested for appc/spec#284, it works so I made a Pull Request with the changes.

Do not have time to see how this affects the issue here in rkt right now (am in TZ Europe/Oslo, am going to sleep soon) but will look at it more after I wake up again.

@yarwelp

This comment has been minimized.

Show comment
Hide comment
@yarwelp

yarwelp Apr 6, 2015

I forgot to update the tests. Will do that as well.

yarwelp commented Apr 6, 2015

I forgot to update the tests. Will do that as well.

@yarwelp

This comment has been minimized.

Show comment
Hide comment
@yarwelp

yarwelp Apr 6, 2015

Updated the tests and added a note to the pull request.

yarwelp commented Apr 6, 2015

Updated the tests and added a note to the pull request.

@yarwelp

This comment has been minimized.

Show comment
Hide comment
@yarwelp

yarwelp Apr 6, 2015

Link to pull request: appc/spec#285

yarwelp commented Apr 6, 2015

Link to pull request: appc/spec#285

@DieterReuter

This comment has been minimized.

Show comment
Hide comment
@DieterReuter

DieterReuter Apr 6, 2015

@erikano, I've just successfully tested and can confirm this PR works on a ARMv7 server at Scaleway cloud.

DieterReuter commented Apr 6, 2015

@erikano, I've just successfully tested and can confirm this PR works on a ARMv7 server at Scaleway cloud.

@philips

This comment has been minimized.

Show comment
Hide comment
@philips

philips Apr 6, 2015

Contributor

We will get this fixed up. I would be interested to hear what you two are doing with rkt on ARM. Maybe email the rkt-dev@googlegroups.com list? :)

Contributor

philips commented Apr 6, 2015

We will get this fixed up. I would be interested to hear what you two are doing with rkt on ARM. Maybe email the rkt-dev@googlegroups.com list? :)

philips added a commit to philips/spec that referenced this issue Apr 6, 2015

@jonboulle

This comment has been minimized.

Show comment
Hide comment
@jonboulle

jonboulle Apr 6, 2015

Contributor

@erikano / @DieterReuter as well as GOARCH, what is GOARM set to on your systems? https://github.com/golang/go/wiki/GoArm#supported-architectures

Contributor

jonboulle commented Apr 6, 2015

@erikano / @DieterReuter as well as GOARCH, what is GOARM set to on your systems? https://github.com/golang/go/wiki/GoArm#supported-architectures

@DieterReuter

This comment has been minimized.

Show comment
Hide comment
@DieterReuter

DieterReuter Apr 6, 2015

@jonboulle, GOARCH is set to "arm", GOARM isn't set by default. On the Scaleway servers I just use the defaults, but when building binaries for use on a Raspberry Pi I always use GOARM=6.

DieterReuter commented Apr 6, 2015

@jonboulle, GOARCH is set to "arm", GOARM isn't set by default. On the Scaleway servers I just use the defaults, but when building binaries for use on a Raspberry Pi I always use GOARM=6.

@yarwelp

This comment has been minimized.

Show comment
Hide comment
@yarwelp

yarwelp Apr 6, 2015

@jonboulle, my computer being an ARMv7 one, I would've had GOARM=7 had I compiled from source, as I understand it, but I'm using Go from Ubuntu package repositories, so the variable is not set.

yarwelp commented Apr 6, 2015

@jonboulle, my computer being an ARMv7 one, I would've had GOARM=7 had I compiled from source, as I understand it, but I'm using Go from Ubuntu package repositories, so the variable is not set.

@yarwelp

This comment has been minimized.

Show comment
Hide comment
@yarwelp

yarwelp Apr 6, 2015

@philips I attempted to post to the mailing list and first got an auto-reply that I needed to sign up. I signed up and resent the same message but didn't see it in the list after a little while, so I made it as a new e-mail and edited it a bit while doing so then sent the new mail. Still can't see it. I'll wait until tomorrow before I do anything more about the mail. If it still isn't there tomorrow, I'll post it somewhere else and give you a link to it.

yarwelp commented Apr 6, 2015

@philips I attempted to post to the mailing list and first got an auto-reply that I needed to sign up. I signed up and resent the same message but didn't see it in the list after a little while, so I made it as a new e-mail and edited it a bit while doing so then sent the new mail. Still can't see it. I'll wait until tomorrow before I do anything more about the mail. If it still isn't there tomorrow, I'll post it somewhere else and give you a link to it.

@yarwelp

This comment has been minimized.

Show comment
Hide comment
@yarwelp

yarwelp Apr 6, 2015

@philips I looked some more at what may have gone wrong with my e-mail and it seems that I've had partly broken SPF records for my mail server for a while. I fixed it now, I think, so in the future any mail I send should get through. It is possible that you list owners can see my message to the list in Google Groups under Pending Messages. If you see two messages, delete the oldest one and let the newer one through. If you see only one message, please delete it since we can't know which one it is and I'll resend it after you let me know. If you see no messages, please let me know and I'll test some more before resending. Sorry for the inconvenience.

yarwelp commented Apr 6, 2015

@philips I looked some more at what may have gone wrong with my e-mail and it seems that I've had partly broken SPF records for my mail server for a while. I fixed it now, I think, so in the future any mail I send should get through. It is possible that you list owners can see my message to the list in Google Groups under Pending Messages. If you see two messages, delete the oldest one and let the newer one through. If you see only one message, please delete it since we can't know which one it is and I'll resend it after you let me know. If you see no messages, please let me know and I'll test some more before resending. Sorry for the inconvenience.

@jonboulle

This comment has been minimized.

Show comment
Hide comment
@jonboulle

jonboulle Apr 21, 2015

Contributor

Sorry for the delay, but happy to report we finally heard back from ARM and have a proposed solution here - appc/spec#304

Contributor

jonboulle commented Apr 21, 2015

Sorry for the delay, but happy to report we finally heard back from ARM and have a proposed solution here - appc/spec#304

@yarwelp

This comment has been minimized.

Show comment
Hide comment
@yarwelp

yarwelp Apr 25, 2015

@jonboulle, thanks for letting me know :)

yarwelp commented Apr 25, 2015

@jonboulle, thanks for letting me know :)

@jonboulle jonboulle added this to the v0.6.0 milestone Apr 25, 2015

@jonboulle

This comment has been minimized.

Show comment
Hide comment
@jonboulle

jonboulle Apr 25, 2015

Contributor

This just needs the spec to be bumped to resolve this in rkt.

Contributor

jonboulle commented Apr 25, 2015

This just needs the spec to be bumped to resolve this in rkt.

@jonboulle jonboulle modified the milestones: v0.6.0, v0.5.5 May 20, 2015

@alban

This comment has been minimized.

Show comment
Hide comment
@alban

alban May 26, 2015

Member

The spec has been bumped to v0.5.2 by #940 and the supported archs in rkt are now:

var ValidOSArch = map[string][]string{
        "linux":   {"amd64", "i386", "aarch64", "armv7l", "armv7b"},
        "freebsd": {"amd64", "i386", "arm"},
        "darwin":  {"x86_64", "i386"},
}

Can you check if this solves the issue?

Member

alban commented May 26, 2015

The spec has been bumped to v0.5.2 by #940 and the supported archs in rkt are now:

var ValidOSArch = map[string][]string{
        "linux":   {"amd64", "i386", "aarch64", "armv7l", "armv7b"},
        "freebsd": {"amd64", "i386", "arm"},
        "darwin":  {"x86_64", "i386"},
}

Can you check if this solves the issue?

@DieterReuter

This comment has been minimized.

Show comment
Hide comment
@DieterReuter

DieterReuter May 26, 2015

@alban, if someone would like to use rkt on a Raspberry Pi 1 (there are about 5 million devices out there), the minimum supported ARM version should be ARMv6. This is also the default when building a GOLANG binary with GOARCH=arm. For this reason I strongly recommend to support armv6l too! BTW, a armv6l binary is compatible and runs absolute fine on a `armv7l´ machine - but not the other way around.

DieterReuter commented May 26, 2015

@alban, if someone would like to use rkt on a Raspberry Pi 1 (there are about 5 million devices out there), the minimum supported ARM version should be ARMv6. This is also the default when building a GOLANG binary with GOARCH=arm. For this reason I strongly recommend to support armv6l too! BTW, a armv6l binary is compatible and runs absolute fine on a `armv7l´ machine - but not the other way around.

@alban

This comment has been minimized.

Show comment
Hide comment
@alban

alban May 27, 2015

Member

@DieterReuter thanks, I filed appc/spec#417 for this.

Member

alban commented May 27, 2015

@DieterReuter thanks, I filed appc/spec#417 for this.

@DieterReuter

This comment has been minimized.

Show comment
Hide comment
@DieterReuter

DieterReuter commented May 27, 2015

@alban, Thanks!

@jonboulle

This comment has been minimized.

Show comment
Hide comment
@jonboulle

jonboulle May 27, 2015

Contributor

Let's move this to a new issue since this one was focused on v7 and I don't want it to block 0.5.6: #949

Contributor

jonboulle commented May 27, 2015

Let's move this to a new issue since this one was focused on v7 and I don't want it to block 0.5.6: #949

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