Jump to content

Kext kexta, kextem pogania, czyli jak to się je...


Recommended Posts

Temat ciągle powraca, więc postaram się go opisać najdokładniej jak potrafię.

 

Co to jest ten “kext” - jest to skrót od kernel extension - na polski tłumacząc rozszerzenie (moduł) jadra. W Windows najbliższym odpowiednikiem jest sterownik sprzętu. Jest on odpowiedzialny za obsługę sprzętu jaki się znajduje w danej maszynie. Moduły są ładowane jedynie kiedy dany sprzęt jest obecny w komputerze. Kexty znajdują się na dysku systemowym w folderze:

/System/Library/Extensions/

Żeby system startował szybciej jest tworzony tzw “cache” kextów. Jest to jeden plik umieszczony tu:

/System/Library/Extensions.mkext

Cache ten jest tworzony automatycznie przez system na podstawie zawartości teczki Extensions. Podczas startu systemu kexty są ładowany TYLKO z cache. Po zmodyfikowaniu zawartości Extensions, gdy np. wgraliśmy nowy kext, należy ten cache odświeżyć, a najprościej jest to zrobić kasując go np z terminala komendą:

sudo rm /System/Library/Extensions.mkext

lub uruchomić OS X z parametrem -f.

 

Aby kext zadziałał musi posiadać on odpowiednie uprawnienia i właściciela. W *NIX’ach właścicielem jest najczęściej użytkownik “root” należący w OS X do grupy “whell”. Kext powinien posiadać ponadto uprawnienia 755. Jeśli wgrywamy ręcznie kext do katalogu to musimy poprawić jego uprawnienia a najłatwiej jest to zrobić z poziomu terminala komendami:

sudo chown -R 0:0 nazwa.kext 		(zmiana właściciela) 
sudo chmod -R 755 nazwa.kext 		(zmiana uprawnień)

 

Zamiast uruchamiać komendy poprzez sudo można się też przełączyć na superusera komendą “su -s”. Aby móc się przełączyć na root’a, konto z którego dokonujemy przełączenia MUSI posiadać hasło, inaczej w ogóle nie nastąpi przełączenie i nic nie zmodyfikujemy.

 

Zamiast ręcznego wrzucania kextów, można użyć wygodnego i prostego programiku o nazwie Kext Helper b7. Można go pobrać z internetu z tej strony:

http://www.cheetha.net/Kext_Helper/Software.html

lub z załącznika do postu.

 

Oprócz ręcznego naprawiania uprawnień, system posiada też wygodne narzędzie do naprawy ich w “Disk Utility” - funkcja Repair permisions (w polskim systemie odpowiednio - Narzędzie dyskowe - naprawa uprawnień). Wybieramy w nim odpowiedni dysk i klikamy w jeden klawisz i już... no prawie... bo disk utility naprawia uprawnienia kextów które zna, a dokładnie tylko oryginalnych Apple’a dostarczanych z systemem. I tak naprawi np. AppleIntelGMAX3100.kext, ale już zupełnie mu nieznanego NullCPUPowerManagement.kext nie!! Pamiętajcie o tym, że te inne kexty trzeba ręcznie poprawiać przez chmod i chown, lub wgrywać kext helperem.

 

Podsumowując prawidłowa kolejność instalacji kextów to:

 

:arrow: Wgranie do teczki /System/Library/Extensions/

:arrow: Naprawienie uprawnień (komeny chown, chmod)

:arrow: Usunięcie cache /System/Library/Extensions.mkext

 

Temat zamykam aby w nim nie śmiecić, ale zapraszam do dyskusji tutaj: http://hamac.pl/viewtopic.php?t=18 i składania uwag co poprawić, lepiej opisać, lub co jeszcze powinno się znaleźć w tym temacie

 

Poprzedni wątek z dyskusją tu: http://forum.osx86.pl/viewtopic.php?f=7&t=489

Link to comment
Share on other sites

  • 1 year later...

Małe uzupełnienie o zmiany w Snow Leopard.

 

Systemowe kexty są nadal pod tą samą lokalizacją:

/System/Library/Extensions/

Natomiast "cache", czyli plik Extensions.mkext znajduje się w:

/System/Library/Caches/com.apple.kext.caches/Startup/

INSTALACJA polega na skopiowaniu kexta do /System/Library/Extensions, nadaniu właściciela, uprawnień i odświeżeniu (usunięciu) starego mkext'a:

sudo -s 
cd /System/Library/Extensions 
chown -R 0:0 nazwa_kexta.kext 
chmod -R 755 nazwa_kexta.kext 
rm -R /System/Library/Caches/com.apple.kext.caches 
exit

 

DEINSTALACJA, polega na skasowaniu kexta z /System/Library/Extensions i odświeżeniu (usunięciu) starego mkext'a:

sudo rm -R /System/Library/Caches/com.apple.kext.caches

 

Zamiast ręcznego wrzucania kextów, można użyć Skryptu automatyzującego postinstalacyjne modyfikacje systemu (przy okazji potrafi on załatwić sprawę kextów trzymanych w Extra).

Albo wygodnego i prostego programiku o nazwie Kext Utility. Można go pobrać z internetu z tej strony:

http://cvad-mac.narod2.ru/Kext_Utility/
http://www.insanelymac.com/forum/index.php?showtopic=140647

UWAGA! Kext Helper polecany przy "starym" Leopardzie, nie działa poprawnie w Snow Leo!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.