nathan7 Posted April 4, 2009 Share Posted April 4, 2009 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. Boot.plist.vanilla.zip 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. Link to comment Share on other sites More sharing options...
Klipsch Posted April 6, 2009 Share Posted April 6, 2009 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. Link to comment Share on other sites More sharing options...
nathan7 Posted April 6, 2009 Author Share Posted April 6, 2009 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. Link to comment Share on other sites More sharing options...
Klipsch Posted April 6, 2009 Share Posted April 6, 2009 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! Link to comment Share on other sites More sharing options...
nathan7 Posted April 7, 2009 Author Share Posted April 7, 2009 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. Link to comment Share on other sites More sharing options...
zhell Posted April 7, 2009 Share Posted April 7, 2009 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 Link to comment Share on other sites More sharing options...
eject Posted April 10, 2009 Share Posted April 10, 2009 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 Link to comment Share on other sites More sharing options...
andycorleone Posted April 10, 2009 Share Posted April 10, 2009 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 Link to comment Share on other sites More sharing options...
kmare Posted May 31, 2009 Share Posted May 31, 2009 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] Link to comment Share on other sites More sharing options...
LennyX Posted June 1, 2009 Share Posted June 1, 2009 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. Link to comment Share on other sites More sharing options...
lithium06 Posted July 1, 2009 Share Posted July 1, 2009 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? Link to comment Share on other sites More sharing options...
lithium06 Posted July 7, 2009 Share Posted July 7, 2009 bump Link to comment Share on other sites More sharing options...
kmare Posted July 7, 2009 Share Posted July 7, 2009 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 Link to comment Share on other sites More sharing options...
seanmcgpa Posted July 12, 2009 Share Posted July 12, 2009 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! Link to comment Share on other sites More sharing options...
boron Posted July 16, 2009 Share Posted July 16, 2009 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? Link to comment Share on other sites More sharing options...
BarboneNet Posted August 8, 2009 Share Posted August 8, 2009 PERFECT GUIDE, now i translat for italian user!!! Can i use Chameleon 2 RC2 ??? Thanks Link to comment Share on other sites More sharing options...
FKA Posted August 8, 2009 Share Posted August 8, 2009 PERFECT GUIDE, now i translat for italian user!!! Can i use Chameleon 2 RC2 ??? Thanks Works for me with RC2 ! Link to comment Share on other sites More sharing options...
BarboneNet Posted August 8, 2009 Share Posted August 8, 2009 Works for me with RC2 ! thanks very cool bootloader:D Link to comment Share on other sites More sharing options...
waveman777 Posted August 30, 2009 Share Posted August 30, 2009 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? Link to comment Share on other sites More sharing options...
Tigerbull Posted August 31, 2009 Share Posted August 31, 2009 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. Link to comment Share on other sites More sharing options...
nathan7 Posted September 2, 2009 Author Share Posted September 2, 2009 I am glad this guide has proven useful for some. 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. I haven't tried the RAID with Snow yet, waiting on my disc. I was just looking for some updated info on how to do a new RAID with Chameleon RC2. I updated my current config with RC2 manually and it works great. Link to comment Share on other sites More sharing options...
kmare Posted September 2, 2009 Share Posted September 2, 2009 Upgraded to SL. Simply copied the updated boot file and replaced my kexts. Link to comment Share on other sites More sharing options...
Cosmyco Posted September 4, 2009 Share Posted September 4, 2009 Hey there... Thanks for the guide, it put me on the right track, but still no go on Snow... I keep getting the "can't find mach_kernel" option after choosing Boot OSX on chameleon boot screen... If I put the vanilla kernel there it panics on startup... Anybody got passed this stage ? Link to comment Share on other sites More sharing options...
andycorleone Posted September 23, 2009 Share Posted September 23, 2009 Hi, I'm trying to use this witn snow Leo but I just notice that even using the new chameleon R3 in the installer Looks like is not reading the ketxs from Stored_Kexts intead still reading the ones from Extensons Link to comment Share on other sites More sharing options...
knutselaar Posted October 20, 2009 Share Posted October 20, 2009 Thanx for this! Working smooth with SL 10.6.1. I simply made a restore to a usb disk, created a stripe with 2x 250gb and restored it back to the raid. Then followed a guide which had me hanging at the boot1: error. I then did the fdisk part and it worked! Link to comment Share on other sites More sharing options...
Recommended Posts