Jump to content

[GUIDE] Chameleon 2 RAID - More complete tutorial


  • Please log in to reply
52 replies to this topic

#1
nathan7

nathan7

    InsanelyMac Protégé

  • Members
  • PipPip
  • 76 posts
Let me say I have used Macs for 20 years, and I never did a RAID. A few weeks ago, I bought two fast drives (ST3320613AS), and setup a software RAID 0 to boot with munky's EFI method. It is fast as hell! I love it. I have 3 RAID volumes between these 2 drives: Mac RAID, Applications, and Users. I know it could be faster if the whole drive was one RAID volume, but this is better than a single drive anyway. I get 220MB/sec with AJA System Test.

For this guide, let's assume:

1. You are logged in as a user with administrator privileges. I don't know if this matters for renaming the "Boot OSX" volumes from the desktop, but I was, so be aware.

2. You already have an Extra folder that is working well for you with Chameleon 2 installed on a non-RAID volume. It has DSDT.aml (if you use one), Extensions.mkext, Themes, com.apple.Boot.plist, smbios.plist (if you use one) in it.

3. Suppose that your RAID installation root volume is /dev/disk4, which is either a mirror or a stripeset consisting of /dev/disk2 and /dev/disk3.


When you create a RAID with Disk Utility, Mac OS X creates a small helper partition after each RAID slice, namely /dev/disk2s3 and /dev/disk3s3. These are all named "Boot OSX".

If you haven't already, set up your RAID root volume, and clone your working install to it with Super Duper or Carbon Copy Cloner. There should not be a /Extra on the RAID root volume and /Library/Preferences/SystemConfiguration/com.apple.Boot.plist should be vanilla, no modifications.

Attached File  Boot.plist.vanilla.zip   381bytes   1012 downloads

Because I was coming from a munky w/RAID mod install, my RAID root volume was already set up. I tried and failed to get Chameleon 2 to work with the EFI partitions on my RAID slices. The computer would just reset when it tried to load Chameleon, so I formatted the EFI partitions like so:

diskutil eraseVolume "HFS+" "EFI" /dev/disk2s1
 diskutil eraseVolume "HFS+" "EFI" /dev/disk3s1

This got me into Chameleon from the RAID disk, but having followed the README with Chameleon 2, when I tried to boot the "Boot OSX" partition, I got a kernel panic related to AppleIntelCPUPowerManagement.kext, so I knew my Extensions.mkext was not loading from /Extra on the RAID root volume. I moved a copy of Extra to both of the "Boot OSX" partitions, removed /Extra from my RAID root volume, and hooray it works! Then I experimented with changing the name of the "Boot OSX" partitions, and that worked, too. I also tried both RAID root volume UUIDs, and either one works.

You can skip all the sudos if you become root first with sudo -s.

OK, Let's do this, fire up Terminal:

1. Copy your Extra folder to the Desktop, and unzip the Chameleon folder to the Desktop.

2. Add "rd=uuid boot-uuid=(your UUID)" to your kernel flags in your ~/Desktop/Extra/com.apple.Boot.plist. Find your UUID using Disk Utility, right click on your RAID root volume (i.e. "Mac RAID"), then click Information. You can use the Universal Unique Identifier or the RAID Identifier:

nano ~/Desktop/Extra/com.apple.Boot.plist
 
 It should look like this:
		 
		 <key>Kernel Flags</key>
		 <string>rd=uuid boot-uuid=ECCB72E4-D6EC-37DC-97C4-8AD7BD4466E6</string>


3. Set good permissions on Extra (others may work, this is how I did it):

sudo chmod -R 644 ~/Desktop/Extra
 sudo chown -R root:wheel ~/Desktop/Extra


4. Change to Chameleon i386 folder:

cd ~/Desktop/Chameleon-2.0RC1-r431-bin/i386


5. Install boot0 to the MBR of both disks:

sudo fdisk -f boot0 -u -y /dev/rdisk2
 sudo fdisk -f boot0 -u -y /dev/rdisk3


6. Install boot1h to the bootsector of each "Boot OSX" partition:

sudo dd if=boot1h of=/dev/rdisk2s3
 sudo dd if=boot1h of=/dev/rdisk3s3


7. Copy boot and Extra folder to both "Boot OSX" helper partition's root directories.

1st partition:
sudo diskutil mount disk2s3
 sudo cp boot /Volumes/Boot\ OSX/
 sudo cp -R ~/Desktop/Extra /Volumes/Boot\ OSX/
 (before unmounting, if you wish, change the name of Boot OSX from your desktop, I called mine "Mac RAID Boot 1")
 sudo diskutil unmount disk2s3

