Cucinare una rom da 0 di ANDROID

Linguaggi di programmazione: php, perl, python, C, bash, ecc.

Cucinare una rom da 0 di ANDROID

Messaggioda lemon » sabato 5 gennaio 2019, 22:14

Ciao a tutti ho una curiosità.
Ho leTTo, superficialmente, varie guide in inglese e italiano per me parimenti incomprensibili...nonostante sia un programmatore di altri tempi e di altri linguaggi :D


Avendo uno smartphone fermo ad una vecchia versione di android, mettiamo la 7.0 e volendo creare una rom da ZERO es. la nuova 9.0 secondo voi è fattibile in maniera "semplice"

Mi spiego.
Immagino che in stile linux si debba

- scaricare la base android 9.0 pie (immagino da QUI)
- compilare il kernel per far si che le periferiche vengano riconosciute

che ne dite? il concetto è quello?


Altra curiosità. Possibile che si debba ogni volta riflashare ad ogni modifica? Come si farebbe a simulare esattamente l'hardware del device per capire se funzionerà?

Ciao a tutti
Ultima modifica di trekfan1 il domenica 6 gennaio 2019, 11:09, modificato 1 volta in totale.
Motivazione: Sistemato il titolo
lemon
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 373
Iscrizione: giugno 2006

Re: Cucinarare una rom da 0 di ANDROID

Messaggioda Sargonsei » domenica 6 gennaio 2019, 0:41

Salvo casi particolari, la risposta è NO.
Il problema è che, mentre i PC che utilizziamo sono in massima parte fra loro compatibili e retrocompatibili con CPU uscite precedentemente, per gli smartphone non è così.
A (quasi) ogni modello si smartphone, corrisponde uno specifico modello di CPU, e Android è plasmato sulla CPU su cui deve funzionare, quindi addio retrocompatibilità...
Postare l'output di un comando significa inserire nel post: la riga in cui si digita il comando, tutto l'output, e la riga in cui il prompt ricompare.
Hardware e Sistema Operativo di Sargonsei: http://sargonsei.altervista.org/hardwar ... r-fisso-2/
Comandi da tenere a portata di mano: http://sargonsei.altervista.org/655-2/
Avatar utente
Sargonsei
Entusiasta Emergente
Entusiasta Emergente
 
Messaggi: 2236
Iscrizione: febbraio 2008

Re: Cucinarare una rom da 0 di ANDROID

Messaggioda superlex » domenica 6 gennaio 2019, 3:24

Ehhhhh ti piacerebbe :D
No ogni smartphone ha il suo kernel, in cui la trafila è molto lunga perché prima passa da Google, poi da Qualcomm (o altri produttori dei SoC) e solo dopo nelle mani dell'OEM, tant'è che dal 4.4 le versioni LTS vengono supportate 6 anni:
https://arstechnica.com/gadgets/2017/09 ... r-6-years/

Partiamo dal principio:
- ogni OEM (casa produttrice) mette a disposizione i sorgenti del kernel ed è obbligata a farlo per via della GPL, che riguarda però solo il kernel, mentre tutto il resto (framework etc.) essendo sotto apache 2 può rimanere chiuso, per cui non aspettartelo;
- non tutti gli OEM sono uguali nel rilasciare i sorgenti del kernel, c'è chi li aggiorna costantemente e chi invece li rilascia una volta e via, magari anche con mancanze qua e là che rendono la compilazione molto complicata;
- bisogna prima di tutto sbloccare il bootloader e installare una custom recovery, vedila a grandi linee come un grub ma con funzioni molto più avanzate, perché puoi per es. "flashare" il kernel, una rom (versione di android completa) oppure un'altra recovery;
- sbloccare il bootloader non è scontato, il produttore può permetterlo (vedi Huawei), o renderlo complicato (vedi Xiaomi).

