Ο πιο εύκολος τρόπος για να κάνουμε port μία ROM στη συσκευή μας


Από τη στιγμή που θα πάρουμε την απόφαση να "πετάξουμε" το εργοστασιακό firmware της συσκευή μας για χάρη κάποιας custom ROM, αρχίζει η έρευνα για να βρούμε ποια τελικά θα επιλέξουμε. Αν όμως η ROM που μας αρέσει δεν υποστηρίζει τη συσκευή μας μπορούμε πάντα να κάνουμε port εμείς για αυτή.

Ο σκοπός του port είναι να μεταφέρουμε στη συσκευή μας μία ROM που δεν προορίζεται για αυτή. Η διαδικασία δεν είναι δύσκολη όμως πολλές φορές είναι ανεπιτυχής καθώς πρόκειται για κάτι αφύσικο στον κόσμο του Android. Οι περισσότεροι θεωρούν επιτυχία και μόνο το γεγονός ότι η ROM bootάρει στη συσκευή τους αλλά τις περισσότερες φορές δε λειτουργούν συσκευές όπως το WiFi ή η κάμερα και εδώ έρχονται οι προγραμματιστές για να εξαλείψουν και αυτά τα προβλήματα. Για να το πούμε απλά, είναι σα να προσπαθούμε να φορέσουμε τα ρούχα κάποιου άλλου. Θα τα καταφέρουμε αλλά τα μανίκια θα είναι κοντά ή τα μπατζάκια μακριά, μπορεί όμως και να είναι ακριβώς στο νούμερό μας!

Παρακάτω λοιπόν θα δούμε ποιες είναι οι προϋποθέσεις για να αυξήσουμε το ποσοστό επιτυχίας κάνοντας port μία ROM, αλλά όπως είπαμε δεν είναι κάτι δύσκολο, πρόκειται για ένα απλό copy - paste.

Τι θα χρειαστούμε;

Πρώτα από όλα χρειαζόμαστε τη ROM που θέλουμε να κάνουμε port και μία ROM φτιαγμένη για τη συσκευή μας την οποία θα χρησιμοποιήσουμε ως βάση. Κατεβάζουμε τα δύο zip αρχεία και τα μετονομάζουμε σε "port.zip" και "base.zip" αντίστοιχα, για να μη μπερδευόμαστε.


Καλό θα είναι επίσης η ROM την οποία θέλουμε να κάνουμε port να απευθύνεται σε μία συσκευή με παρόμοια χαρακτηριστικά με τη δική μας. Για παράδειγμα σε μέγεθος και ανάλυση οθόνης ή στον τύπο του επεξεργαστή.

Είναι επίσης καλό οι δύο ROM να είναι της ίδιας έκδοσης Android ή τουλάχιστον πολύ κοντινής (π.χ. η base με Android 4.3 και η port με Android 4.4).

Τέλος, μεγάλη σημασία έχει ο πυρήνας (kernel) που θα χρησιμοποιήσουμε καθώς ο παλιός ενδέχεται να μην υποστηρίζει σωστά το νέο firmware. Μία καλή επιλογή είναι οι πυρήνες της CyanogenMod. Κατεβάζουμε λοιπόν τη CM για τη συσκευή μας και παίρνουμε μέσα από το zip, το αρχείο "boot.img". Θα το χρησιμοποιήσουμε μόνο εάν η νέα μας ROM δε λειτουργεί σωστά, οπότε είναι προαιρετικό.

Η διαδικασία

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

  • Ανοίγουμε αλλά δεν αποσυμπιέζουμε, το "base.zip" και το "port.zip" στον υπολογιστή μας.
  • Στο base διαγράφουμε τους φακέλους app, framework, fonts και media.
  • Μεταφέρουμε από το port στο base τους φακέλους app, framework, fonts και media.


  • Κλείνουμε τα παράθυρα που ανοίξαμε.
  • Μεταφέρουμε το "base.zip" στη συσκευή μας και μπαίνουμε σε recovery mode.
  • Επιλέγουμε όλα τα Wipe και εγκαθιστούμε τη ROM.

