Here is my complete foolproof guide on how to update your system. Please note that there may be other maybe easier ways that cut-out some steps but this worked for me. It is intended for Noobies so I apologise to more advanced users if it seems tedious and long-winded. But that's how Noobies like it with everything explained in detail.
IMPORTANT NOTE: If you have previously used parallel apps then before doing any of this process you must delete user 999 from the system, otherwise you backups will not work!!!
From a terminal window (I use terminal emulator from play store ) type su and enter. Now type the command pm remove-user 999 and enter. Now you shouldn't have to worry about parallel apps messing up your backups.
Thanks to @dgunn for this
Also, please note that I have NEVER previously installed an un-official twrp on my device (wanted to wait for official ), however, I was unlocked, and rooted with magisk v16.0 and on stock oos 5.1.5 before beginning this upgrade process.
If you already have an un-official twrp installed, then I cannot guarantee that this guide will work for you. It might, it might not
Disclaimer: This is a guide for helping others. It is your choice to follow it and I take no responsibility for any problems you encounter as a result of following this guide. You do it at your own risk
Ok, lets get started......................
Actually, before we do let's get one thing clear that is confusing a lot of people regarding fastboot and twrp. There are 2 ways of putting twrp recovery onto your phone. A temporary way (disappears after rebooting and goes back to stock recovery) and a permanent way (the best way that stays put - what we all want right?). This guide assumes that you don't currently have twrp on your phone.
In order to put a permanent official twrp on your phone, first we have to boot (NOT flash!) into a temporary version of twrp. The fastboot command for this is "fastboot boot path_to_temporary_twrp.img" (without the quotes of course )
The difference between temporary twrp and permanent twrp is in whether we either fastboot boot or fastboot flash.
Ok, let's begin
First of all, as a precaution, disable all security on your device like pin, pattern, password, fingerprint. Make sure that when you wake your phone it goes straight to the homescreen without any prompts for pins etc etc. May not be needed but it's what I did
1. Download the following files to the following locations....
a. Official oxygen OS 5.1.6 zip file (full zip) > to root of sdcard .
b. Official twrp installer ZIP file > to root of sdcard. (This is our permanent twrp file)
c. Magisk root zip file (I used v 16.0 but v16.4 zip file should be okay too) > to root of sdcard.
d. Official twrp installer IMG file > to your PC in the same folder as your fastboot files. (This is our temporary twrp file)
These files are available for download in other threads on XDA just search for them.
Once that is done proceed as follows.....
2. Go to settings>system updates and click the gear icon in the top right and choose "local upgrade" and then select the Oxygen 5.1.6 zip file from your sdcard. The system will now begin to update itself. Once finished it will prompt you to reboot, do this, and the system will boot back up into Oxygen OS 5.1.6
3. Now, long press your power button and select reboot and select bootloader option and your phone will reboot into bootloader (fastboot) mode.
4. On your PC go to your fastboot folder and open a command prompt in that folder (don't forget you previously put the temporary twrp image file in here)
5. Now plug your phone into the PC
6. At the command prompt enter following command fastboot devices
and your phone should show up as connected and recognised.
7. We are now going to boot the phone into the temporary twrp. Type the following command fastboot boot <name of temporary twrp file (from your fastboot folder)>.img
8. Your phone will now boot into the temporary twrp recovery and from here we can now flash the permanent version of twrp that we previously put on our sdcard.
9. On your phone, select Install, then find the twrp zip file on the root of your sdcard, select it and swipe to flash.
10. Once this has flashed successfully, we now need to reboot into this new permanent recovery. DO NOT REBOOT TO SYSTEM AT THIS POINT! Now, select "Reboot" option and select "Recovery". Your phone will now reboot into the new permanent twrp. You can now forget about the other temporary twrp from earlier
11. Once the phone goes back into recovery select Install option and find the Magisk root zip file on your sdcard and select it. Now swipe to flash it. After successfully flashing Magisk, you are now ready to enjoy the fruits of your labours
Go back to the twrp homepage and select Reboot>system.
The system will now boot normally and if you have followed these steps to a Tee you will be on OOS 5.1.6 and rooted!
I have also done a successful twrp backup without any error messages. Your previous data will be untouched and you can now set-up your security again.
One final thing to note - because the boot and recovery partitions are now combined, this means that everytime you flash something to your boot partition, your new permanent twrp recovery will be lost and you will have to re-install twrp again from scratch initially through fastboot.