2nd partition:
sudo diskutil mount disk3s3
 sudo cp boot /Volumes/Boot\ OSX/
 sudo cp -R ~/Desktop/Extra /Volumes/Boot\ OSX/
 (before unmounting, if you wish, change the name of Boot OSX from your desktop, I called mine "Mac RAID Boot 2")
 sudo diskutil unmount disk3s3

sudo touch /Volumes/(your RAID root volume, i.e. "Mac RAID")/System/Library/Extensions


8. Make the disk bootable (partially copied from munky). I didn't do this step, but I should and will because it makes sense. My board seems to be one that doesn't care as it boots like it should. This stage may not be necessary on some boards, but on munky's Intel board and Bad Axe boards it is. If you skip this step and your system wont boot, try doing it. That said, doing this on boards which DONT need it will do no harm so my logic is do it anyway.

A) sudo fdisk -e /dev/rdisk2 (Ignore any fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory error)
 
		 B) f 3
 
		 C) w
 
		 D) q
 
		 Repeat 1-4 with your other RAID member disk, rdisk3 in this example.

Reboot, set your BIOS to boot either of your RAID member disks, and you should boot into the Chameleon 2 GUI. Select either of the "Boot OSX" partitions or whatever you may have renamed them to, and your RAID root volume will boot in a thing of beauty.

This guide may not be perfect, but I went over it several times, and I am pretty sure it is. Please give me feedback and I will make any corrections, if needed.

#2
Klipsch

Klipsch

    InsanelyMac Protégé

  • Members
  • Pip
  • 5 posts
Thanks for this. Everything seems to be working on except my Video. How do I get my video card working? I have a PNY 8600GT 256MB. Before I used EFIStudio to add the correct EFI String but now that doesn't seem to be working.

Any help would be appreciated.

#3
nathan7

nathan7

    InsanelyMac Protégé

  • Members
  • PipPip
  • 76 posts

Thanks for this. Everything seems to be working on except my Video. How do I get my video card working? I have a PNY 8600GT 256MB. Before I used EFIStudio to add the correct EFI String but now that doesn't seem to be working.

Any help would be appreciated.


The same EFI string you used before should go in your com.apple.Boot.plist in /Extra on both of your "Boot OSX" helper partitions. Make sure you don't have an /Extra on your RAID root boot volume and make sure your com.apple.Boot.plist on your root volume at /Library/Preferences/SystemConfiguration/ is vanilla like the one attached to the OP. I have an EFI string for my PNY card also, working great.

Thank you for trying it out.

#4
Klipsch

Klipsch

    InsanelyMac Protégé

  • Members
  • Pip
  • 5 posts
Thanks for helping me out. Everything is working now. My Root boot.plist was the one with the efi string in it so I just put a vanilla one in the root and a modified the 2 on the Boot OSX volumes. Running noticeably faster now. Have 2 500GB striped. Getting 250.13 Xbench and 8554 geekbench scores!

#5
nathan7

nathan7

    InsanelyMac Protégé

  • Members
  • PipPip
  • 76 posts

Thanks for helping me out. Everything is working now. My Root boot.plist was the one with the efi string in it so I just put a vanilla one in the root and a modified the 2 on the Boot OSX volumes. Running noticeably faster now. Have 2 500GB striped. Getting 250.13 Xbench and 8554 geekbench scores!


No problem. Glad I could help and you got it set. Thanks for the feedback.

#6
zhell

zhell

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 125 posts
  • Gender:Male
Hi nathan7, sounds like an awesome tutorial! Thanks for taking the time to write this down.

3. Set good permissions on Extra (others may work, this is how I did it):

sudo chmod -R 644 ~/Desktop/Extra
	 sudo chown -R root:wheel ~/Desktop/Extra

Indeed, there are many different ways around for using "chmod" on KEXTs; my favorite is the following:
sudo chmod -R go=u-w <directory>
. What this does is: set the perms of g="group" and o="others" equal to those of the owner u="user", but minus write permissions.

Thus, you preserve the execute bit on directories and will still be able to browse them in Finder or Terminal as a normal user.

If you would like to take this one step further, you could probably adapt the script I wrote for Munky's method to your own setup rather easily.

Thanks,
zhell

#7
eject

eject

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 250 posts
  • Location:germany; BW
thank you for that tutorial, without you i would have had alot more trouble.

for others an advise, if you need an dsdt.aml to boot, you have to put it in the extra folder on the osx boot partitions.
it won't load from root. such things can cost you hours, unbeliveable small issue but such a hassle

#8
andycorleone

andycorleone

    InsanelyMac Protégé

  • Members
  • PipPip
  • 95 posts
Hi, thanks for the guide,
I'm new to Chameleon 2, What the advatage of it is this similar to the EFI Method?

