[RECOVERY] [TREBLE] [RETIRED] TWRP with Tissot Manager (Treble & Dual boot support)

Search This thread

Coboooo

Member
Dec 20, 2014
26
2
is mtp bug has been solved on treble device ?? cant move anything from pc to phone .
Same here. Already asked 3 times on this thread, no answer yet

---------- Post added at 11:39 AM ---------- Previous post was at 11:34 AM ----------

Still not able to mount data partition on treble. Anyone??
 

Devakgmu

Member
Mar 1, 2016
36
4
Lucknow

Attachments

  • Screenshot_Opera_20181111-205300.png
    Screenshot_Opera_20181111-205300.png
    217.7 KB · Views: 458
Last edited:

Thomas_xxxxx

Senior Member
Jul 31, 2013
253
35
Any quick guide how to dual boot two ROMs with this modified TWRP recovery? Just change slot and flash ROM or some other steps are required? From OP I did not know what exactly is needed to do to dual boot. Thank you.
 

bundy2

Senior Member
Sep 18, 2017
75
20
Thanks cosmicdan
With this recovery i had managed to install twrp on my mi a1
mi a1 is a ***** to install twrp
 
  • Like
Reactions: zulfia

Rakesh rawap

Member
Oct 10, 2016
9
0
Hyderabad
Whenever iam moving from gsi(havoc gsi) to non treable rom (tried with bootlegger and PE pie) . The ROM doesn't boot or it get random reboots.
I have wiped cache; dalvik; system ; vendor and flashed non-treable rom
 

paolocorpo

Senior Member
Jan 9, 2013
1,787
380
Sassoferrato
I've been convinced by my Tissot mates to update this to 4.9 kernel for latest Pie ROM's. It may solve other problems too. Will move it over to a minimal TWRP tree too so it's easier for someone else to take over, since I've technically retired from Mi A1. Stay tuned.
Many thanks
Do you have a plan for it ?

Inviato dal mio Mi A1 utilizzando Tapatalk
 

saski4711

Senior Member
Jul 9, 2016
518
131
I've been convinced by my Tissot mates to update this to 4.9 kernel for latest Pie ROM's. It may solve other problems too. Will move it over to a minimal TWRP tree too so it's easier for someone else to take over, since I've technically retired from Mi A1. Stay tuned.

Thank you for keeping TWRP up to date! :)
 

