Try formatting your SDCard as either Ext4Fs or Ext3Fs. Using such a tool as Partition Magic or even Parted
To quote from Wikipedia's entry on Ext4fs:
Large file system
The ext4 filesystem can support volumes with sizes
up to 1 exbibyte (EiB) and files with sizes up to 16 tebibytes (TiB).
Likewise, for the quote on Wikipedia's entry on Ext3fs
Size limits
The max number of blocks for ext3 is 2^32.
The size of a block can vary, affecting the max number of files and the max size of the file system:
+------------+-----------------+----------------------+
| Block Size | Max File Size | Max Filesystem Size |
+------------|-----------------|----------------------|
| 1Kb | 16Gb | 2Tb |
+------------|-----------------|----------------------|
| 2Kb | 256Gb | 8Tb |
+------------|-----------------|----------------------|
| 4Kb | 2Tb | 16Tb |
+------------|-----------------|----------------------|
| 8Kb | 2Tb | 32Tb |
+-----------------------------------------------------v
The reason FAT32 is used, is to maintain compatibility with the majority of OS's on desktop/laptops, which is Microsoft Windows!
Caveat Emptor:
Some kernels have support for Ext4fs in place, not all of them may have it, notably Stock ROMs coming from manufacturers!
Also, if you are rooted and running a customized kernel, chances are pretty high that the kernel would have support for this - you can confirm by checking via adb shell
adb shell ls /proc/*.gz
There should be a hit on the configuration file, usually named config.gz
or kernel_config.gz
or similar.
- Pull that down via
adb pull /proc/config.gz
- Unzip this file and launch your favourite editor, Search for the following keywords *CONFIG_EXT3_FS* or *CONFIG_EXT4_FS*
- Or from the command line,
zcat config.gz | grep "CONFIG_EXT4_FS"
- If the search yielded this line
# CONFIG_EXT4_FS is not set
or # CONFIG_EXT3_FS is not set
you are out of luck as that kernel would not have any support.
In short, if you need to support big files, a custom ROM or a custom Kernel would be needed this requires a pre-requisite in unlocking the bootloader in order to flash a new custom kernel in place that has support for such filesystems!