[TWRP][3.3.1-0][BUMP][All Models] TWRP w/ Thermal F2FS [2019.12.23]

Search This thread

blastagator

Inactive Recognized Contributor
Dec 27, 2012
1,288
4,707
Fern Park, FL
Welcome to TWRP with F2FS & Thermal Control!
---- Supports Models d800/1/2/3/4/5, LS/VS-980, L01F, lgl22, and F320* ----
(for d804/5 use the d802 version)​

Do NOT post a question if you don't read the first FIVE posts of this thread!!!

Features:
Added: Thermal control, thanks to using AICP kernel. [originally dr87's idea]
Added: As of 3.0.2-1: Using modified cm-13 kernel with my additions of thermal and other changes.
Added: As of 3.1.0-0: Using modified cm-14.1 kernel with my additions of thermal and other changes.
Added: Full F2FS support, including updated driver and f2fs-tools.
NOTE: You must NOT have "Use rm -rf instead of formatting." in the Settings page. If you have this option enabled, you will not be able to change partition type.
Added: Proper support for f320 & lgl22 External SD Card.
Added: Tap to wake.
Added: NTFS support.
Added: Working decryption support.
DO NO ENCRYPT f2fs - Bootloop of ROM and Recovery will occur!
Added: AROMA hack to fix graphics.
Uses: dr87's auto-select correct panel type.
Uses: Bump (So loki isn't needed)
& All of the goodies that already come packed in to the latest version of TWRP!

Please enjoy this recovery and I encourage feedback!!!


F2FS Information:
Clicky Clicky (or scroll down to post #5)


Bugs/Issues:
TWRP Issues, Generally:
https://github.com/TeamWin/Team-Win-Recovery-Project/issues
https://github.com/omnirom/android_bootable_recovery/issues


Major Thanks to:
TWRP Team
Dees_Troy
OmniRom Team
Cyanogenmod Team
Drgravy
Team Codefire
Dorimanx
jakew02
dr87
Khaon
bart452
xiaolu
Yoinx
And everyone else involved with these projects!


Installation:
1) First, you need any version of TWRP installed and working:
I'd recommend using Autorec to get initial TWRP running.
This is the link for KK: http://xdaforums.com/showthread.php?t=2715496
There is also an apk for lollipop, this is much preferred! (Google is your friend.)
You can use any number of other methods to get some version of TWRP installed and running.
2) Once you have a working TWRP, simply flash my zip to upgrade to latest version.
If you flash the image directly, the panel detection script will not run!
(This is only important if you have a jdi LCD panel.)


Troubleshooting:
If you have any issues, please try the Official Build and compare to check that bug is only present in my version. If it is present in both versions, report it to TeamWin or Dees_Troy. If it only bugs in my version, please let me know ASAP.

Also, please check FAQ before asking questions. Thanks!


Download:
https://www.gregtwallace.com/lg-g2/g2-twrp/
Downloads are installable zip files, the images inside of which are already BUMPed.



Sources:
https://github.com/blastagator
Source Readme:
https://github.com/blastagator/cm_device_lge_g2-common/blob/cm-13.0-twrp/README.md



Shameless plug for donations: :)
Venmo Preferred (No Fee)



Zelle, send to greg@gregtwallace.com

Backup (Charges Fee)
Paypal

XDA:DevDB Information
TWRP Touch Recovery w/ Thermal Control and F2FS, Tool/Utility for the LG G2

Contributors
blastagator, TeamWin, and everyone else listed above!

Version Information
Status: Stable
Current Stable Version: 3.3.1-0
Stable Release Date: 2019-12-23

Created 2014-11-02
Last Updated 2019-12-31
 
Last edited:

blastagator

Inactive Recognized Contributor
Dec 27, 2012
1,288
4,707
Fern Park, FL
Announcements

May 7, 2016
New CM-13 based build is released! Enjoy all.


May 4, 2016
New release coming this weekend. Make any complaints ASAP about version -g!
VOTE on if you want me to TRY to fix AROMA. (No guarantees!!!)
http://xdaforums.com/lg-g2/general/twrp-poll-aroma-t3372512


April 30, 2016
Release candidate! Give it a test!
http://xdaforums.com/showpost.php?p=66626361&postcount=2543


April 17, 2016
New beta using cm-13 sources. Click HERE. Please test!


April 7, 2016
TWRP 3.0.0-2 is here! Versions older than 2.8.7.3 have been removed from my download site.


February 17, 2016
(Working!) TWRP 3 is here!
More info: https://twrp.me/site/update/2016/02/05/twrp-3.0.0-0-released.html



.
 
Last edited:

blastagator

Inactive Recognized Contributor
Dec 27, 2012
1,288
4,707
Fern Park, FL
Change Logs

December 23, 2019 (3.3.1-0)
-TWRP Change Log:
* Fix selinux issues during formatting - dianlujitao
* Various fixes for toybox and toolbox builds - CaptainThrowback and bigbiff
* Flash both A and B partitions when installing a recovery ramdisk - Dees_Troy
* Add option to uninstall TWRP app from /system - Dees_Troy
* Create digest for subpartitions - bigbiff

April 29, 2019 (3.3.0-0)
-TWRP Change Log:
* Merge AOSP 9.0 r3 (Dees_Troy)
* Use ANDROID_ROOT variable instead of hard coding to /system (CaptainThrowback)
* Decrypt FBE on 9.0 and metadata decrypt (Dees_Troy)
* vold decrypt updates (CaptainThrowback and nijel8)
* Support vibration on LED class devices (notsyncing)
* Metadata decrypt support for Pixel 3 (Dees_Troy)
* Support rotating the display via build flag (vladimiroltean)
* Reboot to EDL mode button (mauronofrio)
* Support MTP on FFS devices (bigbiff)
* Update FDE decrypt to support keymaster 3 and 4 (Dees_Troy)
* Detect mkfs.f2fs version to properly format on f2fs partitions (Dees_Troy)
* Allow TWRP to use md5 and sha256 checksums for zip installs (bigbiff)
* TWRP can use /data/cache/recovery and /persist/cache/recovery on AB devices with no cache partition (bigbiff)
* Switch part of advanced menus in TWRP to use a listbox of options (Dees_Troy)
* Use magiskboot to allow repacking boot images for installing TWRP (Dees_Troy with thanks to topjohnwu of course)