La questione quindi è molto più complicata che lato desktop: come dice Sargonsei a ogni smartphone corrisponde una custom rom, col kernel derivato dai sorgenti messi a disposizione dall'OEM e il resto derivati da "distribuzioni" comuni come possono essere la LineageOS, la Resurrection Remix, etc.

Ora, tieni presente che io non mi sono mai cimentato personalmente nella cosa, però lato sorgenti e politiche bootloader il produttore migliore sembra essere BQ, che rilascia i sorgenti del kernel completi e sempre aggiornati, e sbloccare il bootloader non invalida la garanzia.
Qui trovi i sorgenti del kernel dei suoi smartphone, per es. Aquaris X "bardock" (ultima versione, vedi tags):
https://github.com/bq/aquaris-X/tree/2. ... 81008-1122
e qui le istruzioni per la compilazione per es. della LineageOS:
https://wiki.lineageos.org/devices/bardock/build
!!! NOTA !!!: non si accettano richieste d'aiuto in privato, sebbene si possa segnalare la discussione aperta per un eventuale intervento. Grazie.
[GUIDA] Webcam Motion Eye 05ca:18** Sony Vaio
[GUIDA] TunerTV eb1a:2881 per Ubuntu 16.04
Avatar utente
superlex
Rampante Reduce
Rampante Reduce
 
Messaggi: 5358
Iscrizione: agosto 2008
Desktop: Budgie
Distribuzione: Ubuntu 18.04 LTS

Re: Cucinarare una rom da 0 di ANDROID

Messaggioda lemon » domenica 6 gennaio 2019, 10:00

Fantastico!
Mi è tutto più chiaro e ringrazio per le risposte.
Io ho uno smartphone nel cassetto e sinceramente qualche esperimento mi piacerebbe senza distruggerlo :P

È di una marca cinese si chiama UMIDIGI modello Z2 pro

La rom originale fa... Schifo si può dire? :P

Attualmente ha una 8.1 di Android e seguendo il vostro discorso sul processore ho verificato : il processore è supportato da 9.0 PIE di Android.

Tra l altro la stessa company ha creato un altro smartphone molto simile con lo stesso processore dal nome UMIDIGI F1.

Basterebbe, come accade in Linux e Interfaccia grafica /kernel
Aggiornare a PIE e mantenere lo stesso kernel?

Speravo, e mi avete detto di no, fosse una sorta di installo pie e "trovo i driver dei componenti.


Anche perché mi sembra assurdo che anche aziende strane che acquistano componenti da oem e li assemblando possano tutte avere programmatori in grado di costruire rom su misura...


Voi avendo questo telefonino nel cassetto da dove partireste?

La cosa, vi dico sinceramente, mi incuriosisce parecchio
lemon
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 373
Iscrizione: giugno 2006

Re: Cucinarare una rom da 0 di ANDROID

Messaggioda Sargonsei » domenica 6 gennaio 2019, 12:08

lemon Immagine ha scritto:Fantastico!
Mi è tutto più chiaro e ringrazio per le risposte.
Io ho uno smartphone nel cassetto e sinceramente qualche esperimento mi piacerebbe senza distruggerlo :P

È di una marca cinese si chiama UMIDIGI modello Z2 pro

La rom originale fa... Schifo si può dire? :P

Attualmente ha una 8.1 di Android e seguendo il vostro discorso sul processore ho verificato : il processore è supportato da 9.0 PIE di Android.

...
Voi avendo questo telefonino nel cassetto da dove partireste?

La cosa, vi dico sinceramente, mi incuriosisce parecchio
Purtroppo, gli smartphone sembrano dei computer tascabili, ma non lo sono, quindi è difficilissimo adattare alle proprie esigienze guide relative a marca e modello diverse da quella che si possiede...
Io personalmente partirei con una ricerca su internet per individuare eventuali guide per fare ciò che vuoi fare con lo smartphone che possiedi;
Il secondo passo, sarebbe l'iscrizione ad un forum specifico per avere aiuti mirati.
Postare l'output di un comando significa inserire nel post: la riga in cui si digita il comando, tutto l'output, e la riga in cui il prompt ricompare.
Hardware e Sistema Operativo di Sargonsei: http://sargonsei.altervista.org/hardwar ... r-fisso-2/
Comandi da tenere a portata di mano: http://sargonsei.altervista.org/655-2/
Avatar utente
Sargonsei
Entusiasta Emergente
Entusiasta Emergente
 
