Duncan, I'm going to disagree with you :-)
In the last years we've done all of these things: - build initramfs into kernel, build kernel into flash, boot into that, and that's all that's needed for a kiosk or other device - use the initramfs to net boot the linux, first shown at LANL on HPC systems in 2000. - start the kernel and mount the root file system and run from that, configure a network, boot from wireless or the disk (shown on the OLPC at one point) - put the kernel and initramfs in flash, boot that, dhcp configure the network, wget a new kernel, gpgv that kernel, kexec that kernel, using a Go userland to do all that (what we're doing at Google now as a demonstration) - kernel in flash, nfs mount root, kexec kernel on that nfs mount point
Once you have a kernel in flash, the possibilities are fairly endless and much more interesting that any bootloader I can think of.
ron