September 22, 2018 (3.2.3-0)
-TWRP Change Log:
* Fix automatic installing of OTA zips on encrypted devices
* Remove SuperSU from TWRP
* Support both md5 and md5sum file extensions when doing MD5 checking for zip files

July 21, 2018 (3.2.2-0)
-TWRP Change Log:
adb backup fixes
OTA style update zips will now install automatically without prompting for decrypt
minor tweaks to handling date/time on Qualcomm devices
updates to some language translations

December 17, 2017 (3.2.1-0)
(Bug fixes for 3.2.0)
-TWRP Change Log:
minui fixes (cryptomilk)
Better android-8.0 compatibility in ROM trees (Dees_Troy)
Fix missing library in android-8.0 (nkk71)
Fix inconsistent SDCard naming (DevUt)
Default to TWRP restore instead of adb backup restore to fix restore on fresh TWRP boot (jlask)

-TWRP 3.2.0-0 Change Log:
Allow restoring adb backups in the TWRP GUI (bigbiff)
Fix gzip backup error in adb backups (bigbiff)
Fix a bug in TWRP’s backup routines that occasionally corrupted backup files (nkk71)
Better support for installing Android 8.0 based zips due to legacy props (nkk71)
Support vold decrypt with keymaster 3.0 in 8.0 firmwares (nkk71)
Decrypt of synthetic passwords for Pixel 2 (Dees_Troy)
Support newer ext4 FBE policies for backup and restore in libtar (Dees_Troy)
v2 fstab support (Dees_Troy)
Bring TWRP forward to android 8.0 AOSP base (Dees_Troy)
Various other minor bugfixes and tweaks

December 3, 2017 (3.2.0-0)
Removed and replaced with 3.2.1-0

May 20, 2017 (3.1.1-0)
-TWRP Change Log:
Backups will now include adopted storage keys (Dees_Troy)
Fixed an adb restore issue (bigbiff)
Fixed rebooting when no OS is present (Dees_Troy)
Fixed line wrapping in the GUI terminal (_that)
Updated TWRP source code to AOSP 7.1.2 (Dees_Troy)

March 13, 2017 (3.1.0-1)
Rebuild of 3.1.0-0 (from 2017.03.10) - Add ability to boot with JB bootloader.
-TWRP Change Log:
-vold decrypt on a few select HTC devices, TWRP will now attempt to use the system partition's vold and vdc binaries and libraries to decrypt the data partition (nkk71 and CaptainThrowback)
-adb backup to stream a backup directly to or from your PC, see documentation here: https://github.com/omnirom/android_bootable_recovery/commit/ce8f83c48d200106ff61ad530c863b15c16949d9 (bigbiff)
-tweak MTP startup routines (mdmower)
-support new Android 7.x xattrs for backup and restore to fix loss of data after a restore (Dees_Troy)
-support POSIX file capabilities backup and restore to fix VoLTE on HTC devices and possibly other issues (Dees_Troy)
-better indicate to users that internal storage is not backed up (Dees_Troy)
-improve automatic determination of TW_THEME (mdmower)
-minimal getcap and setcap support (_that)
-try mounting both ext4 and f2fs during decrypt (jcadduono and Dees_Troy)
-shut off backlight with power key (mdmower)
-timeout during FDE decrypt (Dees_Troy and nkk71)
-support for FBE decrypt and backing up and restoring FBE policies (Dees_Troy)
-boot slot support (Dees_Troy)
-TWRP app install prompt during reboot (Dees_Troy)
-support for AB OTA zips (Dees_Troy)
-support new Android 7.x log command (Dees_Troy)
-update recovery sources to AOSP 7.1 (Dees_Troy)
-numerous bugfixes and improvements by too many people to mention
-Tree
++Bootloader offset is now 128!
If you are having OTA problems, make sure your ROM maintainer adds this to their device tree: https://github.com/blastagator/cm_d...mmit/946434d0881b50437422e7855d5d7a096d9608e1
Also, /misc needs to be mounted: https://review.lineageos.org/#/c/19334/)
++Completely rebased onto cm-14.1
++Remove custom USB - Use G2+TWRP usbs instead
++Tweaks to enable compatibility with old bootloader
-Kernel
++Completely rebased onto cm-14.1
++Tweaks to enable compatibility with old bootloader
++Disable lots of unneeded things and changed kernel compression



------------- All builds above this line are cm-14.1 based. -----------------
------------- All builds below this line are cm-13 based.
-------------

May 7, 2016 (3.0.2-1)
-Tree
++Completely rebased onto cm-13
++All file utilities, etc. are now up-to-date with the latest cm-13 tree.
++Changed from debug builds to engineering builds, per TeamWin instructions (thanks @Startrek852)
-Kernel
++Took cm-13 kernel and added my stuff to it
++Disabled some tuner/multimedia stuff we don't need
++Updated f2fs
-TWRP
++New splash screen
++New fstab processing
++Fixed AROMA graphic bug. If AROMA still crashes, try this:
http://xdaforums.com/showpost.php?p=66747442&postcount=2591
++Lots of language updates.


------------- All builds above this line are cm-13 based. -----------------
------------- All builds below this line are omni-4.4 based.
-------------

April 7, 2016 (3.0.2-0)
TWRP 3.0.2-0:
-Fix a bug with the input box that affected masked inputs (passwords).
++This fixes decrypt of full device encryption on devices that support decrypt.
++This bug also impacts encrypted backups.
++Users are highly encouraged to stop using 3.0.1 if you use encrypted backups or if you need decrypt of data in TWRP.
-Add Greek translation to some builds.
TWRP 3.0.1-0:
-Support new CM 13.0 pattern encryption (sultanqasim)
-Fix slow flashing issue due to modprobe (present on only some devices) (#twrp)
-libtar updated to latest upstream and fixes (jcadduono)
-Fixes for loading custom themes (_that)
-TWRP will now detect and install TWRP themes automatically through the normal zip install process (Dees_Troy)
-Translation updates - added Italian, Czech and Polish and significant updates to Dutch
-Progress bar improvements - progress bar updates during image flashing and better tracks progress during file system backups (tar) (Dees_Troy)
-Fix input box text display (Dees_Troy)
-Reboot option after zip install complete (bigbiff)
-Other mostly invisible bug fixes and improvements
Device / Kernel / etc.
-No changes



February 17, 2016 (3.0.0-4)
TWRP Change Log:
-Completely new theme - Much more modern and much nicer looking (by z31s1g)
-True Terminal Emulator - Includes arrow keys, tab and tab completion, etc. (by _that)
-Language translation - It won’t be perfect and especially some languages that require large font files like Chinese & Japanese won’t be availble on most devices. Also some languages may only be partially translated at this time. Feel free to submit more translations to OmniROM’s Gerrit. (mostly by Dees_Troy)
-Flashing of sparse images - On select devices you will be able to flash some parts of factory images via the TWRP GUI (by HashBang173)
-Adopted storage support for select devices - TWRP can now decrypt adopted storage partitions from Marshmallow
-Reworked graphics to bring us more up to date with AOSP - includes support for adf and drm graphics (by Dees_Troy)
-SuperSU prompt will no longer display if a Marshmallow ROM is installed
-Update exfat, exfat fuse, dosfstools (by mdmower)
-Update AOSP base to 6.0
-A huge laundry list of other minor fixes and tweaks

My Change Log:
-TWRP:
++Re-enable RO check/warning - MM is potentially sensitive to RO
++NTFS Support
++Remove bootloader backup (user should use zips to manage bootloader instead)
++Enable extra languages (lots of options!)
-Device Tree:
++Fixed decryption
DO NO ENCRYPT f2fs - Bootloop of ROM and Recovery will occur!
++Fixed USB init problem (created custom usb recovery init by combining parts of g2 init and twrp init)
++Switched to using TWRP init w/ additional inits added via proper method
++Update external_sd init
++Restructure g2 device repo to further isolate 'TWRP' parts
++Enable QCOM Overlay Graphics
++Remove non-functioning LED part of postrecoveryboot.sh
-Kernel
++Fixed decryption
++Updated f2fs (to latest, @dorimanx for helpful commits)
++Enable NTFS
++Update exfat driver
++Fix lge usb gadget config options
++Some other misc. updates


November 9, 2015 (2.8.7.3)
-Sorry about bad 2.8.7.2 build :(
-Still built off of omni-4.4 source code. (Android-M isn't ready for a full release yet.)
-Vendor: Complete overhaul of vendor blobs, now using cm-12.1-caf branch from lg-devs
-TWRP: Make separate flags for ability to backup or restore partitions
-Device: Add ability to backup/restore Bootloader partitions
++User cannot use TWRP to restore Bootloader, too dangerous!
-Device: Removed system_image
++We don't need this for our phone and it was confusing people who didn't READ the change log
-TWRP/Device: Remove any warnings about system mount RO, this isn't important for our phone
-Device: Set max brightness to actual max (255)
-Device/TWRP: Create default brightness, set it to 175 (~68%)
-Kernel: Latest f2fs driver
++This should fix issue where ROM running kernel with newest f2fs doesn't boot
++Note: This breaks compatibility with ROM using old f2fs driver. Read note below.
-Kernel: Other commits that were needed to make latest f2fs driver work
-Kernel: Config changes that might allow encrypted f2fs to work now!
-Kernel: Enable SELinux
++Before I accidentally completely disabled, now it should boot Enabled, but in Permissive mode.
-TWRP: More tweaking to recreation of media folder / setting internal storage path
-Device: Remove integrated supersu

IMPORTANT - f2fs /data note: If you restore OLD backups, you will probably cause ROM or recovery (or both) to hang! This is obviously bad because your only option at that point is doing a back to stock kdz. To avoid problems, make NEW backups AFTER upgrading to the new version of TWRP. Backups made with 2.8.7.3 can be restored with 2.8.7.3 without causing issue.


October 31, 2015 (2.8.7.2)
-Broken build!
-Device: Add ability to backup/restore Misc partition
++Caused broken build. Do not use this version.


June 24, 2015 (2.8.7.1)
-Make sure you have newest Theme (or no theme).
-Fixed internal storage path, I had it wrong for long time, sorry!!! https://github.com/blastagator/cm_d...mmit/cbfe7d09d95890b4e26f673c9db937840167da9b
-Turned down max screen brightness, no need to fry phone
-Fixed TWRP not assigning proper context to Internal Storage when wiping: https://github.com/blastagator/andr...7903af041ad00146aee866#commitcomment-11848774
++Full wipe of phone will now always recreate folder properly!
++Bumped version up by .1 to reflect change to actual TWRP code.
-Add ability to backup "System Image"
++YOU VERY LIKELY DON'T NEED THIS. (If you're on anything other than stock ROM already, you DEFINITELY don't need it.) We have KDZ flashing to get back to stock.
++This creates a raw, emmc, backup of the System partition (instead of file backup)
++Has to do with new OTA issues (which aren't an issue for G2 yet, if ever)
++Not really important for us, but TWRP added it, so I added it too: https://github.com/omnirom/android_bootable_recovery/commit/eb32b1ff00878e7b01453450fcd04ecb9fcbba52
++See also: https://github.com/blastagator/cm_d...mmit/e28ab9cef31d6574a6f6e1f92b97f94bcbdda584
-TWRP Updates:
-Initial ground work for software drawn keyboard (_that)
-Fix handling of wiping internal storage on datamedia devices (xuefer)
-Allow DataManager to set and read values from the system properties (xuefer)
-Fix crash when taking screenshots on arm64 devices (xuefer)
-Fix error message after an ORS script completes (Dees_Troy)
-Fix crashes / error when creating encrypted backups (_that, Dees_Troy)
-Add system read only option – more details below (Dees_Troy)
-Add resize2fs and GUI option to run resize2fs (Dees_Troy)
-Fix crash loop caused by empty lines in AOSP recovery command file (_that)
-Prevent duplicate page overlays such as multiple lock screens (mdmower)

May 25, 2015 (2.8.6.3)
-Updated f2fs kernel module to match the version used by @dorimanx
-Updated vendor blobs by applying all changes from lg-devs and using newest 12.1 branch
-Updated e2fsprogs (the binaries used to manipulate the filesystem) to latest cm-12.1 version
-Updated to using the newest branch for qcom_common
-Updated f2f2-tools by forking cm-12.1 and making some tweaks (Git)
-Fixes the issue where TWRP won't load if you're using Lollipop with f2fs
-Relocated common manifest to g2-common git
-Enable new Qualcomm HW Decrypt flag
-TWRP Fixes:
++Prevent multiple unlock screens
++<MAYBE> Enable proper decryption of an encrypted /data partition


Much Older Versions:
May 24, 2015 (2.8.6.2)
-Test build that is now removed.
-Only built for d800 & d802.


May 2, 2015 (2.8.6.1)
-Added lgl22 support. All models now supported!


Mar 30, 2015 (2.8.6.1)
-Added ability to backup/restore Sensors partition (per user request)
-Thanks to @_that for tipping my off to my previous error (& @z31s1g who's themeing led to problem discovery)
-TWRP Changelog:
CHANGELOG for 2.8.6.0:
-Fix daylight savings time rules for USA and Europe (_that)
-Allow mulitple overlays for popup boxes (Dees_Troy)
-Add pattern style password entry for decrypt (Tassadar)
-Keyboard improvements (_that)
-Update AOSP base to 5.1 (Dees_Troy)
-Reduce theme count to 5 and rely on scaling (Dees_Troy)
-Various scaling improvements (Dees_Troy)
-Improved handling of resources in the GUI (_that)
-Make scroll bar size proportional to list size (_that)
-Allow scoll lists to render without a header (_that)
-Make console scroll per pixel with kinetic scrolling (_that)
-Support styles in XML to reduce XML size and improve consistentcy (Dees_Troy)
-Various other fixes and improvements (mdmower, bigbiff, codelover, etc)

Mar 28, 2015 (2.8.6.0)
-Improperly built 2.8.6.0
-Used wrong TWRP tree. Oops!


Feb 15, 2015 (2.8.5.1)
-Corrected build of 2.8.5.0
-Edited the init.rc (see: https://github.com/omnirom/android_bootable_recovery/commit/df7abac1a645949ded76418759236bc3b14f107e)
-Also made a slight tweak to move tap-to-wake to a separate init (should make it easier to update the init.rc in the future if it is changed)
-FIXED: sd_card init was not being copied correctly. Relocated it to /etc and made appropriate related changes. (I guess this wasn't getting in the way of sd_card working, but it is proper to include this file.)
-NEW FILE HOST: Now using spideroak.com, they advertise no download limits!


Feb 13, 2015 (2.8.5.0)
-Merged upstream vendor blobs (Updates from lg-devs)
-TWRP Changelog:
CHANGELOG for 2.8.5.0:
-Scale the GUI - TWRP can read the theme's resolution and scale it up or down to fit the theme to your screen's resolution
-Backups can now be cancelled while the backup is in progress (does not include restore because we don't want to leave your device in a bad state)
-Improve thread handling and move input handling into the main rendering thread to improve stability
-Make MTP work even if unplugged and plugged back in
-Unify scrollable list code and make kinetic scrolling feel more natural
-Fix handling of mapped zip files for OTA updates (CM12 updater)
-USB keyboards should now work on all devices that support USB host mode via a USB OTG cable
-Other small fixes and improvements

Jan 13, 2015 (2.8.4.0)
-Changed Kernel Configs so default kernel state is SELinux Permissive.
++There was already a change that allowed TWRP to immediately change to Permissive, now it is Permissive immediately.
-Made a few changes to g2-common to accommodate lgl22 (when I get around to getting that working).
CHANGELOG for 2.8.4.0:
-Add flashing of boot and recovery images via the TWRP GUI (Find the Images button on the Install page)
-Fix some MTP related crashes and bugs
-Eliminate TWRP toggling USB IDs during boot if MTP is enabled
-Fix various adb sideload issues
-Improve threading of actions
-Eliminate separate thread for screen timeout
-Update libblkid to 2.25.0
-Use power button as back button on watch themes for easier navigation
-Add mutex locking to data manager
-Improve custom theme handling on encrypted devices
-Allow the stock theme to be offset by build flags so we can center a lower res theme on a higher res screen especially for watches with round screens

Dec 27, 2014 (2.8.3.1)
-Tweaked the fstab file
++Changed partition type to ext4 from auto - this should fix broken Format Data / Factory Reset. However, f2fs is still supported. My f2fs cache partition still mounted in twrp even though fstab was set to ext4.
++Added the encrypt partition to the fstab. This should enable twrp to mount encrypted /data partitions. I don't know if this is the problem or not. The one person I asked to try it didn't have any luck. Please others try and let me know if it works or what errors you get. NOTE: An encrypted f2fs /data partition will probably NOT work in this configuration.


Dec 24, 2014 (2.8.3.0)
-Version 2.8.3.0
What's new in 2.8.3.0:
MTP fixes and improvements - you can now copy zips to the root of storage - thanks to _that
MTP will now tell the host PC that storage is removed instead of disabling MTP completely
MTP will now report the correct max file size based on the file system in use to the host PC (may fix transfer of large files)
Update and improve fix permissions and make fixing contexts optional
Update SuperSU in TWRP to 2.40 and update install process
Make TWRP work properly on AArch64 (Nexus 9 is now built in true 64-bit binaries and libraries)
Attempt to set correct permissions and contexts on all files placed in storage so backups will show in Android
Fix kernel panic during MTP start on some devices
Support unicode fonts on devices with True Type Font support
Fix slider value not showing sometimes (vibration settings page)
Toggle MTP off during adb sideload to set correct USB IDs
Reduce library requirements for 5.0 L decrypt
Other minor fixes and improvements
-Update g2-common to ensure se_linux will be set to permissive at boot of recovery


Dec 18, 2014 (2.8.2.1)
-Full repo sync
-Check the omni git for changes
-Looks like Dees_Troy pushed quite a few bug fixes over the past couple of weeks
-Switched device tree to start using 'L' encryption


Dec 11, 2014 (2.8.1.2)
-Rebuild of 2.8.1.1
-Uses the new device trees
-Adds l01f for this version
-BUMPed (2.8.1.1 was not)
-I recompiled this version due to various bug complains involving 2.8.2.0 in general - in case anyone wants to stay on old version til those get sorted out.
++I'm not aware of any specific issues.


Dec 9, 2014
-Created custom l01f kernel config.
-Built and added l01f variant.


Dec 6, 2014 (2.8.2.0)
-Reworked all device trees to use the CM stock device trees + a couple mods to add TWRP support.
-Still using the Omni4.4 source.
-BUMP'ed and new flashing script that still auto-detects panel type but does NOT use loki.
++Bump works on JB & KK bootloader.
-All the other goodies as listed in 2.8.1.9.
-If you're on d800 and want to upgrade to KK bootloader, go here.


Dec 2, 2014 (2.8.1.9)
-Built with Omni 4.4
-TWRP 2.8.2.0 Source (LP5.0 for TWRP source only)
-Labeled as 2.8.1.9 just for clarity when I redo the device trees and rebuild.
-Team Win Change Log:
-Pull in all changes from Android 5.0 lollipop into TWRP
-Add decrypt support for Android 5.0 lollipop encrypted partitions including automatic decrypt when the default_password is in use
-Revert some changes to exFAT that were breaking exFAT support on some devices
-Other minor fixes and updates

Note: At this time we do not have a GUI representation for pattern unlock. You can still decrypt patterns though by translating the pattern dots to numbers. The pattern dots correspond to numbers in the following pattern:
1 2 3
4 5 6
7 8 9

So an upper-case L would translate to a password of 14789 entered on the keyboard. Eventually we plan to add a proper pattern unlock to TWRP but it is a relatively low priority at this point.

Oct 25, 2014 (2.8.1.1)
-Corrected bug where "Internal Storage" was being listed as "Data"
-F320: Added additional properties to External SD mount.
++Should now be able to wipe External SD under advanced wipe.
++Should not get error when booting TWRP with no External SD card inserted.


Oct 24, 2014 (2.8.1.0)
-Team Win released version 2.8.1.0 [TeamWin Page]
What's new in 2.8.1.0:
MTP fixes and improvements - you can now copy zips to the root of storage - thanks to _that
TrueType Font support - optional as it takes up a decent amount of space so may not be available on all devices - thanks to Tassadar
Temperature support - thanks to bigbiff
Various other bugfixes and tweaks
-Full repo sync and upstream merges on all sources.
-F320 External SD Card is now supported.
-Ability to backup Modem and Recovery partitions


Oct 20, 2014 (2.8.0.2)
-Because incrementing a digit by 1 is always better!
-Full repo sync and upstream merges on all sources.
(That is - TWRP source, device tree source, g2-common source, and aicp source are all the newest available!)
-Compiled completely from scratch. (No need for hodge-podge as previous version.)
-TWRP now shows CPU temperature.
-F320 variant should work now.
(Which is nice for F320 users since it looks like it has been awhile since getting a new version of TWRP!)
-Simplified file naming convention for the downloads.
-Original release used old loki. New zips are posted with newest loki and newest panel detection script! Should work on all phones now.


Oct 19, 2014 (2.8.0.1)
-Changed to AICP kernel to add thermal control!
-Patched AICP kernel to support F2FS.
-2.8.0.1 Base came from DrGravy (this version is a composite of a few different sources)
-Tap to wake works now.
-TWRP Version 2.8.0.1
-Some bug fixes that came along with 2.8.0.1


Oct 18, 2014
-Not actually a new build, just a big information update!
-Added info for adding full f2fs support to your kernel.
-Looking in to compiling TWRP with the AICP kernel to add thermal support.


Oct 10, 2014
-Full repo sync.
-Changed vendor tree from a CM11 build that I had been using to dr87's git.
-Built for (almost) all LG G2 models.


------------- All builds below this line are for D800 ONLY! -------------

Oct 8, 2014
-Fully sync'd everything to the above listed gits
-Moved the tap to wake code out of bootable/recovery and into a custom recovery init.rc
-Moved a couple files into g2-common/twrp folder to improve organization
-Sync'd with main repo to get any code changes and confirm the init.rc wasn't causing issues anymore
-Posting this build in .img and .zip format


Oct 7, 2014 (Build 2)
-Added postrecoveryboot.sh (Forgot to include it in the original build)


Oct 7, 2014
-Initial Release
-Based on latest OmniRom TWRP Source
-Kernel is based on Stock Kernel patched w/ F2FS for 3.4 kernel
 
Last edited:

blastagator

Inactive Recognized Contributor
Dec 27, 2012
1,288
4,707
Fern Park, FL
FAQ

My OTA isn't working or I am now in a bootloop to TWRP.
To get out of the bootloop, connect to adb shell, and issue:
dd if=/dev/zero of=/dev/block/platform/msm_sdcc.1/by-name/misc count=1 bs=32
This should resolve the problem. If not, search the thread, some people have other suggestions for various places to nuke the bad commands residing in /misc. To avoid the future problem, contact your ROM maintainer with the following info.
Starting in Android N, the ROM uses /misc partition to communicate with recovery. (Therefore if your ROM is M or lower, OR uses the old communication method, this is not relevant to you). To address OTA problems, it is important to note the newly introduced bootloader offset.
https://review.lineageos.org/#/c/165001
Also, /misc needs to be mounted:
https://review.lineageos.org/#/c/19334/
Your ROM maintainer should add these to their device tree. This will insure that ROM will write to the exact place the recovery is reading from.


I see error: "E: mount -0 bind '/data/media' '/sdcard' process ended with error=255" when I switch partition type on /data.
Update to new version, 2.8.7.1. This problem is fixed.


I see error: "assert failed: run_program(" /tmp/loki.sh") == 0" when I flash X. Why?
Loki is only supported by JB BL. Loki is smart enough to check your BL version before flashing. If you are on KK BL and the thing you are flashing uses loki, you're going to get this error. New BL requires you to use bump.


Now that I have bump, how do I update to the KK bootloader?
If you have a d800 (or d801), see my thread here. If you have a d802, see @dorimanx's thread, here. Credit's to dori for inspiring me to make the package for d800.


USB-OTG isn't working, why not?
To use USB-OTG your device needs to be formatted fat32, not NTFS.


I'm having trouble formatting partitions. Why doesn't it work?
Fixed: As of 2.8.3.1
The option to Format Data or do Factory Reset probably won't work. The fstab is set to auto to support f2fs and those two options don't know how to deal with auto (they don't know if you want them wiped to ext4 or f2fs). Therefore, you need to do Advanced Wipe, which works fine. If you are still having trouble, make sure MTP isn't on and make sure your USB isn't plugged in.


OMG, my TWRP thinks this is the 1970s?! HALP!
This is an issue that arises in Android L (for whatever reason). Member murdoch1 found this and confirmed that installing it fixes the 1970 issue in TWRP.


Does [xyz] work?
As far as I know, everything works except for known issues in the common twrp source.


I want to report [xyz] as not working, how do I do it?
Post in this forum. I'll do what I can to fix it.


When will the next version come out?
I don't plan on building again unless a bug is discovered that I can fix, or if TeamWin releases the next version.


Why don't you do [xyz]?
Why don't you do it?


Why doesn't F2FS work?
It DOES work in the recovery. To get it working on your ROM you need to have proper kernel support. Many AOSP ROMs support f2fs partitions. Additionally, dorimanx has added working f2fs on his stock kernel. :)


Why doesn't AROMA work?
AROMA is old. As of version 3.0.2-1, I added a hack to fix the graphics. If your zip file still isn't working, try my guide:
http://xdaforums.com/showpost.php?p=66747442&postcount=2591
 
Last edited:

blastagator

Inactive Recognized Contributor
Dec 27, 2012
1,288
4,707
Fern Park, FL
F2FS Information

WARNING: Changing Partition type of /data WILL wipe ALL data, including INTERNAL SD!
You need to specifically backup Internal SD, TWRP does not automatically do this when you backup /data!

(This only applies if you change from ext4 to f2fs, or vice versa; other operations will not magically wipe your partitions.)

WARNING 2: DO NOT ENCRYPT F2FS - ROM and RECOVERY will BOTH bootloop and you'll be doing back to stock method!!!

If you want to use F2FS:
1) Make sure your kernel and ramdisk support f2fs (the dev of your ROM/kernel should have f2fs support noted). Dorimanx stock kernel as well as many AOSP kernels have full f2fs support.
2) Install and boot into my recovery.
3) Go to Wipe, Advanced Wipe, select /data, then click Change Partition Type. Select f2fs, and it will convert. Repeat this process for /cache.
4) Reboot the recovery, NOT reboot to system. DO NOT DO ANYTHING ELSE UNTIL YOU REBOOT RECOVERY!!!
5) Reboot OS. That's it! You're ready to go.


If you want to switch to F2FS without losing your data:
1) Make sure your kernel and ramdisk support f2fs (the dev of your ROM/kernel should have f2fs support noted). Dorimanx stock kernel as well as many AOSP kernels have full f2fs support.
2) Install and boot into my recovery.
3) Make a backup of your /data partition and copy it to your PC via MTP. Also, copy the content of your /sdcard to your computer. Both of these things will be destroyed when you switch partition type!
4) Go to Wipe, Advanced Wipe, select /data, then click Change Partition Type. Select f2fs, and it will convert. Repeat this process for /cache.
5) Reboot the recovery, NOT reboot to system. DO NOT DO ANYTHING ELSE UNTIL YOU REBOOT RECOVERY!!!
6) Copy your backup via MTP to your phone. Restore your /data partition.
7) Copy your sdcard files back to your sdcard. (NOTE: For some reason, when I do this, the files end up getting deleted, you may need to copy the sdcard files over after your reboot into your OS.)
8) Reboot OS. That's it! You're ready to go.


