As a defector from Windows Phone I’m quite new to Android, and even more to /e/ and some “cabalistic” operations involved during installation.
So I decided to write some tips down here, as a reminder for me and maybe others
I won’t detail all operations or include every links, so if someone need it please ask
Also, please forgive some bad semantics from a poor french guy
At start, my device was working quite well (I flashed it with official /e/ Oreo out-of-the-box).
As a /e/ Pie tester, I wanted to :
= backup my data as much as possible, just in case …
= use a proper upgrade path to ensure accurate testing
I know I’ll have to perform a full wipe & format, so I decided to backup as much as possible (0)
This was the hardest job, because of my little knowledge and inconsistency of the information I could find …
- I double-checked that all cloud-backupable datas are up-to-date (i.e. contacts, pictures)
- for calls & SMS history I used the useful “SMS Backup & Restore” app (1) to backup them to a local folder, and then auto-uploaded to my own NextCloud
- connected my phone to PC using USB cable, launched an ADB shell as root
- from here, I could issue a “adb backup -apk -obb -shared -all -system -keyvalue” (2) to generate a backup.adb file (took a whole coffee mug !). Then I moved the file to an USB key.
- next, I plugged the USB key using an USB-OTG adapter, enabled ADB debug over TCP/IP (as my only USB socket is used by USB-OTG), and rebooted the phone to TWRP (recovery)
- using TWRP touch interface, made a backup of boot, data, efs, system, vendor to USB-OTG (this time, I picked a beer ) Took a note that this method doesn’t include media (user’s) files (3). Also, I tried 3 times using “adb backup --twrp”, each time the file size was quite different ! I know this can be due to logs files or pseudo-databases, but to ensure backup integrity I opted for the USB-OTG method
- as I wanted my files (media files, which hasn’t been included in TWRP backup) to be readable in Windows without loosing Linux fs or maybe SELinux infos, i used a “tar -cpjf myfile.tjz /data/media/” from an adb shell (4). It gave me enough time to evacuate all the fluids I ingested…
- done ! I now have a Android backup, a TWRP backup (NAndroid), and a archive with all my personal files
- for the app list, I was pleasantly surprised to find a csv file with a full listing of my apps, in /e/ cloud . It could also be useful to backup apk files (7).
- Flash latest stock (Xiaomi) ROM
Surprisingly, that was the easiest part!
- I directed my browser to http://c.mi.com/oc/miuidownload/detail?guide=2, downloaded all necessary stuff, followed carefully the instructions (opened another beer )
- at first restart, I skipped and deactivated all I could. The SIM card was a no-data, GPRS-only one (I use it only for my job duties)
- Miui let me enable Developer Options, good ! So I moved to the next step, reinstall TWRP (I tried to reboot the phone to recovery, leads me to the awful Xiaomi … so it has been overwritten, I expected not less from Xiaomi )
- Reinstall TWRP
I ensured to have the latest image available (5)
- rebooted the phone to FastBoot using, keys, Ok
- launched “fastboot flash recovery” … Access Denied ! I should have pay attention to the “Lock” item in Developer Options
- no choice : I have to follow the unlock process (6) and wait a week But …no more wait, it took me 1 minute to have my phone unlocked ! Many thanks Xiaomi !
- rebooted the phone to system (everything has been wiped, had to pass all the first-start screens again), checked in Developer Options : Unlocked !
- rebooted to FastBoot, installed TWRP as usual
- I didn’t forget to RTFM and used the buttons at first reboot, so I could check by rebooting from adb that TWRP is truly installed
- Install /e/ Pie
Piece of cake
- in TWRP, wiped+formatted everything
- still in TWRP, sideloaded /e/ image, rebooted to system (ignored the “No OS” warning)
- et voilà !
- Restore my datas & apps
As I added my /e/ account at first boot, everything synchronized by /e/ cloud has been restored to my phone
- for calls & SMS, I just reinstalled the app and restored from the 2 XML files. Perfect !
- for apps, I just installed Telegram from /e/ store, downloaded Aurora Store from their support channel, and reinstalled all necessary apps (7)
- I tried to restore the offline maps for Maps application from my backup, it worked fine
- What else would I do if I had to do it all over again?
- backups : I didn’t need them, but … Better be safe than sorry !
- Miui flash : that’s the real pain in the a**. Maybe next time I’ll try some smoother alternative solutions (8)
– Sources –
(0) : https://forum.xda-developers.com/android/general/how-to-backup-restore-android-device-t3602583
(1) : https://synctech.com.au/sms-backup-restore/ I like the exports to XML files, the built-in scheduler, and the easy restore. Note : app will display ads out-of-the-box, but they can be disabled in settings
(2) : https://forum.xda-developers.com/galaxy-nexus/general/guide-phone-backup-unlock-root-t1420351 (-obb and -keyvalue options are missing). I used all of the options to ensure a full backup, but it was probably too much
(3) : https://twrp.me/faq/backupexclusions.html
(4) : https://github.com/TeamWin/TWRP-busybox I’m lucky to have busybox embedded in my TWRP … Not all TWRP builds have it ! Busybox’s tar is better than Android tar (SELinux support), but a consistent backup may include ACL & XAttrs : https://android.stackexchange.com/questions/218708/how-to-stream-an-encrypted-backup-of-the-entire-device-to-remote-host/219261#219261
(5) : https://twrp.me/xiaomi/xiaomimimix2.html
(6) : http://en.miui.com/unlock/download_en.html
(7) : when backuping everything (step 1) : in Aurora, you can also re-download the apk without installing, or generate an apk from installed app. Just long-press on the app in Aurora’s “My apps” list
(8) : https://xiaomifirmwareupdater.com/