Jump to content

REbuild Extension.mkext after any new kext?


  • Please log in to reply
7 replies to this topic

#1
xhala_debru

xhala_debru

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 179 posts
  • Gender:Male
  • Location:Bruxelles
Hi all,

I've got SL running and, for what I know, all runs fine except for 2 things:

1) Diskutil was not able to repair permissions due to something like a lack of receipt.
Of course all of them were all there.
I reinstalled BSD.pkg (don't knowif it's ok to do so) and the error went away.
It does something but I don't know if it does anything.
I'll have to change manually the permissions on a kext and see if SL corrects them.

2) Everytime a program, driver or the 10.6.1 installs a kext, I have to rebuild the Extension.mkext in /Extra and in /S/L/etc...
If I don't, the system remains unbootable. (waiting for root device or even stalling just before GUI, with no error message).
I use Chameleon RC3's boot file
Is this normal?

Maybe the 2 problems are related?

Any idea?

Thank you.

Xhala

#2
ProgHippie

ProgHippie

    InsanelyMac Protégé

  • Members
  • Pip
  • 28 posts
  • Gender:Male
  • Location:Switzerland
hey

rebuild the extensions.mkext with kextutility (plus the extensions folder) in /extra after every added kext.

in my experience, that's all there is needed. forget about kexthelper and actually, i haven't applied a single change to S/L/E, only to extras.

it will help to copy the extensions folder from /Extra (with the new kexts) to the desktop, drag it over kextutility (take the SL ready one from http://www.insanelym...owtopic=140647) and then copy the Extensions folder mac to /Extra, together with the newly generated extensions.mkext.

that did the trick, and always has.

#3
xhala_debru

xhala_debru

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 179 posts
  • Gender:Male
  • Location:Bruxelles

hey

rebuild the extensions.mkext with kextutility (plus the extensions folder) in /extra after every added kext.

in my experience, that's all there is needed. forget about kexthelper and actually, i haven't applied a single change to S/L/E, only to extras.

it will help to copy the extensions folder from /Extra (with the new kexts) to the desktop, drag it over kextutility (take the SL ready one from http://www.insanelym...owtopic=140647) and then copy the Extensions folder mac to /Extra, together with the newly generated extensions.mkext.

that did the trick, and always has.

Thanks,

I wasn't sure if it was a normal behaviour to have to rebuild mkext or not.
Apparently, it is.
I think it's a pity because these kind of thing was not necessary with Leo.

As for the added kext, I had one installed for my Areca raid card and one for littlesnitch.

At least one think is forsure, I'll keep a bootable usb Leo HDD to fix things ;)

#4
Aesop69

Aesop69

    InsanelyMac Protégé

  • Members
  • PipPip
  • 63 posts
I have noticed that Snow doesnt make a Extensions.mkext like my Leo does.
example: If i delete the Extensions.mkext from Leo the sys creats a new one.
Snow has not made one mkext for me. I have had to make them all myself.
Is my install not 100%? or is it something dumb like timemachine not being set up in Snow.

#5
stevenmaclover

stevenmaclover

    InsanelyMac Protégé

  • Members
  • Pip
  • 30 posts
Sorry if this is dumb question,

but what's mkext? I know kext is kernal extension and its something like drivers for Windows, but I did notice there is a mkext file that can't be opened with a text editor, just curious what it is.

Also, if SL won't automatically rebuild this mkext file on our hackintoshes, what about on a real Mac? because as far as I know, the way we install snow leopard is almost vanilla, just with a different boot loader and a decryptor, maybe a fake EFI.

Thanks!

#6
Dabluest

Dabluest

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 110 posts
  • Location:Atlanta, GA USA

I have noticed that Snow doesnt make a Extensions.mkext like my Leo does.
example: If i delete the Extensions.mkext from Leo the sys creats a new one.
Snow has not made one mkext for me. I have had to make them all myself.
Is my install not 100%? or is it something dumb like timemachine not being set up in Snow.


Snow Leopard's mkext is no longer in /System/Library but rather in /System/Library/Caches/com.apple.kext.caches/Startup.

Just an FYI. You don't need to manually create one, it's automatically recreated with any modification to the Extensions folder.

Sorry if this is dumb question,

but what's mkext? I know kext is kernal extension and its something like drivers for Windows, but I did notice there is a mkext file that can't be opened with a text editor, just curious what it is.

Also, if SL won't automatically rebuild this mkext file on our hackintoshes, what about on a real Mac? because as far as I know, the way we install snow leopard is almost vanilla, just with a different boot loader and a decryptor, maybe a fake EFI.

Thanks!


The mkext file is simply a cached version of all your kexts in the Extensions folder. The OS uses it for faster loading of your extensions at boot. The file is automatically recreated whenever the Extensions folder is modified. You can also manually rebuild it yourself at boot with the -f flag.

#7
vincechan06

vincechan06

    InsanelyMac Protégé

  • Members
  • PipPip
  • 65 posts
  • Gender:Male
  • Location:Singapore

Snow Leopard's mkext is no longer in /System/Library but rather in /System/Library/Caches/com.apple.kext.caches/Startup.

Just an FYI. You don't need to manually create one, it's automatically recreated with any modification to the Extensions folder.



The mkext file is simply a cached version of all your kexts in the Extensions folder. The OS uses it for faster loading of your extensions at boot. The file is automatically recreated whenever the Extensions folder is modified. You can also manually rebuild it yourself at boot with the -f flag.

Thanks for this info. I have a question on mkext rebuild. Whenever I want to rebuild the mkext, I do the following:
kextcache -v 1 -t -m /Volumes/Chameleon/Extra/Extensions.mkext /Volumes/Chameleon/Extra/Extensions/ /System/Library/Extensions/
kextcache -v 1 -t -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /System/Library/Extensions/

I know that the first one gets executed because I can see the E/E kext get loaded during booting. So is it needed to also load the Extensions.mkext in the caches folder?

#8
xhala_debru

xhala_debru

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 179 posts
  • Gender:Male
  • Location:Bruxelles
Well, I put deleberatly wrong permissions on a vanilla kext in /S/L/E and tried to correct the permissions.
No error but not corrections neither.

It seems that reinstalling BSD.pkg only clears the "could not correct permissions error", but doesn't help repairing the permissions...





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy