Create Fat32 partition on OSX
These instructions are all done at the command line and several of them require administrative privileges. Other than diskutil, these programs are pretty standard on any Unix-like system. An existing UltiFire drive would already be formated, but for completeness we will discuss dealing with both pre-formatted and un-formated drives. Connecting or powering on a drive with a supported file system causes OS X to mount the drive its partitions. These partitions will need unmounting before going any further. Connecting or powering on a drive without a supported file system causes OS X to present the following dialog: "You have inserted a disk containing no volumes that Mac OS X can read. To continue with the disk inserted, click Ignore." Given the choices Initialize..., Ignore, and Eject choose Ignore.
There are several ways to unmount partitions, because the OS X Finder sometimes doesn't deal with umount well, it is best to use diskutil. First we determine the full path to non-root volume(s) in question by typing mount | grep /Volumes. We can then use diskutil to unmount the UltiFire drive.
[kyoto:~] rds% mount | grep /Volumes
/dev/disk0s9 on /Volumes/os9 (local, journaled)
/dev/disk2s1 on /Volumes/ultifire (local, nodev, nosuid)
[kyoto:~] rds% diskutil unmount /Volumes/ultifire/
Any drive formated with Apple's Disk Utility or Drive Setup applications use the Apple partitioning scheme. Drives formated under Windows as NTFS have an improper MBR entry. This won't work for sharing drives, so we need to change the partition scheme to fdisk. Rather than use the interactive mode, we can provide everything at the command prompt. Note that we use the device we saw when calling mount, but with an "r" prefix and without the slice information afterwards (ie. /dev/disk2s1 becomes /dev/rdisk2). After the partition table is changed, OS X will present the dialog mentioned above; choose Ignore.
[kyoto:~] rds% fdisk -ia dos /dev/rdisk2
fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory
-----------------------------------------------------
------ ATTENTION - UPDATING MASTER BOOT RECORD ------
-----------------------------------------------------
Do you wish to write new MBR and partition table? [n] y
We can verify if the MBR is correct, and create a new FAT 32 file system on the partition using newfs_msdos. We use the device name as we saw when we originally called mount | grep /Volumes. The disk will now be usable for any operating system that can deal with FAT 32. A short list includes: Mac OS X and 9, any version of Windows that supports FireWire or USB 2.0, FreeBSD, Linux, and more.
[kyoto:~] rds% fdisk /dev/rdisk2
Disk: /dev/rdisk2 geometry: 10011/255/63 [160836480 sectors]
Signature: 0xAA55
Starting Ending
#: id cyl hd sec - cyl hd sec [ start - size]
------------------------------------------------------------------------
*1: 0C 0 1 1 - 1023 154 63 [ 63 - 160836417] Win95 FAT32L
2: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
3: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
[kyoto:~] rds% newfs_msdos -F32 -v ultifire /dev/disk2s1
newfs_msdos: warning: /dev/disk2s1 is not a character device
/dev/disk2s1: 160797120 sectors in 2512455 FAT32 clusters (32768 bytes/cluster)
bps=512 spc=64 res=32 nft=2 mid=0xf0 spt=32 hds=255 hid=0 bsec=160836417
bspf=19629 rdcl=2 infs=1 bkbs=6
[kyoto:~] rds% diskutil mount /dev/disk2