Originally Posted by davidfor
The factory reset restores a firmware image from the recovery partition of the card to the main partition. Then it does something to clear the data partition. I think it simply formats the data partition, but it might delete and recreate the partition. If it does the latter, it means that any time a factory reset was done, you would need to open the device and resize the data partition.
Well, a smart design would be to create the two fixed size partitions and then create the FAT partition to use the 'remainder' - which any linux partitioning tool can do, and from Gergith's post would seem to be what actually happens.