EFIDroid: Ένα πρόγραμμα εκκίνησης δεύτερου σταδίου που χρησιμοποιεί το υλικολογισμικό UEFI για πολλαπλή εκκίνηση [XDA Spotlight]

Η πολλαπλή εκκίνηση είναι ένα περίπλοκο θέμα και για να την ενεργοποιήσετε συχνά απαιτούνται ενημερώσεις κώδικα στον πυρήνα ή ανάκτηση. Το EFIDroid είναι ένα εργαλείο που λειτουργεί γύρω από αυτό.

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

Παλαιότερα γνωστό ως GRUB4Android, το EFIDroid δημιουργήθηκε από XDA Recognized Developer and Contributor m11kkaa ως μέσο αποτελεσματικής δυνατότητας σχεδόν οποιαδήποτε ROM να εκκινείται πολλαπλά χωρίς τροποποίηση την επιθυμητή ROM ή την τρέχουσα ανάκτηση. Αυτό σημαίνει ότι δεν υπάρχουν ενημερώσεις κώδικα πυρήνα, όχι kexec, κανένα πρόβλημα ασυμβατότητας ROM και κανένας πονοκέφαλος για χρήστες ή προγραμματιστές ROM.


Τι είναι το EFIDroid;

Πίστωση εικόνας: EFIDroid

Το EFIDroid είναι ένα δεύτερου σταδίου bootloader έχει σχεδιαστεί για να επιτρέπει στον αρχικό κώδικα του bootloader της συσκευής να χειρίζεται την ίδια τη διεπαφή υλικού, απλοποιώντας έτσι την εργασία που πρέπει να γίνει για τη μεταφορά αυτής της εφαρμογής σε διαφορετικές συσκευές. Αυτό βασίζεται στην Intel ΕΔΚ II έργο το οποίο έχει μια καλά εδραιωμένη βάση κωδικών και παρέχει σημαντική επεκτασιμότητα. Αυτή η υλοποίηση χρησιμοποιεί το πρόγραμμα εκκίνησης ανοιχτού κώδικα της Qualcomm, Little Kernel (LK), και ως εκ τούτου, η υποστήριξη είναι επί του παρόντος περιορίζεται σε συσκευές Snapdragon.

Η εγκατάσταση είναι τόσο απλή όσο η λήψη του Εφαρμογή EFIDroidManager από το Google Play Store σε μια συσκευή με ρίζες, με την προϋπόθεση ότι η συσκευή σας έχει συγχωνευθεί η υποστήριξη στο έργο αποθετήριο github. Εάν η συσκευή σας υποστηρίζεται, η εφαρμογή θα κατεβάσει τον σχετικό κωδικό και θα σας επιτρέψει να εγκαταστήσετε, απεγκαταστήστε, επανεγκαταστήστε και επιδιορθώστε το EFIDroid, καθώς και σας επιτρέπει να διαχειρίζεστε τις ROM σας σε multiboot διαμόρφωση. Μόλις εγκατασταθεί το EFIDroid, οι ROM μπορούν να εγκατασταθούν στην τοποθεσία της επιλογής σας (συνήθως κάπου όπως π.χ. /data/media/0/multiboot/NAME).

Προς το παρόν, υποστηρίζονται μόνο λίγες συσκευές, συμπεριλαμβανομένου του Moto E (Condor), Moto G 4G (Peregrine), Nokia X2, Ενα συν ένα, Vega Iron 2, και το Fairphone 2. Ωστόσο, το m11kkaa είναι ψάχνει για προγραμματιστές που θα βοηθήσουν με τη μεταφορά του EFIDroid σε άλλες συσκευές - ορισμένοι έχουν ήδη κερδίσει «ανεπίσημη υποστήριξη». Εάν μπορείτε να κάνετε το EFIDroid να λειτουργεί σε άλλη συσκευή, η διαδικασία για την ενσωμάτωσή του στην εφαρμογή απαιτεί απλώς αποστολή ενός αιτήματος έλξης στο Git EFIDroid αποθήκη. Ο M11kkaa μας ενημέρωσε επίσης ότι έχει μελλοντικά σχέδια να επεκτείνει την εφαρμογή ώστε να υποστηρίζει δυνητικά πρόσθετα εκκίνησης και εφαρμογές UEFI (αν και να έχετε κατά νου ότι αυτά είναι απλώς σχέδια σε αυτό το σημείο).


Πως δουλεύει

Το EFIDroid αξιοποιεί το LK ως στρώμα αφαίρεσης για αλληλεπίδραση με το υλικό της συσκευής. Η εφαρμογή επιτρέπει σε αυτά τα στοιχεία να αξιοποιηθούν πλήρως από τις ευρείας κλίμακας δυνατότητες του UEFI – μεταξύ αυτών, η δυνατότητα φόρτωσης ενός πυρήνα Linux σε

μεταγενέστερο σημείο.

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

Όλα αυτά φυσικά απαιτούν πρόσβαση root και ξεκλείδωτο bootloader στη συσκευή σας αλλά δεν απαιτεί προσαρμοσμένο πυρήνα.

Πίστωση εικόνας: EFIDroid


Περισσότερα από Multiboot 

Η εφαρμογή ενός bootloader UEFI ανοίγει τις συσκευές Android σε πολλές δυνατότητες. Διάφορα πρόσθετα, συμπεριλαμβανομένων διαγνωστικών όπως το Memtest86, το άνοιγμα μιας γραμμής εντολών, ακόμη και παιχνίδια είναι δυνατά στο περιβάλλον UEFI. Ενώ απαιτείται υποστήριξη για να υλοποιηθούν περισσότερες από αυτές τις δυνατότητες, το EFIDroid εξακολουθεί να προσφέρει επί του παρόντος ορισμένες βασικές δυνατότητες για συμβατές συσκευές. Είτε χρησιμοποιείται απλώς ως εναλλακτικός φορτωτής εκκίνησης για συσκευές που ενδέχεται να μην έχουν επιλογές ανάκτησης ή ως εργαλείο για τη διαχείριση και για την αντιμετώπιση προβλημάτων πολλαπλών ROM ή περιβαλλόντων ανάκτησης, αυτό το εργαλείο προσφέρει όλα τα παραπάνω και το κάνει με ένα φιλικό προς το χρήστη και απλή διεπαφή χρήστη για την εκκίνηση.

Για περαιτέρω συζητήσεις, κατευθυνθείτε στο νήμα του φόρουμ ή ακολουθήστε το έργο στους παρακάτω συνδέσμους!

EFIDroid στο Github

Επίσημος ιστότοπος της EFIDroid

Slack Κοινότητα του EFIDroid


Έχετε δοκιμάσει το EFIDroid στο παρελθόν; Θα θέλατε να δείτε υποστήριξη για τη συσκευή σας; Ενημερώστε μας στα σχόλια παρακάτω!