Razvijalec Magisk je naredil dva velika preboja: podporo za korenski sistem in logične particije za Google Pixel 3 in Pixel 3a na Androidu Q.
Google je izdal prvo različico Android Q beta že marca in hiter root dostop prek Magiska postalo na voljo za Google Pixel in Google Pixel 2. Google Pixel 3 pa ni bilo mogoče zakoreniniti v sistemu Android Q, ker je razvijalec Magisk, priznani razvijalec XDA topjohnwu, potrebno za ugotovitev, kako delati z novo postavitvijo logičnih particij. S svojim novim stažiranjem pri Applu je imel topjohnwu manj časa za delo na Magisku, vendar ga to ni ustavilo pri dveh velikih prebojih v razvoju. V zadnji izdaji Canary Magisk zdaj podpira sistem kot koren, zaradi česar aplikacije težje zaznajo koren dostop in podpira tudi naprave z logičnimi particijami, kot sta seriji Pixel 3 in Pixel 3a XL na Android Q.
Forumi za Google Pixel 3Forumi za Google Pixel 3 XL
Forumi za Google Pixel 3aForumi za Google Pixel 3a XL
Podpora za logično particijo Google Pixel 3 in Pixel 3a v sistemu Android Q
Da bi razvijalcem pomagal pri testiranju različic Androida AOSP na obstoječih napravah, Google izda Generic System Images (GSI), ki jih je mogoče zagnati v napravah, združljivih s Project Treble (vsaka naprava, ki zagnan z Androidom 9 Pie ali novejšim.) Namestitev GSI zahteva odklepanje zagonskega nalagalnika, kar morda ni mogoče na vseh napravah, in utripanje sistemske slike prek hitrega zagona po brisanju uporabnika podatke. V sistemu Android Q Google predstavlja novo funkcijo, imenovano Dinamične posodobitve sistema ki razvijalcem omogoča zagon GSI brez odklepanja zagonskega nalagalnika ali brisanja podatkov. Za podporo dinamičnih sistemskih posodobitev mora naprava imeti logične particije, ki jim je mogoče dinamično spreminjati velikost, da se naredi prostor za namestitev GSI. Google Pixel 3, Google Pixel 3 XL, Google Pixel 3a in Google Pixel 3a XL imajo logične particije v različicah Android Q beta, čeprav samo Pixel 3 in Pixel 3 XL podpirata DSU. Ne glede na to Magisk ni deloval zaradi te radikalne spremembe v particijski strukturi.
Ko je topjohnwu odločen, mu nič ne prepreči, da bi dosegel korenski dostop. Ravno pred dnevi je objavil, da je uspešno zakoreninil svoj Pixel 3 XL na Android Q beta 4. Njegov opis objave tukaj pojasnjuje tehnične podrobnosti o tem, kako je dosegel podporo za logične particije, a pomembno je, da je Magisk zdaj mogoče namestiti na naprave z ali brez logičnih particij.
Podpora sistema kot korena
Za naprave z A/B dvojne predelne stene, je sistemska particija nameščena kot korenski imenik (/), vendar imajo naprave brez dvojnih particij A/B sistemsko particijo nameščeno na /system. To onemogoča samo sistemske OTA na napravah, ki niso A/B, ker se datoteke na pomnilniškem disku, ki jih je treba posodobiti, nahajajo na zagonski particiji. Zato Google zahteva, da vse naprave, ki se zaženejo s sistemom Android Pie, podpirajo postavitev particije sistema kot korena, da bi omogočil samo sistemske OTA v sistemu Android Pie in novejšem. V postavitvi sistema kot korena je slika pomnilniškega diska združena v sliko sistema, ki je nameščena kot rootfs.
Odkar je Google uvedel sistem kot koren, je rešitev za korenske naprave je bilo vrniti sistem-kot-korenski nazaj na staro postavitev particije "initramfs rootfs". to dela dobro za Android 7.1 do Android 9 Pie, saj ima Android podedovano podporo za to staro postavitev, Android Q pa popolnoma odstrani podpora kot sistem kot koren je zdaj obvezna za vse naprave, tudi za tiste naprave, ki se posodabljajo na Android Q. Prejšnje različice Magiska so še vedno delovale zahvaljujoč nekaterim "res grdim vdorom", vendar topjohnwu ni bil zadovoljen s to rešitvijo, tako da ima pravilno podporo sistema kot korena predstavljen "MagiskInit."
Lep stranski učinek pravilne podpore postavitve sistemske kot korenske particije je ta eno potencialno pot zaznavanja korenin je bilo zmečkano. Kot mi je prijazno razložil topjohnwu, je bilo staro metodo "vrnitev na initramfs rootfs" enostavno zaznati za aplikacije, ker bi Magisk priklopil sistem na '/system_root' in poveži mount '/system_root/system' na '/system.' Vse, kar mora aplikacija storiti, da zazna prisotnost korena, je preverite, ali '/system_root' obstaja ali če je '/' 'rootfs.' Vendar ni jasno, ali je katera koli aplikacija to dejansko izkoristila za zaznavanje korenina. Kljub temu je bolje varno kot obžalovati.
Razne spremembe
Android Q uvaja podporo za nekaj, kar se imenuje "blastula bazen« v življenjski cikel aplikacije za Android. MagiskHide je bil nezmožen za odkrivanje aplikacij, pred katerimi bi skrili korenski dostop, če je bila omogočena nova funkcija »področje procesov«. Najnovejša izdaja Canary zdaj podpira to funkcijo. Po besedah topjohnwuja: "Da bi pravilno podprl novo optimizacijo bazena blastule, predstavljeno v Q, sem ponovno napisal dober del logike ptracing za spremljanje procesa."
Če imate Pixel 3, Pixel 3 XL, Pixel 3a ali Pixel 3a XL v različici Android Q beta, preizkusite najnovejšo izdajo Magisk Canary in nam sporočite, če vam uspe rootati svojo napravo.
Kanarski kanal Magisk