Message ID | 20231118184426.2808502-2-jaredbaur@fastmail.com |
---|---|
State | Rejected |
Delegated to: | Michal Simek |
Headers | show |
Series | Fix DFU updates on the zynqmp platform | expand |
so 18. 11. 2023 v 19:47 odesÃlatel Jared Baur <jaredbaur@fastmail.com> napsal: > > The zynqmp bootrom will not boot from an SD card with a fat32 fileystem > with a lowercase boot.bin file on it. This means that using DFU to > update the boot.bin file will render the device unusable since it is not > written in upper-case. Fat 32 is case-insensitive and case-preserving. It doesn't really matter if you have boot.bin or BOOT.BIN on SD. Bootrom doesn't really care about it. I tested it on zcu102 with boot.bin and BOOT.BIN and both cases are working for me. Can you look at the partition type via fdisk? Thanks, Michal
diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c index f162803084..bcccf5b7c1 100644 --- a/board/xilinx/zynqmp/zynqmp.c +++ b/board/xilinx/zynqmp/zynqmp.c @@ -647,14 +647,14 @@ void set_dfu_alt_info(char *interface, char *devstr) case SD_MODE1: bootseq = mmc_get_env_dev(); - len += snprintf(buf + len, DFU_ALT_BUF_LEN, "mmc %d=boot", + len += snprintf(buf + len, DFU_ALT_BUF_LEN, "mmc %d=BOOT", bootseq); if (multiboot) len += snprintf(buf + len, DFU_ALT_BUF_LEN, "%04d", multiboot); - len += snprintf(buf + len, DFU_ALT_BUF_LEN, ".bin fat %d 1", + len += snprintf(buf + len, DFU_ALT_BUF_LEN, ".BIN fat %d 1", bootseq); #if defined(CONFIG_SPL_FS_LOAD_PAYLOAD_NAME) len += snprintf(buf + len, DFU_ALT_BUF_LEN, ";%s fat %d 1",
The zynqmp bootrom will not boot from an SD card with a fat32 fileystem with a lowercase boot.bin file on it. This means that using DFU to update the boot.bin file will render the device unusable since it is not written in upper-case. Signed-off-by: Jared Baur <jaredbaur@fastmail.com> --- board/xilinx/zynqmp/zynqmp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)