U-Boot (Universal BootLoader) är inte strikt en del av Linux * -kärnan *, utan snarare en avgörande mjukvara som körs * innan * Linux-kärnan laddar. Det är en bootloader, vilket betyder att dess jobb är att initialisera hårdvaran för det inbäddade systemet (som en router, smartphone eller inbäddad dator) och sedan ladda och starta operativsystemet (som kan vara Linux, men också andra OS).
Här är en uppdelning av dess roll:
* Hårdvaruinitialisering: U-Boot utför initialisering på låg nivå hårdvara. Detta inkluderar saker som att ställa in klockan, initialisera minne och identifiera anslutna enheter.
* Val av startenhet: U-Boot bestämmer vilken enhet som ska startas från (t.ex. SD-kort, NAND-flash, Ethernet). Detta val kan ofta konfigureras av användaren, vanligtvis via ett kommandoradsgränssnitt.
* Laddar kärnan: När startenheten är vald laddar U-Boot Linux-kärnbilden från den enheten till RAM.
* Passeringsparametrar: U-Boot skickar parametrar till Linux-kärnan, till exempel rotfilsystemets plats och andra startalternativ.
* kärnutförande: Slutligen överför U-Boot kontrollen till den laddade Linux-kärnan, som sedan tar över systemets startprocess.
I huvudsak är U-Boot bron mellan den råa hårdvaran och operativsystemet. Utan det skulle Linux -kärnan (eller något annat operativsystem) inte veta hur man börjar. Tänk på det som den första gnistan som tänder OS -startprocessen. Många andra bootloaders finns, men U-Boot är mycket vanligt, särskilt i inbäddade system.