I think that's your problem: file systems are supposed to go onto a preexisting block device, which you'll need to create seperately. For example, on my system:
dd if=/dev/zero of=/tmp/foo.dos bs=512 count=128K
mkdosfs -F 32 /tmp/foo.dos
Once you've created the filesystem, fill it with: mkdir /tmp/foo/
sudo mount -t msdos -o loop /tmp/foo.dos /tmp/foo/
# dump stuff into /tmp/foo/
sudo umount /tmp/foo.dos # or /tmp/foo/
# filesystem is in /tmp/foo.dosThe mtools/mformat are not AFAIK released pre-built for Windows, in case of need here is a build:
http://reboot.pro/topic/14354-buidlingmodifying-floppy-image...
Syntax/option for mformat are a bit complex, again in case of need here is a small batch that hopefuly makes commands clearer:
Otherwise, you could try to find a suitable FAT implementation written in a cross platform language like python.
Otherwise you're looking at some fairly nasty scripting to get windows to do the FAT filesystem manipulation for you. As far as I know, windows doesn't support loopback devices out of the box for example.
Do you really need a baked FAT32 filesystem? Could you get away with a simpler payload like a tar?
The program (or programs/scripts) must be command line driven and run under both Windows and Linux (so they can be integrated into our build system).
The use case is the following; the creation of a single binary image containing some firmware and a (per-unit) custom FAT-32 partition, both of which would effectively concatenated together.
Does anyone have any ideas? Otherwise I might have to make something myself.