Lanchon / REPIT

A Device-Only Data-Sparing Repartitioning Tool For Android
159 stars 25 forks source link

Does this tool work with /cache partition? #47

Closed EvsanDlg closed 7 years ago

EvsanDlg commented 7 years ago

If i want to wipe or change file system for /cache partition can i use -cache=same+wipe+f2fs, for example?

jerryhou85 commented 7 years ago

Yes, it is. The cache option is in the parameters. But usually you can use TWRP to do the wipe...

EvsanDlg commented 7 years ago

That was just an example with wipe. Just wanted to know about cache partition. Found nothing in README about it..

jerryhou85 commented 7 years ago

Which device you have? For my device Honor 4x, I can certainly wipe and change cache partition.

lanchon-repit-20160416-cust=min+wipe-cache=0.03125+wipe-system=1.0-data=max-cherry

Lanchon commented 7 years ago

as said before, the set of supported partitions is device dependent.

off-topic: never switch /cache to f2fs, NEVER!

EvsanDlg commented 7 years ago

So, where can I get this device-specific information? I have Samsung i9100g And what about cache and f2fs - you mean never use this tool to set cache to f2fs or never try to do this using whatever tools at all?

Lanchon commented 7 years ago

So, where can I get this device-specific information? I have Samsung i9100g

how about reading the section "Device-Specific Information"? https://github.com/Lanchon/REPIT#device-specific-information

your answer is in this excerpt: https://github.com/Lanchon/REPIT/blob/master/device/galaxy-s2/common.sh#L54-L70

as you can see, cache and modem partition support is disabled for your phone. the reason is stated:

# resizing cache is disabled for now since i am not sure that the modem partition can be safely moved simply by updating
# the GPT and not changing the PIT. it is possible that whatever code boots up the modem might read the partition offset
# from the PIT and not the GPT. it is also possible that the device might brick if the modem cannot be brought up.

in other words, the bootloader might not support reading the GPT and thus might not notice that modem was moved. it might try to read the modem firmware from the old location and find trash there, failing to bring up the modem, and maybe bricking the device. testing would be required to see if the modem partition can be moved to allow resizing of cache. (this problem can occur on partitions that can potentially be accessed by the bootloader.)

in the meantime, REPIT supports the case of wiping cache without ever moving modem by defining an extra heap with just the cache partition in it. a heap defines a "pool" of partitions that are contiguous and can mutually exchange space. most devices define a single heap, but REPIT supports an unlimited number per device. defining a heap with a single partition inside is not very useful since the partition cannot be grown, but it would allow for wiping and changing the file system type.

in any case, such heap is not currently defined for your device, so cache cannot be operated upon. i hope this information is clear enough.

And what about cache and f2fs - you mean never use this tool to set cache to f2fs or never try to do this using whatever tools at all?

never do it with any tool on any android device.

EvsanDlg commented 7 years ago

Such bad news, but thanks for your detailed answer!