From 2f9ce078eef42dc5fe53dbc20e8fc12cc47fd9b2 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Tue, 14 Mar 2023 00:18:39 +0100 Subject: [PATCH] Add ODROID-M1 to documentation (#2402) * Add ODROID-M1 to documentation While at it, also use the new writing style for all Hardkernel boards by changing Odroid to ODROID. * Add ODROID-M1 board specific documentation * Add NVMe information * Apply suggestions from code review Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- Documentation/boards/README.md | 20 ++++++----- Documentation/boards/hardkernel/README.md | 5 +-- Documentation/boards/hardkernel/odroid-c2.md | 2 +- Documentation/boards/hardkernel/odroid-c4.md | 6 ++-- Documentation/boards/hardkernel/odroid-m1.md | 37 ++++++++++++++++++++ Documentation/boards/hardkernel/odroid-n2.md | 2 +- Documentation/kernel.md | 10 +++--- scripts/update-kernel-upstream.sh | 2 +- 8 files changed, 62 insertions(+), 22 deletions(-) create mode 100644 Documentation/boards/hardkernel/odroid-m1.md diff --git a/Documentation/boards/README.md b/Documentation/boards/README.md index 55603a79b..dfc91c9d1 100644 --- a/Documentation/boards/README.md +++ b/Documentation/boards/README.md @@ -13,11 +13,12 @@ The following boards/devices are supported: - Pi Zero-W (not recommended) - Pi (not recommended) - Hardkernel - - Odroid-N2 - - Odroid-N2+ - - Odroid-C2 - - Odroid-C4 - - Odroid-XU4 + - ODROID-C2 + - ODROID-C4 + - ODROID-M1 + - ODROID-N2 + - ODROID-N2+ + - ODROID-XU4 - Asus - Tinker Board - Generic x86-64 (UEFI, not suited for virtualization) @@ -45,10 +46,11 @@ Notes: |Pi3B 64-bit |`make rpi3_64` |[rpi3_64](../../buildroot-external/configs/rpi3_64_defconfig)|[raspberrypi](./raspberrypi/)| |Pi3B 32-bit |`make rpi3` |[rpi3](../../buildroot-external/configs/rpi3_defconfig)|[raspberrypi](./raspberrypi/)| |Pi2 |`make rpi2` |[rpi2](../../buildroot-external/configs/rpi2_defconfig)|[raspberrypi](./raspberrypi/)| -|Odroid-N2/N2+ |`make odroid_n2` |[odroid_n2](../../buildroot-external/configs/odroid_n2_defconfig)|[hardkernel](./hardkernel/)| -|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-XU4 |`make odroid_xu4` |[odroid_xu4](../../buildroot-external/configs/odroid_xu4_defconfig)|[hardkernel](./hardkernel/)| +|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-M1 |`make odroid_m1` |[odroid_m1](../../buildroot-external/configs/odroid_m1_defconfig)|[hardkernel](./hardkernel/)| +|ODROID-N2/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/)| |Tinker Board |`make tinker` |[tinker](../../buildroot-external/configs/tinker_defconfig)|[asus](./asus/)| |Generic x86-64|`make generic_x86_64`|[generic_x86_64](../../buildroot-external/configs/generic_x86_64_defconfig)|[generic-x86-64](./generic-x86-64/)| |OVA |`make ova` |[ova](../../buildroot-external/configs/ova_defconfig)|[ova](./ova/)| diff --git a/Documentation/boards/hardkernel/README.md b/Documentation/boards/hardkernel/README.md index 30068eea6..fec711434 100644 --- a/Documentation/boards/hardkernel/README.md +++ b/Documentation/boards/hardkernel/README.md @@ -4,10 +4,11 @@ | 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-C4 | 2020 | yes | [odroid_c4](../../../buildroot-external/configs/odroid_c4_defconfig) | +| ODROID-M1 | 2022 | yes | [odroid_m1](../../../buildroot-external/configs/odroid_m1_defconfig) | | ODROID-N2 | 2019 | yes | [odroid_n2](../../../buildroot-external/configs/odroid_n2_defconfig) | +| ODROID-XU4 | 2015 | yes | [odroid_xu4](../../../buildroot-external/configs/odroid_xu4_defconfig)| See separate documentation for each board. diff --git a/Documentation/boards/hardkernel/odroid-c2.md b/Documentation/boards/hardkernel/odroid-c2.md index 592512c23..86f522996 100644 --- a/Documentation/boards/hardkernel/odroid-c2.md +++ b/Documentation/boards/hardkernel/odroid-c2.md @@ -1,4 +1,4 @@ -# Odroid-C2 +# ODROID-C2 ## eMMC diff --git a/Documentation/boards/hardkernel/odroid-c4.md b/Documentation/boards/hardkernel/odroid-c4.md index edf53a738..23bd158ed 100644 --- a/Documentation/boards/hardkernel/odroid-c4.md +++ b/Documentation/boards/hardkernel/odroid-c4.md @@ -1,10 +1,10 @@ -# Odroid-C4 +# 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. +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. +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 diff --git a/Documentation/boards/hardkernel/odroid-m1.md b/Documentation/boards/hardkernel/odroid-m1.md new file mode 100644 index 000000000..3dd032a7f --- /dev/null +++ b/Documentation/boards/hardkernel/odroid-m1.md @@ -0,0 +1,37 @@ +# ODROID-M1 + +Home Assistant OS 10 and newer support the ODROID-M1 board. + +## SD-card + +SD-card boot is supported via on-board bootloader (SPL) or recovery button. + +## eMMC + +eMMC boot is currently only supported via recovery button. eMMC boot via +on-board bootloader will require an update of Petitboot (as of March 13 2023, +this update hasn't been released yet. + +## NVMe + +Booting directly from NVMe is not supported. The NVMe card can be used as a data disk. + +## Technical notes on boot flow + +The Home Assistant OS image is bootable by the SoC directly. This means that no help +from the Hardkernel provided and pre-installed bootloader Petitboot is necessary. +However, the ODROID-M1 automatically boots from internal SPI. To boot +directly off the SD-card or eMMC you need to press the recovery button. + +The SPI flashed U-Boot SPL tries searches for an U-Boot binary on the SD-card +(and future releases also on the eMMC). This mechanism allows you to boot the Home +Assistant OS U-Boot without pressing the recovery button. + +## Console + +By default, console access is available on the serial header (CON1) and on HDMI. +The serial console's baudrate is 1500000 by default. + +The systemd startup messages will only appear on the serial console by default. +To show the messages on the HDMI console instead, add the console manually +to the `cmdline.txt` file on the boot partition (e.g. `console=tty0`). diff --git a/Documentation/boards/hardkernel/odroid-n2.md b/Documentation/boards/hardkernel/odroid-n2.md index bdb6551a1..2968b07b5 100644 --- a/Documentation/boards/hardkernel/odroid-n2.md +++ b/Documentation/boards/hardkernel/odroid-n2.md @@ -1,4 +1,4 @@ -# Odroid-N2 +# ODROID-N2 ## eMMC diff --git a/Documentation/kernel.md b/Documentation/kernel.md index 578fadf7c..e7ffefeea 100644 --- a/Documentation/kernel.md +++ b/Documentation/kernel.md @@ -13,11 +13,11 @@ Default Kernel tree: 5.15 | Raspberry Pi 4 | 6.1.13 | | Home Assistant Yellow | 6.1.13 | | Tinker Board | 6.1.18 | -| Odroid-C2 | 6.1.18 | -| Odroid-C4 | 6.1.18 | -| Odroid-M1 | 6.1.18 | -| Odroid-N2 | 6.1.18 | -| Odroid-XU4 | 6.1.18 | +| ODROID-C2 | 6.1.18 | +| ODROID-C4 | 6.1.18 | +| ODROID-M1 | 6.1.18 | +| ODROID-N2 | 6.1.18 | +| ODROID-XU4 | 6.1.18 | | Generic aarch64 | 6.1.18 | | Generic x86-64 | 6.1.18 | | Khadas VIM3 | 6.1.18 | diff --git a/scripts/update-kernel-upstream.sh b/scripts/update-kernel-upstream.sh index dca1dd7a9..a0f7725d2 100755 --- a/scripts/update-kernel-upstream.sh +++ b/scripts/update-kernel-upstream.sh @@ -8,7 +8,7 @@ fi defconfigs=(buildroot-external/configs/{generic_aarch64,generic_x86_64,ova,tinker,odroid_*,khadas_vim3}_defconfig) sed -i "s/BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE=\".*\"/BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE=\"$1\"/g" "${defconfigs[@]}" -sed -i "s/| \(Open Virtual Appliance\|Generic aarch64\|Generic x86-64\|Tinker Board\|Odroid-.*\|Khadas VIM3\|\) | .* |/| \1 | $1 |/g" Documentation/kernel.md +sed -i "s/| \(Open Virtual Appliance\|Generic aarch64\|Generic x86-64\|Tinker Board\|ODROID-.*\|Khadas VIM3\|\) | .* |/| \1 | $1 |/g" Documentation/kernel.md git commit -m "Linux: Update kernel $1" "${defconfigs[@]}" Documentation/kernel.md ./scripts/check-kernel-patches.sh