Ubuntu 9.04 (Jaunty) su Asus EeePC 901

eee-pc-901Con l’uscita della versione 9.04 di Ubuntu Linux, questa distribuzione ha veramente fatto passi da gigante per quanto riguarda il supporto ai netbook. Oltre a rilasciare una versione specificatamente pensata per i piccoli device (che integra di default l’interfaccia Notebook Remix), sono stati inclusi nel kernel tutti i moduli necessari a far funzionare le periferiche di questi device.

Per installare Ubuntu sull’EeePC dobbiamo per prima cosa procurarci la ISO dell’ultima versione e poi utilizzare una delle seguenti utility per preparare una chiavetta USB (da almeno 1 Gb) che ci permetterà di effettuare l’installazione: USB Startup Disk Creator, disponibile a partire dalle ultime versioni di Ubuntu (si trova in System–>Administration) oppure Unetbootin, che potete trovare a questo indirizzo: http://unetbootin.sourceforge.net/

Nel caso vogliate installare la versione NBR (Notebook Remix) di Ubuntu, che viene distribuita in formato .img dovete invece attenervi alle istruzioni che trovate su questa pagina: https://help.ubuntu.com/community/Installation/FromImgFiles

Una volta preparata la chiavetta USB (o in alternativa va bene anche una memoria di tipo SD) dovrete utilizzarla per fare il boot (vi ricordo che per fare il boot da USB dovete premere ESC nei primi secondi di accensione dell’EeePC) e procedere all’installazione come se fosse un normale PC. Se posso darvi un consiglio su come partizionare, vi suggerisco di utilizzare il disco da 4 Gb per la root / e quello da 16 Gb (o 12 Gb a seconda dei modelli) per la /home.

Completata l’installazione, al riavvio dell’EeePC avrete una piacevole sorpresa: tutte le periferiche saranno perfettamente riconosciute! Questo dimostra l’ottimo lavoro che è stato fatto per supportare questa fascia di dispositivi. E’ necessaria tuttavia qualche altra piccola ottimizzazione per poter sfruttare al 100% il nostro netbook.

Per prima cosa vi consiglio di installare gli script di elmurato che vi permetteranno di utilizzare correttamente tutti i tasti funzione (Fn+Fx). Perchè possano funzionare dovrete anche installare sia un pacchetto presente nella Ubuntu, sia uno incluso nel tar.gz, seguendo le seguenti istruzioni:

sudo apt-get install dkms
sudo apt-get remove --purge nvidia-common
tar xzvf Jaunty_Eeeasy-Scripts.tar.gz
cd Jaunty_Eeeasy-Scripts
sudo dpkg --install asus-eee-dkms_3.0_all.deb
sudo ./eeeasy-scripts.sh

A questo punto non vi resta che riavviare il vostro EeePC e l’installazione sarà completata. Se vogliamo essere precisi, ci sono ancora un paio di piccole cose da migliorare. Noterete infatti che il tasto per abilitare/disabilitare il bluetooth non funziona correttamente. Si tratta di un bug del kernel 2.6.28 che viene fortunatamente risolto con la versione 2.6.29 di cui elmurato fornisce i pacchetti .deb già compilati: http://www.informatik.uni-bremen.de/~elmurato/EeePC/ (dovrete installare linux-headers-* e linux-image-* ).

La versione 2.6.29 del kernel include anche una versione aggiornata del modulo che fa funzionare la scheda wireless, permettendoci di avere un segnale piu’ stabile.

Consiglio infine di aggiungere la seguente stringa in fondo al file /etc/modprobe.d/options (createlo se non esistesse): options psmouse proto=imps
questa opzione fa in modo che il touchpad funzioni meglio rispetto a come viene configurato di default.

Ubuntu Linux 8.10 su Asus EeePC 901

Dal momento in cui ho acquistato l’Asus EeePC 901, ho rimosso la versione personalizzata di Xandros Linux che viene installata su questi modelli, ed ho installato una versione personalizzata di Ubuntu: Ubuntu-eee 8.04.1.

Questa versione, pensata appositamente per i netbook della Asus, è davvero molto comoda perchè integra di default un kernel con tutte le patch ed i driver per far funzionare l’EeePC, che invece non sono contenuti nel kernel distribuito dalla Ubuntu 8.04 standard. Ubuntu-eee installa anche l’interfaccia Netbook Remix che è una particolare interfaccia grafica adatta per i netbook con schermi di ridotte dimensioni.

