Kako učitati & Unload Extensions kernela u Mac OS X

Sadržaj:

Anonim

Proširenja jezgre, skraćeno nazvana kext, moduli su koda koji se učitavaju izravno u prostor jezgre Mac OS X, koji se mogu izvoditi na niskoj razini za obavljanje raznih zadataka. Većina kextova dio je temeljnog softvera sustava Mac OS X, obično upravljačkih programa hardverskih uređaja, ali neke aplikacije trećih strana također će instalirati kext.

Ponekad će napredni Mac korisnici i administratori sustava možda trebati ručno učitati ili ukloniti proširenje kernela.Budući da su proširenja jezgre često kritične komponente MacOS-a, ovo je prikladno samo za korisnike koji imaju određeni razlog za izmjenu hoće li se kext učitavati ili ispuštati u MacOS X kernel prostor. Neodgovarajuća izmjena ponašanja kext-a može Mac hardver učiniti beskorisnim ili nedostupnim, a također može spriječiti Mac OS X da uopće funkcionira, stoga ne pokušavajte promijeniti bilo koje proširenje kernela bez uvjerljivog razloga i razumijevanja njegove upotrebe.

Učitavanje ekstenzije kernela u Mac OS X s kextload-om

Za učitavanje proširenja jezgre u Mac OS X, morat ćete koristiti pomoćni program kextload iz naredbenog retka. Sintaksa je inače dovoljno jednostavna, zahtijeva sudo za administrativni pristup za izvođenje radnje:

sudo kextload /path/to/kext.kext

Također možete koristiti identifikator paketa (koji su često ciljevi zadanih naredbi) s oznakom -b:

sudo kextload -b com.apple.driver.ExampleBundle

U svakom slučaju pritisnite return i s unosom administratorske lozinke proširenje kernela će se učitati u Mac OS X.

Možete potvrditi da je kernel učitan tako što ćete ga ispisati pomoću kextstat, koristeći grep za traženje zadanog imena ovako:

$ kextstat |grep com.apple.driver.ExampleBundle 125 0 0xdddddd7f23351040 0x5000 0x5000 com.apple.driver.ExampleBundle (1) 12 8 7 5 4 2 1

Ovo može biti od pomoći nakon ručnog instaliranja proširenja kernela u Mac OS X jer će u nekim situacijama spriječiti potrebu za ponovnim pokretanjem Maca.

Moderne verzije Mac OS X-a također dopuštaju da se učitavanje proširenja jezgre dovrši naredbom kextutil, koja je malo potpunija zbog otklanjanja pogrešaka, ali je inače ista za učitavanje kexta.

Uklanjanje kernel ekstenzije pomoću kextunload

Učitavanje proširenja kernela iz Mac OS X-a u osnovi je potpuno isto kao i učitavanje kext-a, osim što ćete koristiti uslužni program kextunload sa sudom na sljedeći način:

sudo kextunload -b com.apple.driver.ExampleBundle

Ili ukazivanjem izravno na stazu proširenja jezgre:

sudo kextunload /System/Library/Extensions/ThirdPartyMystery.kext

Opet, možete potvrditi da je ekstenzija kernela istovarena korištenjem kextstat i grep, gdje ne bi trebalo vratiti ništa.

Kako učitati & Unload Extensions kernela u Mac OS X