Jump to content

DP4 on Apple SW RAID Boot KP - When booting directly from RAID


Crna Brada
 Share

22 posts in this topic

Recommended Posts

I am Getting KP when I try to boot DP4 from Apple SW RAID. I get following messages:

Unable to find driver for this platform: \"ACPI\".\n"@SourceCache/xnu/xnu-1699.22.64/iokit/Kernel/IOPlatformExpert.cpp:1504 and, after number of addresses,

can't perform kext scan: no kext summary.

etc...some addresses...

 

I've gone through the same install procedure that worked before on SL 10.6.7 on the same machine!

 

1. Used three SSDs in RAID 0 and followed RAID install guide from InsanelyMac.

2. Manually installed latest Chimera on each drive,(later tried Chameleon 984-same problem)

3. Copied "boot" file, "Extra" folder, "mach_kernel", and "DSDT.aml" to s3 section of every drive.

4. Used "touch /System/Library/Extension" to initiate rebuild of "kernel cache" which happened.

5. Entered Lion once booting through Lion Install USB and worked fine for an hour - network, audio, etc. work without a glitch. I cannot get there again for unknown reason.

6. Direct boot to RAID causes KP.

 

SL 10.6.7 worked perfectly fine in the same HW setup as well as Lion DP3 - DP4 on one SSD only.

 

Any idea what I am doing wrong?

 

Update: installed Lion DP4 using exactly the same OSx86 kexts and Chameleon on one of the disks from the RAID - works perfectly.

Link to comment
Share on other sites

  • 3 weeks later...
Create Extensions.mkext for /Extra and /S/L/E and place it in Extra inside Boot OSX for each drive.

 

 

It's not working with me, maybe I'm doing something wrong.

I have Extensions.mkext on /Extra on both Boot OS X volumes, but I still have an error when I try to boot from it:

 

fotografia-cópia.JPG

Link to comment
Share on other sites

This is the working command that I used.

 

# kextcache -v -l -m Extensions.mkext /System/Library/Extensions /Extra/Extensions

 

And then move the generated Extension.mkext to Boot OS X on all disk, and probably also to /Extra for completeness sake. Hope it helps.

Link to comment
Share on other sites

This is the working command that I used.

 

# kextcache -v -l -m Extensions.mkext /System/Library/Extensions /Extra/Extensions

 

And then move the generated Extension.mkext to Boot OS X on all disk, and probably also to /Extra for completeness sake. Hope it helps.

 

 

It was supposed to work, but it seems my chameleon it not load extensions.mkext. With Snow Leopard was fine, but with Lion I just can't make it work.

Link to comment
Share on other sites

It was supposed to work, but it seems my chameleon it not load extensions.mkext. With Snow Leopard was fine, but with Lion I just can't make it work.

 

Guys,

 

Here is a solution that enables system to work from RAID while just starting Chameleon from USB drive.

Not a solution to write home about but apart from a stick sitting in your USB port on a back panel - everything else including updates works perfectly.

 

1. Install Lion on USB (or any other media) - no RAID. All OSx86 kexts on /E/E (except for network Realtek.. kext which has to be in /SL/E) DSTD, symbios and boot.plist in /Extra. Chameleon 'boot' is in / - root directory.

2. Create kernelcache by "touch /S/L/E", after fixing ownership.

3. Now, terribly slow, system boots from USB (or whatever non-RAID media Lion happens to be installed on) - fully functional!

 

Next stage: very same installation is transferred to RAID:

 

4. Install Lion (DP4 or GM) on RAID.

5. Change com.Apple.boot.plist on USB stick

<key>Kernel Flags</key>

<string>rd=uuid boot-uuid="YOUR RAID UUID"</string>

6. As usual from SL, copy from USB mash_kernel + Chameleon 'boot' + '/Extra' to Boot - s3 partition of every disk included in RAID.

7. After ownership of all kexts is revised to root (wheel:root), use 'touch /RAID_HD/S/L/E' again to initiate kernel cache creation.

8. Redirect BIOS to boot from USB stick instead of RAID.

9. Boot the Hackintosh and it will work from RAID perfectly.

 

Hope this helps as a patch until solution for problem is found. At that pioint of time you will only have to install fixed Chameleon on RAID and remove the USB stick.

 

Cheers,

 

p.s. Unfortunately I cannot find the name of the person who gave me this idea but I am greatful to him / her anyway.

Link to comment
Share on other sites

It's not working with me, maybe I'm doing something wrong.

I have Extensions.mkext on /Extra on both Boot OS X volumes, but I still have an error when I try to boot from it:

 

fotografia-cópia.JPG

 

You must not to put your self-created Extensions.mkext in the root of the Boot OS X partition! (and forget Extra too)

Provided you have your Extensions.mkext on your desktop, use the command:

 

sudo cp ~/Desktop/Extensions.mkext /Volumes/Boot\ OS\ X/com.apple.boot.S/System/Library/Caches/com.apple.kext.caches/Startup

 

