Doing the backup of partitions or other block devices

adb shell cat pipe

Old versions of the EFS backup instructions used the following command:

adb shell "cat /dev/block/platform/*/by-name/EFS > /EFS.img" 

At some point or under some condition, this stopped working and the backup were corrupted.

adb shell cat adb pull

adb shell "cat /dev/block/platform/*/by-name/EFS /dev/block/platform/*/by-name/EFS" > /EFS.img" EFS.img
adb pull /EFS.img ./

Doing in in two stage like that seem to be widely used in other instructions (like the ones found in XDA forums).

Normally cat should produce a valid backup, however it might be better to use dd for extra safety.

On Replicant 6.0 0004, the recoveries for the following devices have 'dd':
  • Galaxy Nexus
  • Galaxy SIII

adb pull the block device

The following should also work:

adb pull /dev/block/mmcblk0p3 ./EFS.img

The advantage is that it can also backup huge partitions like the user data partition or Replicant system partition.

Updated by Kurtis Hanna 6 days ago · 4 revisions