L’idea di avere una distribuzione basata su Ubuntu che integra già tutte le patch necessarie per farla funzionare mi è sembrata subito una buona idea, tanto che ho anche pensato di inviare un piccolo contributo in denaro durante la campagna di raccolta fondi per finanziarne lo sviluppo.

I problemi di Easy Peasy

Dalla versione successiva alla 8.04.1, Ubuntu-eee ha dovuto cambiare nome (per non violare le regole del marchio “Ubuntu” di proprietà di Canonical), e fin qui nulla di male. Quello che non mi è affatto piaciuto è che mentre per il logo è stato fatto un apposito concorso e poi scelto il migliore, per il nome l’autore ha scelto a “gusto” proprio: Easy Peasy.

Digerita la questione del nome, ho deciso di provarla sul mio EeePC. L’impressione è stata a dir poco pessima. Tanto per cominciare si nota da subito che la distribuzione non è stata minimamente testata: al primo riavvio dopo l’installazione, si presenta di nuovo l’installer, come se la dovessimo installare da zero. Il fix non è ancora stato rilasciato, in compenso l’autore ha spiegato come risolverlo a mano.

Oltre a questo, leggendo il forum, saltano fuori almeno un’altra decina di problemi con la Easy Peasy. Tutti problemi che sarebbero stati facilmente risolvibili in fase di creazione della distribuzione personalizzata, se solo fosse stata minimamente testata. Che ci possano essere dei problemi su una distribuzione generica come ad esempio la Ubuntu (che è pensata per girare su qualsiasi configurazione) lo posso anche capire.

Non mi pare accettabile che possano esserci così tanti problemi su una distribuzione che dovrebbe essere fatta appositamente per un certo modello di netbook.

Ubuntu 8.10

Deluso dalla versione personalizzata, ho deciso di provare ad installare la versione standardi di Ubuntu, sistemando a mano le cose che non andavano.

Installazione di base

L’installazione di Ubuntu 8.10 è identica a quella di Ubuntu-eee/EasyPeasy. E’ sufficiente creare una versione di Ubuntu che faccia il boot da una chiavetta USB oppure da una memoria SD, utilizzando la comoda utility presente in Ubuntu 8.10 (System->Administration->Create a USB startup disk) oppure tramite Unetbootin.

Completata l’installazione, come già accennato, molte periferiche (come ad esempio la webcam, la scheda wireless o i tasti funzione) non saranno riconosciuti, ma questo già lo sapevamo. La scheda ethernet è invece riconosciuta e configurata perfettamente da Ubuntu 8.10, quindi è possibile utilizzare provvisoriamente il cavo per connettersi e completare l’installazione delle componenti mancanti.

Il kernel ottimizzato per EeePC

La prima cosa da installare è il kernel personalizzato di Adam. Questo kernel integra tutte le patch necessarie al funzionamento di tutte le periferiche dell’EeePC. Non mi dilungherò in questo post nella spiegazione di come si installa, rimandandovi invece all’howto originale, presente sul sito dell’autore: http://array.org/ubuntu/setup-intrepid.html

eee-control

Questa utility ci permette di far funzionare tutti i tasti funzione del nostro EeePC (Fn+F*) e di tenere sotto controllo alcuni parametri di sistema come ad esempio la temperatura, la velocità della ventolina ed infine di disabilitare le periferiche che non utilizziamo sul momento (come ad esempio il bluetooth o la wifi) in modo da prolungare la durata della batteria.

Per installarla è sufficiente seguire le istruzioni sul sito dell’autore oppure scaricarla direttamente da questo indirizzo: http://greg.geekmind.org/eee-control/deb/eee-control_0.8.3_all.deb

Altre ottimizzazioni

Per ottenere il massimo dal proprio EeePC è necessario effettuare ancora qualche piccolo aggiustamento. I consigli che seguono potrebbero applicarsi anche ad altri modelli di EeePC anche se personalmente ho avuto modo di testarli solo con l’EeePC 901.

laptop-mode

Per abilitare alcune ottimizzazioni per i notebook, dobbiamo abilitare il laptop-mode all’interno del file /etc/default/acpi-support
ENABLE_LAPTOP_MODE=true
infine dobbiamo modificare il file /etc/laptop-mode/laptop-mode.conf
ENABLE_LAPTOP_MODE_ON_BATTERY=1

noatime

E’ consigliabile utilizzare l’opzione noatime al posto di relatime per fare il mount delle partizioni ext3. In questo modo si evita che vengano scritte su disco le informazioni relative all’ultimo accesso (anche in lettura) di un file. Dobbiamo modificare /etc/fstab in questo modo:
UUID=dce586c1-db13-43c3-8e12-9e1aec67afce / ext3 noatime,errors=remount-ro 0 1

