Android | Κάνουμε root σε συσκευές με A/B partition με το Magisk

Magisk

Δεν υπάρχουν και πολλοί λόγοι για να κάνεις root στη συσκευή σου το 2021, αλλά αν το αποφασίσεις θα ανακαλύψεις ότι η μέθοδος έχει αλλάξει ελαφρώς σε σχέση με το παρελθόν. Αυτό οφείλεται στο γεγονός ότι οι περισσότερες, αν όχι όλες οι Android συσκευές, διαθέτουν πλέον το "νέο" A/B partition system, η μεγάλη διαφορά του οποίου είναι ότι δεν περιλαμβάνει το recovery partition. Σήμερα λοιπόν θα δούμε πώς με το Magisk μπορούμε να κάνουμε root σε όλες αυτές τις συσκευές.

Πώς λειτουργεί το σύστημα με A/B partition


Στο Android 7.0 η Google μας παρουσίασε το χαρακτηριστικό του "seamless update", το οποίο μας επιτρέπει να εγκαταστήσουμε μία αναβάθμιση στο παρασκήνιο και μας προστατεύει αν κάτι πάει στραβά. Για να το επιτύχει αυτό έφτιαξε δύο διαφορετικά system και boot partition, τα οποία λειτουργούν εκ περιτροπής, ενώ κατήργησε το recovery partition. 

Οι βασικές κατατμήσεις σε ένα σύστημα με A/B partition είναι οι εξής: 

  • System A: περιέχει το λειτουργικό σύστημα
  • System B: βρίσκεται σε αναμονή για να υποδεχτεί μία αναβάθμιση
  • Boot A: περιέχει το Linux kernel και τη recovery
  • Boot B: βρίσκεται σε αναμονή για να υποδεχτεί μία αναβάθμιση
  • Userdata: περιέχει τα αρχεία και τις εφαρμογές μας
  • Cache: περιέχει προσωρινά αρχεία συστήματος

Όταν λοιπόν το Boot/System-Α είναι active, σημαίνει ότι το λειτουργικό μας σύστημα τρέχει σε αυτά τα δύο partition. Μόλις έρθει μία νέα αναβάθμιση, το λειτουργικό της εγκαθίσταται στο System B και ο Linux πυρήνας μαζί με τη recovery στο Boot B. Μετά το τέλος της εγκατάστασης και αν κάνουμε επανεκκίνηση, το Boot/System-B γίνεται πλέον active και το λειτουργικό μας τρέχει από εκεί. Στην επόμενη αναβάθμιση θα συμβεί το αντίστροφο, δηλαδή θα εγκατασταθεί στο Boot/System A, το οποίο μετά από επανεκκίνηση θα γίνει ξανά active. 

Android A/B partition system

Το μεγάλο κέρδος από αυτή την αλλαγή είναι ότι αν κάτι πάει στραβά στην εγκατάσταση μιας νέας αναβάθμισης, δεν κινδυνεύουμε να μπει η συσκευή μας σε bootloop. Εννοείται όμως ότι οι αλλαγές αυτές επιφέρουν και αλλαγές στον τρόπο που κάνουμε root, τον οποίο θα δούμε ευθύς αμέσως.

Διαφήμιση

Πώς κάνουμε root σε συσκευές με A/B partition


Ως γνωστόν για να κάνεις root με το Magisk προϋποθέτει να βρεις το αρχείο "boot.img" της ROM που χρησιμοποιείς, να του κάνεις "patch" και να το εγκαταστήσεις στη συσκευή σου. Τώρα πλέον που η recovery εγκαθίσταται και αυτή στο boot partition, μας δίνεται η δυνατότητα να κάνουμε "patch" σε αυτήν και όχι στο "boot.img". Αυτό είναι ιδιαίτερα βολικό καθώς η εύρεση και το κατέβασμα μία εικόνας recovery είναι πολύ πιο εύκολη.

Αφού λοιπόν ξεκλειδώσουμε τον bootloader της συσκευής μας,  ακολουθούμε την εξής μέθοδο για να κάνουμε root:

  • Κατεβάζουμε και εγκαθιστούμε το Magisk στη συσκευή μας.
  • Κατεβάζουμε επίσης την TWRP recovery για τη συσκευή μας. 
  • Ανοίγουμε το Magisk Manager και επιλέγουμε "Εγκατάσταση > Επίλεξε και κάνε Patch ένα αρχείο" και επιλέγουμε το "recovery.img" που κατεβάσαμε προηγουμένως. 
  • Πατάμε "ΕΚΚΙΝΗΣΗ" και περιμένουμε να τελειώσει η διαδικασία.

Magisk install

  • Η διαδικασία αυτή θα δημιουργήσει το αρχείο "magisk_patched.img", το οποίο μεταφέρουμε στον υπολογιστή μας.
  • Κατεβάζουμε στον υπολογιστή μας το πακέτο "Android SDK Platform tools", το αποσυμπιέζουμε και ανοίγουμε ένα τερματικό μέσα στο φάκελο που βρίσκεται το "ADB" (Windows: Shift + Δεξί κλικ > Άνοιγμα τερματικού).
  • Συνδέουμε τη συσκευή μας μέσω USB στον υπολογιστή και τη βάζουμε σε fastboot mode με την εντολή:

adb reboot-bootloader

  • Εγκαθιστούμε το νέο μας image στο boot partition με την εντολή:

fastboot flash boot magisk_patched.img

Σημείωση:
Προσέξτε ότι πλέον εγκαθιστούμε το αρχείο της recovery στο boot partition της συσκευής μας, καθώς δεν υπάρχει recovery partition.

  • Κάνουμε επανεκκίνηση και είμαστε έτοιμοι!

Διαφήμιση


Εν κατακλείδι


Με τη "νέα" μέθοδο λοιπόν μπορούμε να κάνουμε μία φορά patch στην TWRP recovery και να τη φυλάξουμε κάπου στον υπολογιστή μας για μελλοντική χρήση. Εννοείται ότι η μέθοδος συνεχίζει να λειτουργεί και με το "boot.img" της ROM που εγκαθιστούμε, αλλά σε αυτή την περίπτωση θα πρέπει κάθε φορά να κατεβάζουμε την τελευταία αναβάθμιση, να ανοίγουμε το zip και να εξάγουμε το "boot.img" της για να το patch-άρουμε ξανά.

Σχόλια

Δείτε επίσης...

Φεύγω από την Google (μέρος 15) | ''Ξηλώνουμε'' τα Google apps από το Android

Android | Γιατί δε θα αγόραζα ποτέ smartphone της OnePlus

Ιδιωτικό απόρρητο | Το αφελές επιχείρημα του ''Δεν έχω τίποτα να κρύψω''

Docker (μέρος 7) | Στήνουμε έναν reverse proxy για τα container μας με το Traefik

Μάθε παιδί μου Linux (μέρος 11) | Δίσκοι, κατατμήσεις και σύστημα αρχείων (filesystem)

Ubuntu Touch 2020 review | Μια πραγματική mobile GNU/Linux διανομή έτοιμη για καθημερινή χρήση

Docker (μέρος 1) | Τι είναι και πώς το εγκαθιστούμε στον υπολογιστή μας;

Android | Περιόρισε την παρακολούθηση των εφαρμογών και κόψε τις διαφημίσεις με το TrackerControl

Android | Βάλε στην ''απομόνωση'' τις εφαρμογές που δεν εμπιστεύεσαι με το Shelter

Απόρρητο | ''Μπερδεύουμε'' τον αλγόριθμο Google και Facebook με ψεύτικες πληροφορίες