diff --git a/config/sources/families/spacemit.conf b/config/sources/families/spacemit.conf index 9677c6f7b..c26472755 100644 --- a/config/sources/families/spacemit.conf +++ b/config/sources/families/spacemit.conf @@ -16,12 +16,12 @@ declare -g ATF_USE_GCC="> 8.0" declare -g ATF_COMPILER="riscv64-linux-gnu-" declare -g ATFSOURCE="https://gitee.com/bianbu-linux/opensbi.git" declare -g ATFDIR="opensbi" -declare -g ATFBRANCH="tag:k1-bl-v2.2-release" +declare -g ATFBRANCH="tag:k1-bl-v2.2.7-release" declare -g ATF_TARGET_MAP="PLATFORM_DEFCONFIG=k1_defconfig PLATFORM=generic ;;build/platform/generic/firmware/fw_dynamic.itb" # U-Boot declare -g BOOTSOURCE="https://gitee.com/bianbu-linux/uboot-2022.10.git" -declare -g BOOTBRANCH="${BOOTBRANCH_BOARD:-"tag:k1-bl-v2.2-release"}" +declare -g BOOTBRANCH="${BOOTBRANCH_BOARD:-"tag:k1-bl-v2.2.7-release"}" declare -g BOOTDIR='u-boot-spacemit' declare -g BOOTPATCHDIR="${BOOTPATCHDIR:-"legacy/u-boot-spacemit-k1"}" declare -g UBOOT_TARGET_MAP=";;bootinfo_emmc.bin FSBL.bin u-boot.itb fw_dynamic.itb" diff --git a/patch/u-boot/legacy/u-boot-spacemit-k1/002-Use-default-AUTOBOOT.patch b/patch/u-boot/legacy/u-boot-spacemit-k1/002-Use-default-AUTOBOOT.patch index 1edc87461..5f97b773a 100644 --- a/patch/u-boot/legacy/u-boot-spacemit-k1/002-Use-default-AUTOBOOT.patch +++ b/patch/u-boot/legacy/u-boot-spacemit-k1/002-Use-default-AUTOBOOT.patch @@ -1,6 +1,6 @@ -From 62546ea022aba5caab95f9875880671c58154f17 Mon Sep 17 00:00:00 2001 +From c1bde89e63be8bc517f3514a9d352a28179d9cee Mon Sep 17 00:00:00 2001 From: Patrick Yavitz -Date: Sat, 9 Aug 2025 06:47:10 -0400 +Date: Sun, 21 Sep 2025 11:40:14 -0400 Subject: [PATCH] Use default AUTOBOOT Signed-off-by: Patrick Yavitz @@ -9,10 +9,10 @@ Signed-off-by: Patrick Yavitz 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/configs/k1_defconfig b/configs/k1_defconfig -index f0f6b869..4f419bc1 100644 +index 29aca4ce..8861f32a 100644 --- a/configs/k1_defconfig +++ b/configs/k1_defconfig -@@ -37,10 +37,6 @@ CONFIG_SPL_LOAD_FIT_ADDRESS=0x11000000 +@@ -37,10 +37,6 @@ CONFIG_SPL_LOAD_FIT_ADDRESS=0x08000000 CONFIG_LEGACY_IMAGE_FORMAT=y CONFIG_SUPPORT_RAW_INITRD=y CONFIG_OF_BOARD_SETUP=y @@ -20,7 +20,7 @@ index f0f6b869..4f419bc1 100644 -CONFIG_AUTOBOOT_KEYED=y -CONFIG_AUTOBOOT_STOP_STR="s" -CONFIG_USE_BOOTCOMMAND=y - CONFIG_BOOTCOMMAND="bootm 0x11000000" + CONFIG_BOOTCOMMAND="bootm 0x08000000" CONFIG_LOGLEVEL=7 CONFIG_SPL_LOGLEVEL=1 @@ -113,6 +109,7 @@ CONFIG_CMD_PXE=y diff --git a/patch/u-boot/legacy/u-boot-spacemit-k1/003-Add-syslinux-and-script-support.patch b/patch/u-boot/legacy/u-boot-spacemit-k1/003-Add-syslinux-and-script-support.patch index a04e45336..6a263b615 100644 --- a/patch/u-boot/legacy/u-boot-spacemit-k1/003-Add-syslinux-and-script-support.patch +++ b/patch/u-boot/legacy/u-boot-spacemit-k1/003-Add-syslinux-and-script-support.patch @@ -1,21 +1,21 @@ -From a29d5bb1e7c83496b4cebadc735e3c6256a090ad Mon Sep 17 00:00:00 2001 +From bcdf09cc4dc59f483e362b6f6f8f090257f4c383 Mon Sep 17 00:00:00 2001 From: Patrick Yavitz -Date: Mon, 11 Aug 2025 06:15:56 -0400 +Date: Sun, 21 Sep 2025 12:16:15 -0400 Subject: [PATCH] Add syslinux and script support Signed-off-by: Patrick Yavitz --- - board/spacemit/k1-x/k1-x.env | 279 ++++------------------------------- - board/spacemit/k1-x/k1x.c | 20 +-- + board/spacemit/k1-x/k1-x.env | 346 +++-------------------------------- + board/spacemit/k1-x/k1x.c | 20 +- configs/k1_defconfig | 1 + - include/configs/k1-x.h | 21 ++- - 4 files changed, 47 insertions(+), 274 deletions(-) + include/configs/k1-x.h | 21 +-- + 4 files changed, 47 insertions(+), 341 deletions(-) diff --git a/board/spacemit/k1-x/k1-x.env b/board/spacemit/k1-x/k1-x.env -index f4dadc9a..67c5f1b7 100644 +index cd1ed726..67c5f1b7 100644 --- a/board/spacemit/k1-x/k1-x.env +++ b/board/spacemit/k1-x/k1-x.env -@@ -1,253 +1,26 @@ +@@ -1,320 +1,26 @@ -// Common parameter -earlycon=sbi -init=/init @@ -35,6 +35,14 @@ index f4dadc9a..67c5f1b7 100644 -// eMMC/SDCard rootfs device -mmc_rootfstype=ext4 - +-// NAND UBI rootfs device +-nand_rootfstype=ubifs +-nand_ubi_mtd=6 +-nand_ubi_dev=0 +-nand_ubi_bootfs_vol=bootfs +-nand_ubi_rootfs_vol=rootfs +-nand_mtd_name=user +- -// rootfs part number must less than 99 -rootfs_part_to_ul=echo "set rootfs_part to ul"; setexpr temp_num_0 ${rootfs_part} / a; \ - setexpr temp_num_1 ${rootfs_part} % a; \ @@ -197,6 +205,66 @@ index f4dadc9a..67c5f1b7 100644 - echo "########### boot failed by default config, check your boot config #############" - -//############################################################################## +-# spinand_ubifs boot +-fastboot_ubi_size=16 +-ubifs_list= mtd list; \ +- ubifsls; +-ubifs_loadimg=echo "Loading kernel image..."; \ +- if ubifsload ${kernel_addr_r} Image.itb; then \ +- echo "Loaded Image.itb successfully"; \ +- setenv boot_cmd "bootm"; \ +- elif ubifsload ${kernel_addr_r} Image; then \ +- echo "Loaded Image successfully"; \ +- setenv boot_cmd "booti"; \ +- else \ +- echo "Failed to load kernel image"; \ +- setenv boot_cmd ""; \ +- fi; +- +-ubifs_boot=echo "Trying to boot from UBIFS..."; \ +- run ubifs_loadimg; \ +- if test -n "${boot_cmd}"; then \ +- ${boot_cmd} ${kernel_addr_r}; \ +- else \ +- echo "No valid kernel image found"; \ +- fi; +- +-# Nand boot +-set_nand_args=setenv bootargs "${bootargs}" mtdparts=${mtdparts} root=ubi${nand_ubi_dev}:${nand_ubi_rootfs_vol} rootfstype=${nand_rootfstype} ubi.mtd=${nand_ubi_mtd}; +- +-nand_boot=echo "Try to boot from nand flash..."; \ +- run commonargs; \ +- run add_bootarg; \ +- run set_nand_args; \ +- echo "bootargs: ${bootargs}"; \ +- run detect_dtb; \ +- run ubifs_list; \ +- run ubifs_loadimg; \ +- if test -n "${boot_cmd}"; then \ +- if test "${boot_cmd}" = "bootm"; then \ +- echo "Booting FIT image with embedded DTB and ramdisk..."; \ +- ${boot_cmd} ${kernel_addr_r}; \ +- else \ +- echo "Loading separate DTB and ramdisk for raw kernel..."; \ +- if test -e ${dtb_name}; then \ +- echo "Loading dtb from UBIFS..."; \ +- ubifsload ${dtb_addr} ${dtb_name}; \ +- fi; \ +- if test -e ${ramdisk_name}; then \ +- echo "Loading ramdisk from UBIFS..."; \ +- ubifsload ${ramdisk_addr} ${ramdisk_name}; \ +- setenv ramdisk_size ${filesize}; \ +- setenv ramdisk_combo ${ramdisk_addr}:${ramdisk_size}; \ +- else \ +- setenv ramdisk_combo -; \ +- fi; \ +- echo "Booting with ${boot_cmd} command..."; \ +- ${boot_cmd} ${kernel_addr_r} ${ramdisk_combo} ${dtb_addr}; \ +- fi; \ +- else \ +- echo "No valid kernel image found"; \ +- fi; +- -// eMMC/SDCard boot -//############################################################################## -set_mmc_args=setenv bootargs "${bootargs}" rootwait rootfstype=${mmc_rootfstype}; @@ -216,7 +284,7 @@ index f4dadc9a..67c5f1b7 100644 -nfs_boot=echo "Try to boot from NFS ..."; \ - run commonargs; \ - run add_bootarg; \ -- setenv bootargs "${bootargs}" root=/dev/nfs nfsroot=${serverip}:${rootfs_path} bootfs=${serverip}:${bootfs_path} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}::${netdev}:off noipath; \ +- setenv bootargs "${bootargs}" root=/dev/nfs net.ifnames=0 nfsroot=${serverip}:${rootfs_path} bootfs=${serverip}:${bootfs_path} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}::${netdev}:off noipath; \ - echo "bootargs: ${bootargs}"; \ - run detect_dtb; \ - echo "Loading kernel from NFS..."; \ @@ -268,7 +336,6 @@ index f4dadc9a..67c5f1b7 100644 -bootmenu_7="recovery from usb"=run flash_from_usb -bootmenu_8="recovery from mmc"=run flash_from_mmc -bootmenu_9="recovery from net"=run flash_from_net -- +// SYSLINUX and SCRIPT Support +autoboot=if test -e ${devtype} ${devnum}:${distro_bootpart} /extlinux/extlinux.conf; then \ + sysboot ${devtype} ${devnum}:${distro_bootpart} any 0x2000000 /extlinux/extlinux.conf; \ @@ -296,12 +363,12 @@ index f4dadc9a..67c5f1b7 100644 + nvme scan; \ + run autoboot diff --git a/board/spacemit/k1-x/k1x.c b/board/spacemit/k1-x/k1x.c -index b2fc28c8..4c788689 100644 +index 8d0ee1b5..135b7a9c 100644 --- a/board/spacemit/k1-x/k1x.c +++ b/board/spacemit/k1-x/k1x.c -@@ -530,8 +530,8 @@ void _load_env_from_blk(struct blk_desc *dev_desc, const char *dev_name, int dev - #endif - } +@@ -523,8 +523,8 @@ void _load_env_from_blk(struct blk_desc *dev_desc, const char *dev_name, int dev + if (part > MAX_SEARCH_PARTITIONS) + return; - env_set("bootfs_part", simple_itoa(part)); - env_set("bootfs_devname", dev_name); @@ -310,7 +377,7 @@ index b2fc28c8..4c788689 100644 /*load env.txt and import to uboot*/ memset((void *)CONFIG_SPL_LOAD_FIT_ADDRESS, 0, CONFIG_ENV_SIZE); -@@ -734,7 +734,7 @@ void setenv_boot_mode(void) +@@ -739,7 +739,7 @@ void setenv_boot_mode(void) u32 boot_mode = get_boot_mode(); switch (boot_mode) { case BOOT_MODE_NAND: @@ -319,7 +386,7 @@ index b2fc28c8..4c788689 100644 break; case BOOT_MODE_NOR: char *blk_name; -@@ -745,23 +745,23 @@ void setenv_boot_mode(void) +@@ -750,23 +750,23 @@ void setenv_boot_mode(void) return; } @@ -351,7 +418,7 @@ index b2fc28c8..4c788689 100644 } } diff --git a/configs/k1_defconfig b/configs/k1_defconfig -index 4f419bc1..05337aaf 100644 +index 29908a84..d29bc189 100644 --- a/configs/k1_defconfig +++ b/configs/k1_defconfig @@ -291,3 +291,4 @@ CONFIG_PRINT_TIMESTAMP=y