Installing Home Assistant Supervised on a Raspberry Pi using Debian 12

System Health

version core-2022.7.0
installation_type Home Assistant Supervised
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.10.5
os_name Linux
os_version 5.15.32-v8+
arch aarch64
timezone Europe/Kiev
config_dir /config
Home Assistant Supervisor
host_os Debian GNU/Linux 11 (bullseye)
update_channel beta
supervisor_version supervisor-2022.06.2
agent_version 1.2.2
docker_version 20.10.17
disk_total 56.8 GB
disk_used 9.8 GB
healthy true
supported true
supervisor_api ok
version_api ok
installed_addons Log Viewer (0.14.0), MariaDB (2.4.0), Studio Code Server (5.1.1), File editor (5.3.3), Mopidy (2.1.1)

Raspberry Pi OS 64 bit (BullsEye)

Does Raspberry Pi OS support boot from SSD?

Yes. Example

@Patrick010 @meni123 and others who had issues with Network Manager, it looks as thought eh PRs to fix that issue have been merged to fix the Debian 11.3 issue.

11.4 released on the weekend. does it require this fix? I have never seen an issue anyway. Is it only on installation?

@kanga_who My problem still exists,
In the installation I get the error

[warn] Could not find / etc/ default/ grub or / boot/cmdline. txt failed to switch to cgroup vl

Check if cmdline.txt exists in /boot/firmware. If so add systemd.unified_cgroup_hierarchy=false lsm=apparmor
Be also sure apparmor is installed.

I sub mitted a PR to have apparmor added to the dependencies for install and was told, after testing by one of devs, that it ships natively so wasn’t required. Seems like that may not be the case.

I think I will add it back to dependencies.

I did as you wrote and managed to get a supervised supervisor, but I started getting this error every few minutes! Does it have anything to do with it?

Traceback (most recent call last):

File "/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py", line 334, in data_received

messages, upgraded, tail = self._request_parser.feed_data(data)

File "aiohttp/_http_parser.pyx", line 551, in aiohttp._http_parser.HttpParser.feed_data

aiohttp.http_exceptions.BadStatusLine: 400, message="Bad status line 'Invalid method encountered'"


Supposedly apparmor was enabled in the kernel, but still got problems, so I installed, just to be sure. Problems gone :slight_smile:

Lucky for you, there’s a search option…https://github.com/home-assistant/core/issues/49009#issuecomment-860020095

1 Like

Can anyone share how to disable starting up of home assistant installed using this method?

I understand the install does not work. Here is my 3rd log from a Pi 3, maybe it will help.
Looking forward to a fix, thanks!


[email protected]'s password:
Linux rpi3-20220807 5.18.0-3-arm64 #1 SMP Debian 5.18.14-1 (2022-07-23) aarch64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
rrrr@rpi3-20220807:~$ sudo -i
[sudo] password for rrrr:
root@rpi3-20220807:~# apt update && sudo apt upgrade -y && sudo apt autoremove -                                                                y
Hit:1 http://security.debian.org/debian-security bookworm-security InRelease
Hit:2 http://deb.debian.org/debian bookworm InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@rpi3-20220807:~# apt --fix-broken install
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@rpi3-20220807:~# apt-get install jq wget curl udisks2 libglib2.0-bin network-manager dbus apparmor-utils -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
dbus is already the newest version (1.14.0-2).
dbus set to manually installed.
The following additional packages will be installed:
  dirmngr dns-root-data dnsmasq-base eject exfatprogs fuse gdisk gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server
  gpgconf gpgsm groff-base libassuan0 libatasmart4 libblockdev-crypto2 libblockdev-fs2 libblockdev-loop2 libblockdev-part-err2
  libblockdev-part2 libblockdev-swap2 libblockdev-utils2 libblockdev2 libbluetooth3 libbrotli1 libcurl3-gnutls libcurl4 libfuse2 libglib2.0-0
  libglib2.0-data libgpgme11 libgudev-1.0-0 libicu71 libjim0.81 libjq1 libksba8 libldap-2.5-0 libldap-common libmbim-glib4 libmbim-proxy
  libmm-glib0 libmpdec3 libndp0 libnetfilter-conntrack3 libnfnetlink0 libnghttp2-14 libnm0 libnpth0 libnspr4 libnss3 libntfs-3g89 libonig5
  libparted-fs-resize0 libpcap0.8 libpolkit-agent-1-0 libpolkit-gobject-1-0 libpsl5 libpython3-stdlib libpython3.10-minimal
  libpython3.10-stdlib libqmi-glib5 libqmi-proxy libqrtr-glib0 librtmp1 libsasl2-2 libsasl2-modules libsasl2-modules-db libsqlite3-0 libssh2-1
  libteamdctl0 libuchardet0 libudisks2-0 libusb-1.0-0 libvolume-key1 libxml2 media-types modemmanager ntfs-3g pinentry-curses pkexec
  policykit-1 polkitd ppp publicsuffix python3 python3-apparmor python3-libapparmor python3-minimal python3.10 python3.10-minimal
  shared-mime-info usb-modeswitch usb-modeswitch-data xdg-user-dirs
