Mettiamo il turbo sburlo al nostro androide da 99 euri

In un tranquillo pomeriggio di domenica io e Julian ci siamo messi a modificare il mio androide per vedere di velocizzarlo un po. La procedura è stata trovata da Julian e ha un po velocizzato le prestazioni del mio device ma nulla di trascendentale visto che comunque il telefono disponine di una CPU e di una quantità di Ram davvero scarsa.

Prima di tutto dobbiamo assicurarci di avere i poteri di utente root e di aver flashato il nostro device con una delle mille mila rom di CyanogenMod. Nel mio caso sto sto usando LunarPrima una rom basata su CyanogenMod 7.2 (quindi Android 2.3.7).

Dunque una volta faccio ciò fatevi un backup dei vostri dati sensibili della scheda microSD e preparativi a formattarla, io ho pure effettuato un wipe prima di fare la procedura. Personalmente ho usato il tool da shell chiamato cfdisk per partizionare, noi dobbiamo dividere la schedina in due partizioni una da 3GB in Fat32 e l’altra da 1GB in ext4. Ovviamente le dimensioni variano a secondo della capienza della vostra microSD, io ad esempio ne uso una da 4GB ma voi regolativi di conseguenza se la vostra scheda è più piccola o più grande.

Ricordatevi tutte e due le partizioni devono essere primarie, in oltre usando ext4 dovrete fare in modo che non si attivi il Journaling, funzione molto utile per i dischi tradizionali ma che a lungo andare può uccidere le vostre schedine e i vostri SSD.

Io ho usato questo comando per formattare in ext4 senza attivare il journaling:

sudo mke2fs -t ext4 -O ^has_journal /dev/sdc2

Nel mio caso sdc2 è la partizione più piccola, ora formattiamo in fat32 la partizione più grande che nel mio caso si chiama sdc1:

sudo mkfs.vfat /dev/sdc1

Una volta finito possiamo reinserire la scheda microSD sul nostro device a avviarlo, fatto questo dal Puppe Play Store  installiamo Mounts2SD, concediamogli i poteri di root, ci chiederà di configurare busybox e di installare degli script  quindi facciamolo e poi dovremo riavviamo il device.

Ci metterà diversi minuti a riavviarsi perché l’intero sistema Android si sta spostando nella partizione da 1GB formattata in ext4, sfruttando questo espediente ora non avremo più problemi con la memoria interna perché le applicazioni che installiamo si scaricheranno/scompatteranno/installeranno sempre in quella partizione dedicata.

Infatti le applicazioni del Play Store, si scompattavano sempre nella memoria interna e quando essa si riempiva tutta fallivano l’installazione, adesso invece abbiamo aggirato il problema visto che l’intero sistema opererà sulla scheda microSD. Ovviamente non abbiamo spostato tutto Android li dentro, infatti il Kernel Linux e tutti i tool base del sistema, compresa la rom, sono rimasti nella memoria interna cosi se si frigge la microSD non abbiamo problemi.

Una volta riavvino dovremo già notare un piccolo aumento delle prestazioni, ext4 è un file system anni luce avanti a fat32 o a NTFS su questo non ci piove. Adesso proseguiamo installando un’altra applicazione sviluppata dalla comunità di XDA, si chiama Seeder e purtroppo non si trova nel Play Store ma trovate il comodo .apk qui.

Una volta installata abilitate tutte le opzioni e tappate su ON, fatto questo controllate il livello di entropy che nel mio caso raggiungeva picchi di 4000. Quest’applicazione migliora notevolmente la gestione delle risorse di Android andando a magheggiare con le richieste I/O del sistema operativo.

Grazie a questa applicazione i lag si sono ridotti notevolmente, io per adesso sto usando il profilo Light in modo tale da non incidere troppo sui consumi energetici ma voi potete sperimentare profili più aggressivi che migliorano ancora le prestazioni ma aumentano, anche di molto, i consumi della batteria quindi fate vobis. Se volete qualche informazione in più vi rimando al thread ufficiale sul forum di XDA.

Adesso per ultima cosa installiamo dal Play Store l’app chiamata RAM Booster, io personalmente ho disabilitato le opzioni del widgtet di copertina, di schermata e il boost a schermo spento. Ho abilitato invece l’icona nella barra delle notifiche.

Quest’applicazione libera memoria Ram chiudendo le applicazioni in uso, anche del sistema, quindi va usata con cautela solo quando il vostro device accusa molti lag o rallentamenti dovuti ad app molto pesanti. Per effettuare le liberazione forzata di memoria Ram vi basterà tappare nella notifica presente nel menù a tendina in alto sinistra.

Dunque siamo finalmente arrivati alla fine, adesso le prestazioni del vostro telefono dovrebbero essere migliorate, ovviamente come scritto sopra non è possibile fare miracoli ma usando la tecnica delle partizioni dedicate come avviene sulle distribuzioni GNU/Linux* possiamo migliorare la nostra esperienza utente del telefono.

