.

Αυξάνουμε την εσωτερική μνήμη της Samsung συσκευής μας όσο θέλουμε, χρησιμοποιώντας απλά ένα PIT αρχείο


 

Οι περισσότεροι από εμάς έχουμε αναρωτηθεί κάποια στιγμή: "Γιατί η μνήμη εγκατάστασης των εφαρμογών μου να είναι μόνο 150MB ή 300MB ή 1GB; Γιατί φτιάχτηκε έτσι η συσκευή μου ενώ υπάρχει και άλλος άπλετος χώρος στον οποίο δε μου δίνεται η δυνατότητα να κάνω αυτό που θέλω, δηλαδή να εγκαταστήσω περισσότερες εφαρμογές;"

Όσοι έχετε συσκευές της Samsung και θέλετε να απαλλαγείτε από αυτό το πρόβλημα μια και καλή, σήμερα θα δείτε πώς μπορείτε να κάνετε τη μνήμη σας όσο μεγάλη θέλετε, ακόμα και 10GB! Η μέθοδος αυτή χρησιμοποιείται από την ίδια τη Samsung και είναι ο καλύτερος τρόπος για να λύσετε το πρόβλημα χώρου χωρίς να έχετε πρόβλημα μπαταρίας και χωρίς να χρησιμοποιήσετε εξωτερική SD κάρτα.

Στο άρθρο της σειράς Android Basics για το Odin και το Heimdall αναφερθήκαμε λιγάκι στο αρχείο PIT και είχαμε πει ότι μέσω αυτού του αρχείου μπορούμε να αλλάξουμε το μέγεθος των partition στην Android συσκευή μας. Σήμερα λοιπόν θα δούμε πώς μπορούμε να το χρησιμοποιήσουμε και να επωφεληθούμε από αυτό. Ακολουθούν λίγα λόγια για τα partition, το αρχείο PIT και τα block των αποθηκευτικών χώρων, τα οποία αν δε θέλετε να γνωρίζετε, μπορείτε να προσπεράσετε και να πάτε κατευθείαν στη διαδικασία repartition.

Τα partition

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

Στο Android λοιπόν θα βρούμε ένα partition για τον bootloader, ένα για τη recovery, ένα για τη ROM, τα σημαντικότερα για εμάς όμως είναι το data partition στο οποίο εγκαθίστανται οι εφαρμογές που κατεβάζουμε και το sdcard partition το οποίο υπάρχει για να εξυπηρετήσει τα υπόλοιπα αρχεία μας (φωτογραφίες, μουσική, βίντεο κλπ.).

Σε μία συσκευή των 16GB το data partition είναι συνήθως 1GB ή 2GB, ενώ ο υπόλοιπος χώρος δεσμεύεται από το sdcard partition. Έχουμε δηλαδή μόνο 1GB (ή 2GB) στη διάθεσή μας για να εγκαταστήσουμε εφαρμογές, το οποίο όπως πολλοί θα έχετε προσέξει τελειώνει πολύ γρήγορα. Σε συσκευές όμως που διαθέτουν θύρα microSD, δε θα ήταν ωραίο αν μπορούσαμε να μικρύνουμε το sdcard partition μεταφέροντας όλα μας τα αρχεία στην πραγματική SD κάρτα και να μεγαλώσουμε το data partition στα 4GB ή στα 8GB για να έχουμε άπλετο χώρο για εφαρμογές;


Το αρχείο PIT

Αυτή λοιπόν είναι η δουλειά του αρχείου PIT, το οποίο είναι στην ουσία ένας χάρτης που λέει στη συσκευή μας πόσο μεγάλα πρέπει να είναι τα partition του αποθηκευτικού χώρου, στα οποία θα εγκατασταθούν αργότερα όλα τα απαραίτητα στοιχεία λειτουργίας. Έχοντας λοιπόν ένα αρχείο PIT στα χέρια μας και δίνοντάς του τις τιμές που θέλουμε, μπορούμε μέσω του Odin να αυξήσουμε ή να μειώσουμε το μέγεθος οποιουδήποτε partition.

Στην πράξη...

Για να δούμε στην πράξη πώς είναι διαμορφωμένος ο χώρος της δικής μας συσκευής, τη συνδέουμε στον υπολογιστή μας (και στο ADB) και δίνουμε τις παρακάτω εντολές μέσω τερματικού / γραμμής εντολών:

adb shell
parted /dev/block/mmcblk0
unit s
print

Το τερματικό θα μας απαντήσει με κάτι παρόμοιο με αυτό:


