EXCLUSIV: Actualizări software Pixel, modificări partiții, pornire dublă și actualizări ROM personalizate fără întreruperi

Vorbind cu dezvoltatorul principal al TWRP, Dees_Troy, despre această chestiune, credem că ar putea fi posibilă exploatarea actualizărilor fără întreruperi pentru a oferi pornirea dublă.

În timpul Google I/O din acest an, Google a introdus oficial Android Nougat care a adus câteva îmbunătățiri de utilizare foarte necesare celor dintre noi suficient de norocoși să dețină un dispozitiv Nexus modern. Au fost câteva caracteristici subliniate de Google în timpul Google I/O care nu și-au găsit drumul în versiunile finale de producție Nougat pentru dispozitivele Nexus actuale, mai ales actualizări fără întreruperi.

Mulți utilizatori au fost dezamăgiți de revelația că actualizările fără întreruperi vor fi prezente doar pe dispozitivele care navă cu Android Nougat, dar pentru cei dintre noi care plănuiesc să facem upgrade la Următorul Legătură Dispozitive pixeli avem de așteptat cu nerăbdare o nouă funcție minunată. Cu toate acestea, de la Google I/O, nu am văzut cu adevărat detalii suplimentare despre această nouă funcție.

Totuși, acest lucru nu i-a împiedicat pe unii dintre cei mai curioși dintre noi să-și dea seama cum intenționează exact Google să facă actualizări fără întreruperi. Ethan Yonker, care poartă numele de ecran Dees_Troy și este cel mai bine cunoscut pentru munca sa ca dezvoltator principal pe Team Win Recovery Project, porumbel direct în codul sursă Nougat lansat de Google pentru a înțelege cu ce are de-a face atunci când dispozitivele Pixel sunt inevitabil lansate. Google a făcut câteva modificări interesante la aspectul partiției viitoarelor dispozitive Pixel - și cu o muncă meșteșugată a dezvoltatorilor de pe forumurile noastre, Dees_Troy presupune că dual-boot poate fi posibil.


Telefoanele Pixel de la Google și partițiile lor

Tabel de partiții Nexus 6P

În cazul în care nu știți, spațiul de stocare al telefonului este împărțit în mai multe memorie internă standard despărțitori. Partițiile cu care sunteți probabil cel mai familiarizat sunt /boot, /system, /data, /recovery și /cache, deși dacă sunteți interesat puteți căuta tabelul de partiții real pe dispozitivul dvs. Cantitatea de spațiu de stocare disponibilă pentru dvs., utilizator, este determinată de dimensiunea alocată partiției /data. Pe de altă parte, /system este locul în care se află majoritatea fișierelor sistemului de operare Android. Redimensionarea acestor două partiții la spațiul adecvat pentru mai multe aplicații de utilizator sau poate o nouă versiune de Android este cu siguranta posibil, dar procesul poate fi riscant și, în general, nu este ceva la care ar trebui să vă așteptați vreodată de la dispozitivul dvs.

În general, când actualizați, numai fișierele din /system sunt modificate și actualizările sunt aplicate la nivel de bloc, astfel încât dm-verity să rămână neîntrerupt. Ori de câte ori vă actualizați dispozitivul, în general, nu îl puteți utiliza în mod activ. În schimb, trebuie să așteptați ca recuperarea să modifice toate fișierele necesare din fiecare partiție. Acest lucru este pentru a preveni orice probleme potențiale ale sistemului de operare Android care încearcă să acceseze un fișier aflat în prezent actualizat, dar, pe de altă parte, înseamnă că utilizatorii trebuie să stea câteva minute pentru a viziona sigla de recuperare Android aplică o Actualizați.

Înainte de Android Nougat, fiecare dispozitiv era livrat cu o singură copie a fiecărei partiții. Acest lucru are sens pentru majoritatea smartphone-urilor Android - spațiul de stocare este la un nivel superior (sau așa ne facem să credem), așa că de ce să vă deranjați cu redundanța mai multor partiții de rezervă? Răspunsul la aceasta este actualizările fără probleme. Cealaltă incursiune a Google în sistemele de operare - Chrome OS - s-a dovedit a fi un succes extraordinar. Android împrumută de fapt conceptul de actualizări fără întreruperi de la sistemul de operare Chrome. Sistemul de operare Chrome realizează actualizări fără întreruperi prin actualizarea unui set de partiții redundante, inactive în fundal și apoi schimbând imediat aceste partiții cu cele active în prezent înainte de pornire.

Flux de lucru de actualizare a sistemului de operare Chrome - Probabil că Android va urma ceva similar

Inițial, am crezut că telefoanele livrate cu Nougat preinstalat vor veni doar cu o partiție secundară/sistem. Potrivit Dees_Troy, telefoanele Pixel vor fi livrate cu două copii ale celor mai multe, dacă nu ale tuturor partițiilor de pe dispozitiv.

Noile telefoane Pixel vor avea 2 partiții de sistem, 2 partiții de pornire, 2 partiții de furnizor, 2 partiții de modem, etc. Un set de partiții va fi activ -- setul de partiții care sunt utilizate în prezent pentru a porni dispozitivul. Când o actualizare este publicată, actualizarea va fi aplicată celui de-al doilea set în fundal. Odată ce actualizarea a fost aplicată, va apărea o solicitare care va cere să reporniți. Repornirea nu va include pornirea până la recuperare. În schimb, dispozitivul va comuta ce set de partiții este folosit la al doilea set și veți porni rapid, poate aproape instantaneu, un dispozitiv actualizat. - Dees_Troy


Telefoane Pixel cu pornire dublă și actualizări ROM personalizate fără întreruperi?

Cu două copii ale fiecărei partiții, Dees_Troy prezice că vom putea deturnează al doilea set de partiții pentru a porni dual. Dacă sunteți pe unul dintre puținele dispozitive care acceptă Proiect MultiROM, este posibil să fiți familiarizat cu perspectiva ROM-urilor cu pornire duală. Dacă te-ai mai încurcat cu MultiROM înainte, atunci ești Cu siguranță sunt conștienți de faptul că metodele pe care le folosesc sunt practic un set uriaș de hack-uri pentru a-l pune în funcțiune Android. În fiecare fir XDA care oferă MultiROM pe un dispozitiv, există o clauză mare de declinare a răspunderii în apropierea utilizatorilor de top care avertizează că „niciunul dintre aceste sisteme nu este realizat cu pornire multiplă în minte" care că "este posibil ca ceva să meargă prost și va trebui să flash din nou imaginile din fabrică." Dar Google ne oferă cu bunăvoință un al doilea set de partiții cu care să lucrăm, Dees_Troy se așteaptă să putem rula dual-boot pe telefoanele Pixel cu o anumită cooperare între diferiți membri ai ROM-ului comunitate.

Dacă putem deturna a doua partiție setată la dual-boot, atunci am putea folosi și aceste partiții secundare pentru a implementa actualizări fără întreruperi pentru ROM-uri personalizate de asemenea. Așadar, dacă sunteți unul dintre mulții utilizatori Cyanogenmod de seară dedicați, atunci este posibil să puteți actualiza la cea mai recentă noapte fără a fi nevoie să reporniți telefonul în recuperare în fiecare seară. Chiar dacă Open Recovery Scripting de la TWRP și diferitele instrumente de actualizare delta au redus foarte mult timpul și efortul necesar pentru a efectua o actualizare nocturnă, actualizarea fără probleme a ROM-ului în fundal le depășește cu siguranță pe toate celelalte Opțiuni.

Rețineți că nu putem fi siguri că aceste funcții vor funcționa până când nu avem dispozitive funcționale în mână, dar date Munca extinsă a lui Dees_Troy asupra TWRP și cercetarea sa în codul sursă al lui Nougat, credem că această speculație este extrem de credibil.

Deși toate aceste funcții viitoare și probabile sună pozitiv, am descoperit și o mulțime de modificări care complică dezvoltarea pe viitoarele dispozitive Pixel. Vom detalia acestea într-un alt articol programat pentru mâine, dar între timp vă rugăm să vă păstrați hype-ul sub control!