Z eLinux.org:
http://elinux.org/Panda_How_to_MLO_%26_u-boot
Bootloader první fáze běží po zapnutí přímo na desce. Neznám název tohoto bootloaderu (z oficiální wiki TI se jmenuje Boot Rom). Tento bootloader inicializuje minimální množství CPU a hardwaru desky, poté přistoupí k prvnímu oddílu SD karty (který musí být ve formátu FAT) a načte soubor s názvem „MLO“ a spustí jej. "MLO" je zavaděč druhé fáze.
Zavaděč druhé fáze může být zřejmě buď X-loader nebo SPL. Tento bootloader zřejmě také pouze načte první oddíl SD karty a načte soubor s názvem „u-boot.bin“ a spustí jej. "u-boot.bin" je zavaděč třetí fáze.
Bootloader třetí fáze je U-boot, což je oblíbený bootloader pro mnoho různých vestavěných desek a produktů. Tento bootloader má spoustu různých funkcí, včetně interaktivního shellu, proměnných, možnosti přístupu na SD kartu a zobrazení jejího obsahu atd. Co se stane dále, závisí na verzi U-bootu, kterou máte pro desku Panda, a na tom, jak je nakonfigurován. Ve velmi jednoduché konfiguraci U-Boot vyhledá soubor „uImage“ v kořenovém adresáři prvního oddílu karty SD (který musí být opět naformátován jako oddíl FAT) a spustí jej. Toto je jádro Linuxu. U-Boot předá argument příkazového řádku jádra. V závislosti na tom, jak je jádro nakonfigurováno, může přijmout příkazový řádek z U-Bootu nebo použít ten, který do něj byl zkompilován při jeho sestavování.
Toto je „věc Panda Board“, nemusí to nutně platit pro Linux obecně.
Nejvíce však všechny systémy mají nějaký druh "vícefázového" spouštění, jako je ten výše. Například při spouštění počítače se systémem Windows vidíte:
- Spuštění systému BIOS
- Zaváděcí sektor je načten z disku nebo USB; nebo je načten spouštěcí záznam PXE ze sítě
- Spustí se jádro systému Windows (to, co vidíte před/během "úvodní obrazovky")
- Nakonec se spustí samotný "Windows"
Není to tedy ani „neefektivní“, ani neobvyklé.
PS:Tento odkaz má také dobrý popis zaváděcí sekvence:
- http://omappedia.org/wiki/Bootloader_Project
PPS:"MLO" znamená "Mmc LOader"
Když se deska objeví, musí být jednotka správy paměti (MMU) stále nastavena, než může CPU začít používat SDRAM. SoC má 56 KB paměti SRAM, kterou lze v tomto okamžiku použít, ale je příliš malá na to, aby ji spouštěl u-boot. Dalším krokem je načtení kódu spuštěného z paměti SRAM a spuštění u-bootu.