Στο συγκεκριμένο PIT αρχείο βλέπουμε 12 partition από τα οποία μας ενδιαφέρουν κυρίως το DATAFS (10o) και το UMS (11ο). Το πρώτο αφορά το data partition και το δεύτερο το sdcard partition που λέγαμε νωρίτερα. Μεγαλώνοντας λοιπόν το πρώτο και μικραίνοντας το δεύτερο πετυχαίνουμε αυτό που θέλουμε, δηλαδή να μεγαλώσουμε το χώρο που εγκαθίστανται οι εφαρμογές μας.

Τι είναι τα block;

Στον παραπάνω πίνακα θα προσέξετε την εξής γραμμή:

Disk /dev/block/mmcblk0: 30777344s

Αυτή η γραμμή μας λέει ότι η μνήμη της συσκευής μας αποτελείται από 30.777.344 block. Όλοι οι αποθηκευτικοί χώροι αποτελούνται από block, η χωρητικότητα των οποίων είναι 512B (Byte) το καθένα. Αν λάβουμε λοιπόν υπόψιν μας τη σχέση 1ΜΒ (MegaByte) = 1.024kB (kiloByte) έχουμε:

  1. 512Β (Byte) = 1 block
  2. 512kΒ (kiloΒyte) = 1.024 block
  3. 1MB (MegaΒyte) = 2.048 block

Σε κάθε 2.048 block χωράει ένα MegaByte. Για μεγαλύτερη ευκολία μπορούμε να χρησιμοποιήσουμε έναν μετατροπέα που θα μας πει με ακρίβεια πόσα block χρειάζονται μεγάλες ποσότητες όπως τα 8GB (GigaByte) ας πούμε.

Στον πίνακα επίσης θα δείτε τις τρεις στήλες "Start", "End" και "Size", οι οποίες μας λένε από ποιο block ξεκινάει το κάθε partition, σε ποιο τελειώνει και ποιο είναι το μέγεθός του. Για παράδειγμα το πρώτο partition, το EFS ξεκινάει από το block 8.192 και τελειώνει στο block 49.151, έχει δηλαδή μέγεθος 40.960 block που αν τα βάλουμε στο μετατροπέα, θα μας πει σε πόσα MegaByte αντιστοιχεί (20ΜΒ). Προσέξτε επίσης ότι το επόμενο partition ξεκινάει συνήθως αμέσως μόλις τελειώνει το προηγούμενο, για παράδειγμα το EFS τελειώνει στο 49.151 και το SBL1 αρχίζει από το 49.152, πράγμα που σημαίνει ότι δε χάνεται καθόλου χώρος ανάμεσά τους και ότι δεν πρέπει σε καμία περίπτωση τα partition να καταλαμβάνουν κοινά block!

Στην εικόνα παρακάτω βλέπουμε σε κλίμακα μία πρόχειρη γραφική απεικόνιση των block και με ποιο τρόπο καταλαμβάνονται από τα partition, έτσι για να έχουμε μια ιδέα:


Ξεκινάμε... επιτέλους!

Αφού λοιπόν κάναμε το μάθημα γενικού περιεχομένου, πάμε να δούμε πώς θα το κάνουμε αυτό στη δική μας Samsung συσκευή. Θα χρειαστούμε:

  • έναν υπολογιστή με Windows,
  • εγκατεστημένους τους driver της συσκευή μας,
  • το Odin και το Heimdal
  • το PIT Magic

Ξεκινάμε συνδέοντας τη συσκευή μας στον υπολογιστή μέσω USB με ενεργοποιημένο τον "Εντοπισμό σφαλμάτων" και δίνουμε τις παρακάνω εντολές στη γραμμή εντολών για να εμφανίσουμε το πινακάκι της συσκευής μας:

adb shell
parted /dev/block/mmcblk0
unit s
print

Το αποθηκεύουμε σε κάποιο αρχείο, καθώς θα χρειαστούμε τις πληροφορίες του DATAFS και του UMS. Στη συνέχεια χρησιμοποιούμε το Heimdall για να εξάγουμε το PIT αρχείο της συσκευής μας μπαίνοντας μέσω γραμμής εντολών στο φάκελό του και δίνοντας την εντολή:

heimdall download-pit --output mypit.pit

Θα εμφανιστεί στον ίδιο φάκελο το αρχείο "mypit.pit". Δημιουργούμε δύο αντίγραφα του συγκεκριμένου αρχείου, ένα για να το έχουμε ως backup αν κάτι πάει στραβά και ένα για να δημιουργήσουμε το νέο partition σύστημα της συσκευής.

