Related
All of TWRP 3.x source is public. You can compile it on your own. This guide isn't going to be a step-by-step, word-for-word type of guide. If you're not familiar with basic Linux commands and/or building in AOSP then you probably won't be able to do this.
You can currently use Omni 6.0, Omni 7.1, Omni 8.1, Omni 9.0, CM 13.0, CM 14.1, CM 15.1, LineageOS 16.0 source code. Omni 9.0 is recommended for now unless your device has a super partition.
If you are using CM/LineageOS, you'll need to place TWRP in the LineageOS/bootable/recovery-twrp folder and set RECOVERY_VARIANT := twrp in your BoardConfig.mk file. TWRP source code can be found here:
https://github.com/TeamWin/android_bootable_recovery (NOTE: The location for the latest TWRP source code has changed!)
Select the newest branch available. This step is not necessary with Omni because Omni already includes TWRP source by default, however, if you are using an older version of Omni, you will probably want to pull from the latest branch (the latest branch will compile successfully in older build trees)
If you are only interested in building TWRP, you may want to try working with a smaller tree. You can try using this manifest. It should work in most cases but there may be some situations where you will need more repos in your tree than this manifest provides:
https://github.com/minimal-manifest-twrp
*BEFORE YOU COMPILE*
Note: If you add or change any flags, you will need to make clean or make clobber before recompiling or your flag changes will not be picked up.
Now that you have the source code, you'll need to set or change a few build flags for your device(s). Find the BoardConfig.mk for your device. The BoardConfig.mk is in your devices/manufacturer/codename folder (e.g. devices/lge/hammerhead/BoardConfig.mk).
Your board config will need to include architecture and platform settings. Usually these are already included if you're using device configs that someone else created, but if you created your own, you may need to add them. Without them, recovery may seg fault during startup and you'll just see the teamwin curtain flash on the screen over and over.
We usually put all of our flags at the bottom of the BoardConfig.mk under a heading of #twrp For all devices you'll need to tell TWRP what theme to use. This TW_THEME flag replaces the older DEVICE_RESOLUTION flag. TWRP now uses scaling to stretch any theme to fit the screen resolution. There are currently 5 settings which are: portrait_hdpi, portrait_mdpi, landscape_hdpi, landscape_mdpi, and watch_mdpi. For portrait, you should probably select the hdpi theme for resolutions of 720x1280 and higher. For landscape devices, use the hdpi theme for 1280x720 or higher.
TW_THEME := portrait_hdpi
Note that themes do not rotate 90 degrees and there currently is no option to rotate a theme. If you find that the touchscreen is rotated relative to the screen, then you can use some flags (discussed later in this guide) to rotate the touch input to match the screen's orientation.
In addition to the resolution, we have the following build flags:
RECOVERY_SDCARD_ON_DATA := true -- this enables proper handling of /data/media on devices that have this folder for storage (most Honeycomb and devices that originally shipped with ICS like Galaxy Nexus) This flag is not required for these types of devices though. If you do not define this flag and also do not include any references to /sdcard, /internal_sd, /internal_sdcard, or /emmc in your fstab, then we will automatically assume that the device is using emulated storage.
BOARD_HAS_NO_REAL_SDCARD := true -- disables things like sdcard partitioning and may save you some space if TWRP isn't fitting in your recovery patition
TW_NO_BATT_PERCENT := true -- disables the display of the battery percentage for devices that don't support it properly
TW_CUSTOM_POWER_BUTTON := 107 -- custom maps the power button for the lockscreen
TW_NO_REBOOT_BOOTLOADER := true -- removes the reboot bootloader button from the reboot menu
TW_NO_REBOOT_RECOVERY := true -- removes the reboot recovery button from the reboot menu
RECOVERY_TOUCHSCREEN_SWAP_XY := true -- swaps the mapping of touches between the X and Y axis
RECOVERY_TOUCHSCREEN_FLIP_Y := true -- flips y axis touchscreen values
RECOVERY_TOUCHSCREEN_FLIP_X := true -- flips x axis touchscreen values
TWRP_EVENT_LOGGING := true -- enables touch event logging to help debug touchscreen issues (don't leave this on for a release - it will fill up your logfile very quickly)
BOARD_HAS_FLIPPED_SCREEN := true -- flips the screen upside down for screens that were mounted upside-down
There are other build flags which you can locate by scanning the Android.mk files in the recovery source. Most of the other build flags are not often used and thus I won't document them all here.
*RECOVERY.FSTAB*
TWRP 2.5 and higher supports some new recovery.fstab features that you can use to extend TWRP's backup/restore capabilities. You do not have to add fstab flags as most partitions are handled automatically.
Note that TWRP only supports v2 fstabs in version 3.2.0 and higher. You will still need to use the "old" format of fstab for older TWRP (example of that format is below), and even TWRP 3.2.0 still supports the v1 format in addition to the v2 format. To maximize TWRP's compatibility with your build tree, you can create a twrp.fstab and use PRODUCT_COPY_FILES to place the file in /etc/twrp.fstab When TWRP boots, if it finds a twrp.fstab in the ramdisk it will rename /etc/recovery.fstab to /etc/recovery.fstab.bak and then rename /etc/twrp.fstab to /etc/recovery.fstab. Effectively this will "replace" the fstab 2 file that your device files are providing with the TWRP fstab allowing you to maintain compatibility within your device files and with other recoveries.
Code:
PRODUCT_COPY_FILES += device/lge/hammerhead/twrp.fstab:recovery/root/etc/twrp.fstab
The fstab in TWRP can contain some "flags" for each partition listed in the fstab.
Here's a sample TWRP fstab for the Galaxy S4 that we will use for reference:
Code:
/boot emmc /dev/block/platform/msm_sdcc.1/by-name/boot
/system ext4 /dev/block/platform/msm_sdcc.1/by-name/system
/data ext4 /dev/block/platform/msm_sdcc.1/by-name/userdata length=-16384
/cache ext4 /dev/block/platform/msm_sdcc.1/by-name/cache
/recovery emmc /dev/block/platform/msm_sdcc.1/by-name/recovery
/efs ext4 /dev/block/platform/msm_sdcc.1/by-name/efs flags=display="EFS";backup=1
/external_sd vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1 flags=display="Micro SDcard";storage;wipeingui;removable
/usb-otg vfat /dev/block/sda1 /dev/block/sda flags=display="USB-OTG";storage;wipeingui;removable
/preload ext4 /dev/block/platform/msm_sdcc.1/by-name/hidden flags=display="Preload";wipeingui;backup=1
/modem ext4 /dev/block/platform/msm_sdcc.1/by-name/apnhlos
/mdm emmc /dev/block/platform/msm_sdcc.1/by-name/mdm
Flags are added to the end of the partition listing in the fstab separated by white space (spaces or tabs are fine). The flags affect only that partition but not any of the others. Flags are separated by semicolons. If your display name is going to have a space, you must surround the display name with quotes.
Code:
/external_sd vfat /dev/block/mmcblk1p1 flags=display="Micro SDcard";storage;wipeingui;removable
The flags for this partition give it a display name of "Micro SDcard" which is displayed to the user. wipeingui makes this partition available for wiping in the advanced wipe menu. The removable flag indicates that sometimes this partition may not be present preventing mounting errors from being displayed during startup. Here is a full list of flags:
removable -- indicates that the partition may not be present preventing mounting errors from being displayed during boot
storage -- indicates that the partition can be used as storage which makes the partition available as storage for backup, restore, zip installs, etc.
settingsstorage -- only one partition should be set as settings storage, this partition is used as the location for storing TWRP's settings file
canbewiped -- indicates that the partition can be wiped by the back-end system, but may not be listed in the GUI for wiping by the user
userrmrf -- overrides the normal format type of wiping and only allows the partition to be wiped using the rm -rf command
backup= -- must be succeeded by the equals sign, so backup=1 or backup=0, 1 indicates that the partition can be listed in the backup/restore list while 0 ensures that this partition will not show up in the backup list.
wipeingui -- makes the partition show up in the GUI to allow the user to select it for wiping in the advanced wipe menu
wipeduringfactoryreset -- the partition will be wiped during a factory reset
ignoreblkid -- blkid is used to determine what file system is in use by TWRP, this flag will cause TWRP to skip/ignore the results of blkid and use the file system specified in the fstab only
retainlayoutversion -- causes TWRP to retain the .layoutversion file in /data on devices like Sony Xperia S which sort of uses /data/media but still has a separate /sdcard partition
symlink= -- causes TWRP to run an additional mount command when mounting the partition, generally used with /data/media to create /sdcard
display= -- sets a display name for the partition for listing in the GUI
storagename= -- sets a storage name for the partition for listing in the GUI storage list
backupname= -- sets a backup name for the partition for listing in the GUI backup/restore list
length= -- usually used to reserve empty space at the end of the /data partition for storing the decryption key when Android's full device encryption is present, not setting this may lead to the inability to encrypt the device
canencryptbackup= -- 1 or 0 to enable/disable, makes TWRP encrypt the backup of this partition if the user chooses encryption (only applies to tar backups, not images)
userdataencryptbackup= -- 1 or 0 to enable/disable, makes TWRP encrypt only the userdata portion of this partition, certain subfuldes like /data/app would not be encrypted to save time
subpartitionof= -- must be succeeded by the equals sign and the path of the partition it is a subpartition of. A subpartition is treated as "part" of the main partition so for instance, TWRP automatically makes /datadata a subpartition of /data. This means that /datadata will not show up in the GUI listings, but /datadata would be wiped, backed up, restored, mounted, and unmounted anytime those operations are performed on /data. A good example of the use of subpartitions is the 3x efs partitions on the LG Optimus G:
Code:
/efs1 emmc /dev/block/mmcblk0p12 flags=backup=1;display=EFS
/efs2 emmc /dev/block/mmcblk0p13 flags=backup=1;subpartitionof=/efs1
/efs3 emmc /dev/block/mmcblk0p14 flags=backup=1;subpartitionof=/efs1
This lumps all 3 partitions into a single "EFS" entry in the TWRP GUI allowing all three to be backed up and restored together under a single entry.
As of TWRP 3.2.0, TWRP now supports a version 2 fstab like those that have been found in Android devices for years. Yes, I know we're really slow to adopt this one, but I also saw no major advantage to v2 and the v2 fstab was being used in regular Android as well as recovery and I didn't want full ROM builds crashing or doing other weird things because of TWRP flags being present in the fstab. Version 2 fstab support is automatic. You don’t need to add any build flags. The regular version 1 fstab format is also still valid and it’s possible to use both v1 and v2 types in the same fstab. TWRP 3.2.0 also supports using wildcards via the asterisk in v1 format which can be useful for USB OTG and micro SD cards with multiple partitions. Note also that v2 fstab formats haven’t been extensively tested so developers should test their v2 fstabs before shipping to users (you should always be testing anyway!).
This is a v1 fstab line with a wildcard intended for a USB OTG drive. All partitions should show up in the list of available storage devices when the user plugs in a drive:
Code:
/usb-otg vfat /dev/block/sda* flags=removable;storage;display=USB-OTG
This line is straight from the v2 fstab for the same device and also should work. In this case the kernel will notify us that new devices have been added or removed via uevents:
Code:
/devices/soc.0/f9200000.ssusb/f9200000.dwc3/xhci-hcd.0.auto/usb* auto auto defaults voldmanaged=usb:auto
In addition to the v2 fstab, you can include /etc/twrp.flags which uses the v1 fstab format. The twrp.flags file can be used to supplement the v2 fstab with TWRP flags, additional partitions not included in the v2 fstab, and to override settings in the v2 fstab. For example, I have a Huawei device with the following stock v2 fstab present as /etc/recovery.fstab
Code:
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
/dev/block/bootdevice/by-name/system /system ext4 ro,barrier=1 wait,verify
/dev/block/bootdevice/by-name/cust /cust ext4 ro,barrier=1 wait,verify
/devices/hi_mci.1/mmc_host/mmc1/* auto auto defaults voldmanaged=sdcard:auto,noemulatedsd
/devices/hisi-usb-otg/usb1/* auto auto defaults voldmanaged=usbotg:auto
/dev/block/bootdevice/by-name/userdata /data f2fs nosuid,nodev,noatime,discard,inline_data,inline_xattr wait,forceencrypt=footer,check
/dev/block/bootdevice/by-name/cache /cache ext4 rw,nosuid,nodev,noatime,data=ordered wait,check
/dev/block/bootdevice/by-name/splash2 /splash2 ext4 rw,nosuid,nodev,noatime,data=ordered,context=u:object_r:splash2_data_file:s0 wait,check
/dev/block/bootdevice/by-name/secure_storage /sec_storage ext4 rw,nosuid,nodev,noatime,discard,auto_da_alloc,mblk_io_submit,data=journal,context=u:object_r:teecd_data_file:s0 wait,check
In addition I have also included this in /etc/twrp.flags:
Code:
/boot emmc /dev/block/platform/hi_mci.0/by-name/boot
/recovery emmc /dev/block/platform/hi_mci.0/by-name/recovery flags=backup=1
/cust ext4 /dev/block/platform/hi_mci.0/by-name/cust flags=display="Cust";backup=1
/misc emmc /dev/block/platform/hi_mci.0/by-name/misc
/oeminfo emmc /dev/block/platform/hi_mci.0/by-name/oeminfo flags=display="OEMinfo";backup=1
/data f2fs /dev/block/dm-0
/system_image emmc /dev/block/platform/hi_mci.0/by-name/system
The first 2 lines in twrp.flags adds the boot and recovery partitions which were not present at all in the v2 fstab. The /cust line in the twrp.flags file is added to tell TWRP to allow users to back up the cust partition and to give it a slightly better display name. The /misc partition is also only present in the twrp.flags file. Much like the /cust partition, the /oeminfo partition is in the twrp.flags file to tell TWRP to allow users to back it up and give a display name. The /data line is needed because this Huawei device, like many Huawei devices, is encrypted but the encryption uses some special Huawei binaries and is encrypted with some sort of default password that the user cannot change. We use the Huawei binaries to decrypt the device automatically in recovery. The /data line here tells TWRP to use /dev/block/dm-0 instead of /dev/block/bootdevice/by-name/userdata which is required for proper mounting, etc. Lastly we have the /system_image line so that TWRP will add a system image option for backup and restore.
As we add more new devices, we’ll add more example device trees to https://github.com/TeamWin/ which should help you find more ways to use this new fstab support. Please note that using the v2 fstab format at this point is completely optional, so feel free to continue using v1 if that is what is more comfortable or if you have trouble with the v2 format support.
If you have questions, feel free to stop by #twrp on Freenode. If you post here I may not see it for a while as I have lots of threads out there and there's no way for me to keep track of them all. If you successfully port TWRP to a new device, please let us know! We love to hear success stories!
If you have code changes that you'd like to submit, please submit them through the Omni Gerrit server. Guide is here.
Once you get Omni or CM sync'ed and your TWRP flags set, you should do a source ./build/envsetup.sh We usually lunch for the device in question, so something like "lunch omni_hammerhead-eng".
After you lunch successfully for your device this is the command used for most devices:
Code:
make clean && make -j# recoveryimage
Replace the # with the core count +1, so if you have a dual core it's -j3 and a quad core becomes -j5, etc. If you're dealing with a "typical" Samsung device, then you'll need to
Code:
make -j# bootimage
Most Samsung devices have the recovery included as an extra ramdisk in the boot image instead of a separate recovery partition as found on most other devices.
Old guide here: http://forum.xda-developers.com/showpost.php?p=65482905&postcount=1471
So, now, hopefully you've compiled TWRP for your device and gotten it working. Now, you'd like to know how to get TWRP officially supported for your device so that it can be installed automatically with the TWRP app. In order for us to add "official support" for your device we'll need the following:
1) Device configuration files to compile TWRP from source for your device. This means that you cannot have repacked a recovery.img by hand to get it working. We need to be able to compile it from source so that we can easily release future updates.
2) We'll build a copy of TWRP and send it to you for validation. Once you've validated that we can build a working image for your device, we'll add it to the official TWRP app.
Note that we won't take credit for your port. You'll still get to post it on XDA to collect all the credit that goes with releasing something new for your device along with having your name listed on our website as the maintainer for the device. Also note that it's not always possible to provide automated installs for all devices.
You can now boot TWRP in an emulator. If you're trying to help develop TWRP, this can be a huge help as you don't have to risk your device and you can do everything directly on your computer.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Download this set of device configuration files.
Compile a recoveryimage using those device files. In the Android SDK, click on Tools -> Manage AVDs. Click New. Set it up as the following:
AVD Name: TWRP
Device: Galaxy Nexus
Target: ICS or newer though anything will probably work here
CPU: ARM (armeabi-v7a)
Check the box for hardware keyboard (your computer's keyboard will work in TWRP)
Up to you if you want to have the skin with controls present
Front Camera: None
Back Camera: None
RAM: 1024 VM Heap: 64
Internal Storage: 200
SD Card: Size: 500 MiB
Then click OK.
Once you have your AVD and your recoveryimage, you can boot TWRP in the emulator by browsing to your android-sdk/tools folder and run this command:
./emulator -avd TWRP -ramdisk CMFOLDER/out/target/product/twrp/ramdisk-recovery.img
Note that ADB doesn't work right away. About 10 to 15 seconds after TWRP finishes booting, ADB will come online. We start ADB via init.rc so even if TWRP fails to boot due to some kind of code error that you may have made, ADB should still work. Enjoy!
TWRP and A/B devices:
From a TWRP standpoint, A/B devices aren't a whole lot different from regular devices, but developers seem to be shy about working on these devices. I'm going to try to shed some light on this subject and hopefully this will serve as a guide for porting TWRP to A/B devices.
Firstly, let's understand what is an A/B device and how it's different. A/B devices have duplicates of many partitions on the device. An A/B device has 2x system partitions, 2x boot partitions, 2x vendor partitions, 2x modem / firmware partitions, etc. Only one slot is in use at a time. During early boot, the first stages of the bootloader read some small amount of data called the BCB or Bootloader Control Block and decide whether to boot the A partitions or the B partitions. When an OTA update is available, the data from the active slot is copied from the inactive slot and patched / updated. For example, if you're currently on slot A, your device would download the update and copy the existing system partition from slot A and patch / update it with the new updates into slot B. Once the copying and updating is complete, the BCB is updated and the device reboots using slot B. Next time an update is available, the system partition in slot B is copied to slot A and updated, the BCB gets updated, and we reboot to slot A. When viewing partitions on the device, you'll see something like this:
Code:
/dev/block/bootdevice/by-name/boot_a
/dev/block/bootdevice/by-name/boot_b
/dev/block/bootdevice/by-name/system_a
/dev/block/bootdevice/by-name/system_b
/dev/block/bootdevice/by-name/userdata
/dev/block/bootdevice/by-name/vendor_a
/dev/block/bootdevice/by-name/vendor_b
Note the dual boot, system and vendor partitions in the list above, but only one userdata partition.
While there is technically no requirement that I am aware of, all A/B devices shipped thus far have no separate recovery partition. Instead, the boot image contains the recovery in its ramdisk. The important thing is knowing that the boot image now also contains the recovery. For completeness, the system partition is a full root file system. During boot, if the kernel is told to boot to recovery, it will extract the ramdisk in the boot partition. If the kernel is not told by the bootloader to boot to recovery, then the kernel will mount the appropriate system partition (A or B) because the system partition is a full root file system. This means that the system partition on these devices is mounted to / instead of to /system and the system partition contains all of the files that would have normally been in the boot image ramdisk and a /system subfolder.
From a TWRP standpoint, there are 3 things that you have to do for an A/B device. First, you need to set
Code:
AB_OTA_UPDATER := true
in your BoardConfig.mk. Secondly, for any partition that has an A/B option, you need to add
Code:
flags=slotselect
in your fstab so something like this:
Code:
/boot emmc /dev/block/bootdevice/by-name/boot flags=slotselect
/system ext4 /dev/block/bootdevice/by-name/system flags=slotselect
/system_image emmc /dev/block/bootdevice/by-name/system flags=slotselect
/vendor ext4 /dev/block/bootdevice/by-name/vendor flags=slotselect;display="Vendor";backup=1
/vendor_image emmc /dev/block/bootdevice/by-name/vendor flags=slotselect
Lastly, once you get into TWRP, you will probably want to make sure that bootctl hal-info responds correctly with no errors. Usually the bootctl binary requires a proprietary library or even a couple of services to work correctly. If bootctl does not work correctly, then you will not be able to switch slots within TWRP correctly either.
In addition to setting
Code:
AB_OTA_UPDATER := true
you may also want to set:
Code:
BOARD_USES_RECOVERY_AS_BOOT := true
BOARD_BUILD_SYSTEM_ROOT_IMAGE := true
If you set
Code:
BOARD_USES_RECOVERY_AS_BOOT := true
then make recoveryimage will no longer work and instead you will have to make bootimage. I don't recommend setting either of these flags for TWRP-only build trees. These flags will probably be required for developers building full ROMs for A/B devices.
Installing / Flashing TWRP on A/B devices:
Since all known A/B devices do not have a separate recovery partition, you will eventually have to flash TWRP to the boot partition. On the Pixel 1 and 2, we use fastboot boot to temporarily boot TWRP without flashing TWRP. We are then supplying a zip to allow users to flash TWRP to both slots. You can download one of these zips from our website and update the zip as needed to support your devices. Eventually we will add tools to TWRP to allow users to flash recoveries on these devices without needing to use zips.
Recently, I worked on the Razer Phone. The Razer Phone unfortunately does not support fastboot boot. Instead, users have to determine their currently active boot slot using
Code:
adb shell getprop ro.boot.slot_suffix
then use
Code:
fastboot --set-active=_a
to switch slots to the inactive slot. From here, the user can
Code:
fastboot flash boot twrp.img && fastboot reboot
to get into TWRP. Once in TWRP they can then go to the reboot page and change back to their originally active slot, make a backup, then install TWRP. Using the inactive slot allows users to get a good, unmodified backup of their device before installing TWRP.
Hopefully this helps!
Debugging with gdb in TWRP guide can be found here!
Beep boop zee doop
I know I've PM'ed you but I would like to ask you again. What should I do after compiling the TWRP recovery binary? What files have to be copied and where? I'm trying to integrate it with an ICS kernel.
Dees_Troy said:
Once you get CM sync'ed, I suggest that you go ahead and compile a build of ClockworkMod (ClockworkMod source is included in the CM repos). We usually lunch for the device in question, so something like "lunch full_tenderloin-eng".
After you lunch successfully for your device this is the command used for most devices:
Code:
make clean && make -j# recoveryimage
Click to expand...
Click to collapse
I don't get this part. What is lunch supposed to be? is it supposed to be a individual command for a device or can I do "lunch full_tenderloin-eng" for all devices? Because I am building for a device that doesn't run Android natively (at least out of-the-box) so cyanogenmod doesn't support it on any way...
Also, can I use this for resistive screens? Just to make sure.
Thanks for the guide, I have been looking for this for a long time
thanks for the guide, well structured and not so complicated
i have only a question: i'm trying to build it for galaxy 5, the problem is that the resolution is 320x240, so can you tip me on modify the sources? (i've done this some days ago, but images were too large)
manuel100 said:
thanks for the guide, well structured and not so complicated
i have only a question: i'm trying to build it for galaxy 5, the problem is that the resolution is 320x240, so can you tip me on modify the sources? (i've done this some days ago, but images were too large)
Click to expand...
Click to collapse
Set the device resolution to 320x240...I'm pretty sure they have support for that resolution...and if they don't then you can copy one of there's except resize it all to 320x240
Edit-they only have 320x480 https://github.com/TeamWin/Team-Win-Recovery-Project/
My question: I built twrp from source a while ago using smasher's Samsung inject twrp zip...that worked fine for a while...but recently we switched to mtd format so that inject twrp zip doesn't work...neither does the inhect twrp button within twrp anymore...I've seen that the galaxy s has the same problem as well...just wondering if you know of a work around...
Sent from my SGH-I997 using Tapatalk 2
mg2195 said:
Set the device resolution to 320x240...I'm pretty sure they have support for that resolution...and if they don't then you can copy one of there's except resize it all to 320x240
Edit-they only have 320x480 https://github.com/TeamWin/Team-Win-Recovery-Project/
My question: I built twrp from source a while ago using smasher's Samsung inject twrp zip...that worked fine for a while...but recently we switched to mtd format so that inject twrp zip doesn't work...neither does the inhect twrp button within twrp anymore...I've seen that the galaxy s has the same problem as well...just wondering if you know of a work around...
Sent from my SGH-I997 using Tapatalk 2
Click to expand...
Click to collapse
thanks for respond, however i've tried resizing images to 320x240 but i don't know what should be the size of bottoms, because they are alway out-of-screen
what is smasher's Samsung inject twrp zip? but i think that the recovery doesn't work because you have to built it with mtd support (for ex. on madteam they are trying to build a mtd kernel, but for install that testing rom they built a special cwm with mtd support)
manuel100 said:
thanks for respond, however i've tried resizing images to 320x240 but i don't know what should be the size of bottoms, because they are alway out-of-screen
what is smasher's Samsung inject twrp zip? but i think that the recovery doesn't work because you have to built it with mtd support (for ex. on madteam they are trying to build a mtd kernel, but for install that testing rom they built a special cwm with mtd support)
Click to expand...
Click to collapse
Smashers inject twrp zip is a tool for Samsung devices that let's you get the recovery without flashing the whole kernel. You basically put the ramdisk-recovery.img in the zip and then flash. During the flash process it pulls the boot.img, replaces the current ramdisk-recovery.img with the new one that contains twrp. It then deletes the old boot.img and flashes the new one...not affecting the actual kernel...
The recovery itself has mtd support...I can use it if I flash the whole boot.img, but I don't want to release the recovery within a whole kernel...because then I have to keep it up to date with both twrp and kernel sources, not to mention the different kernels available for my device....I can't make a recovery for each kernel...don't have the time for that...that's where the inject came in handy....the user could use any kernel he wanted while still using twrp
Recovery logs say it fails to find the ramdisk inside the boot.img and then in parenthesis something about may not be using gzip compression...which it is....
Sent from my SGH-I997 using Tapatalk 2
---------- Post added at 07:21 AM ---------- Previous post was at 07:19 AM ----------
Deestroy did this same tutorial on rootzwiki...if you look at the second post you'll see info about the smasher inject twrp I was referring to...http://rootzwiki.com/index.php?/topic/23903-How-to-Compile-TWRP-from-Source
Sent from my SGH-I997 using Tapatalk 2
mfsr98 said:
I don't get this part. What is lunch supposed to be? is it supposed to be a individual command for a device or can I do "lunch full_tenderloin-eng" for all devices? Because I am building for a device that doesn't run Android natively (at least out of-the-box) so cyanogenmod doesn't support it on any way...
Also, can I use this for resistive screens? Just to make sure.
Thanks for the guide, I have been looking for this for a long time
Click to expand...
Click to collapse
can I get help here please?
mfsr98 said:
can I get help here please?
Click to expand...
Click to collapse
Its a single command...it opens up the menu for devices...just type lunch into the terminal and hit enter...you'll see what I mean. You will probably have to add your device to the menu by creating a vendorsetup.sh in your device repo if it doesn't already exist....
Sent from my SGH-I997 using Tapatalk 2
Thank you for the quick answer. Yes, I already have vendorsetup.sh on the boot.img. Sorry for the noob question
What about for android beginners???
Devarishi said:
What about for android beginners???
Click to expand...
Click to collapse
There's only so much that you can dumb it down and simplify it. There's lots of other guides out there for getting started. Compiling a recovery is not a super simple task that anyone and everyone can do and there's plenty of potential pitfalls including the possibility of bricking your device. If none or very little of this guide makes sense, then you might see if a developer for your device is interested in working on it instead.
how would you compile this for a device without an official cm9 build?
azoller1 said:
how would you compile this for a device without an official cm9 build?
Click to expand...
Click to collapse
Well, you don't need official cm9 if you can find any working device tree for you phone you are good to go.. For lg spectrum 4g, this could be useful.
Hey guys I'm trying to compile this for my phone the problem I'm running into is I need the root.ts I've searched and it doesn't come up with anything any help would be appreciated thanks
Sent from my SAMSUNG-SGH-I577 using xda premium
I have a mtk6577 device which is not in de device tree of CM9.
I can compile CWM for my device with CM9. Because I was only making recovery, there was no need for setting up boardconfig.
In this guide there is a part starting with TARGET_RECOVERY_INITRC which is not there in my boardconfig.
Also is stated:
"Your board config also needs to include architecture and platform settings. Usually these are already included if you're using device configs that someone else created, but if you created your own, you may need to add them. Without them, recovery will often seg fault during startup and you'll just see the teamwin curtain flash on the screen over and over."
Does this mean that I cannot build TWRP without it, even I can build CWM ?
gls9 said:
I have a mtk6577 device which is not in de device tree of CM9.
I can compile CWM for my device with CM9. Because I was only making recovery, there was no need for setting up boardconfig.
In this guide there is a part starting with TARGET_RECOVERY_INITRC which is not there in my boardconfig.
Also is stated:
"Your board config also needs to include architecture and platform settings. Usually these are already included if you're using device configs that someone else created, but if you created your own, you may need to add them. Without them, recovery will often seg fault during startup and you'll just see the teamwin curtain flash on the screen over and over."
Does this mean that I cannot build TWRP without it, even I can build CWM ?
Click to expand...
Click to collapse
Look for another mtk6577 device that has CM & copy the arch flags from it.
Team Win Recovery Project , or twrp for short, is a custom recovery built with ease of use and customization in mind. 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.
BUGS:
-OffMode charge not working
-Repartition zips are not working with TWRP
CHANGELOG:
v2.7.0.0 > v2.7.1.0
-Add GUI option to change or repair file systems on individual partitions. The change is destructive so backup your data including internal sdcard first. You will find this option under Wipe -> Advanced Wipe, then select only one partition and then press the Repair or Change File System button.
-Various bugfixes to backup and restore
-Improvements to USB storage handling
-Various other bugfixes and tweaks
v2.6.3.4 > v2.7.0.0
-Faster graphics rendering by disabling alpha blending on fully opaque objects thanks to Tassadar
-Allow sideloading from /tmp on encrypted devices
-Check for a crypto footer before asking for a password to prevent user confusion
-Additional checks for validity to auto generated backup names
-Text wrap in the console output
-Proper caps lock support in the keyboard
-Improve scanning of storage locations for OpenRecoveryScript
-Haptic feedback for buttons, keyboard, and vibration at the end of longer running actions thanks to Samer Diab
-Fixed ext4 wiping when no selinux contexts are defined for that partition (e.g. sd-ext)
-Update SuperSU to 1.93 and improve installation process
-Added selinux contexts restoration to fix permissions
-Load RTC offset on Qualcomm devices to fix the date/time in recovery
-USB Mass Storage fixes Add SELinux support checking
-Add Disk Usage class to better handle excluded folders (e.g. Google Music cache)
-Add 4.4 decrypt support
-Add some toolbox utilities to TWRP (namely to support SELinux functions not supported in busybox)
-Various SELinux fixes and bug fixes
v2.6.3.0 > v2.6.3.4
-Add SELinux support for install kitkat correctly
-Other updates by TeamWin
v2.6.0.0 > v2.6.3.0
-Proper backup and restore of SELinux contexts (thanks to Tassadar)
-Pull in some ROM information for backup name generation
-Merge all recent patches from AOSP bringing TWRP up to date with Android 4.3
-Add 1200x1920 theme (thanks to Tassadar)
-A few other fixes and tweaks
-Initial SELinux support (only a few devices, need testers so come by IRC if your device doesn't have it and needs it)
-Initial support for f2fs file system formatting (Moto X)
-Update SuperSU install for 4.3 ROMs
-Fixed a permissions bug on files created during backup
-Fixed a bug that caused TWRP to not wait for compressed backups to finish causing 0 byte files and md5sums to not match
-Fixed decryption of encrypted data so that both TouchWiz and AOSP decryption are possible
-Ignore lost+found folder during backup and size calculations
-Various other minor bug fixes and tweaks
v2.5.0.0 > v2.6.0.0
Special Note: If you are running a custom theme, you will likely need to remove that theme before updating to 2.6.0.0 as your custom theme will likely not have some of the new changes visible (e.g. you won't be able to encrypt a backup)!
-Can encrypt a backup to prevent theft of private data from your backup files
-Updated graphics / icon courtesy of shift
-Updated exFAT to latest commits
-Fixed a problem with Samsung TouchWiz decryption
-Update SuperSU binary
-Fixed saving of backup partitions list
-Fixed saving of last used zip install folder
-Fixed backup of datadata on devices that use a separate partition for datadata
-Fixed some issues with the advanced wipe list (android_secure, can now wipe internal storage on data/media deivces and wipe data on the advanced list no longer formats the entire data partition)
-Fixed some problems with partitioning a SD card
-Various other bug fixes and tweaks
Notes about encrypted backups:
Why encrypt your backups? -- Most people store their backups on the device. Any app that has permission to access storage could potentially read your backup files and try to harvest your data. Encrypted backups also provide an added layer of security if you move your backups to other storage devices or to the cloud. The encryption that we're using is probably not strong enough for enterprise level security, but should be strong enough to make it significantly difficult to get to your data.
Encryption is using OpenAES which uses AES 128-bit cbc encryption. If you happen to use a longer password (over 16 characters) then the encryption strength improves to 192 or 256 bits. Do not forget your password. If you forget your password you will be unable to restore your backup. We don't encrypt the entire backup. Encryption is very CPU intensive and can be fairly slow even when we spread the workload over multiple cores even on the latest high-end devices. To ensure that encrypted backups don't take forever, we don't encrypt any other partitions besides /data and in /data we don't encrypt /data/app (or other app related directories where apks are stored) and we don't encrypt dalvik cache.
v2.4.4.0 > v2.5.0.0
Special Note: If you are running a custom theme, the changes in 2.5.0.0 will likely not be compatible with your theme.
-Added scrollable partition lists for mount, backup, restore, wipe, and storage selection
-Add new SliderValue GUI element for selecting brightness and screen timeout (thanks to Tassadar)
-Re-work AOSP and TWRP code to improve license compatibility between GPL and Apache
-Fixed a problem with directory permissions on split archive backups (backups usually restored with no app data)
-Fixed a problem with md5 verification of backups
-Added a search function to libtar (thanks to kokotas)
-Improve handling of XML errors (fix permissions)
-Fixed handling of subpartitions
-Improvements to recovery.fstab flags
-Fixed a problem with decryption not being able to locate the decryption key in some situations
v2.4.3.1 > v2.4.4.0
-Added another libtar hardlink workaround to fix restore of some backups (usually related to Ubuntu Touch)
-More fixes for the file selector
-Switched from using busybox md5sum to a direct C function call
-Fixed capturing the exit status of tar based backups/restore - TWRP will display that there was an error if there was one again
-Update exFAT to latest commits
-Added a build flag to disable using the ioctl for screen blanking
-Other fixes
v2.4.3.0 > v2.4.3.1
- Synaptic Touch Screen support added
- In this version,offmode charge not working
v2.3.3.1 > v2.4.3.0
-UI Lag is fixed
-Using libtar instead of busybox's tar for better control over tar file creation and breaking the 2GB barrier that busybox imposes (thanks to bigbiff)
-Support for exFAT formatted sdcards (also thanks to bigbiff)
-Support for decrypting Samsung TouchWiz encrypted devices including internal and external storage (special thanks to a3955269 for figuring it out)
-Improvements to OpenRecoveryScript including displaying a proper GUI while the script is running
-Added wipe cache and dalvik after ADB Sideload
-Replaced many system calls with their native C counterparts
-Fixed bugs in file manager where it would display an empty list after moving or deleting a folder
-Fixed AOSP recovery commands to run after decryption on encrypted devices
-Improvements for building TWRP in CM10.1
-Other minor bugfixes and improvements
-Fixed a problem with mkdosfs that formatted sdcards to 2GB
-Fixed handoff between vfat and exFAT on devices where blkid didn't detect vfat (fixes some issues with mounting sdcards)
-Fixed problems with changing working directory on MD5 creation/checking that may have prevented unmounting
-Backups will now store a copy of the backup log after the backup is completed (only if backup is successful)
-Add screen timeout - screen will turn off automatically after 60 seconds, saves battery and prevents screen burn-in especially on AMOLED devices
-Add a brightness setting (requires device specific setup and only some devices have been added)
-Add a root checker and offer to install SuperSU if the device isn't already rooted
-Add a write buffer to libtar backups, significant improvements to speeds when backing up to exFAT target, minor improvements for other file systems
-Check and offer to fix root permissions if broken
-Add an option for a 24 hour clock display instead of AM/PM (aka military time)
-Move stock recovery reflash check to occur during the reboot cycle
-Add support for some MTK6xxx devices
-Change libtar to vfork to help prevent memory problems
-Add a "clicked" effect to most buttons, file selector, and listbox
-Improve timezone listbox to be more like file selector (per pixel kinetic scrolling, etc)
-Remove some no longer used settings (Forced MD5 sum on zips, size checking on image backups)
-Added a scroll bar to file selectors and listboxes courtesy of Tassadar
-Added libblkid for more accurate detection of file systems and can now detect exFAT properly thanks to bigbiff
-Added a screen dim effect 2 seconds before screen off on some devices
-Finally fixed file selector crash (one of the joys of working with multi-threaded software)
-Fixed loading of screen timeout setting during startup
-Improvements and bugfixes to screen timeout code
-Fixed persistence of the 24 hour / military time setting
v2.3.3.0 > v2.3.3.1
- Color bug of UI is fixed. It's blue now
- ADB fixed
- Offmode charge is fully working now (like other recoveries)
v2.3.2.3 > v2.3.3.0
- USB Mass Storage via USB fixed. You can use mass storage with internal and external sdcard
- Random reboot problems are fixed (Thanks to Dazzozo & Blefish)
- Other fixes and updates by TWRP team
Thanks:
Huge Thanks to Blefish for his CM9 device tree
Download:
v2.7.1.0
http://www.mediafire.com/download/j8ydxivg14y5ktb/recovery_TWRPv2.7.1.0_u8800.img
Source:
Here is a simple source for compile TWRP recovery. Tested with CM11 source;
https://github.com/forumber/TWRP_device_huawei_u8800
Hey, nicely done!
About the graphics, if you are using the older kernel from Huawei, simply remove the graphics.c in the recovery/ and it's reference in BoardConfig.mk. In newer kernels the pagesize is aligned into 4K parts so it might cause issues.
Blefish said:
Hey, nicely done!
About the graphics, if you are using the older kernel from Huawei, simply remove the graphics.c in the recovery/ and it's reference in BoardConfig.mk. In newer kernels the pagesize is aligned into 4K parts so it might cause issues.
Click to expand...
Click to collapse
Thanks
It is using lastest 2.6.35.7 ICS kernel by dzo. Should I do this?
Awesome, keep it up. :good:
So with this cwm, i can flash any roms such as aurora, elora, cm7, miui...without any issues??? can you confirm this? i'm going to flash a new rom so i dont want to get problem wait for your reply :thumbup:
★Sent From My U8800★
lemonade747 said:
So with this cwm, i can flash any roms such as aurora, elora, cm7, miui...without any issues??? can you confirm this? i'm going to flash a new rom so i dont want to get problem wait for your reply :thumbup:
★Sent From My U8800★
Click to expand...
Click to collapse
Yes,you can flash anything without any issues
I cant boot to recovery when using this cwm, it freezes at logo boot. Back to cwm 5.5.0.4, this cwm is still stable up to date :thumbup:
★Sent From My U8800★
Looks working well without any freezing!
Updated version.
But i can't find in their website right version for our phone.
dark_vader said:
Updated version.
But i can't find in their website right version for our phone.
Click to expand...
Click to collapse
I will update to 2.3.3.0 with fixed mass stroage. You can't see the recovery for our phone in TWRP website because this recovery compiled by me so It is unoffical
I've tried this recovery for an hour and it's very. I had 5-6 stucks on reboots when trying to use an option or browse the menus. I hope that you can fix it in next update.
Any chance of one for the pro?
Recovery is updated with bug fixes
_________________________________________________________________
Somcom3X said:
Any chance of one for the pro?
Click to expand...
Click to collapse
If you find the source tree for CM7 or CM9,I can compile for pro
Re: [TOUCH RECOVERY] TWRP Recovery v2.3.3.0
It seems that I got it to work perfectly except for the bugs you said but the graphics are orange. Screenshots later.
Sent from my u8800-51 running popura ICS.
Re: [TOUCH RECOVERY] TWRP Recovery v2.3.3.0
Are you updating the laggy UI?
Sent from my u8800-51 running popaura ICS.
Somcom3X said:
Are you updating the laggy UI?
Sent from my u8800-51 running popaura ICS.
Click to expand...
Click to collapse
No,but I fixed the color problem.
I'm working on fix lagly UI :good:
forumber2 said:
No,but I fixed the color problem.
I'm working on fix lagly UI :good:
Click to expand...
Click to collapse
You still working on?
yoyo97 said:
You still working on?
Click to expand...
Click to collapse
Sure,
I fixed color, ADB and offmode charge but I can't fix the lagly UI in 2.3.3.0 . I will try 2.4.0.0 .If TeamWin fixed this problem,I will release it with 2.4.0.0
forumber2 said:
Sure,
I fixed color, ADB and offmode charge but I can't fix the lagly UI in 2.3.3.0 . I will try 2.4.0.0 .If TeamWin fixed this problem,I will release it with 2.4.0.0
Click to expand...
Click to collapse
ok thanks
forumber2 said:
Sure,
I fixed color, ADB and offmode charge but I can't fix the lagly UI in 2.3.3.0 . I will try 2.4.0.0 .If TeamWin fixed this problem,I will release it with 2.4.0.0
Click to expand...
Click to collapse
Thanks :good:
They already release version 2.4.1.0
<< New in version 6: Smoother touch with kinetics, basic theme support, KitKat ready, MTK devices support >>
End Of Support
Project Status: No Longer Updated
As I mentioned before, I have a lot of new important projects in my real life. I am very happy to abandon this project for real life alternatives.
CWM is a dead project for now, until some dev resurrects it. I was about to do, until these new projects came.
Current version will probably work a while for many devices. Some devices with new ROM installers could have issues. Just use TWRP and avoid the new CM Simple Recovery
If the current version works for you, there is no reason you don't use it though. No need to ***** in all threads because it doesn't work for you. Just move on to other alternatives.
Click to expand...
Click to collapse
* * * * * * * * * * * * * * * * * * * * * * * * *
PhilZ Touch 6 Recovery
CWM Advanced Edition 6.x
* * * * * * * * * * * * * * * * * * * * * * * * *
Support clockworkmod developement
>> Developers Info + Device Request <<>> Special Features Guide <<>> How to Install <<>> Change Log <<>> FAQ <<
Download Home
https://mega.co.nz/#F!oZ1QDDbC!Ko20UNhowwIlXLVFjJsyKw
Older versions:
http://d-h.st/users/philz_touch
Specific Devices Threads
All general requests for these devices must go into their threads
Keep this thread for dev support and porting to new devices
Amazon
- Kindle Fire HD 8.9 (jem)
- Kindle Fire HD 7 (tate)
Android
- One (sprout) by @varun.chitre15
Asus
- Asus Transformer Pad TF300T (tf300t)
- Asus Transformer Prime TF700T (tf700t)
HTC
- HTC Evo 3D (shooteru) by @johnnyslt
- HTC Desire X (protou)
- HTC DROID Incredible 4G LTE (fireball)
- HTC Explorer (pico)
- HTC One GSM (m7ul --> m7)
- HTC One T-Mobile (m7tmo --> m7)
- HTC One AT&T (m7att --> m7)
- HTC One Sprint (m7spr)
- HTC One Verizon (m7vzw)
- HTC One M8 (m8): unified for International, Verizon and Sprint
- HTC One Mini (m4)
- HTC Droid DNA (dlx)
- HTC Desire 601 (zara)
- HTC Desire 601 dual sim (zaradug) by @andreya108
- HTC Desire S (saga) by @Ruling
- HTC Desire HD (ace) by @Ruling
- HTC One S (ville)
- HTC One V (primou)
- HTC One X (endeavoru)
- HTC One X+ (enrc2b)
- HTC One XL (evita)
- HTC Evo 4G LTE (jewel)
- HTC Rezound (vigor)
- HTC Desire 816 (a5) by @v_superuser
Google
- LGE Nexus 4 (mako)
- LGE Nexus 5 (hammerhead)
- ASUS Nexus 7 (tilapia + grouper)
- ASUS Nexus 7 2013 (flo)
- ASUS Nexus 7 2013 LTE (deb)
- Samsung Nexus 10 (manta)
- Samsung Galaxy Nexus - GSM (maguro)
- Samsung Galaxy Nexus - Verizon (toro)
- Samsung Galaxy Nexus - Sprint (toroplus)
- Samsung Galaxy Nexus S (crespo)
- Samsung Galaxy Nexus S 4G (crespo4g)
LGE
- LG Optimus One P500 (p500)
- LG Optimus L5 (e610)
- LG Optimus G International (e975)
- LG Optimus G ATT (e970)
- LG Optimus G Sprint (ls970)
- LG Optimus G Canada (e973)
- LG Optimus G Pro GSM (e980)
- LG Spectrum 4G (vs920)
- LG G2 AT&T (d800), TMO (d801), Int (d802), d803, d805, d806, Verizon (vs980), Sprint (ls980)
- LG Nitro HD AT&T (p930)
- LG G Pad 8.3 (v500)
- LG Optimus 4X HD P880 (p880)
- LG Optimus L7 P700 (p700) by @ali.filth
Motorola
- Motorola Droid RAZR M (xt907)
- Motorola Droid RAZR HD International (xt925) and US (xt926)
- Motorola Unified msm_8960 (xt925/xt926)
- Motorola Atrix HD (mb886)
- Motorola Moto X variants: TMO (xt1053), US Cellular (xt1055), Sprint (xt1056), GSM (xt1058), VZW (xt1060)
- Motorola Moto G unified (falcon) for: Verizon (xt1028), BoostMobile (xt1031), GSM (xt1032), Dual Sim (xt1033), Retail US (xt1034)
Oppo
- Find 5 (find5)
- Find 7, Find7a (find7)
- N1 (n1)
Samsung
- Galaxy S2 i9100/P
- Galaxy S2 Epic 4G Touch - SPH-D710 (d710)
- Galaxy S2 i9100G
- Galaxy R/Z (i9103)
- Galaxy S i9000 (galaxysmtd)
- i9001 - Galaxy S Plus (ariesve)
- Galaxy S Captivate (captivatemtd) by @brandonabandon
- Galaxy Grand Duos (i9082)
- Galaxy Exhibit - SGH-T599N (codinamtr)
- Galaxy W i8150 (ancora)
- Galaxy Grand Quatro I8552 (delos3geur) by @ali.filth
- Galaxy S 2 Skyrocket SGH-I727 (skyrocket)
- Galaxy S Blaze 4G - SGH T769 (t769)
- Galaxy S2 HD LTE - SGH-I757M (celoxhd)
- Exhilarate - SGH-I577 (exhilarate)
- N7000
- Galaxy S3 i9300 - i9305
- Galaxy S3 Unified d2 variants (d2lte): d2att d2cri d2mtr d2spr d2tmo d2usc d2vzw
- Galaxy S3 T-Mobile / SGH-T999 (d2tmo)
- Galaxy S3 AT&T (d2att)
- Galaxy S3 Sprint (d2spr)
- Galaxy S3 Verizon (d2vzw)
- Galaxy S3 Mini GT-I8190 (golden) by @Android-Andi
- Galaxy S Relay 4G - SGH-T699 (apexqtmo)
- Galaxy Express AT&T (expressatt)
- Galaxy S4 Exynos - i9500
- Galaxy S4 Unified Qualcomm variants (jflte): jfltecan jflteatt jfltecri jfltecsp jfltespr jfltetmo jflteusc jfltevzw jgedlte jfltexx jfltezm
- Galaxy S4 - i9505 (jfltexx --> jfltejflte)
- Galaxy S4 - T-Mobile (jfltetmo --> jflte)
- Galaxy S4 - Verizon (jfltevzw --> jflte)
- Galaxy S4 - AT&T (jflteatt --> jflte)
- Galaxy S4 - Sprint (jfltespr --> jflte)
- Galaxy S4 Mini i9190 (serrano3gxx), i9192 (serranodsub) and i9195 (serranoltexx)
- Galaxy S5 International (kltexx --> klte)
- Galaxy S5 Exynos SM-G900H (k3gxx)
- Galaxy Mega i9205 (meliusltexx)
- Galaxy Mega i9200 (melius3gxx)
- Galaxy Premier i9260 (superior)
- Galaxy Note 2 (N7100 - N7102 - N7105 (t0lte)
- Galaxy Note 2 LTE Sprint SPH-L900 (l900)
- Galaxy Note 2 LTE Verizon SCH-I605 (i605)
- Galaxy Note 2 AT&T (t0lteatt)
- Galaxy Note 2 - TMO (t0ltetmo)
- Galaxy Note 3 LTE International - N9005 (hltexx)
- Galaxy Note 3 T-Mobile (hltetmo)
- Galaxy Note 3 Sprint (hltespr)
- Galaxy Note 3 Verizon (hltevzw)
- Galaxy Note 3 Canada (hltecan)
- Galaxy Note 4 International (trltexx), credits @Chenglu
- Galaxy Note 10.1 - N80xx
- Galaxy Note 10.1 - 2014 Wifi (lt03wifi), 3G (lt03wifiue)
- Galaxy Note 8.0 (N51xxx)
- Galaxy Tab 2 7.0 (p31xx)
- Galaxy Tab 2 10.1 (p51xx)
- Galaxy Tab 3 7.0: SM-T210 WiFi (lt02wifi) - SM-T111 3G (lt023g)
- Galaxy Tab 3 8.0 (lt01wifi, lt013g, lt01lte)
- Galaxy Core - GT-I8262 (arubaslim) - by @ali.filth
- Galaxy Mini (tass)
- Galaxy Gio (gio)
- Galaxy Fit (beni)
- Galaxy Ace (cooper)
- Galaxy 5 (galaxy5)
- Galaxy 551 (callisto)
- Galaxy Tab Pro 8.4 WiFi SM-T320 (mondrianwifi)
Sony
- Xperia Z (yuga)
- Xperia Z1 (honami)
- Xperia Z2 (sirius) - by @DooMLoRD
- Xperia Z Ultra (togari)
- Xperia SP (huashan)
- Xperia T (mint)
- Xperia ZL (odin) - by @shoey63
- Xperia L (taoshan) by @varun.chitre15
- Xperia M (nicki) by @icoolguy1995
ZTE - maintained by @cooldudezach
http://goo.im/devs/philz_touch/CWM_Advanced_Edition
- Warp Sequent - N861 (warp2)
- Warp 4G (warplte)
- Awe (nex)
- Overture (becky)
- Imperial (apollo)
- Source (hera)
- Iconic Phablet (stormer)
- Radiant (metis)
Huawei
- Acsend P1 U9200 (viva)
MicroMax
- A56/A57
- A110Q (unofficial repack by @sukarang9)
- A110 @bindassdost
- A177 Canvas Juice
- A310 Canvas Nitro by @thedevilashish
Cubot
- Cubot One (unofficial repack by @Maximus1a)
OnePlus
- One (bacon) by @acer73 and @katinatez
Xiaomi
- RedMi 1s (armani) by @juliusssss
- RedMi Note 4G (dior) by @juliusssss
- Redmi Note 3G by @EndLess
- Redmi 2/2A/Prime by @Rohan Taneja
Xolo
- Opus 3 by @thedevilashish
- A500S by @EndLess
PhilZ Touch Features: Read POST 2 for instructions to use special functions like aroma and ors support
touch interface:- toggle between 4 touch modes: FULL TOUCH, DOUBLE TAP to validate, SEMI TOUCH (scroll but no touch validation) and NO TOUCH to only use hardware keys
- written from scratch full touch code
- basic scroll kinetics for faster scrolling on demand
- safe full touch : no wrongly validations while scrolling
- when you set full touch mode, it defaults to optimized settings for menu height, scroll sensitivity and touch accuracy (you still can alter them manually later)
- adjust scroll sensitivity in a huge palette
- adjust menu height in a huge palette
- adjust touch accuracy
- 30 color settings for each of the 8 GUI parts + 5 alpha transparency settings
- user custom background png can be selected in addition to 30 solid colors option
- show / hide background icon
- show / hide bottom virtual buttons
- show/hide + set color and transparency for menu line separators to match solid color themes, like Black...
- set number of bottom log rows to show
- pause on logs mode: no more miss logs during zip installs
- auto dim screen after user configurable delay
- auto turn off screen after user configurable delay
- adjust brightness and turn off screen with a gesture action
- show/hide clock and remaining battery %, even during nandroid operations
- clock and battery stats now effectively refresh every 5 seconds and during nandroid operations
- toggle vibrator on/off on touch
- toggle key repeat for volume up/down scrolling when maintained pressed
- key repeat also enabled for virtual buttons
- set time zone + 30mn offset + DST: correct time can now be set for nandroid backup path and clock
- capture recovery screen shots with a gesture action (only some devices)
- basic theme support
- one file to save all settings
- backup and restore settings file
- backup and restore only GUI settings
- reset to default settings option
- prompt to restore your settings from a backup when they are wiped by a new ROM install
- option to auto restore your settings from a backup without a prompt
- all toggles are applied live, without restart of recovery (except reset of stock CWM background image)
- toggle menu options are automatically right aligned and menu text left aligned based on device display size
- configurable gesture actions: double tap, slide right/left, long press/lift, long press/move, can be associated with any of: show log, change brightness, blank screen, capture screen shot, launch Aroma File ManagerNote: after scroll, there is a minimal small delay (0.5 sec) to validate on next touch. This is by design and not a bug. It is there to limit erroneous validation while scrolling
true JB 4.2 migration: toggle between /data/media and /data/media/0
Secure recovery lock with passkey
browse phone with root access using full GUI in Aroma File Manager
terminal access from recovery with root access through Aroma File Manager
Multi Zip Install menu: check multiple zip files to install in a row
Custom Install Zip Mode: set a default folder to start with + browse backward up to the root
exFAT, NTFS and Ext4 support in recovery for external storage through kernel modules for many devices for faster write speed
TWRP backup and restore support, include full md5 sum support (single and multivolume, compressed and non compressed formats)
Advanced statistics during backup operations shown in color: total backup size, backup size progress, backup time, compression ratio...
support .android_secure backup/restore from external storage
optional reboot after custom backups/restores
sd-ext support (ext4)
nandroid backups support /preload in backup and restore jobs (custom and stock modes)
nandroid backups support /misc in backup and restore jobs (custom mode)
devs: 5 extra optional partitions supported in nandroid operations by editing recovery.fstab
set special nandroid settings: time zone, toggle md5 check for lightning fast backup and restore, toggle /preload backup and restore, enable nandroid compression using pigz (multi-cpu gzip compression) and choose ors backup target volume
recreate md5 sum check for your cwm backups for compatibility with stock CWM if you need to revert
cancel nandroid operation with back button
create custom_rom.zip from current ROM or from a pre-existing nandroid backup (based on boot, /system and optionally /preload)
nandroid backup path auto-renamed with current ROM id from build.prop (ro.modversion, then ro.romversion, then ro.build.display.id)
custom backup and restore job list: backup and restore freely any partition combo (include modem and efs)
backup/restore EFS in both tar + img formats, now with time tags for both tar and .img
support flash modem.bin image files in addition to custom modem.img files, now support for multiple *.bin versions under dedicated folder
during custom restore, you can see the contents of the folder you want to restore from
delete custom or TWRP backups from recovery menu
full wipe before flashing new ROM: wipe user data + format /system and /preload. SD card content is not affected
full support for openrecovery script specifications include all backup and restore options
run openrecovery scripts in 2 modes: on start goomanager boot scripts + one touch menu to either directly open a default path or freely browse for scripts
define ors backup target volume from within Nandroid Settings menu
ors backup/restore in stock clockworkmod or TWRP modes
advanced power options menu
detailed build info in About menu
Click to expand...
Click to collapse
Video Teaser:
new update soon...
Main menu and PhilZ Settings
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
GUI Preferences: all is applied live (no reboot). Up to 14 menu height settings, scroll sensitivity, touch accuracy...
27 color settings + 5 alpha transparency levels for every GUI element
Change background image with a custom png (of your device resolution), a solid color (27 presets) or revert to original cwm image
User configurable touch gestures (feel free to request for new actions)
Setup your time-zone + 30mn offset, super wipe option to install a new ROM
Backup and Restore any partition in a complete freedom, include modem (.img + .bin) and efs (.img + .tar)
Custom backups can also be restored by original CWM Advanced Restore Menu
TWRP Backup and Restore Support + md5 + single/multivolume format
Support multi-cpu compression, md5 check toggle and custom .android_secure path
Choose ors backup volume target
Flash multiple zip files in a raw
Aroma File Manager + Terminal Emulator: launch with a gesture action (double tap is default)
Full Wipe to Install a new ROM (sdcard is preserved)
Free Browse Mode to install zip files: select a default folder to start with and browse up to the root
Enjoy, and do not hesitate to post feedbacks and comments
Credits
To ALL people who help in porting device sources and give feedback for debugging
A special thank also to the below, and ALL who I do not mention but did contribute a lot with their efforts
Koush for having created and maintaining cwm
Cyanogenmod for making all this possible
Tallustus from Team Skyfire for his great support over IRC: MAJOR CREDITS
Dees_Troy from TWRP team for pigz source and many great ideas in their recovery + source for backups compatibility
Chenglu for his unpacking tools and porting i9505: Huge credit
kbc-developers for the base semi-touch code and much more
[email protected] for his great job / support
sk8erwitskil for his recovery source, a great place to start learning
shoe63 for his help from the start across many devices
DooMLoRD for his work and help with Sony
[NUT] for his ports to Sony
wanam for compiling sensors-free kernels for N71xx/i317M, i9500 and i9505 to fix boot delay for custom kernels, exfat support and much more
dougiebee for his work on fixing time on many Qualcom devices
ausdim for all the support in developing kernels for i9505
dr.ketan for his precious help in porting to the N7000 & N7100 (I don't own one) and all the support in threads
Chainfire for his support (stock recovery flash) and all his work for the Android community
XDA:DevDB Information
PhilZ Touch - Advanced Clockworkmod, Tool/Utility for the Android General
Contributors
Phil3759
Source Code: https://github.com/PhilZ-cwm6/philz_touch_cwm6
Version Information
Status: No Longer Updated
Created 2014-03-29
Last Updated 2016-01-05
Developers info: ** New: you can now build full version from my git sources **
You can also try to get support on IRC on freenode: #PhilZ-Touch (thanks @Bhargav97)
You can fetch source from this link (cm-11.0 branch):
https://github.com/PhilZ-cwm6/philz_touch_cwm6
I no longer maintain the older branches
Before you start, make sure you can build stock cwm from cm-11.0 source
Once you can build stock CWM, just replace your bootable/recovery folder with this one and lunch for your device
Device tree changes examples:
They are minimal and detailed below
You can see a few examples from here:
device tree: https://github.com/PhilZ-cwm6/philz_touch_cwm6_device_vendor/tree/cm-11.0
vold exfat/ntfs/f2fs kernel support: https://github.com/PhilZ-cwm6/android_system_vold/tree/cm-11.0
selinux extensions for extra partitions: https://github.com/PhilZ-cwm6/android_external_sepolicy/tree/cm-11.0
To avoid modifying BoardConfig.mk and device.mk for all devices I support, I modified the build makefile:
https://github.com/PhilZ-cwm6/android_build/tree/cm-11.0
Those are the only optional changes to get all features of this recovery mod.
To use f2fs/exfat/ntfs kernel support, you should learn how to modify the kernel too. Else, skip the vold changes and flags (see below details)
Optional PhilZ Touch extra flags:
The below info are optional. You should still be able to build without editing anything in device tree
bootable/recovery/boardconfig/BoardConfig.mk
It is a quick mode to add device specific tags without altering device tree. That way I can spot needed changes easier.
Code:
# Info on some tags:
- KERNEL_EXFAT_MODULE_NAME: This will force minivold to use much faster kernel modules instead of slow fuse
it will only work if you have modified vold sources (contact me for info)
you'll also have to copy modules to ramdisk and load them in init.rc or a loader script
you need either an exfat enabled prebuilt kernel or to compile exfat modules along kernel
you also need to patch minivold: [url]https://github.com/PhilZ-cwm6/android_system_vold[/url]
- KERNEL_NTFS_MODULE_NAME:
Same as above, but for ntfs.
- TARGET_USERIMAGES_USE_F2FS := true
will enable f2fs support and ext4 <-> f2fs conversion and backup migration
obviously you need to add f2fs support into the kernel
read about the extra.fstab use to use specific and distinct f2fs and ext4 mount options
else, it will drop to bare minimal ext4 or f2fs mount options if not defined in recovery.fstab
- BOARD_USE_MTK_LAYOUT := true
will enable backup/restore of boot, recovery and uboot partitions on MTK devices
- BOARD_MTK_BOOT_LABEL := "/bootimg"
This flag is optional, it is used only if BOARD_USE_MTK_LAYOUT is defined
If not defined while previous flag is enabled, default boot label is assumed "/bootimg"
Else, it is assigned the defined value
In fstab.device used by recovery (recovery.fstab), boot mount point must be the same as what we
define in label
It is also mandatory that it is defined to real device label (cat /proc/dumchar_info)
Partition size is grabbed during backup/restore from /proc/dumchar_info
uboot label is defined as "/uboot". It is automatically backed-up/restored with boot and recovery
recovery label is always assumed to be "/recovery"
- BOARD_HAS_LOW_RESOLUTION:
(optional) for all devices below 1024x768 resolution.
it forces default touch sensitivity to a lower value. It can be altered in GUI Settings
- BOOTLOADER_CMD_ARG:
This will override ro.bootloader.mode. Mostly used for Samsung devices to access download mode
- TARGET_COMMON_NAME
The device name that will be displayed on recovery start and in About dialogue
- BRIGHTNESS_SYS_FILE:
Needed to be able to alter screen brightness
- ro.cwm.backup_partitions:
this can be set on boot or during compile into default.prop. exp in device.mk:
PRODUCT_PROPERTY_OVERRIDES += \
ro.cwm.backup_partitions=/modemst1,/modemst2,/devlog
it will add support to backup/restore those partitions in nandroid custom jobs provided they are also defined in recovery.fstab
device/brand/phone_name/device.mk
Code:
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/rootdir/etc/extra.fstab:recovery/root/etc/extra.fstab
extra.fstab documentation:
* Needed until fs_mgr_read_fstab() starts to parse blk_device2 entries
* extra.fstab sample:
Code:
# add here entries already existing in main device fstab, but for which you want a blk_device2, fs_type2 or fs_options2
# mount point must be the same, mmcblk device must be your device true path
# you can set the f2fs mount options for partitions you want to be able to toggle between f2fs/ext4
# it will enable faster transfer speed for devices supporting usb mount storage
# makes it possible to partition vold managed storage (sdcard/usb disks) and format it to ext2/ext3
# used also to stat for size of mtd/yaffs2 partitions
# blk_device2 # mount_point fs_type2 fs_options2 flags (not used in extra.fstab code)
/dev/block/mmcblk0p28 /storage/sdcard0 auto defaults defaults
/dev/block/mmcblk1p1 /storage/sdcard1 auto defaults defaults
/dev/block/sda1 /storage/usbdisk0 auto defaults defaults
/dev/block/mmcblk0p30 /data f2fs [options] [flags]
If it doesn't build or errors, post log/error here and I will help if I can
Adding Full PhilZ Touch version support for your device
Compile for your device by replacing bootable/recovery contents with files from my git
Set the needed options in bootable/recovery/boardconfig/BoardConfig.mk
It is very important to set the correct options so that libtouch_gui can be initialized properly
Optional: you can add your signature here, but do not remove other About ui_prints please, keep credits
https://github.com/PhilZ-cwm6/philz_touch_cwm6/blob/cm-11.0/advanced_functions.c#L3328
post a link to your thread or attach your recovery.img here and I will upload them to goo.im and main OP for official support
If you have errors, bugs or need a specific feature for your custom kernel, just let me know by PM
If errors are related to libtouch_gui, try to disable the PHILZ_TOUCH_RECOVERY flag here by adding a #
https://github.com/PhilZ-cwm6/philz_touch_cwm6/blob/cm-11.0/Android.mk#L6
Then, post here your error log when compiling
Click to expand...
Click to collapse
Missing sources in my github:
none, it is all open source now
- all gui options, include touch code
- Create Update.zip from current ROM or from pre-existing backups
- However, they are all enabled through the new libtouch_gui library. Just set your flags and compile it
Will libtouch_gui sources published?
They are open source now
Not for now. Why?
Answer: in this post
Can I include and use your libtouch_gui in my recovery mod ?
You are welcome, but:
- do not reverse code
- do not binary edit it
- add credits in your code
- do not remove credits headers from sources and give proper credit in your thread site
- post a link to this thread on your site/thread
- push fixes to my github if you find bugs that you fix or if you add new features
PhilZ Touch Quick Guide
It is based on Koush clockworkmod 6.x to which I added many features and a full reliable touch interface
It brings a true touch and scroll interface, fully customizable GUI, theme support, advanced nandroid options and much more
How to select your .android_secure path
In Custom Backup and Restore operations, you can select the target/source for android.secure or disable it
In stock backup/restore operations, include those started with ROM Manager, you can also force a target/source for .android_secure
basically, recovery will check first external storage for a .android_secure folder. If it doesn't find it, it will look in internal storage
If you want for example .android_secure to be in internal sd, just delete .android_secure folder from external sd and ensure there is a .android_secure folder in internal sd
for external sd, just ensure there is a .android_secure folder in it. It will be chosen what ever is the internal sd state
Custom Backup and Restore menu
This is one of the most powerful features of this recovery.
It is made completely open source code, built from sratch. Just keep credits headers and give proper credit if you use them
You can select which partitions you want to backup or restore
You can choose your .android_secure source and target or even disable it
You can set it to reboot directly after job is done
backups will go under the folder clockworkmod/backup (please move all contents of custom_backup folder used in previous versions to the default backup folder in cwm)
TWRP backups go under stock TWRP/BACKUPS/device_id folder and will be automatically recognized by TWRP
Custom Restore Menu allows you to restore from any of the stock clockworkmod backups, the custom backups or the TWRP backups
efs is backed up under clockworkmod/backup/.efs_backup
- efs must be selected alone for backup in cwm mode
- it will create 2 copies: a tar and raw img backup using cat/dd command
- to restore efs, under Custom Restore menu, select efs only and toggle between tar and .img
- restore .img format is advised, but tar will work under most circumstances
modem.bin files can be named any_thing.bin and must go under clockworkmod/backup/.modem_bin
- with that, you can flash modem.bin files that come with official firmware (may need unlocked devices for some models)
if you disable md5, your backups will no more be recognized by stock cwm builds. Look at next step to regenerate md5 for stock cwm compatibility. Otherwise, all stock and custom backups are backward compatible with stock cwm (except special partitions like preload, recovery, modem and efs which stock cwm doesn't support)
you can now recreate md5 sum for any backup you want. Use with caution!
Open Recovery Script Support (ORS): revised and adapted from original sk8erwitskil source
On start, recovery looks automatically for "/cache/recovery/openrecoveryscript" installed by goomanager or any tasker. If it finds it, it is run and phone will reboot
You can also add custom ors scripts you edit your self:
When pressing the ors menu, it will look at default locations for your custom scripts:
"clockworkmod/ors" first in extra storage, then in internal sd. Put your custom scripts there with file extension .ors
That way you can access your jobs (flash, wipe, backup, restore...) instantly
If no scripts are found in default folder, you get option to browse both storage volumes for a custom location
To learn how to write ors scripts to automate your backup/restore/wipe/flash tasks, read here, it is very easy: http://wiki.rootzwiki.com/OpenRecoveryScript
Give Goomanager a try
All backup and restore options are supported include special partitions 1, 2 and 3 and even extra 4 and 5 partitions (could add modem, efs and preload linked to them later)
/preload will be included with /system if you enabled the /preload option in Misc Nandroid Settings
you have an extra here: you can set the target volume for ors backups under Misc Nandroid Settings menu
ors backups can be set to either TWRP or CWM format
Aroma File Manager Support *Adapted from amarullz and sk8erwitskil
You get here the possibility to browse your phone with root access in a friendly GUI file browser, while being in recovery
You even now get a terminal emulator to run in recovery
Download Aroma File Manager from its Home Page
Get the last version and rename the file aromafm.zip
Put the aromafm.zip in "clockworkmod/aromafm/aromafm.zip" in any of the storage volumes
In recovery, tap the Aroma File Manager menu or double tap any part of the screen outside menus
It will launch the file manager automatically
Double tap gesture linked to Aroma File Manager can be altered in the GUI Settings menu
Touch GUI Preferences:
This is another unique feature of this recovery and is built from scratch
You can toggle through 4 touch modes:
Full Touch: menus are validated by touching them. I added extra checks to make it robust to validation by error while scrolling.
Double Tap: menus are highlighted on first touch. To validate action, you need to double tap the same menu
Semi Touch: the classic semi-touch interface I enhanced. Menus are selected/highlighted on first touch. You can scroll by swiping up/down, but no validation on touch.
Disable Touch: touch code completely disabled. You have all gui options left, but only hardware keys
When Full Touch mode is selected, it will automatically set recommended menu height, touch accuracy and scroll sensitivity. You can alter them later if you want
Scroll sensitivity controls scrolling on swipe up/down. Lower values are the most sensitive. Adjust this based on selected menu height
Touch accuracy: increase it if your touch gestures are not well accounted for
Config files are saved in /data/philz-touch/philz-touch_x.ini file.
You can do a backup of your settings file, it will go under /sdcard/clockworkmod/philz-touch.ini.bak
You can choose to be prompted to restore your settings whenever they are wiped while you have a backup. You can also set recovery to auto-restore them when needed. This check is done when you reboot to main system from within recovery
There are many gesture actions that you can setup at your wish (some default actions are setup by default)
Long press/move is the bad equivalent to a long press gesture action: just that after 0.6 sec of touch, slightly move your finger or change the pressure surface without actually lifting it
Your screen should auto-dim automatically after one minute and turn off after 3 mn. You can change those time settings. Just touch the screen to reset brightness and turn it on (some devices need to press hardware button)
All GUI parts can be customized: menu hight, text colors, menu colors, selection colors, background color and icon, menu seprators, battery and clock, header text...
To setup a custom background image: put a png image with your device resolution in a folder clockworkmod/custom_res
You can take screen shots from recovery display by the slide left gesture (change it at your wish). Pics captures will go under clockworkmod/screen_shots folder. External storage will be always used first. If no external storage is found, internal storage is used. You can take up to 999 pics before it resets to 1
Setup Free Browse Mode and Multi-zip Installer:
Free Browse Mode:
You can setup a default folder from where the Install Zip menu will start
From within your set default folder, you can now browse backward up to the root file system to install a zip file
Multi-zip Installer menu:
Lets you select multiple zip files to flash at the same time
The zip files must go into a subfolder under: "clockworkmod/multi_flash"
At least one subfolder with your zip files must be created. You can create as many subfolders as you want
exp: clockworkmod/multi_flash/NEAT_ROM_files
Pause on Logs:
Pause on Logs: when enabled, after flashing a zip file or doing a nandroid job, you will be prompted for a key to return to menu display. That way, logs are kept in full screen. Obviously, no pause will be performed on boot scripts and multi-zip operations
How to Install
This will depend on your device. Please look first for help in your device specific thread.
Provided instructions here ARE NOT VALID for all phone
Recovery (.zip) packages instructions
They come in the form of .zip files that can be flashed in cwm recovery
Download philz_touch_xxx.zip file
Put the previously downloaded philz_touch_xxx.zip file on your sd card
Boot into recovery (volume up+home+power)
Select "Install zip" and browser to your downloaded zip file.
Now select the philz_touch_xxx.zip fileyou copied in previous step
You will have PhilZ Touch Recovery flashed
Odin packages instructions: Samsung Only
They come in the form of .tar.md5 file
boot into download mode
start odin3 and configure it as in picture below
connect phone in download mode to PC via USB
press start to flash the tar.md5 package
normally, phone should auto-reboot into recovery.
If it reboots into main system and your recovery remains stock, repeat above steps and untick "autoreboot" in odin. Once flash is done, keep pressing the 3 buttons combo to for a reboot into recovery.You should see the new CWM
when in recovery, if you choose option "reboot system now" and you get "yes - disable flash recovery", select that option to avoid stock recovery overwriting cwm
to remove yellow triangle, use TriangleAway
Root your phone and reset Yellow Triangle
coming....
Full Change History
Change log is now here:
https://github.com/PhilZ-cwm6/philz_touch_cwm6/commits/cm-11.0
Older history in next post
6.48.4 (06.07.2014)
- merge multi stage install packages support from AOSP
- CWM 6.0.5.0
6.48.1 (30.06.2014)
- add option to directly parse time_daemon data files
- refresh current time in menu header after time daemon fixes
- fix first passkey prompt screen did not show proper background under some circumstances
- libtouch_gui 1.30
6.47.7 (25.06.2014)
- preserve background icon user settings after sideload, install zip and wipe actions
- use real fstype instead of auto in /etc/fstab when converting between ext4 <-> f2fs using extra.fstab
- libtouch_gui 1.29
- LG G2 variants: enable performance mode in recovery (device tree)
- HTC One Mini (m4): enable f2fs and exfat kernel support
- Galaxy S5 LTE (klte): enable backup/restore of /efs, /modemst1 and /modemst2 partitions
6.47.6 (24.06.2014)
- recovery lock: support use of virtual / capacitive keys as pass key
- libtouch_gui 1.28
6.47.4 (23.06.2014)
- fix adb was disabled when no recovery lock passkey was setup
- Galaxy S3 D2 variants: enable f2fs support
6.47.3 (20.06.2014)
- add recovery lock with passkey on start
- better extra partitions support in custom nandroid operations
- fix segfault during shell nandroid backup/restore commands
- enable progress display during "adb shell nandroid backup/restore" commands
- enhance and fix bugs of progress display during install/nandroid... operations
- nandroid restore: fix progress bar animation when md5 verify is enabled
- nandroid md5: fix progress bar was not reset for each file
- nandroid md5: fix .android_secure md5 sum was never generated or checked
this could cause md5 check to fail under some circumstances
- limit logging to console in adb shell nandroid and mount commands
- fix detection of real fstype (pointer to in the scope char array bug)
- merge: "Only chmod backup/blobs directory if it exists"
- merge: "Enable cmdline nandroid backup of vold volumes"
- disable useless sd-ext warnings and errors
- merge loki updates
- f2fs <-> ext4 conversion: support fs_options2 through extra.fstab before dropping to bare minimal options
- clean up code
- libtouch_gui 1.26
6.43.8 (02.06.2014)
- fix recursive path creation bug for /data/media/0
- f2fs: do not try f2fs recovery.fstab mount options on an ext4 partition
- f2fs: do not redefine default recovery ext4 mount options when migrating from an f2fs recovery.fstab
- f2fs: error message when converting unsupported file systems
- fix Galaxy Mega variant background resolution
6.43.5 (01.06.2014)
- default to /data/media/0 unless we define BOARD_HAS_NO_MULTIUSER_SUPPORT
- use lstat to check if file exists
6.43.4 (01.06.2014)
- fix text print colour could persist after md5 check
6.43.3 (31.05.2014)
- fix f2fs conversion of /data on /data/media devices
- allow ext4 <-> f2fs backup data migration in nandroid
- cleanup code
6.43.0 (30.05.2014)
- nandroid backup: fix 'media' exception:
In CWM, a bug present from the begining was preventing any path/file named media from backup on /data/media devices
This fix will only exclude /data/media path and not other media files/folders
6.42.9 (30.05.2014)
- default again to libtar for backup/restore
6.42.7 (30.05.2014)
default to busybox tar:
- use busybox tar by default as it now supports selinux context backup/restore
- unify libtar and busybox tar options (-p for selinux context)
- remove now deprecated external selinux container code
6.42.5 (30.05.2014)
- f2fs: recreate /etc/fstab after ext4/f2fs conversion for proper use of system mount command
- comment useless dead code
6.42.4 (30.05.2014)
- f2fs: fix nandroid restore to f2fs partitions
- f2fs: support format extra storage to f2fs (vold patch needed)
- f2fs: support switching between f2fs/ext4 (needs f2fs in kernel modules), thanks @KumaJaya
- f2fs: reload volume table after f2fs/ext4 conversion (no reboot needed after conversion)
- f2fs: do not format whole /data when not expected on /data/media devices
- f2fs: allow /data f2fs/ext4 conversion for non data_media devices
6.41.8 (26.05.2014)
Preserve recovery settings after a wipe
- on settings change, create a second copy of recovery settings on primary storage (/sdcard)
- on recovery exit, always copy recovery settings to sdcard if no copy is present
- after a wipe, on recovery exit, try to restore settings from the copy on primary storage
- fix save/restore settings menu labels
- libtouch_gui 1.22
6.41.6 (12.05.2014)
- update exfat to dorimanx 1.2.9 latest sources
- fix compile error when enabling BOARD_RECOVERY_USE_BBTAR
- repo sync latest sources
- Galaxy Tab Pro 8.4 WiFi SM-T320 (mondrianwifi)
- HTC M7 variants: use new cm kernel with exfat sources
- HTC M8 variants: use new unified recovery
6.41.5 (11.05.2014)
- libtouch_gui 1.21: auto detect BRIGHTNESS_SYS_FILE path if it is not set during compile
* search for the file in most common locations
* if found, save it to recovery settings ini file to be called on next recovery starts
* else, disable adjust brightness function to avoid error logs on recovery start
- fix various compiler warnings and errors
- enhance pre-compile setup
- dedupe: merge clean up code from @xiaolu
- merge: fix restorecon_from_file potential crash from @xiaolu (only for BOARD_RECOVERY_USE_BBTAR)
- fix 240x320 images
- merge "cwm: Honor recovery variant "
- merge "cwm: Remove hardcoded paths"
- merge "Keep 'show log' on screen until user dismisses it"
- create /data/media directory after internal storage is wiped
prevents denial to read/write from internal storage under some circumstances
- open source touch_gui library
- update licence files
6.40.1 (03.05.2014)
- proper libtar implementation: support backup/restore of selinux context inside archive
- dedupe: support backup/restore of selinux context by @Chenglu
- libtouch_gui 1.20: support custom key files (BOARD_CUSTOM_RECOVERY_KEYMAPPING)
Older Change History v6.x
6.29.9 (27.04.2014)
- merge "Recovery: swap XY on swipe controls"
- shell pipe: set exit code to error if any pipe element fails
* this was causing backup state to be reported good while tar command failed
6.29.7 (27.04.2014)
- minitar: add options help and change log
- minitar: build as a static library to spare 150 kb (only 16kb size increase)
6.29.2 (26.04.2014)
- fix potential bug when verifying root and recovery state on exit
- merge "Fix verify_root_and_recovery menu selections":
- hide the Go Back button from confirm menu
- merge "Prohibit mounting/formatting swap partitions in recovery"
- add minitar binary to /sbin instead of busybox tar
- minitar: enable more options, enable long options, fix selinux backup/restore, enhance GNU tar compatibility
- revert RECOVERY_NEED_SELINUX_FIX patch
- enable seamless backup/restore selinux context using minitar binary
- TWRP mode: support backup/restore of selinux context
- libtouch_gui 1.19
6.27.6 (21.04.2014)
- add libtouch_gui for armv6 devices, thanks @yuweng and androidarmv6 team
- loki: sync to upstream
- Galaxy S5 SM-G900H (k3gxx): update kernel to XXU1ANCI
- Amazon Kindle Fire HD 7 (tate): fix background and virtual keys
- Amazon Kindle Fire HD (jem & tate): fix display battery level
- LG G2: repack on older cm 6.25.4 kernel to fix graphic issues
- New: HTC One M8 Verizon (m8vzw)
- New: LG Optimus One P500 (p500) - arm v6 based
6.27.2 (18.04.2014)
- libtouch_gui 1.18
- confirm cancel nandroid jobs (prompt to press 'Back' twice or resume after 5 secs)
- vibrate after backup/restore operations
6.27.0 (17.04.2014)
- MTK support: fix backup & restore of boot/recovery/uboot partitions
- MTK devices: improve error handling of partitions size
- do not consider su symlink in /system/bin as a broken root
- New: Amazon Kindle Fire HD 7 (tate)
- New: Amazon Kindle Fire HD 8.9 (jem)
- New: Galaxy S5 SM-G900H Exynos variant (k3gxx)
6.26.6 (14.04.2014)
- m7 unified for m7ul, m7att and m7tmo
- CWM 6.0.4.8
- merge support for native dual boot devices
- sync sources
6.26.4 (12.04.2014)
- update libloki to latest sources
- broken root: help victims of bad custom ROMs
This adds extra code to detect if two su instances are installed in /system/bin and /system/xbin
It will kill both and properly apply SuperSU
- fixing root on exit was never done what ever was user choice
6.26.1 (06.04.2014)
- New: Note 10.1 2014 3G - SM-P601 (lt0wifiue)
- New: LG Optimus L7 P700 (p700) by @ali.filth
- New: Galaxy Grand Quatro (i8552) by @ali.filth
- New: HTC One mini (m4)
- fb2png: better error logging
6.25.7 (05.04.2014)
- New: HTC One M8 (m8)
- New: HTC One M8 sprint (m8spr)
- New: Note 10.1 2014 Wifi - SM-P600 (lt0wifi)
- derp cm_moto_msm8960
6.25.4 (31.03.2014)
- sort files using case insensitive order (adapted from @titanic-fanatic)
- use new ro.loki_disabled for unified variants not needing loki
This way, we only need to set the ENABLE_LOKI flag to have a loki enabled recovery
No more need to set an extra ro.loki_enabled property
Only modification needed now is for jflte variants not using loki
Only jflteatt and jfltevzw do
We have to set ro.loki_disabled to 1 for all other variants in libinit_jflte
- New device: Galaxy X Cover 2 - skomer
- New device: Galaxy S3 Mini - golden
- New device: Sony Xperia ZR (dogo)
- New device: Sony Xperia Tablet Z (pollux)
- New device: Sony Xperia Z1 Compact (amami)
- New device: Sony Xperia S (nozomi)
- New device: moto_msm8960 unified device (by @hachamacha)
- New device: Galaxy S Advance (janice)
- New device: Galaxy Ace 2 (codina)
- New device: Samsung Galaxy Tab 3 7.0 SM-T211 (lt023g)
6.25.0 (29.03.2014)
- jflte: enable back loki for jflteatt and jfltevzw
- remove old no more needed md5 check code
6.24.8 (28.03.2014)
- libtouch_gui 1.16:
- fix when quickly doing two gesture actions one after the other, highlighted m$
we only allow gesture actions when the previous one is terminated
- set these default gesture actions:
* swipe left = screen off
* swipe right = increase brightness
* press 1 sec and lift = show log
* press 2 sec and small move = screen shot
- merge "Only init legacy property environment once"
6.24.6 (28.03.2014)
- revert using ntfs module and drop to fuse for complete write support
- use new md5digest code to generate/verify nandroid backups
- bring progress bar during nandroid md5 generation and check
- exclude log and md5 file when regenerating md5 files
- twrp mode: use new md5digest function with status bar during md5 check/create
- twrp mode: fix double md5 verification bug
- fix delete backup menu failed to reopen base backup folder + wired log message
- libtouch_gui 1.15: fix the "umount: can't umount /data: Invalid argument" log message on start when time daemon was loaded
- libtouch_gui 1.15: show "time daemon loading" message on recovery start when we're waiting for the daemon to load
- libtouch_gui 1.15: support time_daemon /data/system/time path used on some ROMs
- add Xperia ZL (odin) flags (@shoey63)
- jflte: remove /firmware and /firmware-mdm from fstab
- repack builder: fix version display during install broken after fixing cm recovery builder script
6.23.7 (25.03.2014)
- cherry-pick @mdmower patches to legacy props init: better error checking to avoid segfaulting
- really hammer lazy developers
6.23.5 (25.03.2014)
- merge: "recovery: Compatibility with upstream minui change"
- merge: "use correct USB PID for adb and new PID for adb+ums"
- merge: "Fixes makerecoveries.sh"
- merge: "nandroid: Convert selinux_android_restorecon calls to new API" from @KumaJaya
- fix fb2png flag to be enabled by default
- cherry-pick: "Revert "Add a copy of the updater binary to the recovery resources""
- cherry-pick: "Make legacy prop environment available to recovery"
- cherry-pick: "Use legacy property environment if old update-binary"
- fix potential unsafe thread code
- libtouch_gui 1.10: disable gesture actions during md5 checks as they are not thread safe
6.22.5 (22.03.2014)
- fb2pn v2.0.0 by McKael & Phil3759
* autodetect image offset to properly align frame buffer data
* fix memory leak
* fix all compiler warnings
* auto detect active frame buffer to capture
* option to force buffer to capture by user
- fix compiling of Advanced Edition
6.22.1 (18.03.2014)
- fix fb2png code for new Qualcom boards (not merged, work in progress)
- fix key repeat for hardware keys
- fix MTK board support
- fix compiling error of Advanced Edition
- fix md5 check crash when installing zip files
6.21.2 (14.03.2014)
- add progress bar while reading zip file to compute md5 check
- add color printing during md5sum checks
- (derp) fix color code printing on md5 check disappears after 5 sec (ui_wait_key() screen refresh)
- md5sum check potential bug fixes and optimizations
- libtouch_gui 1.05
6.20.6 (12.03.2014)
- add md5 sum calculation and toggle verification during install of zip files
- hammerhead: fix efs backup (derp)
- loki: use new loki_tool multi bin sources
- add missing vkeys for 240 width
- many bug fixes and code cleanups
- libtouch_gui 1.04
6.19.6 (05.03.2014)
- loki: fix auto loki was broken and clean up sources
- hammerhead: add efs backup/restore
- m7 variants: fix charger in off mode
- jewel: fix no fstab!
6.19.3 (02.03.2014)
- fix compiling for QCOM devices when using a prebuilt kernel with TARGET_PREBUILT_KERNEL
- galaxysmtd: remove ntfs-3g drivers to fit partition size
6.19.2 (01.03.2014)
- merge "nandroid: Allow tar backups of yaffs2 partitions"
- merge "update-binary: Add collect_backup_data function"
- merge "recovery: add overlay interface for recovery mode"
- merge "recovery: Add support for split display "
- merge "recovery: Fix compilation for non MSM target "
- merge "Fix overlay inclusion on MSM"
- merge "Loki: Add LG G Flex KDDI MODEL"
- merge Aroma patches:
* User selectable colorspace added to settings.
* Unmount /system at exit if mounted.
* Some more logging added.
- add 480x854 res backgrounds
- add 240x320 res backgrounds
- hlte: use new unified device builds but only for devices with new 4.4 bootloader
- hlte: fix cdrom in mount usb storage, thanks to @Chenglu
- jewel: use cm kernel with new layout partitions to fix charger
- hammerhead: revert to using cm kernel instead of stock
- falcon_gpe: use unified falcon device with init started script to swap fstab f2fs for ext4
- New: d2dcm (d2lte)
- lt02wifi: support fb2png screen shots
- loki fix for zip installers broken after unified devices releases
6.18.7 (25.02.2014)
- enable full touch gui build through re-distributable libtouch_gui (v1.01)
- merge "Fix mass storage in recovery"
- merge remote cm-11.0 changes
- loki: add support for unified devices
- fix loki user setting could be overridden on edify install_zip commands
- Galaxy S4 Qualcom variants: use new unified device "jflte" for all variants
- loki: show the enabled/disabled state in menu
- more comprehensive menu text display for /data/media/0 toggle
- fix potential memory leak in /data/media/0 toggle
- Galaxy S3 Qualcomm variants: use unified dlte recovery image
- New: Galaxy S2 Epic 4G Touch - SPH-D710 (d710)
- New: Samsung Galaxy Tab 3 7.0 SM-T210 WiFi (lt02wifi), credits to gr8nole and ketut.kumajaya
- New: ZTE Warp Sequent - N861 (warp2), credits to jetx2x
- New: ZTE Awe (nex), credits to cooldudezach
- New: HTC Rezound (vigor)
- merge: "P31XX: use landscape background"
- fix virtual keys on devices with 1024 pixel width resolution
- huge cleanup and potential bug fixes
- fix all compiler warnings
6.15.3 (13.02.2014)
- update superSU to 1.93
- sync sources
- fix recovery reboot command (adb and shell) by adding the init sys.powerctl property control
- merge "Fix mkfs.f2fs calling in roots"
- merge "Fix mass storage in recovery"
- fix display current path when navigating backward in folders
- Nandroid Simple Logging: toggle logging of file names during nandroid to keep screen progress while speed up nandroid operations for some devices
- increase NICE_INTERVAL to 300 msec (faster backup/restore on some devices)
- hide unused settings in Nandroid Settings menu (if we disable all progress on screen, hide non valid options)
- re-order nandroid settings menu
- add a toggle for fall back to pre-built update-binary to permit use of older update-binary in zip packages (doesn't persist on reboot).
this will fix the assert errors due to outdate update-binary. It could still be affected by assert error on device name getprop. However, that one is easier to fix by end users by editing updater-script. This is a workaround. The best is to hammer your ROM cooker to update his scripts and binaries
- setting for signature check toggle on zip updates will be now saved on reboot
- Aroma File Manager: mount vold managed volumes on launch from recovery
- Free Browse Mode: make it possible to install from any custom path even ramdisk
- Free browse mode: fix exceptions when setting up custom path
- Free browse mode: mount known volumes during setup
- Free browse mode: better handling of /data/media devices
- Free Browse Mode: mount vold managed volumes when navigating in
- HTC One variants (m7): fix charger
- HTC Evo 4G LTE (jewel): fix charger
- HTC Evo 4G LTE (jewel): update to new Sense 5 partition layout (/data/media)
- HTC Evo 4G LTE (jewel): use exfat modules for much faster backup speed to exfat cards
- New: Moto G variants (falcon): xt1028 xt1031 xt1032 xt1033 xt1034
- New: Moto G Google Play Edition (falcon_gpe)
- New: Galaxy Note 8.0 LTE (n5120) support
- New: HP Touch (tenderloin), no touch
- fix potential logging issues
- fix compiler warnings
- clean up code and misc fixes
6.13.1 (06.02.2014)
- HTC One variants (m7xx): fix charger bug
- Nexus 5 (hammerhead): use stock kernel to fix graphic issues
- LG G2 variants (d80x, vs980, ls980): add faster exfat backups using exfat modules from samsung (credits @dorimanx)
- LG G2: add d805 and d806 support
- Galaxy S4 variants (jflte): derp fix kernel random hang on boot
- SGH-I757M (celoxhd): use exfat static drivers
6.12.8 (30.01.2014)
- time and date menu text formatting and order
- version display edit
- add ntfs write support to devices using kernel modules instead of fuse
- loki: merge "Support LG Optimus F7 ZV5_02"
- zip installer: update loki binaries for LOKI devices
- zip installer: use new update-binary sources
- add NTFS kernel module support for more Samsung devices
6.12.2 (28.01.2014)
- manually set time and date in recovery
- support Qualcom time daemon to sync time with main system (credits to dougiebee)
- support RTC offset hack for Qualcom devices without a proper time daemon in system ROM (credits to dougiebee)
- option to drop to system set time and date commands (credits to dougiebee)
- set default nandroid compression level back to low
- roll out exfat-nofuse sources from dorimanx into various kernels from Samsung and other brands
- code fix and cleanup
- New: Oppo N1
6.10.6 (23.01.2014)
- update SuperSU to 1.91
- merge android_system_core changes to adb to fix push to extra storage paths
- do not use performance mode during install zip: fixes hang on unmount /system in updater-script when usb cable is connected
- i9505 ans US variants: update kernel to fix random hang on boot
- update to CWM 6.0.4.7
- merge "Fix up bu restore"
- ROM Manager: workaround to backup/restore to/from external storage
6.10.2 (20.01.2014)
- enhance touch init (fix touch on some Sony devices)
- really fix reading device max brightness value
- loki: merge "Support Open EU LG Optimus F6 and US Cellular Optimus F7"
- New: HTC One X+ (enrc2b)
6.10.0 (18.01.2014)
- read the device max brightness setting to fix brightness toggle on some Sony devices
- merge: "Populate mount menu with new mount/format matrix" - final version
- merge: "Use cat for adb backup."
6.09.8 (16.01.2014)
- merge: "Populate mount menu with new mount/format matrix"
- New: Moto X variants: US Cellular (xt1055), Sprint (xt1056)
- New: Galaxy Tab 2 P3110 (p3110)
6.09.6 (15.01.2014)
- do not error on missing sd-ext when wiping dalvik cache
- merge: "su: Update for latest su daemon compatibility"
- merge "Clean up c formatting - 1"
- merge "Remove "Go Back" option from verify root and recovery options"
- merge "Fix potential chmod failures"
- merge: "Add a copy of the updater binary to the recovery resources"
- merge: "install: Support downgrade scenarios"
- merge: "install: Fix possible overflow condition in the updater "scanner""
- merge: "minui: do not use flexible array initialization"
- merge: "correctly mount tmpfs as /tmp in recovery"
- New: Sony Xperia SP (huashan)
- New: Sony Xperia T (mint)
- New: Samsung i9192 (serranodsub)
- New: Motorola Moto X variants: VZW (xt1060), GSM (xt1058), TMO (xt1053)
- New: Samsung Galaxy Note 10.1 LTE (n8020)
6.09.2 (12.01.2013)
- TWRP: merge "support use TW_USE_MODEL_HARDWARE_ID_FOR_DEVICE_ID"
- toggle prompt on low free space during backup
- SuperSU update to v1.89
- loki: merge "Support LG Vu 3."
- code cleanup
- New: US Cellular CH-R530U (d2usc) support
6.08.9 (04.01.2013)
- gesture action defaults changed
- long press and lift gesture action is now triggered after finger pressed for more than 1 sec
- do not include fb2png on non supported devices
- stop always rebuilding aroma intermediates
- Update: Samsung Exhilarate SGH-I577 (exhilarate)
- New: Galaxy Express AT&T (expressatt)
- New: Asus Transformer Pad TF300T (tf300t)
- New: Asus Transformer Prime TF700T (tf700t)
- New: HTC Evo 4G LTE (jewel)
- New: LG Optimus 4X HD P880 (p880)
- New: Galaxy Tab 3 8.0 SM-T310 - Wifi (lt01wifi)
- New: Galaxy Tab 3 8.0 SM-T311 - 3G (lt013g)
- New: Galaxy Tab 3 8.0 SM-T315 - LTE (lt01lte)
- New: Galaxy Note 3 Verizon (hltevzw)
- New: Galaxy Note 3 Canada (hltecan)
- New: Sony Xperia Z1 (honami)
- New: Sony Xperia ZU (togari)
6.08.7 (03.01.2014)
- fix Free Browse Mode folder cannot be changed in menus once first setup
- add back custom format fstype using vold (now patched in cm-11.0 thanks @cyanogen)
- disable journalling when formatting non voldmanaged extra storage in ext4 fstype
- merge "recovery: Add support for performance control"
- update CWM to v6.0.4.6
- loki: sync sources (support LG G2 D80010o)
- default backup compression level is now 5 (medium)
- v500: fix background width to 1200 pixels
- e970: fix OTA assert line breaking zip installer
- New: HTC Desire 601 (zara)
- New: HTC Droid DNA (dlx)
- New: Samsung Galaxy Grand Duos GT-I9082 (i9082)
6.07.8 (28.12.2013)
- fix exiting "pause on logs" mode with virtual keys caused erroneous validation
- fix exiting screen off mode with hardware key could cause erroneous validations
- fix some devices could not exit "pause on logs" mode with screen touch
- bring immediate touch responsiveness after exiting screen off mode and "pause on logs" mode
- fix erroneous first menu validation when exiting screen off mode on some devices
- fix long press and move action could be triggered while swiping outside menus and returning to first touched area
- increase threshold for long press and move action for easier triggering
- small touch scroll optimizations
- improve touch responsiveness on low res devices
- code clean-up and optimization
- fix log text could overwrite clock/battery icons on some low res devices
- after successful zip install with sideload, hide the install background icon
- after installing zip with sideload, do not trigger "pause on logs" mode
- loki: sync latest sources (support LG G2 VS98012b)
- New: HTC One Verizon (m7vzw)
- New: Galaxy Note 3 International, Sprint and TMO (now built with cm-11.0 device tree and kernel)
- New: Galaxy S Relay 4G - SGH-T699 (apexqtmo)
- New: LG G Pad 8.3 (v500)
- New: Samsung Galaxy Premier I9260 (superior)
- New: Samsung Galaxy Mega 6.3 I9200 - SGH-i527 (meliusltexx)
- New: Samsung Galaxy Mega 5.8 i9150 (melius3gxx)
- New: Galaxy S i9000 support (galaxysmtd) : still needs cat /proc/mtd to add in extra.fstab
- New: Galaxy S3 verizon - SGH-I535 (d2vzw)
6.05.6 (21.12.2013)
- better fit text logs on non HD devices: stop slightly overwrite of bottom virtual keys separation bar and clock/battery area
- fix logs overwriting bottom virtual keys and progress bar in sideload mode
- add 5 extra partitions support in nandroid: can be added in fstab and will be auto detected
- custom backup and restore menu: move reboot item to top of partitions list
- custom backup and restore menu: auto hide all unused items
- advanced menu: hide /data/media toggle for non datamedia devices
- sync loki sources: add new LG devices
- SuperSU update to 1.86
- busybox: merge @Chenglu changes to support selinux (no tar --selinux yet)
- huge code clean ups and fixes
- New: LG G Pad 8.3 (v500)
- New: Samsung Galaxy Premier I9260 (superior)
- New: Samsung Galaxy Mega 6.3 I9200 - SGH-i527 (meliusltexx)
- New: Samsung Galaxy Mega 5.8 I9150 (melius3gxx)
- New: Galaxy S i9000 support (galaxysmtd) : still needs cat /proc/mtd to add in extra.fstab
- New: Galaxy S3 verizon - SGH-I535 (d2vzw)
- Note 3: fix device name to hlte
- Note 3: ramdisk changes to better handle enforced selinux and usb mount storage
- Note 3 (hlte): add modem support in backup/restore
- Note 3 (hlte): repack on @Chenglu ramdisk to fix time
- Note 3 (hlte): fix boardconfig for correct ums lun path (mount usb storage)
- i9100/n7000: add extra.fstab support
- i9100/n7000: use built in kernel exfat modules for faster writes to exfat cards
6.04.0 (14.12.2013)
- fix twrp backup/restore default mode
- save loki support user setting (default is now disabled)
6.03.8 (13.12.2013)
- Galaxy Note 3 - n9005 (lt03ltexx)
- add custom backup and restore options to main nandroid menu for each storage volume
- ditch stock cwm limited advanced restore function
- add toggle to switch between TWRP/CWM as default backup mode
- ors: backup mode is now the default backup mode set for all recovery session
- ors: smart restore mode to override main backup mode depending on path we restore from (TWRP vs CWM auto detection)
- backup/restore validation menu moved to top in custom modes
- sanitize rom name for backup: exclude "&" symbol and fix compiler warnings (size_t)
- when deleting backups, do not exit the menu each time
- fix new line in process_volumes()
- merge: "Don't return immediately from reboot commands."
- merge: "Enable incremental builder to find files that moved"
- merge: "Support recoveries without CONFIG_EXT4_FS_XATTR"
6.03.5 (11.12.2013)
- Nexus 5 (hammerhead) support
- rebase on KitKat Android 4.4.x cm-11 branch
- restore NICE_INTERVAL to 100 for faster refresh of progress bar during nandroid restore
- Samsung phones: use built in kernel exfat/ntfs modules + fix selinux permissions to support exfat/ntfs read/write
- fix format to any user fstype without direct call to vold functions as it was no longer supported in cm-11.0
- proper ext2/ext4 support on extra storage volumes
- fix looping into readlink for boot/recovery partitions
- Samsung: add selinux permissions for preload partition
- if minivold fails to mount a voldmanaged volume, still drop to system mount (support ext2/ext3 mount)
6.02.1 (08.12.2013)
- loki: fix new line in ui_prints
- Nexus 7 (2013) deb and flo: fix background image size to better fit screen
- Galaxy Note 8.0 GSM (n5100): fix touch at kernel level for recovery and aroma, credits to @nickdollahz
- Galaxy Note 8.0 Wifi (n5110) support
- Galaxy Note 2: stop flashing sensors on boot (credits @AndreiLux), use built in kernel exfat modules (big thanks @wanam)
6.01.7 (07.12.2013)
- loki: update to v2.1 latest sources
- loki: use libloki_recovery for easier maintenance + clean-up the code
- loki: update to latest sources
- loki: fix all compiler warnings
- loki: remove licence in header file as requested by author
- fix get size of boot and recovery partitions from device block name link on some devices (yet another round, for good this time)
- LG G2 (d801): fix assert in zip installer
- Samsung Galaxy S2 Skyrocket i727 (skyrocket) support
- Samsung Galaxy W - GT-I8150 (ancora) support
- Samsung Galaxy S Plus i9001 (ariesve) support
6.01.2 (03.12.2013)
- fix error log when changing backup format for non datamedia devices
- fix celoxhd vibrator thanks @titanic_fanatic
- support LG G2 Int (d802), LG G2 AT&T (d800), LG G2 TMO (d801), LG G2 Verizon (vs980), LG G2 Sprint (ls980)
- support LG Nitro HD AT&T (p930)
6.01.0 (01.12.2013)
- fix settings file and themes could not be saved/restored on non data media devices
- fix various issues with non data media devices (new vold names)
- settings path (/data) is unmounted only on recovery start and not on every settings refresh
- move all recovery setting files/paths to a common header file
- fix Atrix HD mbm886 compiling
- fix success/failure display when copying files
- crespo (Nexus S): revert to cm-10.2 kernel sources
6.00.8 (30.11.2013)
- merge selinux backup/restore changes from @xiaolu
- by default, enable selinux context backup/restore
6.00.7 (30.11.2013)
- fix unpredictable first touch on some devices
- support MTK devices backup and restore of boot, recovery and uboot
6.00.5 (29.11.2013)
- fix potential memory overflow on elapsed timers
- use clock_gettime(CLOCK_MONOTONIC) for more reliable elapsed timers
- fix virtual keys won't repeat for some devices since recent cm device tree updates
- update SuperSU to v1.80
- resync sources for fixing selinux permissions on lost and found folder
- Galaxy S3 US variants (d2spr, d2tmo, d2att): fix vold dropping to fuse instead of exfat kernel module
- i9500: use adam 3.5 kernel + built in exfat + ntfs, credits @wanam
- Galaxy S Relay 4G - SGH-T699 (apexqtmo)
- Galaxy Note 8.0 (n5100)
- Galaxy S2 HD LTE - SGH-I757M (celoxhd) credits @titanic_fanatic
- Nexus 7 (2013) LTE (deb)
- LG Optimus G Pro GSM (e980)
- LG Spectrum 4G - vs920
- Motorola Atrix HD
- Galaxy S4 int + US: do not show unsafe volumes in mounts and storage
6.00.0 (24.11.2013)
- fix settings file could be left opened in rare circumstances
- make nandroid menu easier to edit + fix potential memory overflow bug
- properly fix root apply for 4.3+ systems, credits @Chainfire
- add superSU 1.75, credits to @Chainfire
- rewrite touch code from scratch to optimize events handling
- add touch scrolling kinetics
- fix touch key registration on start
- fix: double tap a menu in full mode could validate first menu
- fix cancel nandroid backup with virtual keys needs to keep cancel button pressed
- when changing gui settings, be able to return to default values
- keep bottom logs row height limited what ever menu size we choose
- get rid of now useless friendly log view mode
- always respect user set minimum log rows to display in bottom of menus
- when setting no touch gui mode, hide virtual keys and set default bottom log lines
- when setting touch modes, show virtual keys by default
- fix gui settings menu order
- theme support through pre-set configuration files
- settings file renamed to force a user migration on update
- add dedicated menu for custom/free browse mode (no more alter existing install zip menus)
- fix couldn't install from last install path when free browse mode was enabled
- move check for root on restart and auto restore settings to open source code
- remove "Custom Backup and Restore" menu from PhilZ Settings menu
- stop double stringify TARGET_COMMON_NAME (device name was shown with surrounding quotes in About menu)
- optimize memory use when browsing for files to install/backup/restore
Older Change History v5.x
5.18.9 (04.11.2013)
- add option to disable all nags on exit (root, flash recovery)
- add menu to root system and verify recovery
- code clean-up
5.18.7 (03.11.2013)
- optimize Install zip menu + order entries
- merge "minui: Allow devices to blank/unblank using LCD backlight" into cm-10.2
- merge "recovery: Add a proper CleanSpec.mk * Clean all the stuff that conflicts with AOSP recovery."
- merge "Add guard makefile for allowing simple recovery build"
- merge "Quickly install from last install path"
- merge "Enable optional swipe based touch controls"
5.18.5 (18.10.2013)
- unmount /data on user request for /data/media devices
- fix bug when reading partition link target
- do not ever log to screen mount/unmount events for sdcards (this will preserve ui_print for USB OTG volumes)
- write recovery version on exiting recovery instead of start: spare an extra partition mount/unmount on start
- Asus Nexus 7 2013 (flo) support
- HTC One AT&T support
- HTC One m7ul, m7spr, m7att, m7tmo: support exfat kernel module instead of fuse
- Galaxy S3 i9300/i9305: add exfat kernel module support in minivold
5.18.2 (15.10.2013)
- merge @Chenglu latest changes for selinux context backup/restore (4.3 ROMs)
- user can enable/disable nandroid backup/restore of selinux context: speed up things for non JB 4.3 users
- fix bug where restore compressed archive from external storage caused vold crash because of busy volume:
- misc bug fixes
- S4 mini (i9195/i9190): use exfat/ntfs ko modules with custom kernel from samsung sources (thanks to @wanam)
- Xperia Z (yuga): use stock Sony + exfat ko module instead of fuse
- Galaxy S4 ATT and VZW: support auto loki on flash
5.17.9 (13.10.2013)
- fix min brightness value in auto dim mode from 25 to 10
- merge temporary @Chenglu fix to backup/restore selinux context for 4.3 ROMs
5.17.8 (13.10.2013)
- merge "Make "one confirm" the default action. Create .many_confirm to restore all the extra no options"
- stop useless mount of /data in write_recovery_version() as it will be mounted later
- i9195: use custom kernel compiled from samsung source update1
- i9195: enable use exfat/ntfs ko modules + migrate to cm-10.2
5.17.7 (12.10.2013)
- merge su changes: "Add required libraries to list." into cm-10.2
- set lowest brightness value from 25 to 10
- i9505: use new custom kernel from google sources to fix ext4 corruption, exfat and ntfs kernel modules (huge thanks to @wanam)
5.17.6 (09.10.2013)
- Merge "Recovery: Loki patching support" into cm-10.2
- Merge "Support f2fs format"
- Fix f2fs formatting through edify scripting (roots.c entry)
- Merge "Don't print any messages regarding sd-ext to the UI"
- merge touch changes into cm-10.2
- add extra.fstab file support to provide blk_device2, fs_type2 and fs_options2
- use blk_device2 to partition sdcard and to format in ext2/ext3 for voldmanaged volumes
- fix Aroma file manager cannot see external storage due to minivold/fuse
- fix ors scripting for new cm-10.2 fstab format
- ors backup target: ensure user doesn't enter a non valid volume mount point in recovery settings file
- fix Get_Size_Via_statfs() handling of /data/media storage with new vold
- improve get_ors_backup_volume() call
- serious cm-10.2 bug: do not show partition sdcard menu for voldmanaged devices unless they have a valid blk_device2
- allow custom format of voldmanaged volumes if fs_type == auto even if they cannot be partitioned (!can_partition)
- format_device() could fail to wipe /sdcard on /data/media devices
- format_volume() could fail to wipe /sdcard on /data/media devices (edify scripting)
- ensure_path_unmounted() could not unmount /sdcard path on /data/media devices
- Find_Partition_Size() can now get /data size partition from a /data/media path (/sdcard)
- misc bug fixes for cm-10.2 and vold
- remove included device_config.h and put all additional BoardConfig.mk in one file (easier port for devs)
- ignore Rainbow commit
- improve write_recovery_version() to also unmount /sdcard on non /data/media devices
- favour kernel module over fuse to mount exfat volumes
- add get_device_mmcblk() function to read real device /dev/block path from blk_device link
- fix dd raw backup and restore to better detect real device block (efs / modem backup and restore)
- nandroid backup and restore speed fix
* spare some pthread_mutex_lock(&gUpdateMutex) on ui_delete_line() call
* do not hammer with fputs to write nandroid log
* increase NICE_INTERVAL from 100 to 350 msec to lower screen refresh rate during nandroid jobs
- do not define S4 i9505 with BOARD_HAS_SLOW_STORAGE to re-enable displaying all backup stats by default
- allow sideload to be used in conjunction with other commands.
- merge: Array max is incorrectly calculated, can lead to missed events for ids > MAX_DEVICES (thanks @jeboo)
- sync sources to update su
- merge "loki: Update to 2.0, Add support for LG G2 (and device trees in general)"
- update cwm to 6.0.4.4 + sync sources
- i9505: move to wanam 1.6 kernel : small size, adb root, touch, force load of exfat
- i9505: support ntfs through ko modules
5.15.9 (26.09.2013)
- get rid of = and space in ors script (merge from twrp) + merge to cm-10.1
- touch: drop unwanted devices to handle touch events for some devices (Xperia Z...) + merge to cm-10.1
- touch: improve scroll and make it more friendly
- touch: fix slide right/left actions triggered after a scroll ending outside menu
- touch: improve long press and lift + long press and move actions and lower delay to 0.6 sec
- touch: in double tap and highlight only modes, fix unwanted scroll down while selecting a menu after a scroll
- touch: misc bug fixes + cleaner code
- HTC One X (endeavoru): repack with 4.18 stock ramdisk to fix write/read speed
- HTC One S (ville): add compatibility with new /data/media hboot
- SGH-T599N (codinamtr): rebase repack on Unjestified Dev tree to fix adb/mount usb storage
- Xperia Z: fix touch handling
- Motorola Droid RAZR M (xt907)
- Motorola Droid RAZR HD GSM (xt925) and US (xt926)
- Galaxy S Blaze 4G - SGH T769 (t769)
- Galaxy Exhilarate - SGH-I577 (i577)
- Galaxy S4 mini i9190 (serrano3gxx)
- Galaxy S4 mini i9195 (serranoltexx)
- Micromax A57 (a57)
- LG Optimus G ATT (e970)
- LG Optimus G Canada (e973)
- LG Optimus G Sprint (ls970)
- LG Optimus G Intl (e975)
5.15.0 (21.09.2013)
- fix bug where android_secure could not be restored
- add png files for 320px width devices and fix pico device tree for screen resolution + merge to cm-10.1
- selectively force tar wrapper on yaffs2 file systems (better handling of make update.zip from ROM and ors backup in cwm format)
- fix touch support for some Samsung phones
- merge latest aroma 1.91 changes to fix theme loading bug
- fix user choice format sdcard options
- i9505: powered by stock 4.3 Samsung kernel compiled and fixed by @ausdim: huge thanks to him
- i9505: fix adb root, sideload, exfat loading, time setting, touch and brightness
- i9500: fix flashing of cm-10.2 and AOKP 4.3 ROMs
- Galaxy S4 US variants: fix flashing of cm-10.2 and AOKP 4.3 ROMs
- i9100/n7000: add again the bootloop workaround (init swap from older version)
- fix /data/media toggle display was not correctly refreshed
- remove compute_archive_stats() file number calculation and replace with archive size for faster restores
- increase nandroid size check interval from 3 to 5 sec for slow storage devices (i9505)
- merge exclude google music cached files from nandroid backup
- merge new tar.gz wrapper into cm-10.1
- add pigz fast compression (-1) option + merge to cm-10.1
- add backup and restore of /data/media to external storage
- fix left free space warning when backup in compressed tar.gz mode
- fix partition sdcard menu not showing on devices without a second storage (cm-10.1 only)
- misc menus cleanup
- when key repeat is disabled: fix reboot when turning on screen after it was auto-blanked
- when key repeat is disabled: fix dim screen will not occur and only blank screen event was triggered
- fix dim/blank screen issues after reboot timer was reached and USB cable was connected
- fix various bugs with key handling through ui_wait_key()
- after screen is turned on, next touch event will now be considered (better touch response)
- more stable blank screen gesture actions (mainly on long press and move gesture)
- merge remove install update.zip from cm-10.2 to cm-10.1
- support new phones:
* Sony Xperia Z (yuga)
* Samsung S3 Sprint SPH-L710 (d2spr) - d2tmo repack
* Galaxy Exhibit Variants - SGH-T599N (codinamtr) - credits to @Unjustified Dev
* Galaxy Grand Duos (i9082) - credits @chotu222
* Galaxy S Plus - i9001 (ariesve) - thanks to @alireza7991
* HTC One V (primou) - credits to @doga.ozkaraca
* Huawei Acsend P1 U9200 (viva) - credits to @kiprap
5.11.2 (19.08.2013)
- ramdisk fixes for most devices to fix adb and sideload
- n7100/n7105/i317M: update to adam 2.7 kernel sensor free
- i9500: migrate to wanam sensors-free kernel v1.8 (fix boot into recovery delays, add back ntfs support)
- i9500: do not mount /data in postrecoveryboot.sh
- i9505: migrate to audism special repacked kernel (13.1) to fix poweroff bugs + update exfat kernel modules
- i9505 variants: revise ramdisk for stock based kernel edition
- i9100/n7000: update superuser to latest version
- i9100/n7000: stop patching kernel for emmc brick bug and replacing init for bootloop fix on unattended reboot
- n7000: do not include stock recovery and redbend_ua binaries to fit zImage size
- properly unmount /data after loading recovery settings on start
- properly unmount /data on recovery start for datamedia devices as per last cm changes
- mount /data before write_recovery_version() checks
- move advanced and twrp nandroid code to separate included file for easier code maintenance with cm sources
5.11.0 (17.08.2013)
- update to cwm 6.0.3.7
* Fix issue where android device manager, etc, dont actually wipe data.
--wipe_data issues via /cache/recovery/command will now completely format data.
- i9505: update to audism kernel v13 (smaller size to fit new ntfs/exfat format options) + new exfat modules
- jfltexx (i9505 cyanogenmod version) is now built properly using new TARGET_RECOVERY_INITRC in BoardConfig
- release i9505 cyanogenmod kernel based version
- n7100: update to adam kernel v2.7 for smaller size to fit ntfs/exfat format options
- endeavoru (HTC One X): do not use NTFS modules to fit recovery size
- i9500: remove fb2png and ntfs support because of small recovery size
- pico: remove exfat and ntfs support because of small recovery size
- clean up code when calling format_device() for sd-ext
- fix repacking script for toro, toroplus, grouper, protou
5.10.8 (14.08.2013)
- update to cwm 6.0.3.6
- merge cm sources: shrink cid
- fix text file formatting for dosfstools/Android.mk (PC to UNIX)
- sync sources
5.10.7 (10.08.2013)
- add option to toggle whole progress during backups for slow phones (hide size stats, progress bar and do not log backed up files)
- reorganize power options in a single menu
- update Aroma File Manager to latest sources
- port mkdosfs from TWRP + update to latest 3.0.16
- add mkextfatfs and mk_ntfs into recovery
- add support to choose format type for vfat storage: default, vfat, exfat, ntfs, ext2, ext3, ext4
- add preload partition on /etc/fstab generation: Now supports 'mount /preload' command in edify and recovery shell (by Ryuinferno)
- fix mount exfat/ntfs volumes under recovery for fs_type == auto
- fix partition sdcard auto for fstype
- merge cm-10.2 changes
* cwm: Add liblog dependency
* Add a recovery version variable, the releasetools want this now
* Use fstab v1 as a default
* Fixes for Superuser
* su installation and detection updates for 4.3
* su 4.3 detection fix
* update to v6.0.3.5
* add su daemon runner
* unset immutable bit on install-recovery.sh
* Don't treat link-time warnings as errors when linking with libbusybox
* Fix roots.c to use fs_mgr
* move key loading to verifier code. Add an option to verifier_test to load keys from a file, the way the recovery does.
* recovery: save logs from the last few invocations of recovery. Extends the last_log mechanism to save logs from the last six invocations of recovery
* recovery: ignore voldmanaged volumes
* update wipe data option confirmation
* merge "Revert "Use fstab v1 as a default."" into cm-10.2
- misc code cleanup
5.10.0 (25.07.2013)
- reorganize Backup and Restore menu:
* remove stock CWM Advanced Restore function
* move choose backup format to Misc Nandroid Settings menu
- add Misc Nandroid Settings option to disable nandroid size progress
- nandroid size progress is now disabled by default for specific phones (i9505)
- merge cm-10.1 changes:
* remove useless Fix Permissions menu
5.09.8 (24.07.2013)
- new time set function using TZ environement variable (should fix issues for some i9505 users)
- remove warning about selinux file_contexts (log only)
- Update CWM to v6.0.3.4
* merge more headless fixes from cm-10.1
- i9505 ramdisk: fix init.rc adb and sideload
- increase refresh backup size stats delay from 0.5 to 3 seconds (a proper fix will follow for i9505 users)
- fix some /data/media files could be included in TWRP backup mode
- It's summer time: open source many parts of PhilZ Touch
* settings file config
* all misc nandroid settings menu setup
* get rom name function to stamp backup folder name
* free browse mode and custom install zip folder
5.09.2 (21.07.2013)
- fix compiler warning in nandroid.c / nandroid_callback()
- remove non used virtual_keys images from ramdisk
- resync sources
- merge cm-10.1 changes:
* SELinux: don't suppress the "no file_contexts" message on the UI
* add --headless mode
5.09.1 (20.07.2013)
- add NTFS support for external storage
5.09.0 (19.07.2013)
- exfat-fuse: use existing external/exfat and external/fuse branches
- exfat-fuse: remove old implementation for prebuilt binary
5.08.9 (18.07.2013)
- compile mount.exfat-fuse static binary along recovery source to support exfat on cm-10.1 kernels
- fix Aroma File Manager compiling for non NEON devices
- clean up code (partition sdcard menu)
- fix broken touch after screen wake-up for some phones (i9500)
- resync sources
5.08.5 (11.07.2013)
- Compile Aroma File Manager (by amarullz) zip installer under recovery:
* either compile whole recovery, zip will be created at first pass
* or only compile aroma zip installer in two pass:
1- mmm bootable/recovery/aromafm
2- mmm bootable/recovery/aromafm/tools
* output: [target_out]/aromafm_out/aromafm_[DeviceID].zip
- detect aroma compatibility with non NEON devices during compiling
- use less conflicting flags: TARGET_NAME --> TARGET_COMMON_NAME
5.08.0 (07.07.2013)
- improve nandroid progress bar update
- fix recovery was not prompting when backup estimated size is larger than free space
- add ors backup support for twrp format requested by BillGoss
- ors backup: when no backup name is given, generate it using same way as nandroid operations (time stamp + rom name tag)
- support separated compiling for Loki patched devices (S4 AT&T and Verizon)
- i9505: revert some changes to fix time bug for some users
- Galaxy S4 US variants: repack around Audism stock JB 4.3 kernel v3 + Samsung exfat modules + revert use of mkefs for partition corruption issue
- fix missing break in set backup compression value menu (misc_nandroid_menu())
- misc clean up code
- sync latest sources
5.07.6 (05.07.2013)
- update version 6.0.3.3
- add exfat-fuse 1.0.1.362 / 2.9.2 optional support by enabling USE_EXFAT_FUSE_BIN CFLAG in BoardConfig (exfat support on cyanogenmod repacks)
- i9505: use Audism kernel v3 (Stock Samsung sources) to fix partition corruption without additional code and for better exfat support
5.07.1 (01.07.2013)
- i9100G support
5.07.0 (30.06.2013)
- fix "unknown volume for path /res/images/koush.png" on boot (do not search for a volume on ramdisk path)
5.06.8 (19.06.2013)
- fix bug introduced in v5.06.5: folder entries duplicated in some choose file menus (custom and twrp restore modes, regenerate md5 selection menu)
- by default, if /data/media/0 exists, it will be used as internal storage. You can still alter it in Advanced menu to force /data/media
5.06.7 (17.06.2013)
- Galaxy R/Z (i9103) support, thanks to Adam77Root
5.06.6 (13.06.2013)
- fix multi-zip flash "select/unselect all" persisting (static int select_all --> int select_all)
- add sdparted option to partition in ext4 fstype
- enable partition sdcard when non vfat fstype2 option is used in recovery.fstab
- merge cm-10.1 changes (6.0.3.2 Update 8):
* Merge "recovery: Fix adb backup" into cm-10.1
* Merge "Remove (un)mount option for datamedia partitions" into cm-10.1
* recovery.c: Fix the potential segmentation fault: Extral newline can trigger recovery segmentation fault
- Nexus 10 (manta): revert font changes since they were now merged in cm-10.1 device tree
- i9505 international: migrate to jfltexx device tree and repack with newer exfat modules
- Galaxy S4: support US variants
- misc code cleaning
5.06.4 (06.06.2013)
- fix touch repeat on capacitive virtual buttons for some devices
- Pico: ramdisk changes to enable backup size detection for mtd partitions (boot, recovery, misc)
5.06.3 (05.06.2013)
- HTC One Sprint and TMO variants support
- Galaxy S3 - T-Mobile (d2tmo): ramdisk changes to fix exfat (load modules using recovery-loader script)
5.06.2 (04.06.2013)
- Galaxy S3 - T-Mobile (d2tmo) - SGH-T999 support
5.06.1 (02.06.2013)
- HTC One: move to new m7ul device tree
5.06.0 (01.06.2013)
- support dual modem devices nandroid operations (dual sim, i9505)
- merge cm-10.1 changes: support version 2 (2048-bit e=65537) keys in recovery
- Nexus S/4G (crespo/4g): add mmcblk names to recovery.fstab to fix /data mount
- HTC Desire X (protou): support both protou-ics and protu-jb fstab
5.05.9 (31.05.2013)
- do not write backup size progress to log file
- show total time after restore job
- write backup path to log
5.05.7 (30.05.2013)
- use bigger 23x41 roboto font for HD devices (i9500, i9505, Nexus 10)
- do not uselessly statfs partition to refresh backup size progress if we're under NICE_INTERVAL (100ms)
- show backup compression 0% when backup is tar format and compression is disabled
- fix get time events during nandroid jobs and touch events
- universal scroll sensitivity and row height settings (fix hypersensitivity for HD devices)
- fix backup size progress for datamedia devices (special thanks to pickandwhammy for the time he spent in debugging this and providing logs)
- merge Get_Folder_Size() changes from twrp 2.5
- misc logging improvements
- small bug fixes
5.05.0 (26.05.2013)
- fix potential memory overflow during computing of size stats in backup
- fix /efs backup not possible for devices without /preload, unless preload menu was selected once
- fix custom nandroid and twrp backups for yaffs2 devices (do not force tar format on these)
- misc fixes for supporting more devices mainly during nandroid jobs:
* allow use of device2 for raw backup and restore operations (using dd/cat)
* better nandroid support when device names in fstab do not match actual mtd name (revert statfs for volume->device)
- revert cm-10.1 changes: write correctly fstab info in log (do not print to stderr)
- merge old custom_backup folder to cwm backup folder
- old .efs_backup and .modem_bin folders also should be moved to clockworkmod/backup
- .aromafm folder is now aromafm (no more hidden folder for this)
- add regenerate md5 sum option for nandroid backups (use with caution)
- revert inverting fstype and fstype2 (see github commit for more info on this)
- fix nandroid backup fails before generating md5 for /external_sd devices when card is not inserted/mountable (.android_secure check)
- fix falling back to system mount command will fail when calling ensure_path_mounted(filename)
- HTC Desire X (protou) support added
- HTC Droid Incredible 4G LTE (fireball):
* add support
* allow sd-ext and mount external sd in ext4
* allow backup/restore of /radio
- Galaxy S4 - i9505:
* support emmc partitions size detection during nandroid jobs
* fix exfat mount for some sdcards (thanks to chenglu)
- Nexus S/4G (crespo/crespo4g):
* allow raw + yaffs2 backups for /efs and /radio
* allow size detection for MTD partitions during nandroid backup
* fix device name to Samsung Nexus S
* repack with stock GB kernel to fix USB mount in recovery
- Nexus 10: enable efs backup and restore
- Galaxy Nexus (maguro/toro/toroplus): enable efs backup and restore
5.03.8 (20.05.2013)
- support HTC Droid Incredible 4G LTE - fireball
5.03.7 (19.05.2013)
- merge cm-10.1 changes: add getprop
- HTC One (m7) support
- i9505 fix graphics, date and cache/wipe issues (Big thanks to Chenglu for that)
- Samsung Nexus S (crespo) and Nexus S 4G (crespo4g) support
5.03.2 (16.05.2013)
- fix scroll down on touch issue when in double tap and highlight only modes
- support Galaxy Nexus GSM (maguro), Verizon (toro) and Sprint (toroplus), i9500 and i9505 Canada/Bell (jfltecan) and T-mobile (jfltetmo)
- merge cm-10.1 changes: add getprop
5.03.0 (12.05.2013)
- fix backup size progress in twrp mode
- improve code for backup stats during nandroid jobs
- display full backup stats (total size, compression ratio, elapsed time) at end of backups
- merge last cm-10.1 updates:
* fix nandroid cmd command did not load volume table
* support nandroid dump/undump commands
* nandroid backup command line still segfaults
* silent log when mounting /data/media
Touch:
- add 3 new color palettes (30 colors total): dimmer gray, yellow and gold
- add toggle for header custom color
- add toggle for battery and clock custom color
- line at bottom of menus will now have same color as menus separator lines
- set new defaults to header and menu text colors
- show backup/restore stats in color during nandroid jobs
- fix touch issue when exiting friendly log or blanked screen, and pressing on virtual buttons
5.02.3 (10.05.2013)
- fix root break for devices with shared recovery partition caused by Whil Wheaton update
- advanced backup size monitoring during nandroid operations
- prompt to cancel backup on low free space (% and absolute)
- live display size stats during backup: total data written, free space left
- support backup and restore of /misc partition for both CWM and TWRP operations
- prevent potential segfault when calling is_data_media_volume_path()
- merge cm-10.1 changes:
* remove adb sideload /tmp/update.zip after flashing to avoid second flash under some circumstances
- fix android_secure could not be backed up under some circumstances (ensure mount of sdcard)
- completely rewritten android_secure support: much simpler code
Touch:
- optimize cancel nandroid job action
- allow cancel yaffs2 nandroid operations
- allow dim screen timeout during yaffs2 nandroid operations
- fix set brightness and auto-dim screen timer for Nexus 7 and Nexus 10
- fix battery stats display for Nexus 10
- restore default actions of real device keys we fake for touch events
- correctly map device virtual keys to default recovery actions
- fix virtual buttons highlight color to match their line separator color (blue)
5.00.8 (05.05.2013)
- support Nexus 7 and Nexus 10
- clean code for non PhilZ Touch buils
- Merge cm-10.1 changes to cwm 6.0.3.2:
* recovery: fix sideload cancel" into cm-10.1
* make_ext4fs support
* auto prompt to root device when booting to main system
5.00.5 (04.05.2013)
- use device specific background images during compile process
5.00.4 (04.05.2013)
- touch code completely rewritten to support more devices (no more calibration needed)
- true touch scroll effect and much improved touch response
- secure touch: robust to wrong selections while scrolling + confirmation before any bad thing
- add option to completely disable touch
- options to restore Koush or PhilZ Touch background images
- restoring default backgrounds (Koush, PhilZ Touch) will apply live (a reboot was previously needed)
- fix touch on HTC Pico, HTC One S and HTC One XL
- restore support for device keys KEY_MENU and Home key (KEY_HOME, KEY_HOMEPAGE)
- add /preload support in twrp backup and restore modes
- mount /system and /data on Aroma File Explorer launch
- fix battery stats error in some circumstances
- i9100/n7000: update CWM Superuser to v1.0.1.8 (through zip installer)
- code cleaning, various fixes and optimizations
- force reset of recovery settings to v5: new settings file name
- backup file name is unchanged so that old settings can still be restored
Older Change History v1 to v4
4.96.6 (28.04.2013)
- support HTC One S (ville)
4.96.5 (27.04.2013)
- change event input handling code to support auto-interpolation
- auto support for devices built-in virtual keys
- enable key repeat for recovery virtual buttons (up/down): now they auto-repeat while pressed
- fix HTC One X nandroid backup was very slow (ramdisk changes)
- fix touch for new N71xx, T889, I317/M repacks based on wanam Adam 2.3 kernel to fix boot delay for non stock kernels
- misc bug fixes and code optimization
4.94.6 (21.04.2013)
- fix compile error for non touch version
- N71xx, T889, I317/M: repack on wanam Adam 2.3 kernel to fix boot delay for non stock kernels
- Fix touch support for HTC One X (endeavoru) and HTC One XL (evita)
- More fixes for HTC Explorer (pico) - work in progress
4.93.9 (18.04.2013)
- Initial support for HTC devices
* HTC One X (endeavoru) support
* HTC One XL (evita) support
* HTC Explorer (pico) support (big thanks to Nihar.G for this port)
4.93.6 (17.04.2013)
- fix reboot to bootloader for phones without download mode
- define default values for CWM Advanced Edition builds to non officially supported devices by PhilZ Touch
- no need to confirm sideload as it can be cancelled
- move philz settings file from /system to /data
- fix compile error for non PhilZ Touch version
- revert temporary assert fix for i9100/n7000 (ramdisk changes):
* do not mount /system in init.rc
* add needed entries in default.prop
- n7000: no more replace init binary to fix /data corruption bootloop issue (ramdisk changes)
4.93.2 (14.04.2013)
- share source for multi-zip installer
- add sideload and print commands support to ors as per TWRP specs
- always ensure sync before rebooting
- disable adb secure
- Update to CWM 6.0.3.1
* allow cancel sideload
* allow sideload install from /cache/recovery
* courier_extended_15x24
4.92.8 (05.04.2013)
>>True support for /data/media/0 for Android 4.2.2<<
First to introduce true JB 4.2 migration: live toggle between /data/media and /data/media/0
This implementation keeps compatibility with stock cwm while giving user option to force /data/media/0
When migrating from or to JB 4.2, you still need to move folders to/from /data/media/0. No one will do it for you
- fix early mount of /data for datamedia devices caused by write_recovery_version()
this could cause errors on some install scripts
- hide some external menus for devices without external storage
- fix Setup Free Browse Mode bug for devices without external storage
- fix Free Browse Mode could not browse up to the root for /data/media devices
- fix Misc Nandroid Settings menu regression for devices without external storage
- fix .nandroid_secure selection in custom backup and restore for devices without external storage
- no more mount internal/external storage when checking for ors script at startup
- do not report custom recovery logs to ROM Manager
- export error log on failure during boot installed packages
- make sure we have all the log posted by users
- misc bug fixes
4.92.3 (03.04.2013)
- properly set time for all recovery session: this will now apply to the time stamp of any file modified (logs, backups...)
- add Daylight Saving Time support
4.91.9 (03.04.2013)
- merge and fix fb2png source: now built as static binary and compatible with RGBX devices (Nexus 4...)
special thanks for this to McKael and a huge thumbs up to talustus for his great support
- silent failure when formatting non existing /sd-ext volume
- use statfs instead of stat in nandroid operations
- misc fixes
- i9100/n7000 zip installer: option to skip flashing superuser using philz_installer.cfg
- i9100/n7000: disable init binary substitution from older LSJ (aka /data corruption bootloop fix)
- i9100/n7000: update clockworkmod superuser to 1.0.1.7 (security fix)
4.91.5 (29.03.2013)
- Support Nexus 4 (mako)
- fix nandroid backup and restore for devices without /modem, /radio, /preload and /efs
- fix recovery functions for devices without external sdcard storage
4.91.2 (26.03.2013)
- fix touch code to support P31xx and N8xxx
- merge cm-10.1 changes:
- nandroid backup: save recovery log to backup folder
- minadbd: remove unnecessary header files.
- add external_sd and efs to /etc/fstab generated by recovery
- revert chmod in write_string_to_file()
4.90.8 (22.03.2013)
- multi zip flash menu will now show the validation menu on top of files list
- added option to select/unselect all zip files in the multi zip flash menu
- touch code fixes: more responsive touch gui on menus. Less skips on bottom virtual buttons
- merge cm-10.1 changes
- update to cwm 6.0.3.0
- fix About dialog was not displaying what it should for non PhilZ Touch builds
- non PhilZ Touch builds are now: CWM Advanced Edition
- fix bug: if Key Repeat was disabled, blank screen will hang up when screen back on
- add beta support for P3100, P5100 and N8000
- i9100/n7000: migrate from Chainfire SuperSU to opensource superuser from clockworkmod
4.89.4 (14.03.2013)
- New Custom Install Zip mode: set a default folder to start with + browse backward up to the root
4.88.5
- toggle menus are now formatted to device screen width (right align menu option)
- add 30mn timezone offset
- merge CM 10.1 commit: Fix segfault with dead symlinks in char** gather_files()
- add extra check for carriage return for get_rom_name function: ensures windobe noobs do not get stuck
4.88.2
- fix: ors backup could overwrite an existing folder and end up with mixed old/new backup images
4.88.1
- migrate from cm10 to new cm10.1 source
- fix fs_type2 is fs_type to maintain ext4 external storage compatibility with fs_type2 entry
- fix redefined MACRO for ITEM_APPLY_SDCARD
- merge cmw 6.0.2.9 changes (vchange only: ignored cwm commit: block google music cache from nandroid operations)
- fix: data partition was always restored in Advanced Restore menu
- in custom jobs: possibility to disable .android_secure from restore/backup as per TWRP/ors specs
- option to auto-restore recovery settings without a prompt screen on reboot
- ors support: fill ORS official specifications and more:
- optimize on boot check for openrecoveryscript command file
- add ors support for backup options: selected partitions, compression and md5 toggle
- fix: as per ors specifications, ors will now restore standard partitions when no options are set in script
- ors restore now supports TWRP and PhilZ Touch custom backup path
- ors-mount.sh: better support for path convfrom main system to recovery mount points
- ors backup target volume can be set by user in nandroid settings
- misc ors log fixes for special partitions ignored in cwm
4.87.6
- fix: show progress during TWRP backup and restore
- auto dim screen on timeout supported during backup and restore operations
- fix header menu could overlap battery stats if they are at 100%
- fix: restore custom rom zip failed because of left debug code
- fix: build custom rom zip from existing ROM would fail to restore if backup format was compressed
- huge performance optimize when building custom rom .zip from existing ROM (only backup needed partitions)
- fix useless edify incompatible code in custom rom .zip (alpha 06 files)
4.87
Backup and Restore:
- menu Custom Backup and Restore can now be accessed in main Backup and Restore menu
- support restore backups from /sdcard/0 (Android 4.2) in custom jobs and TWRP mode
- add support to sd-ext ext4 partition on external storage
- menu to delete custom and TWRP backup images
- auto-reboot option for custom backup and restore jobs
- set .android_secure path in custom jobs
- smart auto detect android_secure for stock CWM backup and restore operations
- fix preload was selectable in TWRP jobs (even if would not actually be processed)
- progress bar is no more overwritten by text
- time and battery stats are shown and refreshed during nandroid operations
- on successful or cancelled nandroid jobs, user background icon is restored
- on cancelled nandroid jobs, progress bar is correctly reset and user background icon is restored
GUI
- User configurable gesture actions
- gestures: double tap, long press/move, long press/lift, slide left, slide right
- always vibrate on long press/move action validation
- actions: show log, change brightness, blank screen, capture screen shot, launch Aroma File Manager
- default black theme without background icon
- toggle clock and battery on top
- header title will be auto-shortened to not overwrite battery and clock on lower res devices
- battery and clock will truly refresh indications every 15 sec
- user configurable dim screen timer
- user configurable turn-off screen timer
- manually adjust brightness (stock kernel doesn't support lower than 65, but recovery binary will accept 25 on custom kernels)
- when double tap mode is selected, you now really need to double tap the same menu to validate it
- menu Set Time Zone moved to GUI settings
- fix Moscow UTC time
Misc
- add support to sd-ext ext4 partition on external storage
- Move Clean before instal new ROM menu to Wipe Data/Factory Reset menu
- fix /system was left again mounted after start up and showing log
4.64
- fix: when disabled, virtual keys would still show for a fraction of a second on start
4.63
- preview support for slide right and double tap gesture actions
- friendly log mode now is final: logs are no more wiped when switching view for all operations (install zip, boot scripts, backup/restore...)
- fix: virtual keys will no more trigger an action at end of your scrolling if touched by case
- fix: virtual keys could remain highlighted under some circumstances
- fix screen capture index was back to 11 when it reached 100 (now it will be 999 photos and reverts to 001)
- fix: toggle background icon prompted for a key since 4.53
- fix: when toggle icon, screen logs are no more wiped
- fix: when change menu size, screen logs no more wiped
- deep revise of touch source to optimize and clean code (scrolling behavior is still same, this will be the next on my todo list)
- misc code cleaning
4.53
- fix user background image was not restored on restart
- TWRP backup and restore support, include full md5 sum support (single and multivolume, compressed and non compressed formats)
- support multiple efs backups in tar format (user request)
- now it is possible to restore from many modem.bin files under clockworkmod/custom_backup/.modem_bin folder to flash them (just name them *.bin)
- fix potential md5 error caused when restoring/flashing some modem.bin files
- fix recovery partition was restored when ever you restore something in stock Advanced Restore Menu
- custom restore option to browse from /sdcard/0 if it exists (this is a temporary workaround for Android 4.2)
- add ext4 support for mounting external storage (i9300 thread request)
- improved the friendly log view gui to include install zip, nandroid, boot scripts...
- enhance logging and user messages mainly in backup/restore operations
- remove useless support for browsable custom aromafm.zip folders (must be in default folder)
- many bugfixes + compiler warnings fix in code
- Clean Phone for a New ROM moved to Custom Backup and Restore
4.35
- Vulnerability fix: setting a fake/corrupted png file as background resulted in a bootloop into recovery
- Vulnerability fix: cancel nandroid operations could result in data corruption if user attempted to directly delete backup from menu or forced a reboot
- Friendly Log View: toggle during install of zip files (manual, multi, on boot) and forced when Show Log from advanced menu
- Pause on show log: Forced in Show Log from advanced menu. Always disabled for multi zip flash and on boot, toggle for manual zip installs
- Install zip menu order changed so that install from internal/external are nearby
- Move reset / save recovery settings to main PhilZ Settings menu
4.31
- add slide left to capture a screen shot from any active menu
- optimized code for cancel nandroid operations
4.24
- Back button now will cancel nandroid backup/restore operations (tar+dedupe) and custom_rom.zip operations
- merge CWM 6.0.2.8 changes (credits to Koush)
4.22
- multi-zip flashing from custom set locations
- after installing a new ROM that wipes recovery settings, on next reboot, you are prompted to restore them from a backup if you have done one
- New menus separator lines that you can show/hide, set colors and transparency. Useful for solid color themes, like Black
- fix default menu highlight transparency was set to a wrong default value
- code optimizing for file checks
- mix code optimizing
4.01
- show / hide bottom virtual buttons
- set number of bottom log rows to show
- misc compiler warning fixes
4.00-b39
- custom background image (png in 350x735 pixels)
- toggle background in preset 27 colors
- toggle background icon
4.00-b35
- fix /preload was always restored during nandroid operations
4.00-b34
- fix preload was again processed on each nandroid backup
- fix nandroid backup name was exiting on first checked missing key and using default noname
- fix output log for backup rom name was wrongly reporting error to open build.prop
4.00-b33
- code cleaning
4.00-b32
- life in color edition
- fix: resetting settings to default now is applied without the need to restart recovery
- small code optimize
- fix logging for file parser and load/save settings
4.00-b30
- nandroid backup/restore with gz compression using pigz (multi cpu threading): toggle between low (3), medium (6), high (9) or disabled
- fix when preload toggle was enabled, preload was processed in custom backup even if it is not selected
- complete rewrite of gui settings toggles: new menus display
- new toggle for touch accuracy
- more menu height settings (useful for high res devices)
- more scroll sensitivity settings
- all settings are now saved to a single .ini file you can edit (detailed values will follow)
- possibility to reset all values to defaults, to export and to import them to/from sdcard
- Nandroid Advanced Restore menu now shows that /preload will be processed with /system
- Misc Nandroid Settings now can also be accessed from Nandroid Menu
- code cleaning and fix compiler warnings
- add show really progressing bar during nandroid restore operations
- fix pigz as static library
- i9100/n7000 ramdisk: fix getprop hack script (thanks to a3955269)
4.00-b22 Recovery (CWM 6.0.2.7 based)
- unmount /system on recovery start to fix some install zip issues
- fix no time zone file message on start when no user time zone was selected
- i9100: fix error 7 was back (better fix later)
4.00-b21 Recovery (CWM 6.0.2.7 based)
- Completely new Custom Backup and Restore menu
- Custom back and restore job list: backup and restore freely any partition combo from old nandroid folder or new custom_backup one
- Restore modem as custom modem.img file or modem.bin (found in Samsung tar roms)
- Backup EFS in tar (overwrite old backup) + img formats (time stamped)
- Restore EFS from either tar or img files
- All backup and restore tasks are now built completely on native nandroid functions: no more calling of many shell scripts
- One shell script only left to handle raw backup and restore of ext4 partitions (not supported by cwm, I actually use it only for efs.img and restore of modem.bin files)
- New Nandroid Settings Menu: improved UI with settings immediately reflecting on menus
- New TimeZone menu: friendly UI (idea from TWRP) and simpler code to fix issue where it could sometimes fail to write config file
- pigz library: big credits to TWRP team (will be used for new lightning fast compressed backups)
- fix ors mount script for phones without external sd
- remove useless run of ors mount when not started from boot
- fix some partitions could be formatted despite no backup file to restore when md5 check was disabled
- small bug fixes and code cleaning
3.99 Recovery (CWM 6.0.2.7 based)
- Fix flash modem function failing when searching *.img files instead of *.bin files
- Merge sk8erwitskil changes: fix special backup and restore functions for devices without external sd
- Second pass at fixing write error of toggle time zone appearing on some conditions
- Make custom_rom.zip from current ROM or from pre-existing nandroid backup
- Ensure tar format during create custom_rom.zip operations
- Add sync() at end of special backup and restore functions (in case of... + fix lag on exit menu)
- Merge cwm 6.0.2.7 changes
- nandroid: Fix nonexistent backup format type bug.
- do not attempt to back up .android_secure if it is on /data/media
- Add Home button to select for i9300/n7100
- Edit i9300/n7100 ums lun file path
- Add rom name to nandroid backup path: fetched from
- ro.modversion=
- ro.romversion=
- ro.build.display.id=
- noname if above are empty
- Fix the getprop issue in i9100/n7000 JB leak, aka error 7 (early mount /system in recovery.rc)
- Code cleanup
3.81 Recovery (CWM 6.0.2.3 based)
- merge last cwm 6.0.2.3 updates from jellybean cm10 branch
- remove wipe battery stats
- better implementation for setting default backup format
- fix crash in recovery that occurs during backup (popen.c)
- dedupe: fix buffer overflow
- i9300: fix vibrator not working
- n7100: fix exfat support
- n7100: fix aroma file manager failure
- n7100/i9300: fix ramdisk/kernel used: now based on stock kernel/recovery: fixes potential exfat and aroma issues
- enable mount external sd over usb in recovery for /data/media devices
- complete re-write of Special Backup and Restore menu and functions: more efficient code to easily add new backup/restore jobs
- complete rewrite of toggle gui menu code: 4Kb size gain on recovery binary + more efficient code performance wise
- new Misc Nandroid Settings: toggle md5 checksum, toggle /preload processing, set time zone
- no fail of nandroid job on /preload error (auto skip on error)
- set time zone for nandroid backup path moved to new Nandroid Misc Menu
- add credits to special backup and restore sh scripts
- fix mount /system error log on recovery start
- key repeat toggle now applied live, no more need to restart recovery to take effect
3.75 : PhilZ Touch 3.63 Recovery (CWM 6.0.1.9 based)
- Complete rewrite of toggle gui menu code: 4Kb size gain on recovery binary + more efficient code performance wise
- New toggle to set time zone: correct time can now be set for nandroid backup path and recovery log
- Merge cm10 jb changes: set default backup format to tar
- Fix mount /system error log on recovery start
- Key repeat toggle now applied live, no more need to restart recovery to take effect
3.72 / 3.73 : PhilZ Touch 3.40 Recovery (CWM 6.0.1.9 based)
- 3.72 ---- > 3.73: code cleaning for universal exFat compatibility
- Support exFAT for external sdcards in recovery: no +4Gb size file limit like fat32, better optimized for 64Gb cards
3.70 / 3.71 : PhilZ Touch 3.39 Recovery (CWM 6.0.1.9 based)
- 3.70 --> 3.71: added format /preload on special wipe before install new rom
- Merge Koush last changes: (+ add credit inside code source)
- dedupe: fix buffer overflow, the length of key was incorrect, 4.2's libc detects the overflow and crashes
- fix bug where you cannot partition internal sd
- add wipe all before install ROM: wipe all user data + wipe system
- second pass at fixing partition sdcards menu by PhilZ, now it should work as supposed
3.65 : PhilZ Touch 3.35 Recovery (CWM 6.0.1.9 based)
- Completed ors implementation: added script started on boot, with same function as custom ors (simpler code than previous versions)
- fixed ors-mount.sh support for phones without /emmc
- goomanager support fixed for phones without /emmc
- misc permissions fixes for recovery scripts
3.62
- permissions fixed: now special backup and restore functions work again
3.61 / 3.62 - 22 nov 2012
- Update to cwm 6.0.1.9 + PhilZ Touch 3.34
- Add nandroid /preload backup & restore support
- Add option to flash modem image from recovery
- Fix Aroma File Manager path for devices without /emmc mount point
- Fix: mount sdcards before launch aroma as some times we did not have access to other sdcard under aroma
- Fix kerne/efs backup & restore for phones without /emmc
- Optimized backup/restore status log for kernel/efs/modem: now showing true success/failure based on exit code/stderr from CAT
- One ORS code is enough for custom and at boot scripts
- Fixed ORS backup job log
- Merge cm10 branch updates:
- Add support for doing a true ext4 format of /data on /data/media devices.
- Shorter confirmation menu if compiled as Philz Touch
3.5 - 18 nov 2012
- Update to new Touch PhilZ 3.25 cwm 6.0.1.8 based recovery
- Option to flash kernels (zImage you rename to *.img file) directly from recovery
- Backup kernels now supports multiple time stamped backups
- ORS/EFS/Kernel backup/restore scripts support universal mount points/path through recovery.fstab: multi-device compatibility
- Major update to code for multi-device support (compile from source code for any phone)
- Now, philz-cwm6 recovery is open source (see post 1)
3.43
- Support exFAT for external sdcards in recovery: no +4Gb size file limit like fat32, better optimized for 64Gb cards
- ADB now starts with root access
3.39
- added format /preload on special wipe before install new rom
3.38
- second pass at fixing partition sdcards menu
3.37
- add wipe all before install ROM: wipe all user data + wipe system
3.36
- Merge Koush last changes: (+ add credit inside code source)
- Dedupe: fix buffer overflow, the length of key was incorrect, 4.2's libc detects the overflow and crashes
- Fix bug where you cannot partition internal sd
3.35
- completed ors implementation: now script started on boot, with same function as custom ors (simpler code than previous versions)
- fixed ors-mount.sh support for phones without /emmc
- misc *.sh permission fixes on compilation
3.34
Merge cm10 branch updates:
- Add support for doing a true ext4 format of /data on /data/media devices.
- Shorter confirmation menu if compiled as Philz Touch
3.33
- Add nandroid /preload backup & restore support
3.32
- Fix: mount sdcards before launch aroma as some times we did not have access to other sdcard under aroma
3.31
- edited recovery.fstab for some devices (i9100 / n7000) to include /modem
- Clean ORS code + Add modem flash menu
- for i9100 / n7000, edit recovery.fstab and add this line
- /modem emmc /dev/block/mmcblk0p8
- Updated Readme.md file with Special backup and restore menu instructions
- Rename EFS/Kernel backup menu to Special Backup Menu
3.30
- One ORS code is enough for custom and at boot scripts
- Fixed ORS backup job log
3.29
- Fix kerne/efs backup & restore for phones without /emmc
- optimized backup/restore status log for kernel/efs: now showing true success/failure based on exit code/stderr from CAT
3.28
- First alpha / private release for i9300
- Fix Aroma File Manager path for devices without /emmc mount point
3.1 - 09 nov 2012
- Update to new Touch PhilZ 3.0 cwm 6.0.1.5 based recovery
- Completely revised new touch code: fixed old skips and jumps while scrolling
- Much more smooth behaviour after scrolling
- Even less risks of wrong validation of menus on touch while scrolling (can we say 0 risks?)
- GUI settings are now saved to /system/philz-cwm6 folder instead of /data/philz-cwm6: this is to fix some mount issues on early start and to maintain settings after a factory reset
- Added toggle key repeat for vol up/down keys (only feature needing recovery restart to take effect)
- Huge code cleaning and misc bug fixes
- Added install from sideload code based on last cwm6 update
- Moved sideload menu to install zip menu
- Added confirmation before "Fix Permissions" and "Install from sideload"
3.0 - 02 nov 2012 (i9100 only)
- Introducing PhilZ Touch 2.0 recovery (clockworkmod v6.0.1.5 based)
- touch interface: toggle 3 touch modes: FULL TOUCH, DOUBLE TAP to validate and SEMI TOUCH (scroll but no touch validation)
- very stable and safe scrolling in full touch mode: makes it hard to wrongly validate a menu while scrolling
- when you set full touch mode, it defaults to optimized settings for menu height and touch sensitivity (you still can alter them manually later)
- adjust scrolling touch sensitivity in 6 settings
- adjust menu height in 6 settings
- toggle vibrator on/off when using bottom virtual buttons
- toggle aggressive mode to try stealing bottom space for logs (may or may not work as expected depending on screen resolution and menu height)
- backup/restore EFS and Kernel
- browse phone with root access using full GUI in Aroma File Manager: checks first in default locations to give you direct access to your scripts, else you are prompted to browse for scripts in sdcards
- support openrecovery script in 3 modes using a smart one touch menu: looks first at goomanager scripts, then in default custom scripts location and finally prompts you to browse for scripts in sdcards
- show log menu modified to have its own screen: useful for the S2 because of its low resolution. Now, you can read teh screen logs even when having big menus
- reorganized menus layout
- miscellaneous fixes in initramfs for the kernel
2.7 - 07 oct 2012
- now using CWM6 based custom touch recovery 6.0.1.4 (internal build 1.15) * Siyah source code *
- DUAL USB MOUNT in recovery is now supported * Special thanks to [email protected] *
- semi-touch interface with right slide to select disabled for safety: use slide up/down and left for back
- include bottom virtual buttons for easier navigation
- revised GUI with bigger fonts and larger menus for better readability
- transparency effects in recovery menus
- fixed backup format selection menu in original Koush cwm6 (was echoing previous menu)
- added power off and reboot to download mode options in recovery menus
- battery % level displayed in recovery
- fixed some menus spelling and aspect in original recovery
2.5 - 22 sept 2012
- Introduced brand new original feature: MULTI-bootanimation scrolling on each boot. See post 2 for details on how to use this new feature
- No more true insecure kernel (ro.secure back to 1), ADB root in recovery is through cwm adbd like other custom kernels
- CWM updated to last 6.0.1.4 non touch: touch vcoming later
- CWM6 is now built from source, to avoid issues with dynamically linked binaries ** Big thanks to - Tallustus from Team Skyfire
2.0 - 14 sept 2012 (i9100 only)
- Now built automatically through scripting, no manual editing
- Added fake getprop to show custom kernel prop *credits to Siyah*
- Fixed missing /res/images fota png in ICS 4.0.4 (no bad consequence in any case)
- Minor cosmetic changes in scripts, mainly properties
- Added custom boot animation support:
- /data/local/bootanimation.zip
- /system/media/bootanimation.zip
- /data/local/bootanimation.bin
1.0 - 09 Sept 2012 : Initial release (i9100)
- Clockworkmod v6.0.1.2 recovery - Permanent
- Pure stock based kernel: only initramfs changes
- Flash through Odin or in Stock Recovery (no yellow triangle)
- Ready for root
- ADB root in recovery: just wait about a minute to activate
- Init.d and customboot.sh support
FAQ
1- what happens if I wipe/format/factory reset my data/media device?
format /data: only data is wiped, exclude /data/media:
Code:
cd /data ; for f in $(ls -a | grep -v ^media$); do rm -rf $f; done
format /sdcard : only /data/media or /data/media/0 (depending on setting you choose in Advanced menu) is wiped
Code:
rm -rf /sdcard/*
rm -rf /sdcard/.*
format /data and /data/media: will issue a true format on /data volume, obviously killing /data/media
Factory reset: will also preserve /data/media (rm -rf)
Clean to Install a New ROM: will do a factory reset (format /data, /cache, /datadata and sd-ext) + format /system +/- /preload. Your system will not boot until you install a new ROM
2- I backed up my data and I cannot find it when I boot into phone
Stock CWM and CM Updater app are using a non conventional linking for internal storage: internal storage is linked as /sdcard/0
PhilZ touch supports true /sdcard paths by linking it to either /data/media or /data/media/0
/sdcard/0 has no meaning in PhilZ Touch unless you set it to /data/media
By default, if a folder /data/media/0 exists, PhilZ Touch will default /sdcard to it, else it will use /data/media.
The advantage is for all stock +4.2 users: they can directly access their backups from /sdcard, while in main system and see them on PC in MTP mode.
You can override that setting in Advanced Menu and force it to /data/media or revert to /data/media/0
I recommend moving all your old cwm path to /data/media/0/clockworkmod and set sdcard to /data/media/0 unless you are switching between stock CWM and this mod or you need CM Updater app
To sum it up: for stock +4.2 rom users, keep default (/data/media/0). For CM users, if you frequently use CM Updater to flash in recovery, force /data/media
3- I come from stock CWM/TWRP and PhilZ Touch cannot see my backups
Read Answer 2
4- Aroma file manager doesn't start when I double tap screen
Read the guide to install aroma file manager.
Path changed in v5!
Read the /data/media/0 faq 2
5- CMUpdater cannot flash downlaoded files
If you get a /sdcard/0 error, it means you have /sdcard set as /data/media/0 in recovery
The reason is that CM app doesn't support /data/media/0 and is faking recovery with a /sdcard/0 implementation
You still can alter the setting and force it to /data/media in Advanced menu. This will give full compatibility with cwm, CM roms and CM Updater
6- How to flash a boot.img or recovery.img file?
- Put your boot.img or/and recovery.img files under a subfolder in clockworkmod/backup on sdcards
exp: /sdcard/clockworkmod/backup/cm-10.1-nightly_20130713/boot.img
- Navigate to Backup and Restore / Custom Backup and Restore / Custom Restore Job
- Unselect all partitions except boot and/or recovery
- Select >> Start Custom Backup Job <<
- Browse to your backup location until your cm-10.1-nightly_20130713, and select any file inside it
- You are done
7- My backups take a long time to complete
First, make sure you set compression to fast or low. Low compression setting gives around 30% compression with quiet no impact on speed. Rising compression value makes backups extremely slow with very little gain on space.
Stock CWM uses exfat fuse but without any buffering of writes. The end of it is a non usable thing for any backup because of an incredibly slow write speed.
TWRP uses exfat fuse binary to do the backups + caches tar writes to improve speed. This could cause data corruption on some devices.
PhilZ Touch uses patched kernel with native exfat support (static mode) for Samsung devices and soon other brands. This is supposed to be the faster and safest way.
However, it seems to struggle on some devices because of the logging mode used by CWM
Solutions:
- hide progress bar in Nandroid Settings menu: this will dramatically improve speed for many devices
- do not use exfat
- change exfat card to another brand. Ask in forum what people are using with good speed
- some users reported a real slow down when card/device is hot. Let your phone rest from intensive read/writes before starting a backup
- switch to another recovery like twrp if you cannot live with it. PhilZ Touch is compatible with TWRP and can backup/restore twrp format
8- You think you found a bug?
- Make sure your issue is recovery related
- All external sdcard issues: first format in PC with primary partition, tons of people are formatting as logical and come cry
- Reproduce your issue and while in recovery:
- Go to Advanced / Report Error
- Copy the /sdcard/clockworkmod/philz_recovery.log file and attach it here
- Give detailed info about your issues
- Without these, there is little chance I can help you, so, do not get mad if I do not answer
9- Loki things
Locked bootloader? How to lokify before flashing:
In Advanced Menu / Toggle Loki Support : enable auto loki
Flash the zip file and you are done
PhilZ Touch recoveries that come in a zip file format AND released after v6.01.2 have a script in the zip to lokify the recovery image during flash even if you are coming from older recoveries or TWRP (thanks @Wootever)
The included recovery.img in the zip is not lokified, it will be lokified during flash
If you are using a new CWM or PhilZ Touch with auto-loki enabled, please disable it before flashing my zip files to avoid any issue with double lokifying, if ever possible!
Unlocked bootloader users can still extract the recovery.img file and restore it from inside recovery:
put recovery.img in /sdcard/clockworkmod/backup/philz_update/recovery.img
In Custom Backup and Restore menu, unselect all except recovery
validate to browse to the update recovery.img
done
10- Assert error 7 on device name when installing roms and updates
Start of v6.02.2, recoveries are based on cm-11.0 (KitKat) device tree.
In all zip installers, you have a file called update-binary. It is the executable that will process and interpret all commands in updater-script, which will do all actions.
Older update-binary files cannot access system assert props on kitkat based kernels.
Fixes:
- edit your updater-script in zip file and remove all assert lines checking for device name. Use notepad++ or a linux editor
- manually change your update-binary in the zip with a new one you take from a cm-11.0 release
- revert to an older recovery before 6.02.2
- ask your rom releaser to update his update-binary
Note: start of 6.09.6, this error is fixed. However, you can end up with error in FAQ 11
11- various status 7 errors: format() expects 5 args, got 4 - set_permissions errors...
First read FAQ 10
Start of 6.09.6, recovery will analyze the update-binary that comes with your zip package. If it detects an outdated version, it will be automatically replaced during flash.
This will fix all assert getprop errors discussed in FAQ 10 (often used to check if the zip is meant to be flashed on your device)
However, doing so, can expose you to a bunch of new errors if the update-binary is +2 years old. In that case, the updater-script code used could not match the new update-binary:
The error "format() expects 5 args, got 4" is caused by not using the below new format command in updater-script:
format(fs_type, partition_type, location, fs_size, mount_point)
Click to expand...
Click to collapse
exp:
Code:
format("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "0", "/system");
The error due to failure on set_perm is caused by using 2 years old update-binary
New ones will abort installation when setting permission fails on any file, while it was previously allowed to continue
Fixes:
- start of 6.15.4, PhilZ Touch added an option to force using the update-binary that comes in your zip. It will make it work except for the assert for device name error. However, that error is very easy to fix by any one (see FAQ 10). The option doesn't stick on reboot, you have to manually set it when you flash such files. It is done on purpose to keep you warned about potential risks using such bad scripts often coming from a copy paste procedure
- hammer your ROM maker to keep up to his time, and look closer at his scripting and update-binary engine used
12- Time fix for Qualcom Chips and other devices
On many Qualcom devices, setting the time is disabled on different levels, depending on the device
New PhilZ Touch versions added a workaround to this limitation. The fixes do not modify in anyway the RTC flags in kernel, as it is not recommended by Qualcom
- Qualcom Time Daemon:
This is the recommended option. It will load the time daemon from /system and will keep your recovery time in sync with ROM.
However, many CM/AOKP/Custom Roms do not have a proper implementation of the daemon. Ask your ROM dev to properly implement Qualcom proprietary binaries and RTC permissions.
- Use RTC Time Offset:
This is the second workaround, recommended for ROMs without proper time daemon. You have to enable the option. After that, it will ask you to setup the actual time/date manually. Do it AND Validate your choice to apply the actual time. Enabling the offset mode without manually setting correct time AND validating your option has no effect!
- Try Force Persist on Reboot:
This is your last choice, if all other options failed. Disable previous 2 options and enable this one. You will need to setup time/date manually AND validate your choice. Else, it won't have any effect.
- Normal/manual mode: Non Qualcom based devices, can just use the default mode to set time/date manually
13- My ROM maker advises another recovery
If an installer script cannot run on PhilZ Touch, it won't run on CWM. PhilZ Touch is just a CWM mod in that regard. Installer is not modified
Rule of thumb: If a ROM cooker says "YOU MUST USE A GIVEN RECOVERY", be sure there are bugs in his work
A properly formatted updater-script, shell child scripts or aroma scripts should be able to run on any recovery as it should call real blk device paths and not "pre-defined" mount points
Mount points WILL vary from recovery to another and maybe from a version to another. Relying on them is a bad idea
Also, many do miss proper edify scripting rules:
- /sdcard is a symlink, not a folder since years now (/data/media)
- you cannot extract without mounting first
- you must create your paths. Installer won't be verifying you did so
- you cannot mount vold paths (sdcard, usb storage...) by calling the mount point in a shell script. Look at your fstab under recovery to understand why
If a rom maker has issues to understand this, he can ask for help here or in an edify scripting thread
14- F2FS <-> EXT4 format migration
Under "mounts and storage" menu, if "toggle f2fs <-> ext4 migration" is enabled, whenever we try to format an ext4 or f2fs partition, we get a prompt to convert between f2fs/ext4
To convert /data on /data/media devices, we must as always select the "/data and /data/media" menu
Nandroid implementation to migrate your data/ROM from ext4 to f2fs:
- backup your existing data
- in "mounts and storage", format the partitions you want to convert to f2fs
- restore your data
- on restore, if both backup image and target partition has different fstype and fstype is either ext4 or f2fs, we favour target devise fsytpe (data migration)
This is awesome work buddy. Never seen this before..Great work my friend. You need clapping.
BTW, can I load it in MY galaxy R..?? Using CWM V 6.0.0.1.??
Re: [22.03.2013]Clockworkmod Advanced Edition / PhilZ Touch 4.90.8
Look at the dev info thread to port/compile it for any device supported by cyanogenmod
Sent from my GT-I9100 using Tapatalk 2
Updated post 1 with currently supported devices by me
This list can grow up as people would like to
Is it possible to add support other devices?
Congrats on the official thread Phill ! Your place belongs here. :angel:
Phill has been supporting the G Note community for almost a year now and he has special expertise with Samsung devices, more so with issues like brick bug, root, stability, battery, ever - growing features in the recovery menus, dealing with bootloops, even kernel issues etc.
Im sure his work will be well appreciated over a wider area on xda soon.
Of course he will support more devices as he gets more time and requests.
Keep it up Phil, you have been the best developer for Samsung community.
Phil love your work and your support man..
Lastest build great on LSD firmware on SGS2..PS Using the original build with SuperSU
You're the best Phil keep it up:good:
One question though why the new version included only two bases?
galaxynotes said:
You're the best Phil keep it up:good:
One question though why the new version included only two bases?
Click to expand...
Click to collapse
what is 2 bases?
Phil3759 said:
what is 2 bases?
Click to expand...
Click to collapse
Your latest version were for these two only :
DDLSC-ODD
XXLSZ-OXA
I'm not requesting anything just wondering why
Sorry, this the dev thread
As noted in post 1, support for specific devices goes into their respective thread
Backup/restore apps and respective data, SSAIDs, runtime permissions, generic system settings, Magisk modules, and more.
Works in recovery mode as well.
Refer to the upstream repository to get started.
I would like to be the first to thank you for this solution, i have one question how to make a full backup all accounts and data i saw in the guide tarb -badsm10 . but im not sure if its full backup or no
yassine2217 said:
I would like to be the first to thank you for this solution, i have one question how to make a full backup all accounts and data i saw in the guide tarb -badsm10 . but im not sure if its full backup or no
Click to expand...
Click to collapse
tarb -badsm10 . would backup the following:
a) All user and updated system APKs;
d) Data of those apps (also includes device-encrypted data (user_de), which can be excluded with D);
s) Generic system settings (quick toggles, sounds, display, etc.);
m) Magisk data (everything from /data/adb/, except magisk/ and magisk.db);
10) This instructs tarb to use 10 as the zstd compression level (default is 1);
This is a complete backup, except if you also want external data. If so, you would add the e flag.
External data includes /sdcard/Android/data/, /sdcard/Android/media/ (can be excluded with M), and /sdcard/Android/obb (can be excluded with O).
Note: backing up Google accounts on recent Android versions is just not a thing. You could try, but there's no guarantee that the restore will work. It may even cause problems. The target data keeps changing with new Android releases, and those changes are fairly unpredictable -- all thanks to Google, yay!
Cool, so this will replace Migrator right
VR25 said:
tarb -badsm10 . would backup the following:
a) All user and updated system APKs;
d) Data of those apps (also includes device-encrypted data (user_de), which can be excluded with D);
s) Generic system settings (quick toggles, sounds, display, etc.);
m) Magisk data (everything from /data/adb/, except magisk/ and magisk.db);
10) This instructs tarb to use 10 as the zstd compression level (default is 1);
This is a complete backup, except if you also want external data. If so, you would add the e flag.
External data includes /sdcard/Android/data/, /sdcard/Android/media/ (can be excluded with M), and /sdcard/Android/obb (can be excluded with O).
Note: backing up Google accounts on recent Android versions is just not a thing. You could try, but there's no guarantee that the restore will work. It may even cause problems. The target data keeps changing with new Android releases, and those changes are fairly unpredictable -- all thanks to Google, yay!
Click to expand...
Click to collapse
Thank you for the clear explaination
v2022.5.12 202205120
- C flag: exclude all *[cC]ache* files/directories globally (alternative to -X '*[cC]ache*');
- Do not backup/restore SSAIDs if /data/system/users/0/settings_ssaid.xml is encrypted;
- Updated info and support texts.
Try upgrading with tarb -u.
v2022.5.15 202205150
- Fixed -rnx ['regex'];
- -r shall have no fallback regex, just like -b;
- Skip GMS data backup/restore.
Try upgrading with tarb -u (interactive) or tarb -uu (no prompts).
v2022.5.16 202205160
- Fixed "backup/restore stops right after gms";
- Remind user to disable/remove Magisk modules that may cause bootloop;
- Updated Telegram group link.
v2022.5.25 202205250
- Architecture-aware self-backup
- Build script gets version from changelog
- Fixed `-rnx ['regex']`
- Fixed settings backup output inconsistencies
v2022.6.4
- cf899cd Remove debugging line, and reword a comment
- f8fdb0f Update help text
- bae6a39 C == "-X [Cc]ache" (non-greedy)
- 9a9138e Always exclude external cache
- 6d29dd6 Only restore SSAIDs and runtime perms after successful data restore
- fb0d1e9 Fix build/VERSION
Hello, I tried using this and I'm not having success. I installed as a Magisk Module with the -m flag and rebooted afterwards. Installed the arm64 as I have the SD855.
When I run the command tarb -badsm10 I get the following:
settings global
settings secure
settings system
/data/adb
Click to expand...
Click to collapse
And on the tarb folder I get a file with 30MB, that's all.
Thanks!
jakito said:
Hello, I tried using this and I'm not having success. I installed as a Magisk Module with the -m flag and rebooted afterwards. Installed the arm64 as I have the SD855.
When I run the command tarb -badsm10 I get the following:
And on the tarb folder I get a file with 30MB, that's all.
Thanks!
Click to expand...
Click to collapse
Perhaps the period is missing at the end of command line. Write command as follows:
tarb -badsm10 .
cave.man1908 said:
Perhaps the period is missing at the end of command line. Write command as follows:
tarb -badsm10 .
Click to expand...
Click to collapse
Yes, that worked. My bad!
Thank you
Edit: fixed
How do you use this in recovery? This works for a12 and a12 recoveries?
parag0n1986 said:
How do you use this in recovery? This works for a12 and a12 recoveries?
Click to expand...
Click to collapse
Only custom recoveries that can decrypt data are supported.
If you've installed tarb as a Magisk module (-m), /data/t is available for use in recovery.
Run /data/t -badems ..
It'll backup (-b):
* All user and updated system apps (a) with respective data (d) and external data (e), excluding cache;
* Magisk modules (m);
* Generic system settings (s).
If you haven't installed it, assuming it's located in /sdcard/Download, run sh /sdcard/Download/tarb-arm64 -badems ...
Use adb shell or recovery's own terminal.
v2022.6.25
ece9f5c Add Zelle donation info
e667f34 Add support for -bnx 'regex'
b1d3484 Remove obsolete lines
2e50b94 Fix: incomplete apk backup
5b268d9 Flag D implies d; M/O imply e
d898768 Make "o" flag work with "-b" as well
9715bbb Update usage examples
ff40224 Exclude internal cache by default
VR25 said:
Only custom recoveries that can decrypt data are supported.
If you've installed tarb as a Magisk module (-m), /data/t is available for use in recovery.
Run /data/t -badems ..
It'll backup (-b):
* All user and updated system apps (a) with respective data (d) and external data (e), excluding cache;
* Magisk modules (m);
* Generic system settings (s).
If you haven't installed it, assuming it's located in /sdcard/Download, run sh /sdcard/Download/tarb-arm64 -badems ...
Use adb shell or recovery's own terminal.
Click to expand...
Click to collapse
So if I'm on an a12 custom ROM, I would have to flash DFE so I am unencrypted and this should work? I've tried DFE on a couple of the 12.1 ROMs and it doesn't work any ideas to get it unencrypted on all these new rooms? I'm assuming I have to use TWRP I didn't know if any of these a12s have a terminal yet
parag0n1986 said:
So if I'm on an a12 custom ROM, I would have to flash DFE so I am unencrypted and this should work? I've tried DFE on a couple of the 12.1 ROMs and it doesn't work any ideas to get it unencrypted on all these new rooms? I'm assuming I have to use TWRP I didn't know if any of these a12s have a terminal yet
Click to expand...
Click to collapse
Android ROMs almost never ship with a terminal emulator. You can always install one or just use adb shell.
Modern custom recoveries (TWRP and derivatives) all have a built-in terminal.
Some recoveries can decrypt data.
When this is not the case, one must disable forced encryption to be able to read /data from recovery (mandatory for tarb to work there).
If Magisk cannot disable encryption, you have to patch /vendor/etc/fstab* file(s). This is usually just a matter of replacing "fileencryption=" with "encryptable=", rebooting, and formatting (not just wiping) the userdata partition.
VR25 said:
Android ROMs almost never ship with a terminal emulator. You can always install one or just use adb shell.
Modern custom recoveries (TWRP and derivatives) all have a built-in terminal.
Some recoveries can decrypt data.
When this is not the case, one must disable forced encryption to be able to read /data from recovery (mandatory for tarb to work there).
If Magisk cannot disable encryption, you have to patch /vendor/etc/fstab* file(s). This is usually just a matter of replacing "fileencryption=" with "encryptable=", rebooting, and formatting (not just wiping) the userdata partition.
Click to expand...
Click to collapse
So basically, using ADB shell while you're in nameless or Evo X recovery, for example, is just like using the built-in TWRP terminal? Just need ADB enabled in recovery mode?
How do I have magisk disable encryption? I've noticed when you flash magisk, It usually shows keep verity and force encryption = true. How do you make magisk disable them when you first flash magisk?
Sorry about all the questions, just really want to learn this stuff more, and you're amazing for explaining this stuff! I miss being able to backup/restore data nandroid style!
One last question. You said manually patch /vendor/etc/fstab.qcom? Do you replace anything that says file encryption with encryptable, or only in the /userdata area in the fstab? Here is what mine says. Would love to know what change in there and put it back and reformat and be unencrypted on a12!
/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,inlinecrypt latemount,wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0,metadata_encryption=aes-256-xts:wrappedkey_v0,keydirectory=/metadata/vold/metadata_encryption,quota,reservedsize=512M,sysfs_path=/sys/devices/platform/soc/1d84000.ufshc,checkpoint=fs
That's line #45 in my fstab.qcom file. So from that, my current ROM is FBEv2? And f2fs format for data?
Tried restoring a nandroid backup of the data partition with twrp.
also copied the /data/media partition back from an external copy.
when booting up the phone immediately reboots back into twrp with an error message:
Android Rescue Party...
The reported problem is:
'--reason=set_policy_failed_:/data/vendor'
the vendor partition seems to be intact and i do have a backup of it taken at the same time as the data backup, restoring it doesn't yield results..
i'm wondering if FBE is throwing it off, as the backup was taken when the phone was decrypted (within twrp) however the data on the partitions is referencing some sort of encryption key?
you may also exhibit the following error upon bootup of a restored nandroid backup.
immediately after booting, the phone reboots back into recovery.
viewing the log in twrp will show:
Android Rescue Party...
The reported problem is:
'--reason=set_policy_failed_:/data/bootchart'
1. the solution to this is editing fstab.under twrp or other recoverymount /vendor from the mount icon.in twrp: Advanced > File Manager > /vendor/etc/fstab.qcomselect edit file under userdata, find where it says fileencryption=icerename fileencryption to encryptable.Original
Code:
/dev/block/bootdevice/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,noauto_da_alloc,discard wait,check,fileencryption=ice,quota,reservedsize=512M
Modified
Code:
/dev/block/bootdevice/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,noauto_da_alloc,discard wait,check,encryptable=ice,quota,reservedsize=512M
save file.
2. next delete the following directories:
/data/unencrypted
/data/misc/vold/user_keys
3. Lastly delete any of the existing files from /data/system/ :
locksettings.db
Gatekeeper.password.key
gatekeeper.pattern.key
locksettings.db-shm
locksettings.db-wal
recoverablekeystore.db
password.key
pattern.key
4. Reboot and re-encrypt
At this point rebooting from recovery will result in a running and successfully recovery backup.
one thing to note is the data and data/media partitions are at this point unencrypted
TRYING TO REINCRYPT NOW WILL FAIL to reencrypt got to settings > security > re set your pin or password for the phone
(optional) then select encryption and there will be an orange button to encrypt device.
the encryption process will take quite a while as it will reencrypt your entire phone.
The above doesn't work as it's trying to accomplish FDE, and the fstab line for encryptable=ice, isn't compatible with this.
i could not find an fstab string to follow the same option but for FBE.
Thanks for sharing, nice guide to disable forced FBE encryption! I think this applies to Android 12+ in general, not just OnePlus devices.
I ended up with the same problem on my Mi 10 Ultra with MIUI 13 after a /data partition restore and it was a real pain to solve ("set_policy_failed:..." rescue party error for different directories). It's strange though why it fails to set the fscrypt policy for existing directories with no policy, correct permissions and SELinux context...
(Btw: whether a fscrypt policy is applied to a directory ("is this directory encrypted?") can be checked with fscryptpolicyget in terminal.)
Unfortunately, this didn't directly solve my TWRP backup restore problem and I still had to do a manual restore, but now I can at least disable FBE and it's always nice to have actual control over the device you paid money for (you should really have control by default, but oh well...)
(Some of) the troubleshooting I did:
Like I mentioned, I first thought the issue might be with the SE linux context, so I tried running restorecon, but this didn't help - I eventually found that in init.rc, restorecon is usually already automatically run during each boot for directories under /data/... so running it manually makes no difference.
To edit /vendor/etc/fstab.qcom (or /system) on my device, I had to first disable the shared blocks EXT4 optional feature. I followed this nice guide to unpack/repack super.img. But this is missing the step for disabling shared blocks: when I tried to mount any of the unpacked images (e.g. vendor.img) as R/W, it failed with the useless generic error:
wrong fs type, bad option, bad superblock on ...
Click to expand...
Click to collapse
Then dmesg gave me another clue, but at the same time was still cryptic and not immediately helpful:
EXT4-fs (loop*): couldn't mount RDWR because of unsupported optional features (4000)`.
Click to expand...
Click to collapse
So I guess 4000 is the code for shared blocks and you can disable these with e2fsck -E unshare_blocks <your .img file or loop device> (and probably need a filesystem check with e2fsck -yf <file>). Again very annoying that these numerical feature codes are not mentioned anywhere in the e2fsck manual pages for example.
Anyway, I was finally able to either:
1. mount vendor.img on my PC (mount -o loop vendor.img /mnt/vendor) and edit the /mnt/vendor/etc/fstab.qcom right there before repacking the .img and flashing the new edited super.img to my device
or
2. just repacking the vendor.img with shared blocks disabled and size increased (resize2fs vendor.img <new size>) and flashing the new super.img without other modifications - this way /vendor can also be mounted as r/w in Android and changes made later (mount -o remount,rw /vendor).
The worst part is that in the end, even with decryption disabled and the keys deleted, the device still wouldn't boot after a /data restore from TWRP (and after multiple days spent on debugging )... I still had to manually extract the TWRP backup and move directories/files individually - thankfully no issues with app/ or data/ - I think the problem was with some files in either system/ or misc/, but idk for sure. I just manually went through and kept only what seemed important (saved wifi APs, BT devices, SMSs etc, but not saved accounts). And after this it finally booted with all my apps and (most of) my settings!
(Btw2: a TWRP/nandroid backup is apparently just a bunch of separate tar.gz files, not a split archive, so you can just extract them with for file in ../data.f2fs.win*; do echo "extracting $file..."; busybox tar -xzf $file; done)