And delete the kextcache-File in that folder!

 

After that, it should work :hysterical:

Link to comment
Share on other sites

You must not to put your self-created Extensions.mkext in the root of the Boot OS X partition! (and forget Extra too)

Provided you have your Extensions.mkext on your desktop, use the command:

 

sudo cp ~/Desktop/Extensions.mkext /Volumes/Boot\ OS\ X/com.apple.boot.S/System/Library/Caches/com.apple.kext.caches/Startup

 

And delete the kextcache-File in that folder!

 

After that, it should work :hysterical:

 

 

Thanks man, Extensions.mkext on that location works fine now ;)

 

 

Edited: After some testing, it works the first time but then the OS simply regenerates kextcache and deletes Extensions.mkext from the Boot OS X volume. Does this happen with you also ?

Link to comment
Share on other sites

Thanks man, Extensions.mkext on that location works fine now :(

 

Edited: After some testing, it works the first time but then the OS simply regenerates kextcache and deletes Extensions.mkext from the Boot OS X volume. Does this happen with you also ?

 

I had very similar experience with creating Extensions.mkext. You are fighting OS that keeps recreating "kextcache" or even restoring its original version that you thought you had deleted before.

 

More specifically, I would create Extensions.mkext in the same "/Volumes/Boot\ OS\ X/com.apple.boot.S/System/Library/Caches/com.apple.kext.caches/Startup" directory after deleting everything in that directory. Even when I would do that from Terminal started from Lion installation USB, i would only find after that kextcache created during initial OS install is back (timestamp of the file kextcache would coincide with the time of installation)!?

Link to comment
Share on other sites

Yeah, the OS will always try to keep its caches current or in sync with the kext directory.

 

Taruga, it's odd that your bootloader is not loading the mkext from /Extra. Are you trying to load the kernelcache (using UseKernelCache flag), instead of the mkext cache file? When I use the kernelcache, I HAVE to have all kexts in S/L/E for this to work. Bummer.

 

The only way I'm booting RAID now is just creating the combo mkext file from /Extra and S/L/E into /Extra.

This bootloader bug seems to have repercussions beyond RAID - a preboot CD for Lion produces the same KP. Somehow, the bootloader is not able to access kexts in S/L/E

 

kind regards,

MAJ

Link to comment
Share on other sites

Yeah, the OS will always try to keep its caches current or in sync with the kext directory.

 

Taruga, it's odd that your bootloader is not loading the mkext from /Extra. Are you trying to load the kernelcache (using UseKernelCache flag), instead of the mkext cache file? When I use the kernelcache, I HAVE to have all kexts in S/L/E for this to work. Bummer.

 

The only way I'm booting RAID now is just creating the combo mkext file from /Extra and S/L/E into /Extra.

This bootloader bug seems to have repercussions beyond RAID - a preboot CD for Lion produces the same KP. Somehow, the bootloader is not able to access kexts in S/L/E

 

kind regards,

MAJ

 

 

Using UseKernelCache flag makes no difference to me.

 

 

Some guy reported the problem:

 

http://forge.voodooprojects.org/p/chameleon/issues/104/

 

Reported by Tommy mui, Jul 7, 2011

 

The chameleon seems fail to handover the extensions to the raid

drive. It's working by loading a non-raid drive first, and enter the

raid lion by uuid. The remedy is to create extensions.mkext and

mach_kernel and leave in the extra in efi partition.

Link to comment
Share on other sites

Thanks man, Extensions.mkext on that location works fine now :)

 

 

Edited: After some testing, it works the first time but then the OS simply regenerates kextcache and deletes Extensions.mkext from the Boot OS X volume. Does this happen with you also ?

 

No. I have tried this with the GM and it does not happen to me. I created the extension.mkext with a mirrored Lion install on a different single drive and not with the raid-system. Maybe this could make the difference? Has it something to do with permissions? Have you removed your kernel cache from system/library/caches before creating extensions.mkext as it is recommended here: netkas ?

Link to comment
Share on other sites

  • 2 weeks later...
I am Getting KP when I try to boot DP4 from Apple SW RAID. I get following messages:

Unable to find driver for this platform: \"ACPI\".\n"@SourceCache/xnu/xnu-1699.22.64/iokit/Kernel/IOPlatformExpert.cpp:1504 and, after number of addresses,

can't perform kext scan: no kext summary.

etc...some addresses...

 

I've gone through the same install procedure that worked before on SL 10.6.7 on the same machine!

 

1. Used three SSDs in RAID 0 and followed RAID install guide from InsanelyMac.

2. Manually installed latest Chimera on each drive,(later tried Chameleon 984-same problem)

3. Copied "boot" file, "Extra" folder, "mach_kernel", and "DSDT.aml" to s3 section of every drive.

4. Used "touch /System/Library/Extension" to initiate rebuild of "kernel cache" which happened.

5. Entered Lion once booting through Lion Install USB and worked fine for an hour - network, audio, etc. work without a glitch. I cannot get there again for unknown reason.

