domenica 10 agosto 2014

SlimLinaro - i9100 SlimKAT unofficial builds

Non ci avevo mai pensato, sul mio blog non ho la presentazione del mio piccolo lavoro in termini di compilazione di ROM. Sto parlando della SlimLinaro, una build basata sulle SlimROMs, ma ricompilata con toolchain Linaro per incrementare le performance della stessa.


La SlimLinaro è una SlimKAT che ho interamente ricompilato usando il toolchain Linaro, sulla falsa riga di quanto intrapreso da FusionJack con la sua SlimSaber. Essa apporta diverse novità sotto il cofano ed in futuro sono previsti alcuni cambiamenti sostanziali. 

Original Slim Features

- The Real Dark Slim che implementa anche la personalizzazione delle Gapps e l'invertimento dei colori
- Drawer per le notifiche
- Completa libertà d'azione sui tiles 
- SlimPie
- Rotazione della tastiera
- SlimCenter
- Personalizzazione della lock screen, dalle notifiche da visualizzare, al widget
- Modifica della densità del LCD
- Opzioni sviluppatore attivabili dall'easter egg del numero build (tappa più volte).
- Regolazione delle tappe di luminosità in modalità luminosità automatica.

My original features

- Crosscompilata con Linaro toolchain (sia kernel che ROM).
- Diverse patch per la fluidità.
- Fix per il GPS (non più necessario FasterFix).
- Rimozione delle ads (non più necessari tool come AdAway).

Alcune note importanti:

La SlimKAT è una ROM totalmente compilata da sorgenti AOSP (source.android.com), con alcune mods del team SlimROM.
È stata mia premura ricompilarla interamente con toolchain Linaro sia per il kernel che per la ROM stessa.

Pre-requisiti

1. Siate sicuri di essere sull'ultima recovery CWM o sulla TWRP 2.6.3.0. Se non ce l'avete, flashate il kernel della CyanogenMod 10.2 da recovery che trovate qui.

2. Ovviamente il full wipe è d'obbligo, compreso il format /system manuale anche se provenite dalla 4.4 official o da qualsiasi altra ROM. Non lamentatevi se, eludendo questo consiglio, qualcosa va storto (bootloop).

Arriviamo al dunque.

Download

Trovate qui la Folder Mediafire

- Scaricate le GApps per KitKat 4.4.x da qui

Installazione

Se provenite da un'altra ROM precedente alla 4.4

- Copiate i file .zip del kernel CM, la ROM e le Gapps nella vostra sd.
- Fate un nandroid backup (non necessario, ma ultraconsigliato sempre e comunque).
- Avete un backup della vostra cartella EFS?
- Fate un full wipe.
- Flashate il kernel CM.
- Dal menu advanced tappate su reboot recovery.
- Fate un nuovo full wipe ed in aggiunta un format /system manuale.
- Flashate la ROM e le Gapps.
- Riavviate ed attendete qualche minuto.
- Opzionale: se volete attivare il runtime ART, fatelo prima di ripristinare le app che avevate installato.

Se aggiornate da una SlimLinaro precedente:

- Copiate i file .zip della ROM e delle eventuali Gapps nella vostra sd.
- Fate un nandroid backup (non necessario, ma ultraconsigliato sempre e comunque).
- Wipe cache e dalvik cache (a meno che non sia richiesto espressamente un full wipe).
- Flash della ROM ed eventualmente delle Gapps.
- Riavviate.

Altre informazioni

Ecco alcune FAQ!
Ecco una lista di credits, più quelli che vanno a loro!

Né io, né lo Slim Team, né nessun altro sono da intendere responsabili per qualsiasi danno arrecato a device, persone, animali o cose. Stat e decidendo voi di flashare.

Ecco un breve video che ho registrato per mostrarvi il funzionamento della SlimLinaro.




Freaking Annoying Questions

Non è presente il root

