Is it possible to use 64-bit docker container images on the Vero 4K+?
From what I can tell, the kernel is already 64-bit, but images pulled are for armhf
Is it possible to use 64-bit docker container images on the Vero 4K+?
From what I can tell, the kernel is already 64-bit, but images pulled are for armhf
Specifically, looking for resolve this announcement End of an Arch | LinuxServer.io and continue to receive image updates
You should be able to run arm64 containers on Pi 4 and Vero 4K/4K+
That’s good to hear Sam.
That said, it’s proving to be difficult. It seems like it’s being picked up as arm/v7 and not arm/v8
Below is some outputs from different commands trying to triage this
System commands
osmc@osmc:~$ uname -m
aarch64
osmc@osmc:~$ uname -a
Linux osmc 4.9.269-16-osmc #1 SMP PREEMPT Tue Nov 1 15:44:25 UTC 2022 aarch64 GNU/Linux
Docker commands
osmc@osmc:~$ docker buildx ls
NAME/NODE DRIVER/ENDPOINT STATUS BUILDKIT PLATFORMS
default * docker
default default running 20.10.21 linux/arm/v7, linux/arm64, linux/arm/v6
I would expect to see linux/arm/v8
, but it’s not listed
Additionally, when trying to run the latest sonarr
develop image
osmc@osmc:~$ docker run -d \
--name=sonarr-demo2 \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-p 8989:8989 \
-v /path/to/data:/config \
--restart unless-stopped \
linuxserver/sonarr:develop
It starts, but hangs with this log message
[custom-init] Legacy files folder /config/custom-cont-init.d is empty, deleting...
[ls.io-init] done.
********************************************************
********************************************************
* *
* !!!! *
* This Sonarr image does not support *
* 32 bit ARM due to lack of available OS packages *
* *
* *
********************************************************
********************************************************
I’ve done some testing.
The kernel is 64-bit and even with the armhf version of Docker, you should be able to run 64-bit containers. I was able to start and enter a Debian container with:
docker run -it --security-opt seccomp:unconfined arm64v8/debian
We’ll look at 64-bit userland in the future. When I last looked at it for the Vero 4K / 4K+ in 2017, it had some serious problems.
So it just looks like you need to specify ARMv8 containers and make sure the containers have sufficient privileges (–security-opt seccomp:unconfined) to run [1] some containers
Sam
Thanks for looking into this Sam.
I was able to reproduce running the ARMv8 Debian container with those extra flags.
Though looks like the linuxserver.io images have built-in startup checks which re-validate the ARM version.
For now I’ll continue to use the last ARMv7 released image. Hopeful for 64-bit userland in the future
64-bit userland is something we’ll look in to next year.
I’d try running setarch arm64 and using the arm64 version of Docker – that should be good enough.