finds.dev← search

// the find

home-assistant/operating-system

★ 7,515 · Python · Apache-2.0 · updated Oct 2026

:beginner: Home Assistant Operating System

Home Assistant Operating System is the Buildroot-based Linux image that boots Raspberry Pi, ODROID, Green and x86-64 UEFI machines and runs Home Assistant, the Supervisor and Apps in Docker. This repo is for people who want to build, port or audit that image, not for people who just want to run Home Assistant. The README mostly points elsewhere, so the substance is in the buildroot-external tree.

Each board lives in its own folder under buildroot-external/board with the same set of files (kernel config, U-Boot config, cmdline, boot hook, meta), so reviewing one board means reading one directory. Kernel and U-Boot changes are stored as plain patch files next to the board that needs them, so the hardware-specific delta shows up in a diff instead of living in an unpublished fork. A read-only SquashFS root with ZRAM for /tmp and /var suits an appliance that gets unplugged mid-write, and RAUC handles OTA and USB updates, so updating is a designed path rather than a script.

Buildroot is pinned as a git submodule, so a plain clone leaves the buildroot directory empty and the first build fails until submodules are initialised. The README does not mention this. Upkeep is the real cost: the Raspberry Pi board alone carries 13 U-Boot patches plus several kernel patches, and each upstream bump means rebasing all of them against the boards that need them. Supported hardware is a fixed list gated by ADR-0015, ADR-0017 and an architecture proposal. That keeps the test matrix honest, but anyone with an unlisted board gets nothing, and a new board waits on a process rather than a pull request.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →