vboyz Posted August 5, 2011 Share Posted August 5, 2011 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 Link to comment Share on other sites More sharing options...
neil43 Posted August 6, 2011 Share Posted August 6, 2011 <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 Link to comment Share on other sites More sharing options...
digital_dreamer Posted August 6, 2011 Share Posted August 6, 2011 neil43, Try the following command in the Terminal to get the RAID UUID: diskutil AppleRAID list | grep "Unique ID:" | awk '{print $3}' regards, MAJ 1 Link to comment Share on other sites More sharing options...
vboyz Posted August 6, 2011 Author Share Posted August 6, 2011 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. Link to comment Share on other sites More sharing options...
Khodi Posted August 6, 2011 Share Posted August 6, 2011 I followed the guide exactly, but i still get "can't find" error. what am i doing wrong? please help Link to comment Share on other sites More sharing options...
magnifico Posted August 6, 2011 Share Posted August 6, 2011 I try new release in my software raid 0 on OSX Snow...rename bootplist..but i have error kernel_chache Link to comment Share on other sites More sharing options...
vboyz Posted August 7, 2011 Author Share Posted August 7, 2011 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. Link to comment Share on other sites More sharing options...
neil43 Posted August 7, 2011 Share Posted August 7, 2011 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 Link to comment Share on other sites More sharing options...
magnifico Posted August 7, 2011 Share Posted August 7, 2011 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> Link to comment Share on other sites More sharing options...
magnifico Posted August 8, 2011 Share Posted August 8, 2011 Sorry..sure eliminated file mach_kernel from partition boot helper? Link to comment Share on other sites More sharing options...
vboyz Posted August 9, 2011 Author Share Posted August 9, 2011 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. Link to comment Share on other sites More sharing options...
magnifico Posted August 9, 2011 Share Posted August 9, 2011 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" ? Link to comment Share on other sites More sharing options...
magnifico Posted August 9, 2011 Share Posted August 9, 2011 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> Link to comment Share on other sites More sharing options...
giaccaz Posted August 9, 2011 Share Posted August 9, 2011 with works by following your guide .... thx vboyz Link to comment Share on other sites More sharing options...
vboyz Posted August 11, 2011 Author Share Posted August 11, 2011 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. Link to comment Share on other sites More sharing options...
giaccaz Posted August 11, 2011 Share Posted August 11, 2011 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 Link to comment Share on other sites More sharing options...
vboyz Posted August 12, 2011 Author Share Posted August 12, 2011 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. Link to comment Share on other sites More sharing options...
tdtran1025 Posted August 12, 2011 Share Posted August 12, 2011 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? Link to comment Share on other sites More sharing options...
magnifico Posted August 12, 2011 Share Posted August 12, 2011 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" Link to comment Share on other sites More sharing options...
neil43 Posted August 14, 2011 Share Posted August 14, 2011 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 Link to comment Share on other sites More sharing options...
magnifico Posted August 14, 2011 Share Posted August 14, 2011 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 . Link to comment Share on other sites More sharing options...
tdtran1025 Posted August 15, 2011 Share Posted August 15, 2011 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? Link to comment Share on other sites More sharing options...
tdtran1025 Posted August 15, 2011 Share Posted August 15, 2011 But adding the kernel flags at boot screen will do it, I may add. So I am missing something... Link to comment Share on other sites More sharing options...
tdtran1025 Posted August 16, 2011 Share Posted August 16, 2011 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! Link to comment Share on other sites More sharing options...
magnifico Posted August 16, 2011 Share Posted August 16, 2011 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 ? Link to comment Share on other sites More sharing options...
Recommended Posts