h1. MigrateContactsDatabase h2. Warning * This article is a work in progress * It hasn't been tested yet and might contain mistakes * It needs to be more clear for less technical users h2. Migration {{toc}} h2. Backuping your contacts in a file Here's a way to do it: First, you'll need to make sure Replicant is booted on the device and open the stock contact application. Then if it shows a screen with "No contacts." in it, you won't need to backup the contacts, you can skip this section (Backuping your contacts), but you'll still need to follow the rest of the tutorial if you don't want your device to crash when installing a Replicant version with a different contact database format. If it shows some contacts, you will then need to backup them to a file. To do that you will first need to go in the contact application settings. To do that, once you are in the contact application, you can press the settings button in the application or press the settings button (On the Galaxy SIII, it's the button on the left of the home button). That will display a menu. You will then have to select "Import/export" and then "Export to .vcf file". It will then display a new screen with many contacts. You will need to again press the settings button and a new menu with only one option ("All [ ]") will appear. You will need to select this option to select all contacts. Once this is done, a new Tick button will appear in the screen. You will need to press it. Once this is done you can save your contact to a file in the device, and copy that file somewhere safe (like on your laptop). This way if you end up having to erase your data somehow, you will still be able to easily restore your contacts. h2. Setup ADB Follow the instructions for [[ADB|setting up ADB on your computer]] so that you can access a root shell on your device. *NOTE*: when prompted on your Replicant device, make sure that you check the box that says *Always allow from this computer* when you grant your computer USB debugging permissions. Otherwise, you will be unable to obtain root shell access on your Replicant device when you reboot it into the recovery OS to actually perform the backup. *NOTE*: for security reasons, you may want to [[ADB#Revoking-all-computers-USB-debugging-permissions|revoke these non-expiring permissions]] once the backup is complete. h2. Reboot into the recovery To reboot in the recovery, you can follow the instructions in the [[RebootIntoTheRecovery]] wiki page. h2. Mount the data partition h3. Galaxy S III (GT-I9300)
mount /dev/block/platform/*/by-name/USERDATA /data
h3. Galaxy Note (GT-N7000)
mount /dev/block/platform/dw_mmc/by-name/DATAFS /data/
h3. Other devices / TODO TODO: other devices + background text. TODO: Also umount that partition right after!!! h2. Erase your contact database Once in the recovery, you will then be able to erase your contact database:
rm -rf /data/data/com.android.providers.contacts/databases/
TODO: Reboot to bootloader (do not reboot into replicant) h2. Install the new Replicant images Once the backup is done, you can proceed to install the Replicant images that have the contact database format to migrate to. h2. Revoke USB debugging permissions If you don't need @USB debugging permissions@ anymore, it might be a good idea to remove them. The [[ADB#Revoking-all-computers-USB-debugging-permissions|Revoking all computer's USB debugging permissions]] section in the ADB wiki page explains how to do that. That's it! Your device's EFS partition is now backed up. Your device should be running Replicant normally again.