在orangepi RV2板子上启动bianbu linux失败

很好奇RV2能否使用bianbu linux,于是尝试将bianbu 3.0.1 linux镜像写入MicroSD卡,同时把RV2板子的dts文件放到bianbu linux源码目录重新编译出dtb放入了MicroSD卡。最后把MicroSD插入RV2上电,下面就是串口启动的log,很遗憾没有成功,卡在fdt那里了,大家有知道还需要修改哪里吗?

sys: 0x200
try sd...
bm:3
j...

U-Boot SPL 2022.10spacemit-dirty (Aug 15 2025 - 03:33:48 +0000)
[   0.151] DDR type LPDDR4X
[   0.151] set ddr tx odt to 80ohm!
[   0.172] lpddr4_silicon_init consume 21ms
[   0.173] Change DDR data rate to 2400MT/s
[   0.390] ## Checking hash(es) for config conf_1 ... OK
[   0.392] ## Checking hash(es) for Image uboot ... crc32+ OK
[   0.404] ## Checking hash(es) for Image fdt_1 ... crc32+ OK
[   0.448] ## Checking hash(es) for config config_1 ... OK
[   0.450] ## Checking hash(es) for Image opensbi ... crc32+ OK
[   0.490]

U-Boot 2022.10spacemit-dirty (Aug 15 2025 - 03:33:48 +0000), Build: jenkins-BSP-build-deb-751

[   0.497] CPU:   rv64imafdcv
[   0.500] Model: spacemit k1-x deb1 board
[   0.504] DRAM:  DDR size = 8192 MB
[   0.507] 8 GiB
[   0.578] reset driver probe start
[   0.580] reset driver probe finish
[   0.608] Core:  409 devices, 29 uclasses, devicetree: board
[   0.621] WDT:   Started PMIC_WDT with servicing (60s timeout)
[   0.626] WDT:   Started watchdog@D4080000 with servicing (60s timeout)
[   0.634] MMC:   sdh@d4280000: probe done.
[   0.641] sdh@d4281000: probe done.
[   0.642] sdh@d4280000: 0, sdh@d4281000: 2
[   0.646] Loading Environment from MMC... sdh@d4280000: set tx_delaycode: 95
[   0.844] sdh@d4280000: pass window [0 67)
[   0.922] sdh@d4280000: pass window [72 140)
[   1.044] sdh@d4280000: pass window [156 255)
[   1.046] sdh@d4280000: tuning done, use the firstly delay_code:205
[   1.211] OK
[   1.313] Found device 'hdmi@c0400500', disp_uc_priv=000000007dea78c0
[   1.424] HDMI cannot get HPD signal
[   1.424] spacemit_display_init: device 'dpu@c0340000' display won't probe (ret=-1)
[   1.442] initialize_console_log_buffer
[   1.443] Have allocated memory for console log buffer
[   1.448] In:    serial
[   1.450] Out:   serial
[   1.453] Err:   serial
[   1.456] Default to 100kHz
[   1.573] Found 2 valid MAC addresses.
[   1.574] TLV item: product_name = x1_orangepi-rv2
[   1.578] TLV item: ddr_cs_num = 2
[   1.686] HDMI cannot get HPD signal
[   1.686] display devices not found or not probed yet: -1
[   1.691] All buttons probed successfully
[   1.696] Read PMIC reg ab value f0
[   1.699] Failed to get fastboot key config: -19
[   1.731] Net flash mode not enabled
[   1.732] Failed to probe HUSB239: -19
[   1.735] Continue to boot
[   1.801] 79 bytes read in 8 ms (8.8 KiB/s)
[   1.802] ## Info: input data size = 80 = 0x50
[   1.806] load env_k1-x.txt from bootfs successful
[   1.811] Net:   RGMII interface
[   1.814] eth0: ethernet@cac80000
[   1.819] Autoboot in 0 seconds
[   1.830] Try to boot from mmc0 ...
[   1.932] product_name: x1_orangepi-rv2
[   1.933] match dtb by product_name: spacemit/6.6.63/x1_orangepi-rv2.dtb
[   1.939] select spacemit/6.6.63/x1_orangepi-rv2.dtb to load
[   1.944] Loading kernel...
[   2.408] 34631680 bytes read in 425 ms (77.7 MiB/s)
[   2.410] Loading dtb...
[   2.457] 88114 bytes read in 24 ms (3.5 MiB/s)
[   2.459] Loading ramdisk ...
[   2.757] 19918897 bytes read in 276 ms (68.8 MiB/s)
No FDT memory address configured. Please configure
the FDT address via "fdt addr <address>" command.
Aborting!
[   2.790] Moving Image from 0x8000000 to 0x600000, end=279b000
[   2.810] ## Flattened Device Tree blob at 31000000
[   2.812]    Booting using the fdt blob at 0x31000000
[   2.817]    Loading Ramdisk to 7ca7e000, end 7dd7d031 ... OK
[   2.837] ERROR: Failed to allocate 0x18832 bytes below 0x80000000.
device tree - allocation error
[   2.843] FDT creation failed! hanging...### ERROR ### Please RESET the board ###