Vorrei ringraziare di cuore Julian per avermi fatto scoprire queste applicazioni e per avermi guidato via hangout nelle varie procedure, contate che riuscire a partizionare è stato un parto perché gparted non ne voleva sapere di riconoscere le partizioni quindi ho dovuto agire con cfdisk per questo.

UPDATE [04/06/2013]

Julian si è accorto che mancava qualcosa e mi ha detto di controllare che sulle opzioni di Mounts2SD siano attivate le voci “data” e” cache” (devono essere segnate in verde), se non lo sono tappateci sopra e si attiveranno a quel punto riavviate il telefono e avrete veramente finito.

Ora vi lascio due immagini del device a lavoro finito: 
screenshot-1368378338665

screenshot-1368378364435

screenshot-1368380991107

:# /dev/null/

PS: ovviamente un grazie va anche ai developer delle applicazioni, senza di loro non avrei potuto fare nulla di tutto ciò che ho scritto sopra.

Note: Sulla mia Arch Linux ad esempio ho 3 partizioni una da pochi MB per la partizione di /boot dove risiede il bootloader Grub2, una partizione /root di una decina di GB dove risiede il kernel linux e tutti i tool di sistema unix e i vari programmi installati, e una partizione /home di circa 450GB dove stanno i settaggi delle mie applicazioni, dell’ambiente grafico, i mie giochi, la mia musica, video, immagini porne, ecc.

Dividendo in questo modo il sistema ad esempio possiamo in 10 minuti migrare da un sistema a 32bit ad uno a 64bit senza dover ripristinare i mie dati, questo perché le uniche partizione che dovrò formattare saranno la /root e la /boot mentre la mia partizione con i mie dati (che comunque tengo sempre sotto backup su vari dischi esterni) ovvero la /home non viene toccata dal processo perché l’intero sistema operativo sta in una decina di GB all’interno della partizione di /root.

Comodo vero? Lo stesso avviene se vogliamo cambiare bootloader o se per nostre elucubrazioni personali vogliamo cambiare distribuzioni, infatti saranno sempre /boot e /root a essere formattate lasciando al sicuro i nostri dati sulla partizione più grossa.

Fonti: Wiki di Arch Linux; Wikipedia

Root del Mediacom 840i con Linux

Come forse saprete questa estate ho acquistato un bel tablet da 8 pollici Mediacom 840i. Sono molte felice de mio acquisto perché mi permette di cazzeggiare comodamente solo come android sa fare.

Nel mio precedente post dove lo presentavo vi avevo preannunciato che presto l’avrei rootato e ci avrei flashato una Rom che non mi faccia crashare il PlayStore a random ogni tot di minuti.

Ordunque passate le vacanze e la sessione di esami di settembre ho potuto dedicarmi meglio allo smanettamente vero e proprio e finalmente grazie all’aiuto dell’amico delirante Julian sono riuscito ad effettuare il root e molto presto dovrei piazzarci sopra Jelly Bean (aka Android 4.1).

Partiamo dal fatto che tools come z4root sul mio device non funzionano, purtroppo con ICS (aka Android 4.0) i produttori hanno deciso di fracassare il cazzo rendere la vita più difficile a noi smanettoni.

Dunque documentandomi un po in giro sono giunto alla conclusione che la via più semplice per il root era collegare il device al pc via cavo USB e poi usare adb, ovvero la shell di Android usata dai developers per codare direttamente sul device, e da li copiare su e SuperUser.apk nella directory /system/bin del mio device.

In teoria gran parte dei device permettono l’accesso ad adb direttamente da root.

Dunque da AUR ho installato i pacchetti di android-sdk:

$ yaourt -S android-sdk android-sdk-platform-tools android-udev

Poi ho pachato il comando adb in modo che sia possibile avviarlo ovunque e non solo dalla directory dove si trova (ovvero opt/android-sdk/platforms-tools):

# echo 'export PATH=/opt/android-sdk-linux/platform-tools/:$PATH' >> /home/picchio/.bashrc

Successivamente ho avuto problemi perché malgrado avessi installato android-udev e avendo pure indicato, come scritto nel wiki di arch, ad udev l’id del mio device adb non vedeva una sega, quindi cercando in rete il problema ho trovato un guida che lo risolve e che riesce a far vedere ad adb il mio device dando questi semplici comandi:

$ su
# mkdir ~/.android

# echo "0x2207" > ~/.android/adb_usb.ini
# cat /root/.android/adb_usb.ini

# adb kill-server
# adb start-server
# adb shell

Cosi sono riuscito ad accedere alla shell del mio tablet. Ma ovviamente non poteva essere cosi semplice, no no, ora i costruttori quando installando android sui loro device indicano al sistema di non permettere ai developers indipendenti di entrare come root su adb quindi se io volessi a manina importare su e SuperUser.apk sulla directory /system/bin non lo posso fare perché da utente normale su android (e dalla shell di adb) non ho i permessi per farlo.

