The U-Boot configuration that ships with the board is a bit over-complicated for what I need, so I have reduced it to this:
bootdelay=6 baudrate=115200 loadaddr=0x70800000 vga=video=mxcdi1fb:GBR24,XGA di1_primary tve hdmi=video=mxcdi0fb:RGB24,1024x768M@60 kernelfn=uImage component720p=video=mxcdi1fb:GBR24,720P50 di1_primary tve tvpal=video=mxcdi1fb:GBR24,TV-PAL di1_primary tve bootcmd=run set_bootargs ; sata init ; ext2load sata 0:3 ${loadaddr} ${kernelfn} ; bootm set_bootargs=setenv bootargs ${console} ${display} ${rootdev} console=console=ttymxc0,115200 display=video=mxcdi1fb:GBR24,TV-PAL di1_primary tve rootdev=root=/dev/sda1 rw rootwait
The idea of this is that I can interrupt the boot and type things like:
setenv kernelfn test_kernel_uimage setenv display ${vga}
(I'm a bit surprised that U-Boot doesn't seem to have the ability to script menus to do things like this.)