Das U-Boot
| Das U-Boot | |
![]() | |
![]() | |
| Fejlesztő | DENX Software Engineering |
| Első kiadás | 1999. október 15. |
| Legfrissebb stabil kiadás | v2025.04 (2025. április 8.[1]) |
| Programozási nyelv | C, Assembly |
| Elérhető | angol |
| Kategória | Bootloader |
| Licenc | GPLv2 vagy újabb[2] |
| A Das U-Boot weboldala | |
A Das U-Boot (teljes nevén: "the Universal Boot Loader", illetve gyakorta rövidítve: U-Boot) egy nyílt forráskódú bootloader, melyet főként beágyazott rendszerekben alkalmaznak alacsonyszintű hardver-inicializációs, hardver-diagnosztikai és rendszerindítási feladatokra.[2] A szoftver különféle számítógép-architektúrákon érhető el, így például: PPC, MIPS, ARM,[2] 68k, x86 stb.
Történet
A projektet '8xx PowerPC' néven kezdte el Magnus Damm. 1999 októberében aztán Wolfgang Denk átköltöztette a projektet a SourceForge fejlesztői portálra és PPCBoot nevet adott neki, mivel a portál névkonvenciója miatt nem lehetett számmal kezdődő projektnéven regisztrálni. A legelső nyilvánosan elérhető változat 2000. július 21-én jelent meg és a 0.4.1 verziószámot kapta. Az 1.0.0 változat csaknem egy év múlva jelent meg kibővített processzor és alaplap támogatással, valamint a BedBug hibakereső integrálásával. Ezen a néven a 2.0.0 verzió volt az utolsó, ami megjelent 2002 november 1-jén.[3]
Az újabb névváltás oka egyszerűen az volt, hogy már nem akarták kizárólag csak PPC processzorok támogatását biztosítani, ráadásul már ebben a változatban is támogatva volt néhány ARM processzor is, de már ekkor tervben volt a ColdFire és az x86 platformok támogatása. Az teljes új név innentől "Das U-Boot" - the Universal Boot Loader lett.[3]
Fejlesztés
A szoftver fejlesztése háromhavi kiadási ciklusokban (Release Cycle) történik. Az első három hét a "beolvasztási ablak" (Merge Window), amikor az új funkcionalitást megvalósító programkódok (patchek) benyújtására áll nyitva időablak, utána pedig a stabilizációs periódus jön, amikor már csak hibajavítások történhetnek. A programozói munkát felügyelők kezelik, akik a mesterkódba történő "beolvasztási kéréseket" (pull request) gyűjtik és küldik be a beolvasztási időszak végén, illetve visszajelzéseket adnak a kódfejlesztők felé.[4]
A fejlesztés a Linux operációs rendszerrel összhangban zajlik, ugyanakkor csak a végleges kiadásokat (release) veszik figyelembe, a kiadásra jelölt (release candidate) változatokat nem.[4]
Működés
Az U-Boot első- és második fázisú rendszertöltésre is képes, azaz a hardver (memória, perifériák stb.) inicializálása mellett rendszermag (kernel) vagy más szoftver betöltését is elvégzi. Az U-Bootot a rendszer Boot ROM-ja tölti be teljes egészében, vagy — tárhelykorlát esetén — előbb általában egy kisebb SPL (Secondary Program Loader) komponens formájában, mely csak memóriaellenőrzést hajt végre, majd betölti a teljes rendszertöltőt.[5]
Az UEFI specifikációnak az Embedded Base Boot Requirements (EBBR) által meghatározottak szerint felel meg.[6] Képes betölteni a GNU GRUB rendszertöltőt, mellyel akár több párhuzamosan tárolt operációs rendszer is futtatható, de gond nélkül tölt be Linux kernelt is. Rendelkezésre áll felhasználóbarát boot manager, vagy akár a beépített parancssoros felhasználói felület (CLI), mely utóbbi elérhető konzolról vagy soros portról és számos eszközinformációs, eszközfa-kezelő, környezeti változó beállítást szolgáló parancsot tartalmaz.
Rendszertöltési források
- Alaplapi vagy csatlakoztatott eszközök
- Soros port (fájlátvitel)
- Kermit protokoll
- S-Record fájlformátum
- YMODEM protokoll
- Hálózati rendszertöltés (optionálisan: DHCP, BOOTP, vagy RARP)
Kompatibilis fájlrendszerek
Alkalmazások
- Az ARM-alapú Chromebookok rendszertöltője az U-Boot, míg az x86 alapú modelleknél a coreboot betöltését végzi.[7]
- A PowerPC alapú AmigaOne számítógépek a rendszer és az AmigaOS 4 indítására az U-Bootot használják.[8]
- Az Amazon Kindle e-könyv-olvasó eszközök módosított U-Bootot használnak bootloaderként.[9]
- A SpaceX űrhajói (Falcon és Dragon) rendszerei felhasználják az U-Bootot a működésük során.[10]
- Az Ubiquiti vezetéknélküli hálózati eszközeiben alkalmazzák.
- Számos router (TP-Link, Teltonika) rendszertöltője.
Jegyzetek
- ↑ Rini, Tom (8 April 2025), "U-Boot v2025.04 released"
- ↑ a b c SPDX-License-Identifier: GPL-2.0+ (angol nyelven). source.denx.de, 2013. (Hozzáférés: 2025. május 21.)
- ↑ a b PPCBoot Homepage / Authors (angol nyelven). SourceForge. (Hozzáférés: 2025. május 30.)
- ↑ a b U-Boot Development Process (angol nyelven). docs.u-boot.org. (Hozzáférés: 2025. június 2.)
- ↑ Booting from TPL/SPL (angol nyelven). docs.u-boot.org. (Hozzáférés: 2025. május 21.)
- ↑ Embedded Base Boot Requirements (EBBR) specification (angol nyelven). GitHub. (Hozzáférés: 2025. május 21.)
- ↑ Coreboot Tutorial (angol nyelven) pp. 6, 2013. (Hozzáférés: 2025. május 21.)
- ↑ AmigaOne (magyar nyelven). wiki.amigaspirit.hu. (Hozzáférés: 2025. május 21.)
- ↑ Fread installer U-Boot (angol nyelven). GitHub. (Hozzáférés: 2025. május 21.)
- ↑ We are the SpaceX software team, ask us anything! (angol nyelven). reddit.com. (Hozzáférés: 2025. május 21.)

