OK, so I have to copy a few gigs onto a USB 2.0 external drive, which happens (and has to for reasons omitted here) to be formated as a single 1TB FAT32 partition.

While the drive mounts correctly and I can read all of its contents, my problems started with the 'cp' command terminating with a SEGV or freezing my entire machine (no keyboard or mouse working). Oh, and I'm on OpenSUSE 11, if that makes a difference.

The error does not occur always at the same point, as I can reboot my machine and try again with the same files/directories and it eventually works.

The first time my 'cp -R' command failed, I wanted to do a recursive diff, to figure out which files were successfully copied.

Craziness number #1: Diff thinks most files do not match! The problem is that 'cp' seems to translate files to lower case while copying to a FAT32 partition. Diff does not know this, so says that the 'same' file only exits on the FAT32 and the Linux partition.

Craziness number #2: Case sometimes preserved! Try 'mkdir V1' and it creates 'v1' (lower case). Try 'mkdir Volume1' and it creates 'Volume1' (mixed case preserved). Do 'mv Volume1 V1' and the directory becomes 'v1' (lower case).

So, I'm hoping someone has any idea of how to fix or avoid some or all of these problems. Ideally, cp would copy files with the right case, mkdir would create dirs of the right case and diff would work as a consequence. If not, perhaps there are non-standard system tools that can help. BTW, I tried to copy with the Gnome file manager and it froze itself once and froze the machine the other time.

Thanks in advance,

- Itai