Autore Topic: Aggiornare ANDROID come un qualsiasi OS... si può?  (Letto 2703 volte)

Offline NikDroid

  • Nuovo arrivato
  • *
  • Post: 3
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
  • Sistema operativo:
    Mac OS X 10.6
Aggiornare ANDROID come un qualsiasi OS... si può?
« il: 23 Settembre 2010, 18:00:40 CEST »
Mi spiego meglio. Mentre Android sforna aggiornamenti tutti i possessori di un device devono attendere che sia la casa produttrice a proporre l'aggiornamento specifico (che in alcuni casi neanche avviene). Credo che questo sia dovuto alla personalizzazione che ogni produttore fa della relase Android distribuita.
A tal proposito mi sono chiesto se mai fosse possibile aggiornare il proprio device esattamente come faremmo con, ad esempio, la nostra distro Linux (per rimanere nell'area di sviluppo Android) a costo anche di perdere tutte le personalizzazioni della casa produttrice. Naturalmente conosco dell'esistenza delle cosiddette "ROM cucinate" ma è chiaro che non è a questo che mi riferisco.
Dispositivo Android:  HTC Desire
Piattaforma per lo sviluppo:  iMac 21,5 OS X Snow Leopard 10.6.4
Applicativo per lo sviluppo:  Eclipse

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Aggiornare ANDROID come un qualsiasi OS... si può?
« Risposta #1 il: 23 Settembre 2010, 18:11:52 CEST »
Non sono molto esperto in materia ma credo che il problema principale è il kernel.

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:Aggiornare ANDROID come un qualsiasi OS... si può?
« Risposta #2 il: 23 Settembre 2010, 18:25:42 CEST »
Quello che dice Ricky é esatto. Il problema non é la sense o il touchwiz o qualsiasi altra personalizzazione. Il problema é che ogni device necessita di driver specifici, che spesso sono proprietari (HTC invece rilascia i sorgenti dei kernel dei suoi device android).
Con i sistemi operativi questo problema "non esiste" perché il kernel contiene giá tutti i moduli pronti per praticamente tutto l'hardware in circolazione (tranne quello recentissimo).

E comunque, anche se il kernel fosse disponibile per ogni device, parleremmo sempre di rom modificate.
Postate il LogCat LogCat LogCat LogCat LogCat

Offline NikDroid

  • Nuovo arrivato
  • *
  • Post: 3
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
  • Sistema operativo:
    Mac OS X 10.6
Re:Aggiornare ANDROID come un qualsiasi OS... si può?
« Risposta #3 il: 23 Settembre 2010, 18:39:18 CEST »
Io più che un problema di kernel, ho l'impressione che ci sia una volontà di politica aziendale che impedisce a google di rilasciare aggiornamenti liberamente del suo OS Android, che è ne più ne meno una distro Linux, nella stessa modalità utilizata dalle altre distro Linux per PC.
Ma quanti tipi di hardware esistono che non possono essere pilotati con un kernel pigliatutto? Nel mondo dei PC più o meno siamo nelle stesse condizioni eppure non mi sembra che ci siano grandi difficoltà, quando si incontra un hardware nuovo o ostico può succedere che ci siano delle difficoltà ma come sempre accade queste vengono fixate nel giro di poco tempo.
...O forse Android non è esattamente come una qualsiasi distro Linux e quindi sono su una strada completamente sbagliata?  :-o

Aggiungo...
Non credo che google non sia in grado di fare questo: http://www.android-x86.org/ per qualsiasi device, o essere all'altezza di quei programmatori che installano Android su terminali che neanche nascono con questo OS :-\
« Ultima modifica: 23 Settembre 2010, 19:27:29 CEST da NikDroid »
Dispositivo Android:  HTC Desire
Piattaforma per lo sviluppo:  iMac 21,5 OS X Snow Leopard 10.6.4
Applicativo per lo sviluppo:  Eclipse

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Aggiornare ANDROID come un qualsiasi OS... si può?
« Risposta #4 il: 23 Settembre 2010, 20:30:55 CEST »
...O forse Android non è esattamente come una qualsiasi distro Linux e quindi sono su una strada completamente sbagliata?  :-o

Questa. Android è si basato sul kernel linux ma è tutt'altro che pigliatutto. Anzi, è pesantemente ritagliato per ciascun device.

Io ho seguito il modder che cercava di var andare Eclair sul Tattoo (speravo lo finisse completo). Ha tutto il codice sorgente del 2.1 ovviamente, però il suo problema sono i driver. Identificare la giusta marca e versione di ciascun device e trovare/integrare nel kernel un driver adatto epr tale perifderica.

Quanto al perchè le case non lo facciano è abbastanza ovvio: può essere che il device fa fatica a sopportare la nuova release, ma soprattutto devi pagare le persone che eseguono il porting, il test e la maintenance. Abbastanza controproducente per device che la casa non ci tiene a spingere, perchè praticamente non produce più, ti pare? E Google c'entra veramente poco con quello che ciascuna casa decide di fare con i suoi device.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Aggiornare ANDROID come un qualsiasi OS... si può?
« Risposta #5 il: 23 Settembre 2010, 20:37:46 CEST »
HTC invece rilascia i sorgenti dei kernel dei suoi device android

Tutti quanti DEVONO rilasciare i sorgenti del kernel se qualcuno lo richiede, sta scritto nella GPL, ed è solo per questo che HTC li rilascia, non certo perché è buona e brava (e lo dico da felice possessore di hardware HTC).

Purtroppo però il solo kernel non basta a permettere un aggiornamento dell'OS, anche perché spesso viene pesantemente modificato proprio per integrarsi con le varie TouchWiz, Sense e Motoblur.

Però partendo dal kernel "moddato" si potrebbe in teoria "ripulire" per consentire il corretto funzionamento con i sorgenti AOSP.
Questo, ad esempio, è quello che ha fatto il mio amico Kali: ha preso i sorgenti del desire, li ha confrontati con quelli del nexus e ha creato un kernel per il desire che consente di utilizzare le ROM nexus (la stock è praticamente una AOSP).

Se oggi potete installare la CyanogenMod 6 sul vostro Desire è merito di Kali.

C'è da dire però che col desire è stato relativamente semplice: ha quasi lo stesso HW del nexus, quindi il confronto tra i kernel era mooolto agevolato.
Altrettanto facile non sarebbe ripulire un kernel senza averne un altro di riferimento.

Comunque quello che chiedi tu lo sta in parte facendo il team di Cyanogen: ROM unica basata su AOSP che gira su un grandissimo numero di dispositivi dove quello che cambia è (semplificando) solo il kernel.
Da poco ha annunciato il supporto ad Acer Liquid, HTC Legend e HTC Wildfire ;)

