Parlando con lo sviluppatore principale di TWRP, Dees_Troy, in merito, crediamo che potrebbe essere possibile sfruttare gli aggiornamenti continui per fornire il dual-boot.
Durante il Google I/O di quest'anno, Google ha introdotto ufficialmente Android Nougat che ha portato diversi miglioramenti di usabilità tanto necessari a quelli di noi che hanno la fortuna di possedere un moderno dispositivo Nexus. Alcune funzionalità delineate da Google durante il Google I/O non sono state inserite nelle build di produzione finali di Nougat per gli attuali dispositivi Nexus, soprattutto aggiornamenti senza interruzioni.
Molti utenti sono rimasti delusi dalla scoperta che gli aggiornamenti continui sarebbero stati presenti solo sui dispositivi che nave con Android Nougat, ma per quelli di noi che intendono eseguire l'aggiornamento a Prossimo Nesso Dispositivi pixel abbiamo una nuova fantastica funzionalità da aspettarci. Tuttavia, dal Google I/O non abbiamo visto ulteriori dettagli su questa nuova funzionalità.
Tuttavia, ciò non ha impedito ad alcuni dei più curiosi tra noi di capire come esattamente Google intende far funzionare gli aggiornamenti senza interruzioni. Ethan Yonker, soprannominato Dees_Troy ed è meglio conosciuto per il suo lavoro come sviluppatore principale di Progetto di recupero della vittoria della squadra, colomba direttamente nel codice sorgente di Nougat rilasciato da Google per capire con cosa avrà a che fare quando i dispositivi Pixel verranno inevitabilmente rilasciati. Google ha apportato alcune modifiche interessanti al layout delle partizioni dei prossimi dispositivi Pixel e, grazie al lavoro astuto degli sviluppatori sui nostri forum, Dees_Troy suppone che il dual-boot potrebbe essere possibile.
I telefoni Pixel di Google e le loro partizioni
Nel caso non lo sapessi, la memoria del tuo telefono è divisa in diverse memorie interne standard partizioni. Le partizioni con cui probabilmente hai più familiarità sono /boot, /system, /data, /recovery e /cache, anche se se sei interessato puoi cercare il file tabella delle partizioni effettiva sul tuo dispositivo. La quantità di spazio di archiviazione disponibile per te, l'utente, è determinata dalla dimensione allocata alla partizione /data. D'altra parte, /system è il luogo in cui risiedono la maggior parte dei file del sistema operativo Android. Ridimensionare queste due partizioni per adattare lo spazio a più app utente o forse a una nuova versione di Android lo è sicuramente possibile, ma il processo può essere rischioso e in generale non è qualcosa che dovresti mai aspettarti dal tuo dispositivo.
Generalmente quando si aggiorna vengono modificati solo i file all'interno di /system e gli aggiornamenti vengono applicati a livello di blocco, in modo che dm-verity rimanga intatto. Ogni volta che aggiorni il tuo dispositivo, generalmente non sei affatto in grado di utilizzarlo attivamente. Dovrai invece attendere che il ripristino modifichi tutti i file necessari all'interno di ciascuna partizione. Questo per evitare potenziali problemi da parte del sistema operativo Android nel tentativo di accedere a un file attualmente in corso aggiornato, ma d'altro canto significa che gli utenti devono trascorrere diversi minuti guardando il logo di ripristino di Android applicare un aggiornamento.
Prima di Android Nougat, ogni dispositivo veniva fornito con una sola copia di ciascuna partizione. Questo ha senso per la maggior parte degli smartphone Android: lo spazio di archiviazione è limitato (o almeno così siamo portati a credere), quindi perché preoccuparsi della ridondanza di più partizioni di backup? La risposta a questa domanda sono gli aggiornamenti continui. L'altra incursione di Google nei sistemi operativi, Chrome OS, ha dimostrato di avere un enorme successo. Android in realtà prende in prestito il concetto di aggiornamenti continui da Chrome OS. Chrome OS ottiene aggiornamenti continui aggiornando una serie di partizioni ridondanti e inattive in background e quindi scambiando immediatamente queste partizioni con quelle attualmente attive prima dell'avvio.
Inizialmente, credevamo che i telefoni forniti con Nougat preinstallato sarebbero stati forniti solo con una partizione secondaria/di sistema. Secondo Dees_Troy, i telefoni Pixel verranno spediti con due copie della maggior parte, se non di tutte, le partizioni del dispositivo.
I nuovi telefoni Pixel avranno 2 partizioni di sistema, 2 partizioni di avvio, 2 partizioni del fornitore, 2 partizioni del modem, eccetera. Sarà attivo un set di partizioni: il set di partizioni attualmente utilizzato per avviare il dispositivo. Quando viene pubblicato un aggiornamento, l'aggiornamento verrà applicato al secondo set in background. Una volta applicato l'aggiornamento, verrà visualizzato un messaggio che chiede di riavviare. Il riavvio non includerà l'avvio in ripristino. Invece, il dispositivo cambierà il set di partizioni utilizzato nel secondo set e avvierai rapidamente, forse quasi istantaneamente, un dispositivo aggiornato. -Dees_Troy
Telefoni Pixel con doppio avvio e aggiornamenti ROM personalizzati senza soluzione di continuità?
Con due copie di ogni partizione, Dees_Troy prevede che potremmo riuscirci dirottare il secondo set di partizioni in dual-boot. Se utilizzi uno dei pochissimi dispositivi che supportano il file Progetto MultiROM, potresti avere familiarità con la prospettiva delle ROM dual-boot. Se hai già avuto problemi con MultiROM, allora lo sei decisamente consapevole che i metodi che usano sono fondamentalmente un gigantesco insieme di hack per farlo funzionare Androide. In ogni thread XDA che fornisce MultiROM su un dispositivo, c'è un ampio disclaimer vicino alla parte superiore che avverte gli utenti che "nessuno di questi sistemi è realizzato con il multiboot in mente" che "è possibile che qualcosa vada storto e dovrai eseguire nuovamente il flashing delle immagini di fabbrica." Ma con Google che ci fornisce gentilmente una seconda serie di partizioni con cui lavorare, Dees_Troy prevede che potremmo essere in grado di eseguire il dual-boot sui telefoni Pixel con una certa cooperazione tra i vari membri della ROM Comunità.
Se riusciamo a dirottare la seconda partizione impostata su dual-boot, potremmo potenzialmente utilizzare anche queste partizioni secondarie per l'implementazione aggiornamenti continui per ROM personalizzate anche. Quindi, se sei uno dei tanti utenti notturni dedicati di Cyanogenmod, potresti essere in grado di aggiornare all'ultima versione notturna senza dover riavviare il telefono in modalità di ripristino ogni notte. Anche se l'Open Recovery Scripting di TWRP e i vari strumenti di aggiornamento delta hanno notevolmente ridotto il tempo e lo sforzo richiesto per eseguire un aggiornamento notturno, l'aggiornamento continuo della ROM in background batte sicuramente tutti gli altri opzioni.
Tieni presente che non possiamo essere sicuri che queste funzionalità funzioneranno finché non avremo effettivamente dispositivi funzionanti in mano, ma dati Considerato l'ampio lavoro di Dees_Troy su TWRP e la sua ricerca sul codice sorgente di Nougat, riteniamo che questa speculazione sia altamente credibile.
Sebbene tutte queste funzionalità imminenti e probabili sembrino positive, abbiamo anche scoperto molti cambiamenti che complicheranno lo sviluppo sui prossimi dispositivi Pixel. Ne parleremo in dettaglio in un altro articolo previsto per domani, ma nel frattempo tieni sotto controllo il tuo hype!