L’unica altra soluzione che ho trovato in rete era usare uno script in .bat da windows e io ovviamente non ho macchine windows quindi ero ad un punto morto.

Dopo varie bestemmie a divinità random deciso di fare una pausa e vado a cazzeggiare in hangout con alcuni amici. Li il buon Julian mi permette di vedere la luce di questo tunnel convertendomi lo script da .bat in .sh in tipo mezz’ora visto che tale script fa uso di comandi unix perché ovviamente si deve interfacciare con Android che è esso stesso unix-like.

Dopo alcuni test e altre bestemmie per apici di sto sarcazzo fuori posto lo script si avvia e fa il suo dovere e dopo un reboot del tablet ho finalmente acquisito i poteri di root sul mio device!

Se vi interessa eccovi lo script, una volta scaricato scompattate in una dir a scelta, date i permessi e avviate lo script che farà tutto da solo:

$ unzip script_per_root_mediacom840i.zip
$ cd script_per_root_mediacom840i
$ sudo chmod +x runme.sh
$ ./runme.sh

Gioia e gaudio grazie Julian e nell’allegria generale arriva anche Fexys che reduce della nottata davanti all’Expert Marco Polo ci annuncia che è arrivato l’update OTA a Jelly Bean per il suo nuovo Galaxy Nexus.

Alche mi metto a cercare anche io una Rom con Android 4.1 per il mio tablet e la trovo!..

Ma questa è un altra storia che vi racconterò nel prossimo post, saluti e baci!

:# /dev/null/

PS: ricordatevi di attivare sul vostro device la modalità Debug USB altrimenti vi sarà impossibile collegarvi via adb.

Fonti:
Clamel.netai.net

Ipmart-italia.com

Pulizie estive

Oggi è giorno di update per il mio pc fisso, con l’arrivo di KDE 4.9 ho voluto vedere se ci stavano inconvenienti vari durante il suo utilizzo prima di aggiornare il pc fisso che sarebbe la mia stazione da battaglia postazione di lavoro principale. Dopo un periodo di rodaggio sul mio netbook KDE 4.9 è stato promosso a pieni voti e quindi era pronto per approdare sul mio pc fisso ma un disturbo nella Forza mi comunica che la cosa non era fattibile fin da subito.

Quel disturbo nella forza era la mia shell, in particolare pacman che mi annunciava che la partizione di root era piena, ordunque mi sono premurato che pacman non mi dicesse cazzate, dunque ho usato il comodo df:

[picchio@yoda ~]$ df -h
File system     Dim. Usati Dispon. Uso% Montato su
rootfs           12G  12G    0G  100% /
dev            1008M     0   1008M   0% /dev
run            1010M  376K   1010M   1% /run
/dev/sda3        12G  12G    0G  100% /
shm            1010M     0   1010M   0% /dev/shm
tmpfs          1010M   92K   1010M   1% /tmp
/dev/sda4       452G  399G     31G  93% /home
/dev/sda1        98M   18M     75M  20% /boot
[picchio@yoda ~]$

To guarda quel comando mi ha ricordato che quando installai arch tanto tempo fa in una galassia lontana lontana avevo fatto le cose per bene e quindi separai la partizione di root “/” dalla mia /home (ed ho pure una partizione di /boot separata). Ora di solito la partizione di root non ha bisogno di  grandi spazi quindi nel wiki di arch ci stava scritto di dargli 8Gb io gli ho dato 12Gb per andare sul sicuro ma ovviamente a lungo andare programmi come pacman possono riempirla comunque, ad esempio io su /var/cache/pacman/pkg avevo tipo 5Gb di pacchetti conservati in cache ovvero tutte le versioni dei programmi che man mano ho installato e aggiornavo, dunque dopo un bel:

[picchio@yoda ~]$ sudo pacman -Scc

[picchio@yoda ~]$ df -h
File system     Dim. Usati Dispon. Uso% Montato su
rootfs           12G  6,3G    4,9G  57% /
dev            1008M     0   1008M   0% /dev
run            1010M  376K   1010M   1% /run
/dev/sda3        12G  6,3G    4,9G  57% /
shm            1010M     0   1010M   0% /dev/shm
tmpfs          1010M   92K   1010M   1% /tmp
/dev/sda4       452G  399G     31G  93% /home
/dev/sda1        98M   18M     75M  20% /boot
[picchio@yoda ~]$

ho svuotato la cache (il comando una volta pulita la cache di pacman vi chiede anche se volete fare pulizia dei repository e dei mirror non utilizzati io ho detto di no perché non so esattamente cosa vada a toccare e poi già l’azione precedente aveva zappato via 5Gb di roba) e ho potuto aggiornare felicemente il mio pc fisso a KDE 4.9 😀

Se vi state chiedendo cosa siano gli altri 6,3Gb in uso, probabilmente una grossa porzione sono le librerie dei programmi e i log. Ringrazio questo blog per avermi dato il comando adatto per pacman per svuotare la cache.

:# /dev/null/