Don't complain if you didn't read everything in all 5 of these posts!
 
Last edited:

EniGmA1987

Senior Member
Sep 21, 2010
2,064
807
Very nice! Im glad to see more work being done to bring F2FS to the G2. I dont know enough about getting into the ROM and kernels to get this going myself, but I will be following the development more closely now and hope someone else is gracious enough to port one of the stock based ROMs to work with F2FS. I think I remember seeing Dorimanx kernel has support for the file system already too, just no recovery or ROM that was capable at the time.
 
Y

Yoinx

Guest
Problem: We need a kernel/ramdisk that will mount the partitions in a ROM!
On my ROM I am using Dori's kernel with which has the f2fs module. However, even though it has the module, the /cache partition does not mount when the rom boots. Perhaps a ramdisk fstab issue? - Possibly my next adventure...

You may need to rebuild his kernel (or rip the ramdisk out of a pre-built one and inject it back in after modifying it) and explicitly mount the cache partition as f2fs.

https://github.com/dorimanx/LG-G2-D802-Ramdisk/blob/kitkat-ramdisk/ROOT-RAMDISK/fstab.g2

You'd probably need to add it with these, though I'm unsure why it's not already listed. It may be in the built ramdisk, built into the file during the compile... It may also be mounted after boot in one of the .rc scripts... But I'm used to seeing all the partitions laid out in the fstab on previous devices.

