• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

TWRP 3.5.2-11 for Sunfish[Testing]

Search This thread

nikamura

Member
May 18, 2010
37
91
Google Pixel 4a
[RECOVERY] TWRP 3.5.2-11 - TeamWin Recovery Project




Introduction:

Team Win Recovery Project or TWRP for short, is a custom recovery built with ease of use and customization in mind. We started from the ground up by taking AOSP recovery and loading it with the standard recovery options, then added a lot of our own features. It's a fully touch driven user interface , no more volume rocker or power buttons to mash. The GUI is also fully XML driven and completely theme-able. You can change just about every aspect of the look and feel.

Key Features:

Touchscreen driven with real buttons and drag-to-scroll
XML-based GUI that allows full customization of the layout true theming!
Settings are saved to the sdcard and persist through reboots
Ability to choose which partitions to back up and which to restore
Ability to choose to compress backups now with pigz (multi-core processor support for faster compression times)
Onscreen keyboard
Easy selection of internal/external storage

In addition to the above new features, TWRP features a scripting engine that allows an app to send commands to the recovery for the recovery to perform during startup. We call this scripting engine OpenRecoveryScript. This engine will be put to use immediately in the GooManager app. GooManager will be able to install recoveries automatically for most supported devices. The app will also let you choose to install multiple zips from within Android, wipe, and run a backup.

We are looking for other talented developers, themers, and device maintainers if they are interested in helping with a free, open source project.

Source Code:

sunfish Device Config: https://github.com/tnakamur/android_device_google_sunfish


DOWNLOAD:
Hello, this is a test build for sunfish users.

It has decryption working, touch, adb and backup and restore seems to work. Super partition volumes can be mounted, and the super partition can be backed up.

Android11 FW
test6
https://drive.google.com/file/d/1mB73pX_0UQQA4PNPvqBBWqSZ6TixZfho/view?usp=sharing
I built it with September firmware.
I tested it with September firmware.
It needs custom kernel with LZMA ramdisk support.

test5
https://drive.google.com/file/d/1dabH0e0xkgZOldmnoWD8ZrvPV-IXGUf-/view?usp=sharing
I built it with August firmware.
I tested it with August firmware.
It needs custom kernel with LZMA ramdisk support.

test3
https://drive.google.com/file/d/1xhyIrLohcVY3xKHCeBoFAUzCmfBupibk/view?usp=sharing
I built it with June firmware.
I tested it with June firmware.
It needs custom kernel with LZMA ramdisk support.
I built my custom kernel, and link is below.
https://drive.google.com/file/d/1e8xFI5SuR8ty5X6R8WXVqrKLDOxprJcF/view?usp=sharing
Maybe, some other custom kernel works fine.

test2
https://drive.google.com/file/d/1t0VOZK2XlyxvC8a_o9XWI7ETy6XMS6bT/view?usp=sharing
I fix repack ramdisk problem.
It works 'Install Recovery Ramdisk'.
It needs custom kernel with LZMA ramdisk support.
I built my custom kernel, and link is below.
https://drive.google.com/file/d/1e8xFI5SuR8ty5X6R8WXVqrKLDOxprJcF/view?usp=sharing
Maybe, some other custom kernel works fine.

test1
https://drive.google.com/file/d/1EJhdSTbstkjVqx3YaowC-glWD6kJCN9Q/view?usp=sharing
It's tested FW version RQ1A.RQ1A.210205.004(Feb FW).
I don't test any other FW version.
It doesn't work 'Install Recovery Ramdisk'. It's only for fastboot mode.
I'm working fixing it and build TWRP with June FW.

Andriod10 FW https://drive.google.com/file/d/1PZaU9PpYmdcAHlyi0zhNwEGnBsAHDW_E/view?usp=sharing
It's tested both FW version QD4A.200805.001 and QD4A.200805.003.
And my custom kernel is OK too.

What to backup
* super
* data
* boot

What to restore
* super
* data
* boot

Repacking TWRP into Boot partition
To repack TWRP into the boot partition to override stock recovery when rebooting to recovery, perform the following steps
1. adb push <latest_twrp_boot.img> /sdcard/
2. reboot to bootloader and fastboot latest boot.img of TWRP
3. Go to Install
4. Touch Install Image
5. Select your TWRP boot.img from /sdcard
6. Install recovery ramdisk
7. Swipe to confirm flash
8. Reboot to recovery and android to verify installation
9. Reinstall magisk, if you want

