Contribute
Register

Guide - Fusion Drive using tonymacx86 Tools & Chimera

How to change system definition on Fusion drive?
 
How to change system definition on Fusion drive?

Just the same as when you make changes to the org.chameleon.boot.plist on a Fusion setup......you need to put your Extras folder on the desktop, make the changes to smbios inside it (backup old smbios to a stick, copy and paste new one into Extras) and then follow Neil's instructions from sudo su onwards (don't copy Chimera boot files or do cp boot), using copy and paste in Terminal, copy the newly updated Extras folder to both EFI partitions. To do this easily and for maintenance issues I would advise creating a bootable install of ML 10.8.2 on a 32GB USB with Unibeast so that should any problems arise such as not being able to get into Fusion Drive you can still boot into the system.

Example if you have Fusion SSD on SATA Port0 and HD on SATA Port1 (using Terminal):

cd Desktop
sudo su (type password if prompted)
diskutil mount disk0s3
cp -R Extra /Volumes/Boot\ OS\ X/
diskutil unmount disk0s3
diskutil mount disk1s3
cp -R Extra /Volumes/Boot\ OS\ X/
diskutil unmount disk1s3

Then reboot
 
My Fusion Drive is up and running perfectly.

However, I have an aesthetic question... Does anyone else have both "Boot OS X" partitions showing up in chimera (one from the SSD and the other from the HDD, labeled as "BOOT OS X" and "BOOT OS X 1")?

IMG_0144.jpg

Oddly, my drive is not named Boot OS X, but that is what shows in chimera. This seems to be related to using the "rename partition" function of chimera. When I renamed my linux distro in chimera, chimera began identifying OS X as "BOOT OS X". Weird. Prior to that I had "Macintosh HD" and "Macintosh HD 1". I was hoping someone might have a solution to this. Although it isn't really that important.

I have only tried to resolve this issue using the "hide partition" function for chimera, using both drive name and drive number [hd(x,y)] but neither worked.

Cheers

EDIT: sorry the pic is upside down. Not really sure why.
 
As a gentleman explained, I too successfully created a fusion Drive from three thumb drives I had laying around, just add the third disk in the row where you first ask for the fusion of drives, past that, my system booted up just fine after i ran a clean install on the fusion drive. I didnt need to mount and unmount the disk as the last part of the guide suggested. I did come to realize something.. i choose the slowest of the three drives as the first drive in list for fusion drive creation, but i ran a speed test, and it's actually giving the speed of the faster drive so somehow the fusion creator is aware of which drive is fastest and uses it as it's "speed" disk instead of "storage".
 
Hi Middleman. I'm following Neil's guide and have completed all the steps up to:

Type fdisk -f boot0 -u -y /dev/disk0 [enter] the system accepts the command and presents the new line.

This gave me an error "could not open MBR file boot0" after I typed in the command:

sh-3.2# fdisk -f boot0 -u -y /dev/disk0
fdisk: could not open MBR file boot0: No such file or directory

I then came across your post which talked about an error in the guide. Could this be related? Much appreciated from anyone who has passed this step. Thanks.
 
Hi Asclepius,

Yes it is...did you follow the guide to download Pacifist and the boot files for Chimera? If you followed that, you should visibly see two files extracted from the i386 folder, which is boot0 and boot1h. When you use the Terminal command, it's simply copying it off the Desktop onto the EFI partition of your drive.

The third you need is your Extras folder. That too (a copy directly from your HD root directory) should be on your Desktop. Once you've located your unique LV UUID with diskutil cs list (created from using the diskutil cs create command where you first created a Fusion physical volume), you need to copy this number and add it to your org.chameleon.Boot.plist under the Kernel Flags:

Say for example your Core LV UUID is 90DA42F0-436B-4544-B9F3-55AE6E4D5EE6
and your Kernel Flags under the Chameleon boot.plist using TextEdit looks like this:

Code:
<key>Kernel Flag</key>
<string>darkwake=0</string>

You then change it to:
Code:
<key>Kernel Flag</key>
<string>rd=uuid boot-uuid=90DA42F0-436B-4544-B9F3-55AE6E4D5EE6 darkwake=0</string>

And save it. Then use the fdisk commands to copy the boot files to your EFI partition header, like this.
(assuming your Fusion 1 SSD is on Port0/disk0 and Fusion 2 HD is on SATA Port1/disk1 and you have Administrator level access via sudo su)

fdisk -f boot0 -u -y /dev/disk0
fdisk -f boot0 -u -y /dev/disk1

Now to copy the boot1h to the OSX Boot partition of each drive:

dd if=boot1h of=/dev/rdisk0s3
dd if=boot1h of=/dev/rdisk1s3

and the boot file and Extra folders to the OSX boot partitions on each drive:

For Disk0:

diskutil mount disk0s3

cp boot /Volumes/Boot\ OS\ X/

Type cp -R Extra /Volumes/Boot\ OS\ X/

diskutil unmount disk0s3


For Disk1:

diskutil mount disk1s3

cp boot /Volumes/Boot\ OS\ X/

Type cp -R Extra /Volumes/Boot\ OS\ X/

diskutil unmount disk1s3


After completing this, you should have a fully working Fusion Drive. If you check under Disk Utility you should see your Fusion Drive would have a Logical Group name and a logical drive name, which can be selected to be used (and booted from Chameleon). From this point onwards if you want you can clone a working Mountain Lion install to your drive with an app like SuperDuper (using the BACKUP ALL DATA option) which will boot like a normal drive.

