TWRP 3.7.0-12 for Sunfish[Testing]

Search This thread

nikamura

Member
May 18, 2010
47
131
Google Pixel 4a
[RECOVERY] TWRP 3.7.0-12 - 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.

Android12 FW
TWRP3.7.0-12
https://github.com/tnakamur/Action-Recovery-Builder/releases/tag/3485414024
I built it with TWRP3.7.0 source code.
It needs custom kernel with LZMA ramdisk support.

Android11 FW
TWRP3.6.1-11
https://drive.google.com/file/d/1lmz3rvegCcGif-jFck7tfH7tT-RzcFWa/view?usp=sharing
I built it with TWRP3.6.1 source code.
Fix time stamp problem.
It needs custom kernel with LZMA ramdisk support.

test10
https://drive.google.com/file/d/16aTC8w0YUYBS_lqcA3KL0kz5mq7NsxxG/view?usp=sharing
I rebuilt it base Pixel4.
I tested it with October firmware.
It needs custom kernel with LZMA ramdisk support.

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,363
10,175

cmstlist

Senior Member
Jan 11, 2010
3,349
522
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,570
536
23
Budapest
OnePlus 3T
Google Pixel 6a
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?
 
Because stock kernel doesn't support LZMA ramdisk.
It's needed to install TWRP.
https://xdaforums.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
47
131
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.
  • 26
    [RECOVERY] TWRP 3.7.0-12 - 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.

    Android12 FW
    TWRP3.7.0-12
    https://github.com/tnakamur/Action-Recovery-Builder/releases/tag/3485414024
    I built it with TWRP3.7.0 source code.
    It needs custom kernel with LZMA ramdisk support.

    Android11 FW
    TWRP3.6.1-11
    https://drive.google.com/file/d/1lmz3rvegCcGif-jFck7tfH7tT-RzcFWa/view?usp=sharing
    I built it with TWRP3.6.1 source code.
    Fix time stamp problem.
    It needs custom kernel with LZMA ramdisk support.

    test10
    https://drive.google.com/file/d/16aTC8w0YUYBS_lqcA3KL0kz5mq7NsxxG/view?usp=sharing
    I rebuilt it base Pixel4.
    I tested it with October firmware.
    It needs custom kernel with LZMA ramdisk support.

    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
    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
    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).