[RECOVERY] [UNOFFICIAL] TWRP 3.4.0 for Galaxy S10 Exynos [G970F/G973F/G975F/G977B]

Search This thread

bruram

Member
May 18, 2008
47
7
Newbie here, I did exactly that. I have a samsung galaxy note10 exynos. My phone keeps jumping back to this downloading screen even when I try to cancel (restart phone) by holding down the side keys. It says this at the top left corner of the screen:
recovery: Error validating footer (6) CUSTOM RECOVERY VBMETA N970F XXU1 ASG0. 24967245R
I am able to get into the custom OS installation screen (don't know what it's actually called but second picture) by letting the battery drain so that the phone turns off and then holding volume up + volume down key and plugging the phone into my laptop with USB.
I tried to install TWRP with Odin and now my phone is stuck and can't boot. I went to https://twrp.me/samsung/samsunggalaxynote10.html and even there it says "Flashing TWRP without first flashing a vbmeta image with verity disabled will render your device unable to boot." Does anyone know how to fix this? Thanks in advance.

@TheAckermans

I think you can follow this steps, I consider your Note similar to S10

Download latest stock firmware for your phone, extract the 4 files BL, AP, CP and CSC, connect to pc and press the combo key to download mode (i don't know for your Note, bur for S10 is bixby+vol.down+power for some seconds); when you see the picture "downloading" you can start Odin to flash the stock firmware (BL+Ap+C+Csc on Odin).
When your phone restart, wait for some minutes to see stock android start page.
 

meric57

Senior Member
Oct 2, 2017
299
59
Oeutrange
Samsung Galaxy Tab E
Hello Bruman, I have S10 exynos SM-G973F 64 first generation not 5G. Magisk 23016 and TRWP 3.6.0-9-2 because the TRWP and install the problem comes magisk 23016 which wants to install even with TRWP I need the magisk 230016 image or the modify patch for Android 12
 

Natraj

Senior Member
Jul 22, 2008
77
22
Schwabenland
Hi ianmacd,
I've tried your instructions but I had some difficulties understanding it or getting a root shell app, etc.
I've found an easy way for me to install TWRP is via the TWRP app.
I think that people who are new to the S10 would appreciate if you would mention and link alternative methods of installing TWRP for S10 in your first post of this thread.
Thanks

twrp-featured.jpg


Preamble

When TWRP first appeared for the S10 range of devices, it quickly became clear that there were some major issues with the initial builds.
 

PokeRekoP

Member
Jul 16, 2021
44
1
14
EDIT: Solved, sort of. Went brave and went on re-flashing through ODIN the full stock FW but made sure to keep "re-partition" off (!) and use "Home_CSC" for the CSC Slot. That kept "storage" untouched and I can now at least pull files in TWRP. (Longer story; followed instructions from the thread on my actual custom rom how to get twrp flashed together with stock FW).

----------original post------------
SNAFU. Sorry guys, urgently need some advise plz. "downgrade twrp through odin" didn't really help me on g**gle.

In short: can I restore a previously used "known good" twrp .img (after tar'ing it) through ODIN AP slot if the device only boots into DL mode (vbmeta error, after a failed twrp upgrade with a newer version)?

Long story:
In preparation of a rom upgrade (S10+; using "Beyond Rom"; have an outdated A10-based version on, wanted to go to A12 based latest) I wanted to upgrade my TWRP from 3.4.0-3_ianmacd to 3.6.1_9-1.

So I used magisk manager to patch that standard 3.6.1 TWRP, and then used the existing, perfectly working TWRP 3.4.0-3 itself on the phone to flash that now-patched 3.6.1 into recovery - just as I have done plenty times before (over the years getting me up to and including 3.4.0-3_ianmacd).

Now fu**, phone boots straight into DL mode (vbmeta related error - OF COURSE I didn't read the stuff, went by my own now apparently outdated howto notes, because I just did what I always did... and have no vbmeta file).

From what I understand: not all lost (?), options:
(1) I could flash a latest stock samsung FW through ODIN but that will wreck my DATA. Might not be too bad, regularly pumping stuff into my home server. But can't fully be sure what I might be missing afterwards.
So, alternative maybe (at least to get one more boot into the system?):
(2) BUT couldn't I reflash through ODIN the patched 3.4.0-3_ianmacd.img that I do have sitting on my SD card from that last upgrade long ago? That was the one on the unit until half hour ago, working fine. Take that .img, tar it, and throw it into ODIN's AP slot? Will that brick my phone for good, or will it work? The ROM itself wasn't touched yet (by me), I only flashed the new twrp into the recovery partition. Did that brake more? If not, shouldn't the restore of the last twrp work?

Before I brick it or wipe it... anyone?
 
Last edited:

meric57

Senior Member
Oct 2, 2017
299
59
Oeutrange
Samsung Galaxy Tab E
Hello ianmacd, just to know I read at the beginning when can install TRWP being rooted with magisk way john wu.
so I'm on android 12 UI 4.1 magisk 23.4 zygisk activated, so if I understood correctly with TRWP for my smansung s10 G973F exynos, just modify the TRWP image with magisk and flash with magisk then start with recovery key manipulation.
 

Philnicolls89

Senior Member
Hello ianmacd, just to know I read at the beginning when can install TRWP being rooted with magisk way john wu.
so I'm on android 12 UI 4.1 magisk 23.4 zygisk activated, so if I understood correctly with TRWP for my smansung s10 G973F exynos, just modify the TRWP image with magisk and flash with magisk then start with recovery key manipulation.
You need to patch the twrp image with magisk yes but then either flash using ODIN or flash it using the twrp app from playstore.
If your phone is still encrypted then you will also need to boot to twrp after flashing and perform a data format (which will wipe everything on your phone, so make backups).
Then flash multidisabler through twrp and select the ' reboot to recovery' option and let the phone boot up.
 

meric57

Senior Member
Oct 2, 2017
299
59
Oeutrange
Samsung Galaxy Tab E
Hello Philnicolls89, I'm going to take the solution with TRWP APK it offers me version TRWP3.6.1_9.1beyond1lte.img.tar to know that I don't know if it's compatible with android12 UI4.1. Also for encryption the multidisabler whichever will be compatible.
Here he speaks TRWP 3.4.0 yes then compatible or not with android 12.
 

meric57

Senior Member
Oct 2, 2017
299
59
Oeutrange
Samsung Galaxy Tab E
Hi ianmacd,
I've tried your instructions but I had some difficulties understanding it or getting a root shell app, etc.
I've found an easy way for me to install TWRP is via the TWRP app.
I think that people who are new to the S10 would appreciate if you would mention and link alternative methods of installing TWRP for S10 in your first post of this thread.
Thanks
Hello Natraj, how did you flash with TRWP application just TRWP.img for S10 exynos without modifying with magisk 23.4.
the decryption you use multidisabler which version your no problem then with magisk.
 

meric57

Senior Member
Oct 2, 2017
299
59
Oeutrange
Samsung Galaxy Tab E
Hello, still no answer for TRWP for android 12 and multisliader

I managed to flash TWRP modify exynos version I start trwp manipulation button, I installed magis23.4.zip flashes musltislaider 3.2 wipe data always encrypted internal memory.
 
Last edited:

meric57

Senior Member
Oct 2, 2017
299
59
Oeutrange
Samsung Galaxy Tab E
Double post suite updated from magisk25.0
Hello, I have a problem for the update it installs I restart remains blocked on android logo and smasung S10.

I have to boot in TRWP recovery mode and restore last backup to restart in system, do I have to flash with TRWP magisk 25.0 in zip and wipe cache / dalvick or just flash and start system.

Merci



I got my answer thanks to zgfg


Magisk app only flashes the update if you use Direct install. Otherwise you only update app/mngr, but not Magisk

There are two 'things', Magisk itself and Magisk app. Updating only the app does not mean that Magisk was also updated
 
Last edited:

Rawdog.dll

Member
Sep 1, 2017
21
4
Hello guys.
I'm wondering if i could install a recent version of TWRP (like twrp-3.6.2_9-0-beyond1lte.img).
This version worked for me (3.4.0-4), but when i install a recent version like mentioned above, it goes to download screen, like a boot error. (vb meta, something like)
I can only work with this version. why?

Informations:
Android 10
S10
OneUI 2.1
Security patch 04/2020

Using a TWRP patched image with Magisk.
Flashing using Odin 3.14.1


Thanks
 

meric57

Senior Member
Oct 2, 2017
299
59
Oeutrange
Samsung Galaxy Tab E
Hello Rawdog.dll, your S10 is the exynos G973F model if so, you must first modify with maisk 25.1 then root your S10.
Then take the TRWP 3.6.2_9-0 image modify it with magisk 25.1 then flash with odin don't forget to follow the tutorial.
 
  • Like
Reactions: Rawdog.dll

ZmisiS

Senior Member
Dec 23, 2011
3,290
758
60
Livno
You need to patch the twrp image with magisk yes but then either flash using ODIN or flash it using the twrp app from playstore.
If your phone is still encrypted then you will also need to boot to twrp after flashing and perform a data format (which will wipe everything on your phone, so make backups).
Then flash multidisabler through twrp and select the ' reboot to recovery' option and let the phone boot up.
I can patch onley .img. When I try patck .tar, notification is failed. File .img not for ODIN. I have last version Stock ROM for Samsung Galaxy S10 (SM-G973F), Android 12. AP is patched with Magisk. Can I have Rooted Stock ROM and TWRP?
 

jongiza

New member
Jul 31, 2022
4
0
Hello Guys. I already tried rooting my phone. it works. but my problem is when i reboot my phone the root is gone. Can you guide me on how to fix this?

TIA!
 

jongiza

New member
Jul 31, 2022
4
0
You said that the root were working. So, could you say what happen when you try to start the system into recovery mode? (Bixby + vol up + power, then release when logo appears)
i can see the menu`s like reboot now, restore factory data. When im using the lucky patcher and appied patch,it requires me to reboot my device to apply the patch. When i reboot the device and check the root checker. my device is unroot again.
 

Rawdog.dll

Member
Sep 1, 2017
21
4
i can see the menu`s like reboot now, restore factory data. When im using the lucky patcher and appied patch,it requires me to reboot my device to apply the patch. When i reboot the device and check the root checker. my device is unroot again.
Once this device has system as root, always when you need to restart, do the combinations like a I said above or go to the magisk app, then click on the loop arrow symbol located at upper menu, then click on the second option (reboot in recovery mode).

The reboot option directly from LP do a normal boot, without magisk enabled.
 
  • Like
Reactions: Ryu--X and jongiza

jongiza

New member
Jul 31, 2022
4
0
Once this device has system as root, always when you need to restart, do the combinations like a I said above or go to the magisk app, then click on the loop arrow symbol located at upper menu, then click on the second option (reboot in recovery mode).

The reboot option directly from LP do a normal boot, without magisk enabled.
Dude youre a f**king Legend! Thank you for teaching me this one! It is now working when i reboot the device!
 

Top Liked Posts

  • There are no posts matching your filters.
  • 115
    twrp-featured.jpg


    Preamble

    When TWRP first appeared for the S10 range of devices, it quickly became clear that there were some major issues with the initial builds.

    Many users were understandably frustrated at losing the ability to boot their device after shutting it down, and at being unable to update Magisk after installing TWRP.

    A number of users took to contacting me privately for support. I answered their questions and even shared fixed images in a few cases, but the number of support requests was rising daily and I could not keep pace with the demand.

    Given that the poster of the original images (Geiti94) was evidently unable to offer fixed TWRP images in a timely fashion, I ultimately took the liberty of doing so myself in a posting to the original TWRP thread as a service to the community.

    Whilst this served to relieve the immediate pressure, the ongoing need to fix bugs and make further enhancements to the software made a fork of the original project inevitable, so I have taken the step of promoting it to its own DevDB project and thread here on XDA.

    Credit goes to Geiti94 for conducting the time-consuming initial legwork and releasing the original builds. His is the foundation on which this work now builds. This fork in no way implies any disrespect to him, but does strongly acknowledge the need of the S10 user base to be supplied with proper, working images and timely updates.

    Samsung system-as-root devices

    All new devices launched with Android 9 are required to be factory-configured as system-as-root devices. The ramdisk image formerly found in boot.img is now merged with system.img.

    For Samsung devices such as the Galaxy S10 series, this means that boot.img can no longer be used to root the device. Instead, Magisk is installed to the recovery partition and the user must subsequently always boot from that partition, regardless of whether TWRP or Android is desired. The device's hardware keys are used at boot time to select between Magisk-rooted Android and TWRP.

    This configuration dictates that TWRP and Android share a common recovery kernel. However, because TWRP cannot function with a stock kernel, a modified kernel must be compiled from Samsung's source code. Unfortunately, this kernel is sensitive to changes in Samsung's firmware releases from one month to the next, meaning that problems can arise if a given kernel is used with firmware newer than the version the kernel was intended for.

    This unfortunate situation necessitates semi-regular maintenance releases of TWRP to keep the kernel in step with the latest version of the S10 series firmware. This requirement is further complicated by the fact that any given release of Samsung's modified kernel source code typically trails the associated firmware release by anything from a few days to a few weeks.

    TWRP without Magisk

    If your device is currently still unrooted and running stock firmware, you are strongly advised not to proceed with installing TWRP. First root your device with Magisk, using John Wu's excellent Samsung system-as-root-instructions for patching the firmware's AP file. Only when you have completed that procedure should you return here and continue from the Image Preparation section.

    If you insist on proceeding with installing TWRP to a stock device without Magisk, you will need — at a minimum — to flash a vbmeta.img with verity disabled or you will render your device unable to boot. You can construct such an image using the following command:

    Code:
    $ avbtool make_vbmeta_image --out vbmeta.img

    Alternatively, if you don't have a copy of avbtool at hand, the following piece of shell code will do the trick on the device itself:

    Code:
    h=$(printf '4156423%08d1%0240d617662746f6f6c20312e312e3%0230d')
    d=''
    i=0
    while [ $i -lt ${#h} ]; do
      d="$dx${h:$i:2}"
      i=$((i+2))
    done
    printf "$d" > vbmeta.img

    Next, flash this to the vbmeta partition, using either Heimdall or Odin.

    Code:
    # heimdall flash --VBMETA vbmeta.img

    You may then proceed with installing TWRP according to the instructions below.

    Image preparation

    In contrast to the original Geit94 release, these and subsequent TWRP images will not be supplied pre-rooted with Magisk. Whilst it would be trivial to offer them in this format, this kind of binary distribution of Magisk is against the terms of use laid out by Magisk's developer, John Wu.

    To root the TWRP image yourself, simply use Magisk Manager to Select and Patch a File. Provide your freshly downloaded TWRP image file as the input.

    Installation

    You are now ready to flash the resulting magisk_patched.img image file to your device's recovery partition.

    One quick and easy way to do this on an already rooted device is from a root shell:

    Code:
    # f=/storage/emulated/0/Download/magisk_patched.img; dd if=$f of=/dev/block/sda15 bs=$(stat -c%s $f)
    1+0 records in
    1+0 records out
    61734912 bytes transferred in 0.426 secs (144917633 bytes/sec)

    If TWRP is already installed and you are merely updating it, you may, of course, use TWRP itself to flash the new version.

    If the device is not yet rooted (or even if it is), you may use Odin in Windows, but you will need to rename and tar the image first. Otherwise, Odin will not understand what to do with the image.

    For example:

    Code:
    $ mv twrp-beyond[012]lte.img recovery.img
    $ tar cf twrp-beyond[012]lte.img.tar recovery.img

    And if rebooting to Windows is too disruptive, there's always Heimdall:

    Code:
    $ sudo heimdall flash --RECOVERY twrp-beyond[012]lte.img

    Download

    The latest unofficial local builds currently available are:

    Android 10


    Android 9


    Official builds were also offered by me until the release of Android 10 for the S10 series, but have been discontinued. They offered no practical advantage over the unofficial builds, yet added considerably to the administrative burden. Any build for Android 10 and tagged official has not been built by me.

    These builds are based on the latest version of TWRP and include a kernel compiled from Samsung's latest available source code. The kernel runs in SELinux enforcing mode and its configuration has intentionally been kept as close to stock as possible in order to provide maximum compatibility with both Android and TWRP.

    The builds have been well-tested and are known to work as intended on supported firmware versions. See posting #2 of this thread for details of which TWRP builds work with which versions of Samsung's firmware.

    If you later find yourself running on updated firmware that is incompatible with this kernel, you have the option of flashing and rebooting to TWRP on demand. When you are finished in TWRP, you can replace your recovery image with Magisk-rooted stock recovery and reboot back to Android.

    If installing TWRP on your device for the first time or reinstalling it following a firmware upgrade, do not forget to disable file-based encryption (FBE) immediately after flashing TWRP or you won't be able to read files on /data in TWRP. To achieve this (and to protect yourself against various anti-root protection mechanisms that Samsung have booby-trapped the device with), flash the latest version of the multidisabler as soon as you have installed TWRP.

    Device firmware updates

    When it comes time to update your device's firmware, please follow John Wu's excellent instructions for patching the firmware's AP file. Do not skip any of the steps.

    Next, use Odin to flash the patched AP file, together with the stock BL, CP and HOME_CSC files. Never leave the CSC slot empty when flashing an AP file, or your /data partition may be shrunk and your data damaged during the flash.

    When finished, immediately reboot back to download mode and reflash your Magisk-patched TWRP image. Alternatively, you may replace recovery.img in the patched AP file with your rooted TWRP image, thereby avoiding the need to separately reflash TWRP afterwards:

    Code:
    $ tar f magisk_patched_twrp.tar --delete recovery.img && tar rf magisk_patched_twrp.tar recovery.img

    Lastly, boot to TWRP and reflash the latest version of the multidisabler. Note that your first boot to TWRP after installing new firmware may just run a post-installation recovery script that wipes /cache, so you may need to trap the automatic reboot that follows and boot to TWRP a second time.

    Do not skip rerunning the multidisabler, as flashing new firmware will have re-enabled critical security features that you must now re-disable.

    Frequently Asked Questions

    Q. I've just updated my G97[035]F device to ASIG firmware and now I can no longer boot to TWRP, which means I also can't flash the multidisabler to keep encryption disabled. What can I do?

    Samsung's new ASIG firmware for the S10 series has proven to be incompatible with any kernel compiled for an earlier version of the firmware. You are urged to upgrade to TWRP version 3.3.1-10_ianmacd or later to avoid problems with this firmware.

    If you are unable or unwilling to do this, the following procedure should be observed:

    If you simply upgrade to this new firmware as usual, by patching the AP file with Magisk Manager, you will find yourself unable to boot TWRP afterwards, and therefore also unable to flash the multidisabler. This is a potentially dangerous situation, as it can lead to data loss if not properly tackled.

    1. When flashing the new full firmware in Odin, use the BL file from the previous ASH6 firmware, not the one from ASIG. Include the latest version of TWRP as recovery.img in the AP file, as per usual.

    2. After flashing the firmware, reboot to TWRP as usual. Flash the multidisabler and any other files you usually flash as part of the post-upgrade process.

    3. Make a copy of the ASIG BL tar file. From this copy, either remove vbmeta.img or replace it with a benign copy constructed as per the #vbmeta note in this group.

    4. Use Odin to flash your modified BL file, together with a Magisk-patched copy of the stock ASIG recovery image in the AP slot.

    5. Reboot to rooted Android.

    If you follow these instructions, you will successfully upgrade your device to ASIG firmware, whilst retaining a decrypted /data file-system, etc.

    TWRP can still be used on demand, but you will need to add the swapping of the bootloader to your existing procedure for switching between stock and custom recovery. Or you can simply wait a couple of weeks for Samsung to release updated kernel source code for ASIG, at which time I will issue new builds of TWRP.

    Lastly, there are apparently some new TWRP builds currently doing the rounds that deal with the ASIG incompaibility issue by including a kernel hacked together from a mixture of S10 and Note10 source code. Approach such hybrids with due caution.​

    Q. I don't want to dual-boot Android using the custom kernel from my TWRP image. The latest TWRP kernel is often compiled for older firmware. Even if there are no visible issues using this older kernel, I'm probably missing out on improvements and fixes made in the latest kernel. Is there really no other way to run TWRP on these devices?


    A. Actually, there is another way and it's actually simpler than and therefore preferable to dual-booting. You can opt to simply flash and boot TWRP on demand, leaving a Magisk-rooted stock recovery on your device the rest of the time.

    For example, the following simple script could be used to toggle your recovery partition between stock and TWRP images.

    Copy the following (not as the superuser) into a file, for example /storage/emulated/0/switch-recovery:

    Code:
    #!/bin/sh
    
    twrp_img=/storage/9C33-6BBD/twrp-3.3.1-4.img
    
    # Path to ext. SD is different in TWRP.
    stock_img=/external_sd/recovery-asf3-magisk.img
    
    if [ -f /sbin/magisk ]; then
      # We're in Android: Switch to TWRP.
      #
      infile=$twrp_img
      su='su -c'
    else
      # We're in TWRP: Switch to Android.
      #
      infile=$stock_img
    fi
    
    $su dd if=$infile of=/dev/block/sda15 bs=$(stat -c%s $infile) && reboot recovery

    Then run it in Android in a terminal session:

    Code:
    # sh /storage/emulated/0/switch-recovery

    It will flash your TWRP image and reboot the device to recovery. If the TWRP image is rooted, you'll still need to press the usual key combo to force pass-through to TWRP.

    Do your work in TWRP and then run the script again from the TWRP terminal. This time, it will reflash your stock recovery image and reboot again to recovery. There's no need to press the hardware keys this time, because you are booting to Magisk-rooted Android.

    Obviously, you must change the paths in the script to match where your own images are stored.

    Q. Somewhere in upgrading my firmware, rooting and installing TWRP, my /data file-system mysteriously shrank to a fraction of its former size and appears to have been wiped. What happened? Is TWRP responsible for this?


    A. No. This appears to be a side-effect of using Odin to flash an AP file to these devices with the CSC slots left empty. Never flash a full AP file on this range of devices without also filling at least the HOME_CSC slot. It is safe, however, to flash only a recovery image in the AP slot.

    To attempt to repair the damage, you need to boot to TWRP, select Advanced Wipe, tick Data, select Repair or Change File System followed by Resize File System. Your /data will return to its former size, but you will probably find you have lost some data. Restore a /data back-up afterwards to be sure of having all your data.

    Q. When I mount /system and execute commands in the TWRP terminal or over adb, I get a lot of noise about problems with the dynamic linker.


    A. This problem is fixed as of version 3.3.1-1_ianmacd.

    It is caused by /etc/system becoming a symlink to itself when /system is mounted, resulting in infinite recursion when followed.

    The screen on your text is just a warning, not an error. Your commands are still being executed.

    Nevertheless, noise annoys, so you can silence the warning by pasting the following commands into the terminal (with thanks to John Wu):

    Code:
    # mount --move /system /system_root && mount -o bind /system_root/system /system

    Q. My favourite zip doesn't flash properly using this TWRP. Someone said these TWRP builds are to blame, because they don't include BusyBox. Why don't you fix them?


    A. Because there's actually nothing wrong with them. It's the installer code of your favourite zip that is broken. TWRP is merely exposing that fact. Don't shoot the messenger.

    A lot of poorly written legacy installer code lazily assumes the presence of certain binaries, in particular BusyBox. However, the inclusion of BusyBox in TWRP is a compile-time option entirely at the discretion of the builder. It is not a requirement.

    Not only that, but the inclusion of BusyBox in builds of TWRP targeting Android 9.0 and later is officially deprecated. Maintainers of such devices are instead advised by the TWRP team to use Toybox, and these builds for the S10 series comply with that advice. Furthermore, it's actually currently impossible to even build an official TWRP image for these devices with BusyBox included. Compilation of TWRP on the official build server will fail if this is attempted.

    In short, the assuming BusyBox's presence on the device is unsafe and your favourite zip's author should fix his installer code. Supply him with an installation log and politely ask him to rewrite the installer code to be independent of this historical TWRP implementation detail.

    Anyone who maintains that TWRP is broken without the inclusion of BusyBox is simply either unwilling or unable to grasp the facts.

    Q. When I boot to Android, I can no longer log in. Why?
    :victory:

    A. Probably because of a mechanism called rollback protection. What has most likely happened here is that you have previously booted the device from a boot image with a later security patch level than the one from which you are trying to boot now.

    As an example, let's say you are currently booting your device from a TWRP image with a security patch level of 2019-06. Then, Samsung issues a firmware update with a patch level of 2019-07. You update to that firmware, but immediately replace the stock recovery image with your trusty TWRP image and keep booting from that. Everything continues to work as it did before.

    However, one day, you accidentally boot the device from the boot partition instead of the recovery partition. The device predictably comes up unrooted, but more significantly, it has now been booted from a (stock) boot image with a patch level of 2019-07, a fact that the device has now also committed to memory.

    If you now reboot from the recovery partition, you will find that Android will no longer allow you to log in when the lock screen appears. This is because you are attempting to boot from an image with a patch level (2019-06) that is now earlier than the latest one previously used to boot the device (2019-07). Android considers this insecure and will not allow it. This mechanism is called rollback protection.

    The simplest solution and the one with the least negative impact is to update the security patch level of the TWRP image to match that of the latest image used to boot the device. You can achieve this using magiskboot unpack -h or with AIK.

    Links


    XDA:DevDB Information
    TWRP for Galaxy S10 Exynos series, Tool/Utility for the Samsung Galaxy S10+

    Contributors
    ianmacd, Geiti94

    Version Information
    Status: Stable
    Current Stable Version: 3.4.0-4_ianmacd
    Stable Release Date: 2020-11-17

    Created 2019-04-25
    Last Updated 2020-11-17
    33
    By clicking on the button below you will get a set of instructions, step-by-step, on how to install Ians excellent work with TWRP as a recovery for your device and John Wu's root via Magisk.

    This is not the fastest or most uncomplicated tutorial to do this. It is, however, made to make sure as many as possible succeed. So if you feel that a step or two is uncessesary, this tutorial is probably not for you since you most likely already know enough to just go by Ians more direct instructions. So dont PM me with tips on how to simplify these steps, I already know about that and that is not the point of the tutorial.

    The instructions are intended for:

    • The user that either is completely new to this world but have managed to get an unlocked bootloader beforehand
    • The user that just want to have some instructions to follow to not forget a step in the process
    Please note that the tutorial should work just fine for the S10E-device, but there might be another set of key combinations for your device, please take care to understand what you need to do in specifics to do the same presses of buttons.


    It is strongly encourage to flash lates stock firmware and do a complete clean system install before using this tutorial. However, if you know what you are doing, it will work fine with an already rooted system as long as you have the latest Canary build (both magisk and magisk manager) on your device when patching the TWRP-image and the firmware AP-file per instructions below.

    Where ever you decide to start, know that your device will be wiped and you need backups for your relevant data before you begin.

    These instructions are ...

    .. an "add-on" till John Wu's Magisk solution that will make your device rooted with Magisk and having Ian Macdonalds TWRP-recovery
    .. for those who have already an unlocked bootloader - DO NOT attempt this without first making sure you have "OEM Unlocked" enabled

    Step-by-step guide:

    A) Follow John's instructions HERE until you get to step 5, then return here

    B) Download latest TWRP-image by Ian Macdonald for your type of device in the first post in this thread

    C) Download latest multidisabler-zip by Ian Macdonald and copy it to your SD-CARD - download here

    D) Copy the TWRP-image to your device and do the same as you did with the AP-file in Magisk Manager (Install->Install->Patch file and choose the TWRP-image)

    E) Copy the patched TWRP-image and magisk_patched.tar to your computer

    F) Rename the patched TWRP-image to "recovery.img" on your computer

    G) With your own choice of program on your computer, open the "magisk_patched.tar"-file, remove the existing recovery.img and replace it with your newly patched recovery.img and save the tar-file

    H) Boot your device to download mode

    I) Go back to John's instructions and IGNORE step 6 and DO step 7 and come back here!

    J) We now need to factory reset our device:

    -> Press Power + VolDown for a few seconds to get out of download mode
    -> AS SOON AS THE SCREEN GOES BLACK: Press Power + Bixby + VolUP and HOLD THESE KEYS FOR A LONG TIME until you see the bootlogo of TWRP, then release the keys

    K) In TWRP, install your downloaded multidisabler-zip from your SD-CARD and DO NOT REBOOT

    L) In TWRP, format data (not only wipe, choose specifically "Format data" and write "yes" and go ahead and after DO NOT REBOOT

    M) In TWRP, go back to the start screen - choose "Reboot" and choose "Recovery" AND NOTHING ELSE - DONT touch any keys on the device

    N) Go back to John's instructions and begin from step 12

    O) All done - you know have a rooted device by Magisk, with TWRP as recovery - enjoy and be sure to thank Ian Macdonald for the help with TWRP and John Wu for Magisk root!
    32
    Changelog

    v3.4.0-4_ianmacd for G97[035]F [inc. DTJA kernel] (2020-11-17)
    • Rebase kernel on Samsung's DTJA source code.
    • Merge all outstanding fixes and enhancements from the TWRP source tree.
    • This version is intended for use only with Android 10.

    v3.4.0-3_ianmacd for G97[035]F [inc. DTH7 kernel] (2020-09-11)
    • Rebase kernel on Samsung's DTH7 source code.
    • This version is intended for use only with Android 10.

    v3.4.0-2_ianmacd for G97[035]F [inc. CTG4 kernel] (2020-08-14)
    • Rebase kernel on Samsung's CTG4 source code.
    • This version is intended for use only with Android 10.

    v3.4.0-1_ianmacd for G97[035]F [inc. CTF1 kernel] (2020-06-30)
    • Update TWRP to version 3.4.0.
    • This version is intended for use only with Android 10.

    v3.3.1-105_ianmacd for G97[035]F [inc. CTF1 kernel] (2020-06-18)
    • Rebase kernel on Samsung's CTF1 source code.
    • This version is intended for use only with Android 10.

    v3.3.1-104_ianmacd for G97[035]F [inc. CTD1 kernel] (2020-05-31)
    • Rebase kernel on Samsung's CTD1 source code.
    • This version is intended for use only with Android 10.

    v3.3.1-103_ianmacd for G97[035]F [inc. CTC9 kernel] (2020-03-31)
    • Rebase kernel on Samsung's CTC9 source code.
    • This version is intended for use only with Android 10.

    v3.3.1-102_ianmacd for G97[035]F [inc. BTA8 kernel] (2020-02-08)
    • Rebase kernel on Samsung's BTA8 source code.
    • This version is intended for use only with Android 10.

    v3.3.1-101_ianmacd for G97[035]F [inc. BSKO kernel] (2019-12-20)
    • Fix for cosmetic Unable to decrypt FBE device message that was sometimes displayed in the previous Android 10 release (-100).
    • This version is intended for use only with Android 10.

    v3.3.1-13_ianmacd for G97[035]F [inc. ASJG kernel] (2019-12-20)
    • Fix for cosmetic Unable to decrypt FBE device message that was sometimes displayed in the previous Android Pie release (-12).
    • This version is intended for use only with Android 9.

    v3.3.1-100_ianmacd for G977B [inc. BSL2 kernel] (2019-12-20)
    • Rebase kernel on Samsung's BSL2 source code.
    • This version is intended for use only with Android 10.

    v3.3.1-7_ianmacd for G977B [inc. ASJ7 kernel] (2019-12-19)
    • Rebase kernel on Samsung's ASJ7/ASK1 source code.
    • Merge latest upstream TWRP commits.

    v3.3.1-100_ianmacd for G97[035]F [inc. BSKO kernel] (2019-12-07)
    • Rebase kernel on Samsung's BSKO source code.
    • This version is intended for use only with Android 10.

    v3.3.1-12_ianmacd for G97[035]F [inc. ASJG kernel] (2019-12-03)
    • Rebase kernel on Samsung's ASJG source code.

    v3.3.1-11_ianmacd for G97[035]F [inc. ASIG kernel] (2019-10-11)
    • Add support for Samsung DeX for PC.

    v3.3.1-10_ianmacd for G97[035]F [inc. ASIG kernel] (2019-10-07)
    • Rebase kernel on Samsung's ASIG source code.
    • Merge latest upstream TWRP commits.

    v3.3.1-9_ianmacd for G97[035]F [inc. ASH6 kernel (which also works with ASH1 firmware)] (2019-09-17)
    • Restore working MTP functionality to TWRP. With thanks to bigbiff for the reference and to Geiti for his commit embodying the same fix.

    v3.3.1-8_ianmacd for G97[035]F [inc. ASH6 kernel (which also works with ASH1 firmware)] (2019-09-06)
    • Kernel rebased on Samsung's ASH6 source code.

    v3.3.1-7_ianmacd for G97[035]F [inc. ASG8 kernel (which also works with ASH1 firmware)] and v3.3.1-6_ianmacd for G977B [inc. ASF5 kernel] (2019-08-20)
    • File-based System back-up option was missing in v3.3.1-6_ianmacd.

    v3.3.1-6_ianmacd for G97[035]F [inc. ASG8 kernel (which also works with ASH1 firmware)] and v3.3.1-5_ianmacd for G977B [inc. ASF5 kernel] (2019-08-18)
    • Use $ANDROID_ROOT to set the mount point for the system block device to /system_root on these system-as-root devices.

      This change renders this and future TWRP releases incompatible with previous versions. Any existing zip file installer code that attempts to mount /system or expects the system block device to be mounted on /system will now fail under this new version and will require modification.
    • Solved infinite recursion of symbolic links when resolving /system paths.

    v3.3.1-5_ianmacd for G97[035]F [inc. ASG8 kernel (which also works with ASH1 firmware)] (2019-08-07)

    • Kernel rebased on Samsung's ASG8 source code.

    v3.3.1-4_ianmacd for G977B [inc. ASF5 kernel] (2019-07-06)

    • Kernel rebased on Samsung's ASF5 source code.
    • Hugely improved Dutch translation.

    v3.3.1-4_ianmacd for G97[035]F [inc. ASF3 kernel] (2019-07-05)

    • Kernel rebased on Samsung's ASF3 source code.
    • Hugely improved Dutch translation.

    v3.3.1-3.1_ianmacd for G977B [inc. ASEC kernel] (2019-06-21)

    • First production release for the G977B (beyondx).

    v3.3.1-3.1_ianmacd for G97[035]F [inc. ASE7 kernel] (2019-06-12)

    • Removed an experimental patch that was accidentally included in v3.3.1-3_ianmacd.

    Previous releases were for the G97[035]F only:


    v3.3.1-3_ianmacd [inc. ASE7 kernel] (2019-06-12)

    • Kernel rebased on Samsung's ASE7 source code.

    v3.3.1-2_ianmacd [inc. ASD5 kernel] (2019-05-21)

    • Image back-ups of /product now possible.

    v3.3.1-1_ianmacd [inc. ASD5 kernel] (2019-05-17)

    • Updated to upstream v3.3.1-0.
    • Fix linker warnings when binaries are executed while /system is mounted.

    v3.3.0-2_ianmacd [inc. ASD5 kernel] (2019-05-11)

    • Kernel rebased on Samsung's ASD5 source code.

    v3.3.0-1_ianmacd [inc. ASCA kernel] (2019-04-26)

    • Add support for mounting, backing up and restoring /product.
    • Add support for backing up and restoring /vendor.
    • Partitions now listed alphabetically.
    • Default brightness now 66% of maximum brightness (was 50%) to aid reading.

    v3.3.0-0 [inc. ASCA kernel] (2019-04-21)

    • First ianmacd release.
    • TWRP updated to 3.3.0-0.
    • Fixes death on power-off issue, which left device unable to boot when turned back on.
    • Fixes inability to upgrade Magisk via Magisk Manager.
    • Replaces SELinux permissive kernel with enforcing kernel.
    21
    Version 3.4.0-2_ianmacd for G97[035]F has been released.

    Changelog

    v3.4.0-2_ianmacd for G97[035]F [inc. CTG4 kernel] (2020-08-14)
    • Rebase kernel on Samsung's CTG4 source code.
    • This version is intended for use only with Android 10.
    20
    @ianmacd - I can't thank you enough for your continued efforts, work and support for TWRP on the S10 Plus (all S10 Variants) You have sacrificed your personal time to help the thousands of us who want to use TWRP and the fact that you have so selflessly given your time and support is greatly appreciated. I can't count the times you have jumped in and offered advise and support to people having issues or needing additional support - with patience and understanding you have helped and guided them thru their issues to the ultimate successes of getting their phone setup with TWRP/Magisk.
    If I may be so bold, on behalf of everyone you have helped and will help in the future (myself included) THANK YOU!

    Well, that's the nicest thing anyone is likely to say to me today, so thank you very much for taking the time to do so.

    I'm happy to help, but it's very gratifying to hear that one's work isn't taken for granted.

    And if we're going to call people out for their contribution, then @PiCkLeS should really be mentioned in this context. His tireless and patient support of users, often invisibly via PMs on Telegram, has freed me to concentrate mostly on the technical side of this project.

    Teamwork: That's what it's all about.