Τετάρτη, 25 Απριλίου 2018

Android Basics | Τι είναι οι GSI ROM (Treble ROM) και πώς τις εγκαθιστούμε στην Android συσκευή μας;


Το Project Treble είναι το σημαντικότερο update μέχρι σήμερα στο Android. Πρόκειται με απλά λόγια για μία αλλαγή στη δομή των φακέλων του λειτουργικού συστήματος, η οποία επιτρέπει την ευκολότερη αναβάθμισή του. Αν υποθέσουμε λοιπόν ότι η συσκευή μας υποστηρίζει από προεπιλογή το Treble ή αν το έχουμε προσθέσει μόνοι μας, ποια είναι τα επόμενα βήματα για να εγκαταστήσουμε τη GSI ROM της προτίμησής μας και να την αναβαθμίσουμε στην τελευταία έκδοση του Android;

Θα μιλήσουμε για τη διαδικασία εγκατάστασης του νέου τύπου ROM, καθώς και για τις ιδιαιτερότητες που προκύπτουν με τα partition μιας συσκευής, που έχει υποστήριξη για το Project Treble. Πριν από όλα όμως πρέπει να δούμε ποια είναι η διαφορά μίας GSI ROM από τις κοινές custom ROM που γνωρίζουμε μέχρι σήμερα.

Διαφήμιση

Τι είναι οι GSI ROM και ποια η διαφορά τους από τις κοινές custom ROM;

Οι custom ROM όπως τις γνωρίζουμε μέχρι σήμερα περιλαμβάνουν όλο το firmware της συσκευής μας. Είναι πακεταρισμένες σε ένα zip αρχείο, το οποίο φέρει μία ηλεκτρονική υπογραφή για να το αναγνωρίζει η recovery της συσκευής μας και έχουν μέσα το λειτουργικό σύστημα, τον πυρήνα Linux, καθώς και τους driver που ενεργοποιούν τις μικροσυσκευές, όπως την οθόνη, το ηχείο και τα δίκτυα. Όταν κάνουμε λοιπόν εγκατάσταση μία custom ROM από την TWRP recovery, όλα τα αρχεία ξεπακετάρονται και εγκαθίστανται στα ανάλογα partition, διαγράφοντας τα προηγούμενα περιεχόμενά τους.

Η διαφορά τώρα στις ROM που είναι φτιαγμένες για το Project Treble, είναι ότι αυτές περιλαμβάνουν μόνο το λειτουργικό σύστημα, το οποίο εγκαθίσταται στο system partition. Αυτό σημαίνει ότι δε χρειάζεται να πειράξουμε τα υπόλοιπα partition της συσκευής, κάτι που κάνει την όλη διαδικασία εξαιρετικά ακίνδυνη, ενώ μας δίνει και τη δυνατότητα να εγκαταστήσουμε την ίδια ROM σε όλες ανεξαιρέτως τις συσκευές!


Αυτές οι ROM ονομάζονται GSI από τη φράση "generic system image" κάτι που στα ελληνικά σημαίνει "γενική εικόνα συστήματος". Στην πραγματικότητα αποτελούν το πρώτο αρχείο που παίρνει κάποιος όταν κάνει compile το Android από τον κώδικά του και αυτό είναι το "system.img". Δεν είναι δηλαδή κάτι καινούριο ή κάτι δύσκολο για να το κάνεις, οπότε πάντα θα υπάρχει διαθέσιμο ένα τέτοιο αρχείο για όλες τις εκδόσεις του Android από εδώ και στο εξής και μάλιστα από την πρώτη μέρα.

Αυτό βέβαια δε σημαίνει ότι από την πρώτη μέρα οι κατασκευαστές θα μας έχουν έτοιμη τη δική τους αναβάθμιση του Android, καθώς σε αυτό το "system.img" θα πρέπει να προσθέσουν τα δικά τους στοιχεία, τις εφαρμογές και το skin τους, ενώ θα χρειαστεί και λίγος χρόνος να το τεστάρουν. Όσοι όμως θέλουν την τελευταία έκδοση του "καθαρού" Android, όπως το ξέρουμε στις συσκευές της Google, μπορούν να το έχουν άμεσα!

Πόσες GSI ROM υπάρχουν και πού θα τις βρω;

Όπως είπαμε μία GSI ROM μπορεί να δημιουργηθεί κάνοντας compile τον κώδικα του Android, το ίδιο όμως μπορεί να γίνει και για όσες custom ROM διαθέτουν τον δικό τους κώδικα ελεύθερα. Ο χρήστης phhusson από το XDA είναι από τους πρώτους που έχουν ασχοληθεί με το θέμα και έχει καταφέρει να δημιουργήσει μέχρι στιγμής τρεις GSI ROM. Η πρώτη είναι από τον επίσημο κώδικα του Android (AOSP) και βρίσκεται αυτή τη στιγμή στην έκδοση 8.1 Oreo, η δεύτερη είναι από τον κώδικα της LineageOS 15.1 και η τρίτη από την τελευταία έκδοση της Resurrection Remix.


Οι τρεις αυτές ROM μπορούν να εγκατασταθούν σε οποιαδήποτε Android συσκευή υποστηρίζει το Treble και αυτή είναι στην ουσία η επανάσταση της όλης υπόθεσης. Έχουμε ήδη δηλαδή στη διάθεσή μας ένα αρχείο "img" για κάθε ROM, το οποίο θα μπορούμε να εγκαταστήσουμε σε οποιαδήποτε συσκευή, μιλάμε όμως για ανεπίσημη δουλειά, οπότε υπάρχουν κάποια μικρά προβλήματα συμβατότητας.

Για όσους διαθέτουν μία συσκευή που υποστηρίζει το Project Treble και θέλουν να πειραματιστούν δοκιμάζοντας τις αναφερόμενες ROM, μπορούν να τις κατεβάσουν από εδώ:


Προσοχή στα A/B partition και τον τύπο του επεξεργαστή

Αν έχετε ήδη μπει στα παραπάνω link για να κατεβάσετε τη ROM που σας ενδιαφέρει, θα έχετε δει ότι υπάρχουν διαφορετικά αρχεία για την ίδια ROM. Ο λόγος είναι γιατί δεν έχουν όλες οι συσκευές τον ίδιο τύπο επεξεργαστή, ενώ υπάρχουν και δύο διαφορετικά setup όσον αφορά τα partition.

Οι τύποι των επεξεργαστών είναι οι εξής:

  • ARM: ARMv7 / armeabi
  • ARM64: AArch64 / arm64
  • x86: x86 / x86abi

Ενώ το setup στα partition έχει μία από τις δύο αυτές μορφές:

  • A/B partition
  • A-only partition

Δεν είναι της παρούσης να τα αναλύσουμε αλλά αυτό που έχει σημασία είναι ότι μπορούμε πολύ εύκολα να δούμε ποια από αυτά αντιστοιχούν στη συσκευή μας, κατεβάζοντας τις εφαρμογές Droid Hardware Info και Treble Check.


Πώς εγκαθιστούμε μία GSI ROM στη συσκευή μας;

Αφού τα βρήκαμε όλα λοιπόν ποια είναι τα επόμενα βήματα για να την εγκαταστήσουμε στη συσκευή μας; Θα πρέπει κατ' αρχάς να έχουμε ξεκλειδώσει τον bootloader της συσκευής μας και να έχουμε εγκαταστήσει την TWRP recovery, η οποία πρέπει να προσέξουμε να υποστηρίζει το Treble! Στη συνέχεια τα βήματα έχουν ως εξής:

  1. Βάζουμε τη συσκευή μας σε recovery mode και κάνουμε επαναφορά εργοστασιακών δεδομένων, επιλέγοντας "Wipe > Swipe to factory reset".
  2. Στη συνέχεια για να εγκαταστήσουμε τη ROM που έχουμε ήδη κατεβάσει στη συσκευή μας επιλέγουμε "Install > Install Image", βρίσκουμε το image αρχείο στη μνήμη της συσκευής μας και πατάμε "System image".



Για όσους δε θέλουν να εγκαταστήσουν ή δεν μπορούν να βρουν την TWRP recovery για τη συσκευή τους, υπάρχει και η εναλλακτική μέθοδος του Fastboot. Για αυτή τη διαδικασία θα χρειαστούμε έναν υπολογιστή, με τα βήματα εγκατάστασης να έχουν ως εξής:

  • Κατεβάζουμε τα ADB & Fastboot στον υπολογιστή μας και τα αποσυμπιέζουμε.
  • Τοποθετούμε τη ROM μας στον ίδιο φάκελο με το Fastboot και τη μετονομάζουμε σε "system.img" για ευκολία.
  • Στη συνέχεια ανοίγουμε ένα τερματικό (γραμμή εντολών) πατώντας "Shift & δεξί κλικ" μέσα στο φάκελο του Fastboot και επιλέγοντας "Άνοιγμα Powershell".
  • Κάνουμε επαναφορά εργοστασιακών δεδομένων στη συσκευή μας και τη συνδέουμε μέσω USB στον υπολογιστή.
  • Για να κάνουμε επανεκκίνηση σε Fastboot / Bootloader mode δίνουμε την εντολή:

adb reboot bootloader

  • Για να διαγράψουμε το system partition δίνουμε την εντολή:

fastboot erase system


  • Για να εγκαταστήσουμε τη ROM που έχουμε στη διάθεσή μας, δίνουμε την εντολή:

fastboot --u flash system system.img

  • Τέλος κάνουμε μία επανεκκίνηση με την εντολή:

fastboot reboot

Ακολουθώντας την ίδια διαδικασία, μπορούμε να εγκαθιστούμε πλέον όποια GSI ROM θέλουμε, αρκεί να έχουμε κάνει πρώτα μία επαναφορά εργοστασιακών δεδομένων. Περιμένουμε με τις συσκευές που θα κυκλοφορήσουν μέσα στο 2018, να δούμε επίσης και τις πρώτες ROM συγκεκριμένων κατασκευαστών, όπως για παράδειγμα τη MIUI της Xiaomi ή την OxygenOS της OnePlus, για να μάθουμε αν θα μπορούν και αυτές να εγκατασταθούν με τον ίδιο τρόπο.

Διαβάστε επίσης:

0 στο: "Android Basics | Τι είναι οι GSI ROM (Treble ROM) και πώς τις εγκαθιστούμε στην Android συσκευή μας;"