developers.home-assistant/docs/operating-system.md

1.8 KiB

title sidebar_label
Home Assistant Operating System Introduction

The Home Assistant Operating System is a purpose built operating system specifically designed to run Home Assistant on single board computers and x86-64 systems. It aims to provide a robust and maintenance free operating system to run Home Assistant.

Home Assistant Operating System (HAOS) is using the Buildroot build system. Buildroot is not a Linux distribution in the classic sense. It provides the infrastructure and build system to build a Linux distribution. Buildroot allows us to cross compile for different architectures which makes it especially useful when compiling for architectures which typically come with fewer resources such as Arm based systems. HAOS consists of a fairly regular stack of Linux and GNU software, using Linux, the GNU C library, systemd init daemon and the Docker container engine required by the Home Assistant Supervisor.

Components

  • Bootloader:
    • GRUB for devices that support UEFI
    • U-Boot for devices that don't support EFI
  • Operating System:
    • Buildroot build system to generate Linux distributions
  • File Systems:
    • SquashFS for read-only file systems (using LZ4 compression)
    • ZRAM for /tmp, /var and swap (using LZ4 compression)
  • Container Platform:
    • Docker Engine for running Home Assistant components in containers
  • Updates:
    • RAUC for Over The Air (OTA) and USB updates
  • Security: