Repository 32bit  Forum
Repository 64bit  Wiki

Acer Aspire One 150L

Da Slacky.eu.

Indice

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

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 è sufficiente 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/

Una volta 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-. E' importante sottolineare che SI DEVE OBBLIGATORIAMENTE utilizzare un tema configurato per una risoluzione di 800x600, altrimenti questo 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.

Da ultimo è 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 è comunque possibile migliorarne il funzionamento, visualizzando lo stesso splash screen di Linpus. Per ottenere questo risultato utilizzare xhkeys ed inserire, all'interno del file /etc/rc.d/rc.local, le seguenti righe 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. Infine 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, ma di fatto la scheda audio è riconosciuta perfettamente ed è semplice switchare dal microfono interno a quello esterno. Dalle prove che ho effettuato è risultato che il microfono interno funziona, ma l'audio è pessimo ed ha un volume troppo basso. L'unico modo per sentire qualcosa(un ritorno) è effettuare 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

NB: Ho usato Linpus per troppo poco tempo per provare il microfono interno quindi se qualcuno si trova ad utilizzare l'Acer One originale gli sarei grato se dopo qualche prova volesse farmi sapere come è andata.

Conclusioni

Slackware si avvia in circa 60 secondi (da Lilo alla schermata di login di kdm), tempo che considero accettabile dal momento che uso assiduamente la sospensione.

FireEater

Strumenti personali
Namespace

Varianti