This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/AM5718: I don't understand why my bootz command doesn't work

Part Number: AM5718
Other Parts Discussed in Thread: DRA722

Tool/software: Linux

Hello. I'm currently modifying u-boot booting command so that kernel can be booted from QSPI.

I'm struggling to figure out why my bootz command keeps failing for a day.

Can someone explain me the problem with my booting command?

Here is the uboot booting sequence I've echoed. As you can see, bootzimage command keeps failing here.

switch to partitions #0, OK
mmc1(part 0) is current device
SD/MMC found on device 1
envboot succeeded
SF: Detected s25fl256s_64k with page size 256 Bytes, erase size 64 KiB, total 32 MiB, mapped at 5c000000
device 0 offset 0x1e0000, size 0x800000
SF: 8388608 bytes @ 0x1e0000 Read: OK
image has been loaded
Trying to boot Linux from eMMC ...
emmc_linux_boot succeeded
SF: Detected s25fl256s_64k with page size 256 Bytes, erase size 64 KiB, total 32 MiB, mapped at 5c000000
device 0 offset 0x140000, size 0x80000
SF: 524288 bytes @ 0x140000 Read: OK
loadfdt succeeded
bootzimage failed
mmcloados succeeded

And this is the u-boot command when I type 'pri' to the u-boot command.

arch=arm
args_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} ro rootfstype=${mmcrootfstype}
baudrate=115200
board=am57xx
board_name=am571x_idk
boot_fdt=try
boot_fit=0
bootargs=console=ttyO1,115200n8 root=PARTUUID=25718777-d0ad-7443-9e60-02cb591c9737 ro rootfstype=ext4 rootwait
bootcmd=if run envboot; then echo envboot succeeded; else echo envboot failed; fi; if run loadimage; then echo image has been loaded; else echo image has not been loaded; fi; if run emmc_linux_boot; then echo emmc_linux_boot succeeded; else echo emmc_linux_boot failed; fi; if run mmcloados; then echo mmcloados succeeded; else echo mmcloados failed; fi\