另外,附上RV2 u-boot的环境变量。

=> printenv
add_bootarg=run set_console; run set_loglevel;
arch=riscv
autoboot=if test ${boot_device} = nand; then run nand_boot; elif test ${boot_device} = nor; then run nor_boot; elif te
st ${boot_device} = mmc; then run mmc_boot; elif test ${boot_device} = nfs; then run nfs_boot; fi;
autoload=0
baudrate=115200
board=k1-x
board_name=k1-x
boot_default=echo "Current Boot Device: ${boot_device}"
boot_device=mmc
boot_devnum=0
boot_grub=env set -e -bs product_name "${product_name}"; env set -e -bs bootargs "${bootargs}"; run usb_start; run loa
d_grub; bootefi ${kernel_addr_r};
boot_kernel=run set_root_arg; run detect_dtb; run loadknl; run loaddtb; run loadramdisk; run start_kernel;
bootcmd=run autoboot; echo "run autoboot"
bootdelay=0
bootfs_devname=mmc
bootfs_part=5
bootmenu_0="-------- Boot Options --------"=run boot_default
bootmenu_1="Boot from Nor"=run nor_boot
bootmenu_2="Boot from Nand"=run nand_boot
bootmenu_3="Boot from MMC"=run mmc_boot
bootmenu_4="Autoboot"=run autoboot
bootmenu_5="Show current Boot Device"=run boot_default
bootmenu_6="-------- Flash Options --------"=run flash_default
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
bootmenu_delay=5
commonargs=setenv bootargs earlyprintk quiet splash plymouth.ignore-serial-consoles plymouth.prefer-fbcon clk_ignore_u
nused swiotlb=65536 workqueue.default_affinity_scope=${workqueue.default_affinity_scope}
cpu=x60
ddr_cs_num=2
detect_dtb=echo "product_name: ${product_name}"; run dtb_env; echo "select ${dtb_name} to load";
device_version=1
dtb_addr=0x31000000
dtb_dir=spacemit/6.6.63
dtb_env=if test -n "${product_name}"; then if test "${product_name}" = k1_evb; then setenv dtb_name ${dtb_dir}/k1-x_ev
b.dtb; elif test "${product_name}" = k1_deb1; then setenv dtb_name ${dtb_dir}/k1-x_deb1.dtb; elif test "${product_name
}" = k1_deb2; then setenv dtb_name ${dtb_dir}/k1-x_deb2.dtb; elif test "${product_name}" = k1_hs450; then setenv dtb_n
ame ${dtb_dir}/k1-x_hs450.dtb; elif test "${product_name}" = k1_kx312; then setenv dtb_name ${dtb_dir}/k1-x_kx312.dtb;
 elif test "${product_name}" = k1_mingo; then setenv dtb_name ${dtb_dir}/k1-x_mingo.dtb; elif test "${product_name}" =
 k1_MINI-PC; then setenv dtb_name ${dtb_dir}/k1-x_MINI-PC.dtb; else echo "match dtb by product_name: ${dtb_dir}/${prod