Suggested packages:
  vim-addon-manager pinentry-gnome3 tor parcimonie xloadimage scdaemon groff libparted-dev libsasl2-modules-gssapi-mit
  | libsasl2-modules-gssapi-heimdal libsasl2-modules-ldap libsasl2-modules-otp libsasl2-modules-sql libteam-utils iptables pinentry-doc
  python3-doc python3-tk python3-venv python3.10-venv python3.10-doc binutils binfmt-support btrfs-progs f2fs-tools libblockdev-mdraid2 mdadm
  nilfs-tools reiserfsprogs udftools udisks2-bcache udisks2-btrfs udisks2-lvm2 udisks2-zram xfsprogs comgt wvdial
The following NEW packages will be installed:
  apparmor-utils curl dirmngr dns-root-data dnsmasq-base eject exfatprogs fuse gdisk gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client
  gpg-wks-server gpgconf gpgsm groff-base jq libassuan0 libatasmart4 libblockdev-crypto2 libblockdev-fs2 libblockdev-loop2
  libblockdev-part-err2 libblockdev-part2 libblockdev-swap2 libblockdev-utils2 libblockdev2 libbluetooth3 libbrotli1 libcurl3-gnutls libcurl4
  libfuse2 libglib2.0-0 libglib2.0-bin libglib2.0-data libgpgme11 libgudev-1.0-0 libicu71 libjim0.81 libjq1 libksba8 libldap-2.5-0
  libldap-common libmbim-glib4 libmbim-proxy libmm-glib0 libmpdec3 libndp0 libnetfilter-conntrack3 libnfnetlink0 libnghttp2-14 libnm0 libnpth0
  libnspr4 libnss3 libntfs-3g89 libonig5 libparted-fs-resize0 libpcap0.8 libpolkit-agent-1-0 libpolkit-gobject-1-0 libpsl5 libpython3-stdlib
  libpython3.10-minimal libpython3.10-stdlib libqmi-glib5 libqmi-proxy libqrtr-glib0 librtmp1 libsasl2-2 libsasl2-modules libsasl2-modules-db
  libsqlite3-0 libssh2-1 libteamdctl0 libuchardet0 libudisks2-0 libusb-1.0-0 libvolume-key1 libxml2 media-types modemmanager network-manager
  ntfs-3g pinentry-curses pkexec policykit-1 polkitd ppp publicsuffix python3 python3-apparmor python3-libapparmor python3-minimal python3.10
  python3.10-minimal shared-mime-info udisks2 usb-modeswitch usb-modeswitch-data wget xdg-user-dirs
0 upgraded, 105 newly installed, 0 to remove and 0 not upgraded.
Need to get 44.7 MB of archives.
After this operation, 161 MB of additional disk space will be used.
Get:1 http://deb.debian.org/debian bookworm/main arm64 libfuse2 arm64 2.9.9-5 [125 kB]
Get:2 http://deb.debian.org/debian bookworm/main arm64 fuse arm64 2.9.9-5 [71.3 kB]
....

