If you do so, the upgrade will apparently attempt to update the BIOS of the ix4, and there appears to be a sufficient difference between the two products (cloud, non-cloud) that you will end up "bricking" your ix4. This happened to me (yes, I know I was taking a big chance) and someone else I know. Having a complete set of pristine, factory-reset drives will not give you the ability to revert to the non-cloud OS if you have a problem with the upgrade.
For the record, the system I started with had a sticker on the flash chip indicating that it was running the "V1.0.7" code.
The only known fix is a "low-level format" back at iomega support.
Standing on the shoulders of others...
So you've got a "non-cloud" version of the iomega ix2-200, and you're miffed that iomega doesn't officially support an upgrade path to convert it to the newer "cloud" editions. Maybe you want some of those cloud features, or maybe you have a Mac with Lion, which apparently isn't supported on the non-cloud models.
The upgrade can be accomplished; however it is destructive. You will not be able to perform an in-place upgrade with this technique, although you will be able to "get back" to having the original equipment—if that's what you desire.
What follows is a recipe that worked for me; your mileage may vary.
Required Hardware:
- iomega ix2-200 (duh!)
- Blank, FAT32-formatted USB thumbdrive with a drive activity light, 2GB or larger.
- pin, toothpick or other small, stiff wire that can be used to press and hold the reset button on the ix2 for ~90 seconds.
- New hard drives. This is a prime opportunity to upgrade a 1TB or 2TB (raw) model to a 4TB or 6TB unit; it also gives you a fallback position in the event you brick the thing while working with the new drives. If you go this route, however, do not try to improve performance by switching to 7200RPM drives: The heat output of those drives is too high for the tiny fan in the chassis to handle. Stick with "green", variable RPM drives, and you should be okay.
- USB-to-SATA adapter. This eliminates the need to crack the case of a desktop machine (for access to the SATA ports) to clear a drive that will be re-used for the conversion.
- Linux distribution with openssh, tar, md5sum, gunzip and the ability to mount files to a loopback device. Believe it or not, your ix2 itself will fit the bill if you don't otherwise have a linux distro handy; all you need is SSH access, and you're golden. This recipe assumes the use of the ix2.
- Latest/greatest upgrade of the ix2-200 "cloud edition" firmware from iomega. As of this writing, the most-current version was 3.1.14.995. The firmware comes in an encrypted tarball, but your linux distro will make short work of that little problem.
- Prepare the ix2 for conversion: Copy all your data to another storage medium. If you brick your ix2, you don't want to be left hanging in the cold.
- Create the conversion tarball.
- Create a new share on the ix2. Copy the firmware image from iomega to the share.
- Save the following code as a shell script in the same place:
ifw=./ix2-200-3.1.14.995.tgz ofw=${ifw%.tgz}-decrypted.tar.gz ix2=${ifw%.tgz}-files mkdir -p $ix2/images mkdir -p $ix2/update mkdir -p $ix2/apps openssl enc -d -aes-128-cbc -in $ifw -k "EMCNTGSOHO" -out $ofw tar xzvf $ofw -C $ix2/update/ imgs=$(find $ix2/update/) for img in ${imgs} ; do if [ -f $img.md5 ] ; then mv $img $ix2/images/ mv $img.md5 $ix2/images/ fi done mount -o loop,ro $ix2/images/apps $ix2/apps cp -p $ix2/apps/usr/local/cfg/config.gz $ix2/images/ umount $ix2/apps gunzip $ix2/images/config.gz img=$ix2/images/config md5=$(md5sum $img) md5=${md5% *} md5=${md5% } echo "$md5" > $img.md5 cd $ix2/images/ tar czvf ../ix2-boot.tgz *You will need to edit the first line of the script to match the filename of the firmware tarball you placed in the folder with the script. - Log on to the ix2 using SSH. (the first part of this post will walk you through gaining SSH access to your ix2)
- Verify you have an available loopback device to use as a mountpoint:
losetup -f - if
losetupindicates that there are no free loop devices, you need to create the next one in sequence. - Determine the next-needed loop device with:
losetup -a
The output will probably look a bit like this:root@ix2:/# losetup -a /dev/loop0: [0900]:15970 (/sysroot/boot/images/apps) /dev/loop1: [0900]:47905 (sysroot/boot/images/config) /dev/loop2: [0900]:15972 (/sysroot/boot/images/oem)
- As indicated above, the first 3 loops are in use (loop0 through loop2), so the next one needed is loop3.
- Use the following command to make
loop3(the 4th loop device):mknod -m 0600 /dev/loop3 b 7 3 - Change to the directory of the share you created:
cd /mnt/soho_storage/samba/shares/sharename
- Make the script executable:
chmod 700 scriptname
- Execute the script:
./scriptname
The script will take a while to run: the original tarball must be unpacked, several files get copied, a new tarball is built. It's time-consuming, especially on low-powered hardware like the ix2. But nothing you're doing is affecting the existing system; you're simply using a handy linux environment to get some work done. - The final result will be a new file in the *-files folder called
ix2-boot.tgz. Back on your main workstation, copy this new tarball to your USB drive in the following directory tree:\emctools\ix2-200d_images\
- Exit the SSH shell
- The drives that will be targeted for the conversion must be clean/clear drives; preferably, they will be new drives that have never been used, with no existing partition table. If you're going to re-use the existing ix2 drives, or re-use drives that you've had in another system, you first need to wipe them out: delete any existing partitions. The conversion won't work if you have data on the drives. This is where your mettle as a gadget geek gets tested: do you throw caution to the wind and wipe the ix2 drives, or do you get new drives and "play it safe?"
- Place the new/wiped drives into the ix2.
- Plug in the USB drive to any of the three ports.
- Press and continue to hold the reset button on the back of the unit while plugging in the power supply. The ix2 will automatically boot when power is applied, and if you don't keep the reset button depressed for the entire boot sequence, you will not activate the installation. Watch your USB activity light; although it will come on when the unit activates the drive, you need to keep the reset button depressed until regular activity (i.e., blinking) is observed. In my experience, this takes approximately 90 seconds from the moment you plug in the power supply.
- Wait. The update will occur, and you'll see plenty of activity for the drive indicator on both the USB drive and the ix2. After less than 10 minutes, however, the ix2 will automatically power off.
- Remove the USB drive. Reconnect the network. Power up the ix2.
If you don't get that far—the bottom lamp blinks, the drive lamp blinked a couple of times, but otherwise, no activity—don't despair: I've seen other postings that indicate success when performing the procedure twice; I never needed it (I've repeated the update three times so far). Worst-case: you pull the drives and replace your original ix2 drives. Nothing is stored locally on the device, so a clean drive swap is possible.
The second alert lamp will blink until data protection is complete (either because you switched to a "none" option or it finished setting up the mirror); you can expect the drive activity lamp to be lit solid during the data protection phase.
By default, the firmware wants the ix2 to be using mirrored protection. You can alter that through the setup, and with the cloud version, you have the option of using "linear" or "raid0" if you want to get optimal performance at the expense of data protection.
Once you have the device configured the way you prefer, recreate your shares and iscsi volumes and put your data back on the unit: you're now Cloud-Ready!
The science and tech fields have historically worked by advancing based on prior works; we don't reinvent the wheel, we take the various works of our predecessors and advance "the art" through mash-ups that fail more often than they succeed.
This is one of those mash-ups, and thanks go to the following...
- Christopher Kusek (@cxi), who's blog post helped expose SSH access for the ix2
- Scpnas, who's posting to nas-central.com documented the process for creating an initialization tarball for a USB drive from the encrypted firmware download from iomega
- Luciano Rocha, who gave me the clues needed to be able to mount the apps file to a loop device on the ix2, a required step in making the initialization tarball.





