Hello, we use imx93-evk, and the sdk version is 6.12.20-2.0.0. Now, we want to boot from norflash. And we change the uboot and kernel, and I use uuu to flash the norfalsh. The uboot and kernel can be loaded, but when load rootfs, it will crashed. Its like the rootfs format is wrong or the rootfs flash method is wrong. The uuu script is like this, please help me.
uuu_version 1.2.39
# This command will be run when i.MX6/7 i.MX8MM, i.MX8MQ
SDP: boot -f flash_nor.bin
# This command will be run when ROM support stream mode
# i.MX8QXP, i.MX8QM
SDPS: boot -f flash_fw_nor.bin
# These commands will be run when use SPL and will be skipped if no spl
# SDPU will be deprecated. please use SDPV instead of SDPU
# {
SDPU: delay 1000
SDPU: write -f flash_nor.bin -offset 0x57c00
SDPU: jump
# }
# These commands will be run when use SPL and will be skipped if no spl
# if (SPL support SDPV)
# {
SDPV: delay 1000
SDPV: write -f flash_nor.bin -skipspl
SDPV: jump
# }
FB: ucmd setenv fastboot_buffer ${loadaddr}
FB: download -f flash_nor.bin
#FB: download -f flashimg.bin
FB: ucmd if test ! -n "$fastboot_bytes"; then setenv fastboot_bytes $filesize; else true; fi
# Check Image if include flexspi header
FB: ucmd if qspihdr dump ${fastboot_buffer}; then setenv qspihdr_exist yes; else setenv qspihdr_exist no; fi;
# FB[-t 60000]: ucmd qspihdr init spi-nand0 ${fastboot_buffer} ${fastboot_bytes}
FB: ucmd if test ${qspihdr_exist} = yes; then qspihdr init ${fastboot_buffer} ${fastboot_bytes} safe; else true; fi;
# if uboot can't support qspihdr command, use uboot image to write qspi image, which require image include qspi flash header
#FB: ucmd if test ${qspihdr_exist} = no; then sf probe; else true; fi;
#FB[-t 40000]: ucmd if test ${qspihdr_exist} = no; then sf erase 0 +${fastboot_bytes}; else true; fi;
#FB[-t 20000]: ucmd if test ${qspihdr_exist} = no; then sf write ${fastboot_buffer} 0 ${fastboot_bytes}; else true; fi;
#FB: done
FB: ucmd setenv fastboot_buffer ${loadaddr}
FB: download -f Image
FB: ucmd setenv fastboot_buffer ${fdt_addr}
FB: download -f imx93-11x11-evk-flexspi-nor-m2.dtb
FB: ucmd setenv fastboot_buffer ${initrd_addr}
FB: download -f fsl-image-mfgtool-initramfs-imx_mfgtools.cpio.zst.u-boot
#FB: ucmd setenv bootargs ${bootargs} ${mtdparts}
FB: ucmd setenv bootargs ${bootargs}
#FB: ucmd setenv bootargs "console=ttyLP0,115200 rdinit=/sbin/init"
FB: acmd ${kboot} ${loadaddr} ${initrd_addr} ${fdt_addr}
FBK: ucmd cat /proc/mtd
FBK: ucmd cat /proc/mtd | while read dev size erase name; do mtd=${dev:3}; mtd=${mtd%:}; name=${name%\"}; name=${name#\"}; echo export $name=$mtd >> /tmp/mtd.sh; done;
FBK: ucmd chmod 777 /tmp/mtd.sh
FBK: ucmd mount -t debugfs debugfs /sys/kernel/debug
FBK: ucmd source /tmp/mtd.sh; flash_erase /dev/mtd${norrootfs} 0 0
FBK: ucp rootfs.jfss2 t:/tmp/rootfs
FBK: ucmd source /tmp/mtd.sh; flashcp -p /tmp/rootfs /dev/mtd${norrootfs}
# burn kernel
FBK: ucmd source /tmp/mtd.sh; flash_erase /dev/mtd${norkernel} 0 0
FBK: ucp Image t:/tmp/img
#FBK: ucmd source /tmp/mtd.sh; nandwrite -p /dev/mtd${norkernel} -p /tmp/img
FBK: ucmd source /tmp/mtd.sh; flashcp -p /tmp/img /dev/mtd${norkernel}
# burn dtb
FBK: ucmd source /tmp/mtd.sh; flash_erase /dev/mtd${nordtb} 0 0
FBK: ucp imx93-11x11-evk-flexspi-nor-m2.dtb t:/tmp/dtb
#FBK: ucmd source /tmp/mtd.sh; nandwrite -p /dev/mtd${nordtb} -p /tmp/dtb
FBK: ucmd source /tmp/mtd.sh; flashcp -p /tmp/dtb /dev/mtd${nordtb}
# burn uTee
# FBK: ucmd source /tmp/mtd.sh; flash_erase /dev/mtd${nortee} 0 0
# FBK: ucp _tee t:/tmp/tee
# FBK: ucmd source /tmp/mtd.sh; nandwrite -p /dev/mtd${nortee} -p /tmp/tee
# burn rootfs
FBK: ucmd source /tmp/mtd.sh; flash_erase /dev/mtd${norrootfs} 0 0
FBK: ucmd source /tmp/mtd.sh; ubiattach /dev/ubi_ctrl -m ${norrootfs}
FBK: ucmd source /tmp/mtd.sh; ubimkvol /dev/ubi0 -Nnorrootfs -m
FBK: ucmd source /tmp/mtd.sh; mkdir -p /mnt/mtd
FBK: ucmd source /tmp/mtd.sh; mount -t ubifs ubi0:norrootfs /mnt/mtd
FBK: acmd export EXTRACT_UNSAFE_SYMLINKS=1; tar --zstd --warning=no-timestamp -x -C /mnt/mtd
FBK: ucp my.rootfs.tar.zst t:-
FBK: sync
FBK: ucmd umount /mnt/mtd
FBK: done
HI @howeWW!
Thank you for contacting NXP Support!
The i.MX93 EVK board does not include a NOR flash device by default. However, the i.MX93 processor does support booting from NOR flash.
By default, only the bootloader can be flashed to NOR flash. If you want to store and boot a full user space from NOR, you would need to customize your Linux distribution accordingly. Unfortunately, we currently do not provide official guidance for this specific customization.
Best regards,
Chavira