Jump to content

[GUIDE] LION on Software RAID0 fully working..


  • Please log in to reply
27 replies to this topic

#1
vboyz

vboyz

    InsanelyMac Protégé

  • Members
  • PipPip
  • 69 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.voodoop...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.insanelym...howtopic=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.voodoop...eon/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>

Attached Files



#2
neil43

neil43

    Grey Beard

  • Members
  • PipPipPipPip
  • 215 posts
  • Gender:Male
  • Location:Fremont, California, USA

<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

#3
digital_dreamer

digital_dreamer

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,075 posts
  • Gender:Male
  • Location:Missouri USA
neil43,
Try the following command in the Terminal to get the RAID UUID:
diskutil AppleRAID list | grep "Unique ID:" | awk '{print $3}'

regards,
MAJ

#4
vboyz

vboyz

    InsanelyMac Protégé

  • Members
  • PipPip
  • 69 posts

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.

#5
Khodi

Khodi

    InsanelyMac Protégé

  • Members
  • Pip
  • 38 posts
  • Gender:Male
  • Location:South Africa
I followed the guide exactly, but i still get "can't find" error. what am i doing wrong? please help

#6
magnifico

magnifico

    InsanelyMac Deity

  • Donators
  • 2,334 posts
  • Gender:Male
I try new release in my software raid 0 on OSX Snow...rename bootplist..but i have error kernel_chache

#7
vboyz

vboyz

    InsanelyMac Protégé

  • Members
  • PipPip
  • 69 posts

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.

#8
neil43

neil43

    Grey Beard

  • Members
  • PipPipPipPip
  • 215 posts
  • Gender:Male
  • Location:Fremont, California, USA

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

#9
magnifico

magnifico

    InsanelyMac Deity

  • Donators
  • 2,334 posts
  • Gender:Male

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>


#10
magnifico

magnifico

    InsanelyMac Deity

  • Donators
  • 2,334 posts
  • Gender:Male
:rolleyes:
Sorry..sure eliminated file mach_kernel from partition boot helper?

#11
vboyz

vboyz

    InsanelyMac Protégé

  • Members
  • PipPip
  • 69 posts

: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.

#12
magnifico

magnifico

    InsanelyMac Deity

  • Donators
  • 2,334 posts
  • Gender:Male

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" ?

#13
magnifico

magnifico

    InsanelyMac Deity

  • Donators
  • 2,334 posts
  • Gender:Male
;)

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>


#14
giaccaz

giaccaz

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 208 posts
with works by following your guide ....

thx vboyz

#15
vboyz

vboyz

    InsanelyMac Protégé

  • Members
  • PipPip
  • 69 posts

:(

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.

#16
giaccaz

giaccaz

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 208 posts
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

#17
vboyz

vboyz

    InsanelyMac Protégé

  • Members
  • PipPip
  • 69 posts

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.

#18
tdtran1025

tdtran1025

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 351 posts
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?

#19
magnifico

magnifico

    InsanelyMac Deity

  • Donators
  • 2,334 posts
  • Gender:Male

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"

#20
neil43

neil43

    Grey Beard

  • Members
  • PipPipPipPip
  • 215 posts
  • Gender:Male
  • Location:Fremont, California, USA
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





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