Presentati al FOSDEM i piani per GRUB: versione 2.06 all’orizzonte

0

Nei giorni scorsi si è svolto a Bruxelles il FOSDEM (Free and Open source Software Developers’ European Meeting), l’incontro europeo per gli sviluppatori di software libero ed open-source.
Tra i vari argomenti, uno dei manutentori di GRUB ha presentato le linee guida per il futuro. Di questa presentazione sono state rese disponibili delle slide, che andiamo ad analizzare.

Tra le prime troviamo un elenco delle novità già introdotte nel corso del 2019.
Ricordiamo:

  • l’aggiunta del supporto all’architettura RISC-V, il progetto per un chip open-source;
  • il supporto al DHCPv4, permettendo la configurazione (e quindi l’uso) della scheda di rete fin dal boot;
  • il supporto al formato LUKS2, il nuovo standard di criptazione dei dischi in Linux.

Curiosamente trova spazio in questo elenco anche il rilascio di GRUB 2.04, ma la motivazione diventa chiara subito dopo: una delle novità per l’anno prossimo è la scelta di fare almeno un rilascio all’anno. Quindi, anche GRUB abbandona il motto di “rilasciamo solo quando è pronto” per abbracciare una periodicità definita.

Viene poi sottolineato il supporto che Red Hat sta fornendo, con continui contributi all’upstream. Ovviamente, in questo senso, tutte le altre distribuzioni sono invitate a fare altrettanto.
Altro annuncio è il supporto previsto per le tecnologie TXT di Intel e la similare SKINIT di AMD: si tratta tecniche che prevedono certificati e crittografia, con un supporto dedicato dell’hardware, per garantire l’integrità (e quindi la sicurezza) del codice da eseguire. Poter fornire questa garanzia è importante per creare una catena i fiducia in tutto il processo di boot, avvio del SO compreso.

Troviamo anche la rimozione di una vecchia caratteristica di GRUB: poter essere scritto in 62 settori nei dischi MBR.
Tradizionalmente, infatti, i primi 63 settori del disco erano lasciati ad uso del boot manager, che però si ritrovavano uno spazio massimo utilizzabile non estensibile. E 62 settori sono 31 kB: davvero pochini per i programmi di oggi, considerando anche la gestione di sicurezza e affini. O anche solo riguardando l’elenco delle funzionalità aggiunte a GRUB…
GPT, il formato che sta soppiantando MBR, non lascia quello spazio, preferendo l’uso di una partizione dedicata, quella per UEFI – o comunque una apposita in sistemi legacy che usino GPT. Il problema, quindi, non si pone più, e permette la rimozione di quel limite.

Non si tralasciano i punti dolenti, che possiamo riassumere in: sviluppatori. Sembra che il fenomeno di inviare ai manutentori solo una parte del lavoro, quello iniziale, e non completarlo mai sia una piaga tanto diffusa da generare un appello per una maggiore concretezza. Si chiede anche di evitare di basare eventuali modifiche su versioni di GRUB specifiche di una certa distribuzione, ma invece di fare riferimento sempre a quella upstream. Ultima cosa: leggere gli appunti. Se una certa patch viene rifiutata con delle argomentazioni, ignorare quest’ultime non è d’aiuto a nessuno: meglio dichiarare di essere in disaccordo, e creare un confronto, che fare finta di nulla.
Francamente sembrano solo norme di buona educazione, ma forse il fatto che i manutentori siano solo tre e l’argomento molto delicato porta ad un carico di lavoro che, senza quelle buone norme, diventa semplicemente insostenibile.

Insomma, un bel programma per un pezzetto di software tanto piccola quanto fondamentale.

Ultimo dettaglio: l’ultima slide ha solo il logo di Oracle. Vorrà dire qualcosa?

Ho coltivato la mia passione per l’informatica fin da bambino, coi primi programmi BASIC. In età adulta mi sono avvicinato a Linux ed alla programmazione C, per poi interessarmi di reti. Infine, il mio hobby è diventato anche il mio lavoro.
Per me il modo migliore di imparare è fare, e per questo devo utilizzare le tecnologie che ritengo interessanti; a questo scopo, il mondo opensource offre gli strumenti perfetti.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *