UEFI

Coreboot contro UEFI

Coreboot contro UEFI

Il BIOS (acronimo di Basic Input/Output System), che tradizionalmente eseguiva l'inizializzazione dell'hardware durante il processo di avvio, è con noi dagli anni '70 e il momento di sostituirlo è arrivato anni fa.

Oggi, il successore de facto del BIOS è Unified Extensible Firmware Interface (UEFI), che risolve diverse carenze tecniche fornendo in genere supporto legacy per i servizi BIOS. Ma contrariamente alla credenza popolare, UEFI non è l'unica sostituzione del BIOS disponibile. C'è anche coreboot, che è un progetto software open source che mira a sostituire il BIOS con un firmware leggero che fa solo il minimo indispensabile per caricare ed eseguire un moderno sistema operativo a 32 o 64 bit.

In questo articolo spieghiamo i motivi per cui il BIOS è obsoleto e confrontiamo il coreboot con UEFI per vedere come sono nate queste due sostituzioni del BIOS, cosa vogliono ottenere e quali sono i loro vantaggi e svantaggi.

La fine del BIOS

I computer si sono evoluti in modo significativo da quando Gary Kildall, un informatico americano e imprenditore di microcomputer, ha inventato il termine BIOS. Al giorno d'oggi, è comune eseguire l'avvio non solo da dischi rigidi e supporti ottici, ma anche da unità flash USB e dispositivi di rete remoti. È anche comune eseguire l'avvio da dischi rigidi più grandi di 2.2 TB, che è un limite rigido imposto dal Master Boot Record (MBR), il tipo standard di settore di avvio dei sistemi IBM compatibili con PC con BIOS.

Oltre a un supporto hardware molto limitato, il BIOS non soddisfa nemmeno i requisiti di sicurezza attuali dei produttori di computer, che hanno bisogno di un modo per garantire che l'utente si avvii sempre in un sistema operativo che non è stato manomesso tra un avvio e l'altro.

Infine, anche il BIOS è obsoleto in termini di usabilità. La sua interfaccia utente di solo testo è goffa e spesso difficile da navigare. Molte implementazioni del BIOS registrano l'input solo quando proviene da una tastiera PS/2 e l'input del mouse è praticamente sconosciuto.

Successori del BIOS

Attualmente ci sono tre principali successori del BIOS: coreboot, libreboot e UEFI. Di questi, libreboot è il più giovane ed è in realtà una distribuzione di coreboot senza codice binario proprietario. È stato lanciato nel 2013 da Leah Rowe e attualmente funziona con qualsiasi distribuzione Linux che utilizza l'impostazione della modalità kernel (KMS) per la grafica. A causa degli stretti legami di libreboot con coreboot e del suo supporto limitato, non ne parleremo ulteriormente in questo articolo.

coreboot

Sul suo sito Web ufficiale, coreboot è descritto come "una piattaforma firmware estesa che offre un'esperienza di avvio veloce e sicura su computer moderni e sistemi embedded." Coreboot è stato inizialmente rilasciato nel 1999, con l'obiettivo di creare un'alternativa al BIOS che si avviasse rapidamente e gestisse gli errori in modo intelligente.

Alcuni dei principali contributori al progetto includono AMD, MSI, Gigabyte, Coresystems e anche Google, che sponsorizza in parte il progetto coreboot e lo ha accettato in sette anni consecutivi per il Google Summer of Code.

Nel 2009, il fondatore di coreboot Ron Minnich ha dichiarato: "Oggigiorno ci sono più di 10 milioni di computer che eseguono coreboot là fuori. Molti di questi sono elettrodomestici e set-top box. Cose che dovrebbero essere istantanee. Ma alcune aziende vendono anche server che eseguono coreboot ora. I casi d'uso sono molto diffusi. Alcune macchine coreboot cacciavano mine in Afghanistan, altre si assicuravano che l'integrità dei dati e le prestazioni nei grandi ospedali fossero garantite. Coreboot è stato utilizzato nei test dei sistemi e nel miglioramento della sicurezza delle auto e, naturalmente, in un paio di super cluster di computer con migliaia e migliaia di nodi."

Tra i dispositivi più facilmente disponibili che supportano il coreboot ci sono alcuni Chromebook basati su x86, OLPC XO e Libreboot X200 e T400.

Rispetto al BIOS, il coreboot esegue solo l'inizializzazione dell'hardware, mentre il BIOS tradizionale avvia anche il sistema operativo. Dopo l'inizializzazione dell'hardware, coreboot avvia un programma separato chiamato payload. Il carico utile può essere qualsiasi programma. Oltre ai bootloader standard che possono avviare il sistema operativo, può effettivamente essere il kernel del sistema operativo stesso, il che significa che è possibile inserire coreboot e il kernel Linux nella flash di avvio per avere un sistema Linux sempre disponibile.

UEFI

UEFI si basa sulla specifica Extensible Firmware Interface (EFI) originale sviluppata da Intel nel 2005, dopo la formazione di The Unified EFI Forum.

"La specifica Unified EFI (UEFI) (precedentemente nota come specifica EFI) definisce un'interfaccia tra un sistema operativo e il firmware della piattaforma", descrive la specifica Intel. "L'interfaccia è costituita da tabelle di dati che contengono informazioni relative alla piattaforma, chiamate del servizio di avvio e chiamate del servizio di runtime disponibili per il sistema operativo e il suo caricatore. Questi forniscono un ambiente standard per l'avvio di un sistema operativo e l'esecuzione di applicazioni di pre-avvio."

Nella maggior parte delle nuove macchine, UEFI ha sostituito il BIOS come alternativa più complessa, con ogni produttore di computer che implementa lo standard in un modo particolare per creare un front-end specifico per le esigenze del produttore.

UEFI fornisce un ambiente di pre-avvio con la propria shell, driver, applicazioni, la possibilità di navigare in Internet, creare backup di sistema ed eseguire diagnostica remota senza un sistema operativo, tra molte altre cose. UEFI supporta l'avvio da dischi rigidi fino a 9.4 ZB (1 ZB = 1 trilioni di byte), che dovrebbe essere sufficiente per un po' considerando che l'intera Internet dovrebbe essere di circa 8 ZB.

Ma nonostante tutti i vantaggi che UEFI ha sul BIOS, molti attivisti per i diritti digitali lo hanno criticato, sostenendo che UEFI rimuove la capacità dell'utente di controllare veramente il computer a causa di una funzione chiamata Secure Boot, che assicura che un dispositivo si avvii utilizzando solo software di cui si fida il produttore di apparecchiature originali (OEM).

Alcune macchine con la funzione di avvio protetto rendono impossibile disattivare la funzione, quindi chiunque possieda tale macchina è bloccato con qualsiasi sistema operativo fornito con la macchina. Considerando quanti pochi laptop sono dotati di Linux preinstallato, tutti gli utenti Linux che acquistano un laptop o un computer desktop che non è specificamente pubblicizzato come compatibile con Linux dovrebbero assicurarsi che la macchina consenta di disattivare l'avvio protetto.

Conclusione

Anche se il coreboot è molto più vecchio di UEFI, la maggior parte degli utenti di computer sa a malapena della sua esistenza perché può essere trovato principalmente in dispositivi altamente specializzati, non in laptop e computer desktop. Detto questo, esistono macchine con coreboot; sono solo molto più difficili da trovare.

Come acquisire e riprodurre in streaming la tua sessione di gioco su Linux
In passato, giocare era considerato solo un hobby, ma con il tempo l'industria dei giochi ha visto una crescita enorme in termini di tecnologia e nume...
I migliori giochi da giocare con il tracciamento delle mani
Oculus Quest ha recentemente introdotto la grande idea del tracciamento manuale senza controller. Con un numero sempre crescente di giochi e attività ...
Come mostrare l'overlay OSD in app e giochi Linux a schermo intero
Giocare a giochi a schermo intero o utilizzare app in modalità a schermo intero senza distrazioni può tagliarti fuori dalle informazioni di sistema ri...