uct_name}.dtb"; setenv dtb_name ${dtb_dir}/${product_name}.dtb; fi; fi;
dtb_name=k1-x_evb.dtb
earlycon=sbi
eeprom_i2c_index=2
eeprom_pin_group=0
esp_index=5
esp_name=ESP
eth1addr=C0:74:2B:FA:72:1B
ethaddr=C0:74:2B:FA:72:1A
fastboot_ubi_size=16
fdtcontroladdr=7de93bb0
fileaddr=8000000
filesize=4f
flash_default=echo "Returning to Boot Menu..."
flash_from_mmc=echo "recovery from mmc...... " flash_image mmc;
flash_from_net=echo "recovery from net...... " flash_image net;
flash_from_usb=echo "recovery from usb...... "; flash_image usb;
gatewayip=10.0.92.1
get_esp_index=env set esp_index ${bootfs_part}; part number ${bootfs_devname} ${boot_devnum} ${esp_name} esp_index;
get_rootfs_env=part number ${bootfs_devname} ${boot_devnum} rootfs rootfs_part; setexpr rootfs_part ${rootfs_part} + 0
; if test ${rootfs_part} > 9; then run rootfs_part_to_ul; fi; echo "get rootfs_part index:${rootfs_part}";
get_rootfs_uuid=part number ${bootfs_devname} ${boot_devnum} rootfs rootfs_part; fsuuid ${bootfs_devname} ${boot_devnu
m}:${rootfs_part} rootfs_uuid;
grub_file=EFI/BOOT/BOOTRISCV64.EFI
init=/init
ipaddr=10.0.92.253
kernel_addr_r=0x08000000
kernel_comp_addr_r=0x200000
kernel_comp_size=0x10000000
knl_name=vmlinuz-6.6.63
led0_gpio=96
load_grub=echo "Loading grub..."; load ${bootfs_devname} ${boot_devnum}:${esp_index} ${kernel_addr_r} ${grub_file}; #
bootm command for fit image, booti command for PE or compress PE image
loadaddr=0x200000
loaddtb=echo "Loading dtb..."; if load ${bootfs_devname} ${boot_devnum}:${bootfs_part} ${dtb_addr} ${dtb_name}; then e
lse echo "load dtb from bootfs fail, use built-in dtb"; setenv dtb_addr ""; fi;
loadknl=echo "Loading kernel..."; load ${bootfs_devname} ${boot_devnum}:${bootfs_part} ${kernel_addr_r} ${knl_name};
loadramdisk=echo "Loading ramdisk ..."; if load ${bootfs_devname} ${boot_devnum}:${bootfs_part} ${ramdisk_addr} ${ramd
isk_name}; then size ${bootfs_devname} ${boot_devnum}:${bootfs_part} ${ramdisk_name}; setenv ramdisk_size ${filesize};
 setenv ramdisk_combo ${ramdisk_addr}:${ramdisk_size}; else echo "load ramdisk from bootfs fail, use built-in ramdisk"
