yashsingh1/xdaforums huggingface dataset:
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] bigbiff:
[RECOVERY] TWRP 3.6.0_11-0 - 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. 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:

GitHub - https://github.com/TeamWin/android_bootable_recovery

Gerrit Instance - http://gerrit.twrp.me

If you have made your own TWRP build for an unsupported device, please let us know. We might add your build to the list of official builds.

Device Config: https://github.com/bigbiff/android_device_google_crosshatch

Hello, this is a test build for crosshatch users.

If others thing don't work, please report the issue and let me know.

I am opening this thread to replace @Dees_Troy's thread with his blessing.

http://twrp.me
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] brainchild:
I tried to boot to this image on my bootloader-unlocked Pixel 3, but the operation failed.

With the device connected and the bootloader active, I ran the following command:

$ fastboot boot twrp-3.6.0_11-0-blueline.img
Sending 'boot.img' (65536 KB) OKAY [ 1.797s]
Booting FAILED (remote: 'Error verifying the received boot.img: Buffer Too Small')
fastboot: error: Command failed

I had just performed a factory reset (from

blueline-qq3a.200805.001). Flashing a blank vbmeta.img to disable verification did not resolve the error.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] b8842dc0:
Thanks @bigbiff I've now got this installed on my Pixel 3 running Lineage 18 (A11). So nice to have TWRP back!! I've got one question about backing up. I'm seeing the following backup options:

Data (excluding storage)

Boot

Persist

Super (system system_ext vendor product)

I've not seen this "Persist" before. If I want to backup/restore the device, using TWRP, should all four of these options be selected?

Thanks again!
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] dcarvil:
See this post, and the subsequent posts.

https://xdaforums.com/t/twrp-3-2-3-2-for-pixel-3.3861622/post-86261617
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] khikhi01867:
OTG not working -_-
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] brainchild:
Thank you for the earlier reply. I am still learning about the relation between original firmware, Android version, recovery version, and partition layout. Whereas previously each had been largely independent of the others, recent changes have brought them into a very close dependence, which is often not clarified in the distribution of the various components.

I applied Android 11 firmware to the device, and was able to boot from the image.

I am now having problems installing custom Android 11 images, due to limited space on the system partition. In some cases, I can install the image but not Gapps, not even the pico size.

The general recommendation for this problem is to use the Advanced Wipe feature to resize the partition, but I have found no partition labeled System in the list.

The partitions listed under Advanced Wipe are only the following:

Dalvik / ART Cache

metadata

Data

Internal Storage

USB-OTG

I was able to install LineageOS entirely successfully using the project's own recovery, and then, once the main system was ready, install the TWRP 3.6 recovery image. While this procedure has appeared as a viable workaround, I look forward to any clarification about completing the installation entirely through TWRP. I also look forward to clarification about whether these observations indeed represent a current limitation in the TWRP images available for the device, and whether any other limitations are known.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] shaunoleary:
Wow - TWRP for the Pixel 3 - finally!! What a great job, and thank you very, very much! (y)(y) Successfully completed my very first backup of my Blueline tonight; for the first time since buying this great phone over 18 months ago.

Issues I have found:

USB-OTG doesn't seem to work; I was hoping I could perform the backup to a USB flash drive.

Also, could not seem to get ADB from my computer to work.

Thank you so much @bigbiff for your hard work on this. It is very much appreciated! Well done!!

I do have one question, if I may: is it safe to flash this to recovery, or should we only use it via "fastboot boot twrp..."?
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] zyhk:
Thank you so much too, @bigbiff . Although USB-otg cannot be used, I can back up data on ArrowOS 12.0 without issues. Till now, I haven't tested restoration of my backup data yet.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] Fnord12:
Can this version of TWRP handle encrypted phones? (ones with lock screen passwords) I've been poking around the internet finding conflicting information.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] dcarvil:
It can handle Android 11 encryption. I don't believe Android 12 encryption works yet.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] Fnord12:
Fun, looks like i'll be waiting for a bit then as I was eyeballing one of the Android 12 ROMs to put on my Pixel 3 and i'll need encryption for NFC payment stuff.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] dcarvil:
You can still use it on Android 12 - you just need to remove the PIN first, then restore it afterwards.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] zyhk:
You need to remove PIN on Android 12 before invoking backup process of your encrypted data on TWRP as @bigbiff said another thread. Probably, you can restore the backup data after removing PIN on Android 12. Then, you can set PIN on Android 12 again after the restoration.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] brainchild:
Another observation... After a OTA update, LineageOS replaced the recovery with its own. From booting the TWRP image from a fastboot connection, the resulting session of TWRP shows option in the advanced menu for installing TWRP to the device. I'm not sure that I would be able to reinstall TWRP without this option, since attempts to flash through fastboot had failed previously. I'm confused about why this menu item no longer appears.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] bigbiff:
You can use Flash Current TWRP to have TWRP reinjected in the ramdisk, it's not showing up for you?
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] brainchild:
No. I believe what has happened is that the OTA update switched the active slot from A to B, with TWRP still residing on the now inactive slot A. Perhaps TWRP only looks in slot A, and if it finds itself installed, it hides this menu entry.

