Τρόπος φόρτωσης & Ξεφόρτωση επεκτάσεων πυρήνα σε Mac OS X
Πίνακας περιεχομένων:
Οι επεκτάσεις πυρήνα, που ονομάζονται εν συντομία kext, είναι ενότητες κώδικα που φορτώνονται απευθείας στον χώρο του πυρήνα του Mac OS X και μπορούν να εκτελούνται σε χαμηλό επίπεδο για να εκτελούν μια ποικιλία εργασιών. Τα περισσότερα kext αποτελούν μέρος του βασικού λογισμικού συστήματος Mac OS X, συνήθως προγράμματα οδήγησης συσκευών υλικού, αλλά ορισμένες εφαρμογές τρίτων θα εγκαταστήσουν επίσης ένα kext.
Μερικές φορές, οι προχωρημένοι χρήστες Mac και οι διαχειριστές συστημάτων μπορεί να χρειαστεί να φορτώσουν ή να ξεφορτώσουν με μη αυτόματο τρόπο μια επέκταση πυρήνα.Επειδή οι επεκτάσεις πυρήνα είναι συχνά κρίσιμα στοιχεία του MacOS, αυτό είναι κατάλληλο μόνο για χρήστες που έχουν συγκεκριμένο λόγο να τροποποιούν εάν ένα kext φορτώνεται ή εκφορτώνεται στον χώρο του πυρήνα του MacOS X. Η ακατάλληλη τροποποίηση της συμπεριφοράς του kext μπορεί να καταστήσει άχρηστο ή απρόσιτο το υλικό Mac και μπορεί επίσης να εμποδίσει τη λειτουργία του Mac OS X, επομένως μην επιχειρήσετε να αλλάξετε καμία επέκταση πυρήνα χωρίς επιτακτικό λόγο και κατανόηση της χρήσης του.
Φόρτωση επέκτασης πυρήνα σε Mac OS X με kextload
Για να φορτώσετε μια επέκταση πυρήνα στο Mac OS X, θα χρειαστεί να χρησιμοποιήσετε το βοηθητικό πρόγραμμα kextload της γραμμής εντολών. Κατά τα άλλα η σύνταξη είναι αρκετά απλή, απαιτεί sudo για πρόσβαση διαχειριστή για την εκτέλεση της ενέργειας:
sudo kextload /path/to/kext.kext
Μπορείτε επίσης να χρησιμοποιήσετε το αναγνωριστικό πακέτου (που είναι συχνά οι στόχοι των προεπιλεγμένων εντολών) με τη σημαία -b:
sudo kextload -b com.apple.driver.ExampleBundle
Σε κάθε περίπτωση, πατήστε επιστροφή και με την εισαγωγή του κωδικού πρόσβασης διαχειριστή η επέκταση του πυρήνα θα φορτωθεί στο Mac OS X.
Μπορείτε να επιβεβαιώσετε ότι ένας πυρήνας έχει φορτωθεί, καταχωρώντας τον με kextstat, χρησιμοποιώντας grep για να αναζητήσετε το όνομα όπως έτσι:
$ kextstat |grep com.apple.driver.ExampleBundle 125 0 0xdddddd7f23351040 0x5000 0x5000 com.apple.driver.ExampleBundle (87)
Αυτό μπορεί να είναι χρήσιμο μετά την μη αυτόματη εγκατάσταση μιας επέκτασης πυρήνα στο Mac OS X, καθώς σε ορισμένες περιπτώσεις θα αποτρέψει την ανάγκη επανεκκίνησης του Mac.
Οι σύγχρονες εκδόσεις του Mac OS X επιτρέπουν επίσης την ολοκλήρωση της φόρτωσης της επέκτασης πυρήνα με την εντολή kextutil, η οποία είναι λίγο πιο πλήρης για λόγους εντοπισμού σφαλμάτων, αλλά κατά τα άλλα είναι η ίδια για τη φόρτωση ενός kext.
Κατάργηση φόρτωσης επέκτασης πυρήνα με kextunload
Η εκφόρτωση μιας επέκτασης πυρήνα από το Mac OS X είναι βασικά η ίδια με τη φόρτωση ενός kext, εκτός από το ότι θα χρησιμοποιήσετε το βοηθητικό πρόγραμμα kextunload με το sudo ως εξής:
sudo kextunload -b com.apple.driver.ExampleBundle
Ή δείχνοντας απευθείας στη διαδρομή επεκτάσεων πυρήνα:
sudo kextunload /System/Library/Extensions/ThirdPartyMystery.kext
Και πάλι, μπορείτε να επιβεβαιώσετε ότι η επέκταση του πυρήνα έχει ξεφορτωθεί χρησιμοποιώντας kextstat και grep, όπου δεν πρέπει να επιστρέψει τίποτα.