| |
Tipus | programari lliure i de codi obert i bootloader |
---|---|
Versió estable | |
Llicència | GNU GPL 2.0 |
Característiques tècniques | |
Escrit en | C i Llenguatge assemblador |
Format de fitxer d'escriptura | |
Equip | |
Creador/s | Wolfgang Denk (en) |
Desenvolupador(s) | Simon Glass (en) i Tom Rini (en) |
Més informació | |
Lloc web | docs.u-boot.org… |
Free Software Directory | Das_U-Boot |
Guia d'usuari | Guia d'usuari |
| |
Das U-Boot (subtitulat "el carregador d'arrencada universal" i sovint escurçat a U-Boot; vegeu Historial per obtenir més informació sobre el nom) és un carregador d'arrencada de codi obert utilitzat en dispositius incrustats per realitzar diverses tasques d'inicialització de maquinari de baix nivell i arrencada. el nucli del sistema operatiu del dispositiu. Està disponible per a diverses arquitectures d'ordinadors, com ara 68k, ARM, Blackfin, MicroBlaze, MIPS, Nios, SuperH, PPC, RISC-V i x86.
U-Boot és un carregador d'arrencada de primera i de segona etapa. Es carrega per la ROM del sistema (per exemple, la ROM en xip d'una CPU ARM) des d'un dispositiu d'arrencada compatible, com ara una targeta SD, una unitat SATA, un flash NOR (per exemple, utilitzant SPI o I²C) o un flaix NAND. Si hi ha restriccions de mida, U-Boot es pot dividir en dues etapes: la plataforma carregaria un petit SPL (Secundari Program Loader), que és una versió reduïda d'U-Boot, i l'SPL faria una configuració inicial de maquinari. (per exemple, inicialització de DRAM utilitzant la memòria cau de la CPU com a RAM) i carregueu la versió més gran i amb totes les funcions d'U-Boot.[1][2][3] Independentment de si s'utilitza l'SPL, U-Boot realitza tant la primera etapa (per exemple, la configuració de controladors de memòria i SDRAM) com l'arrencada de la segona etapa (realitzant diversos passos per carregar un sistema operatiu modern des d'una varietat de dispositius que s'han de configurar, presentar un menú perquè els usuaris puguin interactuar i controlar el procés d'arrencada, etc.).
U-Boot implementa un subconjunt de l'especificació UEFI tal com es defineix a l'especificació Embedded Base Boot Requirements (EBBR). Els binaris UEFI com GRUB o el nucli de Linux es poden arrencar mitjançant el gestor d'arrencada o des de la interfície de línia d'ordres.
U-Boot executa una interfície de línia d'ordres en una consola o un port sèrie. Mitjançant la CLI, els usuaris poden carregar i arrencar un nucli, possiblement canviant els paràmetres del valor predeterminat. També hi ha ordres per llegir la informació del dispositiu, llegir i escriure memòria flash, descarregar fitxers (nuclis, imatges d'arrencada, etc.) des del port sèrie o de la xarxa, manipular arbres de dispositius i treballar amb variables d'entorn (que es poden escriure a l'emmagatzematge persistent)., i s'utilitzen per controlar el comportament de l'U-Boot, com ara l'ordre d'arrencada per defecte i el temps d'espera abans de l'arrencada automàtica, així com les dades de maquinari com ara l'adreça MAC d'Ethernet).
A diferència dels carregadors d'arrencada de PC que enfosqueixen o trien automàticament les ubicacions de memòria del nucli i altres dades d'arrencada, U-Boot requereix que les seves ordres d'arrencada especifiquen explícitament les adreces de memòria física com a destinacions per copiar dades (nucli, disc ram, arbre de dispositius, etc.) i per saltar al nucli i com a arguments per al nucli. Com que les ordres d'U-Boot són de nivell bastant baix, es necessiten diversos passos per arrencar un nucli, però això també fa que U-Boot sigui més flexible que altres carregadors d'arrencada, ja que les mateixes ordres es poden utilitzar per a tasques més generals. Fins i tot és possible actualitzar U-Boot mitjançant U-Boot, simplement llegint el nou carregador d'arrencada des d'algun lloc (emmagatzematge local, o des del port sèrie o xarxa) a la memòria i escrivint aquestes dades a l'emmagatzematge persistent on pertany el carregador d'arrencada.
U-Boot té suport per a USB, de manera que pot utilitzar un teclat USB per operar la consola (a més de l'entrada des del port sèrie) i pot accedir i arrencar des de dispositius d'emmagatzematge massiu USB com ara lectors de targetes SD.