diff mbox series

[10/11] configs/ti_am62x_sk_defconfig: bump U-Boot version to 2023.10

Message ID 20231129172615.1683565-11-dario.binacchi@amarulasolutions.com
State Changes Requested, archived
Headers show
Series Add support for AM62x-SK HS-FS devices | expand

Commit Message

Dario Binacchi Nov. 29, 2023, 5:26 p.m. UTC
The 2023.10 version of U-Boot for the am62x-sk board has introduced two
major changes:
- The device tree k3-am625-sk.dtb is no longer searched in /boot, but in
  /boot/dtb/ti. Hence, the disabling of BR2_LINUX_KERNEL_INSTALL_TARGET
  and the use of extlinux.conf for the proper loading of the device tree.
  Furthermore, the parameter BR2_ROOTFS_POST_SCRIPT_ARGS was used to
  auto-generate the extlinux.conf file so that developers can change the
  kernel loading options by modifying the .config.
- The use of binman for building images. This application uses several
  Python modules that must be enabled in their host variant.

Tested on SK-AM62B-P1.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
 board/ti/am62x-sk/genimage.cfg  |  7 ++++-
 board/ti/am62x-sk/post-build.sh | 49 +++++++++++++++++++++++++++++++++
 board/ti/am62x-sk/post-image.sh |  5 ++++
 configs/ti_am62x_sk_defconfig   | 17 +++++++++---
 4 files changed, 73 insertions(+), 5 deletions(-)
 create mode 100755 board/ti/am62x-sk/post-build.sh
 create mode 100755 board/ti/am62x-sk/post-image.sh

Comments

Francois Perrad Dec. 3, 2023, 4:16 p.m. UTC | #1
Le mer. 29 nov. 2023 à 18:28, Dario Binacchi <
dario.binacchi@amarulasolutions.com> a écrit :

