On 06/29/2011 11:06 PM, Somebody in the thread at some point said:
Hi -
Btw I don't yet fully understand Panda boot architecture. This X-Loader appear to come from SD card. But what boots it then? How that piece is called, where it comes from, how it should be upgraded, and is that ever needed? I found this: https://gforge.ti.com/gf/project/omapzoom/wiki/?pagename=BootingAndFlashing but it's still a bit confusing (like, doesn't name that first loader, and from OS perspective, it appears to be 3-stage boot).
Nicolas already gave a rundown but the short answer is the ROM can drive the MMC hardware of the OMAP4, talk SD-HC protocol, parse your partition table and FAT filesystem on your SD Card, and will load and execute a file of the magic name "MLO" on partition 1.
That is "x-loader", which sets stuff up and loads and executes a magic file "u-boot.bin" off partition 1. And "u-boot" does its usual thing from then on.
ROM being ROM, it can't be upgraded, however, unlike in OMAP3 the ROM in OMAP4 stuff seems pretty much perfect for SD Card boot case, it doesn't care about any arcane stuff like geometry for example. It only needs to success to pull MLO reliably and anything further can be done there in an upgradeable way.
Of course, it'll pull anything called MLO. I believe folks are working on adding stuff to be able to call U-Boot "MLO" directly eliminating x-loader and Matt Hsu and I already did that for Qi.
So, it would be nice if you could suggest Android team which repo/branch/tag/revision can be safely used to produce releases.
Yeah confusing ain't it. There are two camps in x-loader development one on omapzoom and one on gitorious. TI engineers like omapzoom but the official repo is gitorious.
The magic branch I (and I believe Ubuntu) use is:
git://gitorious.org/x-loader/x-loader.git master
... and BTW, 3.0 android kernel from us requires MLO update from what you supply at the moment to this in order for 3D unit to start up. So this is a good idea anyway.
-Andy