From 8a1f85f53a2eecefb3da37195d6fea3d6eb27e65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Thu, 12 Jun 2025 17:37:42 +0200 Subject: [PATCH 01/28] Bump OS to pre-release version 16.0.rc1 --- buildroot-external/meta | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/buildroot-external/meta b/buildroot-external/meta index 2d2a4ea2e..d191e5a95 100644 --- a/buildroot-external/meta +++ b/buildroot-external/meta @@ -1,8 +1,8 @@ VERSION_MAJOR="16" VERSION_MINOR="0" -VERSION_SUFFIX="dev0" +VERSION_SUFFIX="rc1" HASSOS_NAME="Home Assistant OS" HASSOS_ID="haos" -DEPLOYMENT="development" +DEPLOYMENT="staging" From a5f82b2fa7991a4198bbd5388c786b42a71db67f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Jun 2025 16:50:39 +0200 Subject: [PATCH 02/28] Bump docker/setup-buildx-action from 3.10.0 to 3.11.0 (#4100) Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.10.0 to 3.11.0. - [Release notes](https://github.com/docker/setup-buildx-action/releases) - [Commits](https://github.com/docker/setup-buildx-action/compare/v3.10.0...v3.11.0) --- updated-dependencies: - dependency-name: docker/setup-buildx-action dependency-version: 3.11.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (cherry picked from commit cc265b9e2bcf25888dfc3702abd62e38ca093ea6) --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index e9416ee34..2ff4f3b2d 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -163,7 +163,7 @@ jobs: } - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3.10.0 + uses: docker/setup-buildx-action@v3.11.0 - name: Log in to the GitHub container registry uses: docker/login-action@v3.4.0 with: From 491a8c5c58f651ddb71272792d01bd761486adb2 Mon Sep 17 00:00:00 2001 From: cubemike Date: Mon, 16 Jun 2025 13:07:05 -0400 Subject: [PATCH 03/28] Add Intel Cannon Lake pinctrl driver (#4091) Add pinctrl driver for board like CBx2 (a former chromebox with a Cannon Lake Intel Celeron). (cherry picked from commit 94313510365bab586e276e4c0237ed16bb1d6d76) --- buildroot-external/board/pc/generic-x86-64/kernel.config | 2 ++ 1 file changed, 2 insertions(+) diff --git a/buildroot-external/board/pc/generic-x86-64/kernel.config b/buildroot-external/board/pc/generic-x86-64/kernel.config index 772b6b53b..e155ec8ac 100644 --- a/buildroot-external/board/pc/generic-x86-64/kernel.config +++ b/buildroot-external/board/pc/generic-x86-64/kernel.config @@ -162,3 +162,5 @@ CONFIG_BMP280=m # Required for some PCIe devices such as ath12k CONFIG_IRQ_REMAP=y + +CONFIG_PINCTRL_CANNONLAKE=m From 5baf08f1fa04040e18362ad53172bbb30aa83859 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Tue, 17 Jun 2025 16:29:39 +0200 Subject: [PATCH 04/28] Remove bug label from the bug report issue template (#4104) Same reasoning as in home-assistant/supervisor#5955, don't apply any labels or issue types before triaging. (cherry picked from commit 5e36e681ae419610cf195bf3669204f126278ad4) --- .github/ISSUE_TEMPLATE/bug_report.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 3dbbe72de..840df9813 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -1,6 +1,5 @@ name: Bug Report Form description: Report an issue related to the Home Assistant Operating System. -labels: bug body: - type: markdown attributes: From 589ac5edfb5805039ed4806723baea773d276ab5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Fri, 20 Jun 2025 09:57:10 +0200 Subject: [PATCH 05/28] Linux: Update kernel to 6.12.34 (#4109) * https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.34 (cherry picked from commit 19b848cbbd8c5628c83804cdcea2df211611d891) --- Documentation/kernel.md | 24 +++++++++---------- .../configs/generic_aarch64_defconfig | 2 +- .../configs/generic_x86_64_defconfig | 2 +- buildroot-external/configs/green_defconfig | 2 +- .../configs/khadas_vim3_defconfig | 2 +- .../configs/odroid_c2_defconfig | 2 +- .../configs/odroid_c4_defconfig | 2 +- .../configs/odroid_m1_defconfig | 2 +- .../configs/odroid_m1s_defconfig | 2 +- .../configs/odroid_n2_defconfig | 2 +- .../configs/odroid_xu4_defconfig | 2 +- buildroot-external/configs/ova_defconfig | 2 +- buildroot-external/configs/tinker_defconfig | 2 +- 13 files changed, 24 insertions(+), 24 deletions(-) diff --git a/Documentation/kernel.md b/Documentation/kernel.md index ee144b963..493cd0734 100644 --- a/Documentation/kernel.md +++ b/Documentation/kernel.md @@ -3,7 +3,7 @@ | Board | Version | |-------|---------| -| Open Virtual Appliance | 6.12.33 | +| Open Virtual Appliance | 6.12.34 | | Raspberry Pi | 6.12.25 | | Raspberry Pi 0-W | 6.12.25 | | Raspberry Pi 2 | 6.12.25 | @@ -11,14 +11,14 @@ | Raspberry Pi 4 | 6.12.25 | | Raspberry Pi 5 | 6.12.25 | | Home Assistant Yellow | 6.12.25 | -| Home Assistant Green | 6.12.33 | -| Tinker Board | 6.12.33 | -| ODROID-C2 | 6.12.33 | -| ODROID-C4 | 6.12.33 | -| ODROID-M1 | 6.12.33 | -| ODROID-M1S | 6.12.33 | -| ODROID-N2 | 6.12.33 | -| ODROID-XU4 | 6.12.33 | -| Generic aarch64 | 6.12.33 | -| Generic x86-64 | 6.12.33 | -| Khadas VIM3 | 6.12.33 | +| Home Assistant Green | 6.12.34 | +| Tinker Board | 6.12.34 | +| ODROID-C2 | 6.12.34 | +| ODROID-C4 | 6.12.34 | +| ODROID-M1 | 6.12.34 | +| ODROID-M1S | 6.12.34 | +| ODROID-N2 | 6.12.34 | +| ODROID-XU4 | 6.12.34 | +| Generic aarch64 | 6.12.34 | +| Generic x86-64 | 6.12.34 | +| Khadas VIM3 | 6.12.34 | diff --git a/buildroot-external/configs/generic_aarch64_defconfig b/buildroot-external/configs/generic_aarch64_defconfig index 6bc2e2321..bd54aa19f 100644 --- a/buildroot-external/configs/generic_aarch64_defconfig +++ b/buildroot-external/configs/generic_aarch64_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64 $(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.33" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.34" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/generic_x86_64_defconfig b/buildroot-external/configs/generic_x86_64_defconfig index 3d2f8acb4..289a15d99 100644 --- a/buildroot-external/configs/generic_x86_64_defconfig +++ b/buildroot-external/configs/generic_x86_64_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64 $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.33" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.34" BR2_LINUX_KERNEL_DEFCONFIG="x86_64" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/green_defconfig b/buildroot-external/configs/green_defconfig index 230852df6..9a92f9917 100644 --- a/buildroot-external/configs/green_defconfig +++ b/buildroot-external/configs/green_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green $(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.33" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.34" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/kernel-arm64-rockchip.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green/kernel.config" diff --git a/buildroot-external/configs/khadas_vim3_defconfig b/buildroot-external/configs/khadas_vim3_defconfig index 7c9751aca..507ac330f 100644 --- a/buildroot-external/configs/khadas_vim3_defconfig +++ b/buildroot-external/configs/khadas_vim3_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/vim3 $(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/vim3/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.33" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.34" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/kernel-vim.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" diff --git a/buildroot-external/configs/odroid_c2_defconfig b/buildroot-external/configs/odroid_c2_defconfig index 4d61b0229..63e1e6145 100644 --- a/buildroot-external/configs/odroid_c2_defconfig +++ b/buildroot-external/configs/odroid_c2_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.33" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.34" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" diff --git a/buildroot-external/configs/odroid_c4_defconfig b/buildroot-external/configs/odroid_c4_defconfig index 22a78a7ef..f81c2d689 100644 --- a/buildroot-external/configs/odroid_c4_defconfig +++ b/buildroot-external/configs/odroid_c4_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.33" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.34" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" diff --git a/buildroot-external/configs/odroid_m1_defconfig b/buildroot-external/configs/odroid_m1_defconfig index af1da956d..049265b04 100644 --- a/buildroot-external/configs/odroid_m1_defconfig +++ b/buildroot-external/configs/odroid_m1_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.33" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.34" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/kernel-arm64-rockchip.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1/kernel.config" diff --git a/buildroot-external/configs/odroid_m1s_defconfig b/buildroot-external/configs/odroid_m1s_defconfig index 31e53eeb2..394e7ec4b 100644 --- a/buildroot-external/configs/odroid_m1s_defconfig +++ b/buildroot-external/configs/odroid_m1s_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.33" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.34" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/kernel-arm64-rockchip.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s/kernel.config" diff --git a/buildroot-external/configs/odroid_n2_defconfig b/buildroot-external/configs/odroid_n2_defconfig index fc05f5cff..061fc8511 100644 --- a/buildroot-external/configs/odroid_n2_defconfig +++ b/buildroot-external/configs/odroid_n2_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.33" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.34" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/kernel.config" diff --git a/buildroot-external/configs/odroid_xu4_defconfig b/buildroot-external/configs/odroid_xu4_defconfig index a15bc2f37..52b5b0978 100644 --- a/buildroot-external/configs/odroid_xu4_defconfig +++ b/buildroot-external/configs/odroid_xu4_defconfig @@ -18,7 +18,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.33" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.34" BR2_LINUX_KERNEL_DEFCONFIG="exynos" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/ova_defconfig b/buildroot-external/configs/ova_defconfig index 0d18904c1..90482fa66 100644 --- a/buildroot-external/configs/ova_defconfig +++ b/buildroot-external/configs/ova_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.33" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.34" BR2_LINUX_KERNEL_DEFCONFIG="x86_64" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/tinker_defconfig b/buildroot-external/configs/tinker_defconfig index 90329ad75..19a89c5f9 100644 --- a/buildroot-external/configs/tinker_defconfig +++ b/buildroot-external/configs/tinker_defconfig @@ -19,7 +19,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker $(BR2_EXTERNAL_HASSOS_PATH)/board/asus/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.33" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.34" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker/kernel.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" From b35a219c02ce1ffccdb3b2fb019e6f3d71e58d76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Fri, 20 Jun 2025 10:05:25 +0200 Subject: [PATCH 06/28] Add Marvell 88E1XXX driver for x86-64 (#4105) Add driver for Marvell PHYs, such as 88E1543(4L) on an ASRock C3758D4I-4L board. Adding it to x86 config only, as it seems it's not widely used anywhere else. Fixes #4025 (cherry picked from commit 6f854b67b0da60c3d23379f828c7b18f70cb45d3) --- buildroot-external/board/pc/generic-x86-64/kernel.config | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/buildroot-external/board/pc/generic-x86-64/kernel.config b/buildroot-external/board/pc/generic-x86-64/kernel.config index e155ec8ac..4d2340c7f 100644 --- a/buildroot-external/board/pc/generic-x86-64/kernel.config +++ b/buildroot-external/board/pc/generic-x86-64/kernel.config @@ -163,4 +163,8 @@ CONFIG_BMP280=m # Required for some PCIe devices such as ath12k CONFIG_IRQ_REMAP=y +# Pin control support CONFIG_PINCTRL_CANNONLAKE=m + +# Network devices +CONFIG_MARVELL_PHY=m From 684a6331ac316dfbf47b160c5998987542ef2897 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Fri, 20 Jun 2025 10:07:13 +0200 Subject: [PATCH 07/28] Add firmware for Intel AX211D2W Wi-Fi card (#4106) * buildroot 30ef1047d9...c3c769f53b (1): > package/linux-firmware: add firmware for Intel Ma models Fixes #4074 (cherry picked from commit 98a3386b32c76beb657929f4dfd5c6c475b93b03) --- buildroot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildroot b/buildroot index 30ef1047d..c3c769f53 160000 --- a/buildroot +++ b/buildroot @@ -1 +1 @@ -Subproject commit 30ef1047d9e4b353ed7679d3da39e382f24a9b59 +Subproject commit c3c769f53b33c58ff9178d0e189c65db72d76dc1 From 05a0387d79d9f865621d470a4891d4d34e23a1a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Fri, 20 Jun 2025 10:20:29 +0200 Subject: [PATCH 08/28] Add tests for OS update and boot slot switching (#4108) Add test that OS update works - use the whole stack using CLI to update to the latest stable version (unless executed manually on the latest stable release, this version should never be the same as the currently tested one). With this test in place, we can also test command for switching the slots, so add an extra test for that too. Fixes #4103 (cherry picked from commit 90d36147f71da7933c0d1d53faba78a1792844e3) --- tests/smoke_test/test_os_update.py | 105 +++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 tests/smoke_test/test_os_update.py diff --git a/tests/smoke_test/test_os_update.py b/tests/smoke_test/test_os_update.py new file mode 100644 index 000000000..b3cc0cb81 --- /dev/null +++ b/tests/smoke_test/test_os_update.py @@ -0,0 +1,105 @@ +import json +import logging +from time import sleep + +import pytest +from labgrid.driver import ExecutionError + +_LOGGER = logging.getLogger(__name__) + + +@pytest.mark.dependency() +@pytest.mark.timeout(120) +def test_init(shell, shell_json): + def check_container_running(container_name): + out = shell.run_check( + f"docker container inspect -f '{{{{.State.Status}}}}' {container_name} || true" + ) + return "running" in out + + # wait for important containers first + while True: + if check_container_running("homeassistant") and check_container_running("hassio_supervisor"): + break + + sleep(1) + + # wait for the system ready and Supervisor at the latest version + while True: + supervisor_info = "\n".join(shell.run_check("ha supervisor info --no-progress --raw-json || true")) + # make sure not to fail when Supervisor is restarting + supervisor_info = json.loads(supervisor_info) if supervisor_info.startswith("{") else None + # make sure not to fail when Supervisor is in setup state + supervisor_data = supervisor_info.get("data") if supervisor_info else None + if supervisor_data and supervisor_data["version"] == supervisor_data["version_latest"]: + output = "\n".join(shell.run_check("ha os info || true")) + if "System is not ready" not in output: + break + + sleep(5) + + +@pytest.mark.dependency(depends=["test_init"]) +@pytest.mark.timeout(300) +def test_os_update(shell, shell_json, target): + # fetch version info and OTA URL + shell.run_check("ha su reload --no-progress") + + # update OS to latest stable - in tests it should never be the same version + stable_version = shell_json("curl -sSL https://version.home-assistant.io/stable.json")["hassos"]["ova"] + + # Core (and maybe Supervisor) might be downloaded at this point, so we need to keep trying + while True: + output = "\n".join(shell.run_check(f"ha os update --no-progress --version {stable_version} || true", timeout=120)) + if "Don't have an URL for OTA updates" in output: + shell.run_check("ha su reload --no-progress") + elif "Command completed successfully" in output: + break + + sleep(5) + + shell.console.expect("Booting `Slot ") + + # reactivate ShellDriver to handle login again + target.deactivate(shell) + target.activate(shell) + + # wait for the system to be ready after update + while True: + output = "\n".join(shell.run_check("ha os info || true")) + if "System is not ready" not in output: + break + + sleep(1) + + # check the updated version + os_info = shell_json("ha os info --no-progress --raw-json") + assert os_info["data"]["version"] == stable_version, "OS did not update successfully" + + +@pytest.mark.dependency(depends=["test_os_update"]) +@pytest.mark.timeout(180) +def test_boot_other_slot(shell, shell_json, target): + # switch to the other slot + os_info = shell_json("ha os info --no-progress --raw-json") + other_version = os_info["data"]["boot_slots"]["A"]["version"] + + shell.run_check(f"ha os boot-slot other --no-progress || true") + + shell.console.expect("Booting `Slot ") + + # reactivate ShellDriver to handle login again + target.deactivate(shell) + target.activate(shell) + + # wait for the system to be ready after switching slots + while True: + output = "\n".join(shell.run_check("ha os info || true")) + if "System is not ready" not in output: + break + + sleep(1) + + # check that the boot slot has changed + os_info = shell_json("ha os info --no-progress --raw-json") + assert os_info["data"]["version"] == other_version From 18ca296825cc41f8b2035bd5fba264bcfdeb71b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Fri, 20 Jun 2025 15:25:36 +0200 Subject: [PATCH 09/28] Update open-vm-tools to v13.0.0 (#4111) * buildroot c3c769f53b...49ec2543bf (1): > package/openvmtools: bump to version 13.0.0 Fixes #4069 (cherry picked from commit 6528e3e9594dab16ef7cceaf6766f90f695e3ba4) --- buildroot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildroot b/buildroot index c3c769f53..49ec2543b 160000 --- a/buildroot +++ b/buildroot @@ -1 +1 @@ -Subproject commit c3c769f53b33c58ff9178d0e189c65db72d76dc1 +Subproject commit 49ec2543bf98138b6e8e221e1ecbb07cbf59eca2 From 619930e6671634267c24e7b72140581b3fa41c75 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Mon, 23 Jun 2025 13:19:35 +0200 Subject: [PATCH 10/28] Update request feature link (#4114) (cherry picked from commit 69d5fb0c995e01deb0e61c17be2ec98fc4922cb6) --- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- .github/ISSUE_TEMPLATE/config.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 840df9813..ec9a399cc 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -1,4 +1,4 @@ -name: Bug Report Form +name: Report an issue with Home Assistant Operating System description: Report an issue related to the Home Assistant Operating System. body: - type: markdown diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index ba4b282a7..0db6c08a2 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -9,7 +9,7 @@ contact_links: about: Our developer documentation has its own issue tracker. Please report issues with the website there. - name: Request a feature for the Operating System - url: https://community.home-assistant.io/c/feature-requests + url: https://github.com/orgs/home-assistant/discussions about: Request an new feature for the Operating System. - name: I have a question or need support From dfa68f76e5ed74b3c397cc271394a2c8f5014ed5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Mon, 23 Jun 2025 15:34:08 +0200 Subject: [PATCH 11/28] Backport patch making num_entries in systemd-journal-gatewayd optional (#4116) Since update to Systemd v256.x the Range header requires the num_entries part and fails if it's not provided, which we worked around by [1]. With this patch that was already accepted upstream, the workaround shouldn't be necessary anymore. [1] https://github.com/home-assistant/supervisor/pull/5827 (cherry picked from commit f5efac66a028ee25f38afb2a5d5432edac503dd0) --- ...-make-num_entries-in-Range-header-op.patch | 147 ++++++++++++++++++ 1 file changed, 147 insertions(+) create mode 100644 buildroot-external/patches/systemd/0005-journal-gatewayd-make-num_entries-in-Range-header-op.patch diff --git a/buildroot-external/patches/systemd/0005-journal-gatewayd-make-num_entries-in-Range-header-op.patch b/buildroot-external/patches/systemd/0005-journal-gatewayd-make-num_entries-in-Range-header-op.patch new file mode 100644 index 000000000..8a4f98bf6 --- /dev/null +++ b/buildroot-external/patches/systemd/0005-journal-gatewayd-make-num_entries-in-Range-header-op.patch @@ -0,0 +1,147 @@ +From a7a18e1be478c0114a7f8e285ce238aacd4c2ba7 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= +Date: Wed, 18 Jun 2025 17:32:49 +0200 +Subject: [PATCH] journal-gatewayd: make num_entries in Range header optional + again + +Since 435c372ce5059082212d37ac7039844f14f34a80 added in v256, +num_entries part of the Range header is mandatory and error is returned +when it's not filled in. This makes using the "follow" argument clumsy, +because for an indefinite following of the logs, arbitrary high number +must be specified. This change makes it possible to omit it again and +documents this behavior in the man page. + +Moreover, as the cursor part of the header was never mandatory, enclose +it in square brackets in the documentation as well and elaborate how +indexing works. + +Following are some concrete examples of the Range header which are now +accepted: + + entries= (or entries=:) + - everything starting from the first event + + entries=cursor + - everything starting from `cursor` + + entries=:-9:10 + - last 10 events and close the connection + +If the follow flag is set: + + entries=:-4:10 + - last 5 events, wait for 5 new and close connection + + entries=:-9: + - last 10 events and keep streaming + +Note that only the very last one is changing current behavior, but +reintroduces pre-v256 compatibility. + +Fixes #37172 +--- +(Backported for v256.x) +Signed-off-by: Jan Čermák +Upstream: https://github.com/systemd/systemd/pull/37883 +--- + man/systemd-journal-gatewayd.service.xml | 13 ++++++++----- + src/journal-remote/journal-gatewayd.c | 14 ++++++++------ + test/units/TEST-04-JOURNAL.journal-gatewayd.sh | 15 +++++++++++++++ + 3 files changed, 31 insertions(+), 11 deletions(-) + +diff --git a/man/systemd-journal-gatewayd.service.xml b/man/systemd-journal-gatewayd.service.xml +index 38adfe6b4e..5dbdace78e 100644 +--- a/man/systemd-journal-gatewayd.service.xml ++++ b/man/systemd-journal-gatewayd.service.xml +@@ -275,20 +275,23 @@ + Range header + + +- ++ + + + + + + where +- cursor is a cursor string, ++ cursor is a cursor string, defaults to the first entry, + since and until are timestamps (seconds since 1970-01-01 00:00:00 UTC), + num_skip is an integer, + num_entries is an unsigned integer. + + + Range defaults to all available events. ++ ++ If num_skip is negative and no cursor is ++ given, the last entry will be the reference point. + + + +@@ -300,9 +303,9 @@ + + follow + +- wait for new events +- (like journalctl --follow, except that +- the number of events returned is not limited). ++ wait for new events (like journalctl --follow, the number of ++ events returned is not limited, unless num_entries is specified in the ++ Range header). + + + +diff --git a/src/journal-remote/journal-gatewayd.c b/src/journal-remote/journal-gatewayd.c +index 0999234f42..0661ecb1cf 100644 +--- a/src/journal-remote/journal-gatewayd.c ++++ b/src/journal-remote/journal-gatewayd.c +@@ -332,14 +332,16 @@ static int request_parse_range_skip_and_n_entries( + } + + p = (colon2 ?: colon) + 1; +- r = safe_atou64(p, &m->n_entries); +- if (r < 0) +- return r; ++ if (!isempty(p)) { ++ r = safe_atou64(p, &m->n_entries); ++ if (r < 0) ++ return r; + +- if (m->n_entries <= 0) +- return -EINVAL; ++ if (m->n_entries <= 0) ++ return -EINVAL; + +- m->n_entries_set = true; ++ m->n_entries_set = true; ++ } + + return 0; + } +diff --git a/test/units/TEST-04-JOURNAL.journal-gatewayd.sh b/test/units/TEST-04-JOURNAL.journal-gatewayd.sh +index 35ac91ba40..ef85dc17c6 100755 +--- a/test/units/TEST-04-JOURNAL.journal-gatewayd.sh ++++ b/test/units/TEST-04-JOURNAL.journal-gatewayd.sh +@@ -67,6 +67,21 @@ curl -LSfs \ + --header "Range: entries=$BOOT_CURSOR:5:10" \ + http://localhost:19531/entries >"$LOG_FILE" + jq -se "length == 10" "$LOG_FILE" ++# Check that follow with no num_entries follows "indefinitely" ++( ++ set +e; \ ++ timeout 5 curl -LSfs \ ++ --header "Accept: application/json" \ ++ --header "Range: entries=:-1:" \ ++ http://localhost:19531/entries?follow >"$LOG_FILE" ; \ ++ test $? -eq 124 # timeout should kill the curl process waiting for new entries ++) ++# Check that follow with num_entries returns the specified number of entries and exits ++timeout 5 curl -LSfs \ ++ --header "Accept: application/json" \ ++ --header "Range: entries=:-20:10" \ ++ http://localhost:19531/entries?follow >"$LOG_FILE" ++jq -se "length == 10" "$LOG_FILE" + # Check if the specified cursor refers to an existing entry and return just that entry + curl -LSfs \ + --header "Accept: application/json" \ From 1e99a466bc62fd744e24434903c2172fe667fae7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Mon, 23 Jun 2025 15:39:35 +0200 Subject: [PATCH 12/28] Fix flaky timeout after boot slot switching test (#4113) Add timeout to expect call when waiting for the OS reboot after switching slots. While it never fails for me locally, it regularly breaks tests in GHA. (cherry picked from commit 98a7a55df61e715968ef9ae336c3d9a8262b5e89) --- tests/smoke_test/test_os_update.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/smoke_test/test_os_update.py b/tests/smoke_test/test_os_update.py index b3cc0cb81..170e7e089 100644 --- a/tests/smoke_test/test_os_update.py +++ b/tests/smoke_test/test_os_update.py @@ -3,7 +3,6 @@ import logging from time import sleep import pytest -from labgrid.driver import ExecutionError _LOGGER = logging.getLogger(__name__) @@ -86,7 +85,7 @@ def test_boot_other_slot(shell, shell_json, target): shell.run_check(f"ha os boot-slot other --no-progress || true") - shell.console.expect("Booting `Slot ") + shell.console.expect("Booting `Slot ", timeout=60) # reactivate ShellDriver to handle login again target.deactivate(shell) From f9da1a6ef5cad300d48681417c0eb82b54c858c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Mon, 23 Jun 2025 15:39:47 +0200 Subject: [PATCH 13/28] Enable Intel IXGBE driver, clean up Intel NIC config options (#4115) Enable Intel NIC support only in the PCI include fragment and keep VF-related options enabled only in the OVA config. Refs #4021 (cherry picked from commit b25fce69b6bca938218dbaa72f25199c2f68d39b) --- buildroot-external/board/hardkernel/kernel-amlogic.config | 2 -- buildroot-external/board/khadas/kernel-vim.config | 2 -- .../kernel/v6.12.y/device-support-pci.config | 1 + .../kernel/v6.12.y/kernel-arm64-rockchip.config | 8 -------- 4 files changed, 1 insertion(+), 12 deletions(-) diff --git a/buildroot-external/board/hardkernel/kernel-amlogic.config b/buildroot-external/board/hardkernel/kernel-amlogic.config index ccedb1842..5cef21081 100644 --- a/buildroot-external/board/hardkernel/kernel-amlogic.config +++ b/buildroot-external/board/hardkernel/kernel-amlogic.config @@ -285,8 +285,6 @@ CONFIG_HNS3=y CONFIG_HNS3_HCLGE=y CONFIG_HNS3_ENET=y CONFIG_E1000E=y -CONFIG_IGB=y -CONFIG_IGBVF=y CONFIG_MVMDIO=y CONFIG_SKY2=y CONFIG_MLX4_EN=m diff --git a/buildroot-external/board/khadas/kernel-vim.config b/buildroot-external/board/khadas/kernel-vim.config index b37919a09..366752c95 100644 --- a/buildroot-external/board/khadas/kernel-vim.config +++ b/buildroot-external/board/khadas/kernel-vim.config @@ -209,8 +209,6 @@ CONFIG_HNS3=y CONFIG_HNS3_HCLGE=y CONFIG_HNS3_ENET=y CONFIG_E1000E=y -CONFIG_IGB=y -CONFIG_IGBVF=y CONFIG_MVMDIO=y CONFIG_SKY2=y CONFIG_MLX4_EN=m diff --git a/buildroot-external/kernel/v6.12.y/device-support-pci.config b/buildroot-external/kernel/v6.12.y/device-support-pci.config index 7646fb993..8569bc9c7 100644 --- a/buildroot-external/kernel/v6.12.y/device-support-pci.config +++ b/buildroot-external/kernel/v6.12.y/device-support-pci.config @@ -2,6 +2,7 @@ CONFIG_PCI_IOV=y CONFIG_IGB=y +CONFIG_IXGBE=y CONFIG_I40E=m CONFIG_IGC=m diff --git a/buildroot-external/kernel/v6.12.y/kernel-arm64-rockchip.config b/buildroot-external/kernel/v6.12.y/kernel-arm64-rockchip.config index 49b08f0bf..5a7bf8e9a 100644 --- a/buildroot-external/kernel/v6.12.y/kernel-arm64-rockchip.config +++ b/buildroot-external/kernel/v6.12.y/kernel-arm64-rockchip.config @@ -1053,14 +1053,6 @@ CONFIG_HNS3_ENET=y CONFIG_E100=m CONFIG_E1000=m CONFIG_E1000E=m -CONFIG_IGB=m -CONFIG_IGBVF=m -CONFIG_IXGBE=m -CONFIG_IXGBE_DCB=y -CONFIG_IXGBEVF=m -CONFIG_I40E=m -CONFIG_I40EVF=m -CONFIG_FM10K=m CONFIG_JME=m CONFIG_ADIN1110=m CONFIG_LITEX_LITEETH=m From fec70eac09152e29e10482a4a4350ea53a43f138 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Jun 2025 19:53:17 +0200 Subject: [PATCH 14/28] Bump docker/setup-buildx-action from 3.11.0 to 3.11.1 (#4118) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (cherry picked from commit 0aa4a129cb8a7182561bf954ec49c0451eed2392) --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 2ff4f3b2d..4bf77796e 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -163,7 +163,7 @@ jobs: } - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3.11.0 + uses: docker/setup-buildx-action@v3.11.1 - name: Log in to the GitHub container registry uses: docker/login-action@v3.4.0 with: From fd842de47a9362ba7d847666bb493f81692d31c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Tue, 24 Jun 2025 14:48:35 +0200 Subject: [PATCH 15/28] Bump Buildroot to 2025.02.4 (#4122) * buildroot 49ec2543bf...8ee621588f (2): > Revert "package/openvmtools: add upstream security patch for CVE-2025-22247" > Merge tag '2025.02.4' into 2025.02.x-haos (cherry picked from commit b863427a52d8cbbeec398b008fa80f9969fe2790) --- buildroot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildroot b/buildroot index 49ec2543b..8ee621588 160000 --- a/buildroot +++ b/buildroot @@ -1 +1 @@ -Subproject commit 49ec2543bf98138b6e8e221e1ecbb07cbf59eca2 +Subproject commit 8ee621588f5fbaec5a30776db0bb862516859911 From 83e85d96d931660a0f102acb0e74692f1112dfe5 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Wed, 25 Jun 2025 17:09:50 +0200 Subject: [PATCH 16/28] Enable parallel gzip for faster Docker pulls (#4123) * Bump buildroot to update package/pigz * Enable parallel gzip for faster Docker pulls Docker checks if unpigz is available, and if so uses it to unpack container layers with multiple CPU cores. This should make Docker pulls faster, especially on lower end hardware. (cherry picked from commit 42a5e6becbe93b5cd76ccc5b1fb02c880c17f02c) --- buildroot | 2 +- buildroot-external/configs/generic_aarch64_defconfig | 1 + buildroot-external/configs/generic_x86_64_defconfig | 1 + buildroot-external/configs/green_defconfig | 1 + buildroot-external/configs/khadas_vim3_defconfig | 1 + buildroot-external/configs/odroid_c2_defconfig | 1 + buildroot-external/configs/odroid_c4_defconfig | 1 + buildroot-external/configs/odroid_m1_defconfig | 1 + buildroot-external/configs/odroid_m1s_defconfig | 1 + buildroot-external/configs/odroid_n2_defconfig | 1 + buildroot-external/configs/odroid_xu4_defconfig | 1 + buildroot-external/configs/ova_defconfig | 1 + buildroot-external/configs/rpi2_defconfig | 1 + buildroot-external/configs/rpi3_64_defconfig | 1 + buildroot-external/configs/rpi3_defconfig | 1 + buildroot-external/configs/rpi4_64_defconfig | 1 + buildroot-external/configs/rpi4_defconfig | 1 + buildroot-external/configs/rpi5_64_defconfig | 1 + buildroot-external/configs/tinker_defconfig | 1 + buildroot-external/configs/yellow_defconfig | 1 + 20 files changed, 20 insertions(+), 1 deletion(-) diff --git a/buildroot b/buildroot index 8ee621588..758ae477c 160000 --- a/buildroot +++ b/buildroot @@ -1 +1 @@ -Subproject commit 8ee621588f5fbaec5a30776db0bb862516859911 +Subproject commit 758ae477cdd3dd5f257f97e469809f724b2cf4f5 diff --git a/buildroot-external/configs/generic_aarch64_defconfig b/buildroot-external/configs/generic_aarch64_defconfig index bd54aa19f..e91161515 100644 --- a/buildroot-external/configs/generic_aarch64_defconfig +++ b/buildroot-external/configs/generic_aarch64_defconfig @@ -139,6 +139,7 @@ BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y BR2_PACKAGE_OPENVMTOOLS=y +BR2_PACKAGE_PIGZ=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_DBUS=y diff --git a/buildroot-external/configs/generic_x86_64_defconfig b/buildroot-external/configs/generic_x86_64_defconfig index 289a15d99..c4e0f5491 100644 --- a/buildroot-external/configs/generic_x86_64_defconfig +++ b/buildroot-external/configs/generic_x86_64_defconfig @@ -141,6 +141,7 @@ BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y BR2_PACKAGE_OPENVMTOOLS=y +BR2_PACKAGE_PIGZ=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_DBUS=y diff --git a/buildroot-external/configs/green_defconfig b/buildroot-external/configs/green_defconfig index 9a92f9917..b519d7af1 100644 --- a/buildroot-external/configs/green_defconfig +++ b/buildroot-external/configs/green_defconfig @@ -117,6 +117,7 @@ BR2_PACKAGE_TINI=y BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_PIGZ=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_DBUS=y diff --git a/buildroot-external/configs/khadas_vim3_defconfig b/buildroot-external/configs/khadas_vim3_defconfig index 507ac330f..cfc290c7b 100644 --- a/buildroot-external/configs/khadas_vim3_defconfig +++ b/buildroot-external/configs/khadas_vim3_defconfig @@ -112,6 +112,7 @@ BR2_PACKAGE_TINI=y BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_PIGZ=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_DBUS=y diff --git a/buildroot-external/configs/odroid_c2_defconfig b/buildroot-external/configs/odroid_c2_defconfig index 63e1e6145..6ca5f4c9e 100644 --- a/buildroot-external/configs/odroid_c2_defconfig +++ b/buildroot-external/configs/odroid_c2_defconfig @@ -112,6 +112,7 @@ BR2_PACKAGE_TINI=y BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_PIGZ=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_DBUS=y diff --git a/buildroot-external/configs/odroid_c4_defconfig b/buildroot-external/configs/odroid_c4_defconfig index f81c2d689..977d0fbde 100644 --- a/buildroot-external/configs/odroid_c4_defconfig +++ b/buildroot-external/configs/odroid_c4_defconfig @@ -110,6 +110,7 @@ BR2_PACKAGE_TINI=y BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_PIGZ=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_DBUS=y diff --git a/buildroot-external/configs/odroid_m1_defconfig b/buildroot-external/configs/odroid_m1_defconfig index 049265b04..b319be70e 100644 --- a/buildroot-external/configs/odroid_m1_defconfig +++ b/buildroot-external/configs/odroid_m1_defconfig @@ -112,6 +112,7 @@ BR2_PACKAGE_TINI=y BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_PIGZ=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_DBUS=y diff --git a/buildroot-external/configs/odroid_m1s_defconfig b/buildroot-external/configs/odroid_m1s_defconfig index 394e7ec4b..53d0ec7f9 100644 --- a/buildroot-external/configs/odroid_m1s_defconfig +++ b/buildroot-external/configs/odroid_m1s_defconfig @@ -112,6 +112,7 @@ BR2_PACKAGE_TINI=y BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_PIGZ=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_DBUS=y diff --git a/buildroot-external/configs/odroid_n2_defconfig b/buildroot-external/configs/odroid_n2_defconfig index 061fc8511..4c2c9e6a3 100644 --- a/buildroot-external/configs/odroid_n2_defconfig +++ b/buildroot-external/configs/odroid_n2_defconfig @@ -112,6 +112,7 @@ BR2_PACKAGE_TINI=y BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_PIGZ=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_DBUS=y diff --git a/buildroot-external/configs/odroid_xu4_defconfig b/buildroot-external/configs/odroid_xu4_defconfig index 52b5b0978..c0fc6f67b 100644 --- a/buildroot-external/configs/odroid_xu4_defconfig +++ b/buildroot-external/configs/odroid_xu4_defconfig @@ -112,6 +112,7 @@ BR2_PACKAGE_TINI=y BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_PIGZ=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_DBUS=y diff --git a/buildroot-external/configs/ova_defconfig b/buildroot-external/configs/ova_defconfig index 90482fa66..d29a2753e 100644 --- a/buildroot-external/configs/ova_defconfig +++ b/buildroot-external/configs/ova_defconfig @@ -142,6 +142,7 @@ BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y BR2_PACKAGE_OPENVMTOOLS=y +BR2_PACKAGE_PIGZ=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_DBUS=y diff --git a/buildroot-external/configs/rpi2_defconfig b/buildroot-external/configs/rpi2_defconfig index 6ff88b517..c8dcf230a 100644 --- a/buildroot-external/configs/rpi2_defconfig +++ b/buildroot-external/configs/rpi2_defconfig @@ -115,6 +115,7 @@ BR2_PACKAGE_TINI=y BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_PIGZ=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_DBUS=y diff --git a/buildroot-external/configs/rpi3_64_defconfig b/buildroot-external/configs/rpi3_64_defconfig index dc77ad3cd..606cccf8e 100644 --- a/buildroot-external/configs/rpi3_64_defconfig +++ b/buildroot-external/configs/rpi3_64_defconfig @@ -116,6 +116,7 @@ BR2_PACKAGE_TINI=y BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_PIGZ=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_DBUS=y diff --git a/buildroot-external/configs/rpi3_defconfig b/buildroot-external/configs/rpi3_defconfig index 6eb4dd29d..07bcb9c68 100644 --- a/buildroot-external/configs/rpi3_defconfig +++ b/buildroot-external/configs/rpi3_defconfig @@ -117,6 +117,7 @@ BR2_PACKAGE_TINI=y BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_PIGZ=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_DBUS=y diff --git a/buildroot-external/configs/rpi4_64_defconfig b/buildroot-external/configs/rpi4_64_defconfig index dcbf2e2db..ba87ad0b4 100644 --- a/buildroot-external/configs/rpi4_64_defconfig +++ b/buildroot-external/configs/rpi4_64_defconfig @@ -117,6 +117,7 @@ BR2_PACKAGE_TINI=y BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_PIGZ=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_DBUS=y diff --git a/buildroot-external/configs/rpi4_defconfig b/buildroot-external/configs/rpi4_defconfig index bf5951b29..7729600fa 100644 --- a/buildroot-external/configs/rpi4_defconfig +++ b/buildroot-external/configs/rpi4_defconfig @@ -116,6 +116,7 @@ BR2_PACKAGE_TINI=y BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_PIGZ=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_DBUS=y diff --git a/buildroot-external/configs/rpi5_64_defconfig b/buildroot-external/configs/rpi5_64_defconfig index c41b3996b..30f3d929d 100644 --- a/buildroot-external/configs/rpi5_64_defconfig +++ b/buildroot-external/configs/rpi5_64_defconfig @@ -116,6 +116,7 @@ BR2_PACKAGE_TINI=y BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_PIGZ=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_DBUS=y diff --git a/buildroot-external/configs/tinker_defconfig b/buildroot-external/configs/tinker_defconfig index 19a89c5f9..24c43b48c 100644 --- a/buildroot-external/configs/tinker_defconfig +++ b/buildroot-external/configs/tinker_defconfig @@ -112,6 +112,7 @@ BR2_PACKAGE_TINI=y BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_PIGZ=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_DBUS=y diff --git a/buildroot-external/configs/yellow_defconfig b/buildroot-external/configs/yellow_defconfig index 5dfb02ff7..4e8e50f49 100644 --- a/buildroot-external/configs/yellow_defconfig +++ b/buildroot-external/configs/yellow_defconfig @@ -120,6 +120,7 @@ BR2_PACKAGE_TINI=y BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_PIGZ=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_DBUS=y From 6a61f25668cbe25cc334963c421717f7a0f264ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Thu, 26 Jun 2025 12:10:44 +0200 Subject: [PATCH 17/28] Fix journal-gatewayd returning duplicated lines when following logs (#4124) When following logs in Home Assitant frontend, the last line may be duplicated over time when no new lines are added. This is because systemd-journal-gatewayd incorrectly processed the num_skip part of the Range header, always returning the last entry even when it should have been skipped. Backport the patch for Systemd that processes the header correctly. Fixes #4101 (cherry picked from commit 4a4da64f31d69cbd4f2575e1978e60651519d8fa) --- ...-fix-handling-of-num_skip-pointing-b.patch | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 buildroot-external/patches/systemd/0006-journal-gatewayd-fix-handling-of-num_skip-pointing-b.patch diff --git a/buildroot-external/patches/systemd/0006-journal-gatewayd-fix-handling-of-num_skip-pointing-b.patch b/buildroot-external/patches/systemd/0006-journal-gatewayd-fix-handling-of-num_skip-pointing-b.patch new file mode 100644 index 000000000..135a386b9 --- /dev/null +++ b/buildroot-external/patches/systemd/0006-journal-gatewayd-fix-handling-of-num_skip-pointing-b.patch @@ -0,0 +1,73 @@ +From 56e744bc45713ef7575032cfdb20073013ec0a8d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= +Date: Tue, 24 Jun 2025 18:54:44 +0200 +Subject: [PATCH] journal-gatewayd: fix handling of num_skip pointing beyond + the last entry + +When `num_skip` is supplied to the `Range` header, journal-gatewayd +always returns the very last record even though it should have been +skipped. This is because the `sd_journal_next_skip` always returns +non-zero value on the first call, leading to one iteration of the +`request_reader_entries` returning the last record. + +To avoid this unexpected behavior, check that the number of lines we +have skipped by is not lower than the requested skip value. If it is, +then it means there are lines which should not be returned now - +decrement the n_skip counter then and return from the function, closing +the stream if follow flag is not set. + +Fixes #37954 +--- +(Backported for v256.x) +Signed-off-by: Jan Čermák +Upstream: https://github.com/systemd/systemd/pull/37955 +--- +src/journal-remote/journal-gatewayd.c | 16 ++++++++++++++-- + test/units/TEST-04-JOURNAL.journal-gatewayd.sh | 6 ++++++ + 2 files changed, 20 insertions(+), 2 deletions(-) + +diff --git a/src/journal-remote/journal-gatewayd.c b/src/journal-remote/journal-gatewayd.c +index 0661ecb1cf..5bce48d485 100644 +--- a/src/journal-remote/journal-gatewayd.c ++++ b/src/journal-remote/journal-gatewayd.c +@@ -181,9 +181,21 @@ static ssize_t request_reader_entries( + + if (m->n_skip < 0) + r = sd_journal_previous_skip(m->journal, (uint64_t) -m->n_skip + 1); +- else if (m->n_skip > 0) ++ else if (m->n_skip > 0) { + r = sd_journal_next_skip(m->journal, (uint64_t) m->n_skip + 1); +- else ++ if (r < 0) { ++ log_error_errno(r, "Failed to skip journal entries: %m"); ++ return MHD_CONTENT_READER_END_WITH_ERROR; ++ } ++ /* We skipped beyond the end, make sure entries between the cursor and n_skip offset ++ * from it are not returned. */ ++ if (r < m->n_skip + 1) { ++ m->n_skip -= r; ++ if (m->follow) ++ return 0; ++ return MHD_CONTENT_READER_END_OF_STREAM; ++ } ++ } else + r = sd_journal_next(m->journal); + + if (r < 0) { +diff --git a/test/units/TEST-04-JOURNAL.journal-gatewayd.sh b/test/units/TEST-04-JOURNAL.journal-gatewayd.sh +index ef85dc17c6..b6dc860b63 100755 +--- a/test/units/TEST-04-JOURNAL.journal-gatewayd.sh ++++ b/test/units/TEST-04-JOURNAL.journal-gatewayd.sh +@@ -82,6 +82,12 @@ timeout 5 curl -LSfs \ + --header "Range: entries=:-20:10" \ + http://localhost:19531/entries?follow >"$LOG_FILE" + jq -se "length == 10" "$LOG_FILE" ++# Test positive skip beyond the last entry ++curl -LSfs \ ++ --header "Accept: application/json" \ ++ --header "Range: entries=$TEST_CURSOR:1:1" \ ++ http://localhost:19531/entries?SYSLOG_IDENTIFIER="$TEST_TAG" >"$LOG_FILE" ++jq -se "length == 0" "$LOG_FILE" + # Check if the specified cursor refers to an existing entry and return just that entry + curl -LSfs \ + --header "Accept: application/json" \ From abd9ad4398769e525ad5cd1726a5b9c6125af951 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Thu, 26 Jun 2025 16:58:40 +0200 Subject: [PATCH 18/28] Bump OS to pre-release version 16.0.rc2 --- buildroot-external/meta | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildroot-external/meta b/buildroot-external/meta index d191e5a95..a45d8be30 100644 --- a/buildroot-external/meta +++ b/buildroot-external/meta @@ -1,6 +1,6 @@ VERSION_MAJOR="16" VERSION_MINOR="0" -VERSION_SUFFIX="rc1" +VERSION_SUFFIX="rc2" HASSOS_NAME="Home Assistant OS" HASSOS_ID="haos" From c33657e56821554241140504016f8fe17e62f7a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Mon, 30 Jun 2025 15:53:28 +0200 Subject: [PATCH 19/28] Linux: Update kernel to 6.12.35 (#4130) * https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.35 (cherry picked from commit 1e3773c68a6fafe19423f76afb19e9f463a8b45a) --- Documentation/kernel.md | 24 +++++++++---------- .../configs/generic_aarch64_defconfig | 2 +- .../configs/generic_x86_64_defconfig | 2 +- buildroot-external/configs/green_defconfig | 2 +- .../configs/khadas_vim3_defconfig | 2 +- .../configs/odroid_c2_defconfig | 2 +- .../configs/odroid_c4_defconfig | 2 +- .../configs/odroid_m1_defconfig | 2 +- .../configs/odroid_m1s_defconfig | 2 +- .../configs/odroid_n2_defconfig | 2 +- .../configs/odroid_xu4_defconfig | 2 +- buildroot-external/configs/ova_defconfig | 2 +- buildroot-external/configs/tinker_defconfig | 2 +- 13 files changed, 24 insertions(+), 24 deletions(-) diff --git a/Documentation/kernel.md b/Documentation/kernel.md index 493cd0734..0cf549cf8 100644 --- a/Documentation/kernel.md +++ b/Documentation/kernel.md @@ -3,7 +3,7 @@ | Board | Version | |-------|---------| -| Open Virtual Appliance | 6.12.34 | +| Open Virtual Appliance | 6.12.35 | | Raspberry Pi | 6.12.25 | | Raspberry Pi 0-W | 6.12.25 | | Raspberry Pi 2 | 6.12.25 | @@ -11,14 +11,14 @@ | Raspberry Pi 4 | 6.12.25 | | Raspberry Pi 5 | 6.12.25 | | Home Assistant Yellow | 6.12.25 | -| Home Assistant Green | 6.12.34 | -| Tinker Board | 6.12.34 | -| ODROID-C2 | 6.12.34 | -| ODROID-C4 | 6.12.34 | -| ODROID-M1 | 6.12.34 | -| ODROID-M1S | 6.12.34 | -| ODROID-N2 | 6.12.34 | -| ODROID-XU4 | 6.12.34 | -| Generic aarch64 | 6.12.34 | -| Generic x86-64 | 6.12.34 | -| Khadas VIM3 | 6.12.34 | +| Home Assistant Green | 6.12.35 | +| Tinker Board | 6.12.35 | +| ODROID-C2 | 6.12.35 | +| ODROID-C4 | 6.12.35 | +| ODROID-M1 | 6.12.35 | +| ODROID-M1S | 6.12.35 | +| ODROID-N2 | 6.12.35 | +| ODROID-XU4 | 6.12.35 | +| Generic aarch64 | 6.12.35 | +| Generic x86-64 | 6.12.35 | +| Khadas VIM3 | 6.12.35 | diff --git a/buildroot-external/configs/generic_aarch64_defconfig b/buildroot-external/configs/generic_aarch64_defconfig index e91161515..6e845dd35 100644 --- a/buildroot-external/configs/generic_aarch64_defconfig +++ b/buildroot-external/configs/generic_aarch64_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64 $(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.34" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.35" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/generic_x86_64_defconfig b/buildroot-external/configs/generic_x86_64_defconfig index c4e0f5491..a18f72e39 100644 --- a/buildroot-external/configs/generic_x86_64_defconfig +++ b/buildroot-external/configs/generic_x86_64_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64 $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.34" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.35" BR2_LINUX_KERNEL_DEFCONFIG="x86_64" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/green_defconfig b/buildroot-external/configs/green_defconfig index b519d7af1..6116762b4 100644 --- a/buildroot-external/configs/green_defconfig +++ b/buildroot-external/configs/green_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green $(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.34" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.35" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/kernel-arm64-rockchip.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green/kernel.config" diff --git a/buildroot-external/configs/khadas_vim3_defconfig b/buildroot-external/configs/khadas_vim3_defconfig index cfc290c7b..083642d9f 100644 --- a/buildroot-external/configs/khadas_vim3_defconfig +++ b/buildroot-external/configs/khadas_vim3_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/vim3 $(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/vim3/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.34" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.35" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/kernel-vim.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" diff --git a/buildroot-external/configs/odroid_c2_defconfig b/buildroot-external/configs/odroid_c2_defconfig index 6ca5f4c9e..3ac3035fd 100644 --- a/buildroot-external/configs/odroid_c2_defconfig +++ b/buildroot-external/configs/odroid_c2_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.34" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.35" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" diff --git a/buildroot-external/configs/odroid_c4_defconfig b/buildroot-external/configs/odroid_c4_defconfig index 977d0fbde..6cea17e3e 100644 --- a/buildroot-external/configs/odroid_c4_defconfig +++ b/buildroot-external/configs/odroid_c4_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.34" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.35" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" diff --git a/buildroot-external/configs/odroid_m1_defconfig b/buildroot-external/configs/odroid_m1_defconfig index b319be70e..e888d749b 100644 --- a/buildroot-external/configs/odroid_m1_defconfig +++ b/buildroot-external/configs/odroid_m1_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.34" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.35" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/kernel-arm64-rockchip.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1/kernel.config" diff --git a/buildroot-external/configs/odroid_m1s_defconfig b/buildroot-external/configs/odroid_m1s_defconfig index 53d0ec7f9..56729cd6f 100644 --- a/buildroot-external/configs/odroid_m1s_defconfig +++ b/buildroot-external/configs/odroid_m1s_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.34" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.35" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/kernel-arm64-rockchip.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s/kernel.config" diff --git a/buildroot-external/configs/odroid_n2_defconfig b/buildroot-external/configs/odroid_n2_defconfig index 4c2c9e6a3..7208c162c 100644 --- a/buildroot-external/configs/odroid_n2_defconfig +++ b/buildroot-external/configs/odroid_n2_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.34" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.35" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/kernel.config" diff --git a/buildroot-external/configs/odroid_xu4_defconfig b/buildroot-external/configs/odroid_xu4_defconfig index c0fc6f67b..4a554ff85 100644 --- a/buildroot-external/configs/odroid_xu4_defconfig +++ b/buildroot-external/configs/odroid_xu4_defconfig @@ -18,7 +18,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.34" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.35" BR2_LINUX_KERNEL_DEFCONFIG="exynos" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/ova_defconfig b/buildroot-external/configs/ova_defconfig index d29a2753e..be6106299 100644 --- a/buildroot-external/configs/ova_defconfig +++ b/buildroot-external/configs/ova_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.34" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.35" BR2_LINUX_KERNEL_DEFCONFIG="x86_64" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/tinker_defconfig b/buildroot-external/configs/tinker_defconfig index 24c43b48c..1361cdf90 100644 --- a/buildroot-external/configs/tinker_defconfig +++ b/buildroot-external/configs/tinker_defconfig @@ -19,7 +19,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker $(BR2_EXTERNAL_HASSOS_PATH)/board/asus/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.34" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.35" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker/kernel.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" From a5906f52e3a75cb91f796033e2511de160a19a8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Tue, 1 Jul 2025 09:44:12 +0200 Subject: [PATCH 20/28] Make tests involving reboot more robust (#4131) The tests that are involving reboots are flaky and fail when waiting for the command to return or when waiting for a new login prompt. To mitigate this, do not use run_check, as it needs the shell prompt to reappear, and instead use sendline and wait up to a minute for the GRUB message. (cherry picked from commit 9803f5fb4fdb1eccfa466ea1b1433efcda9eae2d) --- tests/smoke_test/test_basic.py | 6 ++++-- tests/smoke_test/test_os_update.py | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/tests/smoke_test/test_basic.py b/tests/smoke_test/test_basic.py index b25d422a2..6943c9f71 100644 --- a/tests/smoke_test/test_basic.py +++ b/tests/smoke_test/test_basic.py @@ -115,7 +115,8 @@ def test_custom_swap_size(shell, target): output = shell.run_check("stat -c '%s' /mnt/data/swapfile") # set new swap size to half of the previous size - round to 4k blocks new_swap_size = (int(output[0]) // 2 // 4096) * 4096 - shell.run_check(f"echo 'SWAPSIZE={new_swap_size/1024/1024}M' > /etc/default/haos-swapfile; reboot") + shell.console.sendline(f"echo 'SWAPSIZE={new_swap_size/1024/1024}M' > /etc/default/haos-swapfile; reboot") + shell.console.expect("Booting `Slot ", timeout=60) # reactivate ShellDriver to handle login again target.deactivate(shell) target.activate(shell) @@ -125,7 +126,8 @@ def test_custom_swap_size(shell, target): @pytest.mark.dependency(depends=["test_custom_swap_size"]) def test_no_swap(shell, target): - output = shell.run_check("echo 'SWAPSIZE=0' > /etc/default/haos-swapfile; reboot") + shell.console.sendline("echo 'SWAPSIZE=0' > /etc/default/haos-swapfile; reboot") + shell.console.expect("Booting `Slot ", timeout=60) # reactivate ShellDriver to handle login again target.deactivate(shell) target.activate(shell) diff --git a/tests/smoke_test/test_os_update.py b/tests/smoke_test/test_os_update.py index 170e7e089..c8825eac5 100644 --- a/tests/smoke_test/test_os_update.py +++ b/tests/smoke_test/test_os_update.py @@ -57,7 +57,7 @@ def test_os_update(shell, shell_json, target): sleep(5) - shell.console.expect("Booting `Slot ") + shell.console.expect("Booting `Slot ", timeout=60) # reactivate ShellDriver to handle login again target.deactivate(shell) @@ -83,7 +83,9 @@ def test_boot_other_slot(shell, shell_json, target): os_info = shell_json("ha os info --no-progress --raw-json") other_version = os_info["data"]["boot_slots"]["A"]["version"] - shell.run_check(f"ha os boot-slot other --no-progress || true") + # as we sometimes don't get another shell prompt after the boot slot switch, + # use plain sendline instead of the run_check method + shell.console.sendline(f"ha os boot-slot other --no-progress || true") shell.console.expect("Booting `Slot ", timeout=60) From 7c7cbf40be720a97cad43d6112ed3fbcf2fd13d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Tue, 1 Jul 2025 17:32:07 +0200 Subject: [PATCH 21/28] Do not disable RPi Bluetooth if Wi-Fi is not present (#4132) This reverts commit eab18076ad7717ff4bce848b95fdb4e6c9f88f29. This change was added in #2948 as a workaround for all-zero adapter appearing in the HA frontend (#2944). With changes implemented in [1], this is no longer needed, the only minor issue is that the ghost adapter still appears in hciconfig (and other utilities') output as reported in [2]. However, this should be less problematic than the Bluetooth being unavailable if WiFi is disabled through disable-wifi DT overlay, so let's start with removing the workaround. Fixes #2975 [1] https://github.com/Bluetooth-Devices/bluetooth-adapters/pull/105 [2] https://github.com/raspberrypi/linux/issues/5756 (cherry picked from commit 17ae2d47412d8ae4f78bc21631c6e60d5955811a) --- .../package/pi-bluetooth/hcidisable.service | 10 ---------- .../package/pi-bluetooth/pi-bluetooth.mk | 1 - 2 files changed, 11 deletions(-) delete mode 100644 buildroot-external/package/pi-bluetooth/hcidisable.service diff --git a/buildroot-external/package/pi-bluetooth/hcidisable.service b/buildroot-external/package/pi-bluetooth/hcidisable.service deleted file mode 100644 index 2548d8f4c..000000000 --- a/buildroot-external/package/pi-bluetooth/hcidisable.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Remove HCI kernel driver if WiFi/Bluetooth module is not present -ConditionPathExists=!/sys/bus/sdio/devices/mmc1:0001:1 - -[Service] -Type=forking -ExecStart=/usr/sbin/modprobe -r hci_uart - -[Install] -WantedBy=hassos-hardware.target diff --git a/buildroot-external/package/pi-bluetooth/pi-bluetooth.mk b/buildroot-external/package/pi-bluetooth/pi-bluetooth.mk index c0afd85d6..5b244be6b 100644 --- a/buildroot-external/package/pi-bluetooth/pi-bluetooth.mk +++ b/buildroot-external/package/pi-bluetooth/pi-bluetooth.mk @@ -12,7 +12,6 @@ PI_BLUETOOTH_LICENSE_FILES = debian/copyright define PI_BLUETOOTH_INSTALL_TARGET_CMDS $(INSTALL) -d $(TARGET_DIR)/etc/systemd/system/hassos-hardware.target.wants $(INSTALL) -m 0644 $(BR2_EXTERNAL_HASSOS_PATH)/package/pi-bluetooth/hciuart.service $(TARGET_DIR)/usr/lib/systemd/system/ - $(INSTALL) -m 0644 $(BR2_EXTERNAL_HASSOS_PATH)/package/pi-bluetooth/hcidisable.service $(TARGET_DIR)/usr/lib/systemd/system/ $(INSTALL) -m 0644 $(BR2_EXTERNAL_HASSOS_PATH)/package/pi-bluetooth/bthelper@.service $(TARGET_DIR)/usr/lib/systemd/system/ $(INSTALL) -d $(TARGET_DIR)/usr/bin From 9d7f8a234fb2e6adce96d2c13f85268637d6013a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Tue, 1 Jul 2025 17:32:18 +0200 Subject: [PATCH 22/28] Mount Systemd Journal socket to the Supervisor container (#4133) Bind-mount Systemd Journal socket to the Supervisor container. This way Supervisor can use the socket directly for writing log entries using the Systemd native Journal protocol [1] instead of logging to stderr of the container. [1] https://systemd.io/JOURNAL_NATIVE_PROTOCOL/ (cherry picked from commit dffbe8914734a093b02a1cb0ec0f40adbf3bb109) --- buildroot-external/rootfs-overlay/usr/sbin/hassos-supervisor | 1 + 1 file changed, 1 insertion(+) diff --git a/buildroot-external/rootfs-overlay/usr/sbin/hassos-supervisor b/buildroot-external/rootfs-overlay/usr/sbin/hassos-supervisor index 4cbf27c21..8da3308e3 100755 --- a/buildroot-external/rootfs-overlay/usr/sbin/hassos-supervisor +++ b/buildroot-external/rootfs-overlay/usr/sbin/hassos-supervisor @@ -95,6 +95,7 @@ if [ -z "${SUPERVISOR_CONTAINER_ID}" ]; then --oom-score-adj=-300 \ -v /run/docker.sock:/run/docker.sock:rw \ -v /run/containerd/containerd.sock:/run/containerd/containerd.sock:rw \ + -v /run/systemd/journal/socket:/run/systemd/journal/socket:rw \ -v /run/systemd-journal-gatewayd.sock:/run/systemd-journal-gatewayd.sock:rw \ -v /run/dbus:/run/dbus:ro \ -v /run/supervisor:/run/os:rw \ From 19ca37696abb2ac6ac04ba64981fb3b45595efc0 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Tue, 1 Jul 2025 17:33:30 +0200 Subject: [PATCH 23/28] Update Docker to v28.3.0 (#4135) Update Docker and related services to latest versions. * buildroot 758ae477cd...9366ce5635 (6): > package/runc: bump version to v1.3.0 > package/containerd: bump version to v2.1.3 > package/docker-cli: bump version to v28.3.0 > package/docker-engine: bump version to v28.3.0 > package/docker-cli: Fix go module version information > package/docker-engine: Fix go module version information (cherry picked from commit bc484f64099ae2513e571434eb83b190b5466461) --- buildroot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildroot b/buildroot index 758ae477c..9366ce563 160000 --- a/buildroot +++ b/buildroot @@ -1 +1 @@ -Subproject commit 758ae477cdd3dd5f257f97e469809f724b2cf4f5 +Subproject commit 9366ce5635cf668fe057029f34700007e9de1f84 From 6735603d89f930d245a501e0d66227e908993078 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Wed, 2 Jul 2025 16:00:52 +0200 Subject: [PATCH 24/28] Make all Raspberry Pi LAN drivers built-in (#4137) Make sure that all LAN drivers used on Raspberry Pi boards are built-in. Although they are defined as such in the base defconfig, we change them to modules in device support includes. For simplicity and keeping kernel config close to the RPi OS config, change them all to built-in in the main RPi include for all RPi targets. This is not only a formal change - at least one regression is known if the PHY driver on RPi 5 is not built-in and MAC driver is - in that case the PHY hooked up to the RP1 isn't initialized properly, and it is reported as "Generic PHY" instead, e.g. breaking the control of LEDs through dtparams. Relevant dmesg log before the change: macb 1f00100000.ethernet end0: PHY [1f00100000.ethernet-ffffffff:01] driver [Generic PHY] (irq=POLL) And after the change: macb 1f00100000.ethernet eth0: PHY [1f00100000.ethernet-ffffffff:01] driver [Broadcom BCM54213PE] (irq=POLL) Fixes #3333 (cherry picked from commit a338b671442b6d1a136729f4b785f3ed7e31e351) --- buildroot-external/board/raspberrypi/kernel.config | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/buildroot-external/board/raspberrypi/kernel.config b/buildroot-external/board/raspberrypi/kernel.config index 2189f9b82..61fda1aab 100644 --- a/buildroot-external/board/raspberrypi/kernel.config +++ b/buildroot-external/board/raspberrypi/kernel.config @@ -8,5 +8,17 @@ CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_DISK=y CONFIG_LEDS_TRIGGER_ACTIVITY=y +# make sure all network drivers are built-in +# RPi 3B USB LAN drivers - 3B uses SMSC95XX, 3B+ uses LAN78XX +CONFIG_USB_NET_DRIVERS=y +CONFIG_USB_USBNET=y +CONFIG_USB_LAN78XX=y +CONFIG_USB_NET_SMSC95XX=y +# RPi 4 uses bcmgenet driver and BCM54213PE PHY +CONFIG_BCMGENET=y +CONFIG_BROADCOM_PHY=y +# RPi 5 uses Cadence driver and BCM54213PE PHY (above) +CONFIG_MACB=y + # do not use RPi in-tree driver, use one from BR package instead # CONFIG_MEDIA_PCI_HAILO is not set From 3c1aa913766243cbc34839945c44e0f70a27c031 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Wed, 2 Jul 2025 16:01:01 +0200 Subject: [PATCH 25/28] Fix Hailo v4.21.0 driver traces due to missing lock (#4138) Backport patch for traces appearing since v4.21.0 bump, introduced in #4095. This change is not available in any newer tagged release of the driver and the commit message upstream is messed up, hence the reworded patch. (cherry picked from commit 286f5a66ca66bf5e39767e925609bf46fb1e1047) --- ...1-Add-missing-lock-around-current-mm.patch | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 buildroot-external/package/hailo-pci/0001-Add-missing-lock-around-current-mm.patch diff --git a/buildroot-external/package/hailo-pci/0001-Add-missing-lock-around-current-mm.patch b/buildroot-external/package/hailo-pci/0001-Add-missing-lock-around-current-mm.patch new file mode 100644 index 000000000..8dee6da4d --- /dev/null +++ b/buildroot-external/package/hailo-pci/0001-Add-missing-lock-around-current-mm.patch @@ -0,0 +1,64 @@ +From 6c80e322d23337a8b9e5df85677be89f50561d10 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= +Date: Wed, 2 Jul 2025 14:09:30 +0200 +Subject: [PATCH] Add missing lock around current->mm +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Backport patch on top of v4.21.0 to hold lock during mmap access. +Without this patch, kernel traces are generated when e.g. Frigate uses the driver: + +WARNING: CPU: 3 PID: 5063 at include/linux/rwsem.h:80 find_vma+0x6c/0x80 +Modules linked in: broadcom bcm_phy_ptp wireguard libchacha20poly1305 chacha_neon poly1305_neon ip6_udp_tunnel udp_tunnel libcurve25519_generic libchacha rfcomm nf_conntrack_netlink xt_set ip_set nft_chain_nat nft_compat nf_tables xfrm_user algif_hash algif_skcipher af_alg bnep btsdio sch_fq_codel brcmfmac_wcc vc4 snd_soc_hdmi_codec drm_display_helper brcmfmac cec hci_uart btqca btrtl btbcm btintel spidev drm_dma_helper brcmutil bluetooth snd_soc_core snd_compress snd_pcm_dmaengine v3d ecdh_generic rpi_hevc_dec snd_pcm pisp_be cfg80211 aes_ce_blk aes_ce_cipher v4l2_mem2mem ghash_ce videobuf2_dma_contig videobuf2_memops snd_timer ecc gpu_sched videobuf2_v4l2 sha2_ce sha256_arm64 sha1_ce libaes sha1_generic raspberrypi_hwmon rfkill snd videobuf2_common rp1_pio spi_bcm2835 drm_shmem_helper gpio_keys raspberrypi_gpiomem hailo_pci(O) rp1_mailbox i2c_brcmstb drm_kms_helper pwm_fan rp1_adc nvmem_rmem rp1 uio_pdrv_genirq uio fuse drm drm_panel_orientation_quirks backlight nfnetlink +CPU: 3 UID: 0 PID: 5063 Comm: frigate.detecto Tainted: G W O 6.12.25-haos-raspi #1 +Tainted: [W]=WARN, [O]=OOT_MODULE +Hardware name: Raspberry Pi 5 Model B Rev 1.1 (DT) +pstate: 80400009 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) +pc : find_vma+0x6c/0x80 +lr : hailo_vdma_buffer_map+0xe4/0x620 [hailo_pci] +sp : ffffffc082f0bc20 +x29: ffffffc082f0bc30 x28: ffffff8194dea100 x27: 0000000000000000 +x26: 0000000000000000 x25: ffffff8109c04c80 x24: ffffffd03ff91000 +x23: 0000000000040f70 x22: 0000000000000001 x21: ffffff8101d570c8 +x20: 0000000000000000 x19: 0000007f8c087000 x18: 0000000000000000 +x17: 0000000000000000 x16: ffffffd08c730828 x15: 0000007f81bdcb48 +x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000 +x11: 0000000000000000 x10: 0000007f81bdcb48 x9 : ffffffd03ff8b744 +x8 : ffffff8109c04d00 x7 : 0000000000000000 x6 : 000000000000003f +x5 : 0000000000000040 x4 : 0000000000000080 x3 : 0000000000000000 +x2 : 0000000000000000 x1 : 0000007f8c087000 x0 : ffffff8177b56880 +Call trace: + find_vma+0x6c/0x80 + hailo_vdma_buffer_map+0xe4/0x620 [hailo_pci] + hailo_vdma_buffer_map_ioctl+0xdc/0x348 [hailo_pci] + hailo_vdma_ioctl+0xcc/0x258 [hailo_pci] + hailo_pcie_fops_unlockedioctl+0x1e4/0x798 [hailo_pci] + __arm64_sys_ioctl+0xb0/0x100 + invoke_syscall+0x50/0x120 + el0_svc_common.constprop.0+0xc8/0xf0 + do_el0_svc+0x24/0x38 + el0_svc+0x30/0xd0 + el0t_64_sync_handler+0x120/0x130 + el0t_64_sync+0x190/0x198 + +Upstream: https://github.com/hailo-ai/hailort-drivers/commit/8edb23bdb6130f89f9f73d6dc90f9db3d1f407c6 +Signed-off-by: Jan Čermák +--- + linux/vdma/memory.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/linux/vdma/memory.c b/linux/vdma/memory.c +index 7ad4a68..7a78cc5 100644 +--- a/linux/vdma/memory.c ++++ b/linux/vdma/memory.c +@@ -167,7 +167,9 @@ struct hailo_vdma_buffer *hailo_vdma_buffer_map(struct device *dev, + } + + if (HAILO_DMA_DMABUF_BUFFER != buffer_type) { ++ mmap_read_lock(current->mm); + vma = find_vma(current->mm, addr_or_fd); ++ mmap_read_unlock(current->mm); + if (IS_ENABLED(HAILO_SUPPORT_MMIO_DMA_MAPPING)) { + if (NULL == vma) { + dev_err(dev, "no vma for virt_addr/size = 0x%08lx/0x%08zx\n", addr_or_fd, size); From 2fb98a4a73f01e5331e617d86510618dcc201458 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Wed, 2 Jul 2025 17:07:36 +0200 Subject: [PATCH 26/28] Unbind Broadcom HCI driver on RPi/CM without WiFi (#4139) Unbind the Bluetooth driver for Broadcom HCI module before the bluetooth service starts if running on board without WiFi module. This is a replacement for #2948 but using a more targeted approach for removing the particular driver and better detection of no-WiFi (thus no-Bluetooth) models. This still means the driver will be probed and couple of lines printed when it fails to set baudrate and reset the module, yet this should be benign, at least the all-zero MAC device no longers appears in Bluetooth stack. (cherry picked from commit aff1f81817c600ea4c1bec028a2b520fe17b8b42) --- .../package/pi-bluetooth/hciunbind.service | 14 ++++++++++++++ .../package/pi-bluetooth/pi-bluetooth.mk | 1 + 2 files changed, 15 insertions(+) create mode 100644 buildroot-external/package/pi-bluetooth/hciunbind.service diff --git a/buildroot-external/package/pi-bluetooth/hciunbind.service b/buildroot-external/package/pi-bluetooth/hciunbind.service new file mode 100644 index 000000000..17d6df716 --- /dev/null +++ b/buildroot-external/package/pi-bluetooth/hciunbind.service @@ -0,0 +1,14 @@ +[Unit] +Description=Unbind Broadcom HCI driver if WiFi/Bluetooth module is not present +ConditionPathExists=!/sys/bus/sdio/devices/mmc1:0001:1 +ConditionPathExists=/sys/bus/serial/drivers/hci_uart_bcm/unbind +ConditionPathExists=/proc/device-tree/chosen/rpi-boardrev-ext +Before=bluetooth.service + +[Service] +Type=oneshot +ExecCondition=/bin/sh -c 'test $((16#$(xxd -p -g4 /proc/device-tree/chosen/rpi-boardrev-ext) & 16#40000000)) -gt 0' +ExecStart=/bin/sh -c 'echo "serial0-0" > /sys/bus/serial/drivers/hci_uart_bcm/unbind' + +[Install] +WantedBy=hassos-hardware.target diff --git a/buildroot-external/package/pi-bluetooth/pi-bluetooth.mk b/buildroot-external/package/pi-bluetooth/pi-bluetooth.mk index 5b244be6b..2f2decf3d 100644 --- a/buildroot-external/package/pi-bluetooth/pi-bluetooth.mk +++ b/buildroot-external/package/pi-bluetooth/pi-bluetooth.mk @@ -12,6 +12,7 @@ PI_BLUETOOTH_LICENSE_FILES = debian/copyright define PI_BLUETOOTH_INSTALL_TARGET_CMDS $(INSTALL) -d $(TARGET_DIR)/etc/systemd/system/hassos-hardware.target.wants $(INSTALL) -m 0644 $(BR2_EXTERNAL_HASSOS_PATH)/package/pi-bluetooth/hciuart.service $(TARGET_DIR)/usr/lib/systemd/system/ + $(INSTALL) -m 0644 $(BR2_EXTERNAL_HASSOS_PATH)/package/pi-bluetooth/hciunbind.service $(TARGET_DIR)/usr/lib/systemd/system/ $(INSTALL) -m 0644 $(BR2_EXTERNAL_HASSOS_PATH)/package/pi-bluetooth/bthelper@.service $(TARGET_DIR)/usr/lib/systemd/system/ $(INSTALL) -d $(TARGET_DIR)/usr/bin From d357adfd6949ce8faee81d57972d79faaf80441c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Thu, 3 Jul 2025 17:06:42 +0200 Subject: [PATCH 27/28] Bump OS to pre-release version 16.0.rc3 --- buildroot-external/meta | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildroot-external/meta b/buildroot-external/meta index a45d8be30..0fc391e5d 100644 --- a/buildroot-external/meta +++ b/buildroot-external/meta @@ -1,6 +1,6 @@ VERSION_MAJOR="16" VERSION_MINOR="0" -VERSION_SUFFIX="rc2" +VERSION_SUFFIX="rc3" HASSOS_NAME="Home Assistant OS" HASSOS_ID="haos" From f6fab12683022650d3696945f076a7f26f322455 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Wed, 9 Jul 2025 12:05:44 +0200 Subject: [PATCH 28/28] Bump OS to release version 16.0 --- buildroot-external/meta | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/buildroot-external/meta b/buildroot-external/meta index 0fc391e5d..856d344d6 100644 --- a/buildroot-external/meta +++ b/buildroot-external/meta @@ -1,8 +1,8 @@ VERSION_MAJOR="16" VERSION_MINOR="0" -VERSION_SUFFIX="rc3" +VERSION_SUFFIX="" HASSOS_NAME="Home Assistant OS" HASSOS_ID="haos" -DEPLOYMENT="staging" +DEPLOYMENT="production"