Have you tried manually mounting via terminal once you've booted? I'm assuming that works and you're just trying to make it auto-mount?
 

blastagator

Inactive Recognized Contributor
Dec 27, 2012
1,288
4,707
Fern Park, FL
You may need to rebuild his kernel (or rip the ramdisk out of a pre-built one and inject it back in after modifying it) and explicitly mount the cache partition as f2fs.

https://github.com/dorimanx/LG-G2-D802-Ramdisk/blob/kitkat-ramdisk/ROOT-RAMDISK/fstab.g2

I was thinking modify the fstab. However, in dori's kernel, the fstab.g2 doesn't even have entries for /system /data or /cache. In the recovery I changed those partitions from ext4 to auto. I planned to do the same on the kernel. Even though the fstab is different, I was going to try adding mounts for those 3 partitions and see what happened. However, I couldn't get the image repacked. I used the non-standard mkbootimg from the compiling of the recovery. I tried several different commands to repack - all of which led to a boot loop. (Except one, which got me fastboot because the offsets were wrong.)

Alternatively I was going to recompile the dori kernel but I haven't really delved into adding the custom ramdisk into that compile, got too tired last night.

Have you tried manually mounting via terminal once you've booted? I'm assuming that works and you're just trying to make it auto-mount?

Using: mount -t f2fs /dev/block/platform/msm_sdcc.1/by-name/cache /cache
The partition mounted properly using the dori's build of dori's kernel 8.0.1
 