Se avete una CM sul vostro telefono prendete in seria considerazione l'idea di fargli una donazione, i ragazzi del team di Cyanogen stanno veramente facendo un lavoro straordinario.
« Ultima modifica: 23 Settembre 2010, 20:40:33 CEST da JD »
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:Aggiornare ANDROID come un qualsiasi OS... si può?
« Risposta #6 il: 23 Settembre 2010, 20:44:30 CEST »
Innanzi tutto ricordo a tutti che driver = moduli del kernel.
Per continuare.
Google non scrive driver, scrive il sistema operativo.
Perché i problemi non vengono fixati? Beh perché mentre per il kernel standard linux, ci sono comunitá immense che lavorano sulla creazione dei driver, per android queste comunitá non sono cosí immense.
Cyanogen per esempio ha perso molto tempo per scrivere i driver per Dream/Magic 32B.
In sostanza, mancano i volontari che lavorano sui moduli del kernel di android, appositi per i vari device.

Inoltre l'installazione di un sistema operativo é ben diversa dal flash di una rom.
Durante l'installazione di un OS viene fatto un check della configurazione hardware con conseguente configurazione del kernel con i moduli appositi per il sistema.
Invece il flash di una rom non é un'operazione di questa portata. Durante il flash, i files di uno zip vengono estratti nella memoria flash di un device, dividendoli secondo un certo schema di partizioni. É un semplice copia-incolla. In questo processo non c'é modo di selezionare i driver appositi, ma questi devono essere caricati precedentemente.
Di fatto non esiste una rom che vada, ad esempio, su Nexus One e su Motorola Milestone, poiché anche se si creasse un kernel fatto da tutti i relativi moduli, questo non potrebbe essere usato per NESSUNO dei due device.


EDIT: @JD: Non c'é piú nessuno, in questo mondo, che fa qualcosa per pura bontá :D
« Ultima modifica: 23 Settembre 2010, 20:46:01 CEST da blackgin »
Postate il LogCat LogCat LogCat LogCat LogCat

Offline NikDroid

  • Nuovo arrivato
  • *
  • Post: 3
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
  • Sistema operativo:
    Mac OS X 10.6
Re:Aggiornare ANDROID come un qualsiasi OS... si può?
« Risposta #7 il: 23 Settembre 2010, 21:17:05 CEST »
Grazie a tutti, adesso mi sono chiare molte cose. :D

Non ci rimane che augurare un futuro glorioso al gruppo Cyanogen che si spera farà in modo che i nostri device saranno sempre all'altezza dei tempi che corrono.  ;-)
Dispositivo Android:  HTC Desire
Piattaforma per lo sviluppo:  iMac 21,5 OS X Snow Leopard 10.6.4
Applicativo per lo sviluppo:  Eclipse

Offline Kali

  • Nuovo arrivato
  • *
  • Post: 2
    • Mostra profilo
Re:Aggiornare ANDROID come un qualsiasi OS... si può?
« Risposta #8 il: 23 Settembre 2010, 21:53:30 CEST »
Il kernel di linux come ha ben detto JD è licenziato GPL e quindi ogni sua modifica deve essere rilasciata con la medesima licenza, HTC come tutti gli altri lo fà esclusivamente perchè obbligata legalmente.

Questo non è vero per la ROM che è licenziata con la Apache 2.0 che invece permette la non pubblicazione (google sa bene che i costruttori di hw non avrebbero assolutamente voluto sottostare alla licenza GPL per preservare i loro lavori).
Però questo è attualmente un problema minore, in quanto google rilascia opensource i suoi sorgenti (AOSP).
Quindi il problema dei driver "non esiste", basta solo la buona volontà e una buona dose di conoscenza del Kernel e di C.

