Jump to content

Kexts are being processed on every boot


KariNeko
 Share

42 posts in this topic

Recommended Posts

Interesting about the disk space. My system partition is a 160gb drive and has 140gb left?

 

Odd, maybe I misread. Check for yourself, there are definitely warnings about low disk space in there. Could be on another partition, I don't know.

 

Yes, first step is getting the latest fakesmc.

 

You need to try different things for troubleshooting purposes only so that you can narrow down what's causing the issue. As I said it can be several things, there is no clear indication. Try what I suggested and see what happens.

Re-plugging SATA drives and disabling hardware in the BIOS is non destructive and can easily be reverted to how it was before. When troubleshooting, always perform non-destructive steps as far as possible.

Link to comment
Share on other sites

  • 2 weeks later...

Hello folks!

 

I was having the same problem stated in the first post. It seemed as if my kextcaches were ignored and rebuilt on every boot. So, I moved my kexts from E/E to S/L/E and updated there permissions (644!). And also I added the UseKextCache boot flag.

 

My system boots quicker now, but it still isn't as fast as it should be using an SSD as main system.

Perhaps I am loading a whole lot of kexts that I don't need? In my system.log I have many occurances of what seems to be audio-related kexts. I have attached such log and would appreciate if someone with experience could give it a look and confirm if there is something unusual going on!

system_log.rtf

Link to comment
Share on other sites

  • 2 weeks later...

hi

why when i use ( usekernelcache=yes) this happen (acpi-smc-platform plugin registerlpcdriver failed to locate smc driver) and freeze

 

when i build caches manually (ACPI-SMC-Platform Plugin:Start-Waitforservice(resource Matching(AppleIntelcpu Power Mangement) Time out

and lion work

Link to comment
Share on other sites

Hi, thanks for the information, so for now we have two options:

 

1) Use old kextcache (mkext) method, and have to manually ran kextcache -v 1 blabla to update the cache file on each extensions change. com.apple.boot.plist does not require modification.

 

or

 

2) Use new kernelcache method, placing extensions from /E/E in /S/L/E and Lion will rebuild the cache every time something changes in /S/L/E. com.apple.boot.plist modified to UseKernelCache=Yes

 

I'll test #2 and report back! :D

 

edit:

 

 

Here's some info on using kernelcache...

 

It works well, but the down side is that all the kexts you want to use have to be in /S/L/E. So for me, i've got:

 

- AppleHDA.kext (from 10.6.2)

- RealtekRTL81xx.kext

- ALC8xxHDA.kext

- FakeSMC.kext

- JMicron36xSATA.kext

 

These kexts need to have the root:wheel ownership, and 644 permissions.

 

In your com.apple.boot.plist file, put in the following:

 

<key>UseKernelCache</key>

<string>Yes</string>

 

Once that's done - simply delete /System/Library/Caches/com.apple.kext.caches/Startup/kernelcache and reboot your machine. It'll rebuild the kernelcache file and the bootloader will use it upon startup.

 

The upside to using this method is that the kernelcache file is rebuilt when new kexts are installed. When using an mkext file, you have to keep it up to date yourself.

 

Of course - using this method will not touch your /E/E or /EFI/E/E kexts. If you want these to be processed as a once off - just boot with the -f option and it will ignore all caches.

 

Just thought i'd share

 

Followed this "instruction" and got 100% win!

Lion boots fast, everything is as it should.

 

Deleted mkexts from S/L/E, com.apple.kext.caches/startup and E/E

Installed kexts from E/E to S/L/E with KextWizard.

Deleted E/E dir.

Added

<key>UseKernelCache</key>

<string>Yes</string>

to boot plist.

 

Thanks to KariNeko and stevekicks for the info!!!

Link to comment
Share on other sites

thank nyolc8

i add all E/E to S/L/E put how to change (root:wheel ownership, and 644 permissions)

 

Thanks to KariNeko , rashan and stevekicks for the info!!!

i Deleted mkexts from S/L/E, com.apple.kext.caches/startup and E/E

Installed kexts from E/E to S/L/E with KextWizard.

Deleted E/E dir.

Added

<key>UseKernelCache</key>

<string>Yes</string>

to boot plist.

and every thing running nice thank for all agian

Link to comment
Share on other sites

i don't think you need to do that. but if you really want to know maybe wikipedia can help. :withstupid:

 

 

It's really simple, and its 755 not 644.

 

In Terminal type this:

 

EXTRA=/Extra/Extensions/*
SLE=/System/Library/Extensions/*

sudo chown -R root:wheel $SLE
sudo chmod -R 755 $SLE

sudo chown -R root:wheel $EXTRA
sudo chmod -R 755 $EXTRA

 

This can also be placed in a script, like this:

vi /fixkexts.sh

 

press the letter "i" and paste the contents above.

Save by pressing: "ctrl+c" then type: ":wq"

 

Fix permisions on the file so you can run it:

 

chmod a+x /fixkexts.sh

 

and execute the script:

 

./fixkexts.sh

 

 

What this does is:

 

Defines location of Extra/Extensions and /System/Library/Extensions

Changes owner RECURSIVELY for all files and folders in both /E/E and /S/L/E

Changes permissions to 755 for both

 

I use this script and method every time i make changes to my kexts, saves typing a lot :)

Link to comment
Share on other sites

I'am on Lion DP4 11A494a

built the kext.cache as mentioned before using

 

sudo kextcache -v 1 -a i386 -a x86_64 -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /System/Library/Extensions

 

But I had to move prior all non-OSX kext to /E/E.

Because of kextbuild complaints like "kext xxx is not authentic..bla bla"

i.E. RTL81xxx.kext and PXHCD.kext (for Renesas USB3)

No need for editing apple.com.Boot.plist.

 

If you don't want to move your kext's in /Extra/Extensions, this will also work:

 

sudo kextcache -v 1 -a i386 -a x86_64 -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /System/Library/Extensions /Extra/Extensions

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
  • 2 months later...

I have Lion 10.7.2 and all is fine except long boot time coz it doesn't work if kext cache is used .. it's stuck with "Still waiting for root device" ... if I used -f or deleted the startup kext cache it works fine ... Any ideas ?

 

TIA

Link to comment
Share on other sites

I had the same problem. Solved it with clearing /System/Library/Caches/com.apple.kext.caches/Startup and then build the caches with:

 

kextcache -system-prelinked-kernel

kextcache -system-caches

(You might need to set the ownership of / to root before: sudo chown root / )

and add UseKernelCache = Yes to the org.chameleon.Boot.plist

As soon there is a Extensions.mkext I get the "Still waiting......"

hope it helps...

  • Like 2
Link to comment
Share on other sites

  • 5 months later...
  • 2 weeks later...

I am experiencing a real odd boot-caches oddity which results in the infamous "Still waiting for root device" if I don't either boot w. kernel caches off, OR downgrade SATA to legacy in BIOS. Can you please swing by here and share your ideas :) ?

 

Thank you,

Bugs

Link to comment
Share on other sites

 Share

×
×
  • Create New...