EMMC boot though spi flash?

I just worked on this a little this evening. I was able to get the Arch Linux image posted in Arch Linux Image for VisionFive 2 working. I had to adjust the paths in /boot/boot/extlinux/extlinux.conf and /etc/fstab, as expected. What was unexpected was that I had to do:

setenv fdtfile starfive/jh7110-visionfive-v2.dtb

at the uBoot prompt to get past the Failed to load '/boot/dtbs/starfive/starfive_visionfive2.dtb' error.

I’m baffled at why this isn’t needed to boot from micro-SD, but is from eMMC. Did I somehow not image the eMMC card cleanly?

Note that I did not change the boot mode switches on the board. If I do that, then I don’t see the messages on the serial console port.