I’m normally able to boot an LE10 image on devices that have vendor u-boot on emmc using the “box” image which has LE tweaked s905_autoscript and boot.scr files in the root folder; one of them will be found on SD or USB. The u-boot Raxda factory shipped with my sample did not find these files (even with pressing the button and a USB attached) and kept booting into Android. Once I connected a UART cable I could interrupt u-boot (hit space during early boot) and from the u-boot console I could run:
fatload mmc 0 1020000 s905_autoscript
This got me to a working LE10 install running from SD card, and from there I was able to erase vendor u-boot from emmc:
echo 0 > /sys/block/mmcblk1boot1/force_ro
echo 0 > /sys/block/mmcblk1boot0/force_ro
Once that was done the device would boot the “radxa-zero” LE10 image that contains mainine u-boot from either USB or SD media.
IIRC mainline u-boot should look for /boot.scr in the root folder in addition to /extlinux/extlinux.conf which is the preferred boot-config file for modern u-boot. However, I’m not sure it will be successful with vendor kernel based images. It should be fairly trivial to load the dtb and kernel files, but if the kernel has dependencies on stuff being handed off from vendor u-boot (which I think is the case) I’d expect to see it panic and fail in some way. It’s not something I’ve ever tested though.
If you wanted to experiment, erase Radxa u-boot, then take https://chewitt.libreelec.tv/testing/LibreELEC-AMLGX.arm-10.0.0-radxa-zero.img.gz (has mainlline u-boot) and drop renamed kernel.img > KERNEL and dtb.img > meson-g12a-radxa-zero.dtb files into the root folder. You might also need to ammend the console bits in extlinux.conf as vendor and mainline kernels use a different /dev/device naming for the serial device.