I forgot to attach some additional details: ``` sudo fdisk -l /dev/sda Disk /dev/sda: 58.24 GiB, 62534975488 bytes, 122138624 sectors Disk model: STORAGE DEVICE Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x00000000
Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 524287 522240 255M ef EFI (FAT-12/16/32) ``` The image was generated via buildroot using genimage: ``` image boot.vfat { vfat { file EFI/BOOT/BOOTAA64.EFI { image = "Image" } extraargs = "-F32" # tried with and without this flag, same issue. } size = 255M } image sdcard.img { hdimage { } partition bootloader { in-partition-table = false offset = 512 image = "u-boot.bin" } partition rootfs { partition-type = 0xEF bootable = "true" image = "boot.vfat" offset = 1M } } ``` bootflow -la without the debug messages: ``` => bootflow scan -la Scanning for bootflows in all bootdevs Seq Method State Uclass Part Name Filename --- ----------- ------ -------- ---- ------------------------ ---------------- Scanning global bootmeth 'efi_mgr': 0 efi_mgr base (none) 0 <NULL> <NULL> Scanning bootdev 'mmc@74000.bootdev': 1 efi media mmc 0 mmc@74000.bootdev.whole <NULL> 2 extlinux media mmc 0 mmc@74000.bootdev.whole <NULL> 3 script media mmc 0 mmc@74000.bootdev.whole <NULL> Scanning bootdev 'mmc@72000.bootdev': 4 efi media mmc 0 mmc@72000.bootdev.whole <NULL> 5 extlinux media mmc 0 mmc@72000.bootdev.whole <NULL> 6 script media mmc 0 mmc@72000.bootdev.whole <NULL> 7 efi file mmc 1 mmc@72000.bootdev.part_1 efi/boot/bootaa64.efi 8 extlinux fs mmc 1 mmc@72000.bootdev.part_1 /boot/extlinux/extlinux.conf 9 script fs mmc 1 mmc@72000.bootdev.part_1 /boot/boot.scr a efi media mmc 2 mmc@72000.bootdev.part_2 <NULL> b extlinux media mmc 2 mmc@72000.bootdev.part_2 <NULL> c script media mmc 2 mmc@72000.bootdev.part_2 <NULL> d efi media mmc 3 mmc@72000.bootdev.part_3 <NULL> e extlinux media mmc 3 mmc@72000.bootdev.part_3 <NULL> f script media mmc 3 mmc@72000.bootdev.part_3 <NULL> 10 efi media mmc 4 mmc@72000.bootdev.part_4 <NULL> 11 extlinux media mmc 4 mmc@72000.bootdev.part_4 <NULL> 12 script media mmc 4 mmc@72000.bootdev.part_4 <NULL> 13 efi media mmc 5 mmc@72000.bootdev.part_5 <NULL> 14 extlinux media mmc 5 mmc@72000.bootdev.part_5 <NULL> 15 script media mmc 5 mmc@72000.bootdev.part_5 <NULL> 16 efi media mmc 6 mmc@72000.bootdev.part_6 <NULL> 17 extlinux media mmc 6 mmc@72000.bootdev.part_6 <NULL> 18 script media mmc 6 mmc@72000.bootdev.part_6 <NULL> 19 efi media mmc 7 mmc@72000.bootdev.part_7 <NULL> 1a extlinux media mmc 7 mmc@72000.bootdev.part_7 <NULL> 1b script media mmc 7 mmc@72000.bootdev.part_7 <NULL> 1c efi media mmc 8 mmc@72000.bootdev.part_8 <NULL> 1d extlinux media mmc 8 mmc@72000.bootdev.part_8 <NULL> 1e script media mmc 8 mmc@72000.bootdev.part_8 <NULL> 1f efi media mmc 9 mmc@72000.bootdev.part_9 <NULL> 20 extlinux media mmc 9 mmc@72000.bootdev.part_9 <NULL> 21 script media mmc 9 mmc@72000.bootdev.part_9 <NULL> 22 efi media mmc a mmc@72000.bootdev.part_a <NULL> 23 extlinux media mmc a mmc@72000.bootdev.part_a <NULL> 24 script media mmc a mmc@72000.bootdev.part_a <NULL> 25 efi media mmc b mmc@72000.bootdev.part_b <NULL> 26 extlinux media mmc b mmc@72000.bootdev.part_b <NULL> 27 script media mmc b mmc@72000.bootdev.part_b <NULL> 28 efi media mmc c mmc@72000.bootdev.part_c <NULL> 29 extlinux media mmc c mmc@72000.bootdev.part_c <NULL> 2a script media mmc c mmc@72000.bootdev.part_c <NULL> 2b efi media mmc d mmc@72000.bootdev.part_d <NULL> 2c extlinux media mmc d mmc@72000.bootdev.part_d <NULL> 2d script media mmc d mmc@72000.bootdev.part_d <NULL> 2e efi media mmc e mmc@72000.bootdev.part_e <NULL> 2f extlinux media mmc e mmc@72000.bootdev.part_e <NULL> 30 script media mmc e mmc@72000.bootdev.part_e <NULL> 31 efi media mmc f mmc@72000.bootdev.part_f <NULL> 32 extlinux media mmc f mmc@72000.bootdev.part_f <NULL> 33 script media mmc f mmc@72000.bootdev.part_f <NULL> 34 efi media mmc 10 mmc@72000.bootdev.part_10 <NULL> 35 extlinux media mmc 10 mmc@72000.bootdev.part_10 <NULL> 36 script media mmc 10 mmc@72000.bootdev.part_10 <NULL> 37 efi media mmc 11 mmc@72000.bootdev.part_11 <NULL> 38 extlinux media mmc 11 mmc@72000.bootdev.part_11 <NULL> 39 script media mmc 11 mmc@72000.bootdev.part_11 <NULL> 3a efi media mmc 12 mmc@72000.bootdev.part_12 <NULL> 3b extlinux media mmc 12 mmc@72000.bootdev.part_12 <NULL> 3c script media mmc 12 mmc@72000.bootdev.part_12 <NULL> 3d efi media mmc 13 mmc@72000.bootdev.part_13 <NULL> 3e extlinux media mmc 13 mmc@72000.bootdev.part_13 <NULL> 3f script media mmc 13 mmc@72000.bootdev.part_13 <NULL> 40 efi media mmc 14 mmc@72000.bootdev.part_14 <NULL> 41 extlinux media mmc 14 mmc@72000.bootdev.part_14 <NULL> 42 script media mmc 14 mmc@72000.bootdev.part_14 <NULL> 43 efi media mmc 15 mmc@72000.bootdev.part_15 <NULL> 44 extlinux media mmc 15 mmc@72000.bootdev.part_15 <NULL> 45 script media mmc 15 mmc@72000.bootdev.part_15 <NULL> 46 efi media mmc 16 mmc@72000.bootdev.part_16 <NULL> 47 extlinux media mmc 16 mmc@72000.bootdev.part_16 <NULL> 48 script media mmc 16 mmc@72000.bootdev.part_16 <NULL> 49 efi media mmc 17 mmc@72000.bootdev.part_17 <NULL> 4a extlinux media mmc 17 mmc@72000.bootdev.part_17 <NULL> 4b script media mmc 17 mmc@72000.bootdev.part_17 <NULL> 4c efi media mmc 18 mmc@72000.bootdev.part_18 <NULL> 4d extlinux media mmc 18 mmc@72000.bootdev.part_18 <NULL> 4e script media mmc 18 mmc@72000.bootdev.part_18 <NULL> 4f efi media mmc 19 mmc@72000.bootdev.part_19 <NULL> 50 extlinux media mmc 19 mmc@72000.bootdev.part_19 <NULL> 51 script media mmc 19 mmc@72000.bootdev.part_19 <NULL> 52 efi media mmc 1a mmc@72000.bootdev.part_1a <NULL> 53 extlinux media mmc 1a mmc@72000.bootdev.part_1a <NULL> 54 script media mmc 1a mmc@72000.bootdev.part_1a <NULL> 55 efi media mmc 1b mmc@72000.bootdev.part_1b <NULL> 56 extlinux media mmc 1b mmc@72000.bootdev.part_1b <NULL> 57 script media mmc 1b mmc@72000.bootdev.part_1b <NULL> 58 efi media mmc 1c mmc@72000.bootdev.part_1c <NULL> 59 extlinux media mmc 1c mmc@72000.bootdev.part_1c <NULL> 5a script media mmc 1c mmc@72000.bootdev.part_1c <NULL> 5b efi media mmc 1d mmc@72000.bootdev.part_1d <NULL> 5c extlinux media mmc 1d mmc@72000.bootdev.part_1d <NULL> 5d script media mmc 1d mmc@72000.bootdev.part_1d <NULL> No more bootdevs --- ----------- ------ -------- ---- ------------------------ ---------------- (94 bootflows, 0 valid) ``` ls return 1 ``` => ls mmc 1 /efi/boot ./ ../ 51806720 BOOTAA64.EFI 1 file(s), 2 dir(s) => echo $? 0 => ls mmc 1 /efi/boot/bootaa64.efi => echo $? 1 => ls mmc 1 /EFI/boot/BOOTAA64.EFI => echo $? 1 => ls mmc 1 / EFI/ 0 file(s), 1 dir(s) => ls mmc 1 /EFI/ ./ ../ BOOT/ 0 file(s), 3 dir(s) => ls mmc 1 /EFI/BOOT/BOOTAA64.EFI => echo $? 1 => ls mmc 1 /EFI/BOOT ./ ../ 51806720 BOOTAA64.EFI 1 file(s), 2 dir(s) => ls mmc 1 /EFI/BOOT/nonexist => echo $? 1 ``` On Mon, Jul 24, 2023 at 11:35 AM Da Xue <da@libre.computer> wrote: > > Hi, > > I switch to bootstd and I am experiencing an issue with bootstd not > detected EFI bootable file in /EFI/BOOT/BOOTAA64.EFI in certain image, > buildroot specifically. The same setup works fine with distro_bootcmd. > I have attached the logs. I have tried the following: > > 1) Directory and filename case upper and lower > 2) FAT32 and FAT16 filesystem > 3) Changing the size of the filesystem > > I noticed some particular weirdness with u-boot's return code for > functions dealing with fs_exists that might be related. > > 1) FAT/FAT32 driver uses fs_ls_generic. When you do `ls mmc 1 > /filename`, it returns 1 if the file exists and returns 1 when the > file doesn't exist. > 2) This issue follows fs_exists. Is this a bug or intended behavior? > > Best, > Da