Coreboot

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 7.7.2022 tarkistetusta versiosta . vahvistus vaatii 1 muokkauksen .

coreboot
Tyyppi sulautetut ohjelmistot , käyttöjärjestelmän latausohjelma ja ilmaiset avoimen lähdekoodin ohjelmistot
Tekijä Ronald G. Minnich, Eric Biederman, Li-Ta (Ollie) Lo, Stefan Reinauer ja coreboot-yhteisö
Sisään kirjoitettu C ja assembly-kieli
Ensimmäinen painos Syyskuu 1999 [2]
Laitteistoalusta ARM , IA-32 ja x86_64
uusin versio
Osavaltio ajan tasalla, kehitteillä
Lisenssi GNU GPL 2
Verkkosivusto coreboot.org
 Mediatiedostot Wikimedia Commonsissa

coreboot (aiemmin LinuxBIOS [3] ) on Free Software Foundationin hyväksymä ilmainen laiteohjelmistoprojekti useille tietokoneille . Projektin tavoitteena on korvata useimpien henkilökohtaisten tietokoneiden käyttämät patentoidut ja suljetut BIOS- ja UEFI -järjestelmät kevyellä järjestelmällä, joka on suunniteltu yksinomaan nykyaikaisten 32- ja 64-bittisten käyttöjärjestelmien käynnistämiseen ja käyttämiseen .

Koska coreboot alustaa laitteiston, suunnittelu on räätälöitävä kullekin piirisarjalle ja jokaiselle emolevylle . Tämän seurauksena coreboot on saatavilla vain rajoitetulle määrälle laitteistoalustoja ja emolevymalleja.

Yksi corebootin muunnelma on Libreboot , corebootin muunnelma, jonka tarkoituksena on poistaa patentoidut laiteohjelmistot (Blobs) kokonaan .

Yleistä tietoa

Tyypillinen corebootin tehtävä on ladata Linux - ydin , mutta lisäksi coreboot voi ladata ja suorittaa ELF - suoritettavat tiedostot , joita kutsutaan yleisesti hyötykuormiksi .  Hyötykuorma voi olla esimerkiksi Etherboot , joka pystyy käynnistämään Linuxin verkon kautta, tai SeaBIOS  , ilmainen BIOS-toteutus, jonka avulla voit käynnistää Windows 2000/XP/Vista/7 ja *BSD-järjestelmät (aiemmin ADLO- latausta käytettiin tätä varten ). Coreboot voi käynnistää käyttöjärjestelmän mistä tahansa tuetuista laitteista, kuten Myrinet , QsNet tai SCSI .

Coreboot suorittaa laitteiston alustuksen, jota käyttöjärjestelmä ei voi suorittaa täysin, minkä jälkeen se siirtää ohjauksen Payload-moduulille, joka voi suorittaa käyttöjärjestelmän lisälatauksia tai muita hyödyllisiä toimintoja.

Coreboot tukee x86- , x86-64- , ARM- , ARM64-, MIPS- ja RISC-V-arkkitehtuureja .

Ero corebootin ja Legacy BIOSin välillä on se, että x86-versio käynnistyy suojatussa tilassa vain kuudentoista suorittimen käskyn suorittamisen jälkeen, kun taas tyypilliset x86-BIOSit toimivat enimmäkseen prosessorin todellisessa tilassa. Näiden tekijöiden yhdistelmä ja sisäisen suunnittelun yksinkertaisuus tekee käynnistämisestä Corebootista erittäin nopean (tällä hetkellä CoreBootin kylmäkäynnistysennätys on noin 3 sekuntia).

Vaikka LinuxBIOSin nimessä oli sana Linux, LinuxBIOS pystyi lataamaan myös muita käyttöjärjestelmän ytimiä. Esimerkiksi LinuxBIOS voisi ladata Plan 9 -ytimen suoraan . Siksi se on nimetty uudelleen corebootiksi .

Hyötykuorma

Coreboot itsessään on vain pieni ohjelma, joka alustaa emolevyn laitteiston, jonka jälkeen ohjaus siirretään johonkin hyötykuormaohjelmista:

corebootin kehittäminen ja virheenkorjaus

Koska corebootin on alustettava laitteisto, se on mukautettava tukemaan jokaista järjestelmäohjainta ( piirisarjaa ) ja jokaista tällaiseen ohjaimeen perustuvaa korttia. Tuen lisäämistä mille tahansa uudelle levylle vaikeuttavat virheenkorjausvaikeudet: virheenkorjaustiedot tulostetaan käyttämällä tätä tai toista laitteistoa, mutta kuinka järjestää tuloste, kun tulostusvälineitä ei ole vielä alustettu?

Coreboot käyttää useita laitteita ja temppuja helpottaakseen virheenkorjausta:

RAM-muistin alustus

Ydinkäynnistyksen monimutkaisin osa on koodi, joka alustaa RAM-muistin ja RAM-ohjaimen. Tosiasia on, että ennen kuin RAM on alustettu, sitä ei voi käyttää. Ilmeinen tapa alustaa RAM-ohjain ja itse RAM ilman pääsyä siihen on käyttää prosessorin yleiskäyttöisiä rekistereitä. Tämän monimutkaisen tehtävän yksinkertaistamiseksi kehitettiin erityinen C - kielen kääntäjä  - romcc ( eng.  romcc ) , joka luo koodia, joka ei käytä RAM-käyttöjä työnsä aikana. romcc kokoaa koodin, joka alustaa RAM-muistin käyttämällä SPD ROM -muistia DIMM:issä SMBus -väylän kautta . Tämän koodin suorittamisen jälkeen RAM-muistia voidaan käyttää.

Katso myös

Muistiinpanot

  1. Roth M. julkistaa corebootin 4.1 – 2022.
  2. https://www.linuxjournal.com/article/7170
  3. [LinuxBIOS] Tervetuloa corebootiin (12. tammikuuta 2008). Haettu 2. heinäkuuta 2019. Arkistoitu alkuperäisestä 1. kesäkuuta 2013.
  4. Arkistoitu kopio . Haettu 18. maaliskuuta 2012. Arkistoitu alkuperäisestä 23. huhtikuuta 2012.

Linkit