Backing up IMEI and NVRAM - or just ESF partition? - General Questions and Answers

Hi
I am new in flashing ROMs and have a confusion around backing up. Now the instructions say "backup everything" but a year before when i wanted to first try flashing a custom ROM they said "backup IMEI and NVRAM" the instructions did not say to backup ESF so i thought ESF is a different thing. Since i did not find any instructions on how to backup IMEI and NVRAM i gave up. but now i am getitng into it again and i am starting to realize that IMEI and NVRAM means the ESF partition.But how is it really?
My logic says if i have to backup IMEI and NVRAM then they are two different things. But if i search the internet articles say that NVRAM holds IMEI and WIFI data, network, etc. so if i backup NVRAM then IMEI gets backed up as well, doesnt it? so why iare they mentioned as separate things?
Then reading further i was starting to realize that ESF partition is holding information about IMEI, WIFI, network, etc. so i thought then its enough to backup ESF through TWRP which was there for me one year before too.
then researching information further i have found an article about backup and an app called "Partition backup" and there they mention to backup ESF partition and Radio partition. If i open that app it has far more partitions than TWRP. I can assume Partition backup has further separated the base partitions into smaller portions but if it has a partition named Radio ( check article https://www.droidviews.com/restore-efs-imei-galaxy-s7/ ) then where is this partition in TWRP included? Or its an additional partition which is not in TWRP?
I think it would be much simpler to just mention in instruction to backup ESF and thats it. Because i was searching for IMEI and NVRAM so desperately for my tablet which has exynos chip (i have found instructions for mediatek chips only).
Can anybody make it clear to me if i see it right now?
Thank you

If I'm right then EFS ( read: Encrypted File System ) is a partition housed on device's eMMC ( read: embedded MultiMedia Card ) memory module (where all Android partitions are stored ) , whereas NVRAM ( read: Non-Volatile Random Access Memory) is an extra memory module what is independant of eMMC.
It depends on OEM where IMEI is stored.

xXx yYy said:
If I'm right then EFS is a partition housed on device's eMMC ( read: embedded MultiMedia Card ) memory module (where all Android partitions are stored ) , whereas NVRAM ( read: Non-Volatile Random Access Memory) is an extra memory module what is independant of eMMC.
It depends on OEM where IMEI is stored.
Click to expand...
Click to collapse
I believe you are right... but by connecting the information found in articles looks like they have much in common. They never mention them together but one article says that IMEI, network config are stored in NVRAM, the other article says IMEI and network config are stored in ESF partition. thisis why i have connected them together. and since i can find only ESF partition in TWRP i assume thats what i have to backup as priority.
But since i am not sure, i am afraid to flash my device with custom ROM.

On MTK-devices IMEI is stored in NVRAM.

xXx yYy said:
On MTK-devices IMEI is stored in NVRAM.
Click to expand...
Click to collapse
So its unique to every device. thanks.
And how do i know which device stores those data where?
For example i have a samsung tablet and a LG phone and i want to get information what to backup in order to have the IMEI, network config data backed up correctly.

If an EFS partition exists then this is what you should backup, IMO.

xXx yYy said:
If an EFS partition exists then this is what you should backup, IMO.
Click to expand...
Click to collapse
Thank you.
I have seen only one devices TWRP menu so far and i thought that its the same for all devices but now as you wrote this i started wondering if since every device is unique then the partition list in TWRP is different as well?

List of partitions is different from device to device: it's on OEM how it organizes Android's filesystem.
Let’s start with a list of standard internal memory partitions on Android phones and tablets. These are:
/boot
/system
/recovery
/data
/cache
/misc
/vendor
In addition, there are the SD card partitions.
/sdcard
/sd-ext

xXx yYy said:
List of partitions is different from device to device: it's on OEM how it organizes Android's filesystem.
Let’s start with a list of standard internal memory partitions on Android phones and tablets. These are:
/boot
/system
/recovery
/data
/cache
/misc
/vendor
In addition, there are the SD card partitions.
/sdcard
/sd-ext
Click to expand...
Click to collapse
Thank you so much for your clarification

Related

Smartphone Architecture compared to PC

I have a few questions related to smartphones. Searched and couldn't find anything like I was looking for.
I am vary familiar with PC's and would like to compare in my mind where things reside on a smartphone.
On a smartphone, where does the operating system reside? Is it in the ROM(I know is Read-only-memory)? Or is the ROM similar to the BIOS on a PC and contains the basic instructions to interact with the between software and hardware?
Just having a little problem comparing what is where.
i think its in ROM memory, but there is additonal memory for system/internal apps too.
In my XPlay I have 512mb+400mb.
There isn't anyth like bios but u can flash recovery
From what I know, everything is stored in NAND flash. There is a boot partition which contains the kernel, and a system partition which contains the OS (firmware) itself. Those essentially double as ROM. Technically it's not read-only memory but its contents won't change unless you root your phone and change them yourself.
Also, I don't think an embedded system such as a smartphone would benefit much from having a full-blown BIOS. Hardware initialization, I believe, is done during the boot sequence, not prior to it. Look up "Board support package".
If someone knows more about this subject, feel free to correct me and provide additional information.
I'm quite interested in embedded systems myself, but only have had the opportunity to work with simple microcontrollers.
So basically everything inside is more like a solid state hard drive? Just partitioned for different tasks? I figured the rom was not really a rom. Usually you have to build an interface and cut traces on the board in order to flash a rom.
Are we able to browse the rom? Like with root explorer? Or is that partition "hidden"?
Also, what are the caches for. I am familiar with caches like in ie. But the davlik seems to be persistent. Thanks for the answers so far guys.
Usually when you load a new os, the cache is usually wiped. But with phones, a step is to wipe the caches. Confusing when trying to grasp with the knowledge I have of older electronics. Lol I just called pc's old.
I wish there was some guide already making the comparison but Google can't find it!
Yes, you can browse those partitions in Root Explorer. It will allow you to mount even the /system partition r/w so you can modify the contents.
As for the caches, I'm not sure what exactly gets stored on the /cache partition, but the reason you have to wipe/format it when you flash a new ROM, is because it's separate from the /system partition. That's probably what you meant by "persistent".
It's actually convenient when you think about it. If you want to flash an update of the ROM you are currently using, you probably don't want the cache to be wiped as well. On the other hand, sometimes you may want to wipe just the cache. Same goes for the /data partition, when you are doing a factory reset, for example.
I would also assume that since /system partition normally isn't written to, and /cache and /data are, keeping them separate helps in case the filesystem gets corrupted.
Now you are confusing me.
/system is a folder. Not a partition. It may be in a folder but it is not a partition afaik. There is a root partition which is basically everything you see when you open file explorer that includes the system folder, then any other partitions are mounted under /mnt. Those include /asec /obb /sdcard and /secure. (using what I see in my kf for this example)
So when we flash the "rom" we are really only flashing one partition of a rom that has several partitions. That would be the basic partition containing the system files? We are not flashing the entire rom. Does that sound correct?
In Linux partitions are mounted under directories. So /cache, /data and /system are really just mount points for those partitions. It's understandable that this would confuse you if you haven't had experience with Linux. Windows handles partitions somewhat differently.
When you flash a ROM, you are actually flashing only the system partition. Kernel is flashed to the boot partition, and others (cache, data, sdcard, etc.) are used by the system itself.
DeVelox said:
In Linux partitions are mounted under directories. So /cache, /data and /system are really just mount points for those partitions. It's understandable that this would confuse you if you haven't had experience with Linux. Windows handles partitions somewhat differently.
When you flash a ROM, you are actually flashing only the system partition. Kernel is flashed to the boot partition, and others (cache, data, sdcard, etc.) are used by the system itself.
Click to expand...
Click to collapse
Yes i have a little knowledge, albeit very little, of Linux. But if it is an actual partition it will also show under /mnt after you mount it, correct? That is how you tell if it is an actual partition. I do realize that the others partitions like /sdcard are being automatically mounted. And you can browse them through the /sdcard folder or /mnt/scard.
/cache is no where under /mnt or any subs of any partitions that are mounted so that tells me the /cache folder that shows under root is actually only a folder. Well there is a cache subdirectory underone of the partitions under /mnt but the contents are different than the contents of the cache folder running off of root.
Sorry bout all of the questions. I have done a lot to my phone and kf. I just like to know what it's being affected when when I do what I am doing. And why I am doing what I am doing.
Like i said before, the term rom confused me as when i was flashing roms on other devices I was having to build a hardware interface and cut traces on the board, sometimes install jumpers across traces. All of that to flash "roms". This was on xboxes and satellite receivers mainly.
No, /mnt is just a directory like any other. In fact, it is rarely used for mounting purposes in modern Linux distributions.
When you open /cache, /data or /system in Root Explorer, please check the "x MB used, y MB free" line at the top. You will notice that it shows different values for each of those directories. That should be enough to convince you that they are indeed partitions, and not ordinary directories.
You will also notice that, for example, /etc shows the same used/free info as /system. That is because /etc is actually a symlink to /system/etc.
You should read up more on Linux, or just take my word for it.
P.S. If you have Terminal Emulator app installed, try the "df -h" command. It will list all the partitions, their mount points, and used/free space info. Mind you, only entries starting with "/dev/block" are actual partitions, tmpfs is something else.
I see said the blind man. I also found this as an example of the partitions on my kf.
Scrolling down I see all of the active partitions.
http://kindlefirenews.org/expand-app-storage-on-the-kindle-fire/
Thanks for the explanations. But I will say that ROM it's a misnomer!
Open a console on your android and type "df".
You will see the partitions.

Repartitioning possible?

Hi,
before I brick my smartphone: is the internal storage a real GPT partitioned thing which can be changed by gdisk, parted and friends? I'll change only the things starting with cache - and only sizes & partitions, not the overall layout. I would like to squeeze the unused cache-partition to a few MBs and reduce the cdrom-partition, move the system-partition at top and increase the userdata partition.
Best regards,
mifritscher
Any infos on this one? Could I recover from a completely broken flash via fastboot, qdload or sdboot?
Ok, I tried - and failed *g*
I partitioned with parted - and the kernel accepted the new partition table as well. But it seems that the phone either blocks write access to the GPT, or has its own internal version. Because after a reboot, I got the old partition table again.
Luckily I had a backup (with I needed for repartitioning anyway), and both fastboot and recovery worked. TWRP was only a bit refused regarding the broken partitions, but it could both reformat the partition and fire the backup (with I did with dd and gzip) before).
So the big question is: How can I unlock the emmc to write to the GPT?