I am not sure what the general use pattern is, as I am still learning the newer paradigm of seamless updates, and A/B and dynamic partitions. Is TWRP compatible with OTA updates? What is the general usage pattern? The updated slot seems to have retained Magisk.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] bigbiff:
Usually you have to reinstall twrp to the boot partition, which is typically not A/B
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] brainchild:
The boot partition is shared by both slots, or each has a separate boot partition? It seems two recoveries are resident on the device.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] dcarvil:
There are two boot partitions, boot_a and boot_b.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] brainchild:
Right. It seems that when I originally loaded the firmware and installed TWRP, it installed to slot A. Later, LineageOS installed its OTA update on slot B, and activated it. Now the active recovery is the LOS recovery, in slot B. I can boot TWRP from fastboot, but the resulting session may be hiding the menu entry for installation on the the device because it detects itself already installed on slot A.

I suppose the questions are whether installation to multiple slots is supported by TWRP, and whether TWRP and LOS support integration for OTA updates.

More generally, the overall question is what is the overall recommended usage pattern for updating LOS when TWRP is also installed.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] bigbiff:
Yes, I mispoke. There is a boot_a and boot_b partition, so twrp would always need to be injected into the active ramdisk, lineage usually places it's own recovery in the ramdisk by flashing their own boot image.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] brainchild:
What is the difference between Flash Current TWRP and installing to ramdisk. Presently, I see an option only for the latter, whereas previously I had seen both.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] bigbiff:
They are the same action, but Flash Current TWRP will automatically install the version of TWRP you are running currently after you install a zip without any action from you.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] brainchild:
Do you mean that Flash Current makes no immediate modification, but installs a hook lasting the rest of a session for some modification action, the same action that would occur immediately upon invocation of the menu item for installing to ramdisk?
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] bigbiff:
It modifies the ramdisk of the current slot, by reinjecting the ramdisk files into the boot image so that TWRP will persist when you boot to recovery mode. If you install the recovery image via the install menu, it will do the same thing. Flash Current will only activate after installing a zip provided the option is selected..
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] brainchild:
How long is the effect of selecting Flash Current? Is it only a modification of the current TWRP session, or is it somehow persistent?

More broadly, is there any preferred method for using TWRP and LineageOS with OTA updates on the same device?
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] altrgeek:
Is there any possiblity to switch between ROMs using TWRP without formatting internal storage? Yes, I can backup my internal storage before flashing a ROM but it's an extra step for most of us. Any suggestions?
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] bigbiff:
It would last until something rebuilds the boot ramdisk, such as update_engine updating boot during an installation. Lineage is always going to overwrite boot, so you always have to reinstall TWRP.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] brainchild:
Then I am still confused about the intended difference between the two options. It seems that both immediately install the recovery to the boot partition (only for some reason one of them apparently only works on slot A, and removes itself from the menu when the recovery is already detected in that slot).
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] b8842dc0:
How does Flash Current TWRP compare to the TWRP A/B retention script?

TWRP A/B Retention Script - Magisk

Keeps TWRP installed after an A/B OTA. This is NOT a normal module - it will NOT show up in Magisk Manager's installed modules list.Flash this script zip after each OTA has installed, but before you install Magisk to Inactive Slot from Manager

themagisk.com

I've been using the TWRP A/B retention script for a couple of years now and it works very well.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] Captain_Throwback:
The Retention Script is designed for flashing after an OTA has been installed, and will flash TWRP to both slots (including the just updated inactive slot), provided the current boot ramdisk already has TWRP installed. It's really made for use with Magisk and for flashing while booted into Android.

