Project

General

Profile

BackupTheEFS » History » Revision 11

Revision 10 (Mark Matney, 07/25/2019 06:36 AM) → Revision 11/37 (Denis 'GNUtoo' Carikli, 07/27/2019 10:59 AM)

h1. How to backup the EFS 

 h1. Introduction 

 Many devices supported by Replicant have a partition with the modem data (IMEI, etc) which is called EFS. 

 It's a good idea to do a backup of this partition, to make it easier to restore it if it becomes corrupted, as "it can sometimes happen with Replicant":https://redmine.replicant.us/issues/1869. 

 Only the following devices that are supported by Replicant have a modem data partition (EFS): 
 * Galaxy S 2 (I9100) 
 * Galaxy S 3 (I9300) 
 * Galaxy S 3 4G (I9305) 
 * Galaxy Nexus (I9250) 
 * Galaxy Note (N7000) 
 * Galaxy Note 2 (N7100) 
 * Galaxy Tab 2 7.0 (P3100) 
 * Galaxy Tab 2 10.1 (P5100) 
 * Galaxy Note 8.0 (N5100) 

 If you have a device that is not mentioned in the list above, it most probably doesn't have a modem data partition, so you don't need to make a backup. 

 h2. Instructions 

 We will backup the modem partition from the [[RecoveryImage|Replicant recovery]]. 

 This is to make sure that the modem data partition is not being modified when we are doing the backup. 

 h3. Enable root access through adb in Replicant 

 First make sure that you have adb setup correctly and that it gives you a root shell on the device by following the wiki page that explains how to [[ADB|install adb and get a root shell]] on your device. 

 This will enable you to also be able to get a root shell in the recovery. 

 h3. Reboot in the recovery 

 Once this is done you need to reboot in the Replicant recovery. 

 This is to make sure that the modem data partition is not being modified when we are doing the backup. 

 To do that: 
 1. Make sure that your device is booted under Replicant. 
 2. Press the power button until a menu appears 
 3. Press "Reboot" 
 4. Select "Recovery" and then press "ok" 
 5. The device will then reboot to the Replicant recovery 

 h3. Enable root access through adb in the recovery 

 In order to get a root shell in the recovery you need to do the following: 
 1. Select Advanced 
 2. Select "Mount /system" 
 3. Press the back key to get back to the general menu 

 Note that on certain devices, "the system partition is already mounted":https://redmine.replicant.us/issues/1934 so you might already be able to get a root shell without mounting the system partition again. 

 In any case it's still best to follow the instructions above to make sure that the system partition is mounted on your device. 

 h3. Backup the modem data partition on your computer 

 For the Galaxy S 2 (I9100), the Galaxy SIII (I9300), the Galaxy SIII 4G (I9305), or the Galaxy Note 2 (N7100), run the following commands to do that: 
 <pre> 
 mkdir backup_efs 
 cd backup_efs 
 adb shell "mkdir /efs" 
 adb shell "mount /dev/block/platform/*/by-name/EFS /efs" 
 adb pull /efs/ efs 
 adb shell "umount /efs" 
 adb shell "cat /dev/block/platform/*/by-name/EFS" > EFS.img  
 </pre> 

 For the Galaxy Nexus (I9250), run the following commands to do that: 
 <pre> 
 mkdir backup_efs 
 cd backup_efs 
 adb shell "mkdir /efs" 
 adb shell "mount /dev/block/platform/*/*/by-name/efs /efs" 
 adb pull /efs/ efs 
 adb shell "umount /efs" 
 adb shell "cat /dev/block/platform/*/*/by-name/efs" > efs.img  
 </pre> 

 For the Galaxy Tab 2 7.0 (P3100), run the following commands to do that: 
 <pre> 
 mkdir backup_efs 
 cd backup_efs 
 adb shell "mkdir /efs" 
 adb shell "mount /dev/block/platform/*/*/by-name/EFS /efs" 
 adb pull /efs/ efs 
 adb shell "umount /efs" 
 adb shell "cat /dev/block/platform/*/*/by-name/EFS" > efs.img 
 </pre> 

 This will create a copy of the contents of /efs in the backup_efs directory. It will also backup the full partition. 
 Keep these files around as a backup in case anything goes wrong. 

 If your device has an EFS and is not mentioned in the instructions above, please contact us through the "mailing list":https://lists.osuosl.org/mailman/listinfo/replicant so we could add instructions for your device. 

 h3. Reboot in Replicant 

 Once the backup is done, you can then reboot in Replicant. To do that: 
 1. Select "Reboot system now" 
 2. Your device will then reboot in Replicant.