Che cos’è coreboot?

Come descritto nella pagina di Wikipedia:

coreboot, precedentemente noto come LinuxBIOS, è un progetto software volto a sostituire il firmware proprietario (BIOS o UEFI) presente nella maggior parte dei computer con un firmware leggero progettato per eseguire solo il numero minimo di compiti necessari per caricare ed eseguire un moderno sistema operativo a 32 bit o 64 bit.

In sostanza, si tratta di un’iniziativa volta ad “aprire” e semplificare il livello del firmware dei computer moderni. Credo che il più possibile sia software libero; tuttavia, sono necessari dei blob binari per farlo funzionare su alcuni dispositivi hardware. Libreboot è una versione di Coreboot che è completamente priva di blob e quindi 100% software libero. Tuttavia, a causa di questo, Libreboot funzionerà solo su un sottoinsieme più restrittivo di hardware.

Perché qualcuno dovrebbe voler usare Coreboot? Posso pensare a diverse ragioni:

Se sono interessati ad essere coinvolti nello sviluppo di firmware per PC, allora potrebbero voler cambiare il loro firmware proprietario con Coreboot, dato che è Open Source. In questo modo (simile a GNU/Linux in generale), possono curiosare nel codice e cercare di imparare come funziona. Quindi, potrebbe essere buono da un punto di vista educativo.

Se qualcuno si preoccupa del software libero, potrebbe preferire usare Coreboot o Libreboot per questa ragione. Se hai blob binari nel tuo firmware, non sai cosa contengono – in teoria potrebbero contenere codice che potrebbe compromettere la tua privacy/sicurezza. La Free Software Foundation approva solo sistemi che funzionano con firmware Libreboot.

Un’altra cosa che mi viene in mente è che se qualcuno sta sviluppando un nuovo dispositivo, allora il porting di Coreboot potrebbe essere visto come più semplice che scrivere il proprio firmware da zero, o dover pagare per un firmware proprietario. Coreboot è molto snello, veloce ed efficiente, perché contiene solo il codice minimo necessario per far funzionare un sistema. Vale la pena notare che Coreboot di per sé non fornisce alcun servizio BIOS o UEFI – semplicemente inizializza l’hardware e poi passa il controllo a qualcos’altro. Quindi, se un sistema operativo richiede uno di questi servizi, questi dovrebbero essere forniti da un payload (menzionato sotto).

Interferisce sulla capacità di installare altri sistemi operativi?

In primo luogo, il sistema operativo principale non è generalmente installato sulla scheda (a meno che non si stia parlando di un sistema embedded). Di solito, è installato su un dispositivo di memorizzazione esterno (cioè il disco rigido). Quindi, finché Coreboot può impostare un ambiente di base sufficiente per essere in grado di accedere al dispositivo di memorizzazione e chiamare il sistema operativo principale, non credo ci sia alcuna ragione teorica per cui non dovrebbe essere in grado di avviare qualsiasi sistema operativo. Ci sono diversi payload disponibili per esso che aiutano a facilitare ciò. Un payload è fondamentalmente un bootloader che è incorporato nel firmware, invece di essere memorizzato su una memoria esterna. Per esempio, GRUB può essere costruito in Coreboot come payload, che è certamente in grado di avviare Linux e Windows. Non sono sicuro che ci sia un’opzione payload che possa avviare MacOS, ma non sarei sorpreso se ci fosse.

Leave a Reply