Last edited:
Y

Yoinx

Guest
You can get something like kernel workshop, extract the boot.img into the kernel and ramdisk to play with whatever then repackage it without recompiling.

Yeah, I saw the fstab is a bit odd. I thought they were moving to a new mount system but I couldn't find it handily
 

blastagator

Inactive Recognized Contributor
Dec 27, 2012
1,288
4,707
Fern Park, FL
You can get something like kernel workshop, extract the boot.img into the kernel and ramdisk to play with whatever then repackage it without recompiling.

Yeah, I saw the fstab is a bit odd. I thought they were moving to a new mount system but I couldn't find it handily

Dori was nice enough to point it out for me:

https://raw.githubusercontent.com/dorimanx/LG-G2-D802-Ramdisk/kitkat-ramdisk/ROOT-RAMDISK/fstab.g2
https://github.com/dorimanx/LG-G2-D802-Ramdisk/blob/kitkat-ramdisk/ROOT-RAMDISK/init.target.rc#L45


I plan to fiddle with it :)
 
Y

Yoinx

Guest
Simple enough. They're just running it in the scripts then. I modified my old phone's kernel to have simulated run levels by running a script from each of the points in the init.rc events, so you could run commands at various points throughout the boot sequence via init.d essentially. I liked the feature, but I don't think many others really had a use for it.

