Home Assistant OS 10: Better memory management and new board support

Highlights:

  • Support for Hardkernel ODROID-M1
  • Improved data disk feature:
    • Improved reliability
    • Move from one data disk to a new data disk is now supported
  • Improved memory management to improve overall device performance, especially in low memory situations
  • Updated software packages: Linux, Docker, BlueZ, NetworkManager

For existing installations, no manual intervention is needed! You can safely update without reading these rather technical release notes.

Table of contents

New board support: Hardkernel ODROID-M1

Home Assistant OS 10 supports the Hardkernel ODROID-M1 single board computer! Most notably, the ODROID-M1 supports NVMe SSD storage natively, which makes it another great choice to run Home Assistant on. With its quad-core CPU with up to 2 GHz and up to 8 GB of memory it is suitable even for demanding Home Assistant installations.

Currently, Home Assistant can be booted off an SD-card or an eMMC. Note however that a new boot firmware (Petitboot) is required to boot from eMMC (see the board-specific documentation). NVMe SSD boot is currently not supported by the boot firmware. However, an NVMe SSD can be used through the data disk feature.

Improved data disk feature

The data disk feature allows extending storage by adding an external disk. When using the data disk feature, all commonly read and written data is moved to that storage, just Home Assistant OS itself remains on the existing storage (for example, SD-card or eMMC). Home Assistant OS is a read-only operating system — the OS partitions are only written to when updating the operating system. This makes sure that there is minimal wear on the existing storage.

In this OS release, together with the latest version of the Supervisor, the data disk feature got more user-friendly: The data disk choice lists the actual model of available data disks. In situations where previously an attached disk would not show up, the disk will now be reliably detected and available as the new data disk. Now it is also possible to move from one data disk to another: Simply connect another disk, and go to the Move data disk dialog again. On reboot, the data will be moved and the old data disk can be detached.

You can find the move data disk feature under Settings > System > Storage in the top right overflow menu.

Advanced memory management

With Home Assistant OS 10 low memory, devices will generally perform better. Firstly, we moved from zram to zswap, which allows us to use the storage as an actual swap space. We’ve tuned the memory management to minimize the number of writes to storage (to prevent unnecessary wear on SD-cards and other flash memory-based storage).

We’ve also improved reliability and responsiveness in low-memory situations: Home Assistant OS uses a new memory management mechanism named Multi-Gen LRU along with thrashing prevention. This makes Home Assistant OS recover quickly from a low-memory situation and remain responsive.

In general, we recommend using a board with at least 1 GB of memory and make sure to stay well below 80% memory utilization. You can monitor the overall memory utilization under Settings > System > Hardware.

Updated software packages

Home Assistant OS is built using the latest release of Buildroot 2023.02. It comes with the latest Linux kernel with long-term support (6.1). This means updated drivers and better device support. It uses the latest version of Docker 23.0.3, our container engine powering the Supervisor and our add-ons. The latest version of the Bluetooth package BlueZ 5.66 comes with various bug fixes for improved communication with Bluetooth devices. Network Manager 1.40.16 has proven to work more reliably with third party Thread border routers, specifically with Apple border routers. We also improved the IPv6 Neighbor Discovery support on Home Assistant OS specifically for Thread: Home Assistant OS will now quickly discover when border routers disappear from the network and use alternative border routers, if available.

We hope you enjoy Home Assistant OS 10.0! If you have any questions or feedback, please let us know.


This is a companion discussion topic for the original entry at https://www.home-assistant.io/blog/2023/04/18/home-assistant-os-release-10/
3 Likes

Great that HAOS keeps improving like this.

Installing now :smile:

Seems that still no Qemu Guest Agents are pre-installed at the KVM/Proxmox images.

1 Like

Awesome work guys, thank you!

Given this OS has a 6.1 kernel, will Realtek based Bluetooth adapters now automatically reset to recover when they stop responding?

Just started a new thread, better to ask here:

EDIT: Hm, the beta is now removed it seems…

Just to be clear, we still can’t mount external drives to extend storage of e.g. the Media Library, but we can now move the “storage” part of the HA installation to an external drive?

What if the external drive is e.g. a network SMB drive that could go offline? I see mention of this in this commit but don’t see it explained anywhere.

Can we now mount network drives to HA OS to store media? Or is this just a step in that direction?

4 Likes

facing increased memory usage with this release.

New board support: Hardkernel ODROID-M1

Is support for any other Rockchip 3500-series boards in the pipeline? Yellow could really use Soquartz support.

Can we now mount network drives to HA OS to store media? Or is this just a step in that direction?

“Network file system mounting support (SMB/NFS, Supervisor support will follow)” Add support for NFS and SMB/CIFS network file systems by agners · Pull Request #2446 · home-assistant/operating-system · GitHub

+1 to the question.
I guess this is a step in the that direction which until now no ‘official’ addon could do as this was missing from the OS. So no longer we need to have every single addon implementing mount mechanisms. For example, question: we will be able to start running PlexMediaServer addon pointing to a /media folder, where that folder is in fact a SMB location mounted directly in HA?

3 Likes

Do we need to upgrade HA to 2023.4 first?

Hi, I just installed -Home Assistant OS 10.0- and my VLC media player stopped working.
Even the -Local Media- integration will not play locally stored .wav or.mp3 files.
What tests can I run to narrow down the cause? (I rebooted HA) Thanks.

System:

HA Blue, Odroid N2+ with NVMe SSD in USB enclosure running Home Assistant OS.
USB speakers connected to HA Blue
Radio Browser Integration
Core-VLC Integration

Log:
Connection error: Failed to read: 0 bytes read on a total of undefined expected bytes. Partial bytes read: b’’
11:21:08 AM – (ERROR) VLC media player via Telnet

I am using virtualbox running on MacOS. After installing this OS update, Home Assistant would not boot. Checking virutal box upon booting the system would send me to UEFI Startup screen and would not move from there.

I followed this Youtube solution (#2) and it worked.

I got a problem with motionEye after implementing this update…

Before the update, it was working all fine

image

Airthings_BLE integration has bluetooth connection problems with OS 10, worked fine with OS 9.5 and works again fine when I downgraded back to 9.5. Using X86-64 version with PC hardware.

I have 3 Airthing units and with OS 10 their sensor states goes to unknown and maybe appear again and disappear again etc… Also Airthings integration startup is very slow with OS 10. Error logs shows these (mac changed), is this an integration issue or OS ? Using USB Bluetooth stick and also PC’s build-in Bluetooth.

Failed to connect: No backend with an available connection slot that can reach address xx:xx:xx:xx:xx:xx was found: The proxy/adapter is out of connection slots; Add additional proxies near this device

Can’t confirm:

# pidof qemu-ga
360

Yes, we basically lay the groundwork for network file system support from OS side. We have a pretty good plan how to implement it on Supervisor side to make it a built-in feature. Stay tuned! :sunglasses:

11 Likes

No, Home Assistant Core update is not required.

1 Like

Does this mean we will be able to mount external NFS server and use that as the data disk?

So no writing logs etc to SD card anymore?

GREAT work! Thank You guys!

How long do you expect it will take until NVMe SSD boot will be supported?

What will the external data disk feature mean for speed? I mean if I start using an external HDD as data disk, will my sensors or my cameras load more slowly or how will it impact performance compared to saving everything (OS and data) on the same SSD (as I do now)?

I have a lot of old HDD’s that would be great for CCTV recordings, but I don’t want it to impact the overall responsiveness of sensors and cameras.