How does Android lockscreen work? (Pie - not encrypted)

I have a Mi A2 lite (msm8953), and I am trying to boot on two different data mounts. I managed to do it by mounting user data partition as /preData then mounting /preData/second on /data on vendor partition init files, and I booted successfully.
But when going back to the /data as /data, my unlocking pattern doesn't work and I have to delete "/data/system/locksettings.db".
My question is, since the process of booting to a subdirectory (/data/second instead of /data) of the actual data does not touch the actual /data/ files at all, how did the lock process get messed up for the primary data?
My guess is there's a specific partition involved in the lock process that's being modified, if I am correct, which one is it ?

Lost All Data. Any Way To Recover ?

Hello All,
Recently i applied local update on my one plus 8t and it wiped all my data everything is lost. Backup to drive and oneplus cloud was also NOT turned ON.
Any way to recover files ? I already tried Wondershare and few other applications but none of them worked.
One of my friend suggested RECUVA but its not showing my phone as a drive.
Please help.
May be an authorized service center has the means to recover the wiped data, means the forensic software needed. In any case, phone's Android must be rooted.
Don't trust the 3rd-party-softwares you've to pay for: are all more or less only crap.
Thanks for replying but can i mount my android as a drive (removable storage). just like flash drive.
it's pointless. FDE crypto-footer is garbage even if just a single byte is overwritten. FBE encryption keys aren't stored in userspace at all. your device uses both FBE + FDE. userdata partition is F2FS file system, no recovery tools will work. your data is unrecoverable per design
How to recover a deleted file from /data partition?
I factory reset my rooted Android M phone but now I realize that there was a file in the /data directory which I need. Is it possible to create an image (.img or something similar) of the /data
android.stackexchange.com
aIecxs said:
it's pointless. FDE crypto-footer is garbage even if just a single byte is overwritten. FBE encryption keys aren't stored in userspace at all. your device uses both FBE + FDE. userdata partition is F2FS file system, no recovery tools will work. your data is unrecoverable per design
How to recover a deleted file from /data partition?
I factory reset my rooted Android M phone but now I realize that there was a file in the /data directory which I need. Is it possible to create an image (.img or something similar) of the /data
android.stackexchange.com
Click to expand...
Click to collapse
so data on my samsung j4+ which was factory resetted (because i had to unlock the boot loader) cannot be recovered?
I was talking about OnePlus 8T. That's different from yours

Unable to create second partition on SD card

I've been trying to partition my SD card, but all steps I take to try and diagnose why I am unable to partition the card is getting me nowhere.
Initially, I used gparted on my laptop to partition the SD card with a v-fat partition and a f2fs partition, both primary partitiond. This was when I found out that no matter what I do the second partition on the SD card, it doesn't seem like the format actually takes. Whatever tool I use complete the partitioning and formatting steps successfully by all appearances but it doesn't seem like the partition is ever actually formatted. What I mean by that is that no matter what the second partition is it never mounts. I get an invalid argument error or bad super blocks and so forth. I can make the first partition anything I want: fat, v-fat, f2fs, ext4 and so forth and that will mount in my terminal without issue, but no matter what I do the 2nd partition always fails to mount. I've also noticed that blkid never has any fs info for the second partition. It gives me the partition UUID and that's all, while the first partition has both part UUID & fs UUID.
I've even gone so far as to just recently get a brand new SD card thinking that perhaps the first SD card was corrupted but I'm still getting the exact same behavior. Also of note is that in gparted when I try to create a secondary partition, I'm unable to mount the second partition so I don't think it has anything to do with my device. I've tried using fdisk, gdisk, parted in the terminal and I've tried using extended partitions and logical partitions and only primary partitions. I've done this before in the past so I know that it is possible.
It almost seems like the SD cards that I have are simply not capable of being partitioned in any way but it's strange that I now have two 512 GB SD cards and they're both giving the exact same behavior so I'm thinking that I'm missing something obvious. Any help anyone could provide as far as trying to figure this out or debug what's going on what I'm doing wrong would be greatly appreciated.
Thanks,
Ryan
only the first partition is mounted from vold. that is normal behaviour on every device. if you want have all partitions mounted automatically install LineageOS.
furthermore, although sdcardfs supports ext4, f2fs, for file transfer via USB MTP afaik fat32, exfat or ntfs is required.
what do you need f2fs partition for? maybe I can point you to workaround.
aIecxs said:
only the first partition is mounted from vold. that is normal behaviour on every device. if you want have all partitions mounted automatically install LineageOS.
furthermore, although sdcardfs supports ext4, f2fs, for file transfer via USB MTP afaik fat32, exfat or ntfs is required.
what do you need f2fs partition for? maybe I can point you to workaround.
Click to expand...
Click to collapse
I don't need anything to mount automatically. I'm saying I can't manually mount these partitions. I also don't need f2fs, that was just an example. I've tried multiple partitions that are just fat, ext4 and many other combinations. Under no partition scheme can I get anything other than the first partition to mount--using the mount command as root.
can you please try gdisk binary from here
https://forum.xda-developers.com/t/...-on-qmobile-z8-with-bricked-dead-emmc.3712171
please post the result of partitioning and formatting.
if you're interested in alternative solution, you can actually format the whole MicroSD card as exfat, and create ext4 partition image on top as regular file. I have done that for my mothers Huawei for Link2SD because it doesn't support adoptable storage.
aIecxs said:
can you please try gdisk binary from here
https://forum.xda-developers.com/t/...-on-qmobile-z8-with-bricked-dead-emmc.3712171
please post the result of partitioning and formatting.
if you're interested in alternative solution, you can actually format the whole MicroSD card as exfat, and create ext4 partition image on top as regular file. I have done that for my mothers Huawei for Link2SD because it doesn't support adoptable storage.
Click to expand...
Click to collapse
I have tried with gdisk but I can try with that specific version and report back. I understand we can create imaged file systems, but one of the main reasons I do this is that I find fat partitions are fickle and can easily be corrupted where the whole partition requires wiped. By having a non fat partition I use that as a better backup option where I find it's easier to recover data in case of corruption or other issues. For such use, being tied to the fat FS would still incur the possibility of data loss so that doesn't work for my purpose.
Thanks and I'll report back,
Ryan
oh I wouldn't rely on f2fs for backups it still has bugs and there are no recovery tools for f2fs
https://forum.xda-developers.com/t/4550931
https://android.stackexchange.com/q/250389
alecxs said:
oh I wouldn't rely on f2fs for backups it still has bugs and there are no recovery tools for f2fs
https://forum.xda-developers.com/t/4550931
https://android.stackexchange.com/q/250389
Click to expand...
Click to collapse
Thanks for the suggestion to use gdisk. I downloaded the version you linked, but I still get the same behavior. I believe it is related to the fact that only the first partition gets a filesystem UUID in blkid. I'm not sure what this means, but it seems clear that the second filesystem isn't being properly created no matter what I do.
that's strange, especially the fact you tried on PC too. on the phone, can you create partitions inside a blank disk image just for double check to rule out kernel issue?
I'll give that a try and report back
alecxs said:
that's strange, especially the fact you tried on PC too. on the phone, can you create partitions inside a blank disk image just for double check to rule out kernel issue?
Click to expand...
Click to collapse
Yeah I'm able to create an image, partition it into a vfat & ext4, then mount both of those partitions.
can you dd the file into mmcblk1 for testing purposes?
alecxs said:
can you dd the file into mmcblk1 for testing purposes?
Click to expand...
Click to collapse
Sorry this isn't clear to me. What am I using to dd into the partition, and do you mean mmcblk1p1/2? As mmcblk1 is the whole disk.
Thanks,
Ryan
yes, I meant the whole disk you created a test file that contains MBR or GPT and two partitions including UUIDs and file systems? If you dd it into the mmcblk1 it should create 1:1 copy of that disk image with two partitions including partition table.
Well I'll be:
Code:
/dev/block/mmcblk1p2 on /data/data/com.termux/files/home/i2 type ext4 (rw,relatime,seclabel) /dev/block/mmcblk1p1 on /data/data/com.termux/files/home/i2 type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
Code:
/dev/block/mmcblk1p2 23M 46K 23M 1% /data/data/com.termux/files/home/i2 /dev/block/mmcblk1p1 4.9M 0 4.9M 0% /data/data/com.termux/files/home/i1
I can possibly use gparted to just resize those! Any thoughts on what was going on, why this method worked? Hrmm looks like resizing fat could be a challenge, but this certainly gets me closer!
there is also parted binary you can use on phone
I have it and I'm playing around with it, thanks for all your help

Categories

Resources