Il problema reale sta nelle protezioni che i vari costruttori stanno mettendo nei telefoni, tutti i nuovi telefoni implementano sistemi di sicurezza a volte completamente ingiustificati. Capisco perfettamente le loro esigenze di proteggere le loro opere intellettuali, ma non riesco a comprendere il motivo che li spinge a implementare sistemi di sicurezza che impediscano di fare quel che si vuole con quello che si è comprato.

« Ultima modifica: 23 Settembre 2010, 21:56:06 CEST da Kali »

Offline NikDroid

  • Nuovo arrivato
  • *
  • Post: 3
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
  • Sistema operativo:
    Mac OS X 10.6
Re:Aggiornare ANDROID come un qualsiasi OS... si può?
« Risposta #9 il: 23 Settembre 2010, 22:07:07 CEST »
[...]
Quindi il problema dei driver "non esiste", basta solo la buona volontà e una buona dose di conoscenza del Kernel e di C.

Il problema reale sta nelle protezioni che i vari costruttori stanno mettendo nei telefoni, tutti i nuovi telefoni implementano sistemi di sicurezza a volte completamente ingiustificati. Capisco perfettamente le loro esigenze di proteggere le loro opere intellettuali, ma non riesco a comprendere il motivo che li spinge a implementare sistemi di sicurezza che impediscano di fare quel che si vuole con quello che si è comprato.

Allora se ho ben capito la realtà è che tutto si può fare, mancano i "braccianti". Comunque considerata l'età di Android e il notevole successo che sta ottenendo si spera che diventi un buon terreno fertile per tutti gli sviluppatori.
Tutto ciò mi fa ancora più sperare che il mio HTC Desire potrà godere delle novità che verranno introdotte da Android 3.  ;-)
Dispositivo Android:  HTC Desire
Piattaforma per lo sviluppo:  iMac 21,5 OS X Snow Leopard 10.6.4
Applicativo per lo sviluppo:  Eclipse

Offline Kali

  • Nuovo arrivato
  • *
  • Post: 2
    • Mostra profilo
Re:Aggiornare ANDROID come un qualsiasi OS... si può?
« Risposta #10 il: 23 Settembre 2010, 22:19:19 CEST »
Assolutamente si, il mio lavoro sul kernel per la  CyanogenMod 6 per il Desire è praticamente completo, a breve rilascierò la 6.0.2 che dovrebbe essere a livello di kernel identica come funzioni e stabilità alla versione del Nexus.
Considera poi che portare sul desire gli eventuali aggiornamenti che vengono rilasciati per il Nexus (da google o da altri) sarà (e già lo è) un lavoro che anche un bambino può fare.

Offline NikDroid

  • Nuovo arrivato
  • *
  • Post: 3
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
  • Sistema operativo:
    Mac OS X 10.6
Re:Aggiornare ANDROID come un qualsiasi OS... si può?
« Risposta #11 il: 23 Settembre 2010, 22:26:11 CEST »
Bè che dire... Forza Kali e forza Cyanogen!!!  :D
Dispositivo Android:  HTC Desire
Piattaforma per lo sviluppo:  iMac 21,5 OS X Snow Leopard 10.6.4
Applicativo per lo sviluppo:  Eclipse

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Aggiornare ANDROID come un qualsiasi OS... si può?
« Risposta #12 il: 23 Settembre 2010, 22:34:32 CEST »
Quindi il problema dei driver "non esiste", basta solo la buona volontà e una buona dose di conoscenza del Kernel e di C.

Beh dici niente :) Non è un lavoro da tutti... io sinceramente non avrei idea di dove iniziare :D

Offline Kali

  • Nuovo arrivato
  • *
  • Post: 2
    • Mostra profilo
Re:Aggiornare ANDROID come un qualsiasi OS... si può?
« Risposta #13 il: 23 Settembre 2010, 22:53:06 CEST »
3 mesi fa non sapevo nemmeno cosa stessi facendo, è' nato tutto per caso, inizialmente come sfida a quel balordo di JD che prima mi ha tirato dentro ad android, poi stufo di sentirlo parlare di questo nexus e di questa fantastica rom che è la CyanogenMod mi ha quasi "costretto" a scrivere in una notte, quelle che io chiamo "le mie 6 ore di follia" la prima versione (funzionante) del kernel 2.6.32 per Desire.

Ora dopo 3 mesi di lavoro le cose sono completamente cambiate, penso che se all'epoca avessi avuto le conoscenze che ho ora di C e Kernel ci avrei messo 30' a farlo :D
« Ultima modifica: 23 Settembre 2010, 22:55:58 CEST da Kali »

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Aggiornare ANDROID come un qualsiasi OS... si può?
« Risposta #14 il: 23 Settembre 2010, 22:55:20 CEST »
Ah però :D
Credo che comunque avevi devi background su come mettere mani ad un kernel, dubito che scrivendo codice a caso hai ottenuto uno funzionante :D