That uEnv on eMMC will only work as long as eMMC is healthy. Once eMMC fails we will be back to holding L1 or sacrifice of left slot. That being said, I think ED spoiled us by giving too many boot options.The way the bootloader is set up, the boot device could be adjusted without recompiling the bootloader. Before booting, it reads a uEnv.txt file that you can load onto the boot partition of the eMMC (or uSD if you hold L1). You can use this file to redefine the boot procedure including using the gpio command to set the switch to uSD and boot from that device rather than eMMC. I’ve got some plans to make this fancier, but they’ll take time so this is an easily customizable solution for now.
Currently I’m using all eMMC with fastboot right now which is real nice for development because I don’t have to pop the card in and out to reflash, it can all be done over USB rather quickly. I can even flash the SPL and Uboot with fastboot. Right now my current setup is running off eMMC with a 256M boot partition and rest of space (~31GiB) as rootfs. I then have a 128GB card with a backup boot partition and the rest of the space as an ext4 I mount as my home directory. This let’s me easily reflash my rootfs if I bork it in development but keep all my configurations and save game files intact. I also have a script in my home directory to reinstall all my tools when I need a rootfs reflash.
I actually liked idea of fastboot. At what level it is in boot sequence, does it replace uboot or it kicks before it and uboot works like smartphone recovery ? I am total noob Here, as I have never worked with uboot and my only experience of fastboot is from flashing roms on smartphone.