Google Chrome OS è il sistema operativo che Google lancerà nel 2010. Sarà un sistema operativo dedicato ai netbook e che utilizzerà il web come piattaforma applicativa: i programmi saranno utilizzati all'interno del browser Chrome incluso nel sistema. Dallo scorso novembre il codice sorgente dal quale Google costruirà il sistema operativo è stato rilasciato con licenza open source (la licenza principale è la BSD license) ed è stato chiamato Chromium OS (Chromium è il codice sorgente utilizzato per il browser Chrome).
Poiché non esistono ancora, ad oggi, versioni di Chrome OS, l'unico modo per provare il sistema è compilarlo dal codice sorgente di Chromium OS ed installarlo su uno dei computer compatibili oppure utilizzarlo all'interno di una macchina virtuale VMware o Virtualbox. Esistono già online diverse immagini del sistema operativo da utilizzare con uno di questi ultimi due software.

In questo articolo vedremo invece come compilare una versione funzionante di Chromium OS su Linux a partire dal codice sorgente open source. Alla fine del processo di installazione si potrà copiare l'immagine del sistema operativo su una chiavetta USB (almeno 4 GB) per eseguire attraverso di essa l'avvio del computer, oppure creare un'immagine per il Vmware player o per Virtualbox così da usare il nuovo sistema operativo di Google direttamente sul proprio desktop.
Per completare i passi, ricavati dalla guida ufficiale, abbiamo usato la versione server di Ubuntu 9.10 (Karmic Koala) in versione 32 bit, installata senza nessun pacchetto di programmi. La compilazione del sistema richiede dalle 2 alle 5 ore, in base all'hardware e alle procedure che si decide di utilizzare, ma è molto semplice grazie ad un gran numero di script messi a disposizione direttamente da Google. Nel nostro caso il sistema è stato compilato con successo al primo colpo. L'unica attenzione è di avere a disposizione almeno 13 GB di spazio sul disco rigido.
Tutti i comandi vanno eseguiti da un account ordinario, penseranno gli script a chiedere la password di root. Passiamo subito a verificare i prerequisiti.
Prerequisiti
Per prima cosa creiamo una directory in cui andremmo ad includere tutti i file che serviranno per la compilazione del sistema operativo. Consigliamo vivamente di creare la directory nella directory radice del proprio account (create un nuovo account nel caso non voleste toccare il vostro): gli script e i comandi che useremo faranno sempre riferimento a questo percorso. Ricordiamo che il percorso a partire dalla directory radice del proprio account si può sintetizzare utilizzando il carattere tilde (~) che si può utilizzare con la combinazione di tasti AltGr + ^ oppure con la combinazione ALT + 126 (sul tastierino numerico). Per tornare alla directory radice basta inoltre scrivere cd
e premere Invio.
Installiamo a questo punto tutti i pacchetti che sono necessari alla compilazione del codice sorgente. Il processo è semplificato da uno script fornito da Google che si trova all'indirizzo http://src.chromium.org/svn/trunk/src/build/install-build-deps.sh
# Torniamo alla directory radice del nostro account (se non ci siamo già) $ cd # Scarichiamo lo script dai server di Google $ wget http://src.chromium.org/svn/trunk/src/build/install-build-deps.sh # Eseguiamo lo script $ sh install-build-deps.sh
Lo script installerà alcuni pacchetti comuni di sviluppo (python, perl, gcc e così via) e diverse librerie. Inoltre chiederà la password di root e bloccherà due volte lo script. La prima per chiedere se installare i simboli di debug: se non avete esigenze specifiche rispondete no premendo il tasto n
Dal pacchetto di Google mancano un paio di programmi che ci saranno indispensabili durante il processo. Installateli con il seguendo comando
$ sudo apt-get install git-core zip qemu
Sarà necessario anche installare i tool che ci consentiranno di scaricare il codice sorgente dagli archivi di Google. Il percorso di questi pacchetti deve essere incluso anche nel path di Linux in modo da poterli richiamare da qualsiasi punto del sistema operativo. Da notare una cosa: il cosiddetto apice inverso (`) richiesto da un paio di comandi successivi si ottiene con la combinazione di tasti AltGr + ' ALT + 96
Il codice sorgente del sistema operativo
Preleviamo per prima cosa il codice sorgente di Chromium OS che andremo a compilare più avanti. Per farlo scaricheremo l'ultima versione dei pacchetti dai server di Google attraverso il software git. Il procedimento porterà via una trentina di minuti.
Per lavorare con più comodità, creiamo un link simbolico alla directory che contiene il codice sorgente di Chromium OS:
La compilazione di Chromium OS avviene all'interno di un ambiente sviluppo esterno a quello che si utilizza tradizionalmente all'interno del sistema operativo. L'ambiente "chroot" deve contenere anche i pacchetti di compilazione specifici per l'ambiente, diversi da quelli che sono presenti nel sistema operativo. I due comandi che seguono mettono a punto il sistema proprio per questo scopo.
Aggiunta del browser
Il browser, il vero cuore del sistema operativo di Google, è un componente esterno al sistema che deve essere aggiunto a parte. Lo si può fare in due modi: o compilandolo dal codice sorgente oppure includendo una versione già compilata messa a disposizione da Google.
Il primo metodo garantisce di avere a disposizione l'ultima versione stabile del browser ma è molto più lento (la compilazione porta via anche un paio d'ore) e non garantisce il corretto funzionamento del sistema: nelle nostre prove, sebbene il sistema e il browser fossero stati compilati senza errori, Chrome OS dopo il login non riusciva a caricare il browser. Il secondo metodo è molto più veloce, ma la versione del browser che si utilizzerà sarà quella compilata da Google, non quella più recente (la versione disponibile al momento di scrittura di questo articolo è del 23 novembre).
Primo metodo: compilazione da codice sorgente
Per scaricare il codice sorgente ci si porti con il browser alla pagina http://build.chromium.org/buildbot/archives/chromium_tarball.html e si scarichi la versione offerta dal link (nel nostro caso era chromium.r33673.tgz) includendola nella directory radice del nostro account. Poi si eseguano i seguenti comandi:
È bene a questo punto aggiornare i pacchetti di Chromium per avere sempre a portata di mano quelli più stabili e adatti alle proprie necessità. Per fare ciò si deve entrare nella directory appena creata e configurare il software Git.
# Entriamo nella directory di Chromium $ cd ~/chromium/ # Sincronizziamo i pacchetti specificando che ci serviranno per compilare Chromium all'interno di Chromium OS $ gclient sync --deps="unix,chromeos" --force
È arrivato il momento di compilare Chromium, il browser che sarà incluso in Chromium OS. Il processo è molto lungo e potrà portare via anche un paio d'ore. Al termine la compilazione produrrà un file zip che verrà automaticamente spostato nella directory ~/chromiumos/src/build/x86/local_assets
Secondo metodo: aggiunta software già compilato
Il secondo metodo è molto più semplice e veloce. Basta aprire la directory online all'indirizzo http://build.chromium.org/buildbot/archives/ e scaricare l'ultima versione in formato zip di Chromium per il Chromium OS. Nel nostro caso il file era chiamato chromium-chromiumos-r32516.zip. Questo file andrà poi spostato nella directory ~/chromiumos/src/build/x86/local_assets (che dovrà essere eventualmente creata) e rinominato in chrome-chromeos.zip.
Avviare la compilazione
Non ci resta ora che avviare la compilazione del sistema operativo. Il procedimento si avvia all'interno dell'ambiente chroot attraverso uno file presente nella directory degli script e porterà via circa un'ora e venti minuti. Tra le opzioni che è possibile impostare prima di avviare la compilazione c'è quella che consente di creare un account locale che consente di eseguire il login anche se non si è in presenza di una connessione ad Internet e quella che consente di creare la password personalizzata dell'account di test (che risponde al nome di chromeos), altrimenti impostata dal sistema.
Distribuzione del sistema
Una volta compilato, il sistema può essere distribuito in diversi modi. I due più semplici sono attraverso una chiavetta USB per eseguire il boot del computer da questo dispositivo oppure attraverso un'immagine per software di virtualizzazione come VMWare o VirtualBox.
Copia su chiavetta USB
Eseguire le seguenti istruzioni
Lo script copierà l'ultima immagine disponibile nella directory ~/chromiumos/src/build/images/ e la copierà sulla chiavetta USB che, per impostazione predefinita, risiede al percordo /dev/sdb. Se si volesse cambiare l'immagine da copiare o il percorso del dispositivo USB si dovrà usare la seguente sintassi modificando i valori SUBDIR con la directory in cui è conservata l'immagine e USBKEYDEV con il percorso del dispositivo.
Dopo aver copiato l'immagine sulla chiavetta USB sarà possibile avviare da essa il netbook, eventualmente modificando dal Bios l'ordine di boot del sistema.
Copia su immagine VMware
Eseguire le seguenti istruzioni
Anche in questo caso si possono personalizzare sia l'immagine da copiare (predefinita: l'ultima disponibile) sia il nome del file di destinazione (predefinito: ide.vmdk
$ ./image_to_vmware.sh --from=~/chromiumos/src/build/images/SUBDIR --to=~/chromiumos/src/build/images/SUBDIR/FILENAME.vmdk
L'immagine così creata potrà essere utilizzata su VMWare Virtualbox
Cancellazione dell'ambiente di sviluppo
Per cancellare l'ambiente di sviluppo appena creato, e liberare spazio su disco, va eseguito il comando ./make_chroot.sh --delete da eseguire dalla directory degli script: