From 0a7f461e57372048bce9e95b30739736edf4738c Mon Sep 17 00:00:00 2001 From: c0rnelius <43829819+pyavitz@users.noreply.github.com> Date: Mon, 15 Sep 2025 16:44:28 -0400 Subject: [PATCH] Khadas VIM4: Update and Fixup U-Boot (#8631) * Khadas VIM4: U-Boot: Mod bootargs/defconfig and add bootscr support Signed-off-by: Patrick Yavitz * Khadas VIM4: Pull U-Boot from CoreELEC instead of Khadas Signed-off-by: Patrick Yavitz * Khadas VIM4: Remove setexpr bootargs sub rootfstype= from boot.cmd This is no longer required Signed-off-by: Patrick Yavitz * Meson S4T7: family.conf: Add missing `mkdir -p "${tbasedir}"` The toolchains fail to download because the dir isn't created Signed-off-by: Patrick Yavitz * Meson T7: Add rootfstype= to command line Signed-off-by: Patrick Yavitz * Khadas VIM4: Add extra boot arguments Signed-off-by: Patrick Yavitz * Remove `viraniac` as maintainer and add `rw` to cmdline Signed-off-by: Patrick Yavitz * Amlogic T7: Add `fsck.repair=yes` and `rootwait` to cmdline Signed-off-by: Patrick Yavitz * Amlogic T7: Move `${bootargs}` placement Signed-off-by: Patrick Yavitz --------- Signed-off-by: Patrick Yavitz Co-authored-by: Igor --- config/boards/khadas-vim4.conf | 9 ++- config/bootscripts/boot-meson-s4t7.cmd | 4 +- config/sources/families/meson-s4t7.conf | 9 ++- .../Enable-setexpr-sub-command.patch | 33 ----------- .../Mod-default-bootargs.patch | 32 ++++++++++ ...stro_bootcmd.h-boot-only-from-boot.i.patch | 26 +++++++++ .../Update-kvim4_defconfig.patch | 58 +++++++++++++++++++ 7 files changed, 133 insertions(+), 38 deletions(-) delete mode 100644 patch/u-boot/u-boot-meson-s4t7/Enable-setexpr-sub-command.patch create mode 100644 patch/u-boot/u-boot-meson-s4t7/Mod-default-bootargs.patch create mode 100644 patch/u-boot/u-boot-meson-s4t7/Revert-config_distro_bootcmd.h-boot-only-from-boot.i.patch create mode 100644 patch/u-boot/u-boot-meson-s4t7/Update-kvim4_defconfig.patch diff --git a/config/boards/khadas-vim4.conf b/config/boards/khadas-vim4.conf index 4291f16ee..71335166d 100644 --- a/config/boards/khadas-vim4.conf +++ b/config/boards/khadas-vim4.conf @@ -2,7 +2,7 @@ BOARD_NAME="Khadas VIM4" BOARDFAMILY="meson-s4t7" KERNEL_TARGET="legacy" -BOARD_MAINTAINER="adeepn leggewie rpardini" +BOARD_MAINTAINER="adeepn leggewie pyavitz rpardini" SERIALCON="ttyS0" # for vendor kernel # BOOT_FDT_FILE="amlogic/kvim4.dtb" # not set on purpose; u-boot auto-selects kvim4.dtb or kvim4n.dtb for "new VIM4" @@ -36,3 +36,10 @@ function vim4_bsp_legacy_postinst_link_video_firmware() { function post_family_tweaks_bsp__vim4_link_video_firmware_on_install() { postinst_functions+=(vim4_bsp_legacy_postinst_link_video_firmware) } + +function pre_install_kernel_debs__extra_boot_args() { + display_alert "$BOARD" "Add extra boot arguments" "info" + run_host_command_logged echo "extraargs=net.ifnames=0 no_console_suspend fan=auto" >> "${SDCARD}"/boot/armbianEnv.txt + + return 0 +} diff --git a/config/bootscripts/boot-meson-s4t7.cmd b/config/bootscripts/boot-meson-s4t7.cmd index 2aedf0fc2..b5d64394d 100644 --- a/config/bootscripts/boot-meson-s4t7.cmd +++ b/config/bootscripts/boot-meson-s4t7.cmd @@ -36,9 +36,7 @@ else setenv plymouthargs "splash=verbose" fi -setexpr bootargs sub "rootfstype=\\S*" "rootfstype=${rootfstype}" "${bootargs}" - -setenv bootargs "root=${rootdev} ${bootargs} ${consoleargs} partition_type=generic loglevel=${verbosity} ${plymouthargs} ${extraargs} ${extraboardargs}" +setenv bootargs "${bootargs} root=${rootdev} rootfstype=${rootfstype} rw fsck.repair=yes rootwait ${consoleargs} partition_type=generic loglevel=${verbosity} ${plymouthargs} ${extraargs} ${extraboardargs}" load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}dtb/${fdtfile} fdt addr ${fdt_addr_r} diff --git a/config/sources/families/meson-s4t7.conf b/config/sources/families/meson-s4t7.conf index 07745683c..81edb446a 100644 --- a/config/sources/families/meson-s4t7.conf +++ b/config/sources/families/meson-s4t7.conf @@ -26,7 +26,7 @@ case $BRANCH in esac # Lets build uboot from source -BOOTSOURCE="${GITHUB_SOURCE}/khadas/u-boot.git" +BOOTSOURCE="${GITHUB_SOURCE}/CoreELEC/u-boot.git" BOOTBRANCH="branch:khadas-vims-v2019.01" BOOTPATCHDIR="u-boot-meson-s4t7" BOOTENV_FILE='meson.txt' @@ -62,6 +62,8 @@ function fetch_sources_tools__meson_s4t7_download_uboot_toolchain() { declare tfile="gcc-linaro-${tversion}-${tos}_aarch64-elf.tar.xz" declare turl="https://dl.armbian.com/_toolchain/${tfile}" + mkdir -p "${tbasedir}" + if [[ ! -d "${tdir}" ]]; then run_host_command_logged wget --progress=dot:giga -O "${tbasedir}/${tfile}" "${turl}" run_host_command_logged tar -C "${tbasedir}" -xf "${tbasedir}/${tfile}" @@ -108,6 +110,11 @@ function build_custom_uboot__meson_s4t7_build_custom_uboot() { export CROSS_COMPILE="aarch64-elf-" rm -rf "${PWD}"/fip/_tmp + # U-Boot Defconfig + run_host_command_logged make -j`nproc` $BOOTCONFIG + # U-Boot Binary + run_host_command_logged make -j`nproc` + # Firmware Image Package (fip) run_host_command_logged bash fip/mk_script.sh "${KHADAS_BOARD_ID}" "${PWD}" loop_over_uboot_targets_and_do deploy_built_uboot_bins_for_one_target_to_packaging_area declare -g EXTENSION_BUILT_UBOOT=yes diff --git a/patch/u-boot/u-boot-meson-s4t7/Enable-setexpr-sub-command.patch b/patch/u-boot/u-boot-meson-s4t7/Enable-setexpr-sub-command.patch deleted file mode 100644 index 443ca9ef8..000000000 --- a/patch/u-boot/u-boot-meson-s4t7/Enable-setexpr-sub-command.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Gunjan Gupta -Date: Sat, 13 Jan 2024 10:30:29 +0000 -Subject: Enable setexpr sub command - ---- - board/khadas/defconfigs/kvim1s_defconfig | 2 ++ - board/khadas/defconfigs/kvim4_defconfig | 2 ++ - 2 files changed, 4 insertions(+) - -diff --git a/board/khadas/defconfigs/kvim1s_defconfig b/board/khadas/defconfigs/kvim1s_defconfig -index 111111111111..222222222222 100644 ---- a/board/khadas/defconfigs/kvim1s_defconfig -+++ b/board/khadas/defconfigs/kvim1s_defconfig -@@ -130,3 +130,5 @@ CONFIG_SHA1=y - CONFIG_LZ4=y - CONFIG_ZSTD=y - CONFIG_OF_LIBFDT_OVERLAY=y -+CONFIG_CMD_SETEXPR=y -+CONFIG_REGEX=y -diff --git a/board/khadas/defconfigs/kvim4_defconfig b/board/khadas/defconfigs/kvim4_defconfig -index 111111111111..222222222222 100644 ---- a/board/khadas/defconfigs/kvim4_defconfig -+++ b/board/khadas/defconfigs/kvim4_defconfig -@@ -142,3 +142,5 @@ CONFIG_SHA1=y - CONFIG_LZ4=y - CONFIG_ZSTD=y - CONFIG_OF_LIBFDT_OVERLAY=y -+CONFIG_CMD_SETEXPR=y -+CONFIG_REGEX=y --- -Armbian - diff --git a/patch/u-boot/u-boot-meson-s4t7/Mod-default-bootargs.patch b/patch/u-boot/u-boot-meson-s4t7/Mod-default-bootargs.patch new file mode 100644 index 000000000..1c7810ccc --- /dev/null +++ b/patch/u-boot/u-boot-meson-s4t7/Mod-default-bootargs.patch @@ -0,0 +1,32 @@ +From c4b3b027d8bc4d9baf325b34d45ee2633b19c9e7 Mon Sep 17 00:00:00 2001 +From: Patrick Yavitz +Date: Thu, 4 Sep 2025 07:45:08 -0400 +Subject: [PATCH] Mod default bootargs + +Signed-off-by: Patrick Yavitz +--- + board/khadas/configs/kvim4.h | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/board/khadas/configs/kvim4.h b/board/khadas/configs/kvim4.h +index facc9fff..626f7d37 100644 +--- a/board/khadas/configs/kvim4.h ++++ b/board/khadas/configs/kvim4.h +@@ -217,10 +217,10 @@ + "nfsroot_path= \0" \ + CONFIG_EXTRA_HDMI_ENV_SETTINGS \ + "initargs="\ +- "rootflags=data=writeback rw rootfstype=ext4" CONFIG_KNL_LOG_LEVEL "console=ttyS0,921600 console=tty0 no_console_suspend earlycon=aml-uart,0xfe078000 fsck.repair=yes net.ifnames=0 "\ +- "ramoops.pstore_en=1 ramoops.record_size=0x8000 ramoops.console_size=0x4000 loop.max_part=4 "\ +- "scsi_mod.scan=async xhci_hcd.quirks=0x800000 scramble_reg=0xfe02e030 gamma=0 "\ +- "khadas_board=VIM4 boot_source=${boot_source} "\ ++ \ ++ "ramoops.pstore_en=1 ramoops.record_size=0x8000 ramoops.console_size=0x4000 loop.max_part=4 "\ ++ "scsi_mod.scan=async xhci_hcd.quirks=0x800000 scramble_reg=0xfe02e030 gamma=0 "\ ++ "khadas_board=VIM4 boot_source=${boot_source} "\ + "\0"\ + "nfs_boot="\ + "dhcp;"\ +-- +2.43.0 + diff --git a/patch/u-boot/u-boot-meson-s4t7/Revert-config_distro_bootcmd.h-boot-only-from-boot.i.patch b/patch/u-boot/u-boot-meson-s4t7/Revert-config_distro_bootcmd.h-boot-only-from-boot.i.patch new file mode 100644 index 000000000..1c217f4af --- /dev/null +++ b/patch/u-boot/u-boot-meson-s4t7/Revert-config_distro_bootcmd.h-boot-only-from-boot.i.patch @@ -0,0 +1,26 @@ +From b0e6b18407ea6aa7565153e5b9ae0fb9d03f9d98 Mon Sep 17 00:00:00 2001 +From: Patrick Yavitz +Date: Fri, 12 Sep 2025 13:21:40 -0400 +Subject: [PATCH] Revert "config_distro_bootcmd.h: boot only from boot.ini" + +This reverts commit 262c38c7e5b901e207392effd400a246e123ab38. +--- + include/config_distro_bootcmd.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h +index 992506e990a..6cf339b70cc 100644 +--- a/include/config_distro_bootcmd.h ++++ b/include/config_distro_bootcmd.h +@@ -395,7 +395,7 @@ + BOOTENV_SHARED_EFI \ + BOOTENV_SHARED_VIRTIO \ + "boot_prefixes=/ /boot/\0" \ +- "boot_scripts=boot.ini\0" \ ++ "boot_scripts=boot.scr.uimg boot.scr boot.ini\0" \ + "boot_script_dhcp=boot.scr.uimg\0" \ + BOOTENV_BOOT_TARGETS \ + \ +-- +2.43.0 + diff --git a/patch/u-boot/u-boot-meson-s4t7/Update-kvim4_defconfig.patch b/patch/u-boot/u-boot-meson-s4t7/Update-kvim4_defconfig.patch new file mode 100644 index 000000000..1dc4d4f08 --- /dev/null +++ b/patch/u-boot/u-boot-meson-s4t7/Update-kvim4_defconfig.patch @@ -0,0 +1,58 @@ +From 0ab1d5a6a04a6ba7aec1cfd726177c395cf11167 Mon Sep 17 00:00:00 2001 +From: Patrick Yavitz +Date: Thu, 4 Sep 2025 15:32:09 -0400 +Subject: [PATCH] Update kvim4_defconfig + +Additions: +CONFIG_SD_BOOT +CONFIG_CMD_SETEXPR +CONFIG_CMD_UUID +CONFIG_CMD_FS_UUID + +Signed-off-by: Patrick Yavitz +--- + board/khadas/defconfigs/kvim4_defconfig | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/board/khadas/defconfigs/kvim4_defconfig b/board/khadas/defconfigs/kvim4_defconfig +index 4af2b420..515d1471 100644 +--- a/board/khadas/defconfigs/kvim4_defconfig ++++ b/board/khadas/defconfigs/kvim4_defconfig +@@ -14,6 +14,7 @@ CONFIG_ARMV8_CRYPTO=y + CONFIG_DEBUG_UART=y + # CONFIG_ANDROID_BOOT_IMAGE is not set + CONFIG_OF_BOARD_SETUP=y ++CONFIG_SD_BOOT=y + CONFIG_BOOTDELAY=2 + CONFIG_BOARD_LATE_INIT=y + # CONFIG_DISPLAY_CPUINFO is not set +@@ -27,6 +28,7 @@ CONFIG_AUTOBOOT_STOP_STR=" " + # CONFIG_CMD_DSPSET is not set + CONFIG_CMD_GO=y + # CONFIG_CMD_IMI is not set ++# CONFIG_CMD_SAVEENV is not set + CONFIG_CMD_CLKMSR=y + CONFIG_CMD_GPIO=y + CONFIG_CMD_I2C=y +@@ -39,16 +41,16 @@ CONFIG_CMD_SF=y + CONFIG_CMD_SF_TEST=y + CONFIG_CMD_USB=y + CONFIG_CMD_SARADC=y +-# CONFIG_CMD_SETEXPR is not set + CONFIG_CMD_BMP=y ++CONFIG_CMD_UUID=y + CONFIG_CMD_BTRFS=y ++CONFIG_CMD_FS_UUID=y + CONFIG_BOOTLOADER_CONTROL_BLOCK=y + CONFIG_CMD_BOOTCTOL_AVB=y + CONFIG_CMD_WATCHDOG=y + CONFIG_CMD_JTAG=y + CONFIG_CMD_INI=y + CONFIG_CMD_CFGLOAD=y +-# CONFIG_CMD_SAVEENV is not set + CONFIG_AML_PARTITION=y + CONFIG_OF_CONTROL=y + CONFIG_OF_EMBED=y +-- +2.43.0 +