很好奇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
终于启动成功了
,调整了u-boot的启动脚本。后续需要把这些固化下来,现在每次都是手动在串口终端手动修改u-boot脚本才能启动。