How to create a FAT16 partition on an SD card with OS X El Capitan?

I want to prepare an SD card for use in an old camera using CHDK. The card needs to be FAT16 formatted. This doesn’t work from Terminal anymore, maybe already for years. Disk Utility provides ''FAT'', but this is FAT32. I have no other (Windows) computer. What do I do?


Solution 1:

You can format any drive to FAT16 with newfs_msdos Command

1) Launch Terminal

2) Find The Drive you Want to Format

#mount
/dev/disk2 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
/dev/disk4s1 on /Volumes/USB_Disk (msdos, local, nodev, nosuid, noowners)

In this case, my disk is disk4. Your disk will most likely be different! Be sure to reference the correct disk - you can and will lose your data if you format the wrong drive!!!

3) Unmount the disk

#diskutil unmountDisk disk4
Unmount of all volumes on disk4 was successful

4) Format the drive

#sudo newfs_msdos -F 16 /dev/disk4

After a few moments, your drive will format.

5) Remount the drive (optional)

#diskutil mount /dev/disk4

It will probably show up as "NO NAME" on your Desktop. You can rename it here or to do it at the time of formatting use -v Type in a Volume Name when you format the drive.

Solution 2:

For what it's worth, this seems to work on High Sierra:

diskutil eraseDisk "MS-DOS FAT16" SOMENAME /dev/disk#

It still needs to be unmounted first.

Solution 3:

I spend all evening to understand how to format a USB stick to FAT16 and its so simple and just copy these commands to your terminal:

  1. diskutil unmountDisk disk4

  2. sudo newfs_msdos -F 16 /dev/disk4

  3. diskutil mount /dev/disk4

This works for all sizes of drives.

Note: For other users: the reference to disk4 in the commands above may need to be changed to ensure it refers to the correct drive.