However you must remember...if you ever FORMAT the Fusion Drive, it will create a new unique UUID number. If you don't change the number in your chameleon.Boot.plist in the EFI portions of the drive, you won't be able to use your drive at all. So you will need to use diskutil cs list in Terminal, find your NEW LV UUID, paste this number to your chameleon.boot.plist to your /Extras folder on your desktop, and RECOPY the /Extras folder to the EFI helper portions of BOTH DRIVES using the steps above once again.

I hope that helps!
 
Thanks Middleman! Your explanations got me through it. I realized where I went wrong and was able to correct. Awesome.
 
To anyone with the Still Waiting for Root Device issue I found booting with "ahcidisk=1 debug=8" tags allowed to to boot the fusion drive correctly and adding them to the com.Chameleon.Boot.plist in the Boot OSX partitions provided a permanent solution.

Best of luck.
MicroLabrat
 
To anyone with the Still Waiting for Root Device issue I found booting with "ahcidisk=1 debug=8" tags allowed to to boot the fusion drive correctly and adding them to the com.Chameleon.Boot.plist in the Boot OSX partitions provided a permanent solution.

Best of luck.
MicroLabrat


Could you explain little more about it. I am new to fusion drive and plan to build one soon.
 
I try to create fusion drive with samsung ssd 128GB on 6G/s SATA (disk0) and HHD 1TB on 3G/s SATA(disk1). i'm able to create logical volume from command

diskutil cs create "name" disk0 disk1

but endup with error -69780 "unable to create a new CoreStorage Logical Volume" when i try to create corestorage volume from command

diskutil coreStorage createVolume LVG UUID jhfs+ "name" 100% or 1TB . Could anyone help me out

My system is asus p8z77-v lk with i7 3770 and ati 6850


thankyou so much


here is what happen in terminal


-bash-3.2# diskutil list
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *128.0 GB disk0
1: EFI 209.7 MB disk0s1
2: Apple_HFS Untitled 127.7 GB disk0s2
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 TB disk1
1: EFI 209.7 MB disk1s1
2: Apple_HFS Untitled 999.9 GB disk1s2
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *16.0 GB disk2
1: Apple_HFS INSTAD 16.0 GB disk2s1
/dev/disk3
#: TYPE NAME SIZE IDENTIFIER
0: untitled *524.3 KB disk3
/dev/disk4
#: TYPE NAME SIZE IDENTIFIER
0: untitled *524.3 KB disk4
/dev/disk5
#: TYPE NAME SIZE IDENTIFIER
0: untitled *524.3 KB disk5
/dev/disk6
#: TYPE NAME SIZE IDENTIFIER
0: untitled *524.3 KB disk6
/dev/disk7
#: TYPE NAME SIZE IDENTIFIER
0: untitled *524.3 KB disk7
/dev/disk8
#: TYPE NAME SIZE IDENTIFIER
0: untitled *6.3 MB disk8
/dev/disk9
#: TYPE NAME SIZE IDENTIFIER
0: untitled *2.1 MB disk9
/dev/disk10
#: TYPE NAME SIZE IDENTIFIER
0: untitled *1.0 MB disk10
/dev/disk11
#: TYPE NAME SIZE IDENTIFIER
0: untitled *524.3 KB disk11
/dev/disk12
#: TYPE NAME SIZE IDENTIFIER
0: untitled *524.3 KB disk12
/dev/disk13
#: TYPE NAME SIZE IDENTIFIER
0: untitled *1.0 MB disk13
-bash-3.2# diskutil cs create "Fusion Drive" disk0 disk1
Started CoreStorage operation
Unmounting disk0
Repartitioning disk0
Unmounting disk
Creating the partition map
Rediscovering disk0
Adding disk0s2 to Logical Volume Group
Unmounting disk1
Repartitioning disk1
Unmounting disk
Creating the partition map
Rediscovering disk1
Adding disk1s2 to Logical Volume Group
Creating Core Storage Logical Volume Group
Switching disk0s2 to Core Storage
Switching disk1s2 to Core Storage
Waiting for Logical Volume Group to appear
Discovered new Logical Volume Group "315CF079-28B9-49A9-A06B-01D4451F44EA"
Core Storage LVG UUID: 315CF079-28B9-49A9-A06B-01D4451F44EA
Finished CoreStorage operation
-bash-3.2# diskutil coreStorage createVolume 315CF079-28B9-49A9-A06B-01D4451F44EA jhfs+ "Macintosh FD" 100%
Started CoreStorage operation
Error: -69780: Unable to create a new CoreStorage Logical Volume
-bash-3.2# diskutil cs list
CoreStorage logical volume groups (1 found)
|
+-- Logical Volume Group 315CF079-28B9-49A9-A06B-01D4451F44EA
=========================================================
Name: Fusion Drive
Size: 1127552614400 B (1.1 TB)
Free Space: 1123586883584 B (1.1 TB)
|
+-< Physical Volume 84DB35FE-C3B4-4D8A-839D-FBBC02EAB4C0
| ----------------------------------------------------
| Index: 0
| Disk: disk0s2
| Status: Online
| Size: 127691702272 B (127.7 GB)
|
+-< Physical Volume E01D3AFF-19F0-4AE3-98DF-D2191AFE3260
----------------------------------------------------
Index: 1
Disk: disk1s2
Status: Online
Size: 999860912128 B (999.9 GB)
-bash-3.2# diskutil corestorage createvolume 315CF079-28B9-49A9-A06B-01D4451F44EA jhfs+ "Macintosh FD" 100%
Started CoreStorage operation
Error: -69780: Unable to create a new CoreStorage Logical Volume
-bash-3.2#
 
Back
Top