Repository 32bit  Forum
Repository 64bit  Wiki

Acer Aspire One 150L

Da Slacky.eu.

Indice

Installazione di Slackware 12.1 sull'Acer Aspire One 150L

Questa breve guida spiega come installare e configurare Slackware 12.1 sull'Aspire One 150L in modo da riconoscere tutto l'hardware presente nel netbook.

Prefazione

Tutto quello che viene descritto in questo documento è stato testato da me personalmente, ho preso spunto dall'articolo [1] scritto da Paul Liu che ringrazio per la sua disponibilità e cortesia, ringrazio anche tutta la community di slacky.eu per le numerosei informazioni che ho reperito nel forum. La differenza principale tra il modello 150L e i suoi predecessori sta nell'hard disk che è hdd(hard disk drive) da 120GB e non un ssd(state solid disk) da 4 o 8GB, quindi qualche punto della guida potrebbe non essere attuabile nei modelli precedenti(ad esempio l'installazione, per la quale rimando all'articolo di Paul Liu).

Requisiti

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. Nel mio caso:

  • /(ext3)
  • /home(ReiserFS)
  • una fat
  • poco più di 1GB di swap.

Procedere con una normale installazione, magari una full tanto c'è spazio in abbondanza, installate lilo nell'MBR e non riavviare per evitare un kernel panic.

Evitare il Kernel Panic

Al riavvio si otterrebbe un kernel panic, quindi per ovviare a questo problema 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 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 Linpus ci permette di avere un kernel già ottimizzato per l'Acer One, infatti questo kernel già patchato supporta tutto l'hardware presente nel netbook. Procedere con il riavvio.

Configurazione del server X

Anche in questo caso approfittiamo dei file già ben configurati presenti nel cd di Linpus. Copiare i file xorg.conf e Xmodmap(che 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à 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

La configurazione del touchpad l'ho sempre trovata ostica quindi sono andato per tentativi e non assicuro che seguendo la guida tutto andrà liscio. 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, il comando:

echo mem > /sys/power/state

E' importante sottolineare 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 dobbiamo 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

echo swap:/dev/sda2 > /sys/power/tuxonice/resume

Anche per l'ibernazione vale il discorso del wireless fatto in precedenza.

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. La soluzione è 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 è anche possibile personalizzare l'intervallo di temperature creando il file /etc/acerfand.conf 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 e anche se esiste il thermal monitor che spegne la CPU nel caso in cui dovesse surriscaldarsi è necessario dire che l'utilizzo di acerfand lo fate a vostro rischio e pericolo.

Webcam

La webcam funziona caricando il modulo uvcvideo, la si può testare con luvcview -f uvc Per usare la webcam da utente è necessario inserire l'utente nel gruppo video. Per registrare filmati si può 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.

Strumenti personali
Namespace

Varianti