Installing Home Assistant Supervised on a Raspberry Pi using Debian 12

He is the author of the addon. He is not the author of Adguard. Adguard is a separate software package.

A simple Google search will help answer your question instead of needlessly tagging people and spamming this guide.

A simple Google search does not give answers to a complex subject covering many areas, and that is the purpose of forums like this. My enthusiasm and asking specific questions is not spam. I have deleted everything I have said as my input or questions are obviously not welcome.

IPv6 issue:

One of my routers blocks IPv6 so at the step where you

“dpkg -i homeassistant-supervised.deb”

the ping “PING checkonline.home-assistant.io(2606:4700:20::681a:4ee…” fails.

After realizing it was pinging an IPv6 address I disabled it with help from this link on disabling IPv6 on debian 12 and installation proceeded normally.

1 Like

@kanga_who fyi

I posted a few months back with a query as to whether people were having an issue with cgroup reverting from version 1 to version 2, when doing host updates. It didn’t get much traction so doesn’t seem to be much of an issue. I personally run an rpi4 with an SSD. @Tamsy hinted the SSD may be part of the problem. I can neither confirm or deny this.

Anyway.

My system upon updating was removing the

systemd.unified_cgroup_hierarchy=0

line from the file

/boot/firmware/cmdline.txt

I was reading a bit through

/boot/firmware/config.txt
and
/etc/default/raspi-firmware

Both files mention creating an extra file to have the kernel/boot update automatically.

As such I created a new file.

sudo nano /etc/default/raspi-extra-cmdline

which contains

systemd.unified_cgroup_hierarchy=0

This so far has so far stopped the issue and I haven’t needed to edit /boot/firmware/cmdline.txt or to re-run the supervisor script after updates to revert cgroup to version 1.

So

hopefully this is a solution to others and can potentially be added as an update to the tutorial.
It might also be something that can added to the supervisor script in the future…

Hello HA friends,
I’ve just installed HA on a Orange PI 3b running Debian 12 “Bookworm” and I spent a few hours making it works well because CGroup v2 was configured by default on the image provided by http://www.orangepi.org/.
No /boot/cmdline.txt file, no grub on that version, so I made some searching and finally foud the solution on a russian forum.
Here is the modifications to do :

cd /boot
sudo nano boot.cmd

Find the line :

if test "${docker_optimizations}" = "on"; then setenv bootargs "${bootargs} cgroup_enable=memory swapaccount=1"; fi

Add this line AFTER the above line :

setenv bootargs "${bootargs} systemd.unified_cgroup_hierarchy=false systemd.legacy_systemd_cgroup_controller=false cgroup_enable=memory apparmor=1 security=apparmor"

Save and quit nano (Ctrl+o, enter, Ctrl-x)

Built a new boot image :

sudo mkimage -C none -A arm -T script -d boot.cmd boot.scr

Reboot the Orange PI

sudo reboot now

After reboot, verify apparmor is correctly installed and working

systemctl status apparmor.service

That’s it !
No more warning message from HA about bad CGroup version.
HACS is now installing flawlessly (it was not before … )

Hope that it helps !
Best regards

1 Like

@HasQT and @jca24440 How come you folks don’t want to follow these steps whenever it becomes unhealthy? Then you aren’t stuck with a setup that has any special on-off tweaks and is always healthy? I’ve done this maybe 5 times in the past year and it resolves all related issues with being unhealthy or unsupported every single time and only takes about 5 minutes!

Because that is a work around, not a solution.

My previous post is a fix unrelated to what you posted about previously.

This was occurring every update of the host. Even after re-running the supervisor install script.

There must be somethin different between your setup and mine, as the same steps always resolve it for me

Presumably there is something different, which is why I made my post, asking if anyone else was having an issue with line being removed after host updates.

I don’t try your solution because I’m running HA on an Orange PI 3B where the Debian image and configuration is different than on the Raspberry Pi-s. No /boot/firmware/cmdline.txt and so one.

Great guide, I had to change the order for systemd-resolved because I also ran into the issue with dns lookups no longer working after installing it. Otherwise I had no real problems with installing.

I would like to add that it is required to also install bluez when you want to have integration with bluetooth devices. Apparently that is not installed by default with debian on a pi 3.

The autoremove and fix-broken install steps should not be needed on a fresh installation of debian, for me they did not remove or fix anything.

Thank you for this guide. HA is running like a charm, much better than under Ubuntu 22.4. I like Ubuntu, even at the CLI only, but Debian appears to be the HA way, so be it! And truthfully Debian is a… smoother? faster? cleaner? experience overall, so I guess I’m a new convert.

Ahh another day, another Linux dist…

Thanks for the great description. Two comments:

  • it would have been great to have a short info in the first post that headless install is possible, if one adds a root_authorized_key in the sysconfig.txt as described briefly here: Frequently Asked Questions (FAQs) and errata and in some post above. I do not have a display and almost bought one extra for the install. The key worked well for me, to login with root over ssh.

  • I also ran into the name lookup issue so that the curl ... get.docker.com command would not work due to resolve issues. My nameserver is passed via dhcp and I don’t like the solution above to hard code it (that what dhcp is for, not to hardcode these things). So I instead edited /etc/nsswitch.conf like so:

    # hosts: files resolve [!UNAVAIL=return] dns myhostname
    hosts: files dns resolve myhostname
    

    which restored name resolution again. Maybe that is a better idea? Or will it produce other issues later?
    It would be great to add a solution to the resolve issue to the first post, as it is difficult to find it in the long thread and probably happens to everyone who is trying to follow the steps?

Thanks again for this and for helping everyone to get it working!

Tamsy, First thank you for all your patience and knowledge! After reading through the entire thread I’m wondering if the primary issue with DNS install errors has been resolved (Dec 1st, 2023) between Bookworm and HA install packages or is following your guide still the best way to install HA-Supervised on Bookwork? Also, I haven’t read explicitly that the RPi4 Debian 12 version (containing more features than 12 standalone) is fully supported. Thoughts. I have HAOS running find but want to use the local screen for GUI weather, etc. so thought the HA-Supervised would be a good option. thanks,

Welcome to the forum, kellyjsanders86 :wave:t3:

My pleasure :slightly_smiling_face:

Exzerpt from the Debian 12 Release News:

The new systemd-resolved package will not be installed automatically on upgrades as it has been split into a separate package. If using the systemd-resolved system service, please install the new package manually after the upgrade, and note that until it has been installed, DNS resolution may no longer work as the service will not be present on the system.

Just make sure you have the systemd-resolved package installed by executing:

dpkg -s  systemd-resolved

The output should look similar to:

Version: 252.17-1~deb12u1
Replaces: resolvconf, systemd (<< 251.3-2~)
Provides: resolvconf

In case systemd-resolved is not installed simply run:

sudo apt-get install systemd-resolved

:exclamation: If the system complains about certain unfulfilled dependencies while installing systemd-resolved just hit “y

Now restart the host:

sudo systemctl reboot

Note: Installing the systemd-resolved package will automatically give systemd-resolved control over /etc/resolv.conf . If you don’t want this, follow this post to regain control over /etc/resolv.conf.

However, if you strictly follow Jason’s guide by the book there is little chance that you will run into any DNS issues though.

If you refer to Raspberry Pi OS with “RPi4 Debian 12 version” you will get an “Unsupported/Unheathy” system.

Raspberry Pi OS is is not Debian but a derivative and as such it is not supported by Home Assistant Supervised and neither by this guide!

You must use Debian 12 from HERE to get a supported HA installation! As for the RPI4 4GB by the time of this writing only THIS is the correct image file to install.

It is unclear to me what you mean with the above statement.

The difference between HAOS and HA Supervised is the underlying OS:
With HAOS you’ll get a managed OS (based on Alpine Linux) while with HA Supervised you are responsible for the base OS (Debian 12) by yourself like i.e. taking care to regulary update the OS/packages and there like. Thus you need to have fundamental knowledge in managing a Linux system to keep your HA installation always secure and up-to-date.

If your HAOS installation is running just fine I see no reason to switch to HA Supervised!

HAOS is headless, on supervised you can run a browser on the same machine on a screen. So you don’t need a second device for the UI. I think, that’s, what he means and what a lot of users drives to choose supervised…

2 Likes

Excellent Info! Thanks.

Yes, this is what I was trying to explain. We travel on a boat fulltime and have little room to add extra computers, let alone monitor space.

I’ve read about Proxmox and Docker as well but the advantage of a Supervised and Add-On library seems advantageous given all the other stuff I’m maintaining on the boat. I guess the other option is to put into service my old Pi3 just for a lite OS and browser (just something else to maintain) tied to my 7" monitor.

Thanks again for the guidance and your willingness to support a very big ‘moving target’ of code/feature changes!

1 Like

Hi HA experts. I switched from the Raspbian OS to this instruction. Everything works except for the I2C USP I have previously. I don’t see an instruction to enable I2C for Raspberry PI Debian. I tried following:

  1. raspi-config: I tried installing it. There are always errors like drparam is missing.
  2. I tried to add i2c-dev in the /etc/modules. I can see /dev/i2c* but always get IO failure when reading or writing to the address. I can confirm if I switch back to RaspOS the device is working as expected. So the wiring should be ok.
    So the question is how to enable I2C with this setup for HA? Thanks in advance for the help.