The "Flash Current TWRP" feature allows the currently fastboot booted TWRP to be installed to both slots of the device. Obviously this has to be done while in TWRP, and it doesn't matter whether some version of TWRP is currently installed. This also means that no zip or image file needs to be copied to the device for TWRP to be installed after it's fastboot booted.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] brainchild:
So the difference between this command and the ramdisk one is whether the installed image is read from storage, versus applied from the running session?

I am still struggling to understand the difference between the two commands (as well as why one, but not the other, has disappeared from the menu).
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] Captain_Throwback:
If you're referring to the difference between the Flash Current TWRP option and the Install Recovery Ramdisk option, then yes, the former uses the loaded ramdisk, while the latter requires you to provide an image from which to extract and install the ramdisk.

Neither option should be getting removed from the list, afaik. Have you tried scrolling the list to confirm whether it's still there? There are quite a few options there, and they can't all be seen without scrolling.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] brainchild:
Yes. I just booted to the image by loading it through fastboot. The Advanced menu includes four boxes, labeled Copy Log, ADB Sideload, Terminal, and File Manager.

Beneath the boxes is a scrolling list, of the following items:

- Theme Options

- Partition SD Card

- Fix Contents

- Install Recovery Ramdisk

- Install Kernel

- Fix Recovery Bootloop

- Install TWRP App

Nothing else shows on this page.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] Captain_Throwback:
Standard TWRP doesn't have a "Theme Options" item there. Are you using a custom theme? If so, you need to remove it to see the current options.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] brainchild:
I installed a theme, which as I understand, was simply copying a file to the data partition. The booted image is the identical file to the one supplied in the first post of this thread.

If you wish, I can test again without the theme, but my observations were the same from before I installed a theme.

I doubt the theme is the issue, but I would try a further test, if you specify one.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] Captain_Throwback:
The theme is the problem, like I already said. Themes need to be updated to support new options added to TWRP.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] brainchild:
Would an appropriate attempt at resolution be to remove the directory on the data partition, TWRP/theme, and then to boot again using the same TWRP image?
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] Captain_Throwback:
You can delete the folder or just rename the file itself.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] brainchild:
Confirmed menu entry appears with theme directory renamed.

I never imagined the theme selection would affect the listing of menu items.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] brainchild:
I have reviewed the TWRP Retention module, but learning that Magisk App has removed support for direct installation from the repository, I find no clear way to obtain the module (or others distributed through the repository). Is a direct link available for download?
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] dcarvil:
[TOOLS][ZIPS][SCRIPTS] osm0sis' Odds and Ends [Multiple Devices/Platforms]

osm0sis' Odds and Ends -- Misc./Batch Tools, Flashable Zips, Scripts, etc. General Information In a nutshell, I just wanted a single thread to gather links to some of my other, larger projects, but also serve as a spot I could put some smaller...

xdaforums.com
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] rocketrazr1999:
Deleted
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] rocketrazr1999:
I have it in Dropbox if you still need it
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] brainchild:
At the moment my procedure is as follows. After the new update finishes installing, I reboot. At this point, Magisk is resident. However, if I reboot again, Magisk will not be resident. Therefore, I take advantage of Magisk being available to install TWRP again (using Smart Flash), since the installation has removed TWRP. Once TWRP is flashed, I boot to recovery, and then install Magisk. I can then boot to system with both Magisk and TWRP installed. The procedure is cumbersome but acceptable. If I had the retention module, then I might be able to do the same with slightly fewer steps, though still the procedure is cumbersome.

It would be helpful if you could share your copy of the module. It would also be helpful to know whether it is being maintained, versus not maintained and facing obsolescence.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] klemi71:
Fox's Magisk Module Manager offers download. Please have a look at the screenshot if it is what you are looking for.

GitHub - Fox2Code/FoxMagiskModuleManager: A module manager for Magisk because the official app dropped support for it

A module manager for Magisk because the official app dropped support for it - Fox2Code/FoxMagiskModuleManager

github.com
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] Shotg1:
Do we have new build that can recognized the otg or mtp in pc?
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] brainchild:
Yes, I was able to use the tool to obtain the plugin. However, I am wondering now whether it offers any particular convenience over the other procedure I described.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] chillybean:
Will twrp eventually support multibooting roms? My old htc years ago did and I loved for keeping games and life separate. Not to mention the gaming rom would be maxed out solely for gaming..and the stock rom would well be stockish and stable...anyone else?
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] Captain_Throwback:
No.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] justDave:
I just wanted to add that it looks like you can install TWRP using a kernel manager such as EX Kernel Manager. You'll probably also want to reflash Magisk before rebooting.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] CRCinAU:
So, it seems like there's an Android 12 encryption TWRP test build for crosshatch that will successfully decrypt the data partition....

