I have an external device which mounts as an external drive and which I must format in FAT, not FAT32, for use elsewhere. Is there a way to do that from Snow Leopard?
If you tell OS X to format a disk or volume in "MS-DOS" format, it'll try to choose the "best" option from FAT12, FAT16, or FAT32, based on the volume's size. If you need to override its choice, you have to use the command-line
diskutil command with a more explicit volume format like "MS-DOS FAT16". Here's an example:
$ diskutil info /Volumes/UNTITLED/ Device Identifier: disk2s1 Device Node: /dev/disk2s1 Part of Whole: disk2 [...] File System Personality: MS-DOS FAT32 Type (Bundle): msdos Name (User Visible): MS-DOS (FAT32) Partition Type: DOS_FAT_32
...note that at this point, I could either erase & reformat just the volume (disk2s1) or the entire disk (disk2). If the disk isn't partitioned into multiple volumes, it doesn't make much difference. I'll do the whole disk for demo purposes:
$ diskutil erasedisk "MS-DOS FAT16" CUSTOMVOL disk2 Started erase on disk2 $<3>Unmounting disk $<3>Creating the partition map $<3>Waiting for the disks to reappear $<3>Formatting disk2s1 as MS-DOS (FAT16) with name CUSTOMVOL $<3>512 bytes per physical sector /dev/rdisk2s1: 1999456 sectors in 62483 FAT16 clusters (16384 bytes/cluster) bps=512 spc=32 res=1 nft=2 rde=512 mid=0xf8 spf=245 spt=32 hds=128 hid=40 drv=0x80 bsec=1999984 $<3>Mounting disk $<3>Finished erase on disk2 $ diskutil info /Volumes/CUSTOMVOL Device Identifier: disk2s1 Device Node: /dev/disk2s1 Part of Whole: disk2 Device / Media Name: CUSTOMVOL [...] File System Personality: MS-DOS FAT16 Type (Bundle): msdos Name (User Visible): MS-DOS (FAT16) Partition Type: Microsoft Basic Data
Note that you can use
diskutil listFilesystems to get a complete list of the volume formats it knows about.