We can access Zip drives from FreeBSD. The disk can either have an MS-DOS filesystem or a UFS (FreeBSD) filesystem on it.
The zip is a scsi disk; look at the messages at boot time to find the device name. Note: You must have a zip disk in the drive at boot time so that the kernel can discover the disk's geometry properly. The messages should look something like this:
(ahc0:5:0): "IOMEGA ZIP 100 H.14" type 0 removable SCSI 2 sd1(ahc0:5:0): Direct-Access sd1(ahc0:5:0): UNIT ATTENTION asc:28,0 sd1(ahc0:5:0): Not ready to ready transition, medium may have changed 96MB (196608 512 byte sectors)
The key part here is the sd1. That's the device name for your zip drive. Once you know this, you can make a mount point entry in /etc/fstab like:
/dev/sd1c /zip ufs rw,noauto 0 0 /dev/sd1s4 /zipdos msdos rw,noauto 0 0
You must also create the mount point (mkdir /zip /zipdos) and mount the drive. The first line is the entry for a BSD filesystem, while the second is for a dos filesystem.
Assuming you have a machine configured as above and a Zip disk with the appropriate file-system (click here for how to make a BSD disk) on it, you can then mount a BSD disk with:
mount /zipor a DOS disk with
mount /zipdos
You will need to use the corresponding umount command before ejecting the disk. (Remember, you can't be in a directory on the zip disk or have files open when you go to umount.)
Sometimes you will get a message about operation not permitted when
you try to mount a BSD zip disk. This is usually because the
file-system isn't clean. Probably it was still mounted when a machine
was rebooted. This will also print a message on the console
suggesting you fsck, but you may not see this if you're working
remotely or running X on the machine. You need to do fsck /zip to
"repair" the file-system.
If you have a zip disk you're going to use exclusively for BSD
(i.e. not to transfer things to Windows) you will get better
performance and stability, plus long file names if you put a BSD (UFS)
filesytem on it. You can wipe the disk clean with the following
commands. Note that the sd1 in both commands is just the name of the
drive on my machine. Substitute that part of your device name as
appropriate (probably sd0, sd1, or sd2):
You should then use /stand/sysinstall to create a BSD partition.
The menu sequence is "Configure", "The Disk Partition Editor", select
the appropriate disk (sd1 for me), "Use Entire Disk", "Yes" (use a
compatible entry), "Write Changes", "None" (no boot manager), and then
cancel your way out of /stand/sysinstall.
Once you have a FreeBSD partition, you need to make a file-system,
with a command like:
(Substitute the appropriate device for sd1.) Then you're ready to
mount the disk following the directions above.
These pages talk more about Zip disks with FreeBSD:
How to make a BSD zip-disk
WARNING:
(Worth repeating) You can seriously damage the file
system of the machine you are working with if you aren't careful with
the steps below. Be SURE you are referring to the proper device,
especially when you do the newfs commands below.
dd if=/dev/zero of=/dev/rsd1 count=2
disklabel -Brw sd1 auto
newfs /dev/rsd1c
Useful links
Other DiRT
documents
Author: Mark Parris
Last updated:
February 18, 1998