// Stai leggendo ...

Hardware

[Esperimento]: Kernel ottimizzato per aspire one

I netbook sono l’ultima tendenza del momento: compatti, maneggevoli, dai consumi ridotti. Spesso venduti con una distribuzione linux preinstallata, che però permette di sfruttarne solo in parte le potenzialità. Quello che vi sottopongo oggi è una versione ottimizzata e personalizzata del kernel linux per l’Acer Aspire One: basata sulla versione patchata di ubuntu permette di utilizzare “out of the box” wifi, lettori di schede, modulo per la gestione delle ventole ed undervolting, il tutto “condito” con alcune patch (sreadahead) sviluppate da Intel per velocizzare i tempi di avvio…Dateci un occhio!!


ATTENZIONE:Sono disponibili i nuovi kernel basati sul rilascio 2.6.29-4. E’ caldamente consigliato utilizzare questi ultimi. Troverete tutte le informazioni, ottimizzazioni ed istruzioni del caso a questo indirizzo

L’ Acer Aspire One è certamente uno dei netbook, pc portatili dalle dimensioni, prestazioni e consumi limitati pensati per un utilizzo in mobilità, certamente più riusciti e che hanno avuto maggiore successo di vendite.

Acer equipaggia la versione base di questo “gioiellino” con una distribuzione linux (Linpus Lite) pensata ed ottimizzata appositamente per l’hardware della macchina in modo tale da garantire tempi di avvio estremamente ridotti e prestazioni certamente soddisfacenti.

Purtroppo però Linpus Lite, nata da un fork di Fedora 8, è una distribuzione incapace di soddisfare i “palati più fini”: se da un lato infatti permette di cominciare ad utilizzare immediatamente il proprio netbook grazie al nutrito parco software che spazia dagli strumenti d’ ufficio alla messaggistica istantanea e alla navigazione in rete, dall’altro fornisce per lo più programmi ormai obsoleti o alquanto limitati (si pensi al client di posta elettronica incompatibile allo standard IMAP).

Conseguenza naturale di questa situazione è stato il brulicare di tentativi più o meno riusciti di creare distribuzioni e kernel ottimizzati per l’ Aspire One, in modo tale di “liberarsi” di Linpus Lite e “spingere al massimo” la personalizzazione della propria macchina.

Tra i kernel ad oggi più diffusi in ambito debian e derivate vi è certamente quello preparato da SickBoy, che ha rappresentato una ottima base di partenza per i miei esperimenti che passo a condividere con voi.

A differenza di Sickboy infatti ho cercato di configurare il kernel, che è il vero cuore pulsante della macchina, in modo completamente statico.

Il mio obiettivo finale era quello di creare un kernel che all’ avvio “rispondesse” al comando

lsmod

restituendo una lista completamente vuota: questo avrebbe permesso di avviare (o addirittura non caricarlo affatto) udev, uno dei servizi fondamentali per ogni sistema “dekstop-oriented”, successivamente ad X (il gestore dell’interfaccia grafica), in modo da garantire tempi di boot inferiori di 4-5 secondi.

Il tutto accompagnato da alcune patch appositamente sviluppate da Intel per la piattaforma Atom nonchè da differenti scelte in ordine ai moduli da compilare.

Il risultato finale è un kernel “piuttosto monolitico” pensato per un uso decisamente “mobile”:

  • kernel 2.6.28 “Ubuntu version” (ha già tutte le patch che Canonical  applicherà alla prossima Ubuntu Jaunty);
  • moduli pensati alla navigazione internet con device umts/hsdpa/hsupa compilati come statici (pariamo di cdc_acm, usbserial, option, sierra, motorola…);
  • modulo usbpl per l’utilizzo di stampanti usb compilato come statico;
  • moduli dedicati all’hardware e alla connettività bluetooth compilati come statici;
  • patch per il funzionamento del led wifi;
  • modulo acerhdf per la gestione delle ventole compilato e funzionante “out of the box” (penso sia l’unico kernel ad oggi disponibile ad offrirlo :P);
  • modulo pciehp per l’hotplug del lettore di schede destro;
  • patch sreadahead per il file system ext3 sviluppata dalla moblin;
  • patch per l’undervolting volta a garantire minori consumi ed una maggior durata delle batterie;
  • il kernel per evitare problemi di incompatibilità ha initrd, ma è possibile ricompilarlo essendo impostati come statici tutti i moduli necessari al’avvio della macchina

