TWRP 3.1.1-1 boot issue

I looked into this on Windows and got me a signed current TWRP image that fastboot boots on my phone (yes, I’m surprised myself). Here goes … and you don’t have to bother with the whole key stuff, we’ll just download some :wink:

  • Install Java (if not already installed).
  • Make (or look for) a directory to put stuff into.
  • Download BootSignature.jar from @z3ntu’s place to the directory (URL found here).
  • Download (found here), from extract the two files testkey.pk8 and testkey.x509.pem to the directory (or just extract the whole ZIP, doesn’t matter).
  • Download the current TWRP image from here to the directory (or copy it there if you got it already).
  • Open a command line (Start - Run - cmd) and cd your way into the directory.
  • In the directory execute the following command (one line assuming twrp-3.1.1-1-fp2.img as the unsigned image filename):

java -jar BootSignature.jar /boot twrp-3.1.1-1-fp2.img testkey.pk8 testkey.x509.pem twrp-3.1.1-1-fp2-signed.img

  • If you want, you can make sure only the signature was appended to the original image and nothing else was changed by comparing the two images e.g. with WinMerge.

Et voilà! Have fun fastboot booting your signed TWRP image on your phone.


For reference: I have a guide on my blog which should work on Linux/macOS:

1 Like

twrp-3.1.1-1-fp2-signed.img is now here.
Sorry, I was aware of a new version but thought that the “ota_fix” version from @z3ntu already included the new drivers - which was obviously not the case.


Unfortunately the problem is the same when booting the signed TWRP image without flashing it.[quote="_Chris, post:260, topic:29441"]
Another question: I wonder what the updater did before rebooting? And if this somehow can be undone?
TWRP needs to know that the new LineageOS should be flashed and I wonder where this info is stored? Maybe deleting this info could help?

Does it boot at least?

Same as before - it got stuck on the image I posted above

LineageOS still works, so I am able to use the phone, but I am not able to update any more using the OTA update.

Moved this to another topic as not all encrypted LineageOS users experience this (not me for example). Also seems localized to TWRP.

Thanks for moving it :slight_smile:

Do you know where the updater stores the information for TWRP?

On the seperate “/misc” partition if I’m correct. @z3ntu is the maintainer of TWRP, so maybe he can better answer this.

How long have you waited at the splash screen? Apparently it might take some minutes (for whatever reason).

15 minutes or so - I think this should be sufficient?

I guess so.
Do you use a microSD card, and if so, did you set it up as additional Internal Storage?

Here’s some more from Google …

[Taking out an SD card set up as Internal Storage helped.] ( (Edit: Is it just me or does this sound kind of dangerous for data in Internal Storage?)

Copying the TWRP directory from Internal Storage to SD card set up as external storage and then deleting the Internal Storage TWRP directory helped.

Actually we use a partition called pad as there’s no misc partition on the FP2. But yes, in the fstab we refer to it as /misc.

The TWRP issue sounds weird. So @_Chris, you’re the only one here having that issue it seems. Did this TWRP version before (with/without encryption)? Also as you require the -1 version you have a new display probably. Do you have access to adb in this mode?

I will try this next - thanks for the suggestion.
It will take some time because I will copy the content of the SD card first, then delete most of the data, so that I can move the remaining data to internal storage (there is a menu for that within the settings. so I don’t think it is dangerous to do this).

Yes, this TWRP version worked before, and yes I have a new display.
adb devices shows the device, so I have access to adb.

Maybe the reason for the problem is using an SD card as adopted storage. I will remove it as described above and then try it again.

Okay then run inside adb shell (while you’re in this “splash screen hang”):
cat /tmp/recovery.log and dmesg and send me both via pastebin or some similar service.

Removing SD card finally solved the problem :smiley:

A huge thank you to @AnotherElk for spending so much time in finding a solution, and to all others who helped with this issue!

Edit: @z3ntu are you still interested in the log files?
Edit2: I added the SD card as adopted storage again and now booting into TWRP again doesn’t work. So the problems had indeed nothing to do with the update, but only with adding the SD card as adopted storage. I will send you the log files.

lol and thanks in advance.

I finally found the cause of the problem with the adopted storage:

The SD card was formatted as external storage before formatting it as adopted storage. As a side effect there was a remaining small 17 MB partition in addition to the adopted storage partition on SD card.

The solution is to delete all partitions before formatting an SD card as adopted storage. This way there is only the adopted storage partition on SD card and TWRP doesn’t get “confused” any more by multiple partitions.

So finally I am able to boot into TWRP using an encrypted device with adopted storage :slight_smile:


Hi @_Chris (and others)
When I take my SD card out (after moving data to internal storage) and on a linux computer I remove all partitions (even when I then create one big partition), reinsert the card in my FairPhone2 it will start the initialization sequence, but after that

I stop my device and check the partitions again in GParted:

… Still it creates this small partition.

If TWRP cannot handle this it will fail again with the next update. I think deleting this Android partition is not an option.

Do I misunderstand “Adopted Storage” here?
I chose: Use as Internal Storage and formatted it: