diff --git a/content/root_smartphone_poco_x6.rst b/content/root_smartphone_poco_x6.rst new file mode 100644 index 0000000..8cba318 --- /dev/null +++ b/content/root_smartphone_poco_x6.rst @@ -0,0 +1,231 @@ +charging till: 7:19 + + +tuto flashing and ungoogling and rooting: + +0. Preparation +============== + +0.1 Backup SMS +-------------- + +I use SMSGate free software to synchronise every SMS/MMS I receive with +my mailbox. + +https://docs.sms-gate.app/ + +0.2 Backup contacts/calendar +---------------------------- + +I use DavDroid free software to synchronise my contacts and calendars +with a CardDav server. + +https://www.davx5.com/ + +0.3 Backup system settings and apps +----------------------------------- + +I used the default backup utility to backup system settings, custom apps +and app data. I did it in two times since your can select what is +backupped, first of all the system settings (around 90MB archive), and +then the apps (around 3OGB). + +It creates a zipfile on the phone's storage, that I copied on my +computer's storage by mounting the phone via MTP. + +The Android tool is very slow, and uses a lot of storage space. I first +cleaned the phone data to make some room, and then I switched the device +to "airplane mode" and let the phone plugged with my computer USB to +avoid running out of battery. + +I should have been more careful before saving the applications data, as +some were just HyperOS "Mi" bloatware, some were not used anymore, and +some were too big : OSMAnd takes most of the size with it's maps, almost +10GB compressed, and some other mistakes included their cache as +streaming music players. + +Finally, the worst suprise was the lack of "Google Messages" backup, and +"Google Contacts". I was surprised, but should not have be : they force +to use their cloud to synchronise the data of their apps. I avoided +doing so, and still avoid using a Google account on my Android +smartphone. The use of DAVx and SMSGate saved the thing, but still, I +don't have any history on "Google Messages" and I had to reconfigure +"Google Contacts". As I'm almost careful with adressbooks, I may not +have lost contacts... The worst that could happen is to lose some +details like history of phone calls and blocklist. + +That should be another full article, as I still do not find viable +alternatives to these two Google apps. + +0.4 Backup data +--------------- + +Copy via MTP mount the data you want to keep. Pictures / Music / +Documents. + +To ease that, you can also use a Nextcloud server or the Localsend app. + +0.5 Pre-requisites +------------------ + +On the target device : Bootloader is unlocked and Fastboot is installed. +Developer mode switched ON. + +On the computer : a GNU/Linux OS and adb/fastboot CLIs installed. + +Test the connectiong by plugging the device to the computer via USB and +launching in a terminal: + +adb devices + +Your device UID should appear. + +Test fastboot by rebooting to it with the following command : + +adb reboot bootloader + +Your device should reboot and boot with the "fastboot" logo. It should +remain still (nothing happens means it works). + + +IMPORTANT: Do not continue the procedure if any of the previous test is +not successful! + + +0.6 Downloads +------------- + +To prepare before flashing : + +Roms and firwmare: + +- Original ROM if the new one does not work +- HyperOS fastboot ROM +- Modem firmware + +The following is for rooting and ungoogling. + +APKs: + +- KernelSU-next APK +- SPIC +- Native-root-detected +- Fake GApps +- Droidify +- Obtainium +- Aurora Store + +KernelSU modules: + +- Zygisk-Next +- LSPosed +- LSPosed - Zygisk +- SAN (system apps nuker) + + +1. Procedure +============ + +The duration of the procedure can go from 1 hour to 3 hours depending on +what you're trying to achieve. + +Backupping + Flashing : 1 hour Rooting : 1 hour Ungoogling : 1 hour + +The tests may take an additional hour. + +Make sure to have sufficient battery on the device, that your USB cables +will not fail, that you have sufficient storage space on your computer +and your device. Close any applications and distractions, as an error +can happen quickly. + +Re-ensure that your data is well backupped before starting - or that you +really don't care and won't complain. + +1.1 Flashing a new OS on your Android device +-------------------------------------------- + +Extract the xiaomi.eu HyperOS archive on your computer. + +7z -ohyperos3 x ./roms/xiaomi.eu_GARNET_OS3.0.2.0.WNRCNXM_16.zip + +Overwrite the modem.img file fixed for garnet. + +7z -ogarnet_modem ./roms/garnet_modem__OS2.0.205.0.VNRMIXM.zip cp +garnet_modem/modem.img hyperos3/images/ + +Flash and format the device. + +cd hyperos3 ./linux_install_and_format_data.sh + +Answer yes to all questions. + +I modified the script to use the version of fastboot installed on my +system, for my own security, but it should not be a problem to run with +the fastboot binary included in the archive. + +After executing this script, your device will reboot on the new +operating system. You should let it the time to boot, and then follow +the first-launch guide on the device. + +I always refuse to create a Google account to attach to my device, so +when asked I just skip. I also disable the lock-screen before the +installation procedure is totally finished. + +Test if the network works well, and if the basic applications are +running. You can the restore the backupped data. + +1.2 Restore your apps and settings +---------------------------------- + +Plug your device to your computer and set it to Airplane mode. + +Specify 'File transfer mode' on the popup (instead of charging only) and +copy the zipped files that you saved to your computer in section "0.3" +in the "MIUI/backup/Allbackup/" folder of your device. + +Then, go to the applcation list and search "Backup". You should be able +to open the same application that in section "0.3", and on the "Restore" +tab, you should see the date of your backups. Just select them and tap +on "Restore". + +1.3 Rooting the device +---------------------- + +This step is pretty simple. First, enable developer-mode and copy the +"boot.img" file of your ROM on your device. + +Then, install the "KernelSU-Next" apk through adb. + +Launch the KernelSU-Next app on your device, and select the previously +copied "boot.img" file : patch it. + +Once patcher, copy the "kernelsu_next_patched_CURRENT_TIMESTAMP.img" +from the device to your computer. Then, flash it with fastboot. + +adb reboot bootloader + +Once rebooted : + +fastboot flash boot "kernelsu_next_patched_CURRENT_TIMESTAMP.img" +fastboot reboot + +After rebooting, launch the KernelSU-Next app, you should see the +"Working [LKM]" label just after the title bar. You device is rooted! + +1.4 Ungoogle +------------ + +I mostly followed the following tutorial on XDA forums. + +https://xdaforums.com/t/guide-unlocked-bootloader-root-ungoogle-microg-on-any-stock-rom.4752360/ + +These are the specific things I did : + +- I used the noogle-magisk fork from becknik to fetch the MicroG apksj + https://github.com/becknik/noogle-magisk/tree/master + +- I had to use Zygisk-Next implementation instead of the ones proposed + in the tutorial, as the others were complaining on my Kernel version. + https://github.com/Dr-TSNG/ZygiskNext + +