Install hass.io docker images on ArchLinuxARM

Hi, I’m using standard Home Assistant setup running on an ArchLinuxARM system (Odroid XU4 board)
I tried to migrate my installation to Hassio docker images, in order to install some addons I’m interested in (VSCode, etc.)
I downloaded the hassio_install script and ran it as root, with my architecture as parameter:

./hassio_install -m armv7l

Installation was succesful but it does not work. Of course, I checked the kernel parameters and added “apparmor=1 security=apparmor”. I installed apparmor tools but problem is that my Kernel does not seem to provide AppArmor and hassio relies on it. Seems that the Docker images are designed for Ubuntu, etc… but not for other Linux flavour.

Would it be possible to install hassio without AppArmor? I want to keep Arch and don’t want to install another distro.
Thanks for your help

I’m not so sure AppArmor is mandatory, as it seems my supervisor is running, but can not run homeassistant image.

sudo systemctl status hassio-supervisor
● hassio-supervisor.service - Hass.io supervisor
Loaded: loaded (/etc/systemd/system/hassio-supervisor.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2019-04-11 10:17:50 CEST; 7h ago
Process: 15623 ExecStartPre=/usr/bin/docker stop hassio_supervisor (code=exited, status=0/SUCCESS)
Main PID: 15631 (hassio-supervis)
Tasks: 13 (limit: 4576)
Memory: 22.4M
CGroup: /system.slice/hassio-supervisor.service
├─15631 /bin/sh /usr/sbin/hassio-supervisor
├─15655 /bin/sh /usr/sbin/hassio-supervisor
└─15656 docker start --attach hassio_supervisor

avril 11 17:34:16 nicolas-u3 hassio-supervisor[15631]: 19-04-11 15:34:16 WARNING (MainThread) [hassio.homeassistant] Fails install landingpage, retry after 30sec
avril 11 17:34:46 nicolas-u3 hassio-supervisor[15631]: 19-04-11 15:34:46 INFO (SyncWorker_13) [hassio.docker.interface] Pull image homeassistant/armv7l-homeassistant tag landingpage.
avril 11 17:34:48 nicolas-u3 hassio-supervisor[15631]: 19-04-11 15:34:48 ERROR (SyncWorker_13) [hassio.docker.interface] Can’t install homeassistant/armv7l-homeassistant:landingpage -> 404 >
avril 11 17:34:48 nicolas-u3 hassio-supervisor[15631]: 19-04-11 15:34:48 WARNING (MainThread) [hassio.homeassistant] Fails install landingpage, retry after 30sec
avril 11 17:35:18 nicolas-u3 hassio-supervisor[15631]: 19-04-11 15:35:18 INFO (SyncWorker_4) [hassio.docker.interface] Pull image homeassistant/armv7l-homeassistant tag landingpage.
avril 11 17:35:21 nicolas-u3 hassio-supervisor[15631]: 19-04-11 15:35:21 ERROR (SyncWorker_4) [hassio.docker.interface] Can’t install homeassistant/armv7l-homeassistant:landingpage -> 404 C>
avril 11 17:35:21 nicolas-u3 hassio-supervisor[15631]: 19-04-11 15:35:21 WARNING (MainThread) [hassio.homeassistant] Fails install landingpage, retry after 30sec
avril 11 17:35:51 nicolas-u3 hassio-supervisor[15631]: 19-04-11 15:35:51 INFO (SyncWorker_9) [hassio.docker.interface] Pull image homeassistant/armv7l-homeassistant tag landingpage.
avril 11 17:35:53 nicolas-u3 hassio-supervisor[15631]: 19-04-11 15:35:53 ERROR (SyncWorker_9) [hassio.docker.interface] Can’t install homeassistant/armv7l-homeassistant:landingpage -> 404 C>
avril 11 17:35:53 nicolas-u3 hassio-supervisor[15631]: 19-04-11 15:35:53 WARNING (MainThread) [hassio.homeassistant] Fails install landingpage, retry after 30sec

When I check the hassio-supervisor service, it tells me the homeassistant image is not available

sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2619abcc60d1 homeassistant/armhf-hassio-supervisor “python3 -m hassio” 7 hours ago Up 7 hours hassio_supervisor

It’s not apparmor related: https://github.com/home-assistant/hassio-build/issues/58

Yes indeed, the install script gets the ARCH variable (armv7l in my case) and tries to instanciate a docker image homeassistant/armv7l-homeassistant, which does not exist…
homeassistant/armv7-homeassistant does exist but then I have to pass the parameter “-m armv7” so that it download it.

This is not perfect because this image is generic and does not allow any addons installation :frowning:
Supported arch are:

  • intel-nuc
  • odroid-c2
  • odroid-xu
  • orangepi-prime
  • qemuarm
  • qemuarm-64
  • qemux86
  • qemux86-64
  • raspberrypi
  • raspberrypi2
  • raspberrypi3
  • raspberrypi3-64
  • tinker

As I’m running an Odroid U3, I manually setup my hassio environment like an Odroid XU (same armv7 architecture) in /etc/hassio.json

{armv7
“supervisor”: “homeassistant/armv7-hassio-supervisor”,
“homeassistant”: “homeassistant/odroid-xu-homeassistant”,
“data”: “/usr/share/hassio”
}

I also noticed the installer installs the armhf version of the hassio-supervisor, and a armv7-supervisor would have been better. I modified the installer to fit my setup.

So, did you manage to install it? I got stuck with complaints about the invalid landing page. I was able to install the rapsberrypi3 image:
Here are some details (on an Odroid C1): https://forum.odroid.com/viewtopic.php?t=34570

Yes indeed. I manage to get everything up and running using slight modification of the installer and by choosing the odroid-xu image which fits perfectly the XU4 (same 32bits armv7 architecture) but I guess any other armv7 official image would have been ok (raspberry2 for instance, also 32bits armv7)
Here’s my final configuration:

{
“supervisor”: “homeassistant/armv7-hassio-supervisor”,
“homeassistant”: “homeassistant/odroid-xu-homeassistant”,
“data”: “/usr/share/hassio”
}

This topic is a bit redundant with this one:

1 Like

Maybe your issue is related to AppArmor… you don’t need it and it won’t work if your kernel is not compiled with AppArmor support. I suspect no Odroid kernel is bundled with AppArmor (also, there’s an option to pass to the kernel to enable AppArmor if supported)
I run HassIO without AppArmor on my XU4.