7 giugno 2016

Android 6.0 su Raspberry Pi 3

Sono commosso, davvero, quasi non ci speravo più invece è ormai ufficiale che Google ha inserito il Raspberry Pi 3 nella cerchia dei dispositivi eletti ad essere supportati ufficialmente da loro.
Dopo svariate distribuzioni linux e recentemente pure Windows 10 IoT in futuro potremo finalmente godere delle funzioni offerte da Android.

Come riporta Ars Technica e confermato anche direttamente dalla Raspberry Pi Foundation su Twitter, su googlesource.com è stato creato un repository, per ora vuoto, dal nome che non lascia nessun dubbio, rpi3.

Ciò nonostante però si sa che molto spesso la community arriva a compiere i miracoli prima delle case produttrici ed ecco che il portale TuttoAndroid.net riporta una notizia interessante: "Android TV realizzata con Raspberry Pi 3".
Dopo aver letto l'articolo ed aver visto il video mi sono detto che avrei dovuto assolutamente provare con mano a compilare e testare, e così ho fatto.

Il tutto parte dai repository dell'utente peyo-hd su github.
Grazie anche alle istruzioni ben dettagliate è stato più facile del previsto mettere insieme tutto e far fare il primo boot.

Inizialmente, secondo le istruzioni sono partito dal branch npv che starebbe per N-preview ma che in realtà come scrive lo sviluppatore stesso non è altro che il branch AOSP master rinominato, appunto, in npv.

Dopo aver compilato il kernel (4.4.12), Android e partizionato la MicroSD il Raspberry ha fatto regolarmente il boot ma non contento mi sono chiesto; Perché utilizzare il branch master quando ci sono a disposizione le build stabili?
E così con un veloce repo sync sono passato all'ultima build disponibile, la MOB30M tag android-6.0.1_r46 che include le patch di sicurezza per il mese di giugno.
Come potete vedere dalla foto accanto anche con questa build non c'è stato nessun problema all'avvio.

L'inghippo che ho riscontrato è che avendo dovuto fare un downgrade delle sepolicy da quelle per il branch master a quelle per marshmallow il bluetooth al momento non funziona, spulciando il logcat dovrebbe essere colpa di qualche regola SELinux.
Ho avuto lo stesso problema con il WiFi ma in questo caso mi è bastato ripristinare le regole contenute in wpa.te per fixare al volo il problema.

C'è anche un altro problema del quale al momento ignoro completamente la causa; Il launcher (Launcher3) si avvia ma con dei notevoli glitch grafici, vedi immagine qui sotto.


Per fortuna questi scompaiono nel momento in cui si avvia un'applicazione oppure quando si entra nelle impostazioni del sistema ma appena si ritorna nella home si ripresentano.
Per chi volesse cimentarsi nell'impresa di compilare da sé i sorgenti sappia che servono due patch indispensabili, questa per il kernel e questa per il progetto mesa3d.

Vi terrò aggiornati sul proseguimento del progetto!

Se avete domande non esitate ad utilizzare i commenti.


Nessun commento:

Posta un commento