LSIO 32bit docker images won't work anymore

  • Hi,

    I use several docker add-on from Docker repo on LE 11. Since yesterday, all lsio ones stopped working because they do not support 32bit images anymore : https://www.linuxserver.io/blog/a-farewell-to-arm-hf

    What possibilities do we have to keep them working ?

  • I'm running several docker images on LE11 on aarch64 amlogic with 32bits userspace too.

    I bypassed the error message and succeeded to run my linuxserver containers again.

    Edit the /storage/.kodi/addons/docker.linuxserver.nginx/bin/docker.linuxserver.nginx file.

    - remove the sleep infinitely line (or comment it out).

    - force to use arm64v8-latest image.

    - disable the addon automatic update on Kodi.

  • That is news to me. I always assumed trying to run a 64 bit container on 32 bit userspace would make docker complain about wrong arch.

    Unfortunately I currently don't have a spare device to test this on. Can someone confirm it works (without issues) on an rpi as well, then I can update the addons to use the arm64 image?

    You can create the addons via command line, if you don't want to go around modifying the addon files. Just use the docker cli command from the image readmes and use the "arm64v8-latest" tag.

    Thanks

  • It means the kernel is 64 bit, but the OS is 32bit, which includes all the packages, services and processes, including the docker service (that's why I'm surprised the user reported a 64 bit container worked). I mean the container does use the host's kernel so a 64bit kernel would definitely be a requirement, but I would have guessed other docker service related activities would need 64 bit in the userspace as well. I wonder if it's one of those things where some containers work fine, but some don't.

    We need some testing before I do a mass update of all the addons.

  • My device : Odroid C2 (amlogic aarch64)

    I use nginx, radarr, sonarr, plex and prowlarr with arm64v8-latest tag since I upgraded from LE 9.2 to LE 11 this summer (3-june-2023).

    With the fresh LE11 install, I had a different error message from docker when pulling latest, something like "impossible to find an image for your architecture".

    I auto-update my containers every week. No problem in 4 months so far.

  • Thanks, yeah, previously the addons were pulling the "latest" tag, which lets docker automatically detect the arch (in your case it would detect it as arm32 and wouldn't find an image since we deprecated them).

    I just need confirmation from someone with an rpi and LE 11 so we can make sure it's not specific to amlogic.

  • I just need confirmation from someone with an rpi and LE 11 so we can make sure it's not specific to amlogic.

    All my things are updated to LE12/aarch64 so not volunteering to test .. but there's nothing special about the AMLGX image; it's functionally the same as RPi4 and other SoCs like Allwinner.

  • All my things are updated to LE12/aarch64 so not volunteering to test .. but there's nothing special about the AMLGX image; it's functionally the same as RPi4 and other SoCs like Allwinner.

    Alright, when I have some time, I'll PR the addons so the arm32 devices will attempt to use the arm64 images, which will serve as a stopgap until LE12.

  • Alright, when I have some time, I'll PR the addons so the arm32 devices will attempt to use the arm64 images, which will serve as a stopgap until LE12.

    Keep in mind that we also have 32bit-only devices, with 32bit kernels (eg our RPi2 images which is used for RPi2/3 and which are still a significantly large part of our userbase).

    You should also cater that, eg by not offering the ls.io addons/repo to those installations at all since it can't work. CvH can provide you info how to properly disable/deprecate/remove your addons/repo for those installations.

    so long,

    Hias

  • excalibur, I'm a bit thick could you explain how:

    1. You force usage of arm64v8 latest

    2. You update. I'm thinking you have to do a manual update and then comment out the sleep infinitely again.

    If it helps, I'm trying to use your workaround on Plex.

    Thanks in advance.

  • Really interested to see your /storage/.kodi/addons/docker.linuxserver.nginx/bin/docker.linuxserver.nginx file excalibur

    I have exactly the same problem on my CoreELEC installation, everything from linuxserver updated and I lost 5 dockers.

    Thanks.

  • Is this the right place in code and code-piece for e.g. pulling the right arm64v8 latest?:

    Code
    #set docker image
    DOCKERIMAGETAG="arm64v8-latest"
    DOCKERIMAGE="linuxserver/plex"

    and also I have added the $DOCKERIMAGETAG to auto-updater area - replace with this code:

    Code
    if ! grep -q "$DOCKERIMAGE" /storage/.kodi/userdata/addon_data/docker.linuxserver.updater/update.sh; then
      echo "/storage/.kodi/addons/service.system.docker/bin/docker pull ${DOCKERIMAGE}:${DOCKERIMAGETAG}" >> /storage/.kodi/userdata/addon_data/docker.linuxserver.updater/update.sh
    fi