Messaggi: 2236
Iscrizione: febbraio 2008

Re: Cucinarare una rom da 0 di ANDROID

Messaggioda superlex » lunedì 7 gennaio 2019, 19:23

lemon Immagine ha scritto:Fantastico!
Mi è tutto più chiaro e ringrazio per le risposte.
Io ho uno smartphone nel cassetto e sinceramente qualche esperimento mi piacerebbe senza distruggerlo :P

È di una marca cinese si chiama UMIDIGI modello Z2 pro

La rom originale fa... Schifo si può dire? :P

Attualmente ha una 8.1 di Android e seguendo il vostro discorso sul processore ho verificato : il processore è supportato da 9.0 PIE di Android.

Tra l altro la stessa company ha creato un altro smartphone molto simile con lo stesso processore dal nome UMIDIGI F1.

Basterebbe, come accade in Linux e Interfaccia grafica /kernel
Aggiornare a PIE e mantenere lo stesso kernel?

Iniziamo col dire che quella marca è molto cinese e per di più ha un processore Mediatek che lato modding/custom rom non è proprio dei migliori (non a caso consigliano tutti Qualcomm).
Non è per nulla semplice fare una custom rom con la stessa versione di Android della preinstallata/aggiornata dall'OEM, pensa aggiornarne la versione :p Per aggiornare di versione, il kernel deve essere adattato prima di tutto dal produttore del SoC e poi dall'OEM. In genere le custom rom di questo tipo si basano su pezzi di custom rom di altri smartphone simili, magari con lo stesso SoC o almeno simile, ma in genere come puoi immaginare il lavoro che ne esce fuori non è proprio dei migliori.
Comunque da Oreo (Android 8 ) in poi Android supporta Project Treble, che permette di ottenere delle custom rom generiche in grado di girare su più smartphone. Ti lascio questo articolo per capire meglio di che si tratta e come funziona la cosa:
https://android.hdblog.it/2017/11/13/Pr ... ona-guida/

Speravo, e mi avete detto di no, fosse una sorta di installo pie e "trovo i driver dei componenti.


Anche perché mi sembra assurdo che anche aziende strane che acquistano componenti da oem e li assemblando possano tutte avere programmatori in grado di costruire rom su misura...


Voi avendo questo telefonino nel cassetto da dove partireste?

La cosa, vi dico sinceramente, mi incuriosisce parecchio

Io partirei da progetti già avviati, per studiarli e a limite apportare modifiche/miglioramenti.
Per il tuo Z2Pro ho trovato questo:
http://www.androidiani.com/forum/umidig ... m-rom.html
ma mi pare solo una modifica della rom preinstallata, non trovo neanche i sorgenti del kernel :o
Comunque in genere un forum indicato per il modding su Android è xda-developers.
!!! NOTA !!!: non si accettano richieste d'aiuto in privato, sebbene si possa segnalare la discussione aperta per un eventuale intervento. Grazie.
[GUIDA] Webcam Motion Eye 05ca:18** Sony Vaio
[GUIDA] TunerTV eb1a:2881 per Ubuntu 16.04
Avatar utente
superlex
Rampante Reduce
Rampante Reduce
 
Messaggi: 5358
Iscrizione: agosto 2008
Desktop: Budgie
Distribuzione: Ubuntu 18.04 LTS


Torna a Programmazione

Chi c’è in linea

Visualizzano questa sezione: 0 utenti registrati e 9 ospiti