> The 2023.10 version of U-Boot for the am62x-sk board has introduced two
> major changes:
> - The device tree k3-am625-sk.dtb is no longer searched in /boot, but in
>   /boot/dtb/ti. Hence, the disabling of BR2_LINUX_KERNEL_INSTALL_TARGET
>   and the use of extlinux.conf for the proper loading of the device tree.
>   Furthermore, the parameter BR2_ROOTFS_POST_SCRIPT_ARGS was used to
>   auto-generate the extlinux.conf file so that developers can change the
>   kernel loading options by modifying the .config.
> - The use of binman for building images. This application uses several
>   Python modules that must be enabled in their host variant.
>
> Tested on SK-AM62B-P1.
>
> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> ---
>  board/ti/am62x-sk/genimage.cfg  |  7 ++++-
>  board/ti/am62x-sk/post-build.sh | 49 +++++++++++++++++++++++++++++++++
>  board/ti/am62x-sk/post-image.sh |  5 ++++
>  configs/ti_am62x_sk_defconfig   | 17 +++++++++---
>  4 files changed, 73 insertions(+), 5 deletions(-)
>  create mode 100755 board/ti/am62x-sk/post-build.sh
>  create mode 100755 board/ti/am62x-sk/post-image.sh
>
> diff --git a/board/ti/am62x-sk/genimage.cfg
> b/board/ti/am62x-sk/genimage.cfg
> index 26304fe98f99..398209f4d831 100644
> --- a/board/ti/am62x-sk/genimage.cfg
> +++ b/board/ti/am62x-sk/genimage.cfg
> @@ -4,10 +4,15 @@ image boot.vfat {
>                         "tiboot3.bin",
>                         "tispl.bin",
>                         "u-boot.img",
> +                       "k3-am625-sk.dtb",
> +                       "Image"
> +               }
> +               file extlinux/extlinux.conf {
> +                       image = extlinux.conf
>                 }
>         }
>
> -       size = 16M
> +       size = 64M
>  }
>
>  image sdcard.img {
> diff --git a/board/ti/am62x-sk/post-build.sh
> b/board/ti/am62x-sk/post-build.sh
> new file mode 100755
> index 000000000000..0f1f98ef217a
> --- /dev/null
> +++ b/board/ti/am62x-sk/post-build.sh
> @@ -0,0 +1,49 @@
> +#!/bin/sh -x
> +
> +# genimage will need to find the extlinux.conf
> +# in the binaries directory
> +
> +die() {
> +  cat <<EOF >&2
> +Error: $@
> +
> +Usage: ${0} -c <console> -r <root> [-x <extra-args>]
> +EOF
> +  exit 1
> +}
> +
> +o='c:r:x:'
> +O='console:,root:,extra-args:'
> +opts="$(getopt -n "${0##*/}" -o "${o}" -l "${O}" -- "${@}")"
> +eval set -- "${opts}"
> +while [ ${#} -gt 0 ]; do
> +    case "${1}" in
> +    (-c|--console)
> +        CONSOLE="${2}"; shift 2
> +        ;;
> +    (-r|--root)
> +        ROOT="${2}"; shift 2
> +        ;;
> +    (-x|--extra-args)
> +        EXTRA_ARGS="${2}"; shift 2
> +        ;;
> +    (--)
> +        shift 1; break
> +        ;;
> +    esac
> +done
> +
> +[ -n "${CONSOLE}" ] || die "Missing argument"
> +[ -n "${ROOT}" ] || die "Missing argument"
> +append="console=${CONSOLE} root=${ROOT} rw rootfstype=ext4 rootwait"
> +if [ -n "${EXTRA_ARGS}" ]; then
> +    append="${append} ${EXTRA_ARGS}"
> +fi
> +
> +mkdir -p "${BINARIES_DIR}"
> +cat <<-__HEADER_EOF > "${BINARIES_DIR}/extlinux.conf"
> +       label am62x-sk-buildroot
> +         kernel /Image
> +         fdtdir /
> +         append ${append}
> +       __HEADER_EOF
> diff --git a/board/ti/am62x-sk/post-image.sh
> b/board/ti/am62x-sk/post-image.sh
> new file mode 100755
> index 000000000000..34f732c091ad
> --- /dev/null
> +++ b/board/ti/am62x-sk/post-image.sh
> @@ -0,0 +1,5 @@
> +#!/bin/sh -x
> +
> +BOARD_DIR="$(dirname "$0")"
> +
> +support/scripts/genimage.sh -c "${BOARD_DIR}/genimage.cfg"
> diff --git a/configs/ti_am62x_sk_defconfig b/configs/ti_am62x_sk_defconfig
> index b98a68ff153f..9e4df5e8b2ed 100644
> --- a/configs/ti_am62x_sk_defconfig
> +++ b/configs/ti_am62x_sk_defconfig
> @@ -1,11 +1,11 @@
>  BR2_aarch64=y
> -BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
> -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/ti/am62x-sk/genimage.cfg"
> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/ti/am62x-sk/post-build.sh"
> +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/ti/am62x-sk/post-image.sh"
> +BR2_ROOTFS_POST_SCRIPT_ARGS="-c ttyS2,115200n8 -r PARTUUID=00000000-02 -x
> earlycon=ns16550a,mmio32,0x02800000"
>  BR2_LINUX_KERNEL=y
>  BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
>  BR2_LINUX_KERNEL_DTS_SUPPORT=y
>  BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-am625-sk"
> -BR2_LINUX_KERNEL_INSTALL_TARGET=y
>  BR2_PACKAGE_LINUX_FIRMWARE=y
>  BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX=y
>  BR2_TARGET_ROOTFS_EXT2=y
> @@ -23,13 +23,16 @@ BR2_TARGET_TI_K3_IMAGE_GEN=y
>  BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62X=y
>  BR2_TARGET_TI_K3_IMAGE_GEN_SECTYPE_GP=y
>  BR2_TARGET_TI_K3_R5_LOADER=y
> +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION=y
> +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE="2023.10"
>  BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG="am62x_evm_r5"
>  BR2_TARGET_UBOOT=y
>  BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
>  BR2_TARGET_UBOOT_CUSTOM_VERSION=y
> -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.10"
> +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.10"
>  BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am62x_evm_a53"
>  BR2_TARGET_UBOOT_NEEDS_DTC=y
> +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
>  BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
>  BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y
>  BR2_TARGET_UBOOT_NEEDS_TI_K3_DM=y
> @@ -41,3 +44,9 @@
> BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="TEE=$(BINARIES_DIR)/tee-pager_v2.bin"
>  BR2_PACKAGE_HOST_DOSFSTOOLS=y
>  BR2_PACKAGE_HOST_GENIMAGE=y
>  BR2_PACKAGE_HOST_MTOOLS=y
> +BR2_PACKAGE_HOST_PYTHON_ATTRS=y
> +BR2_PACKAGE_HOST_PYTHON_JSONSCHEMA=y
> +BR2_PACKAGE_HOST_PYTHON_JSONSCHEMA_SPECIFICATIONS=y
> +BR2_PACKAGE_HOST_PYTHON_PYYAML=y
> +BR2_PACKAGE_HOST_PYTHON_REFERENCING=y
> +BR2_PACKAGE_HOST_PYTHON_RPDS_PY=y
>

as mentioned in previous patches, all these host python packages are used
by binman,
so they could be selected in boot/ti-k3-r5-loader/Config.in instead of here
in configs/ti_am62x_sk_defconfig

François


> --
> 2.43.0
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
>
diff mbox series

Patch

diff --git a/board/ti/am62x-sk/genimage.cfg b/board/ti/am62x-sk/genimage.cfg
index 26304fe98f99..398209f4d831 100644
--- a/board/ti/am62x-sk/genimage.cfg
+++ b/board/ti/am62x-sk/genimage.cfg
@@ -4,10 +4,15 @@  image boot.vfat {
 			"tiboot3.bin",
 			"tispl.bin",
 			"u-boot.img",
+			"k3-am625-sk.dtb",
+			"Image"
+		}
+		file extlinux/extlinux.conf {
+			image = extlinux.conf
 		}
 	}
 
-	size = 16M
+	size = 64M
 }
 
 image sdcard.img {
diff --git a/board/ti/am62x-sk/post-build.sh b/board/ti/am62x-sk/post-build.sh
new file mode 100755
index 000000000000..0f1f98ef217a
--- /dev/null
+++ b/board/ti/am62x-sk/post-build.sh
@@ -0,0 +1,49 @@ 
+#!/bin/sh -x
+
+# genimage will need to find the extlinux.conf
+# in the binaries directory
+
+die() {
+  cat <<EOF >&2
+Error: $@
+
+Usage: ${0} -c <console> -r <root> [-x <extra-args>]
+EOF
+  exit 1
+}
+
+o='c:r:x:'
+O='console:,root:,extra-args:'
+opts="$(getopt -n "${0##*/}" -o "${o}" -l "${O}" -- "${@}")"
+eval set -- "${opts}"
+while [ ${#} -gt 0 ]; do
+    case "${1}" in
+    (-c|--console)
+        CONSOLE="${2}"; shift 2
+        ;;
+    (-r|--root)
+        ROOT="${2}"; shift 2
+        ;;
+    (-x|--extra-args)
+        EXTRA_ARGS="${2}"; shift 2
+        ;;
+    (--)
+        shift 1; break
+        ;;
+    esac
+done
+
+[ -n "${CONSOLE}" ] || die "Missing argument"
+[ -n "${ROOT}" ] || die "Missing argument"
+append="console=${CONSOLE} root=${ROOT} rw rootfstype=ext4 rootwait"
+if [ -n "${EXTRA_ARGS}" ]; then
+    append="${append} ${EXTRA_ARGS}"
+fi
+
+mkdir -p "${BINARIES_DIR}"
+cat <<-__HEADER_EOF > "${BINARIES_DIR}/extlinux.conf"
+	label am62x-sk-buildroot
+	  kernel /Image
+	  fdtdir /
+	  append ${append}
+	__HEADER_EOF
diff --git a/board/ti/am62x-sk/post-image.sh b/board/ti/am62x-sk/post-image.sh
new file mode 100755
index 000000000000..34f732c091ad
--- /dev/null
+++ b/board/ti/am62x-sk/post-image.sh
@@ -0,0 +1,5 @@ 
+#!/bin/sh -x
+
+BOARD_DIR="$(dirname "$0")"
+
+support/scripts/genimage.sh -c "${BOARD_DIR}/genimage.cfg"
diff --git a/configs/ti_am62x_sk_defconfig b/configs/ti_am62x_sk_defconfig
index b98a68ff153f..9e4df5e8b2ed 100644
--- a/configs/ti_am62x_sk_defconfig
+++ b/configs/ti_am62x_sk_defconfig
@@ -1,11 +1,11 @@ 
 BR2_aarch64=y
-BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
-BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/ti/am62x-sk/genimage.cfg"
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/ti/am62x-sk/post-build.sh"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/ti/am62x-sk/post-image.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="-c ttyS2,115200n8 -r PARTUUID=00000000-02 -x earlycon=ns16550a,mmio32,0x02800000"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-am625-sk"
-BR2_LINUX_KERNEL_INSTALL_TARGET=y
 BR2_PACKAGE_LINUX_FIRMWARE=y
 BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX=y
 BR2_TARGET_ROOTFS_EXT2=y
@@ -23,13 +23,16 @@  BR2_TARGET_TI_K3_IMAGE_GEN=y
 BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62X=y
 BR2_TARGET_TI_K3_IMAGE_GEN_SECTYPE_GP=y
 BR2_TARGET_TI_K3_R5_LOADER=y
+BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION=y
+BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE="2023.10"
 BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG="am62x_evm_r5"
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_CUSTOM_VERSION=y
-BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.10"
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.10"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am62x_evm_a53"
 BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
 BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
 BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y
 BR2_TARGET_UBOOT_NEEDS_TI_K3_DM=y
@@ -41,3 +44,9 @@  BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="TEE=$(BINARIES_DIR)/tee-pager_v2.bin"
 BR2_PACKAGE_HOST_DOSFSTOOLS=y
 BR2_PACKAGE_HOST_GENIMAGE=y
 BR2_PACKAGE_HOST_MTOOLS=y
+BR2_PACKAGE_HOST_PYTHON_ATTRS=y
+BR2_PACKAGE_HOST_PYTHON_JSONSCHEMA=y
+BR2_PACKAGE_HOST_PYTHON_JSONSCHEMA_SPECIFICATIONS=y
+BR2_PACKAGE_HOST_PYTHON_PYYAML=y
+BR2_PACKAGE_HOST_PYTHON_REFERENCING=y
+BR2_PACKAGE_HOST_PYTHON_RPDS_PY=y