; setenv ramdisk_addr -; fi;
mac_mapping_file=/home/it/nfs/bianbu/mac_mapping.txt
manufacture_date=01/16/2023 11:02:20
manufacturer=spacemit
mmc_boot=echo "Try to boot from ${bootfs_devname}${boot_devnum} ..."; run commonargs; run add_bootarg; run set_mmc_arg
s; run get_esp_index; if test -e ${bootfs_devname} ${boot_devnum}:${esp_index} ${grub_file}; then run boot_grub; else
run boot_kernel; fi; echo "########### boot failed by default config, check your boot config #############"
mmc_rootfstype=ext4
mtdids=nor0=d420c000.spi-0
mtdparts=d420c000.spi-0:64K@0(bootinfo),64K@64K(private),256K@128K(fsbl),64K@384K(env),192K@448K(opensbi),-@640K(uboot
)
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 "Loa
ding separate DTB and ramdisk for raw kernel..."; if test -e ${dtb_name}; then echo "Loading dtb from UBIFS..."; ubifs
load ${dtb_addr} ${dtb_name}; fi; if test -e ${ramdisk_name}; then echo "Loading ramdisk from UBIFS..."; ubifsload ${r
amdisk_addr} ${ramdisk_name}; setenv ramdisk_size ${filesize}; setenv ramdisk_combo ${ramdisk_addr}:${ramdisk_size}; e
lse setenv ramdisk_combo -; fi; echo "Booting with ${boot_cmd} command..."; ${boot_cmd} ${kernel_addr_r} ${ramdisk_com
bo} ${dtb_addr}; fi; else echo "No valid kernel image found"; fi;
nand_mtd_name=user
nand_rootfstype=ubifs
nand_ubi_bootfs_vol=bootfs
nand_ubi_dev=0
nand_ubi_mtd=6
nand_ubi_rootfs_vol=rootfs
net_data_path=net_flash_file/net_flash_file/
netdev=eth0
netmask=255.255.255.0
nfs_boot=echo "Try to boot from NFS ..."; run commonargs; run add_bootarg; setenv bootargs "${bootargs}" root=/dev/nfs
 net.ifnames=0 nfsroot=${serverip}:${rootfs_path} bootfs=${serverip}:${bootfs_path} ip=${ipaddr}:${serverip}:${gateway
ip}:${netmask}::${netdev}:off noipath; echo "bootargs: ${bootargs}"; run detect_dtb; echo "Loading kernel from NFS..."
; nfs ${kernel_addr_r} ${serverip}:${bootfs_path}/${knl_name}; echo "Loading dtb from NFS..."; nfs ${dtb_addr} ${serve
rip}:${bootfs_path}/${dtb_name}; if test -n "${ramdisk_name}"; then echo "Loading ramdisk from NFS..."; nfs ${ramdisk_
addr} ${serverip}:${bootfs_path}/${ramdisk_name}; setenv ramdisk_size ${filesize}; setenv ramdisk_combo ${ramdisk_addr
}:${ramdisk_size}; else setenv ramdisk_combo -; fi; run start_kernel; echo "########### boot kernel failed from NFS, c
heck your boot config #############"
nor_boot=echo "Try to boot from ${bootfs_devname}${boot_devnum} ..."; run commonargs; run add_bootarg; run set_nor_arg
s; run get_esp_index; if test -e ${bootfs_devname} ${boot_devnum}:${esp_index} ${grub_file}; then run boot_grub; else
run boot_kernel; fi; echo "########### boot failed by default config, check your boot config #############" # spinand_
ubifs boot
nor_root=/dev/mtdblock6
nor_rootfstype=squashfs
phy_link_time=10000
phyaddr0=1
pmic_type=0
product_name=x1_orangepi-rv2
pxefile_addr_r=0x0c200000
ram_size=mem=8192MB
ramdisk_addr=0x21000000
ramdisk_combo=-
ramdisk_name=initrd.img-6.6.63
ramdisk_size=-
rootfs_part_to_ul=echo "set rootfs_part to ul"; setexpr temp_num_0 ${rootfs_part} / a; setexpr temp_num_1 ${rootfs_par
t} % a; setenv rootfs_part ${temp_num_0}${temp_num_1};
scriptaddr=0x2c100000
sdk_version=1
serial#=0123456789ABCDEF
serverip=10.0.92.148
set_console=if test "${console}" != "";then setenv bootargs "${bootargs}" console=${console}; fi
set_loglevel=if test "${loglevel}" != "";then setenv bootargs "${bootargs}" loglevel=${loglevel}; fi
set_mmc_args=setenv bootargs "${bootargs}" rootwait rootfstype=${mmc_rootfstype};
set_nand_args=setenv bootargs "${bootargs}" mtdparts=${mtdparts} root=ubi${nand_ubi_dev}:${nand_ubi_rootfs_vol} rootfs
type=${nand_rootfstype} ubi.mtd=${nand_ubi_mtd};
set_nor_args=setenv bootargs "${bootargs}" mtdparts=${mtdparts} rootfstype=ext4
set_root_arg=run get_rootfs_uuid; setenv bootargs "${bootargs}" root=UUID=${rootfs_uuid};
set_rootfs_env=if test "${bootfs_devname}" = mmc; then setenv blk_root "/dev/mmcblk${boot_devnum}p${rootfs_part}"; eli
f test "${bootfs_devname}" = nvme; then setenv blk_root "/dev/nvme${boot_devnum}n1p${rootfs_part}"; else echo "not def
ine rootfs part at this blk device, add to env"; fi;
splashfile=bianbu.bmp
splashimage=0x08000000
splashpos=m,m
splashsource=mmc_fs
start_kernel=fdt addr ${kernel_addr_r}; if fdt list /; then bootm ${kernel_addr_r} ${ramdisk_combo} ${dtb_addr}; else
booti ${kernel_addr_r} ${ramdisk_combo} ${dtb_addr}; fi;
stderr=serial
stdin=serial,usbkbd,usbkbd1
stdout=serial
stdout_flash=serial,vidconsole
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
ubifs_list= mtd list; ubifsls;
ubifs_loadimg=echo "Loading kernel image..."; if ubifsload ${kernel_addr_r} Image.itb; then echo "Loaded Image.itb suc
cessfully"; setenv boot_cmd "bootm"; elif ubifsload ${kernel_addr_r} Image; then echo "Loaded Image successfully"; set
env boot_cmd "booti"; else echo "Failed to load kernel image"; setenv boot_cmd ""; fi;
uboot_status=IN_UBOOT
usb_start=true
vendor=spacemit
workqueue.default_affinity_scope=system
=> fdt addr 0x1f000000
=> printenv
add_bootarg=run set_console; run set_loglevel;
arch=riscv
autoboot=if test ${boot_device} = nand; then run nand_boot; elif test ${boot_device} = nor; then run nor_boot; elif te
st ${boot_device} = mmc; then run mmc_boot; elif test ${boot_device} = nfs; then run nfs_boot; fi;
autoload=0
baudrate=115200
board=k1-x
board_name=k1-x
boot_default=echo "Current Boot Device: ${boot_device}"
boot_device=mmc
boot_devnum=0
boot_grub=env set -e -bs product_name "${product_name}"; env set -e -bs bootargs "${bootargs}"; run usb_start; run loa
d_grub; bootefi ${kernel_addr_r};
boot_kernel=run set_root_arg; run detect_dtb; run loadknl; run loaddtb; run loadramdisk; run start_kernel;
bootcmd=run autoboot; echo "run autoboot"
bootdelay=0
bootfs_devname=mmc
bootfs_part=5
bootmenu_0="-------- Boot Options --------"=run boot_default
bootmenu_1="Boot from Nor"=run nor_boot
bootmenu_2="Boot from Nand"=run nand_boot
bootmenu_3="Boot from MMC"=run mmc_boot
bootmenu_4="Autoboot"=run autoboot
bootmenu_5="Show current Boot Device"=run boot_default
bootmenu_6="-------- Flash Options --------"=run flash_default
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
bootmenu_delay=5
commonargs=setenv bootargs earlyprintk quiet splash plymouth.ignore-serial-consoles plymouth.prefer-fbcon clk_ignore_u
nused swiotlb=65536 workqueue.default_affinity_scope=${workqueue.default_affinity_scope}
cpu=x60
ddr_cs_num=2
detect_dtb=echo "product_name: ${product_name}"; run dtb_env; echo "select ${dtb_name} to load";
device_version=1
dtb_addr=0x31000000
dtb_dir=spacemit/6.6.63
dtb_env=if test -n "${product_name}"; then if test "${product_name}" = k1_evb; then setenv dtb_name ${dtb_dir}/k1-x_ev
b.dtb; elif test "${product_name}" = k1_deb1; then setenv dtb_name ${dtb_dir}/k1-x_deb1.dtb; elif test "${product_name
}" = k1_deb2; then setenv dtb_name ${dtb_dir}/k1-x_deb2.dtb; elif test "${product_name}" = k1_hs450; then setenv dtb_n
ame ${dtb_dir}/k1-x_hs450.dtb; elif test "${product_name}" = k1_kx312; then setenv dtb_name ${dtb_dir}/k1-x_kx312.dtb;
 elif test "${product_name}" = k1_mingo; then setenv dtb_name ${dtb_dir}/k1-x_mingo.dtb; elif test "${product_name}" =
 k1_MINI-PC; then setenv dtb_name ${dtb_dir}/k1-x_MINI-PC.dtb; else echo "match dtb by product_name: ${dtb_dir}/${prod
