Jump to content
  • Announcements

    • Allan

      Forum Rules   04/13/2018

      Hello folks! As some things are being fixed, we'll keep you updated. Per hour the Forum Rules don't have a dedicated "Tab", so here is the place that we have our Rules back. New Users Lounge > [READ] - InsanelyMac Forum Rules - The InsanelyMac Staff Team. 
vboyz

[GUIDE] LION on Software RAID0 fully working..

28 posts in this topic

Recommended Posts

OK, so by now if you are looking to do software RAID0/1 on Lion that you'll run into an issue where Chameleon can't handle the kernelcache properly (with old version), therefore caused a kernel panic stating "Kext Summary" error. The root cause was that Chameleon depends on Extensions.mkext in the Boot helper partition. It worked well with Snow but with Lion, the system ALWAYS tries to keep the kernelcache file located in /Boot OS X/com.apple.boot.X/S/L/Caches/com.apple.kext.caches/Startup (where X can be a letter of R, S, P).

 

You can boot off of the USB stick to generate the Extentions.mkext and put it into the directory above, but the BIG problem is, when Lion generates new kernelcache, it deletes that folder and generate a new one. For instance, if the old one is "com.apple.boot.P", the new one will be "com.apple.boot.S" then Chameleon will cause Kernal panic because now Extensions.mkext no longer exists. For me it was a pain to keep generating almost on every reboot.

 

Did some reading and found the answer by compiling the latest branch of Chameleon.

 

Instructions:

 

Optional ONLY if you want to compile the source.

 

1. You MUST have Xcode installed (I had version 3 and it worked fine)

2. in terminal get latest of branch by typing: svn co http://forge.voodooprojects.org/svn/chamel...anches/mozodojo

3. Once done, a new directory will be downloaded named "mozodojo"

4. Go into that directory and make sure the revision is at least 1200s by viewing the "revision" file.

5. While in the root of "mozodojo", type: make

6. The system will attempt to compile Chameleon source.

7. Once done, the binary is located in "sym" directory

 

Installing and setting up boot with new binary.

 