Recatevi in impostazioni -> Info sul telefono e tappate più volte sulla voce "numero builds". Dopo di che tornate indietro e recatevi in Opzioni sviluppatore -> Root access, selezionando la voce applicazioni ed ADB.

Che differenza c'è tra questa, la SlimKAT ufficiale e la SlimSaberKAT?

Versione corta: sia queste mie builds che quelle di FusionJack (SlimSaberKAT) sono versioni unofficial della SlimKAT.
Versione completa: sono tutte buildate dalla stessa sorgente, ma queste sono ricompilate usando il toolchain Linaro che offre maggiori performance, minor consumo e più stabilità. Inoltre contengono alcuni cherry-pick. 

Cos'è un Toolchain?

Nel software, un toolchain è un set di tool di programmazione che sono usati per creare un prodotto (tipicamente un altro programma per computer o un sistema di programmi. I tools possono essere usati in una catena, così che l'output di ciascun tool diventi l'input per il seguente, ma il termine è usato ampiamente in riferimento a qualunque set di tool di sviluppo collegato.
Una toolchain di sviluppo di un semplice software consiste in un compilatore ed un collegatore per trasformare il codice sorgente in un programma eseguibile, librerie per fornire un'interfaccia al sistema operativo ed un debugger. Un prodotto complesso come un videogame necessita di tools per preparare gli effetti sonori, la musica, la textures, i modelli 3D e le animazioni, ed inoltre altri tools per combinare queste risorse al prodotto finito.
Fonte: Wikipedia.

Cos'è Linaro?
   
Linaro è un posto dove gli ingegneri da tutto il mondo che lavorano per le compagnie tecnologiche definiscono il futuro di ARM su Linux. La compagnia è un'organizzazione ingegneristica no-profit con oltre 120 ingegneri che lavorano al consolidamento e all'ottimizzazione del software open source per le architetture ARM, inclusi i toolchain GCC, il kernel Linux, la gestione energetica ARM e l'interfaccia grafica e multimediale.
Fonte: linaro.org

Che cos'è ART?

ART è un nuovo runtime di Android, introdotto in via sperimentale a partire da Android 4.4. Può essere attivato recandosi nel menu impostazioni, successivamente in opzioni sviluppatore e seleziona runtime. È stato reso disponibile da google in quanto in fase di testing. Se volete un device stabile, è opportuno mantenere Dalvik come runtime predefinito.
Essendo ancora in beta, non è possibile apprezzare le piene funzioni di ART, ma è comunque possibile notare un dimezzamento del tempo di caricamento delle app in quanto queste vengono pre-compilate prima di essere eseguite. 
Mentre Dalvik fa uso di un compilatore JIT (just in time), ossia di uno strumento che compila le app poco prima dell'esecuzione, ART fa uso di un compilatore AOT (ahead of time), che precompila l'intera app durante l'installazione della stessa.
In soldoni tutto ciò comporta un'esecuzione del codice più veloce ed un risparmio notevole di batteria, visto che il processo di compilazione impegna la CPU ogni volta che essa deve aprire un'applicazione.

Come faccio a chiudere le apps che ci sono nel pannello delle recenti?

Non esiste il bottone kill all apps come nel resto delle ROM. Nello Slimrecent è sufficiente eseguire un pinch in sulla tab Slimrecent per chiuderle tutte. 

Non esiste il theme chooser!

Non ancora. Lo Slimteam sta implementando una nuova versione del theme engine, visto che quello introdotto da T-Mobile è abbastanza carente.

Ed ecco infine la videorecensione anche da parte di Nick di AndroidMod:



Scrivendo questa presentazione, mi è venuta una mezza idea, state connessi che mi sa che la porto davvero avanti.
Bon, se vi è piaciuta la presentazione della mia ROM, mi sa proprio che farà da pilota ad una serie di presentazioni di ROM che, ovviamente, ho già provato.
Mi son spoilerato la mezza idea, bravissimo.