N.B: questa riga non va copiata così com’è, va soltanto sostituito relatime con noatime in quella del proprio file.

Altre ottimizzazioni possono essere trovate sul wiki di Ubuntu-eee: http://www.ubuntu-eee.com/wiki/index.php5?title=User_Guides

Conclusioni

Ammetto che avere una distribuzione che integri di suo tutte queste modifiche potrebbe far risparmiare del tempo. Se questa distribuzione però non viene rilasciata con già tutti i fix necessari a far funzionare il modello di netbook per cui è stata fatta, a che serve? A quel punto tanto vale installare una distribuzione normale e cogliere l’occasione per imparare qualcosa, effettuando a mano le modifiche necessarie per farla funzionare.

Installazione e configurazione di Ubuntu Eee 8.04.1 su Asus EeePC 901

La versione di Linux che viene installata sugli EeePC (Xandros Linux) da Asus, sebbene sia l’ideale per chi non ha mai utilizzato Linux e desidera un netbook semplice da usare, tuttavia non permette di sfruttare pienamente le potenzialità che l’EeePC ha.

Poco tempo dopo l’uscita dei primi modelli degli EeePC sono iniziate quindi ad essere rilasciate distribuzioni alternative alla Xandros, ottimizzate per il netbook di Asus. E’ ovviamente possibile installare una qualsiasi distribuzione Linux, ma ovviamente il lavoro da compiere per far funzionare tutte le periferiche sarà maggiore rispetto a quello necessario con una distribuzione realizzata ad hoc.

La distribuzione che ho deciso di installare sul mio EeePC 901 è la Ubuntu Eee 8.04.1.

Per installare la Ubuntu Eee è necessario scaricarla dal sito web dedicato e poi trasferirla su una chiavetta USB o su un disco USB esterno (visto che l’EeePC non è dotato di lettore CD/DVD) utilizzando una utility chiamata Unetbootin e seguendo le istruzioni presenti sul wiki.

Dopo aver trasferito l’installazione sulla chiavetta USB dobbiamo inserirla nell’EeePC ed avviare premendo piu’ volte il tasto Esc. Quando compare il menu di avvio, dobbiamo selezionare il disco USB dalla lista e premere Invio per continuare.

Nel caso la Ubuntu Eee non si dovesse avviare, i motivi possono essere diversi. Per prima cosa dobbiamo controllare nella sezione Boot del BIOS se il disco USB è al primo posto nell’ordine dei dischi da cui fare il boot. Se non dovesse avviarsi nemmeno in questo caso, è possibile che la chiavetta USB non sia compatibile: a me è successo di non essere in grado di utilizzare una chiavetta USB da 1 Gb che avevo e sono dovuto ricorrere ad un disco esterno USB.

Se riusciamo ad avviare la Ubuntu Eee, saremo in grado di utilizzare l’installer grafico senza alcun problema. Il mio consiglio è quello di scegliere il partizionamento manuale e di utilizzare il primo disco SSD da 4 Gb per la root / ed il disco SSD da 16 Gb per la /home.

Le caratteristiche della Ubuntu Eee la rendono praticamente la distribuzione perfetta per gli EeePC:

  • supporto per gli Asus EeePC 701, 900, 900A, 901, 1000 e 1000H
  • occupa 1.8 Gb di spazio
  • Kernel ottimizzato di Adam con supporto per tutte le periferiche degli EeePC
  • interfaccia Notebook Remix predefinita (è possibile cambiarla tramite un’apposita utility)

Sebbene il setup e la configurazione predefiniti di Ubuntu Eee siano quasi perfetti, tuttavia sono necessari ancora alcuni ritocchi per fare in modo che tutto funzioni regolarmente.

Per prima cosa occorre commentare l’ultima riga di /etc/fstab, quella relativa al cdrom, altrimenti si otterrà un errore durante la fase di mount quando si inserisce una chiavetta USB.

Per ottenere il meglio dal risparmio energetico, consiglio di installare gli script ACPI di Murat che potete trovare a questo indirizzo: http://www.informatik.uni-bremen.de/~elmurato/EeePC/Hardy_ACPI_scripts-EeePC_900A_901_1000.tar.gz

Gli script permettono di attivare/disattivare alcune periferiche come il bluetooth, la webcam, la wifi ecc… consentendo alla batteria di durare piu’ a lungo. Per l’installazione sono sufficienti i seguenti passaggi:

