Mikä on coreboot?

Wikipedian sivulla kuvatulla tavalla:

coreboot, joka tunnettiin aiemmin nimellä LinuxBIOS, on ohjelmistoprojekti, jonka tarkoituksena on korvata useimmissa tietokoneissa oleva proprietäärinen laiteohjelmisto (BIOS tai UEFI) kevyellä laiteohjelmistolla, joka on suunniteltu suorittamaan vain minimaalinen määrä nykyaikaisen 32-bittisen tai 64-bittisen käyttöjärjestelmän lataamiseen ja pyörittämiseen tarvittavia tehtäviä.

Ylipäätään kyseessä on aloite, jonka tarkoituksena on ”avata” ja yksinkertaistaa nykyaikaisten tietokoneiden laiteohjelmistotasoa. Uskon, että mahdollisimman suuri osa siitä on vapaata ohjelmistoa; kuitenkin tarvitaan binäärisiä blobeja, jotta se toimisi joillakin laitteistoilla. Libreboot on Corebootin versio, joka on täysin blobiton ja siten 100-prosenttisesti vapaa ohjelmisto. Tästä johtuen Libreboot toimii kuitenkin vain rajoitetummalla osajoukolla laitteistoja.

Miksi joku haluaisi käyttää Corebootia? Tulee mieleen useita syitä:

Jos he ovat kiinnostuneita osallistumaan PC:n firmware-kehitykseen, he saattavat haluta vaihtaa omistamansa firmwaren Corebootiin, koska se on avointa lähdekoodia. Siten (kuten GNU/Linuxissa yleensä) he voivat penkoa koodia ja yrittää oppia, miten se toimii. Joten se voisi olla hyvä koulutusnäkökulmasta.

Jos joku välittää vapaista ohjelmistoista, hän saattaa käyttää mieluummin Corebootia tai Librebootia siitä syystä. Jos sinulla on binäärisiä blobeja laiteohjelmistossasi, et tiedä mitä ne sisältävät – teoriassa ne voivat sisältää koodia, joka voi vaarantaa yksityisyytesi/turvallisuutesi. Vapaiden ohjelmistojen säätiö tukee vain järjestelmiä, jotka toimivat Libreboot-firmwarella.

Muuten, jos joku on kehittämässä uutta laitetta, Corebootin porttaaminen siihen saatetaan nähdä yksinkertaisempana kuin oman firmwaren kirjoittaminen tyhjästä, tai joutua maksamaan omasta firmwaresta. Coreboot on hyvin laiha, nopea ja tehokas, koska se sisältää vain minimaalisen koodin, jota tarvitaan, jotta järjestelmä saadaan toimimaan. On syytä huomata, että Coreboot ei itsessään tarjoa mitään BIOS- tai UEFI-palveluja – se vain alustaa laitteiston ja siirtää sitten hallinnan jollekin muulle. Jos käyttöjärjestelmä siis vaatii jotain näistä palveluista, ne on tarjottava hyötykuormalla (joka mainitaan jäljempänä).

Vaikuttaako se mahdollisuuteen asentaa muita käyttöjärjestelmiä?

Ensinnäkään pääkäyttöjärjestelmää ei yleensä asenneta piirilevylle (ellet puhu sulautetusta järjestelmästä). Yleensä se asennetaan ulkoiselle tallennuslaitteelle (esim. kiintolevylle). Joten, niin kauan kuin Coreboot pystyy asentamaan tarpeeksi perusympäristön voidakseen käyttää tallennuslaitetta ja kutsua pääkäyttöjärjestelmää, ei mielestäni ole teoriassa mitään syytä, miksei sen pitäisi pystyä käynnistämään mitä tahansa käyttöjärjestelmää. Sitä varten on saatavilla useita hyötykuormia, jotka helpottavat tätä. Hyötykuorma on periaatteessa käynnistyslatausohjelma, joka on sisäänrakennettu laiteohjelmistoon sen sijaan, että se olisi tallennettu ulkoiseen muistiin. Esimerkiksi GRUB voidaan sisällyttää Corebootiin hyötykuormana, joka varmasti pystyy käynnistämään Linuxin ja Windowsin. En ole varma, onko olemassa payload-vaihtoehtoa, joka voisi käynnistää MacOS:n, mutta en olisi yllättynyt, jos sellainen olisi.

Leave a Reply