Acer Aspire One 150L
Indice
- 1 Installazione di Slackware 12.2 sull'Acer Aspire One 150L
- 2 Prefazione
- 3 Requisiti
- 4 Prima dell'installazione
- 5 Installazione
- 6 Evitare il Kernel Panic
- 7 Configurazione del server X
- 8 Configurazione Scheda Wireless
- 9 Configurazione Synaptics
- 10 Slot SD e SD/MMC
- 11 Sospensione ed Ibernazione
- 12 Fermare la ventola
- 13 Webcam
- 14 Splash Screen
- 15 Tasti Multimediali
- 16 Microfono
- 17 Conclusioni
Installazione di Slackware 12.2 sull'Acer Aspire One 150L
Questa breve guida vi introduce all’installazione e alla configurazione completa del sistema operativo Slackware 12.2 sul netbook Aspire One 150L.
Prefazione
Tutto quanto di seguito descritto è stato da me personalmente testato. A tal proposito ringrazio per la disponibilità e la cortesia manifestate Paul Liu dal cui articolo[1] ho preso spunto, insieme all’intera community di slacky.eu che mi ha aiutato nella configurazione grazie alle numerose informazioni presenti sul forum. La differenza principale tra il modello 150L e i suoi predecessori consiste nell’hard disk che è un hdd(hard disk drive) da 120GB, non più un ssd(state solid disk) da 4 o 8GB. Pertanto, qualche passaggio della presente guida potrebbe non essere attuabile nei modelli precedenti, ad esempio la parte relativa all’installazione, per la quale rimando al predetto articolo di Paul Liu.
Requisiti
- Slackware 12.2
- Linux LINPUS (fornita assieme al netbook)
- Un sistema per avviare l'installazione di Slackware in un pc senza lettore dvd quindi: Lettore dvd USB, Penna USB avviante, Installare Slackware via FTP, Installare Slackware a caldo.
- Il repository di Slacky.eu
Prima dell'installazione
- Estrarre dal cd di LINPUS il file hdc1._.tar.bz2 decomprimendolo nel proprio HD.
tar xvf hdc1._.tar.bz2
Copiare i seguenti file:
- /boot/bzImage
- /etc/X11/xorg.conf
- /etc/X11/Xmodmap.
- /usr/bin/wlanconfig
- /usr/bin/add_driver.sh
- /usr/bin/rm_driver.sh
e le cartelle
- /lib/modules/2.6.23lw
- /etc/hibernate
- /usr/local/share/hibernate/scriptlets.d
Installazione
Una volta avviata l'installazione si deve scegliere il kernel huge, specificando il parametro hda=noprobe in modo che riconosca il disco SATA come sda e non come hda:
hugesmp.s hda=noprobe
Terminare la fase di boot ed effettuare le partizioni. Ho partizionato il mio HD in questo modo:
- /(ext3)
- /home(ReiserFS)
- una fat
- poco più di 1GB di swap usato principalmente per usufruire il suspend2disk.
Procedere con una normale installazione -magari una full, tanto c'è spazio in abbondanza-, installate lilo nell'MBR e non riavviare onde evitare un kernel panic.
Evitare il Kernel Panic
In caso di riavvio del sistema si otterrebbe un kernel panic, pertanto, al fine di ovviare a tale inconveniente si deve:
- montare la partizione di root ed usarla come root directory.
mount /dev/sda1 /mnt chrot /mnt
- Montare la penna usb, copiare il file bzImage, la cartella contenente i moduli del kernel ed infine aggiornare lilo:
mount /dev/sdb1 /mnt/zip cp /mnt/zip/bzImage /boot/vmlinuz-2.6.23lw cp -r /mnt/zip/2.6.23lw /lib/modules rm /boot/vmlinux ln -s /boot/vmlinuz-2.6.23lw /boot/vmlinuz lilo -v
Utilizzare il kernel di Linupus(il bzImage appena copiato), che è ottimizzato per l'Acer One, ci consente di supportare tutto l'hardware presente nel netbook grazie alle numerose patch che esso incorpora.
Solo a questo punto procedere con il riavvio del sistema.
Configurazione del server X
Anche in questo caso approfittiamo dei file già adeguatamente configurati presenti nel cd di Linpus. Copiare i file xorg.conf e Xmodmap(quest'ultimo ci servirà per i tasti multimediali)
cp /mnt/zip/xorg.conf /mnt/zip/Xmodmap /etc/X11
Accelerazione grafica 3d
Queste impostazioni nella sezione "Device section" dovrebbero raddoppiare la velocità di rendering e quindi di compiz.
Driver "intel" Option "AccelMethod" "exa" Option "MigrationHeuristic" "greedy"
ed inserire in /etc/profile
export INTEL_BATCH=1
Configurazione Scheda Wireless
Copiare nella cartella /usr/bin i file:
- add_driver.sh (che carica i moduli necessari e attiva la scheda di rete)
- rm_driver.sh (rimuove i moduli)
- wlanconfig (è utilizzato da add_driver)
Configurazione Synaptics
NB:Ho sempre incontrato difficoltà nella configurazione del touchpad quindi ho proceduto per tentativi. Pertanto non assicuro che seguendo la presente guida andrà tutto liscio! Mi scuso per questo inconveniente, promettendo di approfondire la risoluzione anche di questa parte. Prima o poi.
Installare dal repository di slacky i seguenti pacchetti:
- synaptics
- libsynaptics
Eliminare il file psmouse da /etc/modprobe.d
rm /etc/modprobe.d/psmouse
Caricare il modulo Synaptics per il server X inserendo in xorg.conf le seguenti rihe:
Section "Module" Load "synaptics" EndSection
In caso di problemi provare a modificare la riga:
InputDevice "Synaptics Mouse" "AlwaysCore"
in questo modo:
InputDevice "Synaptics Mouse" "SendCoreEvent"
Slot SD e SD/MMC
L'Acer Aspire One possiede 2 slot per le schede di memoria: uno per schede SD e l'altro per SD/ MMC etc. Entrambi funzionano perfettamente caricando il modulo pciehp, che io ho inserito in /etc/rc.d/rc.local, in modo da caricarlo all'avvio.
Sospensione ed Ibernazione
Sospensione
La sospensione funziona nativamente tramite il comando:
echo mem > /sys/power/state
E' importante precisare che, per poter utilizzare la scheda wifi al ritorno dalla sospensione, è necessario rimuovere il modulo prima di sospendere il sistema e ricaricare i moduli al riavvio, utilizzando rispettivamente gli script rm_driver.sh e add_driver.sh in questo modo:
rm_driver.sh echo mem > /sys/power/state add_driver.sh
Ibernazione
Il kernel di Linpus è già predisposto per l'ibernazione quindi non si deve fare altro che installare l'hibernate-script.
wget http://www.tuxonice.net/downloads/all/hibernate-script-1.99.tar.gz tar xvf hibernate-script-1.99.tar.gz cd hibernate-script-1.99 ./install.sh
Copiare le cartelle /etc/hibernate e /usr/local/share/hibernate/scriptlets.d (quest'ultima non credo sia necessaria).
Modificare /etc/lilo.conf per passare il parametro "resume" al kernel:
append="resume=/dev/sdaX"
Dove X è il numero della partizione di swap. Testare il comando hibernate e nel caso di problemi fare come consigliato dall'output del comando stesso.
echo swap:/dev/sda2 > /sys/power/tuxonice/resume
Prima di ibernare il sistema si devono scaricare e ricaricare i moduli del wireless come descritto nella sezione relativa alla sospensione su RAM.
Fermare la ventola
Com'è noto, la ventola dell'Acere One è rumorosa e costante perché il BIOS non prevede una gestione intelligente della temperatura del processore che accenda la ventola solo quando la temperatura della CPU è sopra una certa soglia. La soluzione a questo fastidioso problema è acerfand, uno script in Perl scritto da Rachel Greenham, che permette di accendere la ventola solo quando necessario.
wget http://electronpusher.org/%7Erachel/acerfand wget http://aceracpi.googlecode.com/svn/trunk/acer_ec/acer_ec.pl cp acerfand acer_ec.pl /usr/local/bin chmod +x /usr/local/bin/acerfand
E' possibile mettere in /etc/rc.d/rc.local il comando acerfand in modo da avviare automaticamente il demone al boot. Di default acerfand accende la ventola quando la temperatura della CPU supera i 70°C e la spegne quando la temperatura scende sotto i 60°C. E' anche possibile personalizzare l'intervallo di temperature, di accensione e spegnimento della ventola, creando il file /etc/acerfand.conf che deve essere strutturato in questo modo:
INTERVAL=5 FANOFF=60 FANAUTO=70
Anche se Intel ha dichiarato che le CPU atom possono lavorare fino ad una temperatura di 99°C ed anche se esiste il thermal monitor, che spegne la CPU nel caso in cui dovesse surriscaldarsi, è necessario precisare che l'utilizzo di acerfand è in realtà a vostro rischio e pericolo.
Webcam
La webcam funziona caricando il modulo uvcvideo. La si può testare con il comando luvcview -f uvc. Per un corretto utilizzo da utente non privilegiato è necessario inserire l'utente stesso nel “gruppo video”. Per registrare filmati è possibile usare l'ottimo guvcview.
Splash Screen
Il kernel di Linpus è già patchato con il supporto per il vecchio bootsplash, quindi non ci resta che sfruttare questa patch e personalizzare l'initrd caricando un tema a nostra scelta. Per fare questo dobbiamo prima scaricare ed installare bootsplash
cd /etc mkdir bootsplash cp /cartella/dove/si/trova/il/file/bootsplash-x.x.x.tar.bz2 bootsplash/ cd bootsplash tar -xvjf bootsplash-x.x.x.tar.bz2 cd bootsplash-x.x.x/Utilities make splash strip splash cp splash /sbin/
Adesso che sono state installate le bootsplash utils possiamo creare l'initrd
mkinitrd -c -k 2.6.29.3lw -f ext2 -r /dev/sda1 -h swap:/dev/sda2 splash -s -f <path assoluto del file di configurazione del tema.cfg> > /boot/initrd-tree/bootsplash mkinitrd
A questo punto è necessario modificare le seguenti righe dal file /boot/extlinux.conf
kernel bzImage append vga=788 ro splash=silent initrd=/boot/initrd.gz
vga=788 imposta la risoluzione a 800x600 (sfortunatamente la risoluzione nativa 1024x600 non è supportata dal BIOS), è importante sottolineare che si DEVE usare OBBLIGATORIAMENTE un tema configurato per una risoluzione di 800x600 altrimenti non verrà visualizzato.
Per evitare di avere problemi con l'ibernazione si deve agire sul file /boot/initrd-tree/init individuando le righe riguardanti RESUMEDEV e modificandole in questo modo:
# Resume state from swap if [ "$RESUMEDEV" != "" ]; then echo "Trying to resume from $RESUMEDEV" echo $RESUMEDEV > /sys/power/tuxonice/resume echo > /sys/power/tuxonice/do_resume fi
Eseguire nuovamente mkinitrd e verificare che tuxonice trovi il device di swap.
mkinitrd dmesg|grep -i TuxOnIce
La prima riga dovrebbe essere:
TuxOnIce: Normal swapspace found.
Come ultima cosa è necessario modificare lilo.conf per usare l'initrd appena creato e per passare al kernel il parametro splash(che può essere silent o verbose).
image = /boot/vmlinuz initrd = /boot/initrd.gz append = "splash=silent" root = "/dev/hda5" label = "LinuxSplash" read-only <pre> ricaricare lilo nell'MBR/boot/vmlinuz-2.6.23lw <pre> lilo -v
Possiamo trasformare un famosissimo tema su slackware(s-slackware[2]) da 1024x768 a 800x600 ridimensionando le immagini e modificando il file di configurazione in questo modo:
# Slackware Linux bootsplash # Brenton Leighton # http://www.bootsplash.org/config.html # Mod based on BackTrack bootsplash # Modified by Igor ``Snake'' Lins version=3 # Bootsplash on or off. state=1 # Forground colour, 15 is white. # Background colour, 0 is black. fgcolor=15 bgcolor=0 # tx/ty are the x/y coordinates of the text window in pixels. # tw/th are the width/height of the text window in pixels. tx=65 ty=125 tw=669 th=431 # ttf message output parameters text_x=159 text_y=425 text_size=26 text_color=0xeef4ff # Full path to images. jpeg=/etc/bootsplash/themes/s-slackware/images/bootsplash-800x600.jpg silentjpeg=/etc/bootsplash/themes/s-slackware/images/silent-800x600.jpg # Progress Bar. progress_enable=1 # background box silent noover 159 520 640 536 #515151 box silent inter 159 520 204 536 #b7b7b7 #f2f2f2 #b7b7b7 #f2f2f2 box silent 159 520 640 536 #b7b7b7 #f2f2f2 #b7b7b7 #f2f2f2 # black border box silent 159 519 640 519 #b5b5b5 box silent 159 537 640 537 #b5b5b5 box silent 158 519 158 537 #b5b5b5 box silent 640 519 640 537 #b5b5b5 # Refreshes only the boxes (instead of the whole screen). This is a performace enhancement. overpaintok=1
Se non volete configurare la barra di avanzamento all'avvio potete impostare direttamente la modalità verbose da lilo.conf. I temi vanno installati in /etc/bootsplash/themes.
Tasti Multimediali
Alcuni tasti multimediali come quelli per la regolazione della luminosità o per disattivare il touchpad sono gestiti direttamente dal BIOS, ma possiamo comunque migliorare il loro funzionamento visualizzando lo stesso splash screen che viene visualizzato in Linpus. Per ottenere questo risultato utilizziamo xhkeys. Inserire all'interno del file /etc/rc.d/rc.local le righe seguenti per mappare i tasti multimediali:
/usr/bin/setkeycodes e025 130 /usr/bin/setkeycodes e026 131 /usr/bin/setkeycodes e027 132 /usr/bin/setkeycodes e029 133 /usr/bin/setkeycodes e071 134 /usr/bin/setkeycodes e072 135 /usr/bin/setkeycodes e055 159 /usr/bin/setkeycodes e056 158
Creare, nella propria home directory, un file chiamato .XHKeys che conterrà le azioni da eseguire alla pressione degli hotkey.
xhkeys.codeline10: 248;0;A#;/usr/bin/display.sh rotate xhkeys.codeline12: 191;0;A#;/usr/bin/hotkey_splash touchpad_on xhkeys.codeline13: 192;0;A#;/usr/bin/hotkey_splash touchpad_off xhkeys.codeline14: 78;0;A#;gotosleep xhkeys.codeline16: 123;0;A#;/usr/bin/hotkey_splash brightness_up xhkeys.codeline17: 239;0;A#;/usr/bin/hotkey_splash brightness_down xhkeys.codeline18: 160;0;A#;/usr/bin/mutecontrol xhkeys.codeline19: 176;0;A#;/usr/bin/volcontrol up xhkeys.codeline20: 174;0;A#;/usr/bin/volcontrol down xhkeys.codeline22: 115;0;A#;superhome xhkeys.codeline7: 233;0;A#;/usr/bin/hotkey_splash wireless_up xhkeys.codeline9: 234;0;A#;/usr/bin/hotkey_splash wireless_down
La prima riga riguarda il tasto fn+f5 che serve per passare dal monitor interno alla porta vga; per questa operazione Paul Liu[3], che ringrazio ancora per avermi inviato una versione aggiornata via email, ha scritto lo script display.sh[4] che va posizionato in /usr/bin e reso eseguibile. Le altre righe vengono gestite dal pacchetto linpus-hotkeys-1.0-5lp[5] che ho estratto e modificato dalla distribuzione originale. Installare linpus-hotkeys come specificato dal README:
make clean make make install
inserire in /etc/rc.d/rc.local il comando splash che serve per avviare il demone che visualizza le immagini quando si premono i tasti. Come ultima cosa si deve mettere in avvio automatico il comando
xhkeys -f ~/.XHKeys
Microfono
L'unico neo di tutta la configurazione è il microfono interno. Non ho ancora capito se sia un problema di driver o di qualità del microfono, di fatto la scheda audio è riconosciuta perfettamente ed è semplice switchare dal microfono interno a quello esterno. Dalle prove da me effettuate è risultato che il microfono interno funziona ma si sente malissimo e ad un volume troppo basso, l'unico modo per sentire qualcosa(un ritorno) è effettuando una registrazione con vlc; per chi volesse provare:
vlc v4l://:v4l-vdev="/dev/v4l/video0" :v4l-adev="/dev/dsp" :v4l-norm=3 :v4l-frequency=-1
Ho usato Linpus per troppo poco tempo per provare il microfono interno quindi se qualcuno si ritrova con l'Acer One “originale” lo pregherei di fare qualche prova e poi contattarmi. Grazie.
Conclusioni
Slackware si avvia in circa 60 secondi(da Lilo alla schermata di login di kdm) e per me è un tempo accettabile perché uso assiduamente la sospensione. Al momento sto mettendo a punto uno script per visualizzare lo stato di carica della batteria e per rendere possibile la modifica del governor della CPU perché al momento kpowersave non ci riesce.