Vecchio smartphone con Android 13: la mia ricetta per una ROM personalizzata
Da tre mesi ho come fidato compagno un piccolo smartphone economico da quattro pollici. Dentro ha un vecchio processore del 2018 e funziona con Android 11. O meglio, funzionava fino a poco tempo fa. Perché in realtà sono riuscito ad aggiornarlo ad Android 13.
Volevo uno smartphone che fosse il più piccolo possibile. Visto che si fa fatica a trovarli, ne ho comprato uno nuovo dotato di hardware obsoleto a poco prezzo. Finora ne sono davvero soddisfatto. Per quello che lo uso, mi basta anche meno potenza: all’interno c’è un MediaTek Helio P22 del 2018. Una cosa, però, mi disturba parecchio del KingKong Mini 2 Pro. Il produttore Cubot lo fornisce solo con Android 11 e non offre alcun aggiornamento a una versione più recente. Io, però, volevo la tredicesima versione del sistema operativo Google.
Questo articolo tratta di ROM personalizzate e di cosa bisogna fare a livello di preparazione e installazione per montarle su uno smartphone con Android stock. Le ROM personalizzate sono versioni modificate del sistema operativo gratuito Android sviluppato da Google, in grado di dare nuova vita a un vecchio smartphone.
Se vuoi saperne di più sul mio telefono nano e sulla mia fatica iniziale nell’usare la piccola tastiera, puoi leggere i retroscena nell’articolo che segue.
Attenzione: perdi la garanzia e anche tanto tempo
Se su un PC o un notebook installi un sistema operativo diverso da quello preinstallato, la garanzia resta valida. Nella maggior parte degli smartphone Android, invece, non funziona così. Infatti, per installare un sistema operativo alternativo devi prima sbloccare il bootloader. È il bootloader a fare in modo che il sistema operativo venga caricato nella memoria di lavoro all’avvio del dispositivo. Sbloccandolo si rimuove la limitazione che consente di eseguire solo i software del produttore dello smartphone. Tuttavia, nella maggior parte dei telefoni, lo sblocco comporta la perdita parziale o totale della garanzia.
La perdita della garanzia sul mio smartphone, che mi è costato solo 96 franchi/euro spedizione inclusa, non mi preoccupa più di tanto. Per il resto, è consigliabile ricorrere a una versione alternativa di Android installata manualmente, soprattutto per i dispositivi più vecchi che non ricevono più aggiornamenti (di sicurezza). In generale, quando affronti un’impresa del genere devi avere pazienza e tempo a disposizione e anche aspettarti che qualcosa possa andare storto.
Nel peggiore dei casi, non potrai più possibile utilizzare lo smartphone. Nel migliore dei casi, invece, ti divertirai un sacco e avrai tanta soddisfazione se l’installazione riesce. Informandosi un po’ e preparandosi bene, l’installazione di una ROM personalizzata non è una mission impossible. Con un po’ di impegno e di voglia di fare puoi (quasi certamente) farcela.
Come trovare le giuste ROM personalizzate
Il primo posto a cui mi rivolgo, e spesso anche il migliore, quando ho domande su ROM alternative per Android è il forum degli sviluppatori XDA. Tra l’altro, la community degli sviluppatori mette a disposizione numerose ROM personalizzate per smartphone specifici. Se, ad esempio, avessi un Pixel 5 a portata di mano, ci sarebbe un sottoforum apposito e versioni Android alternative adatte a questo dispositivo.
Su internet trovi ROM Android adattate a molti smartphone. Una delle distribuzioni più conosciute è LineageOS (ex CyanogenMod). Se scegli una versione come questa e non fai errori nell’installazione, otterrai uno smartphone perfettamente funzionante con il nuovo OS. Perché per queste ROM c’è stato uno sviluppatore o un team di sviluppatori che hanno sacrificato il proprio tempo libero per adattare i driver e le applicazioni appositamente per il tuo dispositivo.
E se non esiste una ROM personalizzata per il tuo smartphone? Né su XDA né altrove riesco a trovare una ROM personalizzata adattata per il mio Cubot KingKong Mini 2 Pro. C’è però un’ultima speranza chiamata Generic System Image (GSI). Una GSI è anch’essa una ROM personalizzata, ma non è adattata per alcun dispositivo specifico.
Il prerequisito per installare una GSI è che lo smartphone abbia almeno Android 8 e che il suo bootloader sia sbloccato. Android 8 perché questa versione è la prima che integra il Project Treble di Google che modularizza Android e separa i driver dei dispositivi dal resto di Android. Ciò consente di aggiornare più facilmente il software degli smartphone.
Quindi, se ti serve una versione alternativa di Android per un dispositivo per il quale non esiste una ROM personalizzata specificamente adattata, usa le parole chiave «GSI» e/o «Project Treble» nella tua query di ricerca. Oppure cerca direttamente nel forum «Project Treble» corrispondente di XDA, dove si trovano varie GSI, tra cui l’ultimo aggiornamento di sicurezza Android.
ROM potenzialmente adatte trovate: cosa guardare prima di decidere
A dire il vero c’è almeno una persona che possiede il mio stesso smartphone e che presumibilmente ha già installato con successo Android 13 nel settembre 2022. Si tratta dell’utente orangestate che in un thread sul KingKong Mini (senza «2 Pro») nel forum XDA ha pubblicato una guida per il KingKong Mini 2 Pro. Di un’utilità estrema, come sto per scoprire.
Per prima cosa mi concentro sulle ROM personalizzate menzionate nello stesso thread. Esamino due di queste con maggiore attenzione. La prima è LineageOS, i cui sviluppatori purtroppo non offrono una versione GSI. Ci sono però un sacco di persone gentili che si sono occupate del porting GSI della LineageOS. Ad esempio AndyYan offre una LineageOS 20 basata su TrebleDroid (Android 13).
Oltre alla LineageOS, mentre navigavo nel thread sul KingKong Mini noto anche la LeOS. Si tratta di una versione Android completamente priva di app o servizi Google. Com’è poi anche la LineageOS. Tuttavia con quest’ultima c’è la possibilità di installare senza troppa fatica le app di Google, incluso Play Store e Google Pay, utilizzando un pacchetto zip da installare successivamente.
Quanto Google voglio avere?
Queste riflessioni meritano un po’ di tempo. Che cosa voglio davvero?
Mi faccio queste domande:
- Mi interessa avere tutte le app di Google sul mio smartphone?
- Magari mi basta solo una parte delle app?
- Posso rinunciare del tutto a Google?
Mi rendo subito conto di voler conservare un po’ di Google (almeno per ora). Principalmente perché voglio continuare a utilizzare le app acquistate sul Play Store. Poi perché non ho ancora visto bene quali applicazioni sostitutive voglio usare in futuro per la mia manciata di applicazioni Google.
Su nikgapps.com Nik offre vari pacchetti di applicazioni Google (NikGApps) che potrei installare in un secondo momento. Il pacchetto Core nella schermata sottostante corrisponde alla mia idea di «un po’ di Google». Installare quel tanto di Google che serve a far funzionare le app che uso mi sembra una buona idea.
Questo significa che potrò scaricare successivamente dal Play Store e utilizzare senza problemi le app che mi mancano (Gmail, Maps e Chrome). Guardando gli altri pacchetti mi viene da sorridere, perché ho letto che tutta quella marea di software Google comunica con i server centinaia se non migliaia di volte al giorno, scaricando le batterie degli smartphone molto più velocemente. Un po’ come i dati di telemetria di Microsoft Windows.
Ora che so qual è la normale quantità di software Google che mi interessa, sono ancora più entusiasta dell’idea di una ROM personalizzata. Magari presto una sola ricarica della batteria potrebbe durarmi per più di un giorno?
Diritti di amministratore: che cosa ti serve per l’accesso di root?
Vorrei poi assicurarmi i diritti di amministratore, che in Android equivalgono all’accesso di root. In uno smartphone rooted puoi installare delle app con caratteristiche che non funzionano, o non funzionano altrettanto bene, se non hai accesso alla root. Un esempio sono alcuni programmi di blocco della pubblicità.
Lo smartphone ottiene accesso alla root tramite un’app che si occupa della gestione della root stessa. Magisk e SuperSU sono i candidati ideali per quest’attività. Lo sviluppatore Chainfire ha smesso di lavorare su SuperSU nel gennaio 2018. Ci sono però ancora delle ROM attuali personalizzate che vengono fornite con la root SuperSU. Lo svantaggio è che non tutte le app di root funzionano con questa combinazione.
Mi affiderò quindi a Magisk, che viene aggiornata regolarmente e offre anche la possibilità di installare molti moduli utili. Per installare Magisk, la ROM personalizzata deve supportare i permessi in lettura e in scrittura per il sistema. In prossimi articoli vi fornirò maggiori informazioni sulla root, sull’installazione di Magisk e sulle mie app preferite per il rooting.
Importante prima di scaricare la GSI: controllare l’architettura della CPU e la disposizione delle partizioni
Prima di scegliere una GSI dovresti verificare, per sicurezza, se esiste una versione adatta al tuo smartphone. Perché la GSI venga eseguita, dev’essere progettata per l’architettura della CPU e il layout di partizione della memoria del tuo smartphone. Esistono un layout di partizione A e A/B. A/B è supportato a partire da Android 7 (2016). Nel sistema possono essere presenti due serie di partizioni, ovvero un secondo set di partizioni di avvio, di sistema e altre partizioni. In questo modo è garantito il supporto di aggiornamenti continui. In sostanza, questo significa che gli aggiornamenti possono essere installati anche se stai usando lo smartphone. Ecco perché lo smartphone deve essere riavviato una sola volta dopo l’aggiornamento.
Puoi trovare facilmente l’architettura e questo layout con l’app Treble Info. Dopo l’avvio del mio smartphone, l’app visualizza quanto segue:
Vedo che il mio dispositivo è generalmente adatto al Project Treble (GSI). L’informazione «system-arm64-ab.img.xz» mi dice inoltre che è presente un’architettura ARM64. Se faccio clic su Proprietà nell’applicazione vedo che viene utilizzata anche un’architettura binder a 64 bit. Esistono anche ROM in cui l’architettura binder è diversa da quella del processore.
Altrettanto importante: la scritta «ab» dopo l’architettura del nome dell’immagine di sistema indica che è presente un layout di partizione A/B. Se ci fosse solo la «A» dovrei andare alla ricerca di una GSI con un layout A. Esistono ROM per A, A/B o per entrambe le varianti di layout, ad esempio in questo sottoforum raccomandabile di Project Treble su XDA.
La GSI Android 13 che ho scelto: LeaOS
Nel corso di ulteriori ricerche, mi sono imbattuto nella LeaOS. Questa mi piace di più dei primi due candidati, inclusa la LeOS, il cui nome simile può creare confusione. Decido quindi di installarla.
Con la Lea azzardo un po’, visto che non ci sono testimonianze sul fatto che funzioni in modo stabile e senza problemi sul mio Cubot. Ma la GSI dello sviluppatore AltairFR ha tutto quello che voglio:
- Android 13 basato su Android Open Source Project (AOSP) con l’ultimo aggiornamento di sicurezza e patch dello sviluppatore
- Disponibile con o senza app di Google (anche se purtroppo non posso sapere in anticipo quanto Google sarà installato insieme a questa versione)
- Disponibile con permessi di lettura/scrittura vndklite (mi servono per l’accesso di root con Magisk)
- Non disponibile con SuperSU (questo è un bene, voglio Magisk)
- Contiene le patch Trebledroid di Phh e quindi ha impostazioni di sistema aggiuntive (una delle quali mi tornerà molto utile, anche se in quel momento non lo sapevo ancora)
AltairFR permette di scaricare sei versioni della LeaOS. Tutte le versioni sono adatte per ARM64 e A/B, il che è perfetto per il mio smartphone. Per sapere quale GSI scaricare, lo sviluppatore ha inserito delle abbreviazioni nei nomi dei file. La versione che mi interessa contiene «arm64_vgN» nel nome. Si tratta dell’acronimo di «ARM64 A/B vndklite read-write - Google Apps with no SU», quindi con diritti di lettura e scrittura e con le app di Google Apps, ma senza SuperSU.
Installazione di un nuovo Android alternativo
Dopo aver scaricato LeaOS-GSI, posso finalmente mettermi al lavoro. Come prima cosa, devo ricordarmi tutte le cose che mi servono per il mio progetto. Ovvero, come procedere per utilizzare l’Android Debug Bridge (ADB), che mi serve per inviare dati allo smartphone tramite un cavo USB con comandi dalla console. Sono anni che non faccio una cosa del genere, ecco perché ricorro a questa guida.
Per il mio progetto ho bisogno di un driver per il mio smartphone Cubot e degli SDK Platform Tools con ADB.
Quindi verifico che il mio smartphone abbia installato l’ultima versione di Android 11 stock per Cubots. Mi scarico anche l’immagine della stessa versione da Cubot.
Seguendo le istruzioni per l’ ADB preparo lo smartphone all’installazione vera e propria: installo gli SDK Platform Tools sul computer Windows. Nello smartphone, vado alle impostazioni e seleziono l’ultima voce «Informazioni sul dispositivo». Tocco sette volte in basso, sulla voce «Numero build». In questo modo sblocco le opzioni sviluppatore dello smartphone. Poi attivo l’opzione «Debug USB» nelle impostazioni di Sistema > Opzioni sviluppatore. Come ultima operazione, installo il driver dell’USB in Windows. Ora collego il computer allo smartphone. Per verificare se è stata stabilita la connessione inserisco il comando «adb devices» nella console della directory dei Platform Tools. Il KingKong compare come dispositivo connesso.
Quindi seguo le già citate istruzioni di orangestate. In sostanza faccio queste operazioni:
- Decomprimo il contenuto della ROM stock di Cubot per avere i file vbmeta.img, boot.img e recovery.img pronti all’uso. Scarico anche un altro file denominato product_gsi.img da qui.
- Nella console, inserisco un comando ADB che riavvia lo smartphone nel bootloader.
- Una volta entrato nel bootloader, inserisco il comando per sbloccare il bootloader. Confermo un avvertimento prima della scadenza della garanzia della macchina.
- Con tre ulteriori comandi faccio il flash dei file vbmeta.img, boot.img e recovery.img.
- Poi passo alla modalità fastboot con un altro comando.
- Una volta lì, faccio il flash del file product_gsi.img e quindi, con un ultimo comando, dell’immagine della LeaOS.
E questo è tutto. In aggiunta ho fatto il flash di un ultimo file denominato lk_patched.img. Questo file impedisce a Cubot di informarmi con una scritta arancione, all’avvio dello smartphone, che non ho più una garanzia attiva. Visto che questo succede soltanto durante il processo di avvio, non è un’operazione indispensabile. Ma preferisco evitare che compaia l’avviso.
Fatto tutto questo, riavvio lo smartphone e aspetto l’apparizione di Android 13.
Funziona Android 13 sul telefono nano?
Evviva, funziona! Dopo il riavvio, Android 13 mi dà il benvenuto e posso iniziare a configurarlo come se avessi in mano uno smartphone appena acquistato. Dopo poco, tutto è finalmente come dovrebbe essere. A parte il Play Store, i Play Services e Android Auto non ci sono altre app di Google. Mi accorgo però che l’app calendario preinstallata da AOSP non mi funziona. Quindi installo l’app calendario di Google dal Play Store.
Per il resto, va tutto bene: il mio smartphone viene riconosciuto da Google senza problemi e posso utilizzare le app acquistate, cosa che è sempre possibile negli smartphone con ROM personalizzate.
Per quanto riguarda la velocità di esecuzione delle app, non è né superiore né inferiore a quella in Android 11. Ciò significa che il mio KingKong continua a essere un po’ lento in alcune applicazioni e sui siti web più complessi. Tuttavia, il launcher AOSP di Android 13 e il mio preferito, lo [Smart Launcher 6] (https://play.google.com/store/apps/details?id=ginlemon.flowerfree&hl=en_US&pli=1), funzionano in modo fluido e senza scatti.
Un giorno dopo l’installazione mi accorgo però di avere problemi con le cuffie Bluetooth. Per essere più precisi: non sento nulla anche se sono collegate allo smartphone. Cerco e trovo la soluzione nel nuovo sottomenu delle impostazioni chiamato «Phh Treble Settings» riservato solo ad alcuni possessori di ROM personalizzate. Qui si trovano le già citate impostazioni avanzate per gli sviluppatori Phh. Una di queste si chiama «Bluetooth workarounds». Modifico l’opzione da «None» a «Mediatek».
Da lì in poi, tutto tranquillo. O meglio, è in quel momento che si comincia a sentire la musica. Prima di scrivere questo articolo faccio ancora un po’ di esperienza per tre settimane. E sì, c’è un’ultima cosa che voglio segnalare: la batteria dura effettivamente più di prima, molto di più. Un giorno e mezzo, invece di un giorno di uso normale. Non so se questo è dovuto al fatto che ho installato solo una parte del software Google che avevo prima oppure al fatto che lo stesso Android 13 è più efficiente.
Nel complesso, sono molto soddisfatto: ne è valsa la pena. E quando uscirà una nuova versione della LeaOS non dovrò rifare tutto da capo. Mi basterà flashare la nuova GSI sulla vecchia.
Il mio telefono nano non sarà certo l’ultimo a cui ho dato nuova vita. Se dopo questo viaggio (un po’ lungo) verso la tua ROM personalizzata hai ancora voglia di saperne di più, non ti deluderò. Ti spiegherò anche come sono arrivato alla root. Potrai così scoprire che cosa è possibile fare grazie alla root e quali applicazioni root sono ormai quasi irrinunciabili per me.
Immagine di copertina: Martin JudLa mia musa ispiratrice si trova ovunque. Quando non la trovo, mi lascio ispirare dai miei sogni. La vita può essere vissuta anche sognando a occhi aperti.