Ken Hornstein wrote:
u-boot has those features now, but not redboot.Yeah, I think that unless Embedded ARM wants to switch to u-boot, that doesn't help us. Ah, well. --Ken
We're not a big fan of either u-Boot or RedBoot out here. Seems like overkill to write one OS to for the sole purpose of starting up another. I personally prefer to minimize how many drivers I write or debug for the same hardware. :-)
In our new products, we have written a 442 byte bootloader that loads kernels from x86 MBR style partitions of either NAND flash or SD card and can boot a small Linux kernel + ramdisk in about the same amount of time it takes the RedBoot or u-boot bloatware to start up. Once up, we have written a Linux program + kernel module that can start up other OS's, RTOS's, and OS-less applications. In effect, we use Linux as our bootloader so that you could load kernels via NFS over USB wifi dongle and configure pre-bootup behavior in shell script, etc...
Here's some info on it: http://www.embeddedarm.com/software/arm-linux-bootloader.php
I ported the bootload utility to NetBSD too-- it doesn't even need a kernel module. I do what I need to do there via /dev/mem and /dev/kmem.
This application + kernel module should also work on the default TS-7200 Linux installation. You can place the NetBSD kernel on the Linux JFFS2 filesystem and then run our "bootload" command to soft-boot into another OS. On the platforms we've standardized on this scheme we can go from power-on to Linux to another OS in about 3 seconds or so. The TS-7200 Linux boots up a little slower, but its still not too bad.
//Jesse Off