Uboot on NAND, X-Loader on MMC, MLO on MMC Uboot on MMC, uImage on MMC

Folks,

Can someone help me understand or point me related writeup on the role of all these components?

  1. X-loader on NAND
  2. MLO on NAND,
  3. uboot on NAND,
  4. uboot.bin on MMC
  5. uImage on MMC

My specific problem has been this:

Recently, my beagle was bricked, and I used Nishanth’s http://groups.google.com/group/beagleboard/web/beagle_recover.tar.bz2 to unbrick it. Now, when I boot my beagle, Minicom tells me that the X-loader is 1.4.2, and the uboot on NAND is 2009.03.

Now, what should I have in the boot partition of MMC? MLO, uboot.bin and uImage? or just uImage? Which versions?

Am looking to understand the whole boot procedure in short. The wikis get very confusing for the different versions of uboots, xloaders.

Can someone please help??

The short answer is:
the OMAP boot rom loads xloader
xloader loads uboot
uboot loads the kernel (uImage)

Any of those pieces (except for the OMAP boot rom) can be in either onboard NAND flash, or on the MMC card. Where the system looks for each piece (and in what order it searches) is determined by the settings compiled into the loaders and also by the state of the pushbuttons on the board when they run.
It is possible to make everything run from the MMC card, or everything run from onboard flash, or a combination of the two.

So if you have Xloader and uboot in NAND, you don’t need them on your MMC card.

Brett