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

Pytania od początkujących, myślących o instalacji Mac OS X na swoim PC.

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

Postprzez 314TeR » 17 wrz 2008, o 23:13

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:
Kod: Zaznacz cały
/System/Library/Extensions/

Żeby system startował szybciej jest tworzony tzw “cache” kextów. Jest to jeden plik umieszczony tu:
Kod: Zaznacz cały
/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ą:
Kod: Zaznacz cały
sudo rm /System/Library/Extensions.mkext
lub uruchomić OS X z parametrem -v.

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:
Kod: Zaznacz cały
sudo chown -R 0:0 nazwa.kext       (zmiana właściciela)
sudo chmod -R 775 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.

Sposób 2:
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:

  1. Wgranie do teczki /System/Library/Extensions/
  2. Naprawienie uprawnień (komeny chown, chmod)
  3. Usunięcie cache /System/Library/Extensions.mkext
Avatar użytkownika
314TeR
 
Posty: 565
Dołączył(a): 4 sty 2008, o 13:18

Re: Dyskusja do tematu podpiętego o Kext

Postprzez 314TeR » 18 wrz 2008, o 00:09

Znalazłem w bookmarkach link do tutoriala opisującego inne przydatne operacje na kextach, np jak można w czasie "pracy" systemu załadować kext itp...
Kod: Zaznacz cały
http://forum.osx86scene.com/viewtopic.php?f=16&t=229
Avatar użytkownika
314TeR
 
Posty: 565
Dołączył(a): 4 sty 2008, o 13:18

Re: Dyskusja do tematu podpiętego o Kext

Postprzez ori69 » 18 wrz 2008, o 11:02

Dobra robota.
Znowu można czegoś więcej się dowiedzieć o systemie.
10.5.8|GA-EG31MF-S2 E6300 GF7600GT, 4GB ram
10.5.8 i 10.6.2|GA-G33M-DS2R E6300, GF9400GT ,4G RAM,
ori69
 
Posty: 109
Dołączył(a): 14 lip 2008, o 20:07

Re: Dyskusja do tematu podpiętego o Kext

Postprzez Manovar » 25 wrz 2008, o 08:29

Wszystko pięknie i ślicznie, jak nam system odpala. Ale jak wgrać KEXTa, jeśli system nie odpala i możliwe jest tylko odpalenie instalatora z poziomu instalatora. Jeśli trzeba coś dograć z oryginalnej płyty, to nie ma problemu. Gorzej, jeśli chciałbym wgrać innego KEXTa, np z Pendrive. Jak zamontować Pendrive? Jak daję Narzędzia dystkowe w instalatorze, to Pendrive jest widoczny. Jak próbóję go zamontować z ikonki, to się nie da, a nie wiem jak to zrobić z terminala. :( Innej płytki też nie mogę użyć, bo podczas instalacji napęd jest zablokowany. Kiedyś to podpinałem dysk pod działający system, kopiowałem, nadawałem uprawnienia i było OK. W komputerze, który akurat robię nie mam takiej możliwości.
Intel Core2 Duo CPU T7500; iDeneb v1.6 Lite 10.5.8; AnV 9.7.0; MSI GX700; 2GB; GeForce 8600m GT 256 MB; ZyDAS USB WLAN
Avatar użytkownika
Manovar
 
Posty: 124
Dołączył(a): 16 wrz 2008, o 08:15

Re: Dyskusja do tematu podpiętego o Kext

Postprzez 314TeR » 25 wrz 2008, o 15:24

Z poziomu instalacji odpalasz terminal - jest w menu obok narzędzi dyskowych. W terminalu aby wejść na klucz po prostu wpisujesz:
Kod: Zaznacz cały
cd /Volumes/Nazwa_Klucza/
i jesteś w głównym folderze klucza usb...

reszta to komendy terminala:
Kod: Zaznacz cały
cp - kopiuj
rm - usuń
chmod - zmień uprawnienia
chown - zmień właściciela
sudo - wykonaj jako root
su - przełącz na innego użytkownika

w/w są to najbardziej elementarne komendy obsługi systemów plików Linux/Unix - polecam pogooglować jak się ich używa.
Avatar użytkownika
314TeR
 
Posty: 565
Dołączył(a): 4 sty 2008, o 13:18

Re: Dyskusja do tematu podpiętego o Kext

Postprzez Manovar » 25 wrz 2008, o 19:48

Jak używać podstawowych komend to mniej więcej wiem. Bardziej interesowałby mnie opis parametrów dodatkowych do tych komend. Ale mój problem nie polegał na kopiowaniu i zmianie uprawnień, ale nie mogłem dostać się do PenDrive. Wystarczyło sformatować go na HFS+ i już był widoczny w terminalu i mogłem użyć plików.
Intel Core2 Duo CPU T7500; iDeneb v1.6 Lite 10.5.8; AnV 9.7.0; MSI GX700; 2GB; GeForce 8600m GT 256 MB; ZyDAS USB WLAN
Avatar użytkownika
Manovar
 
Posty: 124
Dołączył(a): 16 wrz 2008, o 08:15

Re: Dyskusja do tematu podpiętego o Kext

Postprzez 314TeR » 25 wrz 2008, o 22:26

Manovar napisał(a):Jak używać podstawowych komend to mniej więcej wiem. Bardziej interesowałby mnie opis parametrów dodatkowych do tych komend.


Kod: Zaznacz cały
nazwa_komendy --help

lub
Kod: Zaznacz cały
man nazwa_komendy

np
Kod: Zaznacz cały
cp --help
man cp

Tam jest to wszystko bardzo dokładnie opisane. Każda książka z podstawami *NIX'ów zawiera opisy jak uzywać tych komend, a w googlu już nawet nie piszę ile jest stron dokładnie opisujących jak to działa.
Avatar użytkownika
314TeR
 
Posty: 565
Dołączył(a): 4 sty 2008, o 13:18

Re: Dyskusja do tematu podpiętego o Kext

Postprzez scg32 » 29 wrz 2008, o 08:46

witam

w dystrybucji Leo4all jest jeszcze program KextRepairpermisions ktory zalatawia sprawe uprawnien w tym katalogu czysci tez cache:)

a co do usuwania extensions.mkext raczej nie trzeba go kasowac wystarczy usunac plik w katalogu cache w kextach :)
i zresetowac sie a plik extensions.mkext zostanie automatycznie zaktualizowany :)

po uzyciu w/w programu nie trzeba nawet tego robic:)

pozdrawiam
Leo Retail 10.5.5 (9.5.0)+Snow
GA-P35 DS3L
Dual Core 1,8 Ghz
2 Gb Ram Patriot Dual
8600GT 256MB DDR3
Muza Alc888 HDA + SB Live 5.1
WD 160 GB i 80 GB SATA Hitachi 200GB ATA
Nagrywarka Assus SATA
Teraz pomagam tylko tu:[url]/[/url]
scg32
 
Posty: 110
Dołączył(a): 4 sty 2008, o 12:29


Powrót do Jak zacząć?

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 gości

cron