New Hass.io images, based on HassOS

After 4 months of hard work, we are happy to announce our new images for Hass.io, based on HassOS. HassOS is a brand new operating system that we have created specifically for the purpose of running Hass.io. And yes, this supports the Raspberry Pi 3 B+!

What is new

We have built HassOS on top of the Buildroot framework. The focus of the system is to be a very small and highly efficient operating system to run Docker like a hypervisor. It has just enough software installed, to run a supervisor. We have also focused on security, there are, for example, no default passwords and we use AppArmor to protect the applications and containers on HassOS.

Key features:

  • Safe and secure updating with Rauc over USB or internet (OTA)
  • Uses an LZ4 compressed root filesystem and parts of the memory
  • Read-only root filesystem, designed to run on embedded systems
  • Dbus connected hosts services
  • Latest LT Linux kernel
  • Latest Docker-ce version
  • Fully supported NetworkManager
  • Bluetooth support using Bluez
  • Supports lot different hardware

Migration

The design of HassOS is different from ResinOS. Because of this, we can’t provide an OTA update from the old ResinOS system to the new HassOS based system.

You need to perform the following steps to upgrade:

  1. If you have installed the Bluetooth add-on, please remove it, since it is no longer required.
  2. Make a Hass.io snapshot of your current system and download it to your computer.
  3. Download the latest Hass.io stable version.
  4. Flash the downloaded Hass.io image with Etcher to your SD card.
  5. Raspberry Pi: In case you have modified the config.txt (in the boot partition), you will also need to apply these changes to HassOS. Do NOT simply copy the file from your old setup into HassOS! Apply those changes manually!
  6. If you use a custom network configuration or have configured SSH development access, you need to create a configuration USB stick. Copy the resin-sample into the network folder on a USB stick and insert it into your device.
  7. Take the freshly flashed SD card with HassOS and place it into your device, and boot it by turning it on.
  8. Copy the snapshot into the host with the SSH or Samba add-on.
  9. Restore your snapshot via the Hass.io panel.
  10. Done!

Future

HassOS is a wonderful base system and allows us to start working on integrating all kinds of amazing features into Hass.io (and bring them to the UI as well). For example, we are planning on bringing network and Bluetooth configuration possibilities into the UI. The goal is a full featured hub system that allows anybody to use Home Assistant.

The Hass.io API is extensive, and we are going to adopt more of its features into Home Assistant as well. For example, sensors that allows you to monitor the system usage of an add-on or even Home Assistant itself.

A big shout out to all people who donated money for us to buy hardware! Thank you! We have already started on making HassOS compatible with all kinds of hardware and are currently aiming to release support for new devices every 7-14 days and keeping this up until we support all major IoT boards.

Feel free to jump into the project and help us to improve the documentation or other tasks that are going to help us moving forward.


This is a companion discussion topic for the original entry at https://www.home-assistant.io/blog/2018/07/11/hassio-images/
21 Likes

This is just amazing! Thank you for all the hard work @pvizeli, this is really next level stuff!

4 Likes

Nice work guys. Migrated my two ResinOS to HassOS and it is working great.

Small issue: https://www.home-assistant.io/hassio/installation/ the link indicates for Rpi3 63-bit. A bit is missing somewhere! :slight_smile:

2 Likes

pull request submitted to fix this.

The instructions are a bit outdated but anyone (including you!) can submit a pull request on github for the documentation.

Good to know. Never really understand github, that helps.

Thanks

Very nice work!

Quick question, which version should I choose? 32 or 64 bit for rpi 3?(non +)

both links point to the same file…

Sorry for the noob question, but how can I do it?

Will there be an image for Intel NUC like there is for HASS.IO?

4 Likes

Is it possible to install this to boot off a USB stick like we can with ResinOS? Or is it possible to have configuration and database on a USB? So then the SD-Card would only contain the OS and HA?

I also don’t know whether to use 32 or 64 bit for the RPI 3. There is actually a different image for 64 bit RPI on github ( i.e. at https://github.com/home-assistant/hassos/releases ) , even if both RPI links in the announcement point to the same 32 bit release image. I think my old hass.io image is 32 bit FWIW. I believe the ARM V7 on the RPI 3 (non plus) supports 64 bits, but what are the pros and cons. Will all of the addons be available if I select the 64 bit image?

I have installed 64 bit version and now I’m getting this error with some add-ons

Home Assistant on hassos runs in docker.

The add-ons don’t care if the host is 32 or 64 bit.

Just install 64bit

Looks like the script is trying to download based on the OS architecture…hmm. That’s not the direction I would have gone with. Lol.

I’d like to know this too.

Just add the following to configuration.yaml.

device_tracker:
  - platform: bluetooth_tracker

No add-ons needed.

1 Like

I had an issue with snapshots NOT showing up once copied over

when I SSH’d in the command hassio sn reload . got them to appear!

THANKS TO EVERYONE FOR THIS AWESOME SOLUTION!

1 Like

That would be HassOS-Lite.:grin:

So what if I installed my current hass.io through curl -sL https://raw.githubusercontent.com/home-assistant/hassio-build/master/install/hassio_install | bash -s How can I upgrade in that case?

There’s no upgrade path I can see. Make a snapshot and do a clean install/restore snapshot.