bootdelay=2
bootdir=/boot
bootenvfile=uEnv.txt
bootfile=zImage
bootm_size=0x10000000
bootpart=1:2
bootscript=echo Running bootscript from mmc${mmcdev} ...; source ${loadaddr}
bootz=bootz - ${fdtaddr}
bootzimage=bootz ${loadaddr} - ${fdtaddr}
console=ttyO2,115200n8
cpu=armv7
dfu_alt_info_emmc=rawemmc raw 0 3751936;boot part 1 1;rootfs part 1 2;MLO fat 1 1;MLO.raw raw 0x100 0x200;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-args.raw raw 0x1500 0x200;spl-os-image.raw raw 0x1700 0x6900;spl-os-args fat 1 1;spl-os-image fat 1 1;u-boot.img fat 1 1;uEnv.txt fat 1 1
dfu_alt_info_mmc=boot part 0 1;rootfs part 0 2;MLO fat 0 1;MLO.raw raw 0x100 0x200;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-args.raw raw 0x1500 0x200;spl-os-image.raw raw 0x1700 0x6900;spl-os-args fat 0 1;spl-os-image fat 0 1;u-boot.img fat 0 1;uEnv.txt fat 0 1
dfu_alt_info_ram=kernel ram 0x80200000 0x4000000;fdt ram 0x80f80000 0x80000;ramdisk ram 0x81000000 0x4000000
dfu_bufsiz=0x10000
dofastboot=0
emmc_android_boot=echo Trying to boot Android from eMMC ...; run update_to_fit; setenv eval_bootargs setenv bootargs $bootargs; run eval_bootargs; setenv mmcdev 1; setenv fdt_part 3; setenv boot_part 9; setenv machid fe6; mmc dev $mmcdev; mmc rescan; part start mmc ${mmcdev} ${fdt_part} fdt_start; part size mmc ${mmcdev} ${fdt_part} fdt_size; part start mmc ${mmcdev} ${boot_part} boot_start; part size mmc ${mmcdev} ${bo;
emmc_linux_boot=echo Trying to boot Linux from eMMC ...; setenv mmcdev 1; setenv bootpart 1:2; setenv mmcroot /dev/mmcblk0p2 rw;
envboot=mmc dev ${mmcdev}; if mmc rescan; then echo SD/MMC found on device ${mmcdev};fi;
ethaddr=30:45:11:ca:f9:b4
eval_bootargs=setenv bootargs console=ttyO1,115200n8 root=PARTUUID=${uuid} ro rootfstype=ext4 rootwait
fastboot.cpu=DRA722
fastboot.secure=GP
fdt_addr=0x140000
fdt_addr_r=0x88000000
fdtaddr=0x88000000
fdtcontroladdr=bdf1bd38
fdtfile=am571x-idk.dtb
fileaddr=82000000
filesize=17b55
findfdt=if test $board_name = am571x_idk; then setenv fdtfile am571x-idk.dtb; fi
finduuid=part uuid mmc ${bootpart} uuid
fit_bootfile=fitImage
fit_loadaddr=0x87000000
importbootenv=echo Importing environment from mmc${mmcdev} ...; env import -t ${loadaddr} ${filesize}
kernel_addr_r=0x82000000
loadaddr=0x82000000
loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}
loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr
loadfdt=sf probe; sf read ${fdtaddr} 0x140000 0x80000;
loadfit=fatload mmc 0:1 ${zimage_addr} ${bootfile}; fatload mmc 0:1 ${fdt_addr} ${fdtfile};
loadimage=sf probe; sf read ${loadaddr} 0x1e0000 0x800000;
mmcboot=echo Booting from mmc ...;if run args_mmc; then echo args_mmc succeeded; else echo args_mmc failed; fi; bootz ${loadaddr}
mmcdev=1
mmcloados=run args_mmc; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then echo loadfdt succeeded; else echo loadfdt failed; fi; fi ; run eval_bootargs; if run bootzimage; then echo bootzimage succeeded; else echo bootzimage failed; fi
mmcroot=/dev/mmcblk0p2 rw
mmcrootfstype=ext4 rootwait
netargs=setenv bootargs console=${console} ${optargs} root=/dev/nfs nfsroot=${serverip}:${rootpath},${nfsopts} rw ip=dhcp
netboot=echo Booting from network ...; setenv autoload no; dhcp; run netloadimage; run netloadfdt; run netargs; bootz ${loadaddr} - ${fdtaddr}
netloadfdt=tftp ${fdtaddr} ${fdtfile}
netloadimage=tftp ${loadaddr} ${bootfile}
nfsopts=nolock
partitions=uuid_disk=${uuid_gpt_disk};name=rootfs,start=32MiB,size=2GiB,uuid=${uuid_gpt_rootfs};name=datafs,start=2064MiB,size=-,uuid=${uuid_gpt_datafs}
partitions_android=uuid_disk=${uuid_gpt_disk};name=xloader,start=128K,size=256K,uuid=${uuid_gpt_xloader};name=bootloader,size=1792K,uuid=${uuid_gpt_bootloader};name=environment,size=128K,uuid=${uuid_gpt_environment};name=misc,size=128K,uuid=${uuid_gpt_misc};name=reserved,size=256K,uuid=${uuid_gpt_reserved};name=efs,size=16M,uuid=${uuid_gpt_efs};name=crypto,size=16K,uuid=${uuid_gpt_crypto};name=recovery,size=40M,uuid=${u}
pxefile_addr_r=0x80100000
ramdisk_addr_r=0x88080000
rdaddr=0x88080000
rootpath=/export/rootfs
scriptaddr=0x80000000
scsidevs=0
serial#=0700200c1be40001
soc=omap5
static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
stderr=serial@48020000
stdin=serial@48020000
stdout=serial@48020000
update_to_fit=setenv loadaddr ${fit_loadaddr}; setenv bootfile ${fit_bootfile}
usbtty=cdc_acm
uuid=25718777-d0ad-7443-9e60-02cb591c9737
uuid_gpt_datafs=25718777-d0ad-7443-9e60-02cb591c9737
uuid_gpt_disk=21200400-0804-0146-9dcc-a8c51255994f
uuid_gpt_rootfs=d117f98e-6f2c-d04b-a5b2-331a19f91cb2
vendor=ti
ver=U-Boot 2018.01 (Jul 12 2019 - 21:21:01 +0900)
vram=16M
zimage_addr=0x1e0000

Environment size: 5987/131067 bytes