diff --git a/buildroot-external/configs/intel_nuc_defconfig b/buildroot-external/configs/intel_nuc_defconfig index ea50a1485..67be10918 100644 --- a/buildroot-external/configs/intel_nuc_defconfig +++ b/buildroot-external/configs/intel_nuc_defconfig @@ -103,5 +103,6 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSIO=y BR2_PACKAGE_HASSIO_ARCH="amd64" +BR2_PACKAGE_HASSIO_MACHINE="intel-nuc" BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_INTEL_E1000E=y diff --git a/buildroot-external/configs/odroid_c2_defconfig b/buildroot-external/configs/odroid_c2_defconfig index 11215b280..62dfd770f 100644 --- a/buildroot-external/configs/odroid_c2_defconfig +++ b/buildroot-external/configs/odroid_c2_defconfig @@ -96,6 +96,7 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSIO=y BR2_PACKAGE_HASSIO_ARCH="aarch64" +BR2_PACKAGE_HASSIO_MACHINE="odroid-c2" BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_HARDKERNEL_BOOT=y BR2_PACKAGE_HARDKERNEL_BOOT_ODROID_C2=y diff --git a/buildroot-external/configs/odroid_n2_defconfig b/buildroot-external/configs/odroid_n2_defconfig index ed005cd4d..836a49a1e 100644 --- a/buildroot-external/configs/odroid_n2_defconfig +++ b/buildroot-external/configs/odroid_n2_defconfig @@ -96,6 +96,7 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSIO=y BR2_PACKAGE_HASSIO_ARCH="aarch64" +BR2_PACKAGE_HASSIO_MACHINE="odroid-n2" BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_HARDKERNEL_BOOT=y BR2_PACKAGE_HARDKERNEL_BOOT_ODROID_N2=y diff --git a/buildroot-external/configs/odroid_xu4_defconfig b/buildroot-external/configs/odroid_xu4_defconfig index 4718439ad..af4bcfea3 100644 --- a/buildroot-external/configs/odroid_xu4_defconfig +++ b/buildroot-external/configs/odroid_xu4_defconfig @@ -100,6 +100,7 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSIO=y BR2_PACKAGE_HASSIO_ARCH="armv7" +BR2_PACKAGE_HASSIO_MACHINE="odroid-xu" BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_HARDKERNEL_BOOT=y BR2_PACKAGE_HARDKERNEL_BOOT_ODROID_XU4=y diff --git a/buildroot-external/configs/ova_defconfig b/buildroot-external/configs/ova_defconfig index a4ba8f0c1..59ea4dd60 100644 --- a/buildroot-external/configs/ova_defconfig +++ b/buildroot-external/configs/ova_defconfig @@ -94,4 +94,5 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSIO=y BR2_PACKAGE_HASSIO_ARCH="amd64" +BR2_PACKAGE_HASSIO_MACHINE="qemux86-64" BR2_PACKAGE_APPARMOR=y diff --git a/buildroot-external/configs/rpi0_w_defconfig b/buildroot-external/configs/rpi0_w_defconfig index 7fb898fac..885ac2af5 100644 --- a/buildroot-external/configs/rpi0_w_defconfig +++ b/buildroot-external/configs/rpi0_w_defconfig @@ -99,5 +99,6 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSIO=y BR2_PACKAGE_HASSIO_ARCH="armhf" +BR2_PACKAGE_HASSIO_MACHINE="raspberrypi" BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_BLUETOOTH_BCM43XX=y diff --git a/buildroot-external/configs/rpi2_defconfig b/buildroot-external/configs/rpi2_defconfig index 4a351aeb3..a4117500e 100644 --- a/buildroot-external/configs/rpi2_defconfig +++ b/buildroot-external/configs/rpi2_defconfig @@ -98,4 +98,5 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSIO=y BR2_PACKAGE_HASSIO_ARCH="armv7" +BR2_PACKAGE_HASSIO_MACHINE="raspberrypi2" BR2_PACKAGE_APPARMOR=y diff --git a/buildroot-external/configs/rpi3_64_defconfig b/buildroot-external/configs/rpi3_64_defconfig index 913a4bb25..145bd2d0e 100644 --- a/buildroot-external/configs/rpi3_64_defconfig +++ b/buildroot-external/configs/rpi3_64_defconfig @@ -99,5 +99,6 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSIO=y BR2_PACKAGE_HASSIO_ARCH="aarch64" +BR2_PACKAGE_HASSIO_MACHINE="raspberrypi3-64" BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_BLUETOOTH_BCM43XX=y diff --git a/buildroot-external/configs/rpi3_defconfig b/buildroot-external/configs/rpi3_defconfig index 491bbede3..c4b83e9bc 100644 --- a/buildroot-external/configs/rpi3_defconfig +++ b/buildroot-external/configs/rpi3_defconfig @@ -99,5 +99,6 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSIO=y BR2_PACKAGE_HASSIO_ARCH="armv7" +BR2_PACKAGE_HASSIO_MACHINE="raspberrypi3" BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_BLUETOOTH_BCM43XX=y diff --git a/buildroot-external/configs/rpi4_64_defconfig b/buildroot-external/configs/rpi4_64_defconfig index d409cc8d8..fdba53ecd 100644 --- a/buildroot-external/configs/rpi4_64_defconfig +++ b/buildroot-external/configs/rpi4_64_defconfig @@ -100,5 +100,6 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSIO=y BR2_PACKAGE_HASSIO_ARCH="aarch64" +BR2_PACKAGE_HASSIO_MACHINE="raspberrypi4-64" BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_BLUETOOTH_BCM43XX=y diff --git a/buildroot-external/configs/rpi4_defconfig b/buildroot-external/configs/rpi4_defconfig index 16b30719a..0b02f76f8 100644 --- a/buildroot-external/configs/rpi4_defconfig +++ b/buildroot-external/configs/rpi4_defconfig @@ -100,5 +100,6 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSIO=y BR2_PACKAGE_HASSIO_ARCH="armv7" +BR2_PACKAGE_HASSIO_MACHINE="raspberrypi4" BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_BLUETOOTH_BCM43XX=y diff --git a/buildroot-external/configs/rpi_defconfig b/buildroot-external/configs/rpi_defconfig index cead842e8..0c2d3014a 100644 --- a/buildroot-external/configs/rpi_defconfig +++ b/buildroot-external/configs/rpi_defconfig @@ -98,4 +98,5 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSIO=y BR2_PACKAGE_HASSIO_ARCH="armhf" +BR2_PACKAGE_HASSIO_MACHINE="raspberrypi" BR2_PACKAGE_APPARMOR=y diff --git a/buildroot-external/configs/tinker_defconfig b/buildroot-external/configs/tinker_defconfig index 6b2bcdfe2..89242b078 100644 --- a/buildroot-external/configs/tinker_defconfig +++ b/buildroot-external/configs/tinker_defconfig @@ -105,5 +105,6 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSIO=y BR2_PACKAGE_HASSIO_ARCH="armv7" +BR2_PACKAGE_HASSIO_MACHINE="tinker" BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_BLUETOOTH_RTL8723=y diff --git a/buildroot-external/package/hassio/Config.in b/buildroot-external/package/hassio/Config.in index 798c3fc73..f7a6a84c2 100644 --- a/buildroot-external/package/hassio/Config.in +++ b/buildroot-external/package/hassio/Config.in @@ -13,4 +13,9 @@ config BR2_PACKAGE_HASSIO_ARCH help Supervisor architecture which should be pull. +config BR2_PACKAGE_HASSIO_MACHINE + string "Supervisor Machine" + help + Machine to pull containers for (used for landing page). + endif diff --git a/buildroot-external/package/hassio/builder/hostapp.sh b/buildroot-external/package/hassio/builder/hostapp.sh index bb583597c..2da37a2b4 100755 --- a/buildroot-external/package/hassio/builder/hostapp.sh +++ b/buildroot-external/package/hassio/builder/hostapp.sh @@ -2,6 +2,7 @@ set -e ARCH= +MACHINE= DATA_IMG="/export/data.ext4" VERSION_URL="https://version.home-assistant.io/stable.json" APPARMOR_URL="https://version.home-assistant.io/apparmor.txt" @@ -14,6 +15,10 @@ while [[ $# -gt 0 ]]; do ARCH=$2 shift ;; + --machine) + MACHINE=$2 + shift + ;; *) exit 1 ;; @@ -27,6 +32,7 @@ AUDIO="homeassistant/${ARCH}-hassio-audio" CLI="homeassistant/${ARCH}-hassio-cli" MULTICAST="homeassistant/${ARCH}-hassio-multicast" OBSERVER="homeassistant/${ARCH}-hassio-observer" +LANDINGPAGE="homeassistant/${MACHINE}-homeassistant:landingpage" SUPERVISOR_VERSION=$(curl -s ${VERSION_URL} | jq -e -r '.supervisor') DNS_VERSION=$(curl -s ${VERSION_URL} | jq -e -r '.dns') @@ -76,6 +82,9 @@ docker pull "${AUDIO}:${AUDIO_VERSION}" docker pull "${MULTICAST}:${MULTICAST_VERSION}" docker pull "${OBSERVER}:${OBSERVER_VERSION}" +# Install landing page +docker pull "${LANDINGPAGE}" + # Setup AppArmor mkdir -p "/mnt/data/supervisor/apparmor" curl -sL -o "/mnt/data/supervisor/apparmor/hassio-supervisor" "${APPARMOR_URL}" diff --git a/buildroot-external/package/hassio/hassio.mk b/buildroot-external/package/hassio/hassio.mk index 3f5f8ae35..4bc890fae 100644 --- a/buildroot-external/package/hassio/hassio.mk +++ b/buildroot-external/package/hassio/hassio.mk @@ -19,7 +19,8 @@ define HASSIO_INSTALL_TARGET_CMDS -e BUILDER_UID="$(shell id -u)" -e BUILDER_GID="$(shell id -g)" \ -v $(BINARIES_DIR):/export \ hassos-hostapps \ - --arch $(BR2_PACKAGE_HASSIO_ARCH) + --arch $(BR2_PACKAGE_HASSIO_ARCH) \ + --machine $(BR2_PACKAGE_HASSIO_MACHINE) endef $(eval $(generic-package))