uct_name}.dtb"; setenv dtb_name ${dtb_dir}/${product_name}.dtb; fi; fi;
dtb_name=k1-x_evb.dtb
earlycon=sbi
eeprom_i2c_index=2
eeprom_pin_group=0
esp_index=5
esp_name=ESP
eth1addr=C0:74:2B:FA:72:1B
ethaddr=C0:74:2B:FA:72:1A
fastboot_ubi_size=16
fdtcontroladdr=7de93bb0
fileaddr=8000000
filesize=4f
flash_default=echo "Returning to Boot Menu..."
flash_from_mmc=echo "recovery from mmc...... " flash_image mmc;
flash_from_net=echo "recovery from net...... " flash_image net;
flash_from_usb=echo "recovery from usb...... "; flash_image usb;
gatewayip=10.0.92.1
get_esp_index=env set esp_index ${bootfs_part}; part number ${bootfs_devname} ${boot_devnum} ${esp_name} esp_index;
get_rootfs_env=part number ${bootfs_devname} ${boot_devnum} rootfs rootfs_part; setexpr rootfs_part ${rootfs_part} + 0
; if test ${rootfs_part} > 9; then run rootfs_part_to_ul; fi; echo "get rootfs_part index:${rootfs_part}";
get_rootfs_uuid=part number ${bootfs_devname} ${boot_devnum} rootfs rootfs_part; fsuuid ${bootfs_devname} ${boot_devnu
m}:${rootfs_part} rootfs_uuid;
grub_file=EFI/BOOT/BOOTRISCV64.EFI
init=/init
ipaddr=10.0.92.253
kernel_addr_r=0x08000000
kernel_comp_addr_r=0x200000
kernel_comp_size=0x10000000
knl_name=vmlinuz-6.6.63
led0_gpio=96
load_grub=echo "Loading grub..."; load ${bootfs_devname} ${boot_devnum}:${esp_index} ${kernel_addr_r} ${grub_file}; #
bootm command for fit image, booti command for PE or compress PE image
loadaddr=0x200000
loaddtb=echo "Loading dtb..."; if load ${bootfs_devname} ${boot_devnum}:${bootfs_part} ${dtb_addr} ${dtb_name}; then e
lse echo "load dtb from bootfs fail, use built-in dtb"; setenv dtb_addr ""; fi;
loadknl=echo "Loading kernel..."; load ${bootfs_devname} ${boot_devnum}:${bootfs_part} ${kernel_addr_r} ${knl_name};
loadramdisk=echo "Loading ramdisk ..."; if load ${bootfs_devname} ${boot_devnum}:${bootfs_part} ${ramdisk_addr} ${ramd
isk_name}; then size ${bootfs_devname} ${boot_devnum}:${bootfs_part} ${ramdisk_name}; setenv ramdisk_size ${filesize};
 setenv ramdisk_combo ${ramdisk_addr}:${ramdisk_size}; else echo "load ramdisk from bootfs fail, use built-in ramdisk"
