BBAI-64 Boot order

Hello,

I use a beaglebone AI 64 with a custom-made image using the image-builder tool. I made an sd and then flashed the system to EMMC. I have an issue with the boot order. If the sd is plugged in, the device boots from the SD, not EMMC (without using the boot button). I saw a post mentioning the uEnv.txt file but I can not find it inside the SD partitions. Any thought? My workaround is to modify the extlinux file to use mmcblk0p2 as rootfs.
Thanks in advance.

On the BBAI-64, by default we are using U-Boot’s now (finally) standard extlinux.conf, you’ll find it in the first fat partition of either the eMMC or microSD… (I have a long term goal to convert our custom “am335x/am57xx” uEnv.txt solution to extlinux.conf…)

Regards,

Thanks for the quick response.
I have an extlinux file in both emmc and sd fat partitions. Below you can see the content of the two files.

label Linux microSD
kernel /Image
append console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=/dev/mmcblk1p2 ro rootfstype=ext4 rootwait net.ifnames=0 quiet
fdtdir /
initrd /initrd.img

label Linux eMMC
kernel /Image
append console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait net.ifnames=0 quiet
fdtdir /
initrd /initrd.img

What I did to boot from the EMMC was to change the root=/dev/mmcblk1p2 to root=/dev/mmcblk0p2 in the SD extfile.

Is the existence of both extfiles the issue here? As I read, the first device to check is the flash.

So inside u-boot, the extlinux.conf scan order is:

	func(MMC, mmc, 1) \
	func(MMC, mmc, 0) \
	BOOT_TARGET_USB(func) \
	BOOT_TARGET_PXE(func) \
	BOOT_TARGET_DHCP(func)

mmc, 1 should be the microSD, so u-boot will scan first for extlinux.conf on the microSD and run it if found, then move on to the eMMC…

Regards,

Thank you very much for the information!