Η διαδικασία

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

Ανοίγουμε το PIT Magic στον υπολογιστή μας, επιλέγουμε "Open" και βρίσκουμε το "mypit.pit". Στον κατάλογο "PIT Entry List" βρίσκουμε το partition "DATAFS".



Το "Block Size" εμφανίζει από ποιο block ξεκινάει το συγκεκριμένο partition (είναι η ίδια τιμή με τη στήλη "Start" στο πινακάκι μας), ενώ το "Block Count" εμφανίζει το μέγεθος του partition (η τιμή "Size" στο πινακάκι μας). Στο πινακάκι που χρησιμοποιούμε ως παράδειγμα, το DATAFS είναι 4.194.304 block (2GB) και το UMS είναι 24.133.630 block (11.5GB) άρα έχουμε στη διάθεσή μας 13.5GB στο σύνολο.

Θέλουμε λοιπόν να τα μετατρέψουμε ως εξής:

  • DATAFS: 8GB άρα 16.777.216 block
  • UMS: 5.5GB άρα 11.534.336 block

Πηγαίνουμε λοιπόν στο PIT Magic και στο "Block Count" του "DATAFS" δίνουμε την τιμή 16.777.216 που αντιστοιχεί στα 8GB. Το νέο "DATAFS" πλεόν ξεκινάει από το 1.392.640 και τελειώνει στο 18.169.856 block (αυτό βγαίνει προσθέτοντας "Block Size" και "Block Count").


Τώρα πηγαίνουμε στο επόμενο "Entry" από το "PIT Entry List" το οποίο είναι το "UMS" και στο "Block Size" δίνουμε την τιμή 18.169.857 που είναι το αμέσως επόμενο block από αυτό που τελείωσε το προηγούμενο partition. Στο "Block Count" θα βάλουμε την τιμή 11.534.336 που αντιστοιχεί στα υπόλοιπα 5.5GB. Το "UMS" λοιπόν τελειώνει πλέον στο 29.704.193


Στη συνέχεια ελέγχουμε αν τα επόμενα partition συμπέφτουν στα ίδια block με το τελευταίο που πειράξαμε και στο δικό μας παράδειγμα βλέπουμε ότι το "UMS" τελειώνει στο 29.704.193 block ενώ το "HIDDEN" ξεκινάει στο 29.720.574 block (το βλέπουμε στη στήλη "Start" στο πινακάκι). Αποθηκεύουμε λοιπόν το αρχείο μας και ανοίγουμε το Odin για να το εγκαταστήσουμε με την εξής διαδικασία:

  • Το εισάγουμε στο Odin στη θέση "PIT".
  • Εισάγουμε και ένα νέο firmware στο "PDA" όπως δείξαμε παλιότερα.
  • Τσεκάρουμε το "Re-Partition" μαζί με το "Auto Reboot" και το "F. Reset Time".
  • Πατάμε "Start".

Αν όλα έγιναν σωστά, η συσκευή μας θα επανεκκινήσει με την εργοστασιακή ROM και το χώρο εγκατάστασης των εφαρμογών να είναι 8GB!

Αν κάτι πάει στραβά

Αν το αποτέλεσμα δεν είναι αυτό που περιμένουμε και η συσκευή μας δεν ανοίγει ή κάνει bootloop, χρησιμοποιούμε το Odin με το ίδιο firmware και το PIT αρχείο που εξαγάγαμε από τη συσκευή μας, για να επαναφέρουμε τα πάντα σε αρχική μορφή. Περισσότερες πληροφορίες για τη χρήση του Odin μπορείτε να βρείτε εδώ.

Το τελικό πόρισμα

Η λογική του PIT είναι στην πραγματικότητα πολύ πιο απλή από όσο φαίνεται. Είναι απλά μαθηματικά και τίποτε άλλο και το μόνο που θα πρέπει να προσέξουμε είναι τα partition να μη συμπέσουν στα ίδια block.

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

Το μεγάλο πλεονέκτημα αυτής της μεθόδου είναι ότι δεν επηρεάζει την μπαταρία, δεν κάνει τη συσκευή μας να σέρνεται, ούτε χρειάζεται κάποια SD κάρτα καθώς πρόκειται για την εργοστασιακή μέθοδο. Κάνουμε αυτό που κάνει ούτως ή άλλως η Samsung στις συσκευές μας πριν τις βγάλει στην αγορά, αλλάζοντας απλά κάποιες πραμέτρους.

Καλή επιτυχία στους τολμηρούς!

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