github home-assistant/operating-system 18.0.rc1
Home Assistant OS 18.0.rc1

pre-release7 hours ago

Home Assistant OS 18.0 is a major release bringing significant updates to all platforms. The Linux kernel has been updated from 6.12 to 6.18 across all targets, Docker has been upgraded to v29.5.3 with containerd v2.2.4, and the underlying Buildroot has been updated to 2025.02.14. Disk images are now significantly faster to flash, the default swap size is now bounded to avoid problems on systems with very low or very high amounts of RAM, and the Raspberry Pi bootloader firmware can now be updated directly from Home Assistant. All users are recommended to update.

Noteworthy changes

Raspberry Pi firmware updates

The Raspberry Pi bootloader (EEPROM) firmware can now be checked and updated directly from Home Assistant OS. Use the following CLI commands to show the current firmware status and to install an update:

ha os boards raspberrypi firmware
ha os boards raspberrypi firmware update

Home Assistant Core 2026.6.0 will also expose the firmware as an update entity. Note that updating the firmware is only possible when the system is booted from an SD card, or in general on Raspberry Pi 5 and on Home Assistant Yellow with a CM5.

Note that Rasbperry Pi 5 now requires firmware 2025-02-12 or newer. See the Raspberry Pi section below for details.

Default swap size

The default swap file size was previously set to 33% of the system RAM, which produced a swap file too small to be useful on low-RAM systems and an unnecessarily large one on systems with plenty of RAM. The default size is now clamped between 1 and 4 GB:

  • On systems with up to 2 GB of RAM, the swap file will grow slightly compared to previous releases.
  • On systems with more than 12 GB of RAM, the swap file is capped at 4 GB, and an existing oversized swap file will be recreated at the smaller size.
  • A manually configured swap size is still respected.

Leaner disk images and faster flashing

Disk images no longer overprovision the data partition, it is now sized to fit only its initial contents. Since the published images are compressed, the download size is not affected, but flashing is considerably faster, because the unused space at the end of the filesystem no longer needs to be written to the target storage. As before, the data partition is automatically expanded to use the available space on first boot.

Images for virtual machines (Open Virtual Appliance and the aarch64 VM formats) are pre-sized to 32 GB, so they no longer need to be resized before use.

Unified "haos" naming

The mix of legacy hassos/HassOS and newer haos naming across the operating system has been harmonized to haos. Most visibly, systemd units and helper binaries previously prefixed hassos- are now prefixed haos-. If you have scripts or tooling that reference these names on the host (for example via the console or host logs), they may need adjusting. On-disk partition and filesystem labels are unchanged, so existing installations are not affected by the rename.

Home Assistant Operating System

Raspberry Pi

Warning

Raspberry Pi 5 users need a bootloader from at least 2025-02-12, otherwise the display output may freeze early during the boot. Update the bootloader before installing this update, using one of the following methods:

  • Run rpi-eeprom-update -a while connected directly to the device (using a display and keyboard), prior to installing the OS update.
  • Use Raspberry Pi Imager with a spare SD card to flash a bootloader update image to it.
  • Alternatively, if you have an SSH terminal app installed, you can run ha os boards raspberry pi firmware update over SSH right after updating the OS.

Note

The default graphics (DRM) driver on Raspberry Pi 4 has been switched from the legacy, no longer maintained FKMS driver to the modern KMS driver, which among other things enables HDMI-CEC support. This only applies to new installations. On existing ones, config.txt in the boot partition must be adjusted manually to make the switch.

  • Enable PSI by default also on Raspberry Pi (#4749) @sairon
  • RaspberryPi: Update kernel to 6.18.33 (stable_20260527) (#4737, #4748) @sairon
  • Patch rpi-eeprom-update to show info on CM4 and make findBootFS faster (#4735) @sairon
  • Add firmware for MediaTek MT7920 Bluetooth and WiFi (#4729) @sairon
  • Enable MT7925 Bluetooth firmware (#4726) @jelliuk
  • Show if flashrom needs to be used by rpi-eeprom-update in tool output (#4718) @sairon
  • Update bundled RPi bootloader to 2026-01-09 (2711)/2026-05-11 (2712) (#4715) @sairon
  • Enable pciutils on RPi4/RPi5-based targets (#4703) @sairon
  • Update U-Boot to v2026.04 (#4685) @sairon
  • Switch Raspberry Pi 4 default DRM driver from legacy FKMS to KMS (#4661) @zekiz774
  • Disable UAS for RTL9201 (UGREEN USB3.0 HDD enclosure) (#4610) @KlaraJa

Home Assistant Yellow

  • Enable PSI by default also on Raspberry Pi (#4749) @sairon
  • RaspberryPi: Update kernel to 6.18.33 (stable_20260527) (#4737, #4748) @sairon
  • Patch rpi-eeprom-update to show info on CM4 and make findBootFS faster (#4735) @sairon
  • Add firmware for MediaTek MT7920 Bluetooth and WiFi (#4729) @sairon
  • Enable MT7925 Bluetooth firmware (#4726) @jelliuk
  • Show if flashrom needs to be used by rpi-eeprom-update in tool output (#4718) @sairon
  • Update bundled RPi bootloader to 2026-01-09 (2711)/2026-05-11 (2712) (#4715) @sairon
  • Squash Yellow DTS patches (#4710) @sairon
  • Backport U-Boot patch for Raspberry Pi MMC init on BCM2712 (#4707) @sairon
  • Enable pciutils on RPi4/RPi5-based targets (#4703) @sairon
  • Update U-Boot to v2026.04 (#4685) @sairon

Home Assistant Green

Open Virtual Appliance

Generic x86-64

Hardkernel ODROID

Khadas VIM Series

Generic aarch64

Build System

  • Add CAs for new signing certificates to RAUC keyring (#4757) @sairon
  • Add CI check for sufficient validity of the OTA signing certificate (#4751) @sairon
  • Fix OS update tests when update returns no response (#4741) @sairon
  • Update build container to Debian Trixie (#4701) @sairon
  • Allow enter.sh to run without TTY (#4686) @sairon
  • Add support for transitional attribute to kconfiglib (#4649) @sairon

Documentation

Dependencies

Dependency updates (click to expand)

Don't miss a new operating-system release

NewReleases is sending notifications on new releases.