Credit and Thanks
@bigbiff - his big work for TWRP
@HolyAngel - I refer his kernel commit
@wrongway213 - I refer his kernel commit, too

If you like my work, donations are always welcome.
Don't forget to hit thanks and rate the thread nicely, it's free:)
 
Last edited:

DB126

Senior Member
Oct 15, 2013
15,269
10,044
Why is there a custom kernel needed?
Because stock kernel doesn't support LZMA ramdisk.
It's needed to install TWRP.
https://forum.xda-developers.com/showpost.php?p=83255125&postcount=207
Better to boot vs install until build is proven. Yep, a bit annoying but keeps options open while allowing fluid OTA updates if that's your preference. In boot scenario custom kernel should not be needed.
 

cmstlist

Senior Member
Jan 11, 2010
3,363
524
Toronto
Google Pixel 4a
My apologies if this has been asked/answered before, but could someone ELI5 on why it's so difficult to get custom recoveries running on Pixel devices?

The short answer is - recovery is no longer its own independent partition. Instead it's embedded into boot.img which also contains the kernel for the OS itself.

Recovery used to be its own partition because OS updates looked like this:
- OS downloads new OTA file
- OS boots into recovery
- Recovery installs the OTA
- Reboots back to OS

Now on "A/B" devices OS updates look like this:
- OS boots from "partition A".
- OS downloads new OTA file.
- OS installs OTA on "partition B" which it's not currently booting from.
- OS switches the active partition to B and reboots from that.

No recovery needed anymore. So it's no longer a partition of its own. Which is great for Google but harder for Android do-it-yourselfers.
 

Lada333

Senior Member
Feb 7, 2016
1,050
320
21
Győr
OnePlus 3T
Google Pixel 4a
The short answer is - recovery is no longer its own independent partition. Instead it's embedded into boot.img which also contains the kernel for the OS itself.

Recovery used to be its own partition because OS updates looked like this:
- OS downloads new OTA file
- OS boots into recovery
- Recovery installs the OTA
- Reboots back to OS

Now on "A/B" devices OS updates look like this:
- OS boots from "partition A".
- OS downloads new OTA file.
- OS installs OTA on "partition B" which it's not currently booting from.
- OS switches the active partition to B and reboots from that.

No recovery needed anymore. So it's no longer a partition of its own. Which is great for Google but harder for Android do-it-yourselfers.

The only A/B phone I've ever worked on was my Dad's Mi A1, but that had TWRP running just fine.
I remember reading a few things about Project Treble back then, is that related to this?
 

12paq

Senior Member
Aug 16, 2010
1,155
368
Colorado
www.DonAshcraft.com
Because stock kernel doesn't support LZMA ramdisk.
It's needed to install TWRP.
https://forum.xda-developers.com/showpost.php?p=83255125&postcount=207

Did you use LZMA compression because the partition where the ram disk is has very little room like the pixel 3A? The pixel 3A did not have enough room in the partition so TWRP was stripped down of features and compressed with LZMA to get it small enough to fit. I believe, but could be wrong, LZMA was used because it yielded the smallest image.

Does the Pixel 4A have the same space issues as the Pixel 3A?
I'm only asking because on the Pixel 3A TWRP never became functional enough to use much because of lack of partition space to reside even after uniquely compressed with LZMA. If the pixel 4A has more space maybe LZMA compression and a specific kernel that requires lcma might not be necessary?
 
Last edited:

nikamura

Member
May 18, 2010
37
91
Google Pixel 4a
Did you use LZMA compression because the partition where the ram disk is has very little room like the pixel 3A? The pixel 3A did not have enough room in the partition so TWRP was stripped down of features and compressed with LZMA to get it small enough to fit. I believe, but could be wrong, LZMA was used because it yielded the smallest image.

Does the Pixel 4A have the same space issues as the Pixel 3A?
I'm only asking because on the Pixel 3A TWRP never became functional enough to use much because of lack of partition space to reside even after uniquely compressed with LZMA. If the pixel 4A has more space maybe LZMA compression and a specific kernel that requires lcma might not be necessary?