DELETED
....
Created symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service → /lib/systemd/system/NetworkManager.service.
Setting up python3-apparmor (3.0.6-1) ...
Setting up modemmanager (1.18.10-1) ...
Created symlink /etc/systemd/system/dbus-org.freedesktop.ModemManager1.service → /lib/systemd/system/ModemManager.service.
Created symlink /etc/systemd/system/multi-user.target.wants/ModemManager.service → /lib/systemd/system/ModemManager.service.
Setting up apparmor-utils (3.0.6-1) ...
Processing triggers for libc-bin (2.33-8) ...
Processing triggers for dbus (1.14.0-2) ...
Processing triggers for initramfs-tools (0.142) ...
update-initramfs: Generating /boot/initrd.img-5.18.0-3-arm64
root@rpi3-20220807:~#
root@rpi3-20220807:~# curl -fsSL get.docker.com | sh
# Executing docker install script, commit: b2e29ef7a9a89840d2333637f7d1900a83e7153f
+ sh -c apt-get update -qq >/dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
+ sh -c mkdir -p /etc/apt/keyrings && chmod -R 0755 /etc/apt/keyrings
+ sh -c curl -fsSL "https://download.docker.com/linux/debian/gpg" | gpg --dearmor --yes -o /etc/apt/keyrings/docker.gpg
+ sh -c chmod a+r /etc/apt/keyrings/docker.gpg
+ sh -c echo "deb [arch=arm64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian bookworm stable" > /etc/apt/sources.list.d/docker.list
+ sh -c apt-get update -qq >/dev/null
E: The repository 'https://download.docker.com/linux/debian bookworm Release' does not have a Release file.
root@rpi3-20220807:~# wget https://github.com/home-assistant/os-agent/releases/download/1.3.0/os-agent_1.3.0_linux_aarch64.deb
--2022-08-14 15:22:05--  https://github.com/home-assistant/os-agent/releases/download/1.3.0/os-agent_1.3.0_linux_aarch64.deb
Resolving github.com (github.com)... 140.82.121.3
Connecting to github.com (github.com)|140.82.121.3|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/346652840/086e57ef-f86d-4433-aa59-9552bb72e403?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220814%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220814T152206Z&X-Amz-Expires=300&X-Amz-Signature=f68b7c490c907f5b390b9aec4ed4be77e5cc0c4e8d57107426b0465fe6c7615f&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=346652840&response-content-disposition=attachment%3B%20filename%3Dos-agent_1.3.0_linux_aarch64.deb&response-content-type=application%2Foctet-stream [following]
--2022-08-14 15:22:06--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/346652840/086e57ef-f86d-4433-aa59-9552bb72e403?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220814%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220814T152206Z&X-Amz-Expires=300&X-Amz-Signature=f68b7c490c907f5b390b9aec4ed4be77e5cc0c4e8d57107426b0465fe6c7615f&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=346652840&response-content-disposition=attachment%3B%20filename%3Dos-agent_1.3.0_linux_aarch64.deb&response-content-type=application%2Foctet-stream
Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.110.133, ...
Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.108.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2458516 (2.3M) [application/octet-stream]
Saving to: 'os-agent_1.3.0_linux_aarch64.deb'

os-agent_1.3.0_linux_aarch64.deb    100%[===================================================================>]   2.34M  4.54MB/s    in 0.5s

2022-08-14 15:22:07 (4.54 MB/s) - 'os-agent_1.3.0_linux_aarch64.deb' saved [2458516/2458516]

root@rpi3-20220807:~# dpkg -i os-agent_1.3.0_linux_aarch64.deb
Selecting previously unselected package os-agent.
(Reading database ... 22063 files and directories currently installed.)
Preparing to unpack os-agent_1.3.0_linux_aarch64.deb ...
Unpacking os-agent (1.3.0) ...
Setting up os-agent (1.3.0) ...
Created symlink /etc/systemd/system/multi-user.target.wants/haos-agent.service → /lib/systemd/system/haos-agent.service.
Processing triggers for dbus (1.14.0-2) ...
root@rpi3-20220807:~# sudo -i
root@rpi3-20220807:~# wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
--2022-08-14 15:23:02--  https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
Resolving github.com (github.com)... 140.82.121.3
Connecting to github.com (github.com)|140.82.121.3|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github.com/home-assistant/supervised-installer/releases/download/1.2.2/homeassistant-supervised.deb [following]
--2022-08-14 15:23:02--  https://github.com/home-assistant/supervised-installer/releases/download/1.2.2/homeassistant-supervised.deb
Reusing existing connection to github.com:443.
HTTP request sent, awaiting response... 302 Found
Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/183216119/c7493e64-4412-4cf5-84c1-2aba27ccc79d?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220814%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220814T152302Z&X-Amz-Expires=300&X-Amz-Signature=66da70e5ce5a131023d3a2af0b5070cf7ecefaccd936f56a340e581a7451a0ec&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=183216119&response-content-disposition=attachment%3B%20filename%3Dhomeassistant-supervised.deb&response-content-type=application%2Foctet-stream [following]
--2022-08-14 15:23:03--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/183216119/c7493e64-4412-4cf5-84c1-2aba27ccc79d?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220814%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220814T152302Z&X-Amz-Expires=300&X-Amz-Signature=66da70e5ce5a131023d3a2af0b5070cf7ecefaccd936f56a340e581a7451a0ec&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=183216119&response-content-disposition=attachment%3B%20filename%3Dhomeassistant-supervised.deb&response-content-type=application%2Foctet-stream
Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.111.133, 185.199.110.133, 185.199.109.133, ...
Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.111.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5908 (5.8K) [application/octet-stream]
Saving to: 'homeassistant-supervised.deb'

homeassistant-supervised.deb        100%[===================================================================>]   5.77K  --.-KB/s    in 0.001s

2022-08-14 15:23:03 (4.17 MB/s) - 'homeassistant-supervised.deb' saved [5908/5908]

