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

No ARM support #7

Open
ohthehugemanatee opened this issue Sep 12, 2021 · 8 comments
Open

No ARM support #7

ohthehugemanatee opened this issue Sep 12, 2021 · 8 comments

Comments

@ohthehugemanatee
Copy link

Looks like the image at quay.io/munnerz/kube-plex doesn't have arm support. It would be easy to cross-build and put up our own image on ghcr, and enable compatibility for raspberry pi's, pinebooks, and other arm devices.

@ressu
Copy link
Owner

ressu commented Sep 12, 2021

I'll need to take a look how to coax GitHub Actions to build for RPi's, the docker build file should support it out of the box.

@ressu ressu closed this as completed in d4129f2 Sep 12, 2021
@ressu
Copy link
Owner

ressu commented Sep 12, 2021

Hmm.. I meant to ask you to confirm if the image works before I tag a new release to update the latest tag. You can find the relevant images here https://github.com/ressu/kube-plex/pkgs/container/kube-plex/7574986

@ressu ressu reopened this Sep 12, 2021
@ohthehugemanatee
Copy link
Author

Thanks, but unfortunately I don't have an arm64 device to test with. TBH they're a bit unusual still (but growing). Raspberry Pi OS is primarily distributed in 32 bits. It's only recently that 64 bit OSes have become available for the pi4, specifically.

You need to add linux/arm/v7 to the list to be compatible with raspberry pi devices on a 32 bit OS. That is something I can test with. :)

@ressu
Copy link
Owner

ressu commented Sep 17, 2021

Oh, I didn't realize that they still default to 32 bit, let me adjust the build rules to see if I can trick it to build a 32 bit version too.

@ohthehugemanatee
Copy link
Author

FWIW I manually tested the arm64 image with qemu and it works.

Here's my qemu command.

qemu-system-aarch64 \
            -machine type=virt \
            -cpu cortex-a72 \
            -m size=8G \
            -nographic \
            -bios QEMU_EFI.fd \
            -drive if=none,file=ubuntu-21.04-server-cloudimg-arm64.img,id=hd0,format=raw \
            -device virtio-blk-device,drive=hd0 \
            -drive if=none,file=/seed.img,id=seed,format=raw \
            -device virtio-blk-device,drive=seed \
            -netdev user,id=user0,hostfwd=tcp::22-:22 \
            -device virtio-net,netdev=user0"

seed.img is a simple cloud-init. I based the whole approach on https://github.com/ljishen/Cortex-A72-Emulator .

@ressu
Copy link
Owner

ressu commented Sep 19, 2021

Thanks for checking. I should have all the relevant build rules in place to build armv7 images along with everything else, but it seems that GitHub is having issues with the build token permissions so I'll retry builds during next week.

@ressu
Copy link
Owner

ressu commented Sep 20, 2021

There we go, permission issues resolved and build is running for main branch (and tag) as we speak. It should complete in a few minutes. The latest tag will be updated to contain an arm/v7 image once the next release is tagged.

@ressu
Copy link
Owner

ressu commented Sep 22, 2021

Just confirmed that multi-arch build succeeded and https://github.com/ressu/kube-plex/pkgs/container/kube-plex/7948865 has arm/v7 support too. So when ever I tag the next release, arm/v7 will automatically build for the releases. The normal CI builds are only built for amd64, since the other builds take much longer to complete.

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

No branches or pull requests

2 participants