tar xfvz Ubuntu_ACPI_scripts-EeePC_900A_901_1000.tar.gz
cd Ubuntu_ACPI_scripts-EeePC_900A_901_1000/
chmod +x install.sh
sudo ./install.sh

In particolare le funzionalità che vengono aggiunte sono le seguenti (gli hotkey sono quei tasti hardware posizionati sopra ad i tasti F1, F2, ecc…):

  • Fn+F1 Standby
  • Fn+F2 WLAN-toggle
  • Fn+F3/F4 Brightness
  • Fn+F5 VGA-toggle
  • Fn+F6 Taskmanager
  • Fn+F7/F8/F9 Volume
  • 1. new hotkey Display-toggle (internal)
  • 2. new hotkey Bluetooth-toggle
  • 3. new hotkey CPU frequency control or user-defined
  • 4. new hotkey Webcam-toggle or user-defined

Gli script di Murat purtroppo introducono un piccolo bug: viene disattivata la funzionalità “Dim when idle” del display (in pratica non viene abbuiato lo schermo quando non si usa l’EeePC). Per ripristinare questa funzionalità è sufficiente eseguire questo comando:

sudo cp /etc/acpi/backup/hal-system-lcd-set-brightness-linux /usr/lib/hal/scripts/linux/

A questo punto la configurazione dovrebbe essere al completo. Si consiglia di riavviare l’EeePC per rendere effettive tutte le modifiche. Per ulteriori trucchetti su come ottimizzare la configurazione, vi consiglio di visitare direttamente il wiki di Ubuntu Eee dove potrete trovare articoli piu’ approfonditi.

Come aggiornare il BIOS dell’Asus EeePC

L’aggiornamento del BIOS su un Asus EeePC puo’ essere fatto in una maniera che è completamente indipendente dal tipo di sistema operativo utilizzato.

Per prima cosa occorre scaricare dal sito della Asus, nell’apposita pagina di supporto, l’ultima versione del BIOS, facendo ben attenzione a selezionare il modello di EeePC che possediamo.

Una volta scaricato il file, dobbiamo decomprimerlo e copiarlo su una chiavetta USB o su un disco esterno USB, avendo cura di rinominarlo con il numero del modello del nostro EeePC. Se ad esempio possediamo l’Asus EeePC 901, dovremo rinominare il file in 901.ROM

A questo punto dobbiamo inserire la chiavetta USB nel nostro EeePC e riavviare il computer, premendo ALT+F2 durante la fase iniziale di avvio.

L’EeePC avvia l’utility di aggiornamento del BIOS che provvede a cercare sulla chiaveta USB il file “901.ROM“. Si consiglia di eseguire questa operazione alimentando l’EeePC tramite l’adattatore di corrente e di non affidarsi alla batteria perchè se si dovesse improvvisamente scaricare durante l’aggiornamento, il BIOS rimarrebbe in uno stato inutilizzabile.

Dopo pochi minuti l’aggiornamento sara’ completato ed il portatile verrà riavviato. Al primo avvio sara’ necessario riconfigurare nuovamente i parametri del BIOS, perchè essi vengono cancellati quando si esegue l’aggiornamento.

Il mio consiglio infine è quello di far effettuare l’aggiornamento ad una persona esperta, perchè in caso di errori l’EeePC diventerebbe inutilizzabile.

ControlEee – Control panel for EeePC

ControlEee è una piccola applicazione che ho scritto utilizzando Python/Qt4 e che permette di abilitare/disabilitare i dispositivi del bluetooth, della webcam e della wlan su un Asus EeePC.

Installando una versione personalizzata di Linux sugli EeePC (come ad esempio la Ubuntu-eee), non si ha la possibilità di attivare/disattivare questi dispositivi in maniera semplice (è possibile farlo solo da riga di comando) e di conseguenza si rischia di tenere attivate queste periferiche anche se non le utilizziamo, con lo svantaggio di consumare inutilmente piu’ batteria di quella di cui abbiamo bisogno.

Non trovando niente di semplice di già pronto in giro, mi sono deciso a scrivere questa utility. Al momento è in hosting presso Google Code e la potete trovare a questo indirizzo: http://code.google.com/p/controleee/

Al momento l’applicazione è stata testata soltanto su un Asus EeePC 901 con la distribuzione Ubuntu-eee 8.04.1, non è quindi garantito il funzionamento anche sugli altri modelli e/o utilizzando altre distribuzioni.