Is there one available for Blueline as well?

EDIT: Linky for Crosshatch: https://xdaforums.com/t/recovery-te...sshatch-official.4379119/page-4#post-86691519
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] CRCinAU:
@bigbiff - It seems that the fstab entry for `/usb_otg` is incorrect for blueline.

Line 7 on this file should read `/dev/block/sdg1` - which is what I see in `dmesg` when connecting an OTG USB device.

android_device_google_crosshatch/crosshatch/recovery/root/system/etc/twrp.flags at android-12 · bigbiff/android_device_google_crosshatch

For building TWRP for the Pixel 3 and 3 XL ONLY. Contribute to bigbiff/android_device_google_crosshatch development by creating an account on GitHub.

github.com

If I jump into the terminal, then try:

# mount /dev/block/sdg1 /usb_otg

Then I am able to use my USB OTG drive to back up images to via TWRP backup etc etc.

Seems like it should be a simple fix unless crosshatch requires to use `/dev/block/sda1`...
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] CRCinAU:
Big thanks to @bigbiff for fixing USB OTG for blueline and Android 12.

He grabbed a ton of logs from me, and the result is the attached files.

If you have a PIN and/or fingerprints, you'll need to remove them and select "Swipe" as your security method in Android before rebooting to recovery. After that, you'll be able to mount the USB OTG device and use it for backups / restores or installing packages.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] CRCinAU:
Further update - @Captain_Throwback has provided a further build that will decode user data successfully by entering a PIN. This means you can access the internal storage without removing the PIN / fingerprints in Android etc.

I believe new builds will be published on Captain's Google Drive:

blueline - Google Drive

drive.google.com

At some point, they'll likely go via TWRP's main web site...
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] zyhk:
Thanks @Captain_Throwback and @CRCinAU . I confirmed being able to back up my data on ArrowOS 12.1 into a USB memory. Only without a PIN because I've just updated from A12 to A12.1. Anyway, thank you very much.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] p0werpl:
I am not sure this was ever a huge concern (bigbiff's crosshatch twrp for 12 worked just as well on blueline). The problem is having to remove the pin/password before restore. Many of us don't have that luxury since Exchange, for example, requires a pin and is a device admin, so it's not as easy to remove the pin.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] Captain_Throwback:
That's the only way that restore will work, otherwise you'll get locked out of the device. That has always been the case. It may be unfortunate, but Android security makes that step necessary.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] bigbiff:
For anyone who cares, the technical reason is that without removing the pin, we cannot have zygote rebuild it's inode cache on start when files are restored under new inodes. Otherwise zygote will crash right away.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] justDave:
Getting ready for the LineageOS 12.1 upgrade, I wanted to do a full nandroid including internal storage. I found this https://xdaforums.com/t/recovery-twrp-fix-o-backup-internal-storage-o-backup-option.3941108/ and saw the note that "These instructions are obsolete starting with TWRP v3.4.0-0+" but when I go to the backup screen I don't see an option for "Internal Storage".

Is this an oversight or is it not supported on blueline?
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] Captain_Throwback:
That's not an oversight; it's not supported in any official TWRP.

See here: https://twrp.me/faq/backupexclusions.html

And also here: https://github.com/TeamWin/Team-Win-Recovery-Project/issues/276
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] p0werpl:
I tried booting this TWRP in a blueline with Android 10 and was unsuccessful (error about the buffer being small). Can you backport this to Android 10? I am asking because that's the last version where restore works as-is (without removing pin). I use a crosshatch version of TWRP that works in Android 10 but doesn't have mtp enabled. I would love to have a TWRP for blueline that has mtp working and does not require pin removal (for Android 10). Thank you.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] Captain_Throwback:
No. There will not be a version for Android 10.
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] Carmine8:
I was finally able to backup and restore my blueline on custom rom latest June patch with no issue thanks to this build!

Thanks so much!
[Google Pixel 3 ROMs, Kernels, Recoveries, & Other ] CRCinAU:
Just wondering - is there any support for mounting / decrypting Data in Android 13?

I loaded `twrp-installer-3.6.2_11-0-blueline.zip` - but get an error saying it failed to decrypt for user 0.