Jump to content

How to rebuild kext cache?


meistermeister
 Share

10 posts in this topic

Recommended Posts

Hello,

after updating to 10.7.2 (from working 10.7.0) I get the Still waiting for root device error. I cannot get past it, even with using different startup parameters (-f, -x, etc).

I am getting past this error, when using UseKernelCache=Yes, but I can't complete the booting.

 

Some posts suggests that I should rebuild the kernel cache. But how can I access the hard disk? Should I use some Linux live CDs? Linux can't write to journaled HFS+ volumes, so that won't work.

 

The following is suggested, but how to do it?

 

To boot OS X 10.7.2 successfully, do the following:

 

1. Transfer ALL kexts in /Extra/Extensions/ to /System/Library/Extensions/, leaving /Extra/Extensions/ empty.

 

2. Modify your org.chameleon.Boot.plist file to include

 

 

<key>UseKernelCache</key>

<string>Yes</string>

 

3. Reset /System/Library/Extensions/ kext ownership and permissions and force kernelcache re-creation via Terminal commands:

 

 

sudo chown -R root:wheel /System/Library/Extensions/

sudo chmod -R 755 /System/Library/Extensions/

sudo touch /System/Library/Extensions/

 

 

 

4. For good measure, manually delete the kernelcache and other cache files in /System/Library/Caches/com.apple.kext.caches/Startup/

5. Reboot into OS X 10.7.2.........and use Disk Utility to repair system permissions...... :)

Link to comment
Share on other sites

try to boot into Single-User mode.

 

-s at the prompt. If it goes you can go through and change things.

 

And do you want to delete the kernel cache, or the Extension caches?

 

I don't know about the kernel cache, but the extension caches can be done by deleting /Extra/Extensions.mkext

 

Type rm -R /Extra/Extensions.mkext.

 

and the cache at /System/Library/Caches/com.apple.kext.caches

 

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

 

which will cause them to be rebuilt at the next boot.

 

 

type -v -f at the boot prompt.

  • Like 3
Link to comment
Share on other sites

Hello,

thank you for the answer!

I tried both -s and -v -f, but I get stuck.

How is it possible to enter terminal commands without a working installation? I tried to boot from the installation DVD and start the terminal. This works, but if I try to change something on the HDD, the commands fail with the message "read only file system". It is also strange, that the terminal doesn't recognize sudo..

Link to comment
Share on other sites

OK, I am now able to reach the command prompt: I booted the HDD installation with

-v -s UserKernelCache=Yes

 

But every time I try to run a command (e.g. a simple one like mkdir /test/) it says "Read only file system".

No change if i use sudo (e.g. sudo mkdir /test/).

 

If i try su, it states "Segmentation fault: 11".

 

How can I make changes to the disk?

 

// Edit:

Forget to run /sbin/mount -uw /

Now i can make changes to filesystem. I will try to rebuild the cache now.

Link to comment
Share on other sites

After deleting the old cache files, I can't even get to the command prompt via -v -s (with and without UserKernelCache=Yes).

I tried it with rd=disk0, rd=disk0s1, rd=disk0s2, rd=disk0s3, rd=disk1, rd=disk1s1, rd=disk1s2, rd=disk1s3 but no success... I always get the still waiting for root device error..

Link to comment
Share on other sites

how about grabbing a mkext from another installation like SnowLeo and sticking that in where the other used to be? Will that and -f trick it into starting?

And maybe the caches files (even empty ones)?

Link to comment
Share on other sites

I doubt grabbing and mkext from snowleo will work as the binary in the file will be from different kext's which will probably result in a KP.

 

I suggest taking a picture of the screen that you are left with and the contents of your /Extra folder, info can only help!

Also try using -F with a capital F because in some documentation it's used a cap F and if I know anything about UNIX it's cap sensitive!

 

Also try booting using a CD or DVD because it gives the bootloader on the hard drive the finger!

Get HackBoot 6.2 here http://www.osx86.net/view/1462-boot_cd_for_lion.html try burning it and you might get it to boot...

If it does... Install [url=&quot;http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/&quot;]#####[/url] and make sure you have a DSDT and all the appropriate kexts installed.

Then try and rebuild the cache...

Link to comment
Share on other sites

I didn't get it to work, even with various boot CDs/DVDs.. So I reinstalled 10.7.0 and updated to 10.7.1. This is working.

I added the following kexts/extras:

 

/Extra:

org.chameleon.Boot.plist

SMBIOS.plist

 

/Extra/Extensions:

ACPIMonitor.kext

EvOreboot.kext

FakeSMC.kext

IntelCPUMonitor.kext

IntelThermal.kext

JMicron36xSATA.kext

NullCPUPowerManagement.kext

 

/System/Library/Extensions:

nForceLAN.0.64.5.kext

 

Didn't try to update to 10.7.2 so far..

Link to comment
Share on other sites

 Share

×
×
  • Create New...