Top Liked Posts

  • There are no posts matching your filters.
  • 117
    RETIRED! No longer supported or being developed. @Giovix92 is now the lead dev, please use his TWRP for full compatibility with modern kernels/ROM's - https://xdaforums.com/mi-a1/development/recovery-twrp-3-3-1-0-tissot-manager-t3976117

    Old thread below:

    -----------------------------------

    About

    This is a TWRP Installer ZIP and bootable IMG with extra capability such as Treble-izing, Dual boot repartitioning and other power-user tools with integrated Aroma Installer-powered GUI screens that I call Tissot Manager.

    HIGHLY recommended reading and guide for everyone new to Treble - [TREBLE][GUIDE] From Stock to Treble - everything you need to know!. It also has some general protips hidden within there, for example the seamless/slot system interactions and nuances, so it's worth reading for anyone who wants to be a master of the Android flashing domain ;)


    Features:

    • TWRP fully Treble-ready with dual-boot ROM patcher;
    • Maintained with latest TWRP version;
    • Fully compatible with non-Treble devices - can be used as normal without Treble partitioning;
    • USB-OTG fixed
    • Has 'TWRP survival' function for automatically re-installing TWRP recovery when installing ROMs and kernels;
    • Option to install a payload ROM in the current slot, rather than the inactive one;
    • Option to ignore Payload<>Recovery certificate failures (fix for newer LOS-based ROMs);
    • Adds a "Tissot Manager" Aroma GUI to TWRP Advanced Menu (bottom-right button), which is the tool used to repartition the device for Treble and Dual boot, as well as some other nifty stuff:
      • Has the option to shrink System OR Userdata to create Vendor partitions. All relevant partitions will be resized and formatted in one go.
      • If you shrink System, you will keep max size Userdata - however it will be incompatible with non-Treble ROM's (they will crash on installing with Error 28 due to System being too small). It will Erase system, requiring you to reinstall a ROM or restore a ROM backup.
      • If you shrink Userdata, it will ERASE DATA AND INTERNAL STORAGE COMPLETELY - but your device will stay compatible with all existing non-Treble ROM's
      • Dual boot requires Userdata shrink and works by splitting into userdata_a and userdata_b. The partition split size is customizable during the repartition process.
      • Adds a "Patches" section with the following current options:
        1. Patch the current Vendor for dual-boot capability (only required if automatic patching wasn't possible). See the 'About Dual-boot' section below for more information.
        2. Enable an insecure ADBD on boot for the current slot (i.e. enable debugging and remove authentication requirement). Useful for ROM hackers/porters.
        3. Patch the current slot to enable/disable forced userdata encryption
      • All of this info is detailed inside the Tissot Manager GUI.
      • See screenshots in post 2.



    Instructions

    • Optionally boot the boot-recovery.img to get a temporary TWRP if you don't have it installed, unzipped from TWRP-boot.img-3.2.1-with-Tissot-Manager-x.x.zip:
      Code:
      fastboot boot boot-recovery.img
      Warning - do not EVER flash this img - hotboot it only.
    • Flash the TWRP Installer. Any slot, any ROM, any existing Recovery - it doesn't matter - it will be installed to both slot kernels.
    • Reboot Recovery
    • Optional - Use the "Advanced > Tissot Manager" option for repartition options and other advanced ROM patches (Aroma Installer powered GUI - a fully guided and interactive process).

    If you opted to repartition for Treble, you are ready to flash a Treble ROM/Vendor pack. Reminder - check out my full guide for learning and instructions on all things Treble.

    About TWRP survival

    TWRP survival is a simple hook that detects if a boot.img will be installed and restores TWRP after it's flashed. This only works if you have booted TWRP with Tissot Manager 2.0 from a real recovery boot - NOT from a recovery 'hot boot' (fastboot boot method).

    You will see in the install log if a TWRP survival attempt is successful in the flash text output.

    Automatic TWRP survival works when:
    • Flashing a ROM ZIP (or AIO) with TWRP
    • Flashing a boot.img in TWRP "Install Image" mode

    Automatic TWRP survival does NOT work when:
    • Flashing a boot.img via fastboot
    • Restoring boot in a TWRP backup
    • Any other way of flashing a boot.img

    In these cases, be sure the use the TWRP Installer immediately after flashing or restoring a backup - otherwise you may get the device into a confused state (especially if you restore a non-TWRP boot then try to install an AIO ROM without installing a new TWRP first).



    About Dual-boot

    Dual-boot on this device is relatively simple. As you know we have Slots - boot_a and _b, system_a and _b and vendor_a and _b (for Treble). This repartition splits userdata into userdata_a and _b too. You can simply change your Slot in TWRP reboot menu to change which ROM to boot.

    This is designed for developers and testers - NOT for daily use. There are some significant issues with dual boot systems:
    • Any kind of security lock (PIN, fingerprint, etc.) set on one ROM will cause the other ROM to believe it has security too, but constantly fail with unlocking. This is reportedly because security info is stored on persist, which is shared between each slot (and not compatible with differing ROM's).
    • Because Userdata is split, so is Internal Storage. In TWRP, when changing slots, the MTP will remain mounted to the old slot - it must be manually disabled and renabled (Mounts menu) to update to the new slot.

    I will not fix these issues - dual-boot is not designed to be for general/daily use and there may be more minor issues that I don't know about. It's intended for developers only.

    In order for a ROM to be dual-boot compatible, the fstab file (information given to Android about partitions to mount) needs a small modification. This TWRP can try to do this patching automatically when you install a ROM, or it can be done manually in Tissot Manager's Patches menu (as well as single-boot patch to e.g. revert a ROM backup from a dual-boot state).

    You will see in the install log if a dual-boot patch attempt is successful in the flash text output.

    Automatic dual-boot patch occurs only if necessary when:
    • Flashing an AIO Treble ROM ZIP with TWRP
    • Flashing a vendor.img in TWRP "Install Image" mode

    Automatic dual-boot patch does NOT work when:
    • Flashing a vendor.img via fastboot
    • Restoring vendor in a TWRP backup
    • Any other way of flashing a vendor

    In any of these cases, you can manually patch Vendor for Dual Boot in Tissot Manager's Patches menu. You can also remove dualboot support the same way. It will detect the dualboot state of the current Vendor slot and present the available option. If you find that it doesn't actually change after patching, the Vendor is incompatible (please report it to me). RR AIO Vendor is tested OK.



    Download


    All downloads (and source code) always at:

    https://github.com/CosmicDan-Android/android_device_xiaomi_tissot/releases

    ...or via DevBB Downloads section.


    Additional sources not able to be listed in DevBB:
    Modified update_engine: https://github.com/CosmicDan-Android/android_system_update_engine_tissotmanager-mod


    What's next?


    See [TREBLE][GUIDE] From Stock to Treble - everything you need to know! for detailed instructions and learning on how to Treble like a pro.




    FAQ


    Q) After I flash TWRP, I get kicked into a Recovery loop when trying to boot the ROM!
    A) This is probably because you have a kernel that does not disable dm-verity. To fix this, flash Magisk. The void kernel included in RR AIO does not have this problem and can therefore be safely used without Magisk (for e.g. GSI compatibility).

    Q) After I flash TWRP, I get kicked into fastboot when trying to boot the ROM!
    A) Your kernel is not Treble-compatible.

    Q) How do I update TWRP?
    A) Just flash the ZIP installer again, then Reboot Recovery. Note that this will erase Magisk on BOTH slots if you have it installed to either, requiring you to reflash it to one/both slots. See my Treble guide FAQ section for more info on Magisk interaction.

    Q) My PC can't see the MTP (storage) device from TWRP!
    A) For dualboot compatibility, MTP is automatically disabled at various points. Just enable it manually in the Mounts menu to get access.

    Q) If I shrink Userdata for Treble, will stock and OTA work?
    A) I have heard varying results on this. It does for some, not for others. Please assume that this will NOT work. It will definitely not work if you have shrunk system.

    Q) Can I restore a non-Treble TWRP backup after I repartition for Treble? And the other way around?
    A) Yes! In fact, this is the easiest way for...

    • ...using stock ROM on Treble repartition (requires Userdata shrink ONLY). May also require a custom kernel with dm-verity disabled (see Questions above regarding fastboot kick and recovery loop).
    • ...using a non-treble ROM if you shrunk System instead of Userdata since you cannot install non-Treble ROM ZIPs with a shrunk System (see next Q)
    Q) I get some Error 28 when trying to install a ROM when repartitioned
    A) You have shrunk System and are trying to install a non-Treble ROM. This is not possible AT ALL because the ROM ZIP expects a stock-size System. Use Userdata shrink mode instead if you want to be able to use non-Treble ROM's easily.

    Q) I see "Failed to mount '/system' (Device or resource busy)" red error in TWRP after flashing a ROM
    A) You can safely ignore it. You just need to reboot recovery before you can flash anything else (like Gapps) to this ROM.



    Credits and Thanks
    - @mohancm for the original TWRP port, I used some flags from his DT
    - @ghpranav and @mountaserhalak for the RR device tree that this is built with (and random help)

    XDA:DevDB Information
    TWRP with Tissot Manager (Treble & Dual boot support), Tool/Utility for the Xiaomi Mi A1

    Contributors
    CosmicDan
    Source Code: https://github.com/CosmicDan-Android/android_device_xiaomi_tissot


    Version Information
    Status: Stable

    Created 2018-05-29
    Last Updated 2019-11-24
    46
    I've been convinced by my Tissot mates to update this to 4.9 kernel for latest Pie ROM's. It may solve other problems too. Will move it over to a minimal TWRP tree too so it's easier for someone else to take over, since I've technically retired from Mi A1. Stay tuned.
    45
    Screenshots (click for slightly larger non-cropped version)


    Screenshot of new TWRP button:

    _______________



    Main menu (stock partition map detected):

    _______________



    Repartition choice type when coming from stock:

    _______________



    Repartition wipe warning/disclaimer if chosing to shrink Userdata for Treble:

    _______________



    Main menu (Shrunk Userdata type Treble partition map detected):

    _______________



    Repartition wipe warning/disclaimer if chosing to restore Stock from Shrunk Userdata Treble mode:

    _______________



    Example of Repartition processing screen:
    44
    I'm in the process of updating for Pie 4.9 kernels/ROM's. It will be based on the latest official TWRP device tree (full credits to nicknitewolf) and official TWRP build system, so I'll need to look into if it has any issues or quirks that I'll need to address (I'll scour the thread) since the current TWRP is based on a mutilated RR device tree :cowboy:

    Stay tuned.
    32
    Correction - I will be working on LOS device tree by Flex (for the 4.9 kernel under Pie) so it will be a new repo. Update: new branch on existing repo.

    Yeah I got a donation from someone, it was worth two days of food so the least I can do is spend two days working on this :)