Coreboot

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2022. július 7-én felülvizsgált verziótól ; az ellenőrzéshez 1 szerkesztés szükséges .

coreboot
Típusú beágyazott szoftverek , operációs rendszer betöltő , valamint ingyenes és nyílt forráskódú szoftverek
Szerző Ronald G. Minnich, Eric Biederman, Li-Ta (Ollie) Lo, Stefan Reinauer és a coreboot közösség
Beírva C és assembly nyelv
Első kiadás 1999. szeptember [2]
Hardver platform ARM , IA-32 és x86_64
legújabb verzió
Állapot naprakész, fejlesztés alatt
Engedély GNU GPL 2
Weboldal coreboot.org
 Médiafájlok a Wikimedia Commons oldalon

A coreboot (korábban LinuxBIOS [3] ) egy ingyenes firmware projekt számos PC-hez, amelyet a Free Software Foundation hagyott jóvá . A projekt célja a legtöbb személyi számítógép által használt szabadalmaztatott és zárt BIOS- és UEFI -rendszerek lecserélése egy könnyű rendszerre, amelyet kizárólag a modern 32 bites és 64 bites operációs rendszerek indítására és futtatására terveztek .

Mivel a coreboot inicializálja a hardvert, a tervezést minden chipkészlethez és alaplaphoz igazítani kell . Ennek eredményeként a coreboot csak korlátozott számú hardverplatformon és alaplapmodellhez érhető el.

A coreboot egyik változata a Libreboot , a coreboot egyik változata, amelynek célja a saját firmware (Blobs) teljes megszüntetése .

Általános információk

A coreboot tipikus feladata a Linux kernel betöltése, de ezen felül a coreboot képes betölteni és futtatni ELF végrehajtható fájlokat , amelyeket általában payload-oknak neveznek .  A hasznos terhelés lehet például az Etherboot , amely képes a Linux hálózaton keresztül történő indítására, vagy a SeaBIOS  , egy ingyenes BIOS-megvalósítás, amely lehetővé teszi a Windows 2000/XP/Vista/7 és *BSD rendszerek indítását (korábban az ADLO terhelést használták ehhez ). A Coreboot bármely támogatott eszközről indíthatja az operációs rendszert, például a Myrinetről , a QsNetről vagy az SCSI -ről .

A Coreboot elvégzi a hardver inicializálását, amit az operációs rendszer nem tud teljes mértékben végrehajtani, majd átadja az irányítást a Payload modulnak, amely további operációs rendszer betöltést hajthat végre, vagy egyéb hasznos műveleteket hajthat végre.

A Coreboot támogatja az x86 , x86-64 , ARM , ARM64, MIPS és RISC-V architektúrákat .

A coreboot és a Legacy BIOS között az a különbség, hogy az x86-os verzió mindössze tizenhat processzorutasítás végrehajtása után védett módban indul, míg a tipikus x86-os BIOS-ok többnyire a processzor valós üzemmódjában futnak. Ezen tényezők kombinációja és a belső kialakítás egyszerűsége nagyon gyorssá teszi a Corebootról való rendszerindítást (jelenleg a hidegindítási rekord CoreBoottal körülbelül 3 másodperc).

Bár a LinuxBIOS nevében benne volt a Linux szó, a LinuxBIOS más operációs rendszermagokat is betölthetett. Például a LinuxBIOS közvetlenül betöltheti a Plan 9 kernelt . Ezért átnevezték coreboot -ra .

Teherbírás

Maga a Coreboot csak egy kis program, amely inicializálja a hardvert az alaplapon, majd a vezérlés átkerül az egyik hasznos programra:

A coreboot fejlesztése és hibakeresése

Mivel a coreboot-nak inicializálnia kell a hardvert, hozzá kell igazítani minden rendszervezérlőt ( chipkészletet ) és minden egyes ilyen vezérlőn alapuló kártyát. Bármely új kártya támogatásának hozzáadását megnehezítik a hibakeresési nehézségek: a hibakeresési információ egy vagy másik hardver segítségével kerül kiadásra, de hogyan lehet megszervezni a kimenetet, ha a kimeneti eszközök még nincsenek inicializálva?

A Coreboot számos eszközt és trükköt használ a hibakeresés megkönnyítésére:

RAM inicializálása

A coreboot legösszetettebb része a RAM-ot és a RAM-vezérlőt inicializáló kód. A helyzet az, hogy amíg a RAM nincs inicializálva, nem használható. A RAM-vezérlő és magának a RAM-nak a hozzáférés nélküli inicializálásának kézenfekvő módja a processzor általános célú regisztereinek használata. Ennek az összetett feladatnak az egyszerűsítésére egy speciális C nyelvű fordítót fejlesztettek ki  - romcc ( eng.  romcc ) , amely olyan kódot generál, amely nem tesz RAM-hozzáférést a munkája során. A romcc olyan kódot fordít, amely inicializálja a RAM-ot úgy, hogy SMBus -on keresztül eléri az SPD ROM-ot a DIMM-eken . A kód végrehajtása után a RAM használható.

Lásd még

Jegyzetek

  1. Roth M. Bejelenti a coreboot 4.1-2022 -t.
  2. https://www.linuxjournal.com/article/7170
  3. [LinuxBIOS] Üdvözöljük a corebootban (2008. január 12.). Letöltve: 2019. július 2. Az eredetiből archiválva : 2013. június 1.
  4. Archivált másolat . Letöltve: 2012. március 18. Az eredetiből archiválva : 2012. április 23..

Linkek