Can I Install a Full Retail in the RAID Volume? and them Install the Kernel (voodoo for example) and Kexts in the Chameleon2 Partition?

I manage to Install Chameleon2 following you Guide and update my Previous Chameleon1 Loader. but I'm not sure Which Kext to put in the Chameleone2 Extra Foder. BTW what is the Best Way to Update Kext in the Chameleon2 Partition just droping it?
Thanks
Andy

#9
kmare

kmare

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 121 posts
  • Gender:Male
  • Location:Toronto
Thanks! Been using this method for a few weeks now: off a old 2xWD500 "Blues"

Disk Test 139.42
Sequential 181.96
Uncached Write 252.87 155.26 MB/sec [4K blocks]
Uncached Write 246.06 139.22 MB/sec [256K blocks]
Uncached Read 95.98 28.09 MB/sec [4K blocks]
Uncached Read 282.10 141.78 MB/sec [256K blocks]
Random 113.01
Uncached Write 53.98 5.71 MB/sec [4K blocks]
Uncached Write 365.74 117.09 MB/sec [256K blocks]
Uncached Read 117.27 0.83 MB/sec [4K blocks]
Uncached Read 178.24 33.07 MB/sec [256K blocks]

#10
LennyX

LennyX

    InsanelyMac Protégé

  • Members
  • Pip
  • 5 posts
Thanks for the guide! It took me forever to find one like this, I only stumbled across through a link in the comments on the Chameleon developers site.

I'll post my success/failure here when I've tried it tomorrow.

#11
lithium06

lithium06

    InsanelyMac Sage

  • Donators
  • 336 posts
  • Gender:Male
  • Location:here and there
so if i wanted to configure raid 0 on two drives, i'd rly needa third one with leopard already installed on it? or can i do all of the above from the boot132 / retail install cd?

#12
lithium06

lithium06

    InsanelyMac Sage

  • Donators
  • 336 posts
  • Gender:Male
  • Location:here and there
bump

#13
kmare

kmare

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 121 posts
  • Gender:Male
  • Location:Toronto
lithium; i think retail install would work fine -- you would need to seed your boot132 with the uuid string at the boot prompt (ie: something like the below but of course with your uuid string)

<string>rd=uuid boot-uuid=ECCB72E4-D6EC-37DC-97C4-8AD7BD4466E6</string>

once you are booted follow the instructions

#14
seanmcgpa

seanmcgpa

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 141 posts
  • Gender:Male
  • Location:Philly
Hey, thanks so much for this guide!

I was able to go from an iPC / Deneb 10.5.6 install to a "Vanilla" install using Chamelon 2 RC 1 on my Gigabyte P35-DS3L and create a 4 TB raid using this guide. VERY fast, works great!

Thanks again!

#15
boron

boron

    InsanelyMac Protégé

  • Members
  • Pip
  • 17 posts
Hi!

Well I finally got it going. Amazing!

When we want to modify on of the kexts in Extra, do we have to recopy the Extra folder into the boot partition again?

or the plist?

#16
BarboneNet

BarboneNet

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,414 posts
  • Gender:Male
  • Location:Italy - Parma
PERFECT GUIDE, now i translat for italian user!!!

Can i use Chameleon 2 RC2 ???

Thanks

#17
FKA

FKA

    are we there yet?

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,626 posts
  • Gender:Male

PERFECT GUIDE, now i translat for italian user!!!

Can i use Chameleon 2 RC2 ???

Thanks


Works for me with RC2 !

#18
BarboneNet

BarboneNet

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,414 posts
  • Gender:Male
  • Location:Italy - Parma

Works for me with RC2 !



thanks :) very cool bootloader:D

#19
waveman777

waveman777

    InsanelyMac Protégé

  • Members
  • Pip
  • 35 posts
Hi.

This guide is great and it worked for me with Leopard. Now I'm trying to do the same with Snow Leopard without success.... I got and error "Can't find mach_kernel" and I'm stuck....

Any ideas?

#20
Tigerbull

Tigerbull

    InsanelyMac Protégé

  • Members
  • Pip
  • 17 posts
I've got the same problem. The cause of the issue is that Boot OSX partition must contain a copy of kernel and some additional files all of which are created there during installation. And they are not created if you install Mac OS from the package on installation disk. The partial solution is installing Leopard on raid first then formatiing RAID volume and finally installing SL on it. PCI_EFI will hook up Leo kernel from Boot OSX to load SL from RAID volume.

But this method can cause some troubles too as it involves using an old kernel to boot newer OS. For example some kexts from Extra won't load. And to just replace mach_kernel in Boot OSX with newer version is not an option. I'm working on the possible solution now.





1 user(s) are reading this topic

0 members, 1 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