.

Android Basics: Τι είναι ROM dump, πώς το κάνουμε και σε τι μπορεί να μας χρησιμεύσει;


 

Θα έχετε προσέξει κατά καιρούς όταν ανακοινώνεται μία νέα συσκευή, ότι αρχίζουν να κυκλοφορούν στο ίντερνετ τα wallpaper της, οι προεγκατέστημένες εφαρμογές, ο launcher και άλλα μοναδικά αρχεία που μόνο σε αυτή βρίσκονται. Η εξαγωγή αυτών των αρχείων γίνεται μέσω του λεγόμενου ROM dump μίας διαδικασίας που έχει σκοπό να εξάγει ότι έχει σχέση με λογισμικό από μία συσκευή.

Το ROM dump λοιπόν εξάγει κυριολεκτικά τα πάντα. Το πρώτο όφελος ενός ROM dump είναι οι εφαρμογές και τα αρχεία της ROM που αναφέραμε προηγουμένως, τα οποία μπορούμε να εγκαταστήσουμε σε άλλες συσκευές υπό προϋποθέσεις, το σημαντικότερο όμως είναι η μελέτη. Με τη μελέτη των εικόνων recovery, boot, system και όλων των υπολοίπων partition που έχουν πλέον στη διάθεσή τους οι προγραμματιστές, μπορούν να κάνουν port τη νέα ROM σε παλιότερες συσκευές, να βρουν τρόπους για να κάνουμε root και φυσικά να κατανοήσουν τα νέα χαρακτηριστικά που φέρνουν οι εταιρίες, όπως για παράδειγμα το Knox της Samsung, που κάτι παρόμοιο δεν είχαμε δει στο Android.

Υπάρχει όμως και μία πιο άμεση χρήση του ROM dump από τον καθημερινό χρήστη του Android και αυτό δεν είναι άλλο από το backup. Για όσους αλλάζουν συχνά ROM δεν αρκεί πολλές φορές το γνωστό nandroid backup που παίρνουμε μέσω recovery. Για παράδειγμα για να εγκαταστήσουμε ένα επίσημο update στη συσκευή μας θα χρειαστούμε την επίσημη recovery και πολλές φορές είναι απαραίτητο να επαναφέρουμε ή να αναβαθμίσουμε και το boot.img. Σήμερα θα δούμε λοιπόν τον πιο εύκολο τρόπο για να κάνει κανείς backup στα τρία σημαντικότερα partition της συσκευής μας, χωρίς παρουσία υπολογιστή.

Προϋποθέσεις

Για να τα καταφέρουμε θα χρειαστούμε:


Η διαδικασία

Ακολουθείτε τη διαδικασία με δική σας ευθύνη!

  • Κατεβάζουμε το ROMdump στη συσκευή μας και το αποσυμπιέζουμε με τον file explorer μας.
  • Μεταφέρουμε το αρχείο romdump στη διαδρομή "/data/local".
  • Ανοίγουμε το Terminal Emulator και τρέχουμε με τη σειρά τις παρακάτω εντολές:

su
chmod 04755 /data/local/romdump
/data/local/romdump

Η πρώτη θα μας δώσει δικαιώματα διαχειριστή, η δεύτερη θα κάνει εκτελέσιμο το αρχείο romdump και η τρίτη θα τρέξει το αρχείο.

  • Περιμένουμε μέχρι να τελειώσει η διαδικασία και πηγαίνουμε στο φάκελο romdump στη συσκευή μας, όπου θα βρούμε το boot.img, το recovery.img και το system.img.

Εναλλακτική μέθοδος

Εάν η παραπάνω διαδικασία δε λειτουργήσει μπορείτε να δοκιμάσετε ένα ακόμη σετ εντολών από το Terminal Emulator.

Το ανοίγουμε λοιπόν και τρέχουμε τις εντολές:

su
cat proc/mtd

Η πρώτη θα μας δώσει δικαιώματα διαχειριστή και η δεύτερη μία λίστα με τα partition της συσκευής, η οποία θα μοιάζει κάπως έτσι:

dev:    size   erasesize  name
mtd0: 000a0000 00020000 "misc"
mtd1: 00480000 00020000 "recovery"
mtd2: 00300000 00020000 "boot"
mtd3: 0fa00000 00020000 "system"
mtd4: 02800000 00020000 "cache"
mtd5: 093a0000 00020000 "userdata"

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

Για το recovery partition:

dd if=/dev/mtd/mtd1 of=/sdcard/recovery.img bs=4096

Για το boot partition:

dd if=/dev/mtd/mtd2 of=/sdcard/boot.img bs=4096

Για το system partition:

dd if=/dev/mtd/mtd3 of=/sdcard/system.img bs=4096

Η κάθε μία από τις εντολές θα δώσει αντίστοιχα τα αρχεία "recovery.img", "boot.img" και "system.img" στην sdcard μας. Σε μερικές συσκευές το "system.img" δε θα δημιουργηθεί σωστά με τη δεύτερη μέθοδο για αυτό τη χρησιμοποιούμε κυρίως για τα δύο πρώτα.

Επαναφορά

Αν λοιπόν κάποια στιγμή χρειαστεί να επαναφέρουμε τα αρχεία που δημιουργήσαμε, θα πρέπει:

να στήσουμε το Android SDK στον υπολογιστή μας,
να βάλουμε τα τρία αρχεία στο φάκελο "platform-tools",
να μπούμε μέσω τερματικού στο φάκελο και να δώσουμε μία από τις παρακάτω εντολές, ανάλογα με το αρχείο που θέλουμε να επαναφέρουμε:

Boot

fastboot flash boot boot.img

Recovery

fastboot flash recovery recovery.img

System

fastboot flash system system.img

Καλή επιτυχία!


 
© 2012-2015 Dr. Android | Original theme design by Main-Blogger - Blogger Template and Blogging Stuff | Material design by Chris K.