From 5f8aeb1c6d758531928a456ce9bb6ac836d60a95 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Thu, 22 Oct 2020 17:07:52 +0200 Subject: [PATCH 01/26] Bump version 5.5 --- buildroot-external/meta | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildroot-external/meta b/buildroot-external/meta index 2a80f1a2f..069f24ef8 100644 --- a/buildroot-external/meta +++ b/buildroot-external/meta @@ -1,5 +1,5 @@ VERSION_MAJOR=5 -VERSION_BUILD=4 +VERSION_BUILD=5 HASSOS_NAME="HassOS" HASSOS_ID="hassos" From e43747c2e96b0c3449871dafe1bace2bc3e7310a Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Sat, 24 Oct 2020 18:45:41 +0200 Subject: [PATCH 02/26] ODROID N2+ fixes (#929) * Make sure to set board_rev for N2+ correctly For some reason the code to set the environment did not make it into the ODROID N2 board code. Fix the patch to correctly set board_rev for N2(+). Also remove the w400 patch as it is no longer required. * Use latest ODROID-N2+ patches Use the queued patches (and fixes) for upstream ODROID-N2+ support. This uses the clock settings from meson-g12b-a311d.dtsi running the CPUs at the following clocks: - 4xA73@2.2GHz - 2xA53@1.8GHz --- ...-dts-meson-convert-ODROID-N2-to-dtsi.patch | 35 ++++++----- ...amlogic-add-support-for-the-ODROID-N.patch | 17 +++-- ...-meson-add-support-for-the-ODROID-N2.patch | 63 +++++++------------ ...-dts-meson-add-missing-g12-rng-clock.patch | 38 +++++++++++ ...eson-odroid-n2-plus-fix-vddcpu_a-pwm.patch | 42 +++++++++++++ ...son-g12a-mark-fclk_div2-as-critical.patch} | 10 +-- ...-usb-cdc-acm-fix-cooldown-mechanism.patch} | 8 ++- ...RM-meson-isolate-loading-of-socinfo.patch} | 10 ++- ...Amlogic-w400-read-ethaddr-from-efuse.patch | 58 ----------------- ... => 0002-meson-Add-board_rev-to-env.patch} | 32 +++++----- 10 files changed, 161 insertions(+), 152 deletions(-) create mode 100644 buildroot-external/board/hardkernel/patches/linux/0004-arm64-dts-meson-add-missing-g12-rng-clock.patch create mode 100644 buildroot-external/board/hardkernel/patches/linux/0005-arm64-dts-meson-odroid-n2-plus-fix-vddcpu_a-pwm.patch rename buildroot-external/board/hardkernel/patches/linux/{0004-clk-meson-g12a-mark-fclk_div2-as-critical.patch => 0006-clk-meson-g12a-mark-fclk_div2-as-critical.patch} (74%) rename buildroot-external/board/hardkernel/patches/linux/{0001-usb-cdc-acm-fix-cooldown-mechanism.patch => 0007-usb-cdc-acm-fix-cooldown-mechanism.patch} (92%) rename buildroot-external/board/hardkernel/patches/uboot/{0002-ARM-meson-isolate-loading-of-socinfo.patch => 0001-ARM-meson-isolate-loading-of-socinfo.patch} (80%) delete mode 100644 buildroot-external/board/hardkernel/patches/uboot/0001-Amlogic-w400-read-ethaddr-from-efuse.patch rename buildroot-external/board/hardkernel/patches/uboot/{0003-meson-Add-board_rev-to-env.patch => 0002-meson-Add-board_rev-to-env.patch} (68%) diff --git a/buildroot-external/board/hardkernel/patches/linux/0001-arm64-dts-meson-convert-ODROID-N2-to-dtsi.patch b/buildroot-external/board/hardkernel/patches/linux/0001-arm64-dts-meson-convert-ODROID-N2-to-dtsi.patch index 5f2f534bc..60e770b0c 100644 --- a/buildroot-external/board/hardkernel/patches/linux/0001-arm64-dts-meson-convert-ODROID-N2-to-dtsi.patch +++ b/buildroot-external/board/hardkernel/patches/linux/0001-arm64-dts-meson-convert-ODROID-N2-to-dtsi.patch @@ -1,30 +1,32 @@ -From d35db3d5f943fea569dde8e83f15565254643385 Mon Sep 17 00:00:00 2001 -Message-Id: +From 734f52f38625ce29c964517255538b3b0b546e8d Mon Sep 17 00:00:00 2001 +Message-Id: <734f52f38625ce29c964517255538b3b0b546e8d.1603528796.git.stefan@agner.ch> From: Christian Hewitt -Date: Sun, 19 Jul 2020 14:10:32 +0000 -Subject: [PATCH 1/4] arm64: dts: meson: convert ODROID-N2 to dtsi +Date: Tue, 15 Sep 2020 17:24:30 +0200 +Subject: [PATCH 1/7] arm64: dts: meson: convert ODROID-N2 to dtsi Convert the current ODROID-N2 dts into a common dtsi in preparation for adding ODROID-N2+ support. Signed-off-by: Christian Hewitt -[rebased ontop of sound patches] -Signed-off-by: Stefan Agner +Signed-off-by: Neil Armstrong +Signed-off-by: Kevin Hilman +Acked-by: Neil Armstrong +Acked-by: Martin Blumenstingl +Link: https://lore.kernel.org/r/20200915152432.30616-2-narmstrong@baylibre.com --- - .../boot/dts/amlogic/meson-g12b-odroid-n2.dts | 619 +---------------- - .../dts/amlogic/meson-g12b-odroid-n2.dtsi | 626 ++++++++++++++++++ - 2 files changed, 627 insertions(+), 618 deletions(-) + .../boot/dts/amlogic/meson-g12b-odroid-n2.dts | 618 +---------------- + .../dts/amlogic/meson-g12b-odroid-n2.dtsi | 625 ++++++++++++++++++ + 2 files changed, 626 insertions(+), 617 deletions(-) create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts -index 34fffa6d859d..5fd51a87ae9b 100644 +index 34fffa6d859d..a198a91259ec 100644 --- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts -@@ -6,626 +6,9 @@ - +@@ -7,625 +7,9 @@ /dts-v1/; --#include "meson-g12b-s922x.dtsi" + #include "meson-g12b-s922x.dtsi" -#include -#include -#include @@ -650,17 +652,16 @@ index 34fffa6d859d..5fd51a87ae9b 100644 }; diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi new file mode 100644 -index 000000000000..e5bc132ce7d5 +index 000000000000..6982632ae646 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi -@@ -0,0 +1,626 @@ +@@ -0,0 +1,625 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2019 BayLibre, SAS + * Author: Neil Armstrong + */ + -+#include "meson-g12b-s922x.dtsi" +#include +#include +#include @@ -1065,7 +1066,7 @@ index 000000000000..e5bc132ce7d5 + +&ext_mdio { + external_phy: ethernet-phy@0 { -+ /* Realtek RTL8211F (0x001cc916) */ ++ /* Realtek RTL8211F (0x001cc916) */ + reg = <0>; + max-speed = <1000>; + diff --git a/buildroot-external/board/hardkernel/patches/linux/0002-dt-bindings-arm-amlogic-add-support-for-the-ODROID-N.patch b/buildroot-external/board/hardkernel/patches/linux/0002-dt-bindings-arm-amlogic-add-support-for-the-ODROID-N.patch index 39ff63029..46e32f0cd 100644 --- a/buildroot-external/board/hardkernel/patches/linux/0002-dt-bindings-arm-amlogic-add-support-for-the-ODROID-N.patch +++ b/buildroot-external/board/hardkernel/patches/linux/0002-dt-bindings-arm-amlogic-add-support-for-the-ODROID-N.patch @@ -1,15 +1,20 @@ -From 4b9d9159ed5a79ceac5b831012b3cb44cce2516c Mon Sep 17 00:00:00 2001 -Message-Id: <4b9d9159ed5a79ceac5b831012b3cb44cce2516c.1602360581.git.stefan@agner.ch> -In-Reply-To: -References: +From 75f1e8330dac46a0bef8a360be0ae4566d9a470c Mon Sep 17 00:00:00 2001 +Message-Id: <75f1e8330dac46a0bef8a360be0ae4566d9a470c.1603528796.git.stefan@agner.ch> +In-Reply-To: <734f52f38625ce29c964517255538b3b0b546e8d.1603528796.git.stefan@agner.ch> +References: <734f52f38625ce29c964517255538b3b0b546e8d.1603528796.git.stefan@agner.ch> From: Christian Hewitt -Date: Sun, 19 Jul 2020 14:10:33 +0000 -Subject: [PATCH 2/4] dt-bindings: arm: amlogic: add support for the ODROID-N2+ +Date: Tue, 15 Sep 2020 17:24:31 +0200 +Subject: [PATCH 2/7] dt-bindings: arm: amlogic: add support for the ODROID-N2+ HardKernel ODROID-N2+ uses a revised Amlogic S922X v2 chip that supports higher cpu clock speeds than the original ODROID-N2. Signed-off-by: Christian Hewitt +Signed-off-by: Neil Armstrong +Signed-off-by: Kevin Hilman +Acked-by: Rob Herring +Acked-by: Martin Blumenstingl +Link: https://lore.kernel.org/r/20200915152432.30616-3-narmstrong@baylibre.com --- Documentation/devicetree/bindings/arm/amlogic.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/buildroot-external/board/hardkernel/patches/linux/0003-arm64-dts-meson-add-support-for-the-ODROID-N2.patch b/buildroot-external/board/hardkernel/patches/linux/0003-arm64-dts-meson-add-support-for-the-ODROID-N2.patch index 61a55fa7d..612b0d6b2 100644 --- a/buildroot-external/board/hardkernel/patches/linux/0003-arm64-dts-meson-add-support-for-the-ODROID-N2.patch +++ b/buildroot-external/board/hardkernel/patches/linux/0003-arm64-dts-meson-add-support-for-the-ODROID-N2.patch @@ -1,24 +1,27 @@ -From 81b5af6c3ce3e0f312be0897bec0b3c942e2ce97 Mon Sep 17 00:00:00 2001 -Message-Id: <81b5af6c3ce3e0f312be0897bec0b3c942e2ce97.1602360581.git.stefan@agner.ch> -In-Reply-To: -References: +From c714cb26fcb59f5201f7aac68dfd9883319881b2 Mon Sep 17 00:00:00 2001 +Message-Id: +In-Reply-To: <734f52f38625ce29c964517255538b3b0b546e8d.1603528796.git.stefan@agner.ch> +References: <734f52f38625ce29c964517255538b3b0b546e8d.1603528796.git.stefan@agner.ch> From: Christian Hewitt -Date: Sun, 19 Jul 2020 14:10:34 +0000 -Subject: [PATCH 3/4] arm64: dts: meson: add support for the ODROID-N2+ +Date: Tue, 15 Sep 2020 17:24:32 +0200 +Subject: [PATCH 3/7] arm64: dts: meson: add support for the ODROID-N2+ HardKernel ODROID-N2+ uses an Amlogic S922X rev. C chip capable of higher -clock speeds than the original ODROID-N2. Hardkernel supports the big cpu -cluster at 2.4GHz and the little cpu cluster at 2.0GHz. Opp points and -regulator changess are from the HardKernel Linux kernel sources. +clock speeds than the original ODROID-N2. + +The rev. C support a slighly higher VDDCPU_A & VDDCPU_B voltages and supports +the same OPPs as the Amlogic A311D SoC from the same G12B family. Suggested-by: Dongjin Kim Signed-off-by: Christian Hewitt -[Integrated Neil Armstrong's feedback from mailing list] -Signed-off-by: Stefan Agner +Signed-off-by: Neil Armstrong +Signed-off-by: Kevin Hilman +Acked-by: Martin Blumenstingl +Link: https://lore.kernel.org/r/20200915152432.30616-4-narmstrong@baylibre.com --- arch/arm64/boot/dts/amlogic/Makefile | 1 + - .../dts/amlogic/meson-g12b-odroid-n2-plus.dts | 53 +++++++++++++++++++ - 2 files changed, 54 insertions(+) + .../dts/amlogic/meson-g12b-odroid-n2-plus.dts | 31 +++++++++++++++++++ + 2 files changed, 32 insertions(+) create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2-plus.dts diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile @@ -35,10 +38,10 @@ index 4e2239ffcaa5..b0b3d6791499 100644 dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nanopi-k2.dtb diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2-plus.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2-plus.dts new file mode 100644 -index 000000000000..4ebb448d233f +index 000000000000..5de2815ba99d --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2-plus.dts -@@ -0,0 +1,53 @@ +@@ -0,0 +1,31 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2019 BayLibre, SAS @@ -47,18 +50,20 @@ index 000000000000..4ebb448d233f + +/dts-v1/; + ++/* The Amlogic S922X Rev. C supports the same OPPs as the A311D variant */ ++#include "meson-g12b-a311d.dtsi" +#include "meson-g12b-odroid-n2.dtsi" + +/ { + compatible = "hardkernel,odroid-n2-plus", "amlogic,s922x", "amlogic,g12b"; -+ model = "Hardkernel ODROID-N2+"; ++ model = "Hardkernel ODROID-N2Plus"; +}; + +&vddcpu_a { + regulator-min-microvolt = <680000>; + regulator-max-microvolt = <1040000>; + -+ pwms = <&pwm_ab 0 1500 0>; ++ pwms = <&pwm_AO_cd 1 1500 0>; +}; + +&vddcpu_b { @@ -68,30 +73,6 @@ index 000000000000..4ebb448d233f + pwms = <&pwm_AO_cd 1 1500 0>; +}; + -+&cpu_opp_table_0 { -+ opp-1908000000 { -+ opp-hz = /bits/ 64 <1908000000>; -+ opp-microvolt = <1030000>; -+ }; -+ -+ opp-2016000000 { -+ opp-hz = /bits/ 64 <2016000000>; -+ opp-microvolt = <1040000>; -+ }; -+}; -+ -+&cpub_opp_table_1 { -+ opp-2304000000 { -+ opp-hz = /bits/ 64 <2304000000>; -+ opp-microvolt = <1030000>; -+ }; -+ -+ opp-2400000000 { -+ opp-hz = /bits/ 64 <2400000000>; -+ opp-microvolt = <1040000>; -+ }; -+}; -+ -- 2.28.0 diff --git a/buildroot-external/board/hardkernel/patches/linux/0004-arm64-dts-meson-add-missing-g12-rng-clock.patch b/buildroot-external/board/hardkernel/patches/linux/0004-arm64-dts-meson-add-missing-g12-rng-clock.patch new file mode 100644 index 000000000..37c58d4c4 --- /dev/null +++ b/buildroot-external/board/hardkernel/patches/linux/0004-arm64-dts-meson-add-missing-g12-rng-clock.patch @@ -0,0 +1,38 @@ +From f2eead311d9dd9ff7ee0846914147250d7711f98 Mon Sep 17 00:00:00 2001 +Message-Id: +In-Reply-To: <734f52f38625ce29c964517255538b3b0b546e8d.1603528796.git.stefan@agner.ch> +References: <734f52f38625ce29c964517255538b3b0b546e8d.1603528796.git.stefan@agner.ch> +From: Scott K Logan +Date: Fri, 25 Sep 2020 01:43:53 -0700 +Subject: [PATCH 4/7] arm64: dts: meson: add missing g12 rng clock + +This adds the missing perpheral clock for the RNG for Amlogic G12. As +stated in amlogic,meson-rng.yaml, this isn't always necessary for the +RNG to function, but is better to have in case the clock is disabled for +some reason prior to loading. + +Signed-off-by: Scott K Logan +Suggested-by: Neil Armstrong +Reviewed-by: Neil Armstrong +Signed-off-by: Kevin Hilman +Link: https://lore.kernel.org/r/520a1a8ec7a958b3d918d89563ec7e93a4100a45.camel@cottsay.net +--- + arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi +index 1e83ec5b8c91..81f490e404ca 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi +@@ -282,6 +282,8 @@ apb_efuse: bus@30000 { + hwrng: rng@218 { + compatible = "amlogic,meson-rng"; + reg = <0x0 0x218 0x0 0x4>; ++ clocks = <&clkc CLKID_RNG0>; ++ clock-names = "core"; + }; + }; + +-- +2.28.0 + diff --git a/buildroot-external/board/hardkernel/patches/linux/0005-arm64-dts-meson-odroid-n2-plus-fix-vddcpu_a-pwm.patch b/buildroot-external/board/hardkernel/patches/linux/0005-arm64-dts-meson-odroid-n2-plus-fix-vddcpu_a-pwm.patch new file mode 100644 index 000000000..c2aaf3e27 --- /dev/null +++ b/buildroot-external/board/hardkernel/patches/linux/0005-arm64-dts-meson-odroid-n2-plus-fix-vddcpu_a-pwm.patch @@ -0,0 +1,42 @@ +From 0a3a45efeefaf65c170df265126a07da3236e178 Mon Sep 17 00:00:00 2001 +Message-Id: <0a3a45efeefaf65c170df265126a07da3236e178.1603528796.git.stefan@agner.ch> +In-Reply-To: <734f52f38625ce29c964517255538b3b0b546e8d.1603528796.git.stefan@agner.ch> +References: <734f52f38625ce29c964517255538b3b0b546e8d.1603528796.git.stefan@agner.ch> +From: Jerome Brunet +Date: Fri, 23 Oct 2020 11:41:39 +0200 +Subject: [PATCH 5/7] arm64: dts: meson: odroid-n2 plus: fix vddcpu_a pwm + +On the odroid N2 plus, cpufreq is not available due to an error on the cpu +regulators. vddcpu a and b get the same PWM. The one provided to vddcpu A +is incorrect. Because vddcpu B PWM is busy the regulator cannot register: + +> pwm-regulator regulator-vddcpu-b: Failed to get PWM: -16 + +Like on the odroid n2, use PWM A out of GPIOE_2 for vddcpu A to fix the +problem + +Fixes: 98d24896ee11 ("arm64: dts: meson: add support for the ODROID-N2+") +Signed-off-by: Jerome Brunet +Acked-by: Neil Armstrong +Signed-off-by: Kevin Hilman +Link: https://lore.kernel.org/r/20201023094139.809379-1-jbrunet@baylibre.com +--- + arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2-plus.dts | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2-plus.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2-plus.dts +index 5de2815ba99d..ce1198ad34e4 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2-plus.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2-plus.dts +@@ -19,7 +19,7 @@ &vddcpu_a { + regulator-min-microvolt = <680000>; + regulator-max-microvolt = <1040000>; + +- pwms = <&pwm_AO_cd 1 1500 0>; ++ pwms = <&pwm_ab 0 1500 0>; + }; + + &vddcpu_b { +-- +2.28.0 + diff --git a/buildroot-external/board/hardkernel/patches/linux/0004-clk-meson-g12a-mark-fclk_div2-as-critical.patch b/buildroot-external/board/hardkernel/patches/linux/0006-clk-meson-g12a-mark-fclk_div2-as-critical.patch similarity index 74% rename from buildroot-external/board/hardkernel/patches/linux/0004-clk-meson-g12a-mark-fclk_div2-as-critical.patch rename to buildroot-external/board/hardkernel/patches/linux/0006-clk-meson-g12a-mark-fclk_div2-as-critical.patch index dcd0d723c..9d2813920 100644 --- a/buildroot-external/board/hardkernel/patches/linux/0004-clk-meson-g12a-mark-fclk_div2-as-critical.patch +++ b/buildroot-external/board/hardkernel/patches/linux/0006-clk-meson-g12a-mark-fclk_div2-as-critical.patch @@ -1,10 +1,10 @@ -From 6a7c42785788faa862aeb7902cb2b3b08f033ca0 Mon Sep 17 00:00:00 2001 -Message-Id: <6a7c42785788faa862aeb7902cb2b3b08f033ca0.1602360581.git.stefan@agner.ch> -In-Reply-To: -References: +From 03041630d824a775b71f6008067955a51d069845 Mon Sep 17 00:00:00 2001 +Message-Id: <03041630d824a775b71f6008067955a51d069845.1603528796.git.stefan@agner.ch> +In-Reply-To: <734f52f38625ce29c964517255538b3b0b546e8d.1603528796.git.stefan@agner.ch> +References: <734f52f38625ce29c964517255538b3b0b546e8d.1603528796.git.stefan@agner.ch> From: Stefan Agner Date: Thu, 27 Aug 2020 23:29:57 +0200 -Subject: [PATCH 4/4] clk: meson: g12a: mark fclk_div2 as critical +Subject: [PATCH 6/7] clk: meson: g12a: mark fclk_div2 as critical On Amlogic Meson G12b platform, similar to fclk_div3, the fclk_div2 seems to be necessary for the system to operate correctly as well. diff --git a/buildroot-external/board/hardkernel/patches/linux/0001-usb-cdc-acm-fix-cooldown-mechanism.patch b/buildroot-external/board/hardkernel/patches/linux/0007-usb-cdc-acm-fix-cooldown-mechanism.patch similarity index 92% rename from buildroot-external/board/hardkernel/patches/linux/0001-usb-cdc-acm-fix-cooldown-mechanism.patch rename to buildroot-external/board/hardkernel/patches/linux/0007-usb-cdc-acm-fix-cooldown-mechanism.patch index af192c5c1..22a112078 100644 --- a/buildroot-external/board/hardkernel/patches/linux/0001-usb-cdc-acm-fix-cooldown-mechanism.patch +++ b/buildroot-external/board/hardkernel/patches/linux/0007-usb-cdc-acm-fix-cooldown-mechanism.patch @@ -1,8 +1,10 @@ -From f6fce2e974fe091fd233301bd7c127ca18304039 Mon Sep 17 00:00:00 2001 -Message-Id: +From 2c5d0244cbd6727f0e56bd6607b3a1b18ce27a3e Mon Sep 17 00:00:00 2001 +Message-Id: <2c5d0244cbd6727f0e56bd6607b3a1b18ce27a3e.1603528796.git.stefan@agner.ch> +In-Reply-To: <734f52f38625ce29c964517255538b3b0b546e8d.1603528796.git.stefan@agner.ch> +References: <734f52f38625ce29c964517255538b3b0b546e8d.1603528796.git.stefan@agner.ch> From: Jerome Brunet Date: Mon, 19 Oct 2020 19:07:02 +0200 -Subject: [PATCH] usb: cdc-acm: fix cooldown mechanism +Subject: [PATCH 7/7] usb: cdc-acm: fix cooldown mechanism Commit a4e7279cd1d1 ("cdc-acm: introduce a cool down") is causing regression if there is some USB error, such as -EPROTO. diff --git a/buildroot-external/board/hardkernel/patches/uboot/0002-ARM-meson-isolate-loading-of-socinfo.patch b/buildroot-external/board/hardkernel/patches/uboot/0001-ARM-meson-isolate-loading-of-socinfo.patch similarity index 80% rename from buildroot-external/board/hardkernel/patches/uboot/0002-ARM-meson-isolate-loading-of-socinfo.patch rename to buildroot-external/board/hardkernel/patches/uboot/0001-ARM-meson-isolate-loading-of-socinfo.patch index f56c44c2d..3823b8665 100644 --- a/buildroot-external/board/hardkernel/patches/uboot/0002-ARM-meson-isolate-loading-of-socinfo.patch +++ b/buildroot-external/board/hardkernel/patches/uboot/0001-ARM-meson-isolate-loading-of-socinfo.patch @@ -1,10 +1,8 @@ -From c67fb4dbb332ed38bc7fbee13079e5ea11390f4e Mon Sep 17 00:00:00 2001 -Message-Id: -In-Reply-To: -References: +From 698972869afda7095e31892c48051350788aa0a1 Mon Sep 17 00:00:00 2001 +Message-Id: <698972869afda7095e31892c48051350788aa0a1.1603550330.git.stefan@agner.ch> From: Stefan Agner Date: Mon, 31 Aug 2020 13:40:18 +0200 -Subject: [PATCH 2/3] ARM: meson: isolate loading of socinfo +Subject: [PATCH 1/2] ARM: meson: isolate loading of socinfo Move loading of socinfo into a separate function so the value can be reused later. @@ -59,5 +57,5 @@ index 3abb27e03b..cfcd5bbd3b 100644 socinfo_to_soc_id(socinfo), socinfo_to_package_id(socinfo), -- -2.28.0 +2.29.1 diff --git a/buildroot-external/board/hardkernel/patches/uboot/0001-Amlogic-w400-read-ethaddr-from-efuse.patch b/buildroot-external/board/hardkernel/patches/uboot/0001-Amlogic-w400-read-ethaddr-from-efuse.patch deleted file mode 100644 index b6c2252d0..000000000 --- a/buildroot-external/board/hardkernel/patches/uboot/0001-Amlogic-w400-read-ethaddr-from-efuse.patch +++ /dev/null @@ -1,58 +0,0 @@ -From f40f83d023b2e1dd82e751aee35c1f0d386b8b4f Mon Sep 17 00:00:00 2001 -Message-Id: -From: Pascal Vizeli -Date: Sat, 1 Feb 2020 20:55:39 +0000 -Subject: [PATCH 1/3] Amlogic w400: read ethaddr from efuse - -Signed-off-by: Pascal Vizeli ---- - board/amlogic/w400/w400.c | 27 ++++++++++++++++++++++++--- - 1 file changed, 24 insertions(+), 3 deletions(-) - -diff --git a/board/amlogic/w400/w400.c b/board/amlogic/w400/w400.c -index 47a51710dc..d74aab899a 100644 ---- a/board/amlogic/w400/w400.c -+++ b/board/amlogic/w400/w400.c -@@ -6,15 +6,36 @@ - - #include - #include --#include --#include --#include -+#include - #include -+#include - #include - -+#define EFUSE_MAC_OFFSET 20 -+#define EFUSE_MAC_SIZE 12 -+ - int misc_init_r(void) - { -+ u8 mac_addr[6]; -+ char efuse_mac_addr[EFUSE_MAC_SIZE], buff[3]; -+ ssize_t len; -+ - meson_eth_init(PHY_INTERFACE_MODE_RGMII, 0); - -+ if (!eth_env_get_enetaddr("ethaddr", mac_addr)) { -+ len = meson_sm_read_efuse(EFUSE_MAC_OFFSET, -+ efuse_mac_addr, EFUSE_MAC_SIZE); -+ if (len != EFUSE_MAC_SIZE) -+ return 0; -+ -+ for (int i = 0; i < 6; i++){ -+ buff[0] = efuse_mac_addr[i * 2]; -+ buff[1] = efuse_mac_addr[i * 2 + 1]; -+ mac_addr[i] = simple_strtoul(buff, NULL, 16); -+ } -+ if(is_valid_ethaddr(mac_addr)) -+ eth_env_set_enetaddr("ethaddr", mac_addr); -+ } -+ - return 0; - } --- -2.28.0 - diff --git a/buildroot-external/board/hardkernel/patches/uboot/0003-meson-Add-board_rev-to-env.patch b/buildroot-external/board/hardkernel/patches/uboot/0002-meson-Add-board_rev-to-env.patch similarity index 68% rename from buildroot-external/board/hardkernel/patches/uboot/0003-meson-Add-board_rev-to-env.patch rename to buildroot-external/board/hardkernel/patches/uboot/0002-meson-Add-board_rev-to-env.patch index 23f46d6a6..b3f7e4c2d 100644 --- a/buildroot-external/board/hardkernel/patches/uboot/0003-meson-Add-board_rev-to-env.patch +++ b/buildroot-external/board/hardkernel/patches/uboot/0002-meson-Add-board_rev-to-env.patch @@ -1,17 +1,17 @@ -From bb86524d84909ffe5d1d6ff3afe41d26396ba561 Mon Sep 17 00:00:00 2001 -Message-Id: -In-Reply-To: -References: +From 439e2a240062c4be21ac7879b130ef590106cdd8 Mon Sep 17 00:00:00 2001 +Message-Id: <439e2a240062c4be21ac7879b130ef590106cdd8.1603550497.git.stefan@agner.ch> +In-Reply-To: <698972869afda7095e31892c48051350788aa0a1.1603550497.git.stefan@agner.ch> +References: <698972869afda7095e31892c48051350788aa0a1.1603550497.git.stefan@agner.ch> From: Pascal Vizeli Date: Tue, 4 Aug 2020 13:50:57 +0000 -Subject: [PATCH 3/3] meson: Add board_rev to env +Subject: [PATCH 2/2] meson: Add board_rev to env Signed-off-by: Pascal Vizeli Signed-off-by: Stefan Agner --- arch/arm/include/asm/arch-meson/boot.h | 4 ++++ arch/arm/mach-meson/board-info.c | 12 ++++++++++++ - board/amlogic/w400/w400.c | 5 +++++ + board/amlogic/odroid-n2/odroid-n2.c | 5 +++++ 3 files changed, 21 insertions(+) diff --git a/arch/arm/include/asm/arch-meson/boot.h b/arch/arm/include/asm/arch-meson/boot.h @@ -54,11 +54,11 @@ index cfcd5bbd3b..3ea7eb7251 100644 + /* Write SoC info */ + return snprintf(buff, buff_len, "%x", socinfo_to_minor(socinfo)); +} -diff --git a/board/amlogic/w400/w400.c b/board/amlogic/w400/w400.c -index d74aab899a..cb2e5edf5e 100644 ---- a/board/amlogic/w400/w400.c -+++ b/board/amlogic/w400/w400.c -@@ -10,6 +10,7 @@ +diff --git a/board/amlogic/odroid-n2/odroid-n2.c b/board/amlogic/odroid-n2/odroid-n2.c +index caf7fd6810..c2a191ba6a 100644 +--- a/board/amlogic/odroid-n2/odroid-n2.c ++++ b/board/amlogic/odroid-n2/odroid-n2.c +@@ -12,6 +12,7 @@ #include #include #include @@ -66,17 +66,17 @@ index d74aab899a..cb2e5edf5e 100644 #define EFUSE_MAC_OFFSET 20 #define EFUSE_MAC_SIZE 12 -@@ -20,6 +21,10 @@ int misc_init_r(void) - char efuse_mac_addr[EFUSE_MAC_SIZE], buff[3]; +@@ -23,6 +24,10 @@ int misc_init_r(void) + char efuse_mac_addr[EFUSE_MAC_SIZE], tmp[3]; ssize_t len; -+ if (meson_get_soc_rev(buff, sizeof(buff))) { -+ env_set("board_rev", buff); ++ if (meson_get_soc_rev(tmp, sizeof(tmp)) > 0) { ++ env_set("board_rev", tmp); + } + meson_eth_init(PHY_INTERFACE_MODE_RGMII, 0); if (!eth_env_get_enetaddr("ethaddr", mac_addr)) { -- -2.28.0 +2.29.1 From 4eb0cd6460affed66a08ffd499f240e2c38dd0db Mon Sep 17 00:00:00 2001 From: Harsh Kevadia Date: Sun, 25 Oct 2020 13:36:15 -0400 Subject: [PATCH 03/26] Update README.md (#930) * Update README.md * Update based on PR comments --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 78f2dfdf6..64acb832d 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Home Assistant Operating System uses Docker as Container engine. It by default d - Asus Tinker Board - Virtual appliances -See full list and specific models [here](./Documentation/boards/README.md) +See the full list and specific models [here](./Documentation/boards/README.md) ## Getting Started @@ -45,7 +45,7 @@ If you're interested in finding out more about Home Assistant Operating System a - **Security:** - [AppArmor](https://apparmor.net/) Linux kernel security module -If you don't have experience with these, embedded systems, buildroot or the build process for Linux distributions, then please read up on these topics. The rest of the documentation in this project is for developers and assumes you have experience of embedded systems or a strong understanding of the internal workings of operating systems. +If you don't have experience with these, embedded systems, buildroot or the build process for Linux distributions, then please read up on these topics. The rest of the documentation in this project is for developers and assumes you have experience with embedded systems or a strong understanding of the internal workings of operating systems. ## Developer Documentation From 2416c6c26ce3f88a576f2635277cb3c085ca8576 Mon Sep 17 00:00:00 2001 From: Aman Gupta Karmani Date: Tue, 27 Oct 2020 01:26:03 -0700 Subject: [PATCH 04/26] add .DS_Store to .gitignore (#934) --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 34991bff5..a0a1e6e57 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ +.DS_Store /release *.pem From 8cd7dfe8225aee26297e22b3b69ec749716e46ab Mon Sep 17 00:00:00 2001 From: Aman Gupta Karmani Date: Tue, 27 Oct 2020 01:32:32 -0700 Subject: [PATCH 05/26] make it easier to edit and transfer files in the docker builder (#935) --- Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Dockerfile b/Dockerfile index 73bb37ba0..1d6f5c903 100644 --- a/Dockerfile +++ b/Dockerfile @@ -38,6 +38,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ unzip \ wget \ qemu-utils \ + openssh-client \ + vim \ && rm -rf /var/lib/apt/lists/* # Init entry From 481a79eb28e2590ef7e10c85b3ff15ced219e9e8 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Tue, 27 Oct 2020 09:42:21 +0100 Subject: [PATCH 06/26] Revert "bump rpi-firmware to latest stable release (sep 2020) (#899)" (#928) (#942) This reverts commit dade3adf801e7ae304e449232165bda990909b0b. The new firmware lead to black screens and rainbow screen on various Raspberry Pis. --- buildroot-patches/0002-rpi-firmware-Bump-firmware.patch | 4 ++-- buildroot/package/rpi-firmware/rpi-firmware.hash | 2 +- buildroot/package/rpi-firmware/rpi-firmware.mk | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/buildroot-patches/0002-rpi-firmware-Bump-firmware.patch b/buildroot-patches/0002-rpi-firmware-Bump-firmware.patch index 7bd88826d..e8e832988 100644 --- a/buildroot-patches/0002-rpi-firmware-Bump-firmware.patch +++ b/buildroot-patches/0002-rpi-firmware-Bump-firmware.patch @@ -16,7 +16,7 @@ index 59ab1da0c6..e3ba1bf99c 100644 @@ -1,3 +1,3 @@ # Locally computed -sha256 31a84340be08be319570a9d1439f25c0e3513fed73065a56aa5dd61dd605d5d9 rpi-firmware-01ecfd2ba2b7cf3a2f4aa75ada895ee4a3e729f5.tar.gz -+sha256 6e5f1bf068995078d4d6a01899a7f7fe094b92a4f5cc19f0d4f67040a3175aa9 rpi-firmware-2b41f509710d99758a5b8efa88d95dd0e9169c0a.tar.gz ++sha256 4789d4422b3bc7eab157471ba36aebd54efc2a6de4c937f5cfdb4392af04fe80 rpi-firmware-7caead9416f64b2d33361c703fb243b8e157eba4.tar.gz sha256 c7283ff51f863d93a275c66e3b4cb08021a5dd4d8c1e7acc47d872fbe52d3d6b boot/LICENCE.broadcom diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk index 6fee60b08c..2177ca9859 100644 @@ -27,7 +27,7 @@ index 6fee60b08c..2177ca9859 100644 ################################################################################ -RPI_FIRMWARE_VERSION = 01ecfd2ba2b7cf3a2f4aa75ada895ee4a3e729f5 -+RPI_FIRMWARE_VERSION = 2b41f509710d99758a5b8efa88d95dd0e9169c0a ++RPI_FIRMWARE_VERSION = 7caead9416f64b2d33361c703fb243b8e157eba4 RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION)) RPI_FIRMWARE_LICENSE = BSD-3-Clause RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom diff --git a/buildroot/package/rpi-firmware/rpi-firmware.hash b/buildroot/package/rpi-firmware/rpi-firmware.hash index 1add953cb..54607d0a4 100644 --- a/buildroot/package/rpi-firmware/rpi-firmware.hash +++ b/buildroot/package/rpi-firmware/rpi-firmware.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 6e5f1bf068995078d4d6a01899a7f7fe094b92a4f5cc19f0d4f67040a3175aa9 rpi-firmware-2b41f509710d99758a5b8efa88d95dd0e9169c0a.tar.gz +sha256 4789d4422b3bc7eab157471ba36aebd54efc2a6de4c937f5cfdb4392af04fe80 rpi-firmware-7caead9416f64b2d33361c703fb243b8e157eba4.tar.gz sha256 c7283ff51f863d93a275c66e3b4cb08021a5dd4d8c1e7acc47d872fbe52d3d6b boot/LICENCE.broadcom diff --git a/buildroot/package/rpi-firmware/rpi-firmware.mk b/buildroot/package/rpi-firmware/rpi-firmware.mk index dd44bd758..8d73aa698 100644 --- a/buildroot/package/rpi-firmware/rpi-firmware.mk +++ b/buildroot/package/rpi-firmware/rpi-firmware.mk @@ -4,7 +4,7 @@ # ################################################################################ -RPI_FIRMWARE_VERSION = 2b41f509710d99758a5b8efa88d95dd0e9169c0a +RPI_FIRMWARE_VERSION = 7caead9416f64b2d33361c703fb243b8e157eba4 RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION)) RPI_FIRMWARE_LICENSE = BSD-3-Clause RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom From a8bad54efc72012534c32476884a2e6405493dc3 Mon Sep 17 00:00:00 2001 From: Aman Gupta Karmani Date: Fri, 30 Oct 2020 13:52:24 -0700 Subject: [PATCH 07/26] automatically fsck to repair issues after an unclean shutdown (#938) * automatically fsck to repair partitions * add fsck.fat so rpi boot partition can be repaired * Use Wants= instead of Requires= Co-authored-by: Pascal Vizeli * add dosfstools to all images * run hassos-data and hassos-expand after fsck Co-authored-by: Pascal Vizeli --- buildroot-external/configs/intel_nuc_defconfig | 2 ++ buildroot-external/configs/odroid_c2_defconfig | 2 ++ buildroot-external/configs/odroid_n2_defconfig | 2 ++ buildroot-external/configs/odroid_xu4_defconfig | 2 ++ buildroot-external/configs/ova_defconfig | 2 ++ buildroot-external/configs/rpi0_w_defconfig | 2 ++ buildroot-external/configs/rpi2_defconfig | 2 ++ buildroot-external/configs/rpi3_64_defconfig | 2 ++ buildroot-external/configs/rpi3_defconfig | 2 ++ buildroot-external/configs/rpi4_64_defconfig | 2 ++ buildroot-external/configs/rpi4_defconfig | 2 ++ buildroot-external/configs/rpi_defconfig | 2 ++ buildroot-external/configs/tinker_defconfig | 2 ++ .../rootfs-overlay/usr/lib/systemd/system/hassos-data.service | 2 +- .../rootfs-overlay/usr/lib/systemd/system/hassos-expand.service | 2 +- .../rootfs-overlay/usr/lib/systemd/system/mnt-boot.mount | 2 ++ .../rootfs-overlay/usr/lib/systemd/system/mnt-data.mount | 2 ++ .../rootfs-overlay/usr/lib/systemd/system/mnt-overlay.mount | 2 ++ 18 files changed, 34 insertions(+), 2 deletions(-) diff --git a/buildroot-external/configs/intel_nuc_defconfig b/buildroot-external/configs/intel_nuc_defconfig index 9438c9fad..f530d68a3 100644 --- a/buildroot-external/configs/intel_nuc_defconfig +++ b/buildroot-external/configs/intel_nuc_defconfig @@ -106,3 +106,5 @@ BR2_PACKAGE_HASSIO=y BR2_PACKAGE_HASSIO_ARCH="amd64" BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_INTEL_E1000E=y +BR2_PACKAGE_DOSFSTOOLS=y +BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y diff --git a/buildroot-external/configs/odroid_c2_defconfig b/buildroot-external/configs/odroid_c2_defconfig index 54f15a685..352c182cf 100644 --- a/buildroot-external/configs/odroid_c2_defconfig +++ b/buildroot-external/configs/odroid_c2_defconfig @@ -100,3 +100,5 @@ BR2_PACKAGE_HASSIO_ARCH="aarch64" BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_HARDKERNEL_BOOT=y BR2_PACKAGE_HARDKERNEL_BOOT_ODROID_C2=y +BR2_PACKAGE_DOSFSTOOLS=y +BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y diff --git a/buildroot-external/configs/odroid_n2_defconfig b/buildroot-external/configs/odroid_n2_defconfig index bf50b00dd..b878aa70d 100644 --- a/buildroot-external/configs/odroid_n2_defconfig +++ b/buildroot-external/configs/odroid_n2_defconfig @@ -100,3 +100,5 @@ BR2_PACKAGE_HASSIO_ARCH="aarch64" BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_HARDKERNEL_BOOT=y BR2_PACKAGE_HARDKERNEL_BOOT_ODROID_N2=y +BR2_PACKAGE_DOSFSTOOLS=y +BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y diff --git a/buildroot-external/configs/odroid_xu4_defconfig b/buildroot-external/configs/odroid_xu4_defconfig index 1a3e27d6b..a7684197e 100644 --- a/buildroot-external/configs/odroid_xu4_defconfig +++ b/buildroot-external/configs/odroid_xu4_defconfig @@ -104,3 +104,5 @@ BR2_PACKAGE_HASSIO_ARCH="armv7" BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_HARDKERNEL_BOOT=y BR2_PACKAGE_HARDKERNEL_BOOT_ODROID_XU4=y +BR2_PACKAGE_DOSFSTOOLS=y +BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y diff --git a/buildroot-external/configs/ova_defconfig b/buildroot-external/configs/ova_defconfig index 9352d9082..429953d6e 100644 --- a/buildroot-external/configs/ova_defconfig +++ b/buildroot-external/configs/ova_defconfig @@ -96,3 +96,5 @@ BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSIO=y BR2_PACKAGE_HASSIO_ARCH="amd64" BR2_PACKAGE_APPARMOR=y +BR2_PACKAGE_DOSFSTOOLS=y +BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y diff --git a/buildroot-external/configs/rpi0_w_defconfig b/buildroot-external/configs/rpi0_w_defconfig index 1d16878c4..bd3550b86 100644 --- a/buildroot-external/configs/rpi0_w_defconfig +++ b/buildroot-external/configs/rpi0_w_defconfig @@ -102,3 +102,5 @@ BR2_PACKAGE_HASSIO=y BR2_PACKAGE_HASSIO_ARCH="armhf" BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_BLUETOOTH_BCM43XX=y +BR2_PACKAGE_DOSFSTOOLS=y +BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y diff --git a/buildroot-external/configs/rpi2_defconfig b/buildroot-external/configs/rpi2_defconfig index c3cc91216..c9121e3ac 100644 --- a/buildroot-external/configs/rpi2_defconfig +++ b/buildroot-external/configs/rpi2_defconfig @@ -100,3 +100,5 @@ BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSIO=y BR2_PACKAGE_HASSIO_ARCH="armv7" BR2_PACKAGE_APPARMOR=y +BR2_PACKAGE_DOSFSTOOLS=y +BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y diff --git a/buildroot-external/configs/rpi3_64_defconfig b/buildroot-external/configs/rpi3_64_defconfig index 8f3c71945..8fa1b1aea 100644 --- a/buildroot-external/configs/rpi3_64_defconfig +++ b/buildroot-external/configs/rpi3_64_defconfig @@ -102,3 +102,5 @@ BR2_PACKAGE_HASSIO=y BR2_PACKAGE_HASSIO_ARCH="aarch64" BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_BLUETOOTH_BCM43XX=y +BR2_PACKAGE_DOSFSTOOLS=y +BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y diff --git a/buildroot-external/configs/rpi3_defconfig b/buildroot-external/configs/rpi3_defconfig index ac522f5bb..5c6d69218 100644 --- a/buildroot-external/configs/rpi3_defconfig +++ b/buildroot-external/configs/rpi3_defconfig @@ -102,3 +102,5 @@ BR2_PACKAGE_HASSIO=y BR2_PACKAGE_HASSIO_ARCH="armv7" BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_BLUETOOTH_BCM43XX=y +BR2_PACKAGE_DOSFSTOOLS=y +BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y diff --git a/buildroot-external/configs/rpi4_64_defconfig b/buildroot-external/configs/rpi4_64_defconfig index a3f45cf27..bccc0af12 100644 --- a/buildroot-external/configs/rpi4_64_defconfig +++ b/buildroot-external/configs/rpi4_64_defconfig @@ -103,3 +103,5 @@ BR2_PACKAGE_HASSIO=y BR2_PACKAGE_HASSIO_ARCH="aarch64" BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_BLUETOOTH_BCM43XX=y +BR2_PACKAGE_DOSFSTOOLS=y +BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y diff --git a/buildroot-external/configs/rpi4_defconfig b/buildroot-external/configs/rpi4_defconfig index 35845f48d..ce15052b5 100644 --- a/buildroot-external/configs/rpi4_defconfig +++ b/buildroot-external/configs/rpi4_defconfig @@ -103,3 +103,5 @@ BR2_PACKAGE_HASSIO=y BR2_PACKAGE_HASSIO_ARCH="armv7" BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_BLUETOOTH_BCM43XX=y +BR2_PACKAGE_DOSFSTOOLS=y +BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y diff --git a/buildroot-external/configs/rpi_defconfig b/buildroot-external/configs/rpi_defconfig index 099b0a154..e38bb9bc3 100644 --- a/buildroot-external/configs/rpi_defconfig +++ b/buildroot-external/configs/rpi_defconfig @@ -100,3 +100,5 @@ BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSIO=y BR2_PACKAGE_HASSIO_ARCH="armhf" BR2_PACKAGE_APPARMOR=y +BR2_PACKAGE_DOSFSTOOLS=y +BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y diff --git a/buildroot-external/configs/tinker_defconfig b/buildroot-external/configs/tinker_defconfig index beafc5e41..1be2cf91a 100644 --- a/buildroot-external/configs/tinker_defconfig +++ b/buildroot-external/configs/tinker_defconfig @@ -108,3 +108,5 @@ BR2_PACKAGE_HASSIO=y BR2_PACKAGE_HASSIO_ARCH="armv7" BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_BLUETOOTH_RTL8723=y +BR2_PACKAGE_DOSFSTOOLS=y +BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-data.service b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-data.service index 2b1978ddf..847ffe9c5 100644 --- a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-data.service +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-data.service @@ -5,7 +5,7 @@ RefuseManualStart=true RefuseManualStop=true Requires=mnt-overlay.mount dev-disk-by\x2dlabel-hassos\x2ddata.device Wants=hassos-expand.service -After=mnt-overlay.mount dev-disk-by\x2dlabel-hassos\x2ddata.device +After=mnt-overlay.mount dev-disk-by\x2dlabel-hassos\x2ddata.device systemd-fsck@dev-disk-by\x2dlabel-hassos\x2ddata.service Before=hassos-expand.service ConditionPathExists=/mnt/overlay/data.opt diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-expand.service b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-expand.service index a847f9f9a..1680930df 100644 --- a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-expand.service +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-expand.service @@ -5,7 +5,7 @@ Before=mnt-data.mount RefuseManualStart=true RefuseManualStop=true Requires=dev-disk-by\x2dlabel-hassos\x2ddata.device -After=dev-disk-by\x2dlabel-hassos\x2ddata.device +After=dev-disk-by\x2dlabel-hassos\x2ddata.device systemd-fsck@dev-disk-by\x2dlabel-hassos\x2ddata.service [Service] Type=oneshot diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/mnt-boot.mount b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/mnt-boot.mount index 18cfdd584..c2008cd5d 100644 --- a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/mnt-boot.mount +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/mnt-boot.mount @@ -3,6 +3,8 @@ Description=HassOS boot partition DefaultDependencies=no Before=umount.target local-fs.target Conflicts=umount.target +After=systemd-fsck@dev-disk-by\x2dlabel-hassos\x2dboot.service +Wants=systemd-fsck@dev-disk-by\x2dlabel-hassos\x2dboot.service [Mount] What=/dev/disk/by-label/hassos-boot diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/mnt-data.mount b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/mnt-data.mount index 4c71e12e3..cb38aff6e 100644 --- a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/mnt-data.mount +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/mnt-data.mount @@ -5,6 +5,8 @@ DefaultDependencies=no After=hassos-expand.service Before=umount.target local-fs.target Conflicts=umount.target +After=systemd-fsck@dev-disk-by\x2dlabel-hassos\x2ddata.service +Wants=systemd-fsck@dev-disk-by\x2dlabel-hassos\x2ddata.service [Mount] What=/dev/disk/by-label/hassos-data diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/mnt-overlay.mount b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/mnt-overlay.mount index 21c633faa..76e555ae8 100644 --- a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/mnt-overlay.mount +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/mnt-overlay.mount @@ -3,6 +3,8 @@ Description=HassOS overlay partition DefaultDependencies=no Before=umount.target local-fs.target Conflicts=umount.target +After=systemd-fsck@dev-disk-by\x2dlabel-hassos\x2doverlay.service +Wants=systemd-fsck@dev-disk-by\x2dlabel-hassos\x2doverlay.service [Mount] What=/dev/disk/by-label/hassos-overlay From ac942b8ed9cab7620c5b129294aa4996b74fd8e7 Mon Sep 17 00:00:00 2001 From: Aman Gupta Karmani Date: Fri, 30 Oct 2020 13:54:20 -0700 Subject: [PATCH 08/26] add fsck.repair=yes to all uboot kernel cmdline args (#943) --- buildroot-external/board/asus/tinker/uboot-boot.ush | 2 +- buildroot-external/board/hardkernel/odroid-c2/uboot-boot.ush | 2 +- buildroot-external/board/hardkernel/odroid-n2/uboot-boot.ush | 2 +- buildroot-external/board/hardkernel/odroid-xu4/uboot-boot.ush | 2 +- buildroot-external/board/raspberrypi/uboot-boot.ush | 2 +- buildroot-external/board/raspberrypi/uboot-boot64.ush | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/buildroot-external/board/asus/tinker/uboot-boot.ush b/buildroot-external/board/asus/tinker/uboot-boot.ush index ca7e1c998..3b7c61ea8 100644 --- a/buildroot-external/board/asus/tinker/uboot-boot.ush +++ b/buildroot-external/board/asus/tinker/uboot-boot.ush @@ -17,7 +17,7 @@ test -n "${BOOT_A_LEFT}" || setenv BOOT_A_LEFT 3 test -n "${BOOT_B_LEFT}" || setenv BOOT_B_LEFT 3 # HassOS bootargs -setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor systemd.machine_id=${MACHINE_ID} cgroup_enable=memory" +setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor systemd.machine_id=${MACHINE_ID} cgroup_enable=memory fsck.repair=yes" # HassOS system A/B setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd rootfstype=squashfs ro rootwait" diff --git a/buildroot-external/board/hardkernel/odroid-c2/uboot-boot.ush b/buildroot-external/board/hardkernel/odroid-c2/uboot-boot.ush index 24f880177..c25d08d33 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/uboot-boot.ush +++ b/buildroot-external/board/hardkernel/odroid-c2/uboot-boot.ush @@ -19,7 +19,7 @@ test -n "${BOOT_A_LEFT}" || setenv BOOT_A_LEFT 3 test -n "${BOOT_B_LEFT}" || setenv BOOT_B_LEFT 3 # HassOS bootargs -setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor systemd.machine_id=${MACHINE_ID} cgroup_enable=memory" +setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor systemd.machine_id=${MACHINE_ID} cgroup_enable=memory fsck.repair=yes" # HassOS system A/B setenv bootargs_a "root=PARTUUID=48617373-06 rootfstype=squashfs ro rootwait" diff --git a/buildroot-external/board/hardkernel/odroid-n2/uboot-boot.ush b/buildroot-external/board/hardkernel/odroid-n2/uboot-boot.ush index 063fc010b..8ae0f2f2e 100644 --- a/buildroot-external/board/hardkernel/odroid-n2/uboot-boot.ush +++ b/buildroot-external/board/hardkernel/odroid-n2/uboot-boot.ush @@ -19,7 +19,7 @@ test -n "${BOOT_A_LEFT}" || setenv BOOT_A_LEFT 3 test -n "${BOOT_B_LEFT}" || setenv BOOT_B_LEFT 3 # HassOS bootargs -setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor systemd.machine_id=${MACHINE_ID} cgroup_enable=memory" +setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor systemd.machine_id=${MACHINE_ID} cgroup_enable=memory fsck.repair=yes" # HassOS system A/B setenv bootargs_a "root=PARTUUID=48617373-06 rootfstype=squashfs ro rootwait" diff --git a/buildroot-external/board/hardkernel/odroid-xu4/uboot-boot.ush b/buildroot-external/board/hardkernel/odroid-xu4/uboot-boot.ush index 747e9a478..54a8a0812 100644 --- a/buildroot-external/board/hardkernel/odroid-xu4/uboot-boot.ush +++ b/buildroot-external/board/hardkernel/odroid-xu4/uboot-boot.ush @@ -21,7 +21,7 @@ test -n "${BOOT_A_LEFT}" || setenv BOOT_A_LEFT 3 test -n "${BOOT_B_LEFT}" || setenv BOOT_B_LEFT 3 # HassOS bootargs -setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor systemd.machine_id=${MACHINE_ID} cgroup_enable=memory" +setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor systemd.machine_id=${MACHINE_ID} cgroup_enable=memory fsck.repair=yes" # HassOS system A/B setenv bootargs_a "root=PARTUUID=48617373-06 rootfstype=squashfs ro rootwait" diff --git a/buildroot-external/board/raspberrypi/uboot-boot.ush b/buildroot-external/board/raspberrypi/uboot-boot.ush index 750940d43..b6982c275 100644 --- a/buildroot-external/board/raspberrypi/uboot-boot.ush +++ b/buildroot-external/board/raspberrypi/uboot-boot.ush @@ -18,7 +18,7 @@ test -n "${BOOT_A_LEFT}" || setenv BOOT_A_LEFT 3 test -n "${BOOT_B_LEFT}" || setenv BOOT_B_LEFT 3 # HassOS bootargs -setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor rootwait systemd.machine_id=${MACHINE_ID} cgroup_enable=memory" +setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor rootwait systemd.machine_id=${MACHINE_ID} cgroup_enable=memory fsck.repair=yes" # HassOS system A/B setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd rootfstype=squashfs ro" diff --git a/buildroot-external/board/raspberrypi/uboot-boot64.ush b/buildroot-external/board/raspberrypi/uboot-boot64.ush index 2adacf3b8..6e00f0734 100644 --- a/buildroot-external/board/raspberrypi/uboot-boot64.ush +++ b/buildroot-external/board/raspberrypi/uboot-boot64.ush @@ -18,7 +18,7 @@ test -n "${BOOT_A_LEFT}" || setenv BOOT_A_LEFT 3 test -n "${BOOT_B_LEFT}" || setenv BOOT_B_LEFT 3 # HassOS bootargs -setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor rootwait systemd.machine_id=${MACHINE_ID} cgroup_enable=memory" +setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor rootwait systemd.machine_id=${MACHINE_ID} cgroup_enable=memory fsck.repair=yes" # HassOS system A/B setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd rootfstype=squashfs ro" From 737a6f18c385733955af791a46daf799782b06e9 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Mon, 2 Nov 2020 13:35:00 +0100 Subject: [PATCH 09/26] Add machine specific landingpage container at build time (#949) The landingpage container is a minimal webserver with built-in zeroconf annoucement. Preinstall the machine specific landingpage container to make sure it will show up right after startup. --- buildroot-external/configs/intel_nuc_defconfig | 1 + buildroot-external/configs/odroid_c2_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/rpi0_w_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/rpi_defconfig | 1 + buildroot-external/configs/tinker_defconfig | 1 + buildroot-external/package/hassio/Config.in | 5 +++++ buildroot-external/package/hassio/builder/hostapp.sh | 9 +++++++++ buildroot-external/package/hassio/hassio.mk | 3 ++- 16 files changed, 29 insertions(+), 1 deletion(-) diff --git a/buildroot-external/configs/intel_nuc_defconfig b/buildroot-external/configs/intel_nuc_defconfig index f530d68a3..6117ec227 100644 --- a/buildroot-external/configs/intel_nuc_defconfig +++ b/buildroot-external/configs/intel_nuc_defconfig @@ -104,6 +104,7 @@ 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 BR2_PACKAGE_DOSFSTOOLS=y diff --git a/buildroot-external/configs/odroid_c2_defconfig b/buildroot-external/configs/odroid_c2_defconfig index 352c182cf..fea045323 100644 --- a/buildroot-external/configs/odroid_c2_defconfig +++ b/buildroot-external/configs/odroid_c2_defconfig @@ -97,6 +97,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 b878aa70d..a2333444b 100644 --- a/buildroot-external/configs/odroid_n2_defconfig +++ b/buildroot-external/configs/odroid_n2_defconfig @@ -97,6 +97,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 a7684197e..800e95bc5 100644 --- a/buildroot-external/configs/odroid_xu4_defconfig +++ b/buildroot-external/configs/odroid_xu4_defconfig @@ -101,6 +101,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 429953d6e..7c453f1ee 100644 --- a/buildroot-external/configs/ova_defconfig +++ b/buildroot-external/configs/ova_defconfig @@ -95,6 +95,7 @@ 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 BR2_PACKAGE_DOSFSTOOLS=y BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y diff --git a/buildroot-external/configs/rpi0_w_defconfig b/buildroot-external/configs/rpi0_w_defconfig index bd3550b86..4aba858a2 100644 --- a/buildroot-external/configs/rpi0_w_defconfig +++ b/buildroot-external/configs/rpi0_w_defconfig @@ -100,6 +100,7 @@ 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 BR2_PACKAGE_DOSFSTOOLS=y diff --git a/buildroot-external/configs/rpi2_defconfig b/buildroot-external/configs/rpi2_defconfig index c9121e3ac..cbe43b79c 100644 --- a/buildroot-external/configs/rpi2_defconfig +++ b/buildroot-external/configs/rpi2_defconfig @@ -99,6 +99,7 @@ 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 BR2_PACKAGE_DOSFSTOOLS=y BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y diff --git a/buildroot-external/configs/rpi3_64_defconfig b/buildroot-external/configs/rpi3_64_defconfig index 8fa1b1aea..a6121c44a 100644 --- a/buildroot-external/configs/rpi3_64_defconfig +++ b/buildroot-external/configs/rpi3_64_defconfig @@ -100,6 +100,7 @@ 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 BR2_PACKAGE_DOSFSTOOLS=y diff --git a/buildroot-external/configs/rpi3_defconfig b/buildroot-external/configs/rpi3_defconfig index 5c6d69218..109baa5e1 100644 --- a/buildroot-external/configs/rpi3_defconfig +++ b/buildroot-external/configs/rpi3_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="raspberrypi3" BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_BLUETOOTH_BCM43XX=y BR2_PACKAGE_DOSFSTOOLS=y diff --git a/buildroot-external/configs/rpi4_64_defconfig b/buildroot-external/configs/rpi4_64_defconfig index bccc0af12..729dfcf77 100644 --- a/buildroot-external/configs/rpi4_64_defconfig +++ b/buildroot-external/configs/rpi4_64_defconfig @@ -101,6 +101,7 @@ 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 BR2_PACKAGE_DOSFSTOOLS=y diff --git a/buildroot-external/configs/rpi4_defconfig b/buildroot-external/configs/rpi4_defconfig index ce15052b5..cec9eff55 100644 --- a/buildroot-external/configs/rpi4_defconfig +++ b/buildroot-external/configs/rpi4_defconfig @@ -101,6 +101,7 @@ 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 BR2_PACKAGE_DOSFSTOOLS=y diff --git a/buildroot-external/configs/rpi_defconfig b/buildroot-external/configs/rpi_defconfig index e38bb9bc3..59c9ee9b3 100644 --- a/buildroot-external/configs/rpi_defconfig +++ b/buildroot-external/configs/rpi_defconfig @@ -99,6 +99,7 @@ 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_DOSFSTOOLS=y BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y diff --git a/buildroot-external/configs/tinker_defconfig b/buildroot-external/configs/tinker_defconfig index 1be2cf91a..2e77ad81a 100644 --- a/buildroot-external/configs/tinker_defconfig +++ b/buildroot-external/configs/tinker_defconfig @@ -106,6 +106,7 @@ 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 BR2_PACKAGE_DOSFSTOOLS=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)) From 8ed04ed73c22fc0973f22da61e0df2f84af03fd8 Mon Sep 17 00:00:00 2001 From: Aman Gupta Karmani Date: Tue, 3 Nov 2020 09:31:59 -0800 Subject: [PATCH 10/26] reboot kernels on panic so u-boot can fallback to previous update (#937) --- buildroot-external/kernel/hassos.config | 1 + 1 file changed, 1 insertion(+) diff --git a/buildroot-external/kernel/hassos.config b/buildroot-external/kernel/hassos.config index 74dd1f4a0..ec2070fd1 100644 --- a/buildroot-external/kernel/hassos.config +++ b/buildroot-external/kernel/hassos.config @@ -1,5 +1,6 @@ CONFIG_KERNEL_LZ4=y CONFIG_CMDLINE="" +CONFIG_PANIC_TIMEOUT=5 CONFIG_ZRAM=y CONFIG_ZSMALLOC=y From 2d257bd671365a7360d4fbb8484ae9f6a87fbe39 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Wed, 4 Nov 2020 10:05:38 +0100 Subject: [PATCH 11/26] Simplify self healing capabilities of Supervisor service (#952) * Simplify self healing capabilities of Supervisor service Instead of relying on time based information on how long the container has been running use a startup marker file to infer if the last startup has been successful. * Update buildroot-external/rootfs-overlay/usr/sbin/hassos-supervisor Co-authored-by: Pascal Vizeli Co-authored-by: Pascal Vizeli --- .../systemd/system/hassos-supervisor.service | 1 + .../rootfs-overlay/usr/sbin/hassos-supervisor | 31 +++++++------------ 2 files changed, 12 insertions(+), 20 deletions(-) diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-supervisor.service b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-supervisor.service index 9d7be631c..5244d717f 100644 --- a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-supervisor.service +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-supervisor.service @@ -8,6 +8,7 @@ StartLimitIntervalSec=60 StartLimitBurst=5 ConditionPathExists=/run/dbus/system_bus_socket ConditionPathExists=/run/docker.sock +RuntimeDirectory=supervisor [Service] Type=simple diff --git a/buildroot-external/rootfs-overlay/usr/sbin/hassos-supervisor b/buildroot-external/rootfs-overlay/usr/sbin/hassos-supervisor index b127a78c4..ce3a4311a 100755 --- a/buildroot-external/rootfs-overlay/usr/sbin/hassos-supervisor +++ b/buildroot-external/rootfs-overlay/usr/sbin/hassos-supervisor @@ -9,32 +9,21 @@ set -e . /etc/os-release # Init supervisor -SUPERVISOR_MIN_RUNTIME=15 +SUPERVISOR_STARTUP_MARKER="/run/supervisor/startup-marker" SUPERVISOR_IMAGE="homeassistant/${SUPERVISOR_ARCH}-hassio-supervisor" SUPERVISOR_DATA=/mnt/data/supervisor SUPERVISOR_IMAGE_ID=$(docker inspect --format='{{.Id}}' "${SUPERVISOR_IMAGE}" || echo "") SUPERVISOR_CONTAINER_ID=$(docker inspect --format='{{.Image}}' hassio_supervisor || echo "") -# Check if previous runtime of the container meets the minimal runtime -# If not, we might be in trouble. Image or container corruption, bad release? +# Check if previous run left the startup-marker in place. If so, we assume the +# Container image or container is somehow corrupted. # Delete the container, delete the image, pull a fresh one -if [ -n "${SUPERVISOR_CONTAINER_ID}" ] && [ "${SUPERVISOR_IMAGE_ID}" = "${SUPERVISOR_CONTAINER_ID}" ]; then - SUPERVISOR_START=$(docker inspect --format='{{.State.StartedAt}}' hassio_supervisor | sed -re "s/([-0-9]+)T([0-9\:]+).*/\1 \2/g") - SUPERVISOR_STOP=$(docker inspect --format='{{.State.FinishedAt}}' hassio_supervisor | sed -re "s/([-0-9]+)T([0-9\:]+).*/\1 \2/g") - - if [ -n "${SUPERVISOR_START}" ] && [ -n "${SUPERVISOR_STOP}" ]; then - START=$(date --date="${SUPERVISOR_START}" +%s) - STOP=$(date --date="${SUPERVISOR_STOP}" +%s) - SUPERVISOR_RUNTIME=$((STOP-START)) - # Minimial runtime not met, remove container and image - if [ "${SUPERVISOR_RUNTIME}" -lt "${SUPERVISOR_MIN_RUNTIME}" ]; then - echo "[WARNING] Supervisor container exited too quickly, forcing a fresh image and container..." - docker container rm --force hassio_supervisor || true - SUPERVISOR_CONTAINER_ID="" - docker rmi --force "${SUPERVISOR_IMAGE_ID}" || true - SUPERVISOR_IMAGE_ID="" - fi - fi +if [ -f "${SUPERVISOR_STARTUP_MARKER}" ]; then + echo "[WARNING] Supervisor container did not remove the startup marker file. Assuming container image or container corruption." + docker container rm --force hassio_supervisor || true + SUPERVISOR_CONTAINER_ID="" + docker rmi --force "${SUPERVISOR_IMAGE_ID}" || true + SUPERVISOR_IMAGE_ID="" fi # If Supervisor image is missing, pull it @@ -78,6 +67,7 @@ if [ -z "${SUPERVISOR_CONTAINER_ID}" ]; then --privileged --security-opt apparmor="hassio-supervisor" \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /var/run/dbus:/var/run/dbus \ + -v /run/supervisor:/run/os:rw \ -v /etc/machine-id:/etc/machine-id:ro \ -v ${SUPERVISOR_DATA}:/data:rw \ -v /mnt/overlay:/os/overlay:rw \ @@ -90,5 +80,6 @@ fi # Run supervisor mkdir -p ${SUPERVISOR_DATA} +touch ${SUPERVISOR_STARTUP_MARKER} echo "[INFO] Starting the Supervisor..." exec docker container start --attach hassio_supervisor From 5e44dcc68168222af0df2205736aed3362925c36 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Wed, 4 Nov 2020 11:09:06 +0100 Subject: [PATCH 12/26] RaspberryPi: Update firmware 2ba11f2a07760588546821aed578010252c9ecb3 (#954) --- buildroot-patches/0002-rpi-firmware-Bump-firmware.patch | 4 ++-- buildroot/package/rpi-firmware/rpi-firmware.hash | 2 +- buildroot/package/rpi-firmware/rpi-firmware.mk | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/buildroot-patches/0002-rpi-firmware-Bump-firmware.patch b/buildroot-patches/0002-rpi-firmware-Bump-firmware.patch index e8e832988..e9b27642a 100644 --- a/buildroot-patches/0002-rpi-firmware-Bump-firmware.patch +++ b/buildroot-patches/0002-rpi-firmware-Bump-firmware.patch @@ -16,7 +16,7 @@ index 59ab1da0c6..e3ba1bf99c 100644 @@ -1,3 +1,3 @@ # Locally computed -sha256 31a84340be08be319570a9d1439f25c0e3513fed73065a56aa5dd61dd605d5d9 rpi-firmware-01ecfd2ba2b7cf3a2f4aa75ada895ee4a3e729f5.tar.gz -+sha256 4789d4422b3bc7eab157471ba36aebd54efc2a6de4c937f5cfdb4392af04fe80 rpi-firmware-7caead9416f64b2d33361c703fb243b8e157eba4.tar.gz ++sha256 30e91cc1b502bb1a8aeddf49e7d9dd3fb4a8c2f3b9154a2fea9ecc9071f54bc7 rpi-firmware-2ba11f2a07760588546821aed578010252c9ecb3.tar.gz sha256 c7283ff51f863d93a275c66e3b4cb08021a5dd4d8c1e7acc47d872fbe52d3d6b boot/LICENCE.broadcom diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk index 6fee60b08c..2177ca9859 100644 @@ -27,7 +27,7 @@ index 6fee60b08c..2177ca9859 100644 ################################################################################ -RPI_FIRMWARE_VERSION = 01ecfd2ba2b7cf3a2f4aa75ada895ee4a3e729f5 -+RPI_FIRMWARE_VERSION = 7caead9416f64b2d33361c703fb243b8e157eba4 ++RPI_FIRMWARE_VERSION = 2ba11f2a07760588546821aed578010252c9ecb3 RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION)) RPI_FIRMWARE_LICENSE = BSD-3-Clause RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom diff --git a/buildroot/package/rpi-firmware/rpi-firmware.hash b/buildroot/package/rpi-firmware/rpi-firmware.hash index 54607d0a4..0b9bb7c67 100644 --- a/buildroot/package/rpi-firmware/rpi-firmware.hash +++ b/buildroot/package/rpi-firmware/rpi-firmware.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 4789d4422b3bc7eab157471ba36aebd54efc2a6de4c937f5cfdb4392af04fe80 rpi-firmware-7caead9416f64b2d33361c703fb243b8e157eba4.tar.gz +sha256 30e91cc1b502bb1a8aeddf49e7d9dd3fb4a8c2f3b9154a2fea9ecc9071f54bc7 rpi-firmware-2ba11f2a07760588546821aed578010252c9ecb3.tar.gz sha256 c7283ff51f863d93a275c66e3b4cb08021a5dd4d8c1e7acc47d872fbe52d3d6b boot/LICENCE.broadcom diff --git a/buildroot/package/rpi-firmware/rpi-firmware.mk b/buildroot/package/rpi-firmware/rpi-firmware.mk index 8d73aa698..fe7a09940 100644 --- a/buildroot/package/rpi-firmware/rpi-firmware.mk +++ b/buildroot/package/rpi-firmware/rpi-firmware.mk @@ -4,7 +4,7 @@ # ################################################################################ -RPI_FIRMWARE_VERSION = 7caead9416f64b2d33361c703fb243b8e157eba4 +RPI_FIRMWARE_VERSION = 2ba11f2a07760588546821aed578010252c9ecb3 RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION)) RPI_FIRMWARE_LICENSE = BSD-3-Clause RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom From c92b4b54be0d291abd61c4646efe0217243d3c10 Mon Sep 17 00:00:00 2001 From: Aman Gupta Karmani Date: Wed, 4 Nov 2020 02:10:57 -0800 Subject: [PATCH 13/26] use GPT partition table for RPi4 (#936) * use GPT partition table for RPi4 --- buildroot-external/board/raspberrypi/rpi4-64/meta | 2 +- buildroot-external/board/raspberrypi/rpi4/meta | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/buildroot-external/board/raspberrypi/rpi4-64/meta b/buildroot-external/board/raspberrypi/rpi4-64/meta index b721dc96e..591a87da6 100644 --- a/buildroot-external/board/raspberrypi/rpi4-64/meta +++ b/buildroot-external/board/raspberrypi/rpi4-64/meta @@ -3,7 +3,7 @@ BOARD_NAME="RaspberryPi 4 64bit" CHASSIS=embedded BOOTLOADER=uboot KERNEL_FILE=Image -BOOT_SYS=hyprid +BOOT_SYS=efi BOOT_SPL=false BOOT_ENV_SIZE=0x4000 SUPERVISOR_MACHINE=raspberrypi4-64 diff --git a/buildroot-external/board/raspberrypi/rpi4/meta b/buildroot-external/board/raspberrypi/rpi4/meta index 579ac1162..0202a41b5 100644 --- a/buildroot-external/board/raspberrypi/rpi4/meta +++ b/buildroot-external/board/raspberrypi/rpi4/meta @@ -3,7 +3,7 @@ BOARD_NAME="RaspberryPi 4" CHASSIS=embedded BOOTLOADER=uboot KERNEL_FILE=zImage -BOOT_SYS=hyprid +BOOT_SYS=efi BOOT_SPL=false BOOT_ENV_SIZE=0x4000 SUPERVISOR_MACHINE=raspberrypi4 From 503117d8bf8c1d187e02480e296e792fe6ac8e1c Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Wed, 4 Nov 2020 16:55:19 +0100 Subject: [PATCH 14/26] Move RuntimeDirectory to the Service section (#957) RuntimeDirectory needs to be in the [Service] section to take effect. --- .../usr/lib/systemd/system/hassos-supervisor.service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-supervisor.service b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-supervisor.service index 5244d717f..68f39ad89 100644 --- a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-supervisor.service +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-supervisor.service @@ -8,12 +8,12 @@ StartLimitIntervalSec=60 StartLimitBurst=5 ConditionPathExists=/run/dbus/system_bus_socket ConditionPathExists=/run/docker.sock -RuntimeDirectory=supervisor [Service] Type=simple Restart=always RestartSec=5s +RuntimeDirectory=supervisor ExecStartPre=-/usr/bin/docker stop hassio_supervisor ExecStart=/usr/sbin/hassos-supervisor ExecStop=-/usr/bin/docker stop hassio_supervisor From 0b52271b3aa1ccde598380097d81a1d53a65ddcf Mon Sep 17 00:00:00 2001 From: ubergeek801 <32342121+ubergeek801@users.noreply.github.com> Date: Thu, 5 Nov 2020 02:40:25 -0700 Subject: [PATCH 15/26] Support ODROID C4 SBC (#926) * initial ODROID-C4 support * setting clk_ignore_unused --- Documentation/boards/README.md | 2 + Documentation/boards/hardkernel/README.md | 11 +- Documentation/boards/hardkernel/odroid-c4.md | 16 +++ Documentation/development.md | 1 + Documentation/kernel.md | 7 +- azure-pipelines-release.yml | 2 + .../board/hardkernel/odroid-c4/hassos-hook.sh | 23 ++++ .../board/hardkernel/odroid-c4/meta | 10 ++ ...001-HACK-mmc-meson-gx-limit-to-24MHz.patch | 25 +++++ .../board/hardkernel/odroid-c4/uboot-boot.ush | 83 ++++++++++++++ .../board/hardkernel/odroid-c4/uboot.config | 4 + .../configs/odroid_c4_defconfig | 102 ++++++++++++++++++ .../package/hardkernel-boot/Config.in | 5 + .../hardkernel-boot/hardkernel-boot.mk | 56 ++++++++++ 14 files changed, 339 insertions(+), 8 deletions(-) create mode 100644 Documentation/boards/hardkernel/odroid-c4.md create mode 100755 buildroot-external/board/hardkernel/odroid-c4/hassos-hook.sh create mode 100644 buildroot-external/board/hardkernel/odroid-c4/meta create mode 100644 buildroot-external/board/hardkernel/odroid-c4/patches/uboot/0001-HACK-mmc-meson-gx-limit-to-24MHz.patch create mode 100644 buildroot-external/board/hardkernel/odroid-c4/uboot-boot.ush create mode 100644 buildroot-external/board/hardkernel/odroid-c4/uboot.config create mode 100644 buildroot-external/configs/odroid_c4_defconfig diff --git a/Documentation/boards/README.md b/Documentation/boards/README.md index 0fd48a3ea..67961ccae 100644 --- a/Documentation/boards/README.md +++ b/Documentation/boards/README.md @@ -14,6 +14,7 @@ The following boards/devices are supported: - Pi (not recommended) - Hardkernel - Odroid-C2 + - Odroid-C4 (_experimental_) - Odroid-N2 - Odroid-XU4 - Intel NUC @@ -46,6 +47,7 @@ Notes: |Pi Zero |`make rpi0_w` |[rpi0_w](../../buildroot-external/configs/rpi0_w_defconfig)|[raspberrypi](./raspberrypi/)| |Pi |`make rpi` |[rpi](../../buildroot-external/configs/rpi_defconfig)|[raspberrypi](./raspberrypi/)| |Odroid-C2 |`make odroid_c2` |[odroid_c2](../../buildroot-external/configs/odroid_c2_defconfig)|[hardkernel](./hardkernel/)| +|Odroid-C4 |`make odroid_c4` |[odroid_c4](../../buildroot-external/configs/odroid_c4_defconfig)|[hardkernel](./hardkernel/)| |Odroid-N2 |`make odroid_n2` |[odroid_n2](../../buildroot-external/configs/odroid_n2_defconfig)|[hardkernel](./hardkernel/)| |Odroid-XU4 |`make odroid_xu4`|[odroid_xu4](../../buildroot-external/configs/odroid_xu4_defconfig)|[hardkernel](./hardkernel/)| |NUC |`make intel_nuc` |[intel_nuc](../../buildroot-external/configs/intel_nuc_defconfig)|[intel](./intel/)| diff --git a/Documentation/boards/hardkernel/README.md b/Documentation/boards/hardkernel/README.md index 94d345dae..071768711 100644 --- a/Documentation/boards/hardkernel/README.md +++ b/Documentation/boards/hardkernel/README.md @@ -2,10 +2,11 @@ ## Supported Hardware -| Device | Release Date | Support | Config | -|----------------|---------------|---------|-----------| -| ODROID-XU4 | 2015 | yes | [odroid_xu4](../../../buildroot-external/configs/odroid_xu4_defconfig)| -| ODROID-C2 | 2016 | yes | [odroid_c2](../../../buildroot-external/configs/odroid_c2_defconfig) | -| ODROID-N2 | 2019 | yes | [odroid_n2](../../../buildroot-external/configs/odroid_n2_defconfig) | +| Device | Release Date | Support | Config | +|----------------|---------------|--------------|-----------| +| ODROID-XU4 | 2015 | yes | [odroid_xu4](../../../buildroot-external/configs/odroid_xu4_defconfig)| +| ODROID-C2 | 2016 | yes | [odroid_c2](../../../buildroot-external/configs/odroid_c2_defconfig) | +| ODROID-C4 | 2020 | experimental | [odroid_c4](../../../buildroot-external/configs/odroid_c4_defconfig) | +| ODROID-N2 | 2019 | yes | [odroid_n2](../../../buildroot-external/configs/odroid_n2_defconfig) | See separate documentation for each board. diff --git a/Documentation/boards/hardkernel/odroid-c4.md b/Documentation/boards/hardkernel/odroid-c4.md new file mode 100644 index 000000000..edf53a738 --- /dev/null +++ b/Documentation/boards/hardkernel/odroid-c4.md @@ -0,0 +1,16 @@ +# Odroid-C4 + +## Experimental + +Odroid-C4 support is based heavily on the Odroid-C2 and N2 configurations. Given the similarity of the SoCs, as well as the comparable level of support in the Linux kernel, the C4 should hopefully present few surprises. However, Home Assistant support should be regarded as experimental. + +Please also refer to the documentation pages for the [Odroid-C2](./odroid-c2.md) and [Odroid-N2](./odroid-n2.md), as some of that information may apply to the C4 as well. + +Common C4 issues that have been specifically tested and appear to be working: +- boot from SD +- boot from eMMC +- MAC address obtained from eFuse + +## GPIO + +Refer to [the odroid wiki](https://wiki.odroid.com/odroid-c4/hardware/expansion_connectors). diff --git a/Documentation/development.md b/Documentation/development.md index 0bf44e1ea..063197054 100644 --- a/Documentation/development.md +++ b/Documentation/development.md @@ -36,6 +36,7 @@ Default 2. That is the size of end image in GB. - intel-nuc - odroid-c2 +- odroid-c4 - odroid-n2 - odroid-xu - qemuarm diff --git a/Documentation/kernel.md b/Documentation/kernel.md index 96b6f50a2..f1292bc46 100644 --- a/Documentation/kernel.md +++ b/Documentation/kernel.md @@ -12,7 +12,8 @@ Default Kernel tree: 5.4 | Raspberry Pi 3 | 4.19.127 | | Raspberry Pi 4 | 4.19.127 | | Tinker Board | 5.4.63 | -| Odroid-C2 | 5.7.19 | -| Odroid-N2 | 5.7.19 | -| Odroid-XU4 | 5.7.19 | +| Odroid-C2 | 5.9.1 | +| Odroid-C4 | 5.9.1 | +| Odroid-N2 | 5.9.1 | +| Odroid-XU4 | 5.9.1 | | Intel NUC | 5.4.63 | diff --git a/azure-pipelines-release.yml b/azure-pipelines-release.yml index 031a14850..7453ad7fa 100644 --- a/azure-pipelines-release.yml +++ b/azure-pipelines-release.yml @@ -46,6 +46,8 @@ jobs: board: 'intel_nuc' OdroidC2: board: 'odroid_c2' + OdroidC4: + board: 'odroid_c4' OdroidN2: board: 'odroid_n2' OdroidXU4: diff --git a/buildroot-external/board/hardkernel/odroid-c4/hassos-hook.sh b/buildroot-external/board/hardkernel/odroid-c4/hassos-hook.sh new file mode 100755 index 000000000..2f398069d --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c4/hassos-hook.sh @@ -0,0 +1,23 @@ +#!/bin/bash +# shellcheck disable=SC2155 + +function hassos_pre_image() { + local BOOT_DATA="$(path_boot_dir)" + local UBOOT_SM1="${BINARIES_DIR}/u-boot.sm1" + local SPL_IMG="$(path_spl_img)" + + cp "${BINARIES_DIR}/boot.scr" "${BOOT_DATA}/boot.scr" + cp "${BINARIES_DIR}/meson-sm1-odroid-c4.dtb" "${BOOT_DATA}/meson-sm1-odroid-c4.dtb" + + echo "console=tty0 console=ttyAML0,115200n8" > "${BOOT_DATA}/cmdline.txt" + + # SPL + create_spl_image + + dd if="${UBOOT_SM1}" of="${SPL_IMG}" conv=notrunc bs=512 seek=1 +} + + +function hassos_post_image() { + convert_disk_image_gz +} diff --git a/buildroot-external/board/hardkernel/odroid-c4/meta b/buildroot-external/board/hardkernel/odroid-c4/meta new file mode 100644 index 000000000..3b23846fb --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c4/meta @@ -0,0 +1,10 @@ +BOARD_ID=odroid-c4 +BOARD_NAME="Hardkernel Odroid-C4" +CHASSIS=embedded +BOOTLOADER=uboot +KERNEL_FILE=Image +BOOT_SYS=mbr +BOOT_SPL=true +BOOT_ENV_SIZE=0x2000 +SUPERVISOR_MACHINE=odroid-c4 +SUPERVISOR_ARCH=aarch64 diff --git a/buildroot-external/board/hardkernel/odroid-c4/patches/uboot/0001-HACK-mmc-meson-gx-limit-to-24MHz.patch b/buildroot-external/board/hardkernel/odroid-c4/patches/uboot/0001-HACK-mmc-meson-gx-limit-to-24MHz.patch new file mode 100644 index 000000000..2ae25bf44 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c4/patches/uboot/0001-HACK-mmc-meson-gx-limit-to-24MHz.patch @@ -0,0 +1,25 @@ +From 64017a2cc9e501329016d50b701c5e9a9488991d Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Mon, 2 Sep 2019 15:42:04 +0200 +Subject: [PATCH 3/3] HACK: mmc: meson-gx: limit to 24MHz + +Signed-off-by: Neil Armstrong +--- + drivers/mmc/meson_gx_mmc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/mmc/meson_gx_mmc.c b/drivers/mmc/meson_gx_mmc.c +index b5f5122b..00bfa324 100644 +--- a/drivers/mmc/meson_gx_mmc.c ++++ b/drivers/mmc/meson_gx_mmc.c +@@ -252,7 +252,7 @@ static int meson_mmc_probe(struct udevice *dev) + cfg->host_caps = MMC_MODE_8BIT | MMC_MODE_4BIT | + MMC_MODE_HS_52MHz | MMC_MODE_HS; + cfg->f_min = DIV_ROUND_UP(SD_EMMC_CLKSRC_24M, CLK_MAX_DIV); +- cfg->f_max = 100000000; /* 100 MHz */ ++ cfg->f_max = SD_EMMC_CLKSRC_24M; + cfg->b_max = 511; /* max 512 - 1 blocks */ + cfg->name = dev->name; + +-- +2.22.0 diff --git a/buildroot-external/board/hardkernel/odroid-c4/uboot-boot.ush b/buildroot-external/board/hardkernel/odroid-c4/uboot-boot.ush new file mode 100644 index 000000000..98fcbe3af --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c4/uboot-boot.ush @@ -0,0 +1,83 @@ + +########################################### + +part start mmc ${devnum} 9 mmc_env +mmc dev ${devnum} +setenv loadbootstate " \ + echo 'loading env...'; \ + mmc read ${ramdisk_addr_r} ${mmc_env} 0x10; \ + env import -c ${ramdisk_addr_r} 0x2000;" + +setenv storebootstate " \ + echo 'storing env...'; \ + env export -c -s 0x2000 ${ramdisk_addr_r} BOOT_ORDER BOOT_A_LEFT BOOT_B_LEFT MACHINE_ID; \ + mmc write ${ramdisk_addr_r} ${mmc_env} 0x10;" + +run loadbootstate +test -n "${BOOT_ORDER}" || setenv BOOT_ORDER "A B" +test -n "${BOOT_A_LEFT}" || setenv BOOT_A_LEFT 3 +test -n "${BOOT_B_LEFT}" || setenv BOOT_B_LEFT 3 + +# HassOS bootargs +setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor systemd.machine_id=${MACHINE_ID} cgroup_enable=memory clk_ignore_unused usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u" + +# HassOS system A/B +setenv bootargs_a "root=PARTUUID=48617373-06 rootfstype=squashfs ro rootwait" +setenv bootargs_b "root=PARTUUID=48617373-08 rootfstype=squashfs ro rootwait" + +usb start + +# Load extraargs +fileenv mmc ${devnum}:1 ${ramdisk_addr_r} cmdline.txt cmdline +fatload mmc ${devnum}:1 ${fdt_addr_r} meson-sm1-odroid-c4.dtb + +# logical volumes get numbered after physical ones. +# 1. boot +# 2. Extended partition +# 3. Overlay +# 4. Data +# 5. KernelA +# 6. SystemA +# 7. KernelB +# 8. SystemB +# 9. BootInfo +setenv bootargs +for BOOT_SLOT in "${BOOT_ORDER}"; do + if test "x${bootargs}" != "x"; then + # skip remaining slots + elif test "x${BOOT_SLOT}" = "xA"; then + if test ${BOOT_A_LEFT} -gt 0; then + setexpr BOOT_A_LEFT ${BOOT_A_LEFT} - 1 + echo "Found valid slot A, ${BOOT_A_LEFT} attempts remaining" + setenv load_kernel "ext4load mmc ${devnum}:5 ${kernel_addr_r} Image" + setenv bootargs "${bootargs_hassos} ${bootargs_a} rauc.slot=A ${cmdline}" + fi + elif test "x${BOOT_SLOT}" = "xB"; then + if test ${BOOT_B_LEFT} -gt 0; then + setexpr BOOT_B_LEFT ${BOOT_B_LEFT} - 1 + echo "Found valid slot B, ${BOOT_B_LEFT} attempts remaining" + setenv load_kernel "ext4load mmc ${devnum}:7 ${kernel_addr_r} Image" + setenv bootargs "${bootargs_hassos} ${bootargs_b} rauc.slot=B ${cmdline}" + fi + fi +done + +if test -n "${bootargs}"; then + run storebootstate +else + echo "No valid slot found, resetting tries to 3" + setenv BOOT_A_LEFT 3 + setenv BOOT_B_LEFT 3 + run storebootstate + reset +fi + +echo "Loading kernel" +run load_kernel +echo " Starting kernel" +printenv load_kernel +printenv bootargs +booti ${kernel_addr_r} - ${fdt_addr_r} + +echo "Fails on boot" +reset diff --git a/buildroot-external/board/hardkernel/odroid-c4/uboot.config b/buildroot-external/board/hardkernel/odroid-c4/uboot.config new file mode 100644 index 000000000..4ab6d289f --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c4/uboot.config @@ -0,0 +1,4 @@ +CONFIG_DOS_PARTITION=y +# CONFIG_EFI_PARTITION is not set +# CONFIG_USB_STORAGE is not set +CONFIG_DISPLAY_BOARDINFO=y diff --git a/buildroot-external/configs/odroid_c4_defconfig b/buildroot-external/configs/odroid_c4_defconfig new file mode 100644 index 000000000..9d48927d3 --- /dev/null +++ b/buildroot-external/configs/odroid_c4_defconfig @@ -0,0 +1,102 @@ +BR2_aarch64=y +BR2_DL_DIR="/cache/dl" +BR2_CCACHE=y +BR2_CCACHE_DIR="/cache/cc" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4/patches" +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y +BR2_GCC_VERSION_9_X=y +BR2_OPTIMIZE_2=y +BR2_SSP_REGULAR=y +BR2_SSP_OPTION="-fstack-protector" +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_BINUTILS_ENABLE_LTO=y +BR2_GCC_ENABLE_LTO=y +BR2_TARGET_GENERIC_HOSTNAME="homeassistant" +BR2_TARGET_GENERIC_ISSUE="Welcome to Home Assistant" +BR2_INIT_SYSTEMD=y +BR2_TARGET_GENERIC_GETTY_PORT="tty1" +# BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_HASSOS_PATH)/rootfs-overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-build.sh" +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="5.9.1" +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/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config" +BR2_LINUX_KERNEL_LZ4=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="amlogic/meson-sm1-odroid-c4" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y +BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL_HASSOS_PATH)/busybox.config" +BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES=y +BR2_PACKAGE_PROCPS_NG=y +BR2_PACKAGE_JQ=y +BR2_PACKAGE_E2FSPROGS=y +BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y +BR2_PACKAGE_SQUASHFS=y +BR2_PACKAGE_CRDA=y +BR2_PACKAGE_GPTFDISK=y +BR2_PACKAGE_GPTFDISK_SGDISK=y +BR2_PACKAGE_UBOOT_TOOLS=y +BR2_PACKAGE_CA_CERTIFICATES=y +BR2_PACKAGE_LIBDNET=y +BR2_PACKAGE_LIBCGROUP=y +BR2_PACKAGE_LIBCGROUP_TOOLS=y +BR2_PACKAGE_AVAHI=y +# BR2_PACKAGE_AVAHI_AUTOIPD is not set +BR2_PACKAGE_AVAHI_DAEMON=y +BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y +BR2_PACKAGE_NSS_MDNS=y +BR2_PACKAGE_BLUEZ5_UTILS=y +BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y +BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED=y +BR2_PACKAGE_DHCP=y +BR2_PACKAGE_DHCP_CLIENT=y +BR2_PACKAGE_DROPBEAR=y +# BR2_PACKAGE_DROPBEAR_CLIENT is not set +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_PACKAGE_NETWORK_MANAGER=y +BR2_PACKAGE_TINI=y +BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_DOCKER_CLI=y +BR2_PACKAGE_RAUC=y +BR2_PACKAGE_RAUC_NETWORK=y +BR2_PACKAGE_RNG_TOOLS=y +# BR2_PACKAGE_SYSTEMD_HWDB is not set +# BR2_PACKAGE_SYSTEMD_NETWORKD is not set +BR2_PACKAGE_SYSTEMD_RANDOMSEED=y +# BR2_PACKAGE_SYSTEMD_RESOLVED is not set +BR2_PACKAGE_SYSTEMD_COREDUMP=y +BR2_PACKAGE_SYSTEMD_LOGIND=y +BR2_PACKAGE_UTIL_LINUX_PARTX=y +BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y +BR2_PACKAGE_UTIL_LINUX_LOGIN=y +BR2_PACKAGE_UTIL_LINUX_NOLOGIN=y +BR2_PACKAGE_USB_MODESWITCH=y +BR2_PACKAGE_USB_MODESWITCH_DATA=y +BR2_TARGET_ROOTFS_SQUASHFS=y +BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.10" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="odroid-c4" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4/uboot.config" +BR2_TARGET_UBOOT_BOOT_SCRIPT=y +BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4/uboot-boot.ush" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_E2FSPROGS=y +BR2_PACKAGE_HOST_GPTFDISK=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_RAUC=y +BR2_PACKAGE_HASSIO=y +BR2_PACKAGE_HASSIO_ARCH="aarch64" +BR2_PACKAGE_APPARMOR=y +BR2_PACKAGE_HARDKERNEL_BOOT=y +BR2_PACKAGE_HARDKERNEL_BOOT_ODROID_C4=y diff --git a/buildroot-external/package/hardkernel-boot/Config.in b/buildroot-external/package/hardkernel-boot/Config.in index 7e1dcac25..ab48290e0 100644 --- a/buildroot-external/package/hardkernel-boot/Config.in +++ b/buildroot-external/package/hardkernel-boot/Config.in @@ -14,6 +14,11 @@ config BR2_PACKAGE_HARDKERNEL_BOOT_ODROID_C2 help For the Odroid-C2 +config BR2_PACKAGE_HARDKERNEL_BOOT_ODROID_C4 + bool "Odroid-C4" + help + For the Odroid-C4 + config BR2_PACKAGE_HARDKERNEL_BOOT_ODROID_XU4 bool "Odroid-XU4" help diff --git a/buildroot-external/package/hardkernel-boot/hardkernel-boot.mk b/buildroot-external/package/hardkernel-boot/hardkernel-boot.mk index cacb6451a..ced3fa0ae 100644 --- a/buildroot-external/package/hardkernel-boot/hardkernel-boot.mk +++ b/buildroot-external/package/hardkernel-boot/hardkernel-boot.mk @@ -32,6 +32,62 @@ define HARDKERNEL_BOOT_BUILD_CMDS dd if=$(@D)/u-boot.img of=$(@D)/u-boot.gxbb bs=512 skip=96 endef +else ifeq ($(BR2_PACKAGE_HARDKERNEL_BOOT_ODROID_C4),y) +# travis/odroidc4-153 20201014 +HARDKERNEL_BOOT_VERSION = 2a4e31e3fde9bced8a150d338aa397a0362df191 + +HARDKERNEL_BOOT_BINS += u-boot.sm1 +define HARDKERNEL_BOOT_BUILD_CMDS + # blx_fix_g12a.sh is appropriate for C4 as well as N2 + curl -L -o $(@D)/fip/blx_fix.sh https://raw.githubusercontent.com/home-assistant/hassos-blobs/d88ec078470f236d694ba1f9e69a44759ddf41ea/odroid-n2/blx_fix_g12a.sh + # acs.bin and bl301.bin appear to be different than N2 versions + curl -L -o $(@D)/fip/acs.bin https://raw.githubusercontent.com/home-assistant/operating-system-blobs/75fa51f44221da614a717673a27bec4fa01ccd6c/hardkernel/odroid-c4/acs.bin + curl -L -o $(@D)/fip/bl301.bin https://raw.githubusercontent.com/home-assistant/operating-system-blobs/75fa51f44221da614a717673a27bec4fa01ccd6c/hardkernel/odroid-c4/bl301.bin + + bash $(@D)/fip/blx_fix.sh \ + $(@D)/fip/g12a/bl30.bin $(@D)/fip/zero_tmp $(@D)/fip/bl30_zero.bin \ + $(@D)/fip/bl301.bin $(@D)/fip/bl301_zero.bin $(@D)/fip/bl30_new.bin \ + bl30 + + bash $(@D)/fip/blx_fix.sh \ + $(@D)/fip/g12a/bl2.bin $(@D)/fip/zero_tmp $(@D)/fip/bl2_zero.bin \ + $(@D)/fip/acs.bin $(@D)/fip/bl21_zero.bin $(@D)/fip/bl2_new.bin \ + bl2 + + $(@D)/fip/g12a/aml_encrypt_g12a --bl30sig --input $(@D)/fip/bl30_new.bin \ + --output $(@D)/fip/bl30_new.bin.g12a.enc \ + --level v3 + $(@D)/fip/g12a/aml_encrypt_g12a --bl3sig --input $(@D)/fip/bl30_new.bin.g12a.enc \ + --output $(@D)/fip/bl30_new.bin.enc \ + --level v3 --type bl30 + $(@D)/fip/g12a/aml_encrypt_g12a --bl3sig --input $(@D)/fip/g12a/bl31.img \ + --output $(@D)/fip/bl31.img.enc \ + --level v3 --type bl31 + $(@D)/fip/g12a/aml_encrypt_g12a --bl3sig --input $(BINARIES_DIR)/u-boot.bin \ + --output $(@D)/fip/bl33.bin.enc \ + --level v3 --type bl33 + $(@D)/fip/g12a/aml_encrypt_g12a --bl2sig --input $(@D)/fip/bl2_new.bin \ + --output $(@D)/fip/bl2.n.bin.sig + $(@D)/fip/g12a/aml_encrypt_g12a --bootmk \ + --output $(@D)/fip/u-boot.bin \ + --bl2 $(@D)/fip/bl2.n.bin.sig \ + --bl30 $(@D)/fip/bl30_new.bin.enc \ + --bl31 $(@D)/fip/bl31.img.enc \ + --bl33 $(@D)/fip/bl33.bin.enc \ + --ddrfw1 $(@D)/fip/g12a/ddr4_1d.fw \ + --ddrfw2 $(@D)/fip/g12a/ddr4_2d.fw \ + --ddrfw3 $(@D)fip/g12a/ddr3_1d.fw \ + --ddrfw4 $(@D)/fip/g12a/piei.fw \ + --ddrfw5 $(@D)/fip/g12a/lpddr4_1d.fw \ + --ddrfw6 $(@D)/fip/g12a/lpddr4_2d.fw \ + --ddrfw7 $(@D)/fip/g12a/diag_lpddr4.fw \ + --ddrfw8 $(@D)/fip/g12a/aml_ddr.fw \ + --ddrfw9 $(@D)/fip/g12a/lpddr3_1d.fw \ + --level v3 + + cp $(@D)/fip/u-boot.bin $(@D)/u-boot.sm1 +endef + else ifeq ($(BR2_PACKAGE_HARDKERNEL_BOOT_ODROID_XU4),y) HARDKERNEL_BOOT_VERSION = 88af53fbcef8386cb4d5f04c19f4b2bcb69e90ca From 58d4b79376a154f0560e40cbaf3febada5d2b4df Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Thu, 5 Nov 2020 15:51:16 +0100 Subject: [PATCH 16/26] Update ODROID N2 U-Boot reference to get latest DDR timings (#958) The DDR timings are taken direclty from the checked out hardkernel U-Boot tree. Make sure to use the lastest hash to get the latest timing changes. --- buildroot-external/package/hardkernel-boot/hardkernel-boot.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildroot-external/package/hardkernel-boot/hardkernel-boot.mk b/buildroot-external/package/hardkernel-boot/hardkernel-boot.mk index ced3fa0ae..44a38b4b4 100644 --- a/buildroot-external/package/hardkernel-boot/hardkernel-boot.mk +++ b/buildroot-external/package/hardkernel-boot/hardkernel-boot.mk @@ -98,7 +98,7 @@ define HARDKERNEL_BOOT_BUILD_CMDS endef else ifeq ($(BR2_PACKAGE_HARDKERNEL_BOOT_ODROID_N2),y) -HARDKERNEL_BOOT_VERSION = c989da31a5c1da3ab57d7c6dc5a3fdbcc1c3eed7 +HARDKERNEL_BOOT_VERSION = ca5bdd0f1c291d1ec135cd134e01aa2619203d4c HARDKERNEL_BOOT_BINS += u-boot.g12b define HARDKERNEL_BOOT_BUILD_CMDS From 1a99d07cae83b287832bca4d3f2db5de86802191 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Fri, 6 Nov 2020 10:10:26 +0100 Subject: [PATCH 17/26] Update ODROID-N2 binary blobs to those built with latest U-Boot (#961) --- .../package/hardkernel-boot/hardkernel-boot.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/buildroot-external/package/hardkernel-boot/hardkernel-boot.mk b/buildroot-external/package/hardkernel-boot/hardkernel-boot.mk index 44a38b4b4..a9ec21963 100644 --- a/buildroot-external/package/hardkernel-boot/hardkernel-boot.mk +++ b/buildroot-external/package/hardkernel-boot/hardkernel-boot.mk @@ -102,9 +102,9 @@ HARDKERNEL_BOOT_VERSION = ca5bdd0f1c291d1ec135cd134e01aa2619203d4c HARDKERNEL_BOOT_BINS += u-boot.g12b define HARDKERNEL_BOOT_BUILD_CMDS - curl -L -o $(@D)/fip/blx_fix.sh https://raw.githubusercontent.com/home-assistant/hassos-blobs/d88ec078470f236d694ba1f9e69a44759ddf41ea/odroid-n2/blx_fix_g12a.sh - curl -L -o $(@D)/fip/acs.bin https://raw.githubusercontent.com/home-assistant/hassos-blobs/d88ec078470f236d694ba1f9e69a44759ddf41ea/odroid-n2/acs.bin - curl -L -o $(@D)/fip/bl301.bin https://raw.githubusercontent.com/home-assistant/hassos-blobs/d88ec078470f236d694ba1f9e69a44759ddf41ea/odroid-n2/bl301.bin + curl -L -o $(@D)/fip/blx_fix.sh https://raw.githubusercontent.com/home-assistant/operating-system-blobs/f17a8e81e0b7e1bd2475441465cc737c0891edfa/hardkernel/blx_fix_g12a.sh + curl -L -o $(@D)/fip/acs.bin https://raw.githubusercontent.com/home-assistant/operating-system-blobs/f17a8e81e0b7e1bd2475441465cc737c0891edfa/hardkernel/odroid-n2/acs.bin + curl -L -o $(@D)/fip/bl301.bin https://raw.githubusercontent.com/home-assistant/operating-system-blobs/f17a8e81e0b7e1bd2475441465cc737c0891edfa/hardkernel/odroid-n2/bl301.bin bash $(@D)/fip/blx_fix.sh \ $(@D)/fip/g12b/bl30.bin $(@D)/fip/zero_tmp $(@D)/fip/bl30_zero.bin \ From 2c335a4dd914066bea8aa545a7e6dcf4e1e86126 Mon Sep 17 00:00:00 2001 From: Jakub Bartkowiak Date: Sat, 7 Nov 2020 13:39:29 +0100 Subject: [PATCH 18/26] Fix configuration.md link in raspberrypi README.md (#967) --- Documentation/boards/raspberrypi/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/boards/raspberrypi/README.md b/Documentation/boards/raspberrypi/README.md index e3146419d..4c6aad1a0 100644 --- a/Documentation/boards/raspberrypi/README.md +++ b/Documentation/boards/raspberrypi/README.md @@ -53,4 +53,4 @@ For more information see [RaspberryPi](https://www.raspberrypi.org/documentation If you don't need bluetooth, disabled it with add `dtoverlay=pi3-disable-bt` into `config.txt`. -[config]: ../configuration.md#automatic +[config]: ../../configuration.md#automatic From ce95fdccd3c897d13b5a6cf0d50bc781fe419783 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Sat, 7 Nov 2020 19:46:17 +0100 Subject: [PATCH 19/26] Revert "use GPT partition table for RPi4 (#936)" (#969) This reverts commit c92b4b54be0d291abd61c4646efe0217243d3c10. Pure GPT would be nice, but older EEPROM/firmware version seem not to handle it properly (before EEPROM 2020-09-03/firmware 2020-10-22). Since devices still get shipped with older EEPROM we currently moving to pure GPT would make those devices not booting. Stick with hybrid mode for now to make sure HAOS boots on all devices no matter if a new or old EEPROM is in use. --- buildroot-external/board/raspberrypi/rpi4-64/meta | 2 +- buildroot-external/board/raspberrypi/rpi4/meta | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/buildroot-external/board/raspberrypi/rpi4-64/meta b/buildroot-external/board/raspberrypi/rpi4-64/meta index 591a87da6..b721dc96e 100644 --- a/buildroot-external/board/raspberrypi/rpi4-64/meta +++ b/buildroot-external/board/raspberrypi/rpi4-64/meta @@ -3,7 +3,7 @@ BOARD_NAME="RaspberryPi 4 64bit" CHASSIS=embedded BOOTLOADER=uboot KERNEL_FILE=Image -BOOT_SYS=efi +BOOT_SYS=hyprid BOOT_SPL=false BOOT_ENV_SIZE=0x4000 SUPERVISOR_MACHINE=raspberrypi4-64 diff --git a/buildroot-external/board/raspberrypi/rpi4/meta b/buildroot-external/board/raspberrypi/rpi4/meta index 0202a41b5..579ac1162 100644 --- a/buildroot-external/board/raspberrypi/rpi4/meta +++ b/buildroot-external/board/raspberrypi/rpi4/meta @@ -3,7 +3,7 @@ BOARD_NAME="RaspberryPi 4" CHASSIS=embedded BOOTLOADER=uboot KERNEL_FILE=zImage -BOOT_SYS=efi +BOOT_SYS=hyprid BOOT_SPL=false BOOT_ENV_SIZE=0x4000 SUPERVISOR_MACHINE=raspberrypi4 From 094208492edb38f9a1ea2d3e0d80f882d405e23d Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Sat, 7 Nov 2020 19:46:42 +0100 Subject: [PATCH 20/26] ODROID-C4 fixes (#963) * Add machine specific landingpage container to ODROID-C4 as well (#949) * Fetch script from new repo location and layout as well --- buildroot-external/configs/odroid_c4_defconfig | 1 + buildroot-external/package/hardkernel-boot/hardkernel-boot.mk | 4 +--- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/buildroot-external/configs/odroid_c4_defconfig b/buildroot-external/configs/odroid_c4_defconfig index 9d48927d3..2aadd2154 100644 --- a/buildroot-external/configs/odroid_c4_defconfig +++ b/buildroot-external/configs/odroid_c4_defconfig @@ -97,6 +97,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-c4" BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_HARDKERNEL_BOOT=y BR2_PACKAGE_HARDKERNEL_BOOT_ODROID_C4=y diff --git a/buildroot-external/package/hardkernel-boot/hardkernel-boot.mk b/buildroot-external/package/hardkernel-boot/hardkernel-boot.mk index a9ec21963..bf1abb141 100644 --- a/buildroot-external/package/hardkernel-boot/hardkernel-boot.mk +++ b/buildroot-external/package/hardkernel-boot/hardkernel-boot.mk @@ -38,9 +38,7 @@ HARDKERNEL_BOOT_VERSION = 2a4e31e3fde9bced8a150d338aa397a0362df191 HARDKERNEL_BOOT_BINS += u-boot.sm1 define HARDKERNEL_BOOT_BUILD_CMDS - # blx_fix_g12a.sh is appropriate for C4 as well as N2 - curl -L -o $(@D)/fip/blx_fix.sh https://raw.githubusercontent.com/home-assistant/hassos-blobs/d88ec078470f236d694ba1f9e69a44759ddf41ea/odroid-n2/blx_fix_g12a.sh - # acs.bin and bl301.bin appear to be different than N2 versions + curl -L -o $(@D)/fip/blx_fix.sh https://raw.githubusercontent.com/home-assistant/operating-system-blobs/75fa51f44221da614a717673a27bec4fa01ccd6c/hardkernel/blx_fix_g12a.sh curl -L -o $(@D)/fip/acs.bin https://raw.githubusercontent.com/home-assistant/operating-system-blobs/75fa51f44221da614a717673a27bec4fa01ccd6c/hardkernel/odroid-c4/acs.bin curl -L -o $(@D)/fip/bl301.bin https://raw.githubusercontent.com/home-assistant/operating-system-blobs/75fa51f44221da614a717673a27bec4fa01ccd6c/hardkernel/odroid-c4/bl301.bin From 4f28a284be5a5965e050b3953f718b7d3d6c8140 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Mon, 9 Nov 2020 13:05:54 +0100 Subject: [PATCH 21/26] Make self healing capabilities more robust (#960) In case a container image is corrupted `docker inspect` might fail: # docker inspect --format='{{.Id}}' "${SUPERVISOR_IMAGE}" Error response from daemon: readlink /mnt/data/docker/overlay2: invalid argument In that same state the `docker images` command still shows the images. Since `docker inspect` returns an error SUPERVISOR_IMAGE_ID will be empty and a simple `docker pull` will be attempted. That does not suffice to recover from a corrupted container image. Use `docker images` to get the image ids and make sure to delete all image ids found by that command. Also don't use RuntimeDirectory since it deletes the runtime directory between the service start attempts which defeats the purpose. --- .../usr/lib/systemd/system/hassos-supervisor.service | 1 - .../rootfs-overlay/usr/sbin/hassos-supervisor | 9 ++++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-supervisor.service b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-supervisor.service index 68f39ad89..9d7be631c 100644 --- a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-supervisor.service +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-supervisor.service @@ -13,7 +13,6 @@ ConditionPathExists=/run/docker.sock Type=simple Restart=always RestartSec=5s -RuntimeDirectory=supervisor ExecStartPre=-/usr/bin/docker stop hassio_supervisor ExecStart=/usr/sbin/hassos-supervisor ExecStop=-/usr/bin/docker stop hassio_supervisor diff --git a/buildroot-external/rootfs-overlay/usr/sbin/hassos-supervisor b/buildroot-external/rootfs-overlay/usr/sbin/hassos-supervisor index ce3a4311a..4f367c327 100755 --- a/buildroot-external/rootfs-overlay/usr/sbin/hassos-supervisor +++ b/buildroot-external/rootfs-overlay/usr/sbin/hassos-supervisor @@ -12,7 +12,7 @@ set -e SUPERVISOR_STARTUP_MARKER="/run/supervisor/startup-marker" SUPERVISOR_IMAGE="homeassistant/${SUPERVISOR_ARCH}-hassio-supervisor" SUPERVISOR_DATA=/mnt/data/supervisor -SUPERVISOR_IMAGE_ID=$(docker inspect --format='{{.Id}}' "${SUPERVISOR_IMAGE}" || echo "") +SUPERVISOR_IMAGE_ID=$(docker images --no-trunc --filter "reference=${SUPERVISOR_IMAGE}:latest" --format "{{.ID}}" || echo "") SUPERVISOR_CONTAINER_ID=$(docker inspect --format='{{.Image}}' hassio_supervisor || echo "") # Check if previous run left the startup-marker in place. If so, we assume the @@ -22,11 +22,15 @@ if [ -f "${SUPERVISOR_STARTUP_MARKER}" ]; then echo "[WARNING] Supervisor container did not remove the startup marker file. Assuming container image or container corruption." docker container rm --force hassio_supervisor || true SUPERVISOR_CONTAINER_ID="" - docker rmi --force "${SUPERVISOR_IMAGE_ID}" || true + # Make sure we delete all supervisor images + SUPERVISOR_IMAGE_IDS=$(docker images --no-trunc --filter "reference=${SUPERVISOR_IMAGE}" --format "{{.ID}}" | uniq || echo "") + docker image rm --force "${SUPERVISOR_IMAGE_IDS}" || true SUPERVISOR_IMAGE_ID="" fi # If Supervisor image is missing, pull it +mkdir -p "$(dirname ${SUPERVISOR_STARTUP_MARKER})" +touch ${SUPERVISOR_STARTUP_MARKER} if [ -z "${SUPERVISOR_IMAGE_ID}" ]; then # Get the latest from update information # Using updater information instead of config. If the config version is @@ -80,6 +84,5 @@ fi # Run supervisor mkdir -p ${SUPERVISOR_DATA} -touch ${SUPERVISOR_STARTUP_MARKER} echo "[INFO] Starting the Supervisor..." exec docker container start --attach hassio_supervisor From fe9fc1cbd2ba3870ca1edcf1433638b6375d97b1 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Tue, 10 Nov 2020 13:40:39 +0100 Subject: [PATCH 22/26] Use performance governor to avoid frequency scaling (#973) After running HAOS on my ODROID N2+ several hours I see freezes and sometimes stack traces which point to a problem in CPU frequency scaling. This crash seems not to appear on Hardkernel's 18.04 Ubuntu stable release. However, Hardkernel's Ubuntu uses the performance governor. Use the performance governor as well to avoid crashes on N2+. --- buildroot-external/board/hardkernel/odroid-n2/kernel.config | 1 + buildroot-external/configs/odroid_n2_defconfig | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 buildroot-external/board/hardkernel/odroid-n2/kernel.config diff --git a/buildroot-external/board/hardkernel/odroid-n2/kernel.config b/buildroot-external/board/hardkernel/odroid-n2/kernel.config new file mode 100644 index 000000000..f99021fe2 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-n2/kernel.config @@ -0,0 +1 @@ +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y diff --git a/buildroot-external/configs/odroid_n2_defconfig b/buildroot-external/configs/odroid_n2_defconfig index a2333444b..8d77c7291 100644 --- a/buildroot-external/configs/odroid_n2_defconfig +++ b/buildroot-external/configs/odroid_n2_defconfig @@ -25,7 +25,7 @@ BR2_LINUX_KERNEL_CUSTOM_VERSION=y BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.9.1" 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/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/kernel.config" BR2_LINUX_KERNEL_LZ4=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="amlogic/meson-g12b-odroid-n2 amlogic/meson-g12b-odroid-n2-plus" From 6bc63001492f4e6303ea79c3623910f6b2f08113 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Tue, 10 Nov 2020 14:25:39 +0100 Subject: [PATCH 23/26] ODROID: Update kernel 5.9.6 (#976) The CDC ACM cooldown fix is now part of upstream Linux, so we can drop our patch. --- Documentation/kernel.md | 8 +- ...7-usb-cdc-acm-fix-cooldown-mechanism.patch | 126 ------------------ .../configs/odroid_c2_defconfig | 2 +- .../configs/odroid_c4_defconfig | 2 +- .../configs/odroid_n2_defconfig | 2 +- .../configs/odroid_xu4_defconfig | 2 +- 6 files changed, 8 insertions(+), 134 deletions(-) delete mode 100644 buildroot-external/board/hardkernel/patches/linux/0007-usb-cdc-acm-fix-cooldown-mechanism.patch diff --git a/Documentation/kernel.md b/Documentation/kernel.md index f1292bc46..1e9d639f6 100644 --- a/Documentation/kernel.md +++ b/Documentation/kernel.md @@ -12,8 +12,8 @@ Default Kernel tree: 5.4 | Raspberry Pi 3 | 4.19.127 | | Raspberry Pi 4 | 4.19.127 | | Tinker Board | 5.4.63 | -| Odroid-C2 | 5.9.1 | -| Odroid-C4 | 5.9.1 | -| Odroid-N2 | 5.9.1 | -| Odroid-XU4 | 5.9.1 | +| Odroid-C2 | 5.9.6 | +| Odroid-C4 | 5.9.6 | +| Odroid-N2 | 5.9.6 | +| Odroid-XU4 | 5.9.6 | | Intel NUC | 5.4.63 | diff --git a/buildroot-external/board/hardkernel/patches/linux/0007-usb-cdc-acm-fix-cooldown-mechanism.patch b/buildroot-external/board/hardkernel/patches/linux/0007-usb-cdc-acm-fix-cooldown-mechanism.patch deleted file mode 100644 index 22a112078..000000000 --- a/buildroot-external/board/hardkernel/patches/linux/0007-usb-cdc-acm-fix-cooldown-mechanism.patch +++ /dev/null @@ -1,126 +0,0 @@ -From 2c5d0244cbd6727f0e56bd6607b3a1b18ce27a3e Mon Sep 17 00:00:00 2001 -Message-Id: <2c5d0244cbd6727f0e56bd6607b3a1b18ce27a3e.1603528796.git.stefan@agner.ch> -In-Reply-To: <734f52f38625ce29c964517255538b3b0b546e8d.1603528796.git.stefan@agner.ch> -References: <734f52f38625ce29c964517255538b3b0b546e8d.1603528796.git.stefan@agner.ch> -From: Jerome Brunet -Date: Mon, 19 Oct 2020 19:07:02 +0200 -Subject: [PATCH 7/7] usb: cdc-acm: fix cooldown mechanism - -Commit a4e7279cd1d1 ("cdc-acm: introduce a cool down") is causing -regression if there is some USB error, such as -EPROTO. - -This has been reported on some samples of the Odroid-N2 using the Combee II -Zibgee USB dongle. - -> struct acm *acm = container_of(work, struct acm, work) - -is incorrect in case of a delayed work and causes warnings, usually from -the workqueue: - -> WARNING: CPU: 0 PID: 0 at kernel/workqueue.c:1474 __queue_work+0x480/0x528. - -When this happens, USB eventually stops working completely after a while. -Also the ACM_ERROR_DELAY bit is never set, so the cooldown mechanism -previously introduced cannot be triggered and acm_submit_read_urb() is -never called. - -This changes makes the cdc-acm driver use a single delayed work, fixing the -pointer arithmetic in acm_softint() and set the ACM_ERROR_DELAY when the -cooldown mechanism appear to be needed. - -Fixes: a4e7279cd1d1 ("cdc-acm: introduce a cool down") -Reported-by: Pascal Vizeli -Cc: Oliver Neukum -Signed-off-by: Jerome Brunet ---- - drivers/usb/class/cdc-acm.c | 12 +++++------- - drivers/usb/class/cdc-acm.h | 3 +-- - 2 files changed, 6 insertions(+), 9 deletions(-) - -diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c -index 7f6f3ab5b8a6..8f087499196a 100644 ---- a/drivers/usb/class/cdc-acm.c -+++ b/drivers/usb/class/cdc-acm.c -@@ -507,6 +507,7 @@ static void acm_read_bulk_callback(struct urb *urb) - "%s - cooling babbling device\n", __func__); - usb_mark_last_busy(acm->dev); - set_bit(rb->index, &acm->urbs_in_error_delay); -+ set_bit(ACM_ERROR_DELAY, &acm->flags); - cooldown = true; - break; - default: -@@ -532,7 +533,7 @@ static void acm_read_bulk_callback(struct urb *urb) - - if (stopped || stalled || cooldown) { - if (stalled) -- schedule_work(&acm->work); -+ schedule_delayed_work(&acm->dwork, 0); - else if (cooldown) - schedule_delayed_work(&acm->dwork, HZ / 2); - return; -@@ -562,13 +563,13 @@ static void acm_write_bulk(struct urb *urb) - acm_write_done(acm, wb); - spin_unlock_irqrestore(&acm->write_lock, flags); - set_bit(EVENT_TTY_WAKEUP, &acm->flags); -- schedule_work(&acm->work); -+ schedule_delayed_work(&acm->dwork, 0); - } - - static void acm_softint(struct work_struct *work) - { - int i; -- struct acm *acm = container_of(work, struct acm, work); -+ struct acm *acm = container_of(work, struct acm, dwork.work); - - if (test_bit(EVENT_RX_STALL, &acm->flags)) { - smp_mb(); /* against acm_suspend() */ -@@ -584,7 +585,7 @@ static void acm_softint(struct work_struct *work) - if (test_and_clear_bit(ACM_ERROR_DELAY, &acm->flags)) { - for (i = 0; i < acm->rx_buflimit; i++) - if (test_and_clear_bit(i, &acm->urbs_in_error_delay)) -- acm_submit_read_urb(acm, i, GFP_NOIO); -+ acm_submit_read_urb(acm, i, GFP_KERNEL); - } - - if (test_and_clear_bit(EVENT_TTY_WAKEUP, &acm->flags)) -@@ -1352,7 +1353,6 @@ static int acm_probe(struct usb_interface *intf, - acm->ctrlsize = ctrlsize; - acm->readsize = readsize; - acm->rx_buflimit = num_rx_buf; -- INIT_WORK(&acm->work, acm_softint); - INIT_DELAYED_WORK(&acm->dwork, acm_softint); - init_waitqueue_head(&acm->wioctl); - spin_lock_init(&acm->write_lock); -@@ -1562,7 +1562,6 @@ static void acm_disconnect(struct usb_interface *intf) - } - - acm_kill_urbs(acm); -- cancel_work_sync(&acm->work); - cancel_delayed_work_sync(&acm->dwork); - - tty_unregister_device(acm_tty_driver, acm->minor); -@@ -1605,7 +1604,6 @@ static int acm_suspend(struct usb_interface *intf, pm_message_t message) - return 0; - - acm_kill_urbs(acm); -- cancel_work_sync(&acm->work); - cancel_delayed_work_sync(&acm->dwork); - acm->urbs_in_error_delay = 0; - -diff --git a/drivers/usb/class/cdc-acm.h b/drivers/usb/class/cdc-acm.h -index cd5e9d8ab237..b95ff769072e 100644 ---- a/drivers/usb/class/cdc-acm.h -+++ b/drivers/usb/class/cdc-acm.h -@@ -112,8 +112,7 @@ struct acm { - # define ACM_ERROR_DELAY 3 - unsigned long urbs_in_error_delay; /* these need to be restarted after a delay */ - struct usb_cdc_line_coding line; /* bits, stop, parity */ -- struct work_struct work; /* work queue entry for various purposes*/ -- struct delayed_work dwork; /* for cool downs needed in error recovery */ -+ struct delayed_work dwork; /* work queue entry for various purposes */ - unsigned int ctrlin; /* input control lines (DCD, DSR, RI, break, overruns) */ - unsigned int ctrlout; /* output control lines (DTR, RTS) */ - struct async_icount iocount; /* counters for control line changes */ --- -2.28.0 - diff --git a/buildroot-external/configs/odroid_c2_defconfig b/buildroot-external/configs/odroid_c2_defconfig index fea045323..120bf8985 100644 --- a/buildroot-external/configs/odroid_c2_defconfig +++ b/buildroot-external/configs/odroid_c2_defconfig @@ -22,7 +22,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="5.9.1" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.9.6" 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/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config" diff --git a/buildroot-external/configs/odroid_c4_defconfig b/buildroot-external/configs/odroid_c4_defconfig index 2aadd2154..0027368d0 100644 --- a/buildroot-external/configs/odroid_c4_defconfig +++ b/buildroot-external/configs/odroid_c4_defconfig @@ -22,7 +22,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="5.9.1" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.9.6" 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/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config" diff --git a/buildroot-external/configs/odroid_n2_defconfig b/buildroot-external/configs/odroid_n2_defconfig index 8d77c7291..129337bfd 100644 --- a/buildroot-external/configs/odroid_n2_defconfig +++ b/buildroot-external/configs/odroid_n2_defconfig @@ -22,7 +22,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="5.9.1" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.9.6" 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/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.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 800e95bc5..30587c9f5 100644 --- a/buildroot-external/configs/odroid_xu4_defconfig +++ b/buildroot-external/configs/odroid_xu4_defconfig @@ -23,7 +23,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="5.9.1" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.9.6" BR2_LINUX_KERNEL_DEFCONFIG="exynos" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config" BR2_LINUX_KERNEL_LZ4=y From f5ff224358a815b8373fbf4b2ceadfee5ba94f4a Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Tue, 10 Nov 2020 18:25:51 +0100 Subject: [PATCH 24/26] Bump Raspberry Pis to 5.4 kernel (#956) * Bump Raspberry Pi kernel to 5.4 Bump kernel to the downstream Raspberry Pi 5.4 kernel. Drop patches already merged upstream and use rebased patches for USB reset controller (required for U-Boot 2020.10 for USB SSD boot). * Add compatible node for upstream U-Boot Add brcm,bcm2835-pl011 to make upstream U-Boot bind with the bcm283x_pl011 driver. This allows to boot with the device tree provided by the Raspberry Pi Linux kernel 5.4 even without enable_uart=1. --- ...x-add-compatible-picked-up-by-U-Boot.patch | 76 ++++++++++++++++ ...based-AKMs-in-brcmf_set_key_mgmt-for.patch | 50 ----------- ...bcm-Convert-BCM2835-firmware-binding.patch | 87 +++++++++++++++++++ ...t-Add-a-binding-for-the-RPi-Firmware.patch | 41 --------- ...k-Add-a-binding-for-the-RPi-Firmware.patch | 71 +++++++++++++++ ...bcm-Add-a-select-to-the-RPI-Firmware.patch | 50 +++++++++++ ...add-upstream-property-to-enable-PCIe.patch | 44 ---------- ...t-Add-a-binding-for-the-RPi-Firmware.patch | 83 ++++++++++++++++++ ...bcm2711-Add-firmware-usb-reset-node.patch} | 27 +++--- ...1-Add-reset-controller-to-xHCI-node.patch} | 32 +++---- ...ude-sparsemem.h-for-MAX_PHYSMEM_BITS.patch | 76 ++++++++++++++++ buildroot-external/configs/rpi0_w_defconfig | 4 +- buildroot-external/configs/rpi2_defconfig | 4 +- buildroot-external/configs/rpi3_64_defconfig | 4 +- buildroot-external/configs/rpi3_defconfig | 4 +- buildroot-external/configs/rpi4_64_defconfig | 4 +- buildroot-external/configs/rpi4_defconfig | 4 +- buildroot-external/configs/rpi_defconfig | 4 +- 18 files changed, 488 insertions(+), 177 deletions(-) create mode 100644 buildroot-external/board/raspberrypi/0008-ARM-dts-bcm283x-add-compatible-picked-up-by-U-Boot.patch delete mode 100644 buildroot-external/board/raspberrypi/patches/linux/0001-brcmfmac-add-FT-based-AKMs-in-brcmf_set_key_mgmt-for.patch create mode 100644 buildroot-external/board/raspberrypi/patches/linux/0001-dt-bindings-arm-bcm-Convert-BCM2835-firmware-binding.patch delete mode 100644 buildroot-external/board/raspberrypi/patches/linux/0001-dt-bindings-reset-Add-a-binding-for-the-RPi-Firmware.patch create mode 100644 buildroot-external/board/raspberrypi/patches/linux/0002-dt-bindings-clock-Add-a-binding-for-the-RPi-Firmware.patch create mode 100644 buildroot-external/board/raspberrypi/patches/linux/0003-dt-bindings-arm-bcm-Add-a-select-to-the-RPI-Firmware.patch delete mode 100644 buildroot-external/board/raspberrypi/patches/linux/0004-ARM-dts-bcm2838-add-upstream-property-to-enable-PCIe.patch create mode 100644 buildroot-external/board/raspberrypi/patches/linux/0004-dt-bindings-reset-Add-a-binding-for-the-RPi-Firmware.patch rename buildroot-external/board/raspberrypi/patches/linux/{0002-ARM-dts-bcm2711-Add-firmware-usb-reset-node.patch => 0005-ARM-dts-bcm2711-Add-firmware-usb-reset-node.patch} (55%) rename buildroot-external/board/raspberrypi/patches/linux/{0003-ARM-dts-bcm2711-Add-reset-controller-to-xHCI-node.patch => 0006-ARM-dts-bcm2711-Add-reset-controller-to-xHCI-node.patch} (59%) create mode 100644 buildroot-external/board/raspberrypi/patches/linux/0007-mm-zsmalloc-include-sparsemem.h-for-MAX_PHYSMEM_BITS.patch diff --git a/buildroot-external/board/raspberrypi/0008-ARM-dts-bcm283x-add-compatible-picked-up-by-U-Boot.patch b/buildroot-external/board/raspberrypi/0008-ARM-dts-bcm283x-add-compatible-picked-up-by-U-Boot.patch new file mode 100644 index 000000000..7a7baa3d1 --- /dev/null +++ b/buildroot-external/board/raspberrypi/0008-ARM-dts-bcm283x-add-compatible-picked-up-by-U-Boot.patch @@ -0,0 +1,76 @@ +From df50ba2a4538ce9a43d28c2a9ef56377b7bad59f Mon Sep 17 00:00:00 2001 +Message-Id: +In-Reply-To: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1605026982.git.stefan@agner.ch> +References: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1605026982.git.stefan@agner.ch> +From: Pascal Vizeli +Date: Tue, 2 Jun 2020 21:20:08 +0000 +Subject: [PATCH 8/8] ARM: dts: bcm283x: add compatible picked up by U-Boot + +Without brcm,bcm2835-pl011 in compatible U-Boot uses the regular PL011 +driver which seems to crash when enable_uart=1 is not used. Using +brcm,bcm2835-pl011 works around that and does not affect Linux since its +not using that compatible string. + +Signed-off-by: Pascal Vizeli +Signed-off-by: Stefan Agner +--- + arch/arm/boot/dts/bcm2711.dtsi | 8 ++++---- + arch/arm/boot/dts/bcm283x.dtsi | 2 +- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi +index 4f87bb4fd3d1..12f0d90e8957 100644 +--- a/arch/arm/boot/dts/bcm2711.dtsi ++++ b/arch/arm/boot/dts/bcm2711.dtsi +@@ -110,7 +110,7 @@ + }; + + uart2: serial@7e201400 { +- compatible = "arm,pl011", "arm,primecell"; ++ compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell"; + reg = <0x7e201400 0x200>; + interrupts = ; + clocks = <&clocks BCM2835_CLOCK_UART>, +@@ -121,7 +121,7 @@ + }; + + uart3: serial@7e201600 { +- compatible = "arm,pl011", "arm,primecell"; ++ compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell"; + reg = <0x7e201600 0x200>; + interrupts = ; + clocks = <&clocks BCM2835_CLOCK_UART>, +@@ -132,7 +132,7 @@ + }; + + uart4: serial@7e201800 { +- compatible = "arm,pl011", "arm,primecell"; ++ compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell"; + reg = <0x7e201800 0x200>; + interrupts = ; + clocks = <&clocks BCM2835_CLOCK_UART>, +@@ -143,7 +143,7 @@ + }; + + uart5: serial@7e201a00 { +- compatible = "arm,pl011", "arm,primecell"; ++ compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell"; + reg = <0x7e201a00 0x200>; + interrupts = ; + clocks = <&clocks BCM2835_CLOCK_UART>, +diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi +index 4426f9e6ba92..abcf677fe416 100644 +--- a/arch/arm/boot/dts/bcm283x.dtsi ++++ b/arch/arm/boot/dts/bcm283x.dtsi +@@ -306,7 +306,7 @@ + }; + + uart0: serial@7e201000 { +- compatible = "arm,pl011", "arm,primecell"; ++ compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell"; + reg = <0x7e201000 0x200>; + interrupts = <2 25>; + clocks = <&clocks BCM2835_CLOCK_UART>, +-- +2.29.1 + diff --git a/buildroot-external/board/raspberrypi/patches/linux/0001-brcmfmac-add-FT-based-AKMs-in-brcmf_set_key_mgmt-for.patch b/buildroot-external/board/raspberrypi/patches/linux/0001-brcmfmac-add-FT-based-AKMs-in-brcmf_set_key_mgmt-for.patch deleted file mode 100644 index d3bc877ee..000000000 --- a/buildroot-external/board/raspberrypi/patches/linux/0001-brcmfmac-add-FT-based-AKMs-in-brcmf_set_key_mgmt-for.patch +++ /dev/null @@ -1,50 +0,0 @@ -From d6fc5f89ac905cb3efc9c61ce79dbfad5d91883b Mon Sep 17 00:00:00 2001 -Message-Id: -From: Chung-Hsien Hsu -Date: Wed, 15 Aug 2018 05:32:39 -0500 -Subject: [PATCH] brcmfmac: add FT-based AKMs in brcmf_set_key_mgmt() for FT - support - -Add WLAN_AKM_SUITE_FT_8021X and WLAN_AKM_SUITE_FT_PSK in -brcmf_set_key_mgmt() for FT support. - -Signed-off-by: Chung-Hsien Hsu -Signed-off-by: Chi-Hsien Lin -Signed-off-by: Kalle Valo ---- - drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 6 ++++++ - .../net/wireless/broadcom/brcm80211/include/brcmu_wifi.h | 1 + - 2 files changed, 7 insertions(+) - -diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -index 71b7e5c19434..c312626c0a27 100644 ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -@@ -1649,6 +1649,12 @@ brcmf_set_key_mgmt(struct net_device *ndev, struct cfg80211_connect_params *sme) - case WLAN_AKM_SUITE_PSK: - val = WPA2_AUTH_PSK; - break; -+ case WLAN_AKM_SUITE_FT_8021X: -+ val = WPA2_AUTH_UNSPECIFIED | WPA2_AUTH_FT; -+ break; -+ case WLAN_AKM_SUITE_FT_PSK: -+ val = WPA2_AUTH_PSK | WPA2_AUTH_FT; -+ break; - default: - brcmf_err("invalid cipher group (%d)\n", - sme->crypto.cipher_group); -diff --git a/drivers/net/wireless/broadcom/brcm80211/include/brcmu_wifi.h b/drivers/net/wireless/broadcom/brcm80211/include/brcmu_wifi.h -index 75b2a0438cfa..dddebaa60352 100644 ---- a/drivers/net/wireless/broadcom/brcm80211/include/brcmu_wifi.h -+++ b/drivers/net/wireless/broadcom/brcm80211/include/brcmu_wifi.h -@@ -239,6 +239,7 @@ static inline bool ac_bitmap_tst(u8 bitmap, int prec) - #define WPA2_AUTH_RESERVED4 0x0400 - #define WPA2_AUTH_RESERVED5 0x0800 - #define WPA2_AUTH_1X_SHA256 0x1000 /* 1X with SHA256 key derivation */ -+#define WPA2_AUTH_FT 0x4000 /* Fast BSS Transition */ - #define WPA2_AUTH_PSK_SHA256 0x8000 /* PSK with SHA256 key derivation */ - - #define DOT11_DEFAULT_RTS_LEN 2347 --- -2.28.0 - diff --git a/buildroot-external/board/raspberrypi/patches/linux/0001-dt-bindings-arm-bcm-Convert-BCM2835-firmware-binding.patch b/buildroot-external/board/raspberrypi/patches/linux/0001-dt-bindings-arm-bcm-Convert-BCM2835-firmware-binding.patch new file mode 100644 index 000000000..88696e9ec --- /dev/null +++ b/buildroot-external/board/raspberrypi/patches/linux/0001-dt-bindings-arm-bcm-Convert-BCM2835-firmware-binding.patch @@ -0,0 +1,87 @@ +From 3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73 Mon Sep 17 00:00:00 2001 +Message-Id: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1604762912.git.stefan@agner.ch> +From: Florian Fainelli +Date: Mon, 15 Jun 2020 10:40:41 +0200 +Subject: [PATCH 1/8] dt-bindings: arm: bcm: Convert BCM2835 firmware binding + to YAML + +Convert the Raspberry Pi BCM2835 firmware binding document to YAML. +Verified with dt_binding_check and dtbs_check. + +Signed-off-by: Florian Fainelli +Tested-by: Nicolas Saenz Julienne +Signed-off-by: Maxime Ripard +Link: https://lore.kernel.org/r/5bc0b9be8544b07300fccab4d4f26e5e5d8e62b2.1592210452.git-series.maxime@cerno.tech +Signed-off-by: Stephen Boyd +(cherry picked from commit d4c708c032df3d95de297232e20041737e99d126) +--- + .../arm/bcm/raspberrypi,bcm2835-firmware.txt | 14 -------- + .../arm/bcm/raspberrypi,bcm2835-firmware.yaml | 35 +++++++++++++++++++ + 2 files changed, 35 insertions(+), 14 deletions(-) + delete mode 100644 Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.txt + create mode 100644 Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml + +diff --git a/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.txt b/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.txt +deleted file mode 100644 +index 6824b3180ffb..000000000000 +--- a/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.txt ++++ /dev/null +@@ -1,14 +0,0 @@ +-Raspberry Pi VideoCore firmware driver +- +-Required properties: +- +-- compatible: Should be "raspberrypi,bcm2835-firmware" +-- mboxes: Phandle to the firmware device's Mailbox. +- (See: ../mailbox/mailbox.txt for more information) +- +-Example: +- +-firmware { +- compatible = "raspberrypi,bcm2835-firmware"; +- mboxes = <&mailbox>; +-}; +diff --git a/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml b/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml +new file mode 100644 +index 000000000000..cec540c052b6 +--- /dev/null ++++ b/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml +@@ -0,0 +1,35 @@ ++# SPDX-License-Identifier: GPL-2.0 ++%YAML 1.2 ++--- ++$id: http://devicetree.org/schemas/arm/bcm/raspberrypi,bcm2835-firmware.yaml# ++$schema: http://devicetree.org/meta-schemas/core.yaml# ++ ++title: Raspberry Pi VideoCore firmware driver ++ ++maintainers: ++ - Eric Anholt ++ - Stefan Wahren ++ ++properties: ++ compatible: ++ items: ++ - const: raspberrypi,bcm2835-firmware ++ - const: simple-bus ++ ++ mboxes: ++ $ref: '/schemas/types.yaml#/definitions/phandle' ++ description: | ++ Phandle to the firmware device's Mailbox. ++ (See: ../mailbox/mailbox.txt for more information) ++ ++required: ++ - compatible ++ - mboxes ++ ++examples: ++ - | ++ firmware { ++ compatible = "raspberrypi,bcm2835-firmware", "simple-bus"; ++ mboxes = <&mailbox>; ++ }; ++... +-- +2.29.1 + diff --git a/buildroot-external/board/raspberrypi/patches/linux/0001-dt-bindings-reset-Add-a-binding-for-the-RPi-Firmware.patch b/buildroot-external/board/raspberrypi/patches/linux/0001-dt-bindings-reset-Add-a-binding-for-the-RPi-Firmware.patch deleted file mode 100644 index d965e54e8..000000000 --- a/buildroot-external/board/raspberrypi/patches/linux/0001-dt-bindings-reset-Add-a-binding-for-the-RPi-Firmware.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a9f92163e6c07e5c6f57f00f4931098e0e1ee826 Mon Sep 17 00:00:00 2001 -Message-Id: -From: Nicolas Saenz Julienne -Date: Mon, 29 Jun 2020 18:18:37 +0200 -Subject: [PATCH 1/4] dt-bindings: reset: Add a binding for the RPi Firmware - reset controller - -The firmware running on the RPi VideoCore can be used to reset and -initialize HW controlled by the firmware. - -Signed-off-by: Nicolas Saenz Julienne -Reviewed-by: Florian Fainelli -[backport for RPi 4.19 kernel] -Signed-off-by: Stefan Agner ---- - .../dt-bindings/reset/raspberrypi,firmware-reset.h | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - create mode 100644 include/dt-bindings/reset/raspberrypi,firmware-reset.h - -diff --git a/include/dt-bindings/reset/raspberrypi,firmware-reset.h b/include/dt-bindings/reset/raspberrypi,firmware-reset.h -new file mode 100644 -index 000000000000..1a4f4c792723 ---- /dev/null -+++ b/include/dt-bindings/reset/raspberrypi,firmware-reset.h -@@ -0,0 +1,13 @@ -+/* SPDX-License-Identifier: GPL-2.0 */ -+/* -+ * Copyright (c) 2020 Nicolas Saenz Julienne -+ * Author: Nicolas Saenz Julienne -+ */ -+ -+#ifndef _DT_BINDINGS_RASPBERRYPI_FIRMWARE_RESET_H -+#define _DT_BINDINGS_RASPBERRYPI_FIRMWARE_RESET_H -+ -+#define RASPBERRYPI_FIRMWARE_RESET_ID_USB 0 -+#define RASPBERRYPI_FIRMWARE_RESET_NUM_IDS 1 -+ -+#endif --- -2.27.0 - diff --git a/buildroot-external/board/raspberrypi/patches/linux/0002-dt-bindings-clock-Add-a-binding-for-the-RPi-Firmware.patch b/buildroot-external/board/raspberrypi/patches/linux/0002-dt-bindings-clock-Add-a-binding-for-the-RPi-Firmware.patch new file mode 100644 index 000000000..5321d3571 --- /dev/null +++ b/buildroot-external/board/raspberrypi/patches/linux/0002-dt-bindings-clock-Add-a-binding-for-the-RPi-Firmware.patch @@ -0,0 +1,71 @@ +From 3ad7fb9329eabd1d7f692f612742ca5ac38854a5 Mon Sep 17 00:00:00 2001 +Message-Id: <3ad7fb9329eabd1d7f692f612742ca5ac38854a5.1604762912.git.stefan@agner.ch> +In-Reply-To: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1604762912.git.stefan@agner.ch> +References: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1604762912.git.stefan@agner.ch> +From: Maxime Ripard +Date: Mon, 15 Jun 2020 10:40:42 +0200 +Subject: [PATCH 2/8] dt-bindings: clock: Add a binding for the RPi Firmware + clocks + +The firmware running on the RPi VideoCore can be used to discover and +change the various clocks running in the BCM2711. Since devices will +need to use them through the DT, let's add a pretty simple binding. + +Cc: Michael Turquette +Cc: linux-clk@vger.kernel.org +Cc: devicetree@vger.kernel.org +Reviewed-by: Stephen Boyd +Reviewed-by: Rob Herring +Tested-by: Nicolas Saenz Julienne +Signed-off-by: Maxime Ripard +Link: https://lore.kernel.org/r/f6105207e7ef5a5ea8d7a1774faf989d341a25f5.1592210452.git-series.maxime@cerno.tech +Signed-off-by: Stephen Boyd +(cherry picked from commit 74a0caa5ef1c25905c4409b350ed9a8e0d9a3b74) +--- + .../arm/bcm/raspberrypi,bcm2835-firmware.yaml | 24 +++++++++++++++++++ + 1 file changed, 24 insertions(+) + +diff --git a/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml b/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml +index cec540c052b6..b48ed875eb8e 100644 +--- a/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml ++++ b/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml +@@ -22,6 +22,25 @@ properties: + Phandle to the firmware device's Mailbox. + (See: ../mailbox/mailbox.txt for more information) + ++ clocks: ++ type: object ++ ++ properties: ++ compatible: ++ const: raspberrypi,firmware-clocks ++ ++ "#clock-cells": ++ const: 1 ++ description: > ++ The argument is the ID of the clocks contained by the ++ firmware messages. ++ ++ required: ++ - compatible ++ - "#clock-cells" ++ ++ additionalProperties: false ++ + required: + - compatible + - mboxes +@@ -31,5 +50,10 @@ examples: + firmware { + compatible = "raspberrypi,bcm2835-firmware", "simple-bus"; + mboxes = <&mailbox>; ++ ++ firmware_clocks: clocks { ++ compatible = "raspberrypi,firmware-clocks"; ++ #clock-cells = <1>; ++ }; + }; + ... +-- +2.29.1 + diff --git a/buildroot-external/board/raspberrypi/patches/linux/0003-dt-bindings-arm-bcm-Add-a-select-to-the-RPI-Firmware.patch b/buildroot-external/board/raspberrypi/patches/linux/0003-dt-bindings-arm-bcm-Add-a-select-to-the-RPI-Firmware.patch new file mode 100644 index 000000000..d650ccd25 --- /dev/null +++ b/buildroot-external/board/raspberrypi/patches/linux/0003-dt-bindings-arm-bcm-Add-a-select-to-the-RPI-Firmware.patch @@ -0,0 +1,50 @@ +From 305aeb868929695699e04e26dd590e64ad3c42dd Mon Sep 17 00:00:00 2001 +Message-Id: <305aeb868929695699e04e26dd590e64ad3c42dd.1604762912.git.stefan@agner.ch> +In-Reply-To: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1604762912.git.stefan@agner.ch> +References: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1604762912.git.stefan@agner.ch> +From: Maxime Ripard +Date: Fri, 26 Jun 2020 13:54:33 +0200 +Subject: [PATCH 3/8] dt-bindings: arm: bcm: Add a select to the RPI Firmware + binding + +The RaspberryPi firmware binding uses two compatible, include simple-bus. +The select statement generated by default will thus select any node that +has simple-bus, not all of them being the raspberrypi firmware node. + +This results in warnings being wrongfully reported. Let's add a custom +select statement to fix that. + +Fixes: d4c708c032df ("dt-bindings: arm: bcm: Convert BCM2835 firmware binding to YAML") +Signed-off-by: Maxime Ripard +Link: https://lore.kernel.org/r/20200626115433.125735-1-maxime@cerno.tech +Acked-by: Florian Fainelli +Acked-by: Rob Herring +Signed-off-by: Stephen Boyd +(cherry picked from commit 2a08a9232ba2e6103843870e68edae8e381eb02a) +--- + .../bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml b/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml +index b48ed875eb8e..17e4f20c8d39 100644 +--- a/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml ++++ b/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml +@@ -10,6 +10,15 @@ maintainers: + - Eric Anholt + - Stefan Wahren + ++select: ++ properties: ++ compatible: ++ contains: ++ const: raspberrypi,bcm2835-firmware ++ ++ required: ++ - compatible ++ + properties: + compatible: + items: +-- +2.29.1 + diff --git a/buildroot-external/board/raspberrypi/patches/linux/0004-ARM-dts-bcm2838-add-upstream-property-to-enable-PCIe.patch b/buildroot-external/board/raspberrypi/patches/linux/0004-ARM-dts-bcm2838-add-upstream-property-to-enable-PCIe.patch deleted file mode 100644 index e4c8bb61b..000000000 --- a/buildroot-external/board/raspberrypi/patches/linux/0004-ARM-dts-bcm2838-add-upstream-property-to-enable-PCIe.patch +++ /dev/null @@ -1,44 +0,0 @@ -From dcfb930f9c271ad303a888ce94227d2d78974e39 Mon Sep 17 00:00:00 2001 -Message-Id: -In-Reply-To: -References: -From: Stefan Agner -Date: Sun, 19 Jul 2020 11:49:45 +0200 -Subject: [PATCH 4/4] ARM: dts: bcm2838: add upstream property to enable PCIe - spread-spectrum - -Add the upstream device tree property brcm,enable-ssc to enable -spread-spectrum for PCIe. This is used by the upstream U-Boot. - -Signed-off-by: Stefan Agner ---- - arch/arm/boot/dts/bcm2838.dtsi | 13 ++++++++----- - 1 file changed, 8 insertions(+), 5 deletions(-) - -diff --git a/arch/arm/boot/dts/bcm2838.dtsi b/arch/arm/boot/dts/bcm2838.dtsi -index 36d250d7053b..d6cc876bc720 100644 ---- a/arch/arm/boot/dts/bcm2838.dtsi -+++ b/arch/arm/boot/dts/bcm2838.dtsi -@@ -353,11 +353,14 @@ - */ - ranges = <0x02000000 0x0 0xf8000000 0x6 0x00000000 - 0x0 0x04000000>; -- /* Map inbound accesses from pci:0x0_00000000..ffffffff -- * to scb:0x0_00000000-ffffffff -- */ -- dma-ranges = <0x02000000 0x0 0x00000000 0x0 0x00000000 -- 0x1 0x00000000>; -+ /* -+ * The wrapper around the PCIe block has a bug -+ * preventing it from accessing beyond the first 3GB of -+ * memory. -+ */ -+ dma-ranges = <0x02000000 0x0 0x00000000 0x0 0x00000000 -+ 0x0 0xc0000000>; -+ brcm,enable-ssc; - status = "okay"; - }; - --- -2.27.0 - diff --git a/buildroot-external/board/raspberrypi/patches/linux/0004-dt-bindings-reset-Add-a-binding-for-the-RPi-Firmware.patch b/buildroot-external/board/raspberrypi/patches/linux/0004-dt-bindings-reset-Add-a-binding-for-the-RPi-Firmware.patch new file mode 100644 index 000000000..401580baa --- /dev/null +++ b/buildroot-external/board/raspberrypi/patches/linux/0004-dt-bindings-reset-Add-a-binding-for-the-RPi-Firmware.patch @@ -0,0 +1,83 @@ +From 33743cfcff296b1011e46168ecab185a00e0f00d Mon Sep 17 00:00:00 2001 +Message-Id: <33743cfcff296b1011e46168ecab185a00e0f00d.1604762912.git.stefan@agner.ch> +In-Reply-To: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1604762912.git.stefan@agner.ch> +References: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1604762912.git.stefan@agner.ch> +From: Nicolas Saenz Julienne +Date: Mon, 29 Jun 2020 18:18:37 +0200 +Subject: [PATCH 4/8] dt-bindings: reset: Add a binding for the RPi Firmware + reset controller + +The firmware running on the RPi VideoCore can be used to reset and +initialize HW controlled by the firmware. + +Reviewed-by: Florian Fainelli +Signed-off-by: Nicolas Saenz Julienne +Link: https://lore.kernel.org/r/20200629161845.6021-2-nsaenzjulienne@suse.de +Signed-off-by: Greg Kroah-Hartman +(cherry picked from commit 242841992ae6f22bd761add2f380b2ef3271ba9a) +--- + .../arm/bcm/raspberrypi,bcm2835-firmware.yaml | 21 +++++++++++++++++++ + .../reset/raspberrypi,firmware-reset.h | 13 ++++++++++++ + 2 files changed, 34 insertions(+) + create mode 100644 include/dt-bindings/reset/raspberrypi,firmware-reset.h + +diff --git a/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml b/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml +index 17e4f20c8d39..c78499a41c72 100644 +--- a/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml ++++ b/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml +@@ -48,6 +48,22 @@ properties: + - compatible + - "#clock-cells" + ++ reset: ++ type: object ++ ++ properties: ++ compatible: ++ const: raspberrypi,firmware-reset ++ ++ "#reset-cells": ++ const: 1 ++ description: > ++ The argument is the ID of the firmware reset line to affect. ++ ++ required: ++ - compatible ++ - "#reset-cells" ++ + additionalProperties: false + + required: +@@ -64,5 +80,10 @@ examples: + compatible = "raspberrypi,firmware-clocks"; + #clock-cells = <1>; + }; ++ ++ reset: reset { ++ compatible = "raspberrypi,firmware-reset"; ++ #reset-cells = <1>; ++ }; + }; + ... +diff --git a/include/dt-bindings/reset/raspberrypi,firmware-reset.h b/include/dt-bindings/reset/raspberrypi,firmware-reset.h +new file mode 100644 +index 000000000000..1a4f4c792723 +--- /dev/null ++++ b/include/dt-bindings/reset/raspberrypi,firmware-reset.h +@@ -0,0 +1,13 @@ ++/* SPDX-License-Identifier: GPL-2.0 */ ++/* ++ * Copyright (c) 2020 Nicolas Saenz Julienne ++ * Author: Nicolas Saenz Julienne ++ */ ++ ++#ifndef _DT_BINDINGS_RASPBERRYPI_FIRMWARE_RESET_H ++#define _DT_BINDINGS_RASPBERRYPI_FIRMWARE_RESET_H ++ ++#define RASPBERRYPI_FIRMWARE_RESET_ID_USB 0 ++#define RASPBERRYPI_FIRMWARE_RESET_NUM_IDS 1 ++ ++#endif +-- +2.29.1 + diff --git a/buildroot-external/board/raspberrypi/patches/linux/0002-ARM-dts-bcm2711-Add-firmware-usb-reset-node.patch b/buildroot-external/board/raspberrypi/patches/linux/0005-ARM-dts-bcm2711-Add-firmware-usb-reset-node.patch similarity index 55% rename from buildroot-external/board/raspberrypi/patches/linux/0002-ARM-dts-bcm2711-Add-firmware-usb-reset-node.patch rename to buildroot-external/board/raspberrypi/patches/linux/0005-ARM-dts-bcm2711-Add-firmware-usb-reset-node.patch index 741f5ffb0..11a9f34be 100644 --- a/buildroot-external/board/raspberrypi/patches/linux/0002-ARM-dts-bcm2711-Add-firmware-usb-reset-node.patch +++ b/buildroot-external/board/raspberrypi/patches/linux/0005-ARM-dts-bcm2711-Add-firmware-usb-reset-node.patch @@ -1,28 +1,29 @@ -From b15414057bc9a023fc865242f499807d82933e58 Mon Sep 17 00:00:00 2001 -Message-Id: -In-Reply-To: -References: +From fecb02cc3664de0d1c43ce566ff95c1b68fca51e Mon Sep 17 00:00:00 2001 +Message-Id: +In-Reply-To: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1604762912.git.stefan@agner.ch> +References: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1604762912.git.stefan@agner.ch> From: Nicolas Saenz Julienne Date: Mon, 29 Jun 2020 18:18:39 +0200 -Subject: [PATCH 2/4] ARM: dts: bcm2711: Add firmware usb reset node +Subject: [PATCH 5/8] ARM: dts: bcm2711: Add firmware usb reset node Now that the reset driver exposing Raspberry Pi 4's firmware based USB reset routine is available, let's add the device tree node exposing it. -Signed-off-by: Nicolas Saenz Julienne Reviewed-by: Florian Fainelli -[backport for RPi 4.19 kernel] -Signed-off-by: Stefan Agner +Signed-off-by: Nicolas Saenz Julienne +Link: https://lore.kernel.org/r/20200629161845.6021-4-nsaenzjulienne@suse.de +Signed-off-by: Greg Kroah-Hartman +(cherry picked from commit b03300db06bed1997a1eecc4c26f3a2895c57726) --- arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts -index 42259dbf3919..ec0b3bb64de8 100644 +index 21b20e334b1a..d77d61d41bbc 100644 --- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts +++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts -@@ -80,6 +80,11 @@ - ""; +@@ -72,6 +72,11 @@ + "SD_OC_N"; status = "okay"; }; + @@ -32,7 +33,7 @@ index 42259dbf3919..ec0b3bb64de8 100644 + }; }; - &uart0 { + &gpio { -- -2.27.0 +2.29.1 diff --git a/buildroot-external/board/raspberrypi/patches/linux/0003-ARM-dts-bcm2711-Add-reset-controller-to-xHCI-node.patch b/buildroot-external/board/raspberrypi/patches/linux/0006-ARM-dts-bcm2711-Add-reset-controller-to-xHCI-node.patch similarity index 59% rename from buildroot-external/board/raspberrypi/patches/linux/0003-ARM-dts-bcm2711-Add-reset-controller-to-xHCI-node.patch rename to buildroot-external/board/raspberrypi/patches/linux/0006-ARM-dts-bcm2711-Add-reset-controller-to-xHCI-node.patch index 43e8149c0..57f85dae1 100644 --- a/buildroot-external/board/raspberrypi/patches/linux/0003-ARM-dts-bcm2711-Add-reset-controller-to-xHCI-node.patch +++ b/buildroot-external/board/raspberrypi/patches/linux/0006-ARM-dts-bcm2711-Add-reset-controller-to-xHCI-node.patch @@ -1,41 +1,43 @@ -From 08558575c0f3d1437994590ad418d6c2cf18d96b Mon Sep 17 00:00:00 2001 -Message-Id: <08558575c0f3d1437994590ad418d6c2cf18d96b.1595152741.git.stefan@agner.ch> -In-Reply-To: -References: +From e0231cd65d8c13be1cebae1e6b5fbef61be6be0d Mon Sep 17 00:00:00 2001 +Message-Id: +In-Reply-To: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1604762912.git.stefan@agner.ch> +References: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1604762912.git.stefan@agner.ch> From: Nicolas Saenz Julienne Date: Mon, 29 Jun 2020 18:18:40 +0200 -Subject: [PATCH 3/4] ARM: dts: bcm2711: Add reset controller to xHCI node +Subject: [PATCH 6/8] ARM: dts: bcm2711: Add reset controller to xHCI node The chip is hardwired to the board's PCIe bus and needs to be properly setup trough a firmware routine after a PCI fundamental reset. Pass the reset controller phandle that takes care of triggering the initialization to the relevant PCI device. +Reviewed-by: Florian Fainelli Signed-off-by: Nicolas Saenz Julienne -[backport for RPi 4.19 kernel] -Signed-off-by: Stefan Agner +Link: https://lore.kernel.org/r/20200629161845.6021-5-nsaenzjulienne@suse.de +Signed-off-by: Greg Kroah-Hartman +(cherry picked from commit 258f92d2f840b6ea62c0b33f04eb4d9270935bba) --- arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts -index ec0b3bb64de8..2c6aa1933600 100644 +index d77d61d41bbc..513cae21e64c 100644 --- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts +++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts -@@ -4,6 +4,8 @@ - #include "bcm2711-rpi.dtsi" - #include "bcm283x-rpi-csi1-2lane.dtsi" +@@ -3,6 +3,8 @@ + #include "bcm2711.dtsi" + #include "bcm2835-rpi.dtsi" +#include + / { compatible = "raspberrypi,4-model-b", "brcm,bcm2711"; model = "Raspberry Pi 4 Model B"; -@@ -87,6 +89,21 @@ +@@ -195,6 +197,21 @@ }; }; -+&pcie_0 { ++&pcie0 { + pci@1,0 { + #address-cells = <3>; + #size-cells = <2>; @@ -50,9 +52,9 @@ index ec0b3bb64de8..2c6aa1933600 100644 + }; +}; + + /* uart0 communicates with the BT module */ &uart0 { pinctrl-names = "default"; - pinctrl-0 = <&uart0_pins &bt_pins>; -- -2.27.0 +2.29.1 diff --git a/buildroot-external/board/raspberrypi/patches/linux/0007-mm-zsmalloc-include-sparsemem.h-for-MAX_PHYSMEM_BITS.patch b/buildroot-external/board/raspberrypi/patches/linux/0007-mm-zsmalloc-include-sparsemem.h-for-MAX_PHYSMEM_BITS.patch new file mode 100644 index 000000000..cf0025ea2 --- /dev/null +++ b/buildroot-external/board/raspberrypi/patches/linux/0007-mm-zsmalloc-include-sparsemem.h-for-MAX_PHYSMEM_BITS.patch @@ -0,0 +1,76 @@ +From 635706b878ef1263c4d495947a51c70c88707bbf Mon Sep 17 00:00:00 2001 +Message-Id: <635706b878ef1263c4d495947a51c70c88707bbf.1604762912.git.stefan@agner.ch> +In-Reply-To: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1604762912.git.stefan@agner.ch> +References: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1604762912.git.stefan@agner.ch> +From: Stefan Agner +Date: Sat, 7 Nov 2020 16:00:09 +0100 +Subject: [PATCH 7/8] mm/zsmalloc: include sparsemem.h for MAX_PHYSMEM_BITS + +Most architectures define MAX_PHYSMEM_BITS in asm/sparsemem.h and don't +include it in asm/pgtable.h. Include asm/sparsemem.h directly to get +the MAX_PHYSMEM_BITS define on all architectures. + +This fixes a crash when accessing zram on 32-bit ARM platform with LPAE and +more than 4GB of memory: + Unable to handle kernel NULL pointer dereference at virtual address 00000000 + pgd = a27bd01c + [00000000] *pgd=236a0003, *pmd=1ffa64003 + Internal error: Oops: 207 [#1] SMP ARM + Modules linked in: mdio_bcm_unimac(+) brcmfmac cfg80211 brcmutil raspberrypi_hwmon hci_uart crc32_arm_ce bcm2711_thermal phy_generic genet + CPU: 0 PID: 123 Comm: mkfs.ext4 Not tainted 5.9.6 #1 + Hardware name: BCM2711 + PC is at zs_map_object+0x94/0x338 + LR is at zram_bvec_rw.constprop.0+0x330/0xa64 + pc : [] lr : [] psr: 60000013 + sp : e376bbe0 ip : 00000000 fp : c1e2921c + r10: 00000002 r9 : c1dda730 r8 : 00000000 + r7 : e8ff7a00 r6 : 00000000 r5 : 02f9ffa0 r4 : e3710000 + r3 : 000fdffe r2 : c1e0ce80 r1 : ebf979a0 r0 : 00000000 + Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user + Control: 30c5383d Table: 235c2a80 DAC: fffffffd + Process mkfs.ext4 (pid: 123, stack limit = 0x495a22e6) + Stack: (0xe376bbe0 to 0xe376c000) + ... + [] (zs_map_object) from [] (zram_bvec_rw.constprop.0+0x330/0xa64) + [] (zram_bvec_rw.constprop.0) from [] (zram_submit_bio+0x1a4/0x40c) + [] (zram_submit_bio) from [] (submit_bio_noacct+0xd0/0x3c8) + [] (submit_bio_noacct) from [] (submit_bio+0x4c/0x190) + [] (submit_bio) from [] (submit_bh_wbc+0x188/0x1b8) + [] (submit_bh_wbc) from [] (__block_write_full_page+0x340/0x5e4) + [] (__block_write_full_page) from [] (block_write_full_page+0x128/0x170) + [] (block_write_full_page) from [] (__writepage+0x14/0x68) + [] (__writepage) from [] (write_cache_pages+0x1bc/0x494) + [] (write_cache_pages) from [] (generic_writepages+0x58/0x8c) + [] (generic_writepages) from [] (do_writepages+0x48/0xec) + [] (do_writepages) from [] (__filemap_fdatawrite_range+0xf0/0x128) + [] (__filemap_fdatawrite_range) from [] (file_write_and_wait_range+0x48/0x98) + [] (file_write_and_wait_range) from [] (blkdev_fsync+0x1c/0x44) + [] (blkdev_fsync) from [] (do_fsync+0x3c/0x70) + [] (do_fsync) from [] (__sys_trace_return+0x0/0x2c) + Exception stack(0xe376bfa8 to 0xe376bff0) + bfa0: 0003d2e0 b6f7b6f0 00000003 00046e40 00001000 00000000 + bfc0: 0003d2e0 b6f7b6f0 00000000 00000076 00000000 00000000 befcbb20 befcbb28 + bfe0: b6f4e060 befcbad8 b6f23e0c b6dc4a80 + Code: e5927000 e0050391 e0871005 e5918018 (e5983000) + +Fixes: 61989a80fb3a ("staging: zsmalloc: zsmalloc memory allocation library") +Signed-off-by: Stefan Agner +--- + mm/zsmalloc.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c +index 22d17ecfe7df..b815c39dda19 100644 +--- a/mm/zsmalloc.c ++++ b/mm/zsmalloc.c +@@ -39,6 +39,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.29.1 + diff --git a/buildroot-external/configs/rpi0_w_defconfig b/buildroot-external/configs/rpi0_w_defconfig index 4aba858a2..c38382c2f 100644 --- a/buildroot-external/configs/rpi0_w_defconfig +++ b/buildroot-external/configs/rpi0_w_defconfig @@ -24,7 +24,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi0-w $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/cc39f1c9f82f6fe5a437836811d906c709e0661c.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/2ae9829c3da54597a4701285f91985c4d08ee793.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config" BR2_LINUX_KERNEL_LZ4=y @@ -92,7 +92,7 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_0_w" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" BR2_TARGET_UBOOT_BOOT_SCRIPT=y BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot.ush" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_E2FSPROGS=y BR2_PACKAGE_HOST_GPTFDISK=y diff --git a/buildroot-external/configs/rpi2_defconfig b/buildroot-external/configs/rpi2_defconfig index cbe43b79c..dff11dff2 100644 --- a/buildroot-external/configs/rpi2_defconfig +++ b/buildroot-external/configs/rpi2_defconfig @@ -24,7 +24,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi2 $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/cc39f1c9f82f6fe5a437836811d906c709e0661c.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/2ae9829c3da54597a4701285f91985c4d08ee793.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config" BR2_LINUX_KERNEL_LZ4=y @@ -91,7 +91,7 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_2" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" BR2_TARGET_UBOOT_BOOT_SCRIPT=y BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot.ush" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_E2FSPROGS=y BR2_PACKAGE_HOST_GPTFDISK=y diff --git a/buildroot-external/configs/rpi3_64_defconfig b/buildroot-external/configs/rpi3_64_defconfig index a6121c44a..14a028f0e 100644 --- a/buildroot-external/configs/rpi3_64_defconfig +++ b/buildroot-external/configs/rpi3_64_defconfig @@ -24,7 +24,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi3-64 $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/cc39f1c9f82f6fe5a437836811d906c709e0661c.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/2ae9829c3da54597a4701285f91985c4d08ee793.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi3" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config" BR2_LINUX_KERNEL_LZ4=y @@ -92,7 +92,7 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_3" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" BR2_TARGET_UBOOT_BOOT_SCRIPT=y BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot64.ush" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_E2FSPROGS=y BR2_PACKAGE_HOST_GPTFDISK=y diff --git a/buildroot-external/configs/rpi3_defconfig b/buildroot-external/configs/rpi3_defconfig index 109baa5e1..e37944453 100644 --- a/buildroot-external/configs/rpi3_defconfig +++ b/buildroot-external/configs/rpi3_defconfig @@ -24,7 +24,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi3 $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/cc39f1c9f82f6fe5a437836811d906c709e0661c.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/2ae9829c3da54597a4701285f91985c4d08ee793.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config" BR2_LINUX_KERNEL_LZ4=y @@ -92,7 +92,7 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_3_32b" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" BR2_TARGET_UBOOT_BOOT_SCRIPT=y BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot.ush" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_E2FSPROGS=y BR2_PACKAGE_HOST_GPTFDISK=y diff --git a/buildroot-external/configs/rpi4_64_defconfig b/buildroot-external/configs/rpi4_64_defconfig index 729dfcf77..bee897fbe 100644 --- a/buildroot-external/configs/rpi4_64_defconfig +++ b/buildroot-external/configs/rpi4_64_defconfig @@ -24,7 +24,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi4-64 $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/cc39f1c9f82f6fe5a437836811d906c709e0661c.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/2ae9829c3da54597a4701285f91985c4d08ee793.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config" BR2_LINUX_KERNEL_LZ4=y @@ -93,7 +93,7 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_4" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" BR2_TARGET_UBOOT_BOOT_SCRIPT=y BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot64.ush" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_E2FSPROGS=y BR2_PACKAGE_HOST_GPTFDISK=y diff --git a/buildroot-external/configs/rpi4_defconfig b/buildroot-external/configs/rpi4_defconfig index cec9eff55..c1b020431 100644 --- a/buildroot-external/configs/rpi4_defconfig +++ b/buildroot-external/configs/rpi4_defconfig @@ -24,7 +24,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi4 $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/cc39f1c9f82f6fe5a437836811d906c709e0661c.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/2ae9829c3da54597a4701285f91985c4d08ee793.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config" BR2_LINUX_KERNEL_LZ4=y @@ -93,7 +93,7 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_4_32b" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" BR2_TARGET_UBOOT_BOOT_SCRIPT=y BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot.ush" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_E2FSPROGS=y BR2_PACKAGE_HOST_GPTFDISK=y diff --git a/buildroot-external/configs/rpi_defconfig b/buildroot-external/configs/rpi_defconfig index 59c9ee9b3..7c8722b51 100644 --- a/buildroot-external/configs/rpi_defconfig +++ b/buildroot-external/configs/rpi_defconfig @@ -24,7 +24,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/cc39f1c9f82f6fe5a437836811d906c709e0661c.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/2ae9829c3da54597a4701285f91985c4d08ee793.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config" BR2_LINUX_KERNEL_LZ4=y @@ -91,7 +91,7 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" BR2_TARGET_UBOOT_BOOT_SCRIPT=y BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot.ush" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_E2FSPROGS=y BR2_PACKAGE_HOST_GPTFDISK=y From 92541b7280d5488520d7f2112e72eaaac8f0da54 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Tue, 10 Nov 2020 21:30:32 +0100 Subject: [PATCH 25/26] Move patch for the RPi Linux kernel to the correct location (#978) --- .../0008-ARM-dts-bcm283x-add-compatible-picked-up-by-U-Boot.patch | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename buildroot-external/board/raspberrypi/{ => patches/linux}/0008-ARM-dts-bcm283x-add-compatible-picked-up-by-U-Boot.patch (100%) diff --git a/buildroot-external/board/raspberrypi/0008-ARM-dts-bcm283x-add-compatible-picked-up-by-U-Boot.patch b/buildroot-external/board/raspberrypi/patches/linux/0008-ARM-dts-bcm283x-add-compatible-picked-up-by-U-Boot.patch similarity index 100% rename from buildroot-external/board/raspberrypi/0008-ARM-dts-bcm283x-add-compatible-picked-up-by-U-Boot.patch rename to buildroot-external/board/raspberrypi/patches/linux/0008-ARM-dts-bcm283x-add-compatible-picked-up-by-U-Boot.patch From f922c14f154dfec346f68a65ffd86b0b01387a4d Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Tue, 10 Nov 2020 22:21:32 +0100 Subject: [PATCH 26/26] Enable dropbear client to make scp work (#951) (#979) When trying to use scp it fails due to missing /usr/bin/dbclient. For debugging/testing scp can be helpful and is rather slim. Add it to all configs. --- buildroot-external/configs/intel_nuc_defconfig | 2 +- buildroot-external/configs/odroid_c2_defconfig | 2 +- buildroot-external/configs/odroid_c4_defconfig | 2 +- buildroot-external/configs/odroid_n2_defconfig | 2 +- buildroot-external/configs/odroid_xu4_defconfig | 2 +- buildroot-external/configs/ova_defconfig | 2 +- buildroot-external/configs/rpi0_w_defconfig | 2 +- buildroot-external/configs/rpi2_defconfig | 2 +- buildroot-external/configs/rpi3_64_defconfig | 2 +- buildroot-external/configs/rpi3_defconfig | 2 +- buildroot-external/configs/rpi4_64_defconfig | 2 +- buildroot-external/configs/rpi4_defconfig | 2 +- buildroot-external/configs/rpi_defconfig | 2 +- buildroot-external/configs/tinker_defconfig | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/buildroot-external/configs/intel_nuc_defconfig b/buildroot-external/configs/intel_nuc_defconfig index 6117ec227..2d3a77483 100644 --- a/buildroot-external/configs/intel_nuc_defconfig +++ b/buildroot-external/configs/intel_nuc_defconfig @@ -65,7 +65,7 @@ BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_CLIENT=y BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y BR2_PACKAGE_DROPBEAR=y -# BR2_PACKAGE_DROPBEAR_CLIENT is not set +BR2_PACKAGE_DROPBEAR_CLIENT=y # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set BR2_PACKAGE_NETWORK_MANAGER=y BR2_PACKAGE_TINI=y diff --git a/buildroot-external/configs/odroid_c2_defconfig b/buildroot-external/configs/odroid_c2_defconfig index 120bf8985..6d4d2390c 100644 --- a/buildroot-external/configs/odroid_c2_defconfig +++ b/buildroot-external/configs/odroid_c2_defconfig @@ -57,7 +57,7 @@ BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED=y BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_CLIENT=y BR2_PACKAGE_DROPBEAR=y -# BR2_PACKAGE_DROPBEAR_CLIENT is not set +BR2_PACKAGE_DROPBEAR_CLIENT=y # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set BR2_PACKAGE_NETWORK_MANAGER=y BR2_PACKAGE_TINI=y diff --git a/buildroot-external/configs/odroid_c4_defconfig b/buildroot-external/configs/odroid_c4_defconfig index 0027368d0..4e0931ff7 100644 --- a/buildroot-external/configs/odroid_c4_defconfig +++ b/buildroot-external/configs/odroid_c4_defconfig @@ -57,7 +57,7 @@ BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED=y BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_CLIENT=y BR2_PACKAGE_DROPBEAR=y -# BR2_PACKAGE_DROPBEAR_CLIENT is not set +BR2_PACKAGE_DROPBEAR_CLIENT=y # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set BR2_PACKAGE_NETWORK_MANAGER=y BR2_PACKAGE_TINI=y diff --git a/buildroot-external/configs/odroid_n2_defconfig b/buildroot-external/configs/odroid_n2_defconfig index 129337bfd..f70573bd1 100644 --- a/buildroot-external/configs/odroid_n2_defconfig +++ b/buildroot-external/configs/odroid_n2_defconfig @@ -57,7 +57,7 @@ BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED=y BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_CLIENT=y BR2_PACKAGE_DROPBEAR=y -# BR2_PACKAGE_DROPBEAR_CLIENT is not set +BR2_PACKAGE_DROPBEAR_CLIENT=y # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set BR2_PACKAGE_NETWORK_MANAGER=y BR2_PACKAGE_TINI=y diff --git a/buildroot-external/configs/odroid_xu4_defconfig b/buildroot-external/configs/odroid_xu4_defconfig index 30587c9f5..5817619d1 100644 --- a/buildroot-external/configs/odroid_xu4_defconfig +++ b/buildroot-external/configs/odroid_xu4_defconfig @@ -59,7 +59,7 @@ BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED=y BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_CLIENT=y BR2_PACKAGE_DROPBEAR=y -# BR2_PACKAGE_DROPBEAR_CLIENT is not set +BR2_PACKAGE_DROPBEAR_CLIENT=y # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set BR2_PACKAGE_NETWORK_MANAGER=y BR2_PACKAGE_TINI=y diff --git a/buildroot-external/configs/ova_defconfig b/buildroot-external/configs/ova_defconfig index 7c453f1ee..32c9f347f 100644 --- a/buildroot-external/configs/ova_defconfig +++ b/buildroot-external/configs/ova_defconfig @@ -55,7 +55,7 @@ BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_CLIENT=y BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y BR2_PACKAGE_DROPBEAR=y -# BR2_PACKAGE_DROPBEAR_CLIENT is not set +BR2_PACKAGE_DROPBEAR_CLIENT=y # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set BR2_PACKAGE_NETWORK_MANAGER=y BR2_PACKAGE_TINI=y diff --git a/buildroot-external/configs/rpi0_w_defconfig b/buildroot-external/configs/rpi0_w_defconfig index c38382c2f..5dd7a2c8a 100644 --- a/buildroot-external/configs/rpi0_w_defconfig +++ b/buildroot-external/configs/rpi0_w_defconfig @@ -60,7 +60,7 @@ BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_CLIENT=y BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y BR2_PACKAGE_DROPBEAR=y -# BR2_PACKAGE_DROPBEAR_CLIENT is not set +BR2_PACKAGE_DROPBEAR_CLIENT=y # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set BR2_PACKAGE_NETWORK_MANAGER=y BR2_PACKAGE_TINI=y diff --git a/buildroot-external/configs/rpi2_defconfig b/buildroot-external/configs/rpi2_defconfig index dff11dff2..7762add83 100644 --- a/buildroot-external/configs/rpi2_defconfig +++ b/buildroot-external/configs/rpi2_defconfig @@ -59,7 +59,7 @@ BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_CLIENT=y BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y BR2_PACKAGE_DROPBEAR=y -# BR2_PACKAGE_DROPBEAR_CLIENT is not set +BR2_PACKAGE_DROPBEAR_CLIENT=y # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set BR2_PACKAGE_NETWORK_MANAGER=y BR2_PACKAGE_TINI=y diff --git a/buildroot-external/configs/rpi3_64_defconfig b/buildroot-external/configs/rpi3_64_defconfig index 14a028f0e..487c00375 100644 --- a/buildroot-external/configs/rpi3_64_defconfig +++ b/buildroot-external/configs/rpi3_64_defconfig @@ -60,7 +60,7 @@ BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_CLIENT=y BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y BR2_PACKAGE_DROPBEAR=y -# BR2_PACKAGE_DROPBEAR_CLIENT is not set +BR2_PACKAGE_DROPBEAR_CLIENT=y # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set BR2_PACKAGE_NETWORK_MANAGER=y BR2_PACKAGE_TINI=y diff --git a/buildroot-external/configs/rpi3_defconfig b/buildroot-external/configs/rpi3_defconfig index e37944453..4d51000ca 100644 --- a/buildroot-external/configs/rpi3_defconfig +++ b/buildroot-external/configs/rpi3_defconfig @@ -60,7 +60,7 @@ BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_CLIENT=y BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y BR2_PACKAGE_DROPBEAR=y -# BR2_PACKAGE_DROPBEAR_CLIENT is not set +BR2_PACKAGE_DROPBEAR_CLIENT=y # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set BR2_PACKAGE_NETWORK_MANAGER=y BR2_PACKAGE_TINI=y diff --git a/buildroot-external/configs/rpi4_64_defconfig b/buildroot-external/configs/rpi4_64_defconfig index bee897fbe..51ed9774d 100644 --- a/buildroot-external/configs/rpi4_64_defconfig +++ b/buildroot-external/configs/rpi4_64_defconfig @@ -61,7 +61,7 @@ BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_CLIENT=y BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y BR2_PACKAGE_DROPBEAR=y -# BR2_PACKAGE_DROPBEAR_CLIENT is not set +BR2_PACKAGE_DROPBEAR_CLIENT=y # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set BR2_PACKAGE_NETWORK_MANAGER=y BR2_PACKAGE_TINI=y diff --git a/buildroot-external/configs/rpi4_defconfig b/buildroot-external/configs/rpi4_defconfig index c1b020431..3fd394a00 100644 --- a/buildroot-external/configs/rpi4_defconfig +++ b/buildroot-external/configs/rpi4_defconfig @@ -61,7 +61,7 @@ BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_CLIENT=y BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y BR2_PACKAGE_DROPBEAR=y -# BR2_PACKAGE_DROPBEAR_CLIENT is not set +BR2_PACKAGE_DROPBEAR_CLIENT=y # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set BR2_PACKAGE_NETWORK_MANAGER=y BR2_PACKAGE_TINI=y diff --git a/buildroot-external/configs/rpi_defconfig b/buildroot-external/configs/rpi_defconfig index 7c8722b51..24dda4098 100644 --- a/buildroot-external/configs/rpi_defconfig +++ b/buildroot-external/configs/rpi_defconfig @@ -59,7 +59,7 @@ BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_CLIENT=y BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y BR2_PACKAGE_DROPBEAR=y -# BR2_PACKAGE_DROPBEAR_CLIENT is not set +BR2_PACKAGE_DROPBEAR_CLIENT=y # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set BR2_PACKAGE_NETWORK_MANAGER=y BR2_PACKAGE_TINI=y diff --git a/buildroot-external/configs/tinker_defconfig b/buildroot-external/configs/tinker_defconfig index 2e77ad81a..a6894e283 100644 --- a/buildroot-external/configs/tinker_defconfig +++ b/buildroot-external/configs/tinker_defconfig @@ -61,7 +61,7 @@ BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_CLIENT=y BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y BR2_PACKAGE_DROPBEAR=y -# BR2_PACKAGE_DROPBEAR_CLIENT is not set +BR2_PACKAGE_DROPBEAR_CLIENT=y # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set BR2_PACKAGE_NETWORK_MANAGER=y BR2_PACKAGE_TINI=y