TWRP for Fairphone 4

I’d like to try the DFE method, I miss too much the TWRP backups now that Ubuntu Touch installer supports FP4 and now that LOS official is around the corner.

I wonder: is is possible to make a full disk backup of my current OS, so I can go back if something goes wrong or if I realize afterwards that I forget to back up something important?

I imagine one can make a clone of the encrypted partition (with dd ?) even if it’s not decrypted? I guess the clone will be 256 Go big, same size of the full internal memory :slight_smile:

Hello, new here.

I’m also looking into backups at the moment, and I’m trying a run of this:

adb shell "dd if=/dev/block/by-name/userdata | gzip -c" >> userdata.img.gz
adb shell "dd if=/dev/block/by-name/metadata | gzip -c" >> metadata.img.gz

From my understanding these partitions contain the encrypted user data (apps, files, you name it), and some “metadata” needed for the decryption once the OS starts. Coming from the PC/Linux world i’m used to being able to to this to a disk or partition, encrypted or not, and then do the reverse to put everything back as it was. I can’t neccessarily decrypt the img.gz images, but “putting them back as they were” should in theory work. That is, if things in android work like they do in linux which to my experience they all too ofted do not :slightly_frowning_face:

Writing this here not as a solution for now, but a question if anyone knows if this will work? I know the disk image will potentially be huge (almost as large as the complete storage device), but by using gzip the image hopefully should be compressed by quite a bit since I don’t have a lot of data on it.

EDIT: I am so incredibly mad at myself right now. I was about to reflash and test if my userdata could be restored (dd-ing to a gzip file worked like a charm). But as I was cleaning up some stuff on my PC, I realized I had put the files in the wrong folder, which I realized the exact moment I hit delete in my file manager (which no, doesn’t put it in a recycle bin)… Sooooo frustrating, but luckily there wasn’t more than a couple of days worth of setup on it so far.

I think this is not valid for encrypted data (as the encryption scrambles the “all zeroes” to arbitrary numbers).

1 Like

Yes, I was afraid that might happen, but the image only ended up being about 10-12 GB if I remember correctly. But this was on a fairly new phone, so my guess would be that although the drive was encrypted, most of the blocks on the device had not been written to yet, an so still contained 0s. Might do a retest of this in the near or far-ish future though.

1 Like

Do you have to run this with a rooted phone?
I got dd: /dev/block/by-name/metadata: Permisssion denied

Yes and no, I ran it from a Recovery with adb enabled, where I think you are root by default (?)

Anyways, it’s important to run it from recovery, when the partitions you are copying (userdata, metadata) are unmounted, or else the OS might write to the partition while you copy from it, making your copy unusable for anything. Not sure if that was a good explanation, but you should really take a look into the dd command and partition backups before doing this at all.

I can recommend the Arch wiki article on dd: dd - ArchWiki

I did it with TWRP 3.6.2, thanks for your help :slight_smile:

My image is 32GB, seems that I played a little more with my FP4 than you :wink:

1 Like

Ok I’ll test the dynDFE method.
I’ll report here my progress, so this post is to be updated :slight_smile:

1) find the zip file

Found two links for dynDFE v2, here and here. checked the md5sum, both files are the same.

# Disable Force Encryption V2
# By reikaze
# Based on Zackptg5's DFE script

On another link I found four versions for vayu, not sure if those ones are device-specific…

prin "    Disable Force Encryption V3"
prin "          For Android 13"
prin "         By Kamisato Rei"
prin "         Mod by alanndz"
prin "   Based on Zackptg5's DFE script"

2) backup my device

As you read above I did a full disk image with dd.

I want also to test two apps that I read about on this forum :slight_smile:
Namely Neo Backup and Swift Backup. I’d like to compare them to my old Titanium Backup.

3) flash the zip file

That’s where the fun will start…
… or not, the script failed :cry: .

[Image taken with my FP2]

Do I have to wipe before? (I was guessing first flash the zip, then wipe, but I may be wrong)
Is a factory reset enough, or do we have to select manually (several?) partitions to wipe?

2 Likes

Seems that in our case vendor partition is not writable, anything we can do to change that? :thinking:

So you have to format data before flashing the zip, correct?

Unfortunately it does not work anymore with

FP4.FP40.A.142.20220628

which is the latest I could find: it just hangs displaying the Fairphone logo.

Is there anything I can do to provide more information? I can compile something if that is required.

yes, you MUST format data before booting LeOS

you have flasched LeOS this way ??

Is decryption of that partition possible?

Yes it is, but it is not implemented yet, and that is not an easy process. So no right now it is not.

I just saw that for FP4 official LineageOS build is available.

Is there anyone here who can report if an official TWRP build is being worked on in the TWRP community?
Unfortunately there’s nothing on TeamWin’s Github for Fairphone 4 yet.

1 Like

For people who are using TWRP with the FP4, what is the download url for it?

Right there in the first post :point_down:

1 Like

Thanks! Has anybody confirmed whether it works with Lineage 20/Android 13?

Depends how you define “it works”…
It’ll boot, yes.
However it’ll not backup your data, because it cannot decrypt.

1 Like