Αν η ROM δεν bootάρει ή έχουμε το φαινόμενο bootloop:

  • Ανοίγουμε και πάλι το "base.zip" και το "port.zip" στον υπολογιστή μας.
  • Πηγαίνουμε στη διαδρομή "system/lib" και στις δύο ROM.
  • Διαγράφουμε το αρχείο "libandroidruntime.so" από το base.
  • Μεταφέρουμε το αρχείο "libandroidruntime.so" από το port στο base.


  • Μεταφέρουμε το "base.zip" στη συσκευή μας και την εγκαθιστούμε μέσω recovery κάνοντας πρώτα "Wipe".

Αν κάποιες συσκευές όπως το WiFi, ή η κάμερα δε λειτουργούν:

  • Ανοίγουμε το "base.zip" και το zip της CyanogenMod που κατεβάσαμε και απευθύνεται στη συσκευή μας.
  • Από το base διαγράφουμε το "boot.img"
  • Μεταφέρουμε το "boot.img" από το zip της CM στο base.


  • Μεταφέρουμε το "base.zip" στη συσκευή μας και την εγκαθιστούμε μέσω recovery κάνοντας πρώτα "Wipe".

Αν το αρχείο "base.zip" δεν εγκαθίσταται:

  • Κατεβάζουμε το πρόγραμμα Autosigner (από εδώ)
  • Μετονομάζουμε το "base.zip" σε "update.zip" και το βάζουμε στο φάκελο του autosigner.
  • Τρέχουμε το "sign.bat".
  • Μόλις τελειώσει η διαδικασία παίρνουμε το αρχείο "update-signed.zip" και το εγκαθιστούμε στη συσκευή μας μέσω recovery, κάνοντας πρώτα "Wipe".

Ακόμα δε λειτουργεί;

Αφού δοκιμάσουμε όλα τα παραπάνω, τα οποιαδήποτε προβλήματα εμφανιστούν στην τελική ROM είναι φυσιολογικά και δεν μπορούμε να κάνουμε τίποτα πλέον για αυτά, εκτός και αν γνωρίζουμε προγραμματισμό στο Android.

Υπάρχουν βέβαια και πιο μικρές λεπτομέρειες που μπορούμε να "πειράξουμε" αν έχουμε υπομονή αλλά είναι μάλλον περιττό να παιδευτούμε αν η ROM μας δε λειτουργεί μετά από τα παραπάνω. Παρ' όλα αυτά μπορείτε να ενημερωθείτε και για αυτές τις λεπτομέρειες εδώ.

Αν όλα πάνε καλά ρίξτε μια ματιά και στον οδηγό μας για την κατασκευή της δικής μας custom ROM, για να την παραμετροποιήσετε ακόμα περισσότερο.

[XDA]

Σχόλια

  1. Δεν ήξερα ότι υπήρχε τέτοιο πράγμα στο android.τρέλανε μας κι άλλο κρις!!!!!!!!!!!(με την καλη εννοια)!!!!!!!!!!!

    ΑπάντησηΔιαγραφή
  2. Είσαι ωραίος,ήμουν έτοιμος να σου προτείνω να κάνεις έναν τέτοιο οδηγό.Με αυτόν τον τρόπο μπορούμε να κάνουμε "σίγουρα" ports των lewa,miui,joy και lezo αν έχουμε ως βάση CM7.

    ΑπάντησηΔιαγραφή
  3. Να ρωτησω δηλαδη εγω που θελω την cm10.1 για το xperia p που πρπει να υποστηριζει το κινητο ουτος η αλλος θα εχω προβληματα?bugs?η θα υποστηριζει το hdmi?συγνωμη εαν γινομαι κουραστηκος αλλα θελω βοηθεια.ευχαριστω

    ΑπάντησηΔιαγραφή
    Απαντήσεις
    1. Αν δε δοκιμάσεις δε θα ξέρεις αλλά πιθανότατα θα έχεις προβλήματα.

      Διαγραφή
  4. Πολύ καλό guide :)
    Θα το δοκιμάσω για να πορταρω cm11 στο tablet μου.

    ΑπάντησηΔιαγραφή

Δημοσίευση σχολίου

Πες την άποψή σου ή κάνε την ερώτησή σου ελεύθερα, ακολουθώντας όμως τους στοιχειώδεις κανόνες ευγένειας.

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

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

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

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

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

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

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

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

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

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

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