MCPcopy
hub / github.com/home-assistant/operating-system

github.com/home-assistant/operating-system @18.1 sqlite

repository ↗ · DeepWiki ↗ · release 18.1 ↗
251 symbols 657 edges 8 files 96 documented · 38%
README

Home Assistant Operating System

Home Assistant Operating System (formerly HassOS) is a Linux based operating system optimized to host Home Assistant and its Apps.

Home Assistant Operating System uses Docker as its container engine. By default it deploys the Home Assistant Supervisor as a container. Home Assistant Supervisor in turn uses the Docker container engine to control Home Assistant Core and Apps in separate containers. Home Assistant Operating System is not based on a regular Linux distribution like Ubuntu. It is built using Buildroot and it is optimized to run Home Assistant. It targets single board compute (SBC) devices like the Raspberry Pi or ODROID but also supports x86-64 systems with UEFI.

Home Assistant - A project from the Open Home Foundation

Features

  • Lightweight and memory-efficient
  • Minimized I/O
  • Over The Air (OTA) updates
  • Offline updates
  • Modular using Docker container engine

Supported hardware

The list of supported hardware is defined by ADR-0015. Every new hardware addition must meet at least requirements defined in ADR-0017 and pass through an architecture design proposal.

For documentation explaining details of the individual supported boards, see Board support section of the Home Assistant Developer Docs.

Getting Started

If you just want to use Home Assistant the official getting started guide and installation instructions take you through how to download Home Assistant Operating System and get it running on your machine.

If you're interested in finding out more about Home Assistant Operating System and how it works read on...

Development

If you don't have experience with embedded systems, Buildroot or the build process for Linux distributions it is recommended to read up on these topics first (e.g. Bootlin has excellent resources).

The Home Assistant Operating System documentation can be found on the Home Assistant Developer Docs website.

Components

  • Bootloader:
  • GRUB for devices that support UEFI
  • U-Boot for devices that don't support UEFI
  • Operating System:
  • Buildroot LTS Linux
  • 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:
  • AppArmor Linux kernel security module

Development builds

The Development build GitHub Action Workflow is a manually triggered workflow which creates Home Assistant OS development builds. The development builds are available at https://os-artifacts.home-assistant.io/index.html.

Core symbols most depended-on inside this repo

_warn
called by 45
buildroot-external/scripts/kconfiglib.py
run_check
called by 41
tests/qemu_shell_strategy.py
expr_value
called by 38
buildroot-external/scripts/kconfiglib.py
_parse_error
called by 27
buildroot-external/scripts/kconfiglib.py
expr_str
called by 14
buildroot-external/scripts/kconfiglib.py
_make_and
called by 13
buildroot-external/scripts/kconfiglib.py
_check_token
called by 11
buildroot-external/scripts/kconfiglib.py
_open
called by 8
buildroot-external/scripts/kconfiglib.py

Shape

Method 152
Function 88
Class 11

Languages

Python100%

Modules by API surface

buildroot-external/scripts/kconfiglib.py197 symbols
tests/supervisor_test/test_supervisor.py15 symbols
tests/smoke_test/test_basic.py15 symbols
tests/qemu_shell_strategy.py7 symbols
tests/conftest.py6 symbols
tests/smoke_test/test_os_update.py4 symbols
buildroot-external/scripts/check-dotconfig.py4 symbols
tests/smoke_test/test_offline.py3 symbols

Dependencies from manifests, versioned

labgrid25.0.1 · 1×
pytest-dependency0.6.1 · 1×
pytest-timeout2.4.0 · 1×

For agents

$ claude mcp add operating-system \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact