Android Basics | Τι είναι το Fastboot και πώς χρησιμοποιούμε τις εντολές του;


Μιλήσαμε παλιότερα για τον Bootloader και για το πώς προστατεύει τα δεδομένα μας κλειδώνοντας στην ουσία τα partition της Android συσκευής μας στην εργοστασιακή τους μορφή. Ξεκλειδώνοντας λοιπόν τον Bootloader μας δίνεται η δυνατότητα με τις εντολές του Fastboot, να "πειράξουμε" αυτά τα partition για να κάνουμε ένα σωρό πράγματα όπως για παράδειγμα να κάνουμε root, να εγκαταστήσουμε μία άλλη κονσόλα recovery ή να αλλάξουμε τελείως το λειτουργικό μας σύστημα! Σήμερα θα δούμε μερικές χρήσιμες εντολές του Fastboot και τι μπορούμε να κάνουμε με αυτές.

Η εσωτερική μνήμη της συσκευής μας είναι χωρισμένη σε διάφορα διαμερίσματα (partition) και το καθένα από τα οποία εξυπηρετεί το δικό του σκοπό. Για παράδειγμα στο "system" είναι εγκατεστημένο το λειτουργικό σύστημα του Android, στο "data" βρίσκονται όλα τα δεδομένα και οι εφαρμογές που κατεβάζουμε εμείς ως χρήστες και στο "recovery" βρίσκεται η κονσόλα recovery, με την οποία μπορούμε να κάνουμε επαναφορά εργοστασιακών δεδομένων, αν δεν μπορούμε να μπούμε στο Android.

Η κοινότητα του Android έχει εφεύρει εδώ και χρόνια, νέες και βελτιωμένες υπηρεσίες για πολλά από αυτά τα partition, οι οποίες δεν παρέχονται στην εργοστασιακή τους έκδοση (π.χ. TWRP recovery). Για να εγκαταστήσουμε λοιπόν αυτές τις υπηρεσίες θα πρέπει να κατεβάσουμε το αρχείο image (π.χ. "recovery.img") και να το φλασάρουμε στη συσκευή μας χρησιμοποιώντας τις εντολές του Fastboot.

Είσοδος σε Fastboot mode


Για να χρησιμοποιήσουμε το Fastboot θα πρέπει πρώτα να βάλουμε τη συσκευή μας σε μία ειδική κατάσταση που ονομάζεται "Bootloader mode" ή "Fastboot mode". Αυτό γίνεται αν απενεργοποιήσουμε τη συσκευή μας και να την ενεργοποιήσουμε ξανά, κρατώντας αυτή τη φορά πατημένα τα πλήκτρα Volume down + Power. Ο συνδυασμός αυτός μπορεί να διαφέρει από συσκευή σε συσκευή, αλλά με μία αναζήτηση στο Google, είναι πολύ εύκολο να τον βρούμε. 

Μπορούμε επίσης να μπούμε σε "Bootloader mode" χρησιμοποιώντας τις εντολές του ADB:

  • Ενεργοποιούμε κατ' αρχάς τον "Εντοπισμό σφαλμάτων USB" στη συσκευή μας
  • Συνδέουμε τη συσκευή μας μέσω USB στον υπολογιστή.
  • Κατεβάζουμε στον υπολογιστή και αποσυμπιέζουμε το "Android SDK Platform Tools".
  • Στο φάκελο που περιλαμβάνεται το "adb" και το "fastboot" ανοίγουμε ένα τερματικό με δεξί κλικ (Shift + δεξί κλικ αν έχουμε Windows) και διαλέγουμε την αντίστοιχη επιλογή.
  • Για να μπούμε σε "Bootloader mode" δίνουμε την εντολή:

adb reboot-bootloader 

Η συσκευή μας θα επανεκκινήσει και θα δούμε την οθόνη του Bootloader. Εδώ λοιπόν μπορούμε να χρησιμοποιήσουμε τις εντολές του Fastboot. Μπορούμε για παράδειγμα να ελέγξουμε τη σύνδεση με τον υπολογιστή μας, δίνοντας την εντολή:

fastboot devices 

Αν όλα είναι σωστά το τερματικό θα μας απαντήσει με ένα αλφαριθμητικό και τη λέξη "fastboot" στο τέλος. Κάπως έτσι δηλαδή:

a87sdf98afas0f9a80f                  fastboot

Ξεκλείδωμα Bootloader


Με το Fastboot μπορούμε επίσης να ξεκλειδώσουμε τον Bootloader της συσκευής μας, αν θέλουμε για παράδειγμα να κάνουμε root ή να αντικαταστήσουμε την κονσόλα Recovery με κάποια καλύτερη. Σημαντική προϋπόθεση είναι να μην είναι κρυπτογραφημένος, κάτι που ισχύει για συσκευές της Google, της Samsung, της OnePlus και άλλων κατασκευαστών.

Αν είναι κρυπτογραφημένος τότε ο ίδιος ο κατασκευαστής θα μας δίνει μία επίσημη μέθοδο ξεκλειδώματος. Για παράδειγμα οι συσκευές της Xiaomi ξεκλειδώνονται με αυτόν τον τρόπο, ενώ εδώ θα βρείτε τις μεθόδους και για άλλες γνωστές εταιρίες. 

Για να ελέγξουμε αν ο Bootloader της συσκευής μας είναι κλειδωμένος ή όχι, δίνουμε την εντολή:

fastboot oem device-info

Για να ξεκλειδώσουμε λοιπόν τον Bootloader δίνουμε μία από τις ακόλουθες εντολές:

fastboot oem unlock

fastboot flashing unlock

Με τον ίδιο τρόπο μπορούμε να κλειδώσουμε ξανά τον Bootloader, αλλά σε αυτή την περίπτωση θα χρησιμοποιήσουμε τις εξής:

fastboot oem lock

fastboot flashing lock 

Εγκατάσταση πακέτων μέσω Fastboot


Η κύρια λειτουργία του Fastboot είναι ότι μας δίνει τη δυνατότητα να αντικαταστήσουμε τα περιεχόμενα οποιουδήποτε partition της εσωτερική μνήμης της συσκευής μας. Για παράδειγμα αν θέλουμε να κάνουμε root με το Magisk, θα χρειαστεί να αντικαταστήσουμε τα περιεχόμενα του "boot" partition, ενώ αν θέλουμε να αλλάξουμε την κονσόλα recovery, θα χρειαστεί να αντικαταστήσουμε τα περιεχόμενα του "recovery" partition.

Ας πούμε για παράδειγμα ότι θέλουμε να εγκαταστήσουμε την TWRP recovery. Κατεβάζουμε το αρχείο "twrp-xxx.img" από την επίσημη σελίδα του και το τοποθετούμε στο φάκελο του Platform Tools που βρίσκεται το fastboot. Στη συνέχεια ανοίγουμε ένα τερματικό στον ίδιο φάκελο και δίνουμε την εντολή:

fastboot flash recovery twrp-xxx.img 

Μπορούμε επίσης να δοκιμάσουμε αν μία custom recovery λειτουργεί στη συσκευή μας χωρίς να την εγκαταστήσουμε! Αυτό γίνεται με την εντολή:

fastboot boot twrp-xxx.img 

Με τον ίδιο τρόπο μπορούμε να εγκαταστήσουμε οποιοδήποτε αρχείο image, σε οποιοδήποτε partition. Αν για παράδειγμα κατεβάσουμε το firmware του Google Pixel 4 από εδώ και το αποσυμπιέσουμε, θα δούμε ότι περιλαμβάνει όλα τα αρχεία "image" για τα αντίστοιχα partition της συσκευής.


Για παράδειγμα αν η συσκευή μας έχει θέμα με το δίκτυο κινητής τηλεφωνίας, μπορούμε να εγκαταστήσουμε ξανά τα περιεχόμενα του radio partition με την εντολή:

fastboot flash radio radio.img 

Αν επίσης διαγράψουμε κάτι στο λειτουργικό μας σύστημα και πλέον δε λειτουργεί, μπορούμε να το επαναφέρουμε εγκαθιστώντας ξανά το "system.img" στο αντίστοιχο partition. Αυτό γίνεται με την εντολή:

fastboot flash system system.img 

Μπορούμε τέλος να αναβαθμίσουμε τον Bootloader σε μία νεότερη έκδοση δίνοντας την εντολή:

fastboot flash bootloader bootloader.img 

Αναβάθμιση, format, επανεκκίνηση


Οι εντολές του Fastboot μπορούν όμως να χρησιμοποιηθούν και για άλλες εργασίες. Μπορούμε για παράδειγμα να κάνουμε format σε οποιοδήποτε partition, αρκεί να δώσουμε το filesystem (π.χ. ext4) και το όνομα του partition (π.χ. userdata).

fastboot format:ext4 userdata

Σημείωση:
Η παραπάνω εντολή ισοδυναμεί με επαναφορά εργοστασιακών δεδομένων. Μπορούμε λοιπόν να τη χρησιμοποιήσουμε αν δεν έχουμε τη δυνατότητα να το κάνουμε από το Android ή μέσω της κονσόλας Recovery.

Κάποιες εταιρίες όπως για παράδειγμα η Xiaomi, μας παρέχουν τα firmware τους για εγκατάσταση μέσω Fastboot. Μπορούμε δηλαδή να εγκαταστήσουμε με τη μία όλα αρχεία image στα αντίστοιχα partition, μέσα από το συμπιεσμένο τους αρχείο.

Αν για παράδειγμα το firmware της Xiaomi είναι στο αρχείο "miui.zip", τότε μπορούμε να το εγκαταστήσουμε με την εντολή:

fastboot -w update miui.zip

Για να βγούμε τέλος από το Fastboot / Bootloader mode, μπορούμε να κάνουμε επανεκκίνηση με την εντολή:

fastboot reboot 

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


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

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

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

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

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

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

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

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

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

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

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

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