* Initial commit of Home Assistant Green board support * Add Home Assistant Green boot files * HA Green board configs * board/nabucasa: Unsupport rtc rk808 * Use odroid-m1 as Supervisor machine for now * Green: linux: pmic: set set PWRON_LP_OFF_TIME 12s * green: Update U-Boot to 2023.07.02 * green: supports usb boot * green: uboot-boot.ush use rk3566-ha-green.dtb * green: spinor supports uboot * green: use U-Boot provided devtype as boot device type * green: Fix polarity of power key The power key is low active. Add patch to avoid accidential long press being reported to user space. * green: uboot: eeprom: add CONFIG_ENV_OVERWRITE * green: uboot: eerprom: add mac read * green: fix-cpufreq null issue * green: board aliases ethernet0 * green: uboot mac set ethernet0 * green: uboot add serial-number read * green: Update kernel 6.1.39 * green: add green to the build matrix * green: fix 339d13 & 9b9416 can not boot from usb * green: changfe sd mode, change led default state * green: uboot add board.c to read eeprom info * green: enable uboot to read eeprom info * green: delete boot.scr read eeprom function * green: change spl loader uboot order:sd-emmc-spi_nor * green: serialnum change to 18 bytes * green: Update kernel 6.1.43 * green: use hwrng support from ODROID-M1 * green: Use latest Rockchip BL31/DDR binaries * change led_act polarity * green: Disable watchdog The watchdog on Green seems to not reliably reset the system. For now disable the driver to avoid systemd making use of it. * green: Update kernel 6.1.44 * green: Fix Supervisor Machine Use odroid-m1 for now as Supervisor machine (used to download the landing page). * green: emmc use hs200 to increase speed * green: use green as Supervisor machine * green: Update kernel 6.1.45 * green: add Green to the kernel documentation --------- Co-authored-by: Zhangqun Ming <north_sea@qq.com> Co-authored-by: syan <syan.cham@gmail.com>
Home Assistant Operating System
Home Assistant Operating System (formerly HassOS) is a Linux based operating system optimized to host Home Assistant and its Add-ons.
Home Assistant Operating System uses Docker as Container engine. It by default deploys the Home Assistant Supervisor as a container. Home Assistant Supervisor in turn uses the Docker container engine to control Home Assistant Core and Add-Ons 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.
Features
- Lightweight and memory-efficient
- Minimized I/O
- Over The Air (OTA) updates
- Offline updates
- Modular using Docker container engine
Supported hardware
- Raspberry Pi
- Hardkernel ODROID
- Asus Tinker Board
- Generic x86-64 (e.g. Intel NUC)
- Virtual appliances
See the full list and specific models here
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:
- Operating System:
- Buildroot LTS Linux
- File Systems:
- 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 os-builds.home-assistant.io.