Penso ci sia abbastanza materiale per “stuzzicare la vostra voglia di testare questo kernel” :)

Tutto dovrebbe funzionare “out of the box” senza che sia necessario alcun intervento invasivo da parte vostra, le uniche modifiche sono relative al file modules e non vi ruberanno più di 1 minuto: da terminale digitate

sudo gedit /etc/modules 

e quindi aggiungete in coda al file i valori

acerhdf
pciehp

I 2 moduli sono necessari per il corretto funzionamento delle ventole e dell’hotplug del lettore di schede: in particolare acerhdf a causa di un bug che ne causa un malfunzionamento dopo una sospensione non può essere compilato come statico.

Altri accorgimenti consigliati:

1) Assicuriamoci di riavviare acerhdf dopo una sospensione:

sudo gedit /etc/pm/sleep.d/00acerhdf

e quindi incolliamo quanto segue

#
# Restart acerhdf after suspension
#

case "$1" in
resume|thaw)
rmmod acerhdf
modprobe acerhdf
;;
*)
;;
esac
exit $?

Ora assicuriamoci di rendere eseguibile il file con il comando:

sudo chmod u+x /etc/pm/sleep.d/00acerhdf 

2) Assicuriamoci che il lettore di schede destro sia utilizzabile “a caldo”:

sudo gedit /etc/modprobe.d/sdhci

e quindi incolliamo quanto segue:

options pciehp pciehp_force=1
options sdhci debug_quirks=1

3) “Undervoltiamo” il netbook

 sudo gedit /etc/rc.local

e quindi incolliamo:

echo "12:16 10:1 8:1 6:1" > /sys/devices/system/cpu/cpu0/cpufreq/phc_controls

Qualora vogliate ottimizzare le impostazioni relative all’undervolting non vi resta che seguire i punti 3 e 4 di queste indicazioni mentre per il sreadhead seguite le indicazioni fornite da John Lamb.

Infine per i “perfezionisti” restano validi i consigli della wiki di Ubuntu.

Se siete arrivati a leggere fino a qui probabilmente vi state chiedendo quali siano i consumi della macchina dopo tutte queste personalizzazioni:  a monitor con illuminazione al minimo e wifi spenta siamo intorno ad un ragguardevole 7,6 watt (pari ad oltre 3 ore di lavoro) che si alza a 8,5 watt qualora si sia connessi ad internet in wifi o 9,6-10 watt in presenza di periferiche usb connesse al netbook.

Infine ecco i pacchetti:


Kernel headers (non necessari almeno fintatochè non vogliate compilare qualcosa)

Kernel image

ATTENZIONE:Sono disponibili i nuovi kernel basati sul rilascio 2.6.29-4. E’ caldamente consigliato utilizzare questi ultimi. Troverete tutte le informazioni, ottimizzazioni ed istruzioni del caso a questo indirizzo

Commenti

commenti


I commenti all'articolo

31 commenti for “[Esperimento]: Kernel ottimizzato per aspire one”

  1. Ottimo kernel, lo sto usando su un Aspire One 110L con Kubuntu Intrepid e riconosce tutto all’istante. Peccato che ogni tanto rallenta per scrivere sull’hd, ma credo sia un problema della distro, che ha di default un sacco di demoni forse indigesti per soli 512mb di ram.

    Commentato da ost | aprile 2, 2009, 10:50 |
  2. Ciao OST, sono contento tu sia rimasto soddisfatto :)
    A breve dovrei pubblicarne uno nuovo, con diverse migliorie e tempi di avvio notevolmente ridotti !!

    Per quanto riguarda la scrittura su disco il limite va più che altro ricercato nel disco solido utilizzato da Acer che è di pessima fattura. A breve spiegherò come sia possibile sostituirlo con una spesa di circa 30 euro con una mmc ben più “prestazionale”

    Commentato da skumpic | aprile 4, 2009, 23:16 |
  3. ciao, volevo sapere se questo kernel è ottimizzato per l’acer aspire one d150, grazie mille delle info e complimenti!

    Commentato da garion | aprile 20, 2009, 22:18 |
    • Ciao Garion, non ho mai avuto fisicamente tra le mani un D150, ad ogni modo a leggerne le caratteristiche l’unica differenza sostanziale dovrebbe essere la presenza di un disco “tradizionale”.
      A mio avviso non dovresti incorrere in problemi di sorta.
      In settimana comunque rilascio una nuova versione (la sto testando ora per verificare che non ci siano problemi) che permette il funzionamento di tutto l’hardware (lettore di schede di memoria sinistro incluso) “out of the box” e senza bisogno di alcun tweak o intervento da parte dell’utente finale.

      Commentato da skumpic | aprile 20, 2009, 23:06 |
      • io sto con ubuntu 9.04 rc e devo dire che quasi tutto funziona “out of the box” compreso lettore di schede di memoria sinistro (provato esclusivamente con SD) l’unica cosa non funzionante che ho rilevato sono tutti i tasti “fn” (ne vanno solo alcuni, tipo l’illuminazione) e il microfono interno.. leggendo sul wiki dovrebbe essere risolvibile la cosa.. infatti a ogni “release” di ubuntu vedo che migliora qualcosa.. ho provato a mettere il kernel di sickboy (2.6.29.1) ma mi da errore nel caricamento dei moduli.. non so sono user slackware è il mondo deb mi è un po “oscuro” aspetto la tua prossima release allora.. P.S. il kernel è il 2.6.29.1 ?

        Commentato da garion | aprile 21, 2009, 19:07 |
        • ciao Garion,
          il kernel è il nuovo 2.6.29.1 con diversi miglioramenti:
          * acerhdf ora non necessita di alcun trick per funzionare correttamente dopo una sospensione o ibernazione
          * patch coretemp per permettere la lettura della temperatura della cpu
          * compilata come statico la maggior parte dei moduli in modo da non utilizzare initramfs e initrd (boot più veloce di qualche secondo)
          * non è più necessario alcun trick per far funzionare il lettore di schede destro (niente pcieph force=1 ecc ecc)
          * dovrebbe leggere anche le memory stick (condizionale d’obbligo non avendone in casa ma riportando solo l’esperienza di un amico)

          Di default il nuovo kernel general di jaunty ha problemi con la gestione delle ventole e con il lettore di schede destro.

          Commentato da skumpic | aprile 23, 2009, 00:05 |
  4. Ciao, io uso sul d150 da 10 pollici la 9.04 non male funziona tutto, solo il mic interno non ne vuole sapere di funzionare…sono passato perfino a cambiare alsa alla 1.0.19 e pulse audio ma niente da fare non vuole assolutamnte vedermelo..funziona solo il mic esterno…qualcuno ne sa qualcosa??

    Commentato da Stefano | aprile 23, 2009, 21:36 |
    • Ciao Stefano, per il microfono basta aprire alsamixer (da gui o terminale) e cambiare l’interfaccia di registrazione da E-mic a I-mic.
      Per il kernel invece non concordo: con quello stock presente in jaunty non è possibile visualizzare correttamente la temperatura del processore e la ventola di raffreddamento va sempre al massimo (addio autonomia :P)

      ciao

      Commentato da skumpic | aprile 24, 2009, 15:27 |
      • Magari fosse così!!..ho solo una voce sugli interruttori…e corrisponde a quella del mic esterno…a mio avviso il problema e che non riesce a rilevare il mic interno!..ho tolto pulse audio perchè pensavo fosse lui..ma nulla da fare..poi ho cominciato a sostituire il driver con dei simili guardando sulle info dell alsa…con alcuni che corrispondevano a dei netbook molto simili al mio sono riuscito a vederlo nella lista degli interruttori…ma non funzionava per nulla e anche il resto non andava molto bene!..comunque dove posso scaricare il kernel in questione..grazie dell info! ;-)

        Commentato da Stefano | aprile 30, 2009, 19:49 |
        • ciao Stefano, il “mio” kernel lo puoi scaricare da qui:

          http://blog.liberailvoip.it/wp-content/uploads/linux-image-26287-skumpic-aao.deb

          Per quanto riguarda il mancato riconoscimento del mic interno il problema dovrebbe essere stato risolto a partire da alsa 1.018 e quindi con jaunty non si dovrebbero avere problemi!
          La prossima settimana rilascio una nuova versione del kernel ottimizzata per gli intel atom (compilando con gcc 4.4 atom branch) che si andrà a sostituire alla presente versione “generica”.
          Dovrebbe migliorare velocità di esecuzione e consumi energetici (certo per “toccare” con mano miglioramenti più consistenti si dovrebbe ricompilare tutto -e non solo il kernel- con queste ottimizzazioni)

          Commentato da skumpic | maggio 2, 2009, 11:03 |
  5. Ciao a tutti,
    a me servirebbe un aiuto un tantino urgente,ho provato a seguire le istruzioni sopra indicate, ma è successo che adesso non ho più nulla,m spiego meglio..adesso però si apre il sistema e si vede solo il desktop:
    da li ho cliccato col destro e sono riuscito ad entrare in documenti…
    per aprire firefox ho dovuto aprire il supporto in linea…ora vorrei tornare quantomeno alla situazione di partenza per poi vedere dove e come ho sbagliato.
    solo che non so bene come fare, anche perchè non so come aprire il terminale in questa situazione….comunque l’idea era ottima davvero solo che ho sbagliato qualche passaggio -,__,-
    grazie in anticipo!!!

    Commentato da Emilio | aprile 26, 2009, 14:56 |
    • Ciao Emilio, se il mio kernel ti da problemi è sufficiente premere il tasto ESC al caricamento di grub (all’avvio, poco dopo aver visualizzato il logo acer, compare un conto alla rovescia).
      A quel punto selezioni il precedente kernel (quello che trovi di default in molte distribuzioni dovrebbe essere il 2.6.27 o il 2.6.24)

      ciao

      Commentato da skumpic | aprile 27, 2009, 15:46 |
  6. ok grz!!adesso c provo e vedo cm va!

    Commentato da Emilio | aprile 28, 2009, 07:42 |
  7. ciao,
    ho provato ma nn esiste il tuo kernel.
    credo di aver combinato un pasticcio ben + grosso,sn ancora abbastanza inesperto e frse m sn cimentato in cs x me trpp complicate… xò pensavo:
    se il kernel 2.6.24 in qualke modo l’ho rovinato, posso provare ad installare il tuo.
    io avevo seguito i comandi quelli descritti su tipo sudo gedit /etc/modules e gli altri ma non ho installato un altro kernel. Dici ke riesco a installare il tuo avendo a disposizione solo il terminale o mi conviene formattare tutto?

    Commentato da Emilio | aprile 28, 2009, 07:55 |
    • ciao Emilio, non capisco esattamente cosa tu abbia fatto purtroppo (non capisco il perchè di aver inviato metà delle istruzioni indicate).
      Anche perchè queste comunque non dovrebbero pregiudicare il funzionamento di X (il server grafico).
      Ad ogni modo al caricamento di grub (vedi mio commento precedente) premi ESC, quindi seleziona il “recovery mode” (invece di selezionare la riga con il tuo kernel seleziona quella immediatamente sotto).
      Ti comparirà un menu grafico, seleziona netroot (devi aver avviato il sistema con il cavo lan connesso all’aspire).
      Ora da consolle testuale digita:

      wget http://blog.liberailvoip.it/wp-content/uploads/linux-image-26287-skumpic-aao.deb

      e successivamente:

      sudo dpkg -i linux-image-26287-skumpic-aao.deb

      Commentato da skumpic | aprile 28, 2009, 11:24 |
  8. ciao,
    non funziona nemmeno così…
    il problema è sempre lo stesso…
    nn ho proprio idea d cosa fare..
    -_-

    Commentato da Emilio | aprile 29, 2009, 13:11 |
  9. Ciao, ottimo il tuo kernel, grazie per averlo condiviso!
    Volevo chiederti come si può verificare se acerhdf è in funzione: prima di installare netbook remix avevo già installato lo script su linpus lite ed effettivamente la ventola rimaneva quasi sempre spenta; ora è sempre accesa (come prima che installassi lo script).
    Grazie!

    Commentato da Simone | maggio 7, 2009, 21:19 |
    • ciao Simone,
      la versione che sto testando ora dovrebbe essere nettamente migliore :P di quella disponibile ora.
      Senza alcun “fix” ho boot che si aggirano tar gli 11 ed i 13 secondi…
      Dovete solo pazientare ancora un paio di giorni, c’e’ un problemino con sreadahead che non sono ancora riuscito a sistemare

      ciao

      Commentato da skumpic | maggio 8, 2009, 16:10 |
      • Ciao, aspetto con ansia il nuovo kernel. hai risolto gli ultimi problemi? quando lo renderai disponibile?

        Grazie per il buon lavoro che fai

        Commentato da b1 | maggio 21, 2009, 13:00 |
        • ciao B1, si ho concluso anche le ultime verifiche.
          Maggio è stato un mese ricco di aggiornamenti e nuove patch che hanno ritardato un pochino il mio lavoro.
          Penso che questo sabato sia il giorno giusto per tornare a farmi visita :)

          Commentato da skumpic | maggio 21, 2009, 14:35 |
  10. Ciao Skumpic innanzitutto complimenti per il lavoro svolto e per averlo condiviso.

    Volevo chiederti se è già disponibile la versione 2.6.29.1 e dove posso scaricarla perchè ho letto che hai modificato con una patch coretemp per la temperatura della cpu, che è proprio quello che mi serviva.

    Altra domanda se potessi indicarmi come installarlo oppure consigliarmi una guida, dato che sono nuovo di linux e totalmente inesperto.

    grazie mille

    Commentato da Marco | maggio 26, 2009, 13:21 |
    • ciao Marco, ci sono continui rilasci del kernel che mi hanno spinto ad attendere ancora un pò prima di rendere disponibile la nuova immagine.
      Spero di farlo nei prossimi giorni (di ieri il rilascio del nuovo kernel 2.6.29-4), anche perchè ammetto di non essere stato molto di parola !! Ma il richiamo di Moblin, e seguente smanettamento, mi hanno rubato più tempo del preventivato!

      Commentato da skumpic | maggio 26, 2009, 19:05 |
  11. Ciao Skumpic ho provato ad installare il tuo kernel (2.6.28.7) e all’avvio mi viene fuori il messaggio “modprobe: FATAL:could not load /lib/modules/2.6.28.7–skumpic-aao/modules.dep: No such file or directory” però il sistema si avvia; sai dirmi il motivo? Grazie…

    Commentato da Marco | maggio 27, 2009, 14:45 |
  12. Ciao skumpic ho provato ora ma l’errore al boot mi compare sempre…però riesco ad avviare ubuntu e a lavorarci…ho provato anche ad editare il modulo per le sd come hai scritto e funziona (con il kernel generico non riuscivo a montare le sd “a caldo”)! non capisco il perchè di quell’errore…

    Commentato da Marco | maggio 28, 2009, 12:29 |
  13. [...] le altre ottimizzazioni o personalizzazioni, anche suggerite in precedenza, sono a mio modo di vedere ormai obsolete ed inutili. Buon [...]

    Commentato da Acer Aspire One: nuovi kernel 2.6.29-4 ottimizzati per Ubuntu e Debian based | Libera il VoIP | | giugno 4, 2009, 12:14 |
  14. Per quanti volessero ancora utilizzare “i miei lavori” ho FINALMENTE rilasciato i nuovi kernel :P

    http://blog.liberailvoip.it/2009/06/04/acer-aspire-one-nuovi-kernel-2-6-29-4-ottimizzati-ubuntu-debian-based/

    Commentato da skumpic | giugno 4, 2009, 12:18 |
  15. [...] le altre ottimizzazioni o personalizzazioni, anche suggerite in precedenza, sono a mio modo di vedere ormai obsolete ed [...]

    Commentato da Acer Aspire One: Kernel 2.6.30 ottimizzato per Ubuntu e Debian | Libera il VoIP | | giugno 30, 2009, 23:53 |

Lascia un commento

Devi essere autenticato per lasciare un commento.