Iomega ZIP Drive FreeBSD Info



Jan-2004 Update: Please note that this page was last updated in 1997. My assumption is that approximately zero percent of it is now relevant. -Mark

Feb-2004 Update: I've been informed that the info on this page is apparently more-or-less still current up to at least FreeBSD 4.9. The only difference worth mentioning is that now days people have ATAPI ZIP drives, so they appear with device names like "afd0". But you can still partition and lay down a UFS filesystem with the 'c' partition. As always, your mileage may vary. -Mark

What is the ZIP drive?

The Iomega ZIP 100 is an external drive with removable 96MB disks. It is connected either to the parallel port (with an embedded SCSI-2 adapter) or directly to a SCSI-2 adapter. Recently, Iomage has introduced an IDE version that is usually shipped built into PCs (internal). The good news is that you can use all of these models under FreeBSD!

A lot of people seem to get confused about how to use their SCSI Iomega ZIP drive under FreeBSD. This short document shows you how to! Really, the Iomega ZIP drive works like a 'normal' hard-drive in FreeBSD, the only difference, of course, is that you can change the drive medium (i.e. throw in a new cartridge). Note that this tutorial assumes you're using a SCSI model of the ZIP drive - if you have the Parallel version, you should go to Nicolas Souchu's Parallel ZIP Page, which contains the files you will need to get your parallel mode ZIP drive up and running in FreeBSD. If you have the SCSI or IDE versions, you don't need to install anything extra. Note that this document assumes that you have the SCSI ZIP drive - but the instructions will work equally well for the IDE model; just replace 'sd' with 'wd'.


You can use your SCSI ZIP drive under FreeBSD in two scenarios:

1. Mount the standard "FAT" formatted disk
2. Create a Unix FFS Zip disk

If you want to use a standard ZIP disk (which is pre-formatted with a DOS FAT filesystem) you can mount it up using the msdos filesystem option with the mount command. You can also share this disk with other operating systems like Win95 and WinNT, but FreeBSD can only write DOS 8.3 files - no long file names!

1. Mounting a MSDOS (FAT) zip disk:

	mount -t msdos /dev/sd2s4 /zip

Note that we are assuming that the ZIP drive is the third device on the SCSI chain (hence sd2). Check 'dmesg' to see what "sd" your ZIP drive is... You will always specify "slice 4" to access the DOS FAT partition, however.

If you don't care about using the same disk under both FreeBSD and Windows, "reformatting" it with a Unix FFS filesystem is certainly a better idea. You'll get long filename support, and a 2X improvement in performance. First of all you will need to destroy the FAT partitions/filesystem already on the disk, and then create a new Unix filesystem with the 'newfs' command:

2. Creating a new FFS filesystem on a zip disk:

	dd if=/dev/zero of=/dev/rsd2 count=2
	disklabel -Brw sd2 auto
	disklabel -e sd2 (only if you want partitions other than c!!)
	newfs /dev/rsd2c

Note again that we are assuming your ZIP is on "sd2". It may not be :-) If you just want to use the entire disk, you'll only need to execute the first 'disklabel' -> it will assume you want the whole 96MB of the ZIP. The 'newfs' option uses partition "c", meaning it will use the entire disk... To mount the newly created disk, simply:

	mount /dev/sd2c /zip

That's it! you're ZIP drive will now be mounted on the /zip directory, and you can work on it just like a normal hard drive.

Note:
When you change ZIP disks, you'll have to un-mount before you can eject the current cartridge. Just use 'umount'. When you change disks, you will probably get a warning message like this on your console:

	sd2(ncr0:5:0): UNIT ATTENTION asc:28,0
	sd2(ncr0:5:0):  Not ready to ready transition, medium may have changed
	sd2(ncr0:5:0): ILLEGAL REQUEST asc:24,0 Invalid field in CDB
	sd2 could not mode sense (4). Using ficticious geometry
Although this may look like an error, it is actually perfectly normal, and you don't have to worry! All that's happening is FreeBSD realizes that the disk was changed, and has decided to warn you. The last line is stating that the ZIP drive didn't respond when asked to report it's geometry -- no problem though, FreeBSD will use the "ficticious geometry" of 96MB just fine. On a related note: always boot your computer into FreeBSD with a ZIP disk inserted, since the ficticious geometry is setup at boot time when FreeBSD probes your hardware.

Copyright ©1997 Mark Mayo