Changing BBB Boot Default from eMMC to uSD

In my intended application, my BBB absolutely must default to booting from the uSD when power is applied. I know I could short the boot switch, or move pull-up/down resistors, or create a hardware switch gated from reset, but I don’t want to lose hardware compatibility with other BBB boards, or give up the option of manually booting from eMMC occasionally. My goal is a uSD configuration that can simply be inserted and booted by any BBB, without making any hardware or software changes to the board or its eMMC.

Because this is so dependent on the boot environment of the BBB you are using and the distro you want to boot, nobody can hand you an all-purpose uEnv.txt file that will always work. This post is more of a play-by-play description of how I made my two installations work together. It will hopefully help other users analyze their own environments.

For now I’m accepting a limitation that the target BBB will be rev A6 or newer, and the eMMC will contain the default Angstrom version BBB-eMMC-flasher-2013.06.20 or BBB-eMMC-flasher-2013.09.04 - with a 3.8 kernel and compatible U-Boot version. Both of these have the default bootcmd set to: