venerdì 31 dicembre 2010

Arch Linux e Compaq mini, connubio perfetto


La guida definitiva per configurare Arch sul compaq mini e' qui! ma anche no. :)

In realta' questa articolo raccoglie dei piccoli accorgimenti che mi sono tornati utili durante l'istallazione e la messa a punto di Arch sul mio compaq mini (700el).
Partiamo dalle fondamenta.

Il kernel

Come sappiamo al piccolo in questione e' stata appioppata regalata una bellissima scheda di rete broadcom bcm4312. Occhebbello. E sappiamo che il nostro monta anche un processore intel atom.
Tutto ciò ci porta ad una sola strada, il kernel-netbook. Questo kernel e' ottimizzato per processori Atom, e include driver per i laptop più popolari, tra cui anche il nostro HP.

Per istallarlo, scaricate l'archivio qui e istallatelo con un bel:
# pacman -U kernel-netbook-2.6.36.2-5-i686.pkg.tar.xz
Se invece non potete collegarvi (comprensibile, visto che istalliamo questo kernel anche per i driver per la scheda broadcom), copiate il pacchetto su una penna usb, inseritela e montatela:
Localizziamo la penna con dmesg | tail e creiamo la cartella che ospiterà il suo contenuto:
mkdir /mnt/usb
Ora montiamola:

mount -t vfat (se fat e' il file system della pennetta) /dev/sdb1 (usate il risultato che vi mostra dmesg) /mnt/usb

e istalliamo il pacchetto con pacman, come sopra:
pacman -U kernel-netbook-2.6.36.2-5-i686.pkg.tar.xz

Configurare la rete

Ora dobbiamo aggiungere nel file /etc/rc.conf il modulo wl. Se avete istallato il driver b43, dovete blacklistarlo. Quindi, modifichiamo la riga MODULES in questo modo:
MODULES=(wl !b43)
Perfetto, ora dando iwconfig da terminale dovreste vedere un output del genere:
wlan0     IEEE 802.11bg  ESSID:off/any  
          Mode:Managed  Frequency:2.412 GHz  Access Point: Not-Associated   
          Tx-Power=27 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off

Se non e' wlan0 è eth1 (o anche eth0), dice il detto :D

Scheda Video

Per la scheda video e' tutto molto semplice. Dobbiamo istallare solo un pacchetto, xf86-video-intel.
# pacman -S xf86-video-intel
Nessuna configurazione aggiuntiva. Mi raccomando, seguite questa procedura prima di istallare a manetta qualsiasi DE, perché senza questo pacchetto non vedrete un granché, lo dico per esperienza diretta :D

Il Touchpad

Se capita che il cursore scompaia quando lo muovete con il touchpad, istallate il pacchetto xf86-input-synaptics. (si, i problemi si risolvono istallato pacchetti :D)
Andate a configurare il file /etc/X11/xorg.conf.d/10-synaptics.conf, e modificatelo in modo da abilitare anche lo scroll con il touchpad:
Section "InputClass"
 ...
 Option "VertEdgeScroll "on"
EndSection

E qui finisce il megatutorial.* E' il mio primo post su Arch e sono ancora un po' emozionato :D
Buon anno a tutti, e ricordate: il 2011 sarà l'anno di Linux! :D

*godetevi Arch responsabilmente.

mercoledì 29 dicembre 2010

buildAOSP.py scarica e compila i sorgenti Android

Annoiato di dover ripetere sempre le stesse operazioni quando dovevo scaricare e compilare i sorgenti Android, ho deciso di utilizzare il potere del pitone per ovviare al problema.
Non parliamo di un rito sciamanico, ma di uno script che ho scritto in Python, buildAOSP. Il programma aiuta a compiere velocemente le procedure di scaricamento del kernel Android e di compilazione.
Lo script e' stato scritto per sistemi Debian/Debian based (Ubuntu ad esempio) e svolge le seguenti funzioni:
  • aggiunta opzionale dei repository di Debian stable (Lenny) per scaricare java5, necessario per compilare Android <= 2.2
  • istallazione di tutte le dipendenze necessarie
  • selezione della versione di java5 con `update-java-alternatives`
  • creazione di un workspace completo per i sorgenti android
  • download di repo
  • scaricamento del branch scelto, anche da CodeAurora
  • compilazione con make

Scaricate lo script con wget:

$ wget https://github.com/Enrix835/randomstuff/raw/master/buildAOSP/buildAOSP.py --no-check-certificate

Per scaricare ad esempio il branch di froyo, eseguite buildAOSP con queste opzioni:

python buildAOSP.py --branch froyo

E' tutto, divertitevi :D

domenica 26 dicembre 2010

Compilare Android AOSP, guida completa.

Con questo post entriamo nelle viscere del robottino che ci accompagna nelle nostre tasche ogni giorno, imparando a compilare Android da sorgenti.

La guida e' valida per tutti i terminali, ma successivamente sarà pubblicata una aggiornamento del tutorial fatto apposta per il primo device della serie Liquid, L'acer A1.

Innanzitutto premetto che la guida e' per linux-user, se siete Windows user o Mac profani, e volete seguire il tutorial, vi consiglio di istallare GNU/Linux :D

Io ho compilato Android su Debian testing (Squeeze), quindi istalliamo le dipendenze necessarie:

$ su
# aptitude install git-core gnupg sun-java5-jdk flex bison gperf \ 
libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl \ 
libncurses5-dev zlib1g-dev

E' consigliato l'uso del famoso tool Valgrind per controllare eventuali leak di memoria ecc
# aptitude install valgrind

Ora, istalliamo java-1.5, che possiamo trovare nei repository di Debian Stable (Lenny)
# echo "deb http://ftp.debian.org/debian/ stable main contrib non-free" >> /etc/apt/sources.list
# aptitude update
# aptitude install sun-java5-jdk
Se avevamo gia' istallato java, individuiamo la versione che richiede android (1.5)

# update-java-alternatives -l
(ovviamente l'output del comando puo' variare)

java-1.5.0-sun 53 /usr/lib/jvm/java-1.5.0-sun --> Questa e' la versione giusta
java-6-sun 63 /usr/lib/jvm/java-6-sun

e selezioniamola:

# update-java-alternatives -s java-1.5.0-sun

Ora che abbiamo completato i preparativi, creiamo il nostro ambiente per Android. Mi raccomando, i sorgenti pesando più di 4GB, assicurate di avere lo spazio sufficiente.

$ mkdir ~/android
$ mdkir android/repo
$ curl http://android.git.kernel.org/repo > ~/android/repo
$ chmod a+x ~/android/repo
$ mkdir android/android
$ cd android/android
$ repo init -u git://codeaurora.org/platform/manifest.git -b froyo_almond -m Q8650BSDCANLYA5025.xml

Utilizziamo il branch froyo di Code Aurora, per le ottimizzazioni apportate al codice.
Ci vorrà un po', al termine dovremmo avere tutti i file necessari nella cartella ~/android.

Ora compiliamo i sorgenti:

$ make -j8
`j` sta per numero dei vostri processori * 2. Quindi -j2 per una CPU single core, -j4 per una dual core ecc.

Prendetevi un caffe', andate a mangiare, portate il cane a spasso, e al termine dovreste aver finito la procedura.
Nella cartella /out/target/product/generic/ dovreste avere i file `system.img` e `userdata.img`.
Proviamo la nostra nuova "ROM" compilata da AOSP tramite la nostra fidata macchina virtuale Android, ovviamente assumendo di averla già creata. Spostiamoci nella cartella dove abbiamo scaricato l'SDK. (Abbiamo scaricato l'SDK? :P Andate qui: http://developer.android.com/sdk/index.html e scegliete la versione su cui volete lavorare.)

cd ~/miosdk/tools/
./emulator @avd -system ~/mydroid/android/out/system.img -data ~/mydroid/android/out/data.img
L'emulatore dovrebbe avviarsi senza problemi, mostrando l'androide che avete fatto con le vostre manine :D
E' tutto, ma vi avverto: qualora voleste provare la rom sul vostro device, non mi assumo nessuna responsabilità dei danni apportati, sia chiaro. Fate queste cose con la dovuta attenzione.

Nel prossimo post arriverà una manna dal cielo (si spera) per coloro che non vogliono fare tutto da terminale, ma vorrebbero un sistema automatico :D

lunedì 13 dicembre 2010

[Idee] Una GUI per appybrain e varie


Stavo pensando di implementare una GUI per lo script appybrain, semplice programma in python che consente di monitorare le novità dal famoso portale appbrain. Per ora funziona solo da terminale, ma sarebbe abbastanza libidinosa una gui con le icone delle app e magari anche una icona di stato :)

Iniziero' a lavorarci, intanto gà ci sono novità per la prossima release.


Ah, se non l'avete notato ho anche cambiato il tema del blog, modificando un template per blogger. Il tutto ora e' molto piu' sobrio e facile da leggere.


Buon inizio di settimana, alla prossima.

mercoledì 24 novembre 2010

appybrain, controlla appbrain da riga di comando.

Avete un dispositivo android? Bene. Avete istallato l'applicazione appbrain e consultate il sito in cerca di nuove gustose app da istallare sul vostro androide? Si? Molto bene. Anche io controllo aggornamenti e nuove applicazioni, ma e' tremendamente noioso aprire la pagina appbrain ogni volta e cercare nuovi programmi dalla varie liste. Per questo ho scritto un semplicissimp script in python che ci semplifichera' la vita, appybrain.

Il funzionamento e' semplicissimo. Dal terminale eseguite il programma e specificate la categoria a cui appartengono le applicazioni che volete monitorare, "popular", "highest rated", "hot week" ecc.

python appybrain.py --hot-week

E otterrete la lista delle prima 10 applicazioni piu' usate e votate della settimana. Questo e' solo un esempio, specificate l'opzione --help per i comandi disponibili.
Per scaricarlo:

wget http://goo.gl/F0m4B && tar -xzvf appybrain-0.1.tar.gz

Ho intenzione di ampliare il programma, aggiungendo nuove features, per questo ho gia' diviso i file nonostante la loro dimensione infima. :D

Che dire, enjoy!

domenica 14 novembre 2010

venerdì 12 novembre 2010

Rilasciata la patch 1.1.2 per la LCR-F


Disponibile la patch 1.1.2 per la rom LCR-F, per maggiori informazioni e per il download cliccate qui.

Ecco il changelog completo:
  • fully rebased on Acer_LiquidE_4.504b.00_EMEA-GEN1
  • Memory enhancements (should fix tweak acces in LcrSettings)
  • New option in tweak menu to switch to next playing song when pressing camera button
  • New calculator
  • Updated themes with stock + France Shreps blue theme
  • fixed powertop + powertop.sh to run it
  • some internal fixes
  • FULLY CUSTOMISABLE USER INTERFACE (you can choose wich part to use via Lcr Settings) For better battery life and performance, disable customisation.
  • Lcr settings was translated (only some UI parts for the moment). Use more locale2 if your local is not directly in system settings
  • Fixed low volume on Navigator (TTS) (disable new audio codec in LcrSettings)
  • Enhanced audio playing (aac+ / m4a) (disable new audio codec in LcrSettings)
  • Mp3 vbr can be played again (enable new audio codec in LcrSettings)
  • Transparency in notification bar + Desire theme by simoneser (thanks to him)
  • Updated Lcr Settings with some UI translation + check wether Usb debugging is enabled at startup (required)
  • Global performance boost
Inoltre gli sviluppatori ci avvertono che se  ci dovessero essere di problemi con il volume o con i media player, bisogna disabilitare la voce "New audio codec" in LcrSettings.

Ricordo ovviamente di fare un backup con nandroid backup prima di eseguire l'aggiornamento. La patch aggiornera' solo la rom, non tocca i vostri dati.