[LG G Flex 2] ergo911:
TWRP 3.1.0.0 with FIsH for our FLEX 2

Tested on h955 and it's still a BETA

Requirements

Here are the pre-requirements you have to met!

If you can't get them:

Close this page and FORGET it (until the day you met those reqs)!

Here are the 2 simple requirements you have to met:

1. root by SuperSU >=v2.76 (greater or equal v2.76)

--> to test this requirement just start the installer of FIsH with --check (see next lines) which will check for all requirements and abort if its not possible

--> for many devices - if not all - this means you HAVE TO downgrade/install LL. It also means that you have to upgrade your SuperSU to this version by e.g. FlashFire if you have a lower version installed!

--> SU by phh is NOT supported => It needs a modified /boot and this would void the boot signing chain!

--> Magisk is NOT supported => It needs a modified /boot and this would void the boot signing chain!

--> I will NOT provide downgrading guides there are plenty of them so search and read.

--> I will NOT provide any guides in rooting your device

--> Before you think about downgrading to LL read about ANTI-ROLLBACK protection some devices and may have! Anti-Rollback means you CAN NOT downgrade - it would HARD-BRICK your device (wtf thinking the vendors who we are?? Is this even legal?!)! Check that before!!

2. you have to be able to disable SELinux in your booted Android

--> You do NOT need to set SELinux permanently to permissive. Just

CHECK

if you

COULD

get it

MANUALLY

. If you can get it OK. If not.. you obviously have not full root access but check the forums maybe there is something you can do about this.

--> I will NOT provide any guides enabling SELinux but some lines later you will see how u can execute the very simple check

--> to test this requirement just start the installer of FIsH with --check (see next lines) which will check for all requirements and abort if its not possible

Those above are hard facts so it may NEVER work with MM. Google has changed the way on how the boot chain will be verified and that means changes in /system will void it from now on.

If MM can get fully rooted somehow/somewhen on your device with SuperSU installed and you are able to disable SELinux the method will work there as well.

If you can not meet ALL of the above 2 requirements lay down and cry.

For the others: calm down and read on!

You can simply test those both requirements by downloading the FIsH package and execute the installer with the following test parameter:

./install.sh --check

This way nothing get installed but you will see if it would work on your device or not.

Limitations!

Keep in mind what I said above: FIsH does NOT unlock your bootloader!

That means with TWRP-in-FIsH you can

NOT

:

Install a custom ROM like CM/Lineage (this will modify boot = SOFT-BRICK)

Install a custom Kernel (this will modify boot = SOFT-BRICK)

Install a custom recovery (this will modify recovery = may SOFT-BRICK)

In short: do nothing which modifies boot or recovery partitions. Those changes will BREAK your boot signing chain.

You can of course flash everything which is modifying /system /data only (e.g. xposed, Audio mods, etc...)

You're able to backup and restore as well of course and doing any other modifications which you may can't while the Android system is running.

Download

READ THE

REQUIREMENTS

above before proceeding!

Then

UNDERSTAND

the requirements before proceeding! <-- omg this is crucial important!!!! Ensure that you really do not skip this step!

READ THE

LIMITATIONS

above before proceeding!

Then

UNDERSTAND

the limitations before proceeding! <-- omg this is crucial important!!!! Ensure that you really do not skip this step!

... and

NEVER

ask for ETA's! ;)

if you can say:

Yes! I have read and

totally

understood the

limitations

AND the

requirements

!

then proceed. Otherwise read again until you got it.

Keep in mind that this is a HACK. It may soft-brick your device. you have been warned!

The concept is the same for all models but again no guarantees here for anything.

There is

ALWAYS

a risk and you should better

backup

what you do not want to loose before starting downloading this.

Download

Installation (Linux)

You can just install any newer version over an old one.

boot Android and connect USB cable

download the newest version to your PC and open a terminal in that directory

tar xzf TWRP-in-FIsH*.tgz

cd android_FIsH

./install.sh

check the output of that script. you should not see any errors there (hopefully)

Installation (Windows)

use FWUL or be patient.. maybe i or someone else release an installer... maybe...

First run (no PC required)

This FIsH gets installed PERMANENTLY! That means:

You can boot up TWRP the same way as described here again without re-installing.

If you re-install your STOCK image you have to re-install TWRPinFIsH as well.

reboot Android

you should now see: LED goes from blue to

GREEN

NOW directly when u see this

GREEN

LED press VOLUME DOWN and do NOT release

wait until the device vibrates and the LED changed to

RED