Sorry, I don't know it's needed LZMA compression.
I used pixel4 TWRP made by @bigbiff as a reference, and I used LZMA compression as he did.
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 6
    Sorry, I missed previous "recovery.log"

    Thank you for testing.
    I don't know why "Digest Error" has occurred.
    No!!! Please don't apologize to us. We appreciate your work on this. Thank you very much.

    To be clear, you missed nothing. My English was poor. I meant, I attached the recovery.log with the error to the message about the error AFTER you asked me to do it. I thought it would make it easier to distinguish from the new recover.log file. I'm sorry I created a confusion about the timing.
    You did nothing wrong.

    If I get a few hours, I will test a restore. It's just that I need to have everything ready, in case I have to reinstall from scratch. :)
    3
    I built and test TWRP for stock ROM A10 and A11 version.
    I didn't test it on custom ROMs.

    I would like to test it on latest version, but my pixel4a dosen't have enough storage changing firmware from stock ROM to custom ROM.

    Can anyone test TWRP test6 build?

    https://drive.google.com/file/d/1mB73pX_0UQQA4PNPvqBBWqSZ6TixZfho/view?usp=sharing
    3
    Thanks for the info. That is what I thought, but when nikamura said in a recent post "I built and test TWRP for stock ROM A10 and A11 version." it seemed to suggest that he might have "recently" rebuilt the A10 version (because his post was from the other day).

    But when I checked, the A10 file in the OP didn't look like it was updated, so that made me think maybe the latest build he did recently post might work on A10 (if TWRP was not OS dependent), hence my question for clarification.

    So, the end result is that I will need to wait for an A10 version to be built using the newer 3.5.2-11 version of TWRP.

    I’m sorry if I caused a misunderstanding.
    I'm building TWRP for A11 version now.

    I'll build TWRP for A10 new version, if I have time.
    1
    I'm on LOS18.1 08-12-2021 & Lineage recovery 08-12-2021. I've no custom kernel. I've no GApps. Magisk was not installed during this test.

    I used "fastboot boot test5.img" and booted successfully to TWRP.

    However, I also got the 255 error.
    I don't have the 999 folders. I attached a screenshot showing the "multiple users" setting is off.

    I've attached the recovery.log, in case it help @nikamura in any way.
    It's possible but unlikely that some parallel apps could go in folders other than 999. There are no parallel apps installed on your device? Parallel apps would also be referred to as clone apps which are apps that clone another. Basically you could clone any app with a cloner and log into two different accounts. This would cause problems. If this is not the case than it would need to be addressed with the dev for a fix.
    1
    I built and test TWRP for stock ROM A10 and A11 version.
    I didn't test it on custom ROMs.

    I would like to test it on latest version, but my pixel4a dosen't have enough storage changing firmware from stock ROM to custom ROM.

    Can anyone test TWRP test6 build?

    https://drive.google.com/file/d/1mB73pX_0UQQA4PNPvqBBWqSZ6TixZfho/view?usp=sharing
    Booted. Installed. Took a backup. Did not try to restore. Seems to work fine though.
    Kernel - Blu_spark r117
    Magisk v23
    LSPosed v153
  • 17
    [RECOVERY] TWRP 3.5.2-11 - TeamWin Recovery Project




    Introduction:

    Team Win Recovery Project or TWRP for short, is a custom recovery built with ease of use and customization in mind. We started from the ground up by taking AOSP recovery and loading it with the standard recovery options, then added a lot of our own features. It's a fully touch driven user interface , no more volume rocker or power buttons to mash. The GUI is also fully XML driven and completely theme-able. You can change just about every aspect of the look and feel.

    Key Features:

    Touchscreen driven with real buttons and drag-to-scroll
    XML-based GUI that allows full customization of the layout true theming!
    Settings are saved to the sdcard and persist through reboots
    Ability to choose which partitions to back up and which to restore
    Ability to choose to compress backups now with pigz (multi-core processor support for faster compression times)
    Onscreen keyboard
    Easy selection of internal/external storage

    In addition to the above new features, TWRP features a scripting engine that allows an app to send commands to the recovery for the recovery to perform during startup. We call this scripting engine OpenRecoveryScript. This engine will be put to use immediately in the GooManager app. GooManager will be able to install recoveries automatically for most supported devices. The app will also let you choose to install multiple zips from within Android, wipe, and run a backup.

    We are looking for other talented developers, themers, and device maintainers if they are interested in helping with a free, open source project.

    Source Code:

    sunfish Device Config: https://github.com/tnakamur/android_device_google_sunfish


    DOWNLOAD:
    Hello, this is a test build for sunfish users.

    It has decryption working, touch, adb and backup and restore seems to work. Super partition volumes can be mounted, and the super partition can be backed up.

    Android11 FW
    test6
    https://drive.google.com/file/d/1mB73pX_0UQQA4PNPvqBBWqSZ6TixZfho/view?usp=sharing
    I built it with September firmware.
    I tested it with September firmware.
    It needs custom kernel with LZMA ramdisk support.

    test5
    https://drive.google.com/file/d/1dabH0e0xkgZOldmnoWD8ZrvPV-IXGUf-/view?usp=sharing
    I built it with August firmware.
    I tested it with August firmware.
    It needs custom kernel with LZMA ramdisk support.

    test3
    https://drive.google.com/file/d/1xhyIrLohcVY3xKHCeBoFAUzCmfBupibk/view?usp=sharing
    I built it with June firmware.
    I tested it with June firmware.
    It needs custom kernel with LZMA ramdisk support.
    I built my custom kernel, and link is below.
    https://drive.google.com/file/d/1e8xFI5SuR8ty5X6R8WXVqrKLDOxprJcF/view?usp=sharing
    Maybe, some other custom kernel works fine.

    test2
    https://drive.google.com/file/d/1t0VOZK2XlyxvC8a_o9XWI7ETy6XMS6bT/view?usp=sharing
    I fix repack ramdisk problem.
    It works 'Install Recovery Ramdisk'.
    It needs custom kernel with LZMA ramdisk support.
    I built my custom kernel, and link is below.
    https://drive.google.com/file/d/1e8xFI5SuR8ty5X6R8WXVqrKLDOxprJcF/view?usp=sharing
    Maybe, some other custom kernel works fine.

    test1
    https://drive.google.com/file/d/1EJhdSTbstkjVqx3YaowC-glWD6kJCN9Q/view?usp=sharing
    It's tested FW version RQ1A.RQ1A.210205.004(Feb FW).
    I don't test any other FW version.
    It doesn't work 'Install Recovery Ramdisk'. It's only for fastboot mode.
    I'm working fixing it and build TWRP with June FW.

    Andriod10 FW https://drive.google.com/file/d/1PZaU9PpYmdcAHlyi0zhNwEGnBsAHDW_E/view?usp=sharing
    It's tested both FW version QD4A.200805.001 and QD4A.200805.003.
    And my custom kernel is OK too.

    What to backup
    * super
    * data
    * boot

    What to restore
    * super
    * data
    * boot

    Repacking TWRP into Boot partition
    To repack TWRP into the boot partition to override stock recovery when rebooting to recovery, perform the following steps
    1. adb push <latest_twrp_boot.img> /sdcard/
    2. reboot to bootloader and fastboot latest boot.img of TWRP
    3. Go to Install
    4. Touch Install Image
    5. Select your TWRP boot.img from /sdcard
    6. Install recovery ramdisk
    7. Swipe to confirm flash
    8. Reboot to recovery and android to verify installation
    9. Reinstall magisk, if you want

    Credit and Thanks
    @bigbiff - his big work for TWRP
    @HolyAngel - I refer his kernel commit
    @wrongway213 - I refer his kernel commit, too

    If you like my work, donations are always welcome.
    Don't forget to hit thanks and rate the thread nicely, it's free:)
    12
    I built TWRP for android11.
    There is link at OP.

    I tested it with android11 FW(RQ1A.210205.004 Feb 2021).
    It doesn't work 'Install Recovery Ramdisk'.
    I'm working fixing it and build with June FW.
    9
    Use TWRP temporary
    ①Test TWRP, 'fastboot boot twrp.img'


    If you use TWRP permanently(install recovery ramdisk), you use custom kernel
    that supports TWRP(LZMA ramdisk).
    I use my custom kernel(TKernel), some other kernels maybe OK.
    My custom kernel download link is OP.

    ①Test my custom kernel, 'fastboot boot boot.img'
    ②If you don't find any problem, flash custom kernel, 'fastboot flash boot boot.img'
    ③adb push <twrp.img> /sdcard/
    ④reboot to bootloader and fastboot latest boot.img of TWRP
    ⑤Go to Install
    ⑥Touch Install Image
    ⑦Select your TWRP boot.img from /sdcard
    ⑧Install recovery ramdisk
    ⑨Swipe to confirm flash
    ⑩Reboot to recovery and android to verify installation
    ⑪Reinstall magisk, if you want
    8
    I built TWRP for android11 test3 build with June firmware.
    There is link at OP.

    I tested it with android11 FW(RQ3A.210605.005 Jun 2021).
    7
    To install TWRP, you need LZMA support kernel.
    My custom kernel is here
    https://drive.google.com/file/d/1nuXc88t0Iokc0ha-AicOtZEUeGCGwQ-R/view?usp=sharing