root@rpi3-20220807:~# dpkg -i homeassistant-supervised.deb
Selecting previously unselected package homeassistant-supervised.
(Reading database ... 22067 files and directories currently installed.)
Preparing to unpack homeassistant-supervised.deb ...
[warn]
[warn] If you want more control over your own system, run
[warn] Home Assistant as a VM or run Home Assistant Core
[warn] via a Docker container.
[warn]
[warn] ModemManager service is enabled. This might cause issue when using serial devices.
[info] Fix kernel dmesg restriction
Adding 'diversion of /etc/NetworkManager/NetworkManager.conf to /etc/NetworkManager/NetworkManager.conf.real by homeassistant-supervised'
Adding 'diversion of /etc/NetworkManager/system-connections/default to /etc/NetworkManager/system-connections/default.real by homeassistant-supervised'
Adding 'diversion of /etc/docker/daemon.json to /etc/docker/daemon.json.real by homeassistant-supervised'
Adding 'diversion of /etc/network/interfaces to /etc/network/interfaces.real by homeassistant-supervised'
Unpacking homeassistant-supervised (1.2.2) ...
dpkg: dependency problems prevent configuration of homeassistant-supervised:
 homeassistant-supervised depends on docker-ce; however:
  Package docker-ce is not installed.

dpkg: error processing package homeassistant-supervised (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 homeassistant-supervised
root@rpi3-20220807:~#



You’ve used the Bookworm (Debian 12) image, which is not yet supported. You need to use the Debian 11 Bullseye image, as per Section 1.

You want this one. 2022.01.21 11 (Bullseye) 3 3B+

2 Likes

There is no fix for the issue you are facing with the RPI3 since nothing is broken here.

Maybe you really should follow the OP’s advice within the very first paragraph and

However, coming back to the issue you are facing. Please pay close attention to the topic of this thread. Especially when it comes to which Debian version is to be installed. I count the latter pointed out five times even before starting with “Section 1”.

Does the above fit-in with the Debian version to be installed according to this thread? :thinking:

1 Like

i followed this guide exactly, just that my raspi 3B is booting with PXE from NFS. Sadly the system losses the network connection as soon as the supervisor container is started. I supecting that the network is being reset by the supervisor and thus i’m loosing the terminal and hassio is loosing its root fs… :confused: is that a known issue? I can’T really imagine i’m the first one trying to run supervised hassio from a network booted pi…?

You haven’t though.

This is outside the scope of the guide.

Dude… why be such a pain? Did i offend you? In case I did I’m sorry about that.

“, just that” sounds like i’m introducing a reservations about my previous statement, doesn’t it?
I’m aware of deviating from your guide. And I’m not complaining at you or at your guide. Its fantastic and i’m grateful you wrote it. Obviously its my personal problem if i want to do it differently and clearly i have no claim for help.

But if anyone has an idea why it doesn’t work, what the supervisor does when it starts that might cause the issue, or what I could try to make it work anyway – and wants to share it – that would be very nice. Is there something wrong with asking that here?

Looking for some advice from the debian experts here. Normally I can solve these issues myself w/ google. However I’m running into an issue.

Today, I noticed I’m getting connectivity_check unsupported in the system health. So, I enabled it however, it doesn’t appear to enable. I run

sudo busctl set-property org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.NetworkManager ConnectivityCheckEnabled b true

The logs NetworkManager logs show

Sep 11 13:33:18 NUC NetworkManager[482]: <info>  [1662917598.8344] audit: op="networking-control" arg="connectivity-check-enabled" pid=7460 uid=0 result="success"

however when I simply check the parameter (sudo or not)…

busctl get-property org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.NetworkManager ConnectivityCheckEnabled

it returns

b false

I’ve tried setting it with 1, true, and various other CLI routes to set this. What am I missing? How can I set this and move on?

I don’t use the RPI with HA anymore so this is a shot in the dark …

However, if I correctly recall the latter there has been a change back in March regarding that pesty unhealthy/unsupported status with the HA update in March. It is linked to an installed/active avahi-daemon which is not/should not be used anymore after changes to HA since 2022.3.x and which leads to that unhealthy/unsupported HA installation. systemd-resolved is to be used instead and avahi-daemon has to be disabled.

Have you checked whether avahi-daemon is running on you RPI?

sudo systemctl status avahi-daemon

If avahi-daemon is indeed running/loaded do:

sudo systemctl disable avahi-daemon.service
sudo systemctl stop avahi-daemon.service

Recheck to make sure the avahi-daemon has stopped:

sudo systemctl status avahi-daemon.service

If the service has been successfully stopped then do:

sudo systemctl start systemd-resolved

and make sure it has started correctly:

sudo systemctl status systemd-resolved

If it has do:

sudo systemctl enable systemd-resolved

and reboot the host system thereafter.

I hope this helps.

1 Like