If I want to resize partitions or restore a backup later, how do I make sure that /proc/dumchar_info reflects the changes?

As far as I can tell, dumchar_info is not related to the MBR and EBRs, since it has more info.

  • Also, is /proc/dumchar_info related to 'scatter files'? – aaa Sep 14 '18 at 17:19

/proc/dumchar_info is provided by the dumchar driver, which reads the partitioning info from a header file generated during the build process and compiled in when the kernel is built. This header file is also used by other components, like the preloader, possibly bootloader, and both regular and recovery kernels. This means unless you can rebuild said components with a new header file, the partitioning is quite literally hard-coded.

A scatter file is related, in that it's generated from the same source. You can use the information from /proc/dumchar_info (together with some assumptions) to generate a scatter file.

For more information on partitioning on MediaTek devices that don't use GPT, see here.

| improve this answer | |
  • Interesting, thanks. But then I'm baffled as to how it's possible to edit the ‘scatter file’ with, iirc, MTKDroidTools and have it uploaded back to the device—which should reflect the changes in the partitioning, in places other than MBR/EBR (though web sources are unclear as to what exactly those places are). I mean, Mediatek could conceivably replace the data a binary component and upload that, but I'm doubtful about the whole kernel. So the next question for me is whether the scatter file affects the dumchar info. Though I'm not quite clear on what scatter-loading exactly does, either. – aaa Jun 17 '19 at 13:06
  • Scatter file will not affect the info in dumchar, because the latter is compiled while the former is just a text file. From the looks of it OTA updates that change the partitioning does have the parts that reference the partitioning info recompiled. The scatter file is just for SP Flash Tool to know where to write images into storage. As mentioned, the partitioning info is copied into multiple places, so you'll have to update more than the scatter to repartition. Note this is for non-GPT systems. With GPT you might not need to update as much. – cyanic Jun 18 '19 at 6:31

I cant find a dumchar_info file on my device, but usually using proc/partinfo gives you the physical start locations and lengths of each partition, not including the preloader partition. Hypothetically if you resized the DATA partition to an extra 1 Gig, you would need to adjust the entire partition scheme after the new ending length position, you could readjust the size of only the next partition if you leave enough space for it to actually be used.

You would need to update any changes to the scatter file, the new starting positions of each partition and the new sizes.

Backup and restore, you can just backup the entire emmc and restore it again using SP Flash Tool.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.