Same concept, the only downside by it being hard-coded is that you need to repack each time instead of just modifying an init.d script on the fly.

Glad you found it though
 
Y

Yoinx

Guest
Thanks. I've been fighting with that as one of my options. The g2 requires a dt.img as well as a non-standard mkbootimg, so it is driving me up the wall!

Interesting. I haven't started really building anything for the G2 yet.... not enough time IRL at the moment. When I flash kernels though, it's just boot.img.

What's this dt.img that you're talking about? The non-standard mkbootimg is typically just just for offsets.

You may be better off just downloading the kernel sources and building from scratch if the imgtools dont work.


Looks like this guy's got a version of the mkbootimg tools that supports dt.img https://github.com/xiaolu/mkbootimg_tools if you're running linux (hopefully, since it makes things MUCH easier)
 

blastagator

Inactive Recognized Contributor
Dec 27, 2012
1,288
4,707
Fern Park, FL

blastagator

Inactive Recognized Contributor
Dec 27, 2012
1,288
4,707
Fern Park, FL
Oct 8, 2014 Build
-Fully sync'd everything to the above listed gits
-Moved the tap to wake code out of bootable/recovery and into a custom recovery init.rc
-Moved a couple files into g2-common/twrp folder to improve organization
-Sync'd with main repo to get any code changes and confirm the init.rc wasn't causing issues anymore
-Posting this build in .img and .zip format

Signed Zip: https://www.dropbox.com/s/sd1lo0mijouu6kg/2014.10.08-blastagator-twrp-2.8.0.0-w.f2fs-signed.zip?dl=0
Zip MD5: https://www.dropbox.com/s/xmw5e4pzw...gator-twrp-2.8.0.0-w.f2fs-signed.zip.md5?dl=0
Img: https://www.dropbox.com/s/gmzfyg7rs8guw1m/2014.10.08-blastagator-twrp-2.8.0.0-w.f2fs.img?dl=0
 
  • Like
Reactions: EniGmA1987

