AVVIARE Linux DA Google Drive: UN ESPERIMENTO AUDACE
Un amico vi sfida dimostrandovi di essere riuscito ad eseguire il boot di una distribuzione Linux tramite NFS (Network File System)? Rispondete spiegando di essere in grado di avviare Linux da Google drive. Vi sembra impossibile? A riuscire nell’impresa è un ricercatore indipendente che spiega nel dettaglio i passaggi seguiti e illustra le tante problematiche incontrate lungo il cammino.
Conoscere il processo di avvio di Linux
Per comprendere la complessità dell’impresa, che ha permesso di avviare Linux da Google Drive, è essenziale conoscere il processo di boot del “pinguino”.
Con l’obiettivo di predisporre il boot da Google Drive, il ricercatore ha provveduto a usare un meccanismo initramfs personalizzato.
PREPARAZIONE DELL’AMBIENTE E LA “SCOMMESSA” SU FUSE
L’autore del progetto ha utilizzato Arch Linux come base dell’esperimento per avviare il sistema operativo dalla piattaforma Google Drive. Ha clonato il repository Dracut, uno strumento per creare un initramfs personalizzato, quindi ha creato un container Docker per costruire l’ambiente di sviluppo.
Lo sviluppatore ha messo a punto un modulo Dracut per includere i file binari necessari a supportare FUSE (Filesystem in Userspace).
FUSE: L’INTERFACCIA Software ESSENZIALE
FUSE fornisce un’API di alto livello, semplificando lo sviluppo di file system personalizzati rispetto alla Programmazione diretta del kernel. Il programma google-drive-ocamlfuse, pubblicato su GitHub, utilizza FUSE per presentare Google Drive come un file system locale. L’inclusione dei binari FUSE a livello di initramfs permette di montare Google Drive nelle prime fasi del processo di avvio.
Creazione dell’initramfs personalizzato e dell’immagine EFI
L’autore dell’ambizioso progetto spiega che il semplice script Dracut ha permesso di aggiungere all’initramfs i binari necessari per FUSE.
EFI è un’interfaccia tra il firmware del sistema e il sistema operativo. Un’immagine EFI è un file eseguibile che contiene le istruzioni necessarie per avviare il sistema operativo in un ambiente UEFI. Usando ancora Dracut, il ricercatore ha predisposto un’immagine EI personalizzata includendo moduli e driver specifici.
Quali sono i possibili sviluppi futuri
L’esperimento, sebbene al momento resti sostanzialmente un esercizio accademico, apre la strada a interessanti possibilità: – Avvio di Linux da altri servizi remoti – Utilizzo di repository Git come file system root, permettendo il tracciamento delle modifiche – Potenziali applicazioni in ambienti cloud native e di Edge computing.
Quanto realizzato dimostra, ancora una volta, la flessibilità e adattabilità delle soluzioni Linux, utili per spingere al limite ciò che è possibile fare sul versante dei Sistemi Operativi e dell’Archiviazione Cloud. Sebbene non sia ancora una soluzione pratica per l’uso quotidiano, il progetto descrive il grande potenziale delle future innovazioni nel campo dell’integrazione tra sistemi operativi e servizi cloud.
Credit immagine in apertura: Copilot Designer.