1
0
mirror of https://github.com/home-assistant/operating-system.git synced 2026-05-08 17:49:46 +01:00
Pascal Vizeli 4424f5ab6b Barebox Update (#12)
* Create hassio-rauc.service

* Update hassio-supervisor.service

* Update hassio-rauc.service

* Update hassio-supervisor.service

* Update and rename hassio-rauc.service to rauc-good.service

* Update rauc-good.service

* Create rauc-bad.service

* Update rauc-bad.service

* Update rauc-good.service

* Update hassio-supervisor.service

* Fix barebox recovery

* Create title

* Create title

* Create action

* Create title

* Create action

* Create 20-boot-system1

* Rename buildroot-external/barebox-env/menu/20-boot-system1/title to buildroot-external/barebox-env/menu/20-boot-system2title

* Update and rename buildroot-external/barebox-env/menu/20-boot-system2title to buildroot-external/barebox-env/menu/20-boot-system1/title

* Create title

* Create action

* Create action

* Delete autoboot_timeout

* Create editcmd

* Update init

* Update init

* Fix barebox config

* Update init

* Update system0

* Update system1

* Barebox cleanups

* Update init

* Update init

* Create 0001-get-devicetree-from-file.patch

* Update ova_defconfig

* Update system0

* Update system1

* Create 0001-add-i-argument-to.patch

* Update barebox.config

* Update rauc

* Rename buildroot-external/board/ova/patches/dt-util/0001-get-devicetree-from-file.patch to buildroot-external/board/ova/patches/dt-utils/0001-get-devicetree-from-file.patch

* Add script

* fix barebox-state
2018-05-10 01:11:07 +02:00
2018-04-29 10:22:11 +02:00
2018-05-10 01:11:07 +02:00
2018-05-10 01:11:07 +02:00
2018-05-10 01:11:07 +02:00
2018-03-28 00:01:44 +02:00
2018-05-10 01:11:07 +02:00
2018-04-16 15:31:15 +02:00
2018-03-17 17:35:34 +01:00
2018-03-18 21:50:14 +01:00
2018-04-16 19:29:15 +02:00
2018-04-15 10:27:33 +02:00
2018-05-02 19:22:10 +02:00

WORK IN PROGRESS!

Hass.io OS

Hass.io OS based on buildroot. It's a hypervisor for Docker and supports various kind of IoT hardware. It is also available as virtual appliance. The whole system is optimized for embedded system and security. You can update the system simple with OTA updates or offline updates.

Focus

  • Linux kernel 4.15
  • Barebox as bootloader
  • RAUC for OTA updates
  • SquashFS LZ4 as filesystem
  • Docker 17.12.1
  • AppArmor protected
  • ZRAM LZ4 for /tmp, /var, swap
  • Run every supervisor

Schemas

Configuration

Create a USB stick with a partition named "hassio-config". This partition can include follow files:

  • network-* (NetworkManager keyfiles)
  • known_hosts (SSH)
  • hassio-os-*.ota (Firmware updates)

Customize

Supervisor/Cli

Provide a file with the name hassio.json in your data partition and the following structure:

{
  "supervisor": "repo/image",
  "supervisor_args": "optional / custom docker arguments",
  "cli": "repo/image",
  "cli_args": "optional / custom docker arguments"
}

Building

Running sudo ./enter.sh will get you into the build Docker container.
make -C /build/buildroot BR2_EXTERNAL=/build/buildroot-external xy_defconfig

From outside the Docker container, while it is still running you can use ./getimage.sh to get the output image.

Helpers

  • make -C /build/buildroot BR2_EXTERNAL=/build/buildroot-external defconfig BR2_DEFCONFIG=/build/buildroot-external/configs/xy_defconfig

  • make -C /build/buildroot BR2_EXTERNAL=/build/buildroot-external menuconfig

  • make -C /build/buildroot BR2_EXTERNAL=/build/buildroot-external linux-menuconfig

  • make -C /build/buildroot BR2_EXTERNAL=/build/buildroot-external barebox-menuconfig

  • make -C /build/buildroot BR2_EXTERNAL=/build/buildroot-external savedefconfig BR2_DEFCONFIG=/build/buildroot-external/configs/xy_defconfig

  • make -C /build/buildroot BR2_EXTERNAL=/build/buildroot-external linux-update-defconfig

  • make -C /build/buildroot BR2_EXTERNAL=/build/buildroot-external barebox-update-defconfig

Languages
Python 73.3%
Shell 16.7%
Makefile 8.5%
HTML 0.8%
Dockerfile 0.4%
Other 0.3%