1. Go here (http://www.insanelymac.com/forum/index.php?showtopic=160467) and look at step 5 to 8 for how to install the new binary bootloader

2. If you already have an existing Extra folder, rename the com.apple.Boot.plist to org.chameleon.Boot.plist because new code is looking for this file.

3. IMPORTANT: go into org.chameleon.Boot.plist and create (if not there) these lines:

<key>UseKernelCache</key>

<string>Yes</string>

4. Save it off.

5. Now move ALL you kexts from /Extra/Extensions into /S/L/E because with the flag "UseKernelCache", Chameleon will ignore /E/E.

6. We need to have Lion generate new kernelcache to pickup new extensions by typing: touch /System/Library/Extensions

7. Wait for it to be done, and reboot.

8. Now you have a full working RAID

 

If you don't want to hassle with compiling, Chameleon revision 1278 binaries is attached.

 

With new Chameleon code, there's no need for mach_kernel to be in the boot helper partition, you can delete it and Extensions folder also.

 

So my Boot OS X partitions as follow:

 

System --> Lion auto generated folder, don't touch

boot --> boot file from Chameleon r1278

com.apple.boot.X --> where X is a letter like R, S or P and this is where kernelcache is kept.

 

Extra folder has:

dsdt.aml

org.chameleon.Boot.plist

smbios.plist

Themes

 

That's it, nothing else here since all kexts are moved to /S/L/E

 

EDIT: Package installer attached also if you want to update via installer. Just remove the .txt extension.

 

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

 

My org.chameleon.Boot.plist for your reference

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Boot Graphics</key>
<string>Yes</string>
<key>DropSSDT</key>
<string>Yes</string>
<key>EthernetBuiltIn</key>
<string>Yes</string>
<key>Graphics Mode</key>
<string>1280x800x32</string>
<key>GraphicsEnabler</key>
<string>y</string>
<key>UseKernelCache</key>
<string>Yes</string>
<key>RootUUID</key>
<string>get_the_raid_identifier_from_disk_utility</string>
<key>Kernel Flags</key>
<string>-v</string>
<key>PciRoot</key>
<string>1</string>
<key>Theme</key>
<string>Default</string>
<key>Timeout</key>
<string>1</string>
<key>device-properties</key>
<string>my_long_ass_string_for_nvidia_card</string>
</dict>
</plist>

chameleo_r1278.zip

Chameleon_2.0_RC5_r1278.pkg.txt

Share this post


Link to post
Share on other sites
<key>RootUUID</key>

<string>get_the_raid_identifier_from_disk_utility</string>

 

I have used OS X 10.6.x RAID 0 and RAID 10 on my machines for sometime. I experienced the Lion RAID issue real time and reverted to 10.6.8.

 

Now have read through this guide and having been there, my question is in Lion Disk Utility when I right click on the RAID in the left column (or on any partition) I do not see the UUID listed (as in Snow Leopard Disk Utility). Am I missing something?

 

Any help will be appreciated as I am locked into using SL on several machines until I have a good Lion RAID build process.

 

thank you,

neil

Share this post


Link to post
Share on other sites
neil43,

Try the following command in the Terminal to get the RAID UUID:

diskutil AppleRAID list | grep "Unique ID:" | awk '{print $3}'

 

regards,

MAJ

 

Either use this, or in Disk Utility, highlight the disk RAID disk (logical volume) and hit the "Info" button on the top menu will give you everything you need.

Share this post


Link to post
Share on other sites

I followed the guide exactly, but i still get "can't find" error. what am i doing wrong? please help

Share this post


Link to post
Share on other sites
I followed the guide exactly, but i still get "can't find" error. what am i doing wrong? please help

 

At first I have the same error too, it turned out that I used the wrong parameters. Double check your "UseKernelCache" key and string should be "Yes".

 

I try new release in my software raid 0 on OSX Snow...rename bootplist..but i have error kernel_chache

 

I only tested this with LION not Snow...you should google how to do RAID0 on Snow. Pretty much the same except for the Chameleon part.

Share this post


Link to post
Share on other sites
neil43,

Try the following command in the Terminal to get the RAID UUID:

diskutil AppleRAID list | grep "Unique ID:" | awk '{print $3}'

 

regards,

MAJ

 

Hey that is a great response. It does the job and is quick and easy.

 

Thank you,

neil

Share this post


Link to post
Share on other sites
At first I have the same error too, it turned out that I used the wrong parameters. Double check your "UseKernelCache" key and string should be "Yes".

 

 

 

I only tested this with LION not Snow...you should google how to do RAID0 on Snow. Pretty much the same except for the Chameleon part.

 

Sorry again only use this string ?

<key>UseKernelCache</key>
<string>Yes</string>
<key>RootUUID</key>
<string>get_the_raid_identifier_from_disk_utility</string>

Share this post


Link to post
Share on other sites
:D

Sorry..sure eliminated file mach_kernel from partition boot helper?

 

Having mach_kernel in the boot partition does not matter since Chameleon will look at the one in / anyway.

Share this post


Link to post
Share on other sites
Having mach_kernel in the boot partition does not matter since Chameleon will look at the one in / anyway.

Ok and i use in org.boot plist only key" kernel cache = yes" ?

Share this post


Link to post
Share on other sites

;)

 

I'have again error " cant find mach_kernel

 

this is a my org.boot plist

<key>DropSSDT</key>
<string>yes</string>
<key>GenerateCStates</key>
<string>Yes</string>
<key>GeneratePStates</key>
<string>Yes</string>
<key>GraphicsEnabler</key>
<string>Yes</string>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>arch=x86_64 npci=0x2000 -v</string>
<key>Theme</key>
<string>Default</string>
<key>Timeout</key>
<string>5</string>
<key>UseKernelCache</key>
<string>Yes</string>
	<key>RootUUID</key>
	<string>4E5F6CD0-202A-3D60-A2DC-7E7B04715766</string>

Share this post


Link to post
Share on other sites
:(

 

I'have again error " cant find mach_kernel

 

this is a my org.boot plist

<key>DropSSDT</key>
<string>yes</string>
<key>GenerateCStates</key>
<string>Yes</string>
<key>GeneratePStates</key>
<string>Yes</string>
<key>GraphicsEnabler</key>
<string>Yes</string>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>arch=x86_64 npci=0x2000 -v</string>
<key>Theme</key>
<string>Default</string>
<key>Timeout</key>
<string>5</string>
<key>UseKernelCache</key>
<string>Yes</string>
	<key>RootUUID</key>
	<string>4E5F6CD0-202A-3D60-A2DC-7E7B04715766</string>

 

I don't have a few options in my dsdt file like you do. I would suggest that you make it same as mine to start with then go from there. Sometimes, other options might cause conflict.

 

Also follow the RAID guide, and make sure that everything is looking good in your Boot OS X partitions specially the com.apple.boot.X folder must have kernelcache file in there.

Share this post


Link to post
Share on other sites

hello .... after installing raid0 lion on I noticed that not allow me to repair permissions with Disk Utility .... do you know something?

 

However I solved using kext wizard

Share this post


Link to post
Share on other sites
hello .... after installing raid0 lion on I noticed that not allow me to repair permissions with Disk Utility .... do you know something?

 

However I solved using kext wizard

 

you have to do it as SuperUser by typing:

 

sudo diskutil repairPermissions /

 

then enter your password.

Share this post


Link to post
Share on other sites

I have a question. This guide is for Chameleon to boot a RAID volume. Is it because Chameleon can't handle kernel cache or is it because of the software RAID by nature. I am implying if a RAID card supported by Lion such as Highpoint Rocketraid 620 is used to drive a pair of disks already set up, would Chameleon be able to see the volume and boot from there?

Share this post


Link to post
Share on other sites
I don't have a few options in my dsdt file like you do. I would suggest that you make it same as mine to start with then go from there. Sometimes, other options might cause conflict.

 

Also follow the RAID guide, and make sure that everything is looking good in your Boot OS X partitions specially the com.apple.boot.X folder must have kernelcache file in there.

I have a kernel cache .....but i have again issue " cant find mach_kernel cache"

Share this post


Link to post
Share on other sites

vboyz thank you for the guide. I have used your method tailored to my way of doing things and rebuilt two machines with Lion and bootable RAID 0 drive sets.

 

neil

Share this post


Link to post
Share on other sites
vboyz thank you for the guide. I have used your method tailored to my way of doing things and rebuilt two machines with Lion and bootable RAID 0 drive sets.

 

neil

You are a great man .

Share this post


Link to post
Share on other sites

This guide is great! I followed this with supplement by Nathan7 and successfully setup a Stripe set to breath new life into my 2 slow HDs. Boot time is staved off 13 seconds, and the machine is much snappier. However, the kernel flag "npci=0x2000" used to advance verbose boot beyond "PCI Configuration Begins" no longer works in RAID set as it won't display anything else beyond PCI Configuration Begins.

It will continue to boot no problem, but will not display any more verbose. I checked both com.apple.Boot.Plist and org.chameleon.Boot.Plist to make sure the line is in there.

Any idea anyone?

Share this post


Link to post
Share on other sites
I have a kernel cache .....but i have again issue " cant find mach_kernel cache"

 

 

It appears you might have missed the last step of the guide in which you need to activate both partition of Boot OS X. Try that. Oh by the way, do not forget to create a kernel cache by doing this from Terminal:

 

sudo touch /Volumes/YourRaidVolume/System/Library/Extensions

 

I know it is very tiresome on the eyes when doing commands in Terminal as it is easy to mistype. One thing to look out for is response messages in terminal windows when you mistype.

Good Luck!

Share this post


Link to post
Share on other sites
It appears you might have missed the last step of the guide in which you need to activate both partition of Boot OS X. Try that. Oh by the way, do not forget to create a kernel cache by doing this from Terminal:

 

sudo touch /Volumes/YourRaidVolume/System/Library/Extensions

 

I know it is very tiresome on the eyes when doing commands in Terminal as it is easy to mistype. One thing to look out for is response messages in terminal windows when you mistype.

Good Luck!

 

 

 

I have this error

Last login: Tue Aug 16 20:39:03 on ttys000
Mac-Pro-di-Carmine:~ carmine$ sudo touch /Volumes/LionRaid/System/Library/Extensions
Password:
touch: /Volumes/LionRaid/System/Library/Extensions: No such file or directory
Mac-Pro-di-Carmine:~ carmine$

 

PS: How activate boot ?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.

×