. Then release the Volume Down button.

Wait until FIsH completed and TWRP should be shown --> This means FIsH has done it's job well!

This is a good time to do a full backup isn't it ? ;) Manually mount the SYSTEM partition as it gets not auto mounted atm and do a full backup

reboot from here (safely ignore the msg "no OS installed" and reboot anyways) and you should see Android booting (hopefully ... if not see bottom)

Daily Usage (no PC required)

reboot Android

you should now see: LED goes from blue to

GREEN

NOW directly when u see this

GREEN

LED press VOLUME DOWN and do NOT release

wait until the device vibrates and the LED changed to

RED

. Then release the Volume Down button.

Wait until FIsH completed and TWRP should be shown --> This means FIsH is doing it's job still very well :)

AGAIN

: keep your mind up! You HAVE to ensure that whatever you do and whatever you flash ->

NEVER TOUCH BOOT/RECOVERY

! If you flash a ZIP ensure first that it do not modify them! Otherwise you WILL

softbrick

. You have been warned (several times now)

Trouble / Bootloop fix

if you encounter a bootloop (should never happen but who knows) you have 3 choices at least:

Option 1a: (TWRP-Bootloop) Within TWRP open Advanced -> File Manager -> Goto: /system/su.d and click "select" button -> Delete

Option 1b: (TWRP-Bootloop) From your PC: adb shell rm -rf /system/su.d/

Important

: Catch the fish log (see next topic)

Option 2 (this works also for a bootloop without twrp): boot into download mode and use LGLaf to get a shell

then:

setenforce 0 <-- if that doesn't work you may have to do a FULL restore to stock

mount -oremount,rw /system

rm -rf /system/su.d/

reboot. You are out of the bootloop.

Important

: Catch the fish log (see next topic)

Option 3: Last resort: Reflash STOCK. sorry.. there is always a risk..

Catch the FIsH logs

when in TWRP (or other ramdisk providing adb shell):

adb shell "cat /cache/fish/fish.log"

adb shell "cat /tmp/recovery.log"

OR - when in Android:

adb shell "su -c cat /cache/fish/fish.log"

adb shell "su -c cat /cache/fish/fish.log.old"

adb shell "su -c tar cvzf recoverylogs.tgz /cache/recovery"

adb pull recoverylogs.tgz

Upload the output to https://paste.omnirom.org and paste the link in the IRC channel (see next topic)

Support / IRC Channel

IRC means Internet Relay Chat and you will get best support here only.

Choose how to get in:

PC (HexChat and Pidgin are only 2 of them! This list is not complete!)

Android (Yaaic, AndChat, HoloIRC, AndroIRC are only a few of them! This list is not complete!)

Web (KiwiIRC-Web,FreenodeWebchat])

When you have to choose a channel it is: #Carbon-user

When you will be asked for a server network choose: freenode

Known issues (may never get fixed)

Due to the fact that FIsH is a BRUTAL hijack of the booting process several things may not work as expected.

This will normally not harm anything but you have to know about.

ZIP / ROM flashing:

omg really you wanna hear that again? OK: DON'T TOUCH BOOT / RECOVERY. And you be safe.

When you try to install a ROM it will modify at least BOOT. That means soft-brick!

When you try to install a custom Kernel.. omg really? It will definitively SOFT-BRICK! Maybe you should read the limitations again?? :p

When you try to install a ZIP like xposed, supersu, Vipermod and others ensure that those are not modifying BOOT or RECOVERY partitions. For those mentioned it would be very unlikely but who knows.

FIRMWARE partition:

cannot be mounted - even not manually. You have to live with it.

Double Tap to wakeup (in TWRP):

Unfortunately this cannot work in TWRP-in-FIsH due to the nature of this hijack. You have to live with it.

Credits (without them - no FIsH!!!)

If you feel that someone / you is missing on this list lemme know!

Chainfire for SuperSU! This is the main part of FIsH.

TeamWin for TWRP

@cray_Doze, [MENTION=1262249]dssmex[/MENTION], [MENTION=5525731]Aaahh[/MENTION] and [MENTION=4344506]KeiranFTW[/MENTION] for their hijack implementations (e.g. https://xdaforums.com/showthread.php?t=2608408, first steps to a G4 hijack)

steadfasterX for the android FIsH ! ;)

Here is the h955 device tree for building TWRP with omnirom minimal sources - https://github.com/jarno83/android_device_lge_h955

Here are TWRP logs from backups and restoring if anyone interested - https://github.com/jarno83/twrp_logs