Supported boards
Every board Home Assistant OS builds for, with its build target, bootloader, and machine type.
Home Assistant OS builds one image per target. Each target has a configuration in buildroot-external/configs/<target>_defconfig, and a board folder with its metadata in buildroot-external/board/. Since Home Assistant OS 17, every target is 64-bit.
| Board | Build target | Bootloader | Partition table | Machine | Notes |
|---|---|---|---|---|---|
| Home Assistant Green | green |
U-Boot | Hybrid | green |
|
| Home Assistant Yellow | yellow |
U-Boot | Hybrid | yellow |
Carrier board for Raspberry Pi Compute Module 4 and 5 |
| Raspberry Pi 3 | rpi3_64 |
U-Boot | Hybrid | raspberrypi3-64 |
Raspberry Pi |
| Raspberry Pi 4 | rpi4_64 |
U-Boot | Hybrid | raspberrypi4-64 |
Raspberry Pi |
| Raspberry Pi 5 | rpi5_64 |
Tryboot | GPT | raspberrypi5-64 |
Raspberry Pi |
| ODROID-C2 | odroid_c2 |
U-Boot | MBR | odroid-c2 |
ODROID |
| ODROID-C4 | odroid_c4 |
U-Boot | MBR | odroid-c4 |
ODROID |
| ODROID-M1 | odroid_m1 |
U-Boot | Hybrid | odroid-m1 |
ODROID |
| ODROID-M1S | odroid_m1s |
U-Boot | Hybrid | odroid-m1 |
ODROID |
| ODROID-N2 and N2+ | odroid_n2 |
U-Boot | MBR | odroid-n2 |
ODROID, also Home Assistant Blue |
| Khadas VIM3 | khadas_vim3 |
U-Boot | MBR | khadas-vim3 |
|
| Generic x86-64 | generic_x86_64 |
GRUB | GPT | generic-x86-64 |
Generic systems |
| Generic aarch64 | generic_aarch64 |
GRUB | GPT | qemuarm-64 |
Generic systems, also virtual machine images |
| Virtual machine | ova |
GRUB | GPT | qemux86-64 |
Virtual machines |
The build target is what you pass to make, see build an image. The board identifier in image file names uses dashes instead, like haos_rpi4-64-18.3.img.xz.
Most boards run the mainline Linux kernel. Raspberry Pi boards and Home Assistant Yellow run the Raspberry Pi fork. The current versions are in Documentation/kernel.md in the repository.
The 32-bit targets were removed in Home Assistant OS 17: Raspberry Pi 2, the 32-bit builds of Raspberry Pi 3 and 4, ODROID-XU4, and ASUS Tinker Board. Raspberry Pi 1 and Zero W were dropped before that. Existing installations on those boards no longer get updates.
Which boards are supported is a decision of the project, not only a question of code. ADR-0015 defines the supported hardware, and ADR-0017 lists what a new board must meet, like long availability and upstream kernel support. Propose a new board in the architecture repository before you start.