Vad är coreboot?

Som beskrivs på Wikipediasidan:

coreboot, tidigare känt som LinuxBIOS, är ett mjukvaruprojekt som syftar till att ersätta den proprietära fasta programvaran (BIOS eller UEFI) som finns i de flesta datorer med en lättviktig fasta programvara som är utformad för att endast utföra det minimala antal uppgifter som är nödvändiga för att ladda och köra ett modernt 32- eller 64-bits operativsystem.

I huvudsak är det ett initiativ som syftar till att ”öppna upp” och förenkla den fasta programvarunivån i moderna datorer. Jag tror att så mycket som möjligt av det är fri programvara; det krävs dock binära blobs för att det ska fungera på vissa hårdvaruenheter. Libreboot är en version av Coreboot som är helt fri från blobbing och därför 100 procent fri programvara. Men på grund av detta kommer Libreboot endast att fungera på en mer restriktiv undergrupp av hårdvara.

Varför skulle någon vilja använda Coreboot? Jag kan tänka mig flera anledningar:

Om de är intresserade av att engagera sig i utveckling av fast programvara för datorer, så kanske de vill byta ut sin proprietära fast programvara mot Coreboot, eftersom det är öppen källkod. På så sätt (i likhet med GNU/Linux i allmänhet) kan de peta runt i koden och försöka lära sig hur den fungerar. Så det kan vara bra ur utbildningssynpunkt.

Om någon bryr sig om fri programvara kanske de föredrar att använda Coreboot eller Libreboot av den anledningen. Om du har binära blobs i din firmware vet du inte vad de innehåller – i teorin kan de innehålla kod som kan äventyra din integritet/säkerhet. Free Software Foundation stöder endast system som körs med Libreboot firmware.

En annan sak som jag kan tänka mig är att om någon utvecklar en ny enhet, så kan det ses som enklare att anpassa Coreboot till den än att skriva en egen firmware från grunden, eller att behöva betala för en proprietär firmware. Coreboot är mycket smal, snabb och effektiv, eftersom den bara innehåller det minimum av kod som krävs för att få igång ett system. Det är värt att notera att Coreboot i sig inte tillhandahåller några BIOS- eller UEFI-tjänster – den initialiserar bara hårdvaran och överlämnar sedan kontrollen till något annat. Så om ett operativsystem kräver någon av dessa tjänster måste dessa tillhandahållas av en payload (som nämns nedan).

Influerar det möjligheten att installera andra operativsystem?

För det första installeras huvudoperativsystemet i allmänhet inte på kortet (såvida det inte rör sig om ett inbäddat system). Vanligtvis installeras det på en extern lagringsenhet (dvs. hårddisk). Så så länge Coreboot kan ställa in en tillräckligt grundläggande miljö för att kunna komma åt lagringsenheten och anropa huvudoperativsystemet, tror jag inte att det finns någon teoretisk anledning till varför det inte skulle kunna starta upp vilket operativsystem som helst. Det finns flera nyttolaster tillgängliga för den som hjälper till att underlätta detta. En payload är i princip en bootloader som är inbyggd i den fasta programvaran, i motsats till att lagras på externt lagringsutrymme. Till exempel kan GRUB byggas in i Coreboot som en nyttoladdning, som säkert kan starta upp Linux och Windows. Jag är inte säker på om det finns ett nyttolastalternativ som kan starta upp MacOS, men jag skulle inte bli förvånad om det fanns.

Leave a Reply