6. Direct boot to RAID causes KP.

 

 

SL 10.6.7 worked perfectly fine in the same HW setup as well as Lion DP3 - DP4 on one SSD only.

 

Any idea what I am doing wrong?

 

Update: installed Lion DP4 using exactly the same OSx86 kexts and Chameleon on one of the disks from the RAID - works perfectly.

 

Same problem here. only when I don't put Mach_kernel in helper partition, It doesn't find Mach_kernel. I will check tomorrow everything posted here.

Link to comment
Share on other sites

  • 2 weeks later...

Hi Everyone,

 

I tried the new boot from kext.com and it didn't work for me. I kept getting the error from the Chameleon boot screen "can't find com.apple.boot.S (or P or R). I tried downloading and building the source from the Chameleon SVN trunk and I installed it per the Chameleon README (just like I've done before when I was on Snow Leopard), but the same result, "can't find com.apple.boot.S".

 

When I boot in via Kakewalk, all is good. If I look in my disk0s3 and disk1s3, com.apple.boot.S is there, so I don't understand why Chameleon can't find it. If I boot with UseKernelCache=Yes, it gets a lot further (past the original problem), but it never gets past the Apple logo and the spinning wheel. With -v, nothing out of the ordinary shows up, it just won't get to the OS.

 

FYI, with the same kexts, I could boot up if I put the mkext in:

 

/Volumes/Boot\ OS\ X/com.apple.boot.S/System/Library/Caches/com.apple.kext.caches/Startup

 

before updating Chameleon with the Lion, RAID fix.

 

If anyone has some advice, I would appreciate it!

 

Bob

Link to comment
Share on other sites

Hi Everyone,

 

I tried the new boot from kext.com and it didn't work for me. I kept getting the error from the Chameleon boot screen "can't find com.apple.boot.S (or P or R). I tried downloading and building the source from the Chameleon SVN trunk and I installed it per the Chameleon README (just like I've done before when I was on Snow Leopard), but the same result, "can't find com.apple.boot.S".

 

When I boot in via Kakewalk, all is good. If I look in my disk0s3 and disk1s3, com.apple.boot.S is there, so I don't understand why Chameleon can't find it. If I boot with UseKernelCache=Yes, it gets a lot further (past the original problem), but it never gets past the Apple logo and the spinning wheel. With -v, nothing out of the ordinary shows up, it just won't get to the OS.

 

FYI, with the same kexts, I could boot up if I put the mkext in:

 

/Volumes/Boot\ OS\ X/com.apple.boot.S/System/Library/Caches/com.apple.kext.caches/Startup

 

before updating Chameleon with the Lion, RAID fix.

 

If anyone has some advice, I would appreciate it!

 

Bob

 

Followup: I just needed to move everything from E/E to S/L/E and rebuild caches and specify UseKernelCache=Yes and it works!!!! :D

Link to comment
Share on other sites

  • 3 years later...

Christ well four god damn years later and still not fixed that was a fine half a day wasted until I found this necro posting I am doing, lovely. Looks like I will have to look into shut down script so this thing survives a reboot If what I read here is correct and it does not or boot from USB stick to load the raid...

Link to comment
Share on other sites

Well survives reboot fine system upgrades like the security update 2015-005 that happened today is another story no such luck. Easy enough to fix though if you have backup boot volume simply boot it and rebuild the Extensions.mkext and copy it back to the Boot OS X Startup directory. To simplify the process I put the following in my .bashrc and used this script below to copy/move it to the proper place.

cat .bashrc |grep mkext


alias mkext="sudo kextcache -v -l -m Extensions.mkext /System/Library/Extensions /Extra/Extensions"
cat Bin/cache.sh

#!/bin/bash



diskutil mount /dev/disk$1s3

sudo cp -r Extensions.mkext "/Volumes/Boot OS X/com.apple.boot.R/System/Library/Caches/com.apple.kext.caches/Startup/"

diskutil unmount /dev/disk$1s3

diskutil mount /dev/disk$2s3

sudo mv Extensions.mkext "/Volumes/Boot OS X/com.apple.boot.R/System/Library/Caches/com.apple.kext.caches/Startup/"

diskutil unmount /dev/disk$2s3

 
The $1 and $2 are the disk numbers you want the file copied/moved to in the second instance as no sense in leaving files laying around taking up space. To get those numbers use the below then run the script as cache.sh 2 3 for example in my output below.
 

diskutil list | grep Boot

   3:                 Apple_Boot Boot OS X               134.2 MB   disk2s3

   3:                 Apple_Boot Boot OS X               134.2 MB   disk3s3

Well that is it in case anyone finds this thread like I did and needs to do similar all you should need is here. Other than your backup drive needs to be using a different org.chameleon.Boot.plist with the raid uuid not in it in order to boot otherwise it goes to the raid volume instead of the backup.

Link to comment
Share on other sites

 Share

×
×
  • Create New...