You are not logged in.

Announcement

[2017.09.08] DeployStudio build v1.7.8 (checksum, release note).
[2016.08.26] DeployStudio build v1.6.19 (release note).
[2013.02.23] DeployStudio last universal build v1.5.17 (release note).

#1 2013-01-09 10:45:40

mjsanders
Member
From: Schiedam, Netherlands
Registered: 2008-09-02
Website

Support for Fusion Drive please

Fusion Drive imaging (from scratch) is not supported yet.
Please add this to DSS.
See http://www.deploystudio.com/Forums/viewtopic.php?id=4407 for my investigations and recommendations.

Maurits

Last edited by mjsanders (2013-01-09 10:47:58)

Offline

#2 2013-01-09 21:32:37

Meat
Member
From: SF CA US
Registered: 2009-02-04

Re: Support for Fusion Drive please

Yes, please. :)

Offline

#3 2013-01-17 21:20:42

pgsengstock
Member
Registered: 2012-08-13

Re: Support for Fusion Drive please

+1

Offline

#4 2013-01-21 05:53:06

tijones
Member
Registered: 2013-01-21

Re: Support for Fusion Drive please

Yes please fusion support would be awesome

Offline

#5 2013-01-24 10:33:10

homerdjw
Member
From: London, England
Registered: 2013-01-24
Website

Re: Support for Fusion Drive please

+1

Offline

#6 2013-02-27 01:06:41

MachineShedFred
Member
Registered: 2013-01-31

Re: Support for Fusion Drive please

I'm very close to having it through a script.  Consider the following:

#!/usr/bin/perl

use strict;

my $diskUtilInfo = `diskutil list`;
if ( $diskUtilInfo =~ /CoreStorage/ ) {
    my $coreStorageInfo = `diskutil corestorage list`;
    my @lines = split(/\n/,$coreStorageInfo);
    foreach (@lines) {
        if ( /Volume\ Name/ ) {
            s/^\s*Volume\ Name\:\s*//;
            print "RuntimeSetCustomProperty: DS_LAST_SELECTED_TARGET=$_\n";
            print "RuntimeSetCustomProperty: DS_LAST_RESTORED_VOLUME=$_\n";
            my $deviceNode = `diskutil info "/Volumes/$_" | grep "Device Node" | tr -d '[:blank:]' | sed 's/^DeviceNode://g'`;
            print "RuntimeSetCustomProperty: DS_LAST_RESTORED_DEVICE=$deviceNode\n";
        }
    }
}

This will put the volume label of the logical volume (Macintosh HD) into the DS_LAST_SELECTED_TARGET environment variable, the same in DS_LAST_RESTORED_VOLUME, and the device node (/dev/disk2) into DS_LAST_RESTORED_DEVICE.  That much works - I can see it happen in the log, and if I use the ds_example.sh script to dump the environment I can see the changes are there.  However, I can't get the imaging task to use any of these variables with either explicitly naming the variable with "Enter value...", or by selecting "Previous task target".  Anyone have that last piece?

Offline

#7 2013-02-27 15:58:11

MachineShedFred
Member
Registered: 2013-01-31

Re: Support for Fusion Drive please

Here's the fully developed script, which will find the first logical CoreStorage volume and select it, or find the first HFS volume and select it.  If you want the last one found, remove the "last if" lines:

#####

#!/usr/bin/perl

use strict;

my $volumeName;
my $deviceNode;

my $diskUtilInfo = `diskutil list`;
if ( $diskUtilInfo =~ /CoreStorage/ ) {
    my $coreStorageInfo = `diskutil corestorage list`;
    my @lines = split(/\n/,$coreStorageInfo);
    foreach (@lines) {
        if ( /Volume\ Name/ ) {
            s/^\s*Volume\ Name\:\s*//;
            $volumeName = $_;
            $deviceNode = `diskutil info "/Volumes/$_" | grep "Device Node" | tr -d '[:blank:]' | sed 's/^DeviceNode://g'`;
        }
        last if (defined $volumeName);
    }
} else {
    my @diskUtilLines = split(/\n/, $diskUtilInfo);
    foreach (@diskUtilLines) {
        if( /Apple_HFS/ ) {
            s/^.*disk/disk/;
            $volumeName=`diskutil info /dev/$_ | grep "Volume Name"`;
            s/s[0-9]*$//;
            $deviceNode = "/dev/$_";
            $volumeName =~ s/^\s*Volume\ Name\:\s*//;
        }
        last if (defined $volumeName);
    }
}
chomp($volumeName);
chomp($deviceNode);
print "RuntimeSetCustomProperty: DS_LAST_SELECTED_TARGET=$volumeName\n";
print "RuntimeSetCustomProperty: DS_LAST_RESTORED_VOLUME=$volumeName\n";
print "RuntimeSetCustomProperty: DS_LAST_RESTORED_DEVICE=$deviceNode\n";

exit 0

######


Still need the Imaging task to read those variables though, I saw that asked for elsewhere in the Future forum.

Offline

#8 2013-03-14 15:29:49

jimkirk
Member
Registered: 2010-02-04

Re: Support for Fusion Drive please

I would like to request the same thing, if it is not already in the works.

Offline

#9 2013-04-08 23:35:34

popak
Member
Registered: 2013-04-08

Re: Support for Fusion Drive please

Add me too.

Offline

#10 2013-04-09 09:34:09

homerdjw
Member
From: London, England
Registered: 2013-01-24
Website

Re: Support for Fusion Drive please

This is the script I found and used for dual boot (from the dual boot fusion drive topic). I had to also use WinClone Pro to capture the windows image. The volumes spat out are "Macintosh HD" and "BOOTCAMP" and can be used to target for the restores.

#!/bin/sh

echo "Starting Core Storage (with Windows) script"

VolumeGroup=`diskutil coreStorage list | grep Logical\ Volume\ Group | sed -e "s/^.* //"`

echo "Volume Group is $VolumeGroup"

echo "Deleting existing Core Storage Volume"

diskutil coreStorage delete $VolumeGroup

echo "Delete complete"

sleep 2

echo "Creating new Core Storage Volume"

diskutil coreStorage create Fusion disk0 disk1

echo "Core Storage Volume created"

sleep 2

VolumeGroupNew=`diskutil coreStorage list | grep Logical\ Volume\ Group | sed -e "s/^.* //"`

echo "New Volume Group is $VolumeGroupNew"

sleep 2

echo "Creating new OSX Volume"

diskutil coreStorage createVolume $VolumeGroupNew jhfs+ "Macintosh HD" 1100G

echo "OSX Volume Macintosh HD created"

sleep 4

VolumeShrink=`diskutil cs list | grep Logical\ Volume | tail -1 |sed -e "s/^.* //" `

echo "Creating new Windows Volume"

diskutil cs resizeStack $VolumeShrink 600g ms-dos "BOOTCAMP" 500G

echo "Windows Volume BOOTCAMP created"

exit 0

Offline

Board footer

Powered by FluxBB