That FAT32 doesn't support sparse files is a well-known fact. But that isn't even necessarily the limiting factor here; the size of a file on FAT32 is represented by an unsigned 32-bit integer, and is thus limited to one byte short of 4 GiB.<p>Some of the other details mentioned here are inaccurate as well. In particular, stat() returns both the file length and the size on disk; ls will typically display the length, not the size on disk.