; setenv ramdisk_addr -; fi;
mac_mapping_file=/home/it/nfs/bianbu/mac_mapping.txt
manufacture_date=01/16/2023 11:02:20
manufacturer=spacemit
mmc_boot=echo "Try to boot from ${bootfs_devname}${boot_devnum} ..."; run commonargs; run add_bootarg; run set_mmc_arg
s; run get_esp_index; if test -e ${bootfs_devname} ${boot_devnum}:${esp_index} ${grub_file}; then run boot_grub; else
run boot_kernel; fi; echo "########### boot failed by default config, check your boot config #############"
mmc_rootfstype=ext4
mtdids=nor0=d420c000.spi-0
mtdparts=d420c000.spi-0:64K@0(bootinfo),64K@64K(private),256K@128K(fsbl),64K@384K(env),192K@448K(opensbi),-@640K(uboot
)
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 "Loa
ding separate DTB and ramdisk for raw kernel..."; if test -e ${dtb_name}; then echo "Loading dtb from UBIFS..."; ubifs
load ${dtb_addr} ${dtb_name}; fi; if test -e ${ramdisk_name}; then echo "Loading ramdisk from UBIFS..."; ubifsload ${r
amdisk_addr} ${ramdisk_name}; setenv ramdisk_size ${filesize}; setenv ramdisk_combo ${ramdisk_addr}:${ramdisk_size}; e
lse setenv ramdisk_combo -; fi; echo "Booting with ${boot_cmd} command..."; ${boot_cmd} ${kernel_addr_r} ${ramdisk_com
bo} ${dtb_addr}; fi; else echo "No valid kernel image found"; fi;
nand_mtd_name=user
nand_rootfstype=ubifs
nand_ubi_bootfs_vol=bootfs
nand_ubi_dev=0
nand_ubi_mtd=6
nand_ubi_rootfs_vol=rootfs
net_data_path=net_flash_file/net_flash_file/
netdev=eth0
netmask=255.255.255.0
nfs_boot=echo "Try to boot from NFS ..."; run commonargs; run add_bootarg; setenv bootargs "${bootargs}" root=/dev/nfs
 net.ifnames=0 nfsroot=${serverip}:${rootfs_path} bootfs=${serverip}:${bootfs_path} ip=${ipaddr}:${serverip}:${gateway
ip}:${netmask}::${netdev}:off noipath; echo "bootargs: ${bootargs}"; run detect_dtb; echo "Loading kernel from NFS..."
; nfs ${kernel_addr_r} ${serverip}:${bootfs_path}/${knl_name}; echo "Loading dtb from NFS..."; nfs ${dtb_addr} ${serve
rip}:${bootfs_path}/${dtb_name}; if test -n "${ramdisk_name}"; then echo "Loading ramdisk from NFS..."; nfs ${ramdisk_
addr} ${serverip}:${bootfs_path}/${ramdisk_name}; setenv ramdisk_size ${filesize}; setenv ramdisk_combo ${ramdisk_addr
}:${ramdisk_size}; else setenv ramdisk_combo -; fi; run start_kernel; echo "########### boot kernel failed from NFS, c
heck your boot config #############"
nor_boot=echo "Try to boot from ${bootfs_devname}${boot_devnum} ..."; run commonargs; run add_bootarg; run set_nor_arg
s; run get_esp_index; if test -e ${bootfs_devname} ${boot_devnum}:${esp_index} ${grub_file}; then run boot_grub; else
run boot_kernel; fi; echo "########### boot failed by default config, check your boot config #############" # spinand_
ubifs boot
nor_root=/dev/mtdblock6
nor_rootfstype=squashfs
phy_link_time=10000
phyaddr0=1
pmic_type=0
product_name=x1_orangepi-rv2
pxefile_addr_r=0x0c200000
ram_size=mem=8192MB
ramdisk_addr=0x21000000
ramdisk_combo=-
ramdisk_name=initrd.img-6.6.63
ramdisk_size=-
rootfs_part_to_ul=echo "set rootfs_part to ul"; setexpr temp_num_0 ${rootfs_part} / a; setexpr temp_num_1 ${rootfs_par
t} % a; setenv rootfs_part ${temp_num_0}${temp_num_1};
scriptaddr=0x2c100000
sdk_version=1
serial#=0123456789ABCDEF
serverip=10.0.92.148
set_console=if test "${console}" != "";then setenv bootargs "${bootargs}" console=${console}; fi
set_loglevel=if test "${loglevel}" != "";then setenv bootargs "${bootargs}" loglevel=${loglevel}; fi
set_mmc_args=setenv bootargs "${bootargs}" rootwait rootfstype=${mmc_rootfstype};
set_nand_args=setenv bootargs "${bootargs}" mtdparts=${mtdparts} root=ubi${nand_ubi_dev}:${nand_ubi_rootfs_vol} rootfs
type=${nand_rootfstype} ubi.mtd=${nand_ubi_mtd};
set_nor_args=setenv bootargs "${bootargs}" mtdparts=${mtdparts} rootfstype=ext4
set_root_arg=run get_rootfs_uuid; setenv bootargs "${bootargs}" root=UUID=${rootfs_uuid};
set_rootfs_env=if test "${bootfs_devname}" = mmc; then setenv blk_root "/dev/mmcblk${boot_devnum}p${rootfs_part}"; eli
f test "${bootfs_devname}" = nvme; then setenv blk_root "/dev/nvme${boot_devnum}n1p${rootfs_part}"; else echo "not def
ine rootfs part at this blk device, add to env"; fi;
splashfile=bianbu.bmp
splashimage=0x08000000
splashpos=m,m
splashsource=mmc_fs
start_kernel=fdt addr ${kernel_addr_r}; if fdt list /; then bootm ${kernel_addr_r} ${ramdisk_combo} ${dtb_addr}; else
booti ${kernel_addr_r} ${ramdisk_combo} ${dtb_addr}; fi;
stderr=serial
stdin=serial,usbkbd,usbkbd1
stdout=serial
stdout_flash=serial,vidconsole
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
ubifs_list= mtd list; ubifsls;
ubifs_loadimg=echo "Loading kernel image..."; if ubifsload ${kernel_addr_r} Image.itb; then echo "Loaded Image.itb suc
cessfully"; setenv boot_cmd "bootm"; elif ubifsload ${kernel_addr_r} Image; then echo "Loaded Image successfully"; set
env boot_cmd "booti"; else echo "Failed to load kernel image"; setenv boot_cmd ""; fi;
uboot_status=IN_UBOOT
usb_start=true
vendor=spacemit
workqueue.default_affinity_scope=system

终于启动成功了 :tada:,调整了u-boot的启动脚本。后续需要把这些固化下来,现在每次都是手动在串口终端手动修改u-boot脚本才能启动。