Top Liked Posts

  • There are no posts matching your filters.
  • 380
    Welcome to TWRP with F2FS & Thermal Control!
    ---- Supports Models d800/1/2/3/4/5, LS/VS-980, L01F, lgl22, and F320* ----
    (for d804/5 use the d802 version)​

    Do NOT post a question if you don't read the first FIVE posts of this thread!!!

    Features:
    Added: Thermal control, thanks to using AICP kernel. [originally dr87's idea]
    Added: As of 3.0.2-1: Using modified cm-13 kernel with my additions of thermal and other changes.
    Added: As of 3.1.0-0: Using modified cm-14.1 kernel with my additions of thermal and other changes.
    Added: Full F2FS support, including updated driver and f2fs-tools.
    NOTE: You must NOT have "Use rm -rf instead of formatting." in the Settings page. If you have this option enabled, you will not be able to change partition type.
    Added: Proper support for f320 & lgl22 External SD Card.
    Added: Tap to wake.
    Added: NTFS support.
    Added: Working decryption support.
    DO NO ENCRYPT f2fs - Bootloop of ROM and Recovery will occur!
    Added: AROMA hack to fix graphics.
    Uses: dr87's auto-select correct panel type.
    Uses: Bump (So loki isn't needed)
    & All of the goodies that already come packed in to the latest version of TWRP!

    Please enjoy this recovery and I encourage feedback!!!


    F2FS Information:
    Clicky Clicky (or scroll down to post #5)


    Bugs/Issues:
    TWRP Issues, Generally:
    https://github.com/TeamWin/Team-Win-Recovery-Project/issues
    https://github.com/omnirom/android_bootable_recovery/issues


    Major Thanks to:
    TWRP Team
    Dees_Troy
    OmniRom Team
    Cyanogenmod Team
    Drgravy
    Team Codefire
    Dorimanx
    jakew02
    dr87
    Khaon
    bart452
    xiaolu
    Yoinx
    And everyone else involved with these projects!


    Installation:
    1) First, you need any version of TWRP installed and working:
    I'd recommend using Autorec to get initial TWRP running.
    This is the link for KK: http://xdaforums.com/showthread.php?t=2715496
    There is also an apk for lollipop, this is much preferred! (Google is your friend.)
    You can use any number of other methods to get some version of TWRP installed and running.
    2) Once you have a working TWRP, simply flash my zip to upgrade to latest version.
    If you flash the image directly, the panel detection script will not run!
    (This is only important if you have a jdi LCD panel.)


    Troubleshooting:
    If you have any issues, please try the Official Build and compare to check that bug is only present in my version. If it is present in both versions, report it to TeamWin or Dees_Troy. If it only bugs in my version, please let me know ASAP.

    Also, please check FAQ before asking questions. Thanks!


    Download:
    https://www.gregtwallace.com/lg-g2/g2-twrp/
    Downloads are installable zip files, the images inside of which are already BUMPed.



    Sources:
    https://github.com/blastagator
    Source Readme:
    https://github.com/blastagator/cm_device_lge_g2-common/blob/cm-13.0-twrp/README.md



    Shameless plug for donations: :)
    Venmo Preferred (No Fee)



    Zelle, send to greg@gregtwallace.com

    Backup (Charges Fee)
    Paypal

    XDA:DevDB Information
    TWRP Touch Recovery w/ Thermal Control and F2FS, Tool/Utility for the LG G2

    Contributors
    blastagator, TeamWin, and everyone else listed above!

    Version Information
    Status: Stable
    Current Stable Version: 3.3.1-0
    Stable Release Date: 2019-12-23

    Created 2014-11-02
    Last Updated 2019-12-31
    71
    Announcements

    May 7, 2016
    New CM-13 based build is released! Enjoy all.


    May 4, 2016
    New release coming this weekend. Make any complaints ASAP about version -g!
    VOTE on if you want me to TRY to fix AROMA. (No guarantees!!!)
    http://xdaforums.com/lg-g2/general/twrp-poll-aroma-t3372512


    April 30, 2016
    Release candidate! Give it a test!
    http://xdaforums.com/showpost.php?p=66626361&postcount=2543


    April 17, 2016
    New beta using cm-13 sources. Click HERE. Please test!


    April 7, 2016
    TWRP 3.0.0-2 is here! Versions older than 2.8.7.3 have been removed from my download site.


    February 17, 2016
    (Working!) TWRP 3 is here!
    More info: https://twrp.me/site/update/2016/02/05/twrp-3.0.0-0-released.html



    .
    62
    November 9, 2015 (2.8.7.3)

    November 9, 2015 (2.8.7.3)
    -Sorry about bad 2.8.7.2 build :(
    -Still built off of omni-4.4 source code. (Android-M isn't ready for a full release yet.)
    -Vendor: Complete overhaul of vendor blobs, now using cm-12.1-caf branch from lg-devs
    -TWRP: Make separate flags for ability to backup or restore partitions
    -Device: Add ability to backup/restore Bootloader partitions
    ++User cannot use TWRP to restore Bootloader, too dangerous!
    -Device: Removed system_image
    ++We don't need this for our phone and it was confusing people who didn't READ the change log
    -TWRP/Device: Remove any warnings about system mount RO, this isn't important for our phone
    -Device: Set max brightness to actual max (255)
    -Device/TWRP: Create default brightness, set it to 175 (~68%)
    -Kernel: Latest f2fs driver
    ++This should fix issue where ROM running kernel with newest f2fs doesn't boot
    ++Note: This breaks compatibility with ROM using old f2fs driver. Read note below.
    -Kernel: Other commits that were needed to make latest f2fs driver work
    -Kernel: Config changes that might allow encrypted f2fs to work now!
    -Kernel: Enable SELinux
    ++Before I accidentally completely disabled, now it should boot Enabled, but in Permissive mode.
    -TWRP: More tweaking to recreation of media folder / setting internal storage path
    -Device: Remove integrated supersu

    IMPORTANT - f2fs /data note: If you restore OLD backups, you will probably cause ROM or recovery (or both) to hang! This is obviously bad because your only option at that point is doing a back to stock kdz. To avoid problems, make NEW backups AFTER upgrading to the new version of TWRP. Backups made with 2.8.7.3 can be restored with 2.8.7.3 without causing issue.


    All should work fine. Should be a safe build again. I did make some changes to the actual TWRP code & submitted patches to their gerrit, but I am fairly confident we're back in business.

    Also of note - I can't believe it has been a year since I started this project!
    56
    FAQ

    My OTA isn't working or I am now in a bootloop to TWRP.
    To get out of the bootloop, connect to adb shell, and issue:
    dd if=/dev/zero of=/dev/block/platform/msm_sdcc.1/by-name/misc count=1 bs=32
    This should resolve the problem. If not, search the thread, some people have other suggestions for various places to nuke the bad commands residing in /misc. To avoid the future problem, contact your ROM maintainer with the following info.
    Starting in Android N, the ROM uses /misc partition to communicate with recovery. (Therefore if your ROM is M or lower, OR uses the old communication method, this is not relevant to you). To address OTA problems, it is important to note the newly introduced bootloader offset.
    https://review.lineageos.org/#/c/165001
    Also, /misc needs to be mounted:
    https://review.lineageos.org/#/c/19334/
    Your ROM maintainer should add these to their device tree. This will insure that ROM will write to the exact place the recovery is reading from.


    I see error: "E: mount -0 bind '/data/media' '/sdcard' process ended with error=255" when I switch partition type on /data.
    Update to new version, 2.8.7.1. This problem is fixed.


    I see error: "assert failed: run_program(" /tmp/loki.sh") == 0" when I flash X. Why?
    Loki is only supported by JB BL. Loki is smart enough to check your BL version before flashing. If you are on KK BL and the thing you are flashing uses loki, you're going to get this error. New BL requires you to use bump.


    Now that I have bump, how do I update to the KK bootloader?
    If you have a d800 (or d801), see my thread here. If you have a d802, see @dorimanx's thread, here. Credit's to dori for inspiring me to make the package for d800.


    USB-OTG isn't working, why not?
    To use USB-OTG your device needs to be formatted fat32, not NTFS.


    I'm having trouble formatting partitions. Why doesn't it work?
    Fixed: As of 2.8.3.1
    The option to Format Data or do Factory Reset probably won't work. The fstab is set to auto to support f2fs and those two options don't know how to deal with auto (they don't know if you want them wiped to ext4 or f2fs). Therefore, you need to do Advanced Wipe, which works fine. If you are still having trouble, make sure MTP isn't on and make sure your USB isn't plugged in.


    OMG, my TWRP thinks this is the 1970s?! HALP!
    This is an issue that arises in Android L (for whatever reason). Member murdoch1 found this and confirmed that installing it fixes the 1970 issue in TWRP.


    Does [xyz] work?
    As far as I know, everything works except for known issues in the common twrp source.


    I want to report [xyz] as not working, how do I do it?
    Post in this forum. I'll do what I can to fix it.


    When will the next version come out?
    I don't plan on building again unless a bug is discovered that I can fix, or if TeamWin releases the next version.


    Why don't you do [xyz]?
    Why don't you do it?


    Why doesn't F2FS work?
    It DOES work in the recovery. To get it working on your ROM you need to have proper kernel support. Many AOSP ROMs support f2fs partitions. Additionally, dorimanx has added working f2fs on his stock kernel. :)


    Why doesn't AROMA work?
    AROMA is old. As of version 3.0.2-1, I added a hack to fix the graphics. If your zip file still isn't working, try my guide:
    http://xdaforums.com/showpost.php?p=66747442&postcount=2591
    56
    2.8.5.0 is out. I will compile today after work.