[Android 4.2+][ROOT][2017.09.21] FlashFire v0.73

Status
Not open for further replies.
Search This thread

Chainfire

Moderator Emeritus / Senior Recognized Developer -
Oct 2, 2007
11,441
87,687
www.chainfire.eu
@Chainfire, as I did not receive your reply, I will repost.

I looked in all my logs after black screen and reboot and other people who posted logs here with the same problem and everyone has the following error:

Code:
c: echo flashfire > /sys/power/wake_lock: No such file or directory

I checked with file manager and the file exists. It appears just after getprop lines. Maybe you did not notice that?
Although the ">" (overwrite), The command is working as ">>" (append), Is that right?

This is normal behavior since 5.0 or so.
 

StupidIdea

Inactive Recognized Developer
Jun 24, 2011
1,369
1,866
I found a possible issue going through the code again, I sent you a link to a test version through PM.

Let me know if that one works for you.

First it showed a pop up "OTA update failed". After that the app deleted the OTA so I had to re-download it.
I started the app the second time and the decryption passed and it rebooted to your custom bootloader. It restored bootloader and recovery. And then showed "Flashing update.zip" (or something similar) for a really short time (~1sec). After that it rebooted to broken robot page with "No command" message. It had 3 circles on the bottom (2 filled, 1 empty) if that means anything. It keeps rebooting to the same screen about every 10sec but I can boot to stock bootloader/recovery so it's all fine.
Let me know if you want me to get something with TWRP now. If not then I can fastboot flash 7.1.1 and try it again.
 

Chainfire

Moderator Emeritus / Senior Recognized Developer -
Oct 2, 2007
11,441
87,687
www.chainfire.eu
First it showed a pop up "OTA update failed". After that the app deleted the OTA so I had to re-download it.
I started the app the second time and the decryption passed and it rebooted to your custom bootloader. It restored bootloader and recovery. And then showed "Flashing update.zip" (or something similar) for a really short time (~1sec). After that it rebooted to broken robot page with "No command" message. It had 3 circles on the bottom (2 filled, 1 empty) if that means anything. It keeps rebooting to the same screen about every 10sec but I can boot to stock bootloader/recovery so it's all fine.
Let me know if you want me to get something with TWRP now. If not then I can fastboot flash 7.1.1 and try it again.

Can you grab /sdcard/FlashFire/lastlog ?
 

KaMyKaSii

Senior Member
Feb 25, 2015
1,368
654

Attachments

  • Screenshot_20170329-161155.png
    Screenshot_20170329-161155.png
    178.1 KB · Views: 254

g0d0fmischief

Senior Member
Aug 15, 2010
60
7
Reproduce is a big word - while I've seen the issue occur a few times, I cannot reproduce it at will, which makes debugging it very difficult. For example, I just did 4 monthly updates in a row on my 6P without any issue.

The contents of /cache/recovery may help me diagnose.
I'm one of the one who absolutely can't get it to work without crashing during uncrypting if there's any info I can give you to help I will

Sent from my Nexus 5X using Tapatalk
 

StupidIdea

Inactive Recognized Developer
Jun 24, 2011
1,369
1,866
@Chainfire
1) Flashed again 7.1.1 and CFAutoRoot
2) At first FlashFire didn't see the OTA so I started system update, that restarted the phone and failed to update (obviously). Then FlashFire showed OTA too
3) FlashFire showed red error that updater.zip.uncoded (or something like that) is not ZIP file, patcher bootloader, injected root and phone booted again to 7.1.1.
4) OTA was gone so I redownloaded it.
5) Started update with FlashFire and the result was the same as the previous time (no ZIP error this time): short message about flashing update.zip and phone rebooted to No command.

I'm flashing 7.1.1 back so I should be at step 2.
 

Chainfire

Moderator Emeritus / Senior Recognized Developer -
Oct 2, 2007
11,441
87,687
www.chainfire.eu
So things are getting a bit tricky.

- It seems I have solved the uncryption problem itself.

- However, the latest OTAs are doing a multi-stage update that isn't (yet) compatible with FlashFire. I'm trying to figure out how this works exactly, this might be tricky to actually fix. This is what causes the reboot and getting stuck in recovery (reflashing a working boot image should let you boot again).

- The red error of the update not being a ZIP file is normal if uncrypted updates fail. This is due to a left-over mapping file that is now pointing to incorrect data, which results in garbage rather than the update ZIP we want to flash.

- After failed attempts, wipe cache and re-download the OTA.
 

StupidIdea

Inactive Recognized Developer
Jun 24, 2011
1,369
1,866
So things are getting a bit tricky.

- It seems I have solved the uncryption problem itself.

- However, the latest OTAs are doing a multi-stage update that isn't (yet) compatible with FlashFire. I'm trying to figure out how this works exactly, this might be tricky to actually fix. This is what causes the reboot and getting stuck in recovery (reflashing a working boot image should let you boot again).

- The red error of the update not being a ZIP file is normal if uncrypted updates fail. This is due to a left-over mapping file that is now pointing to incorrect data, which results in garbage rather than the update ZIP we want to flash.

- After failed attempts, wipe cache and re-download the OTA.

Thank you. It was fun while it lasted :). PM or mention me if you want me to test something (I will keep 7.1.1 for now) but I understand you can reproduce it with 7.1.2 ota.
 

Ch3vr0n

Senior Member
May 6, 2009
1,693
668
38
We all have faith you'll fix things. The weird thing though @Chainfire if you manually download the incremental (or full) OTA (from the Google servers directly via browser) it goes through the what you call 'multi stage' process absolutely fine. And that's exactly what I've been doing since I first reported me having that uncrypting error.

Verstuurd vanaf mijn Nexus 6P met Tapatalk
 

Chainfire

Moderator Emeritus / Senior Recognized Developer -
Oct 2, 2007
11,441
87,687
www.chainfire.eu
We all have faith you'll fix things. The weird thing though @Chainfire if you manually download the incremental (or full) OTA (from the Google servers directly via browser) it goes through the what you call 'multi stage' process absolutely fine. And that's exactly what I've been doing since I first reported me having that uncrypting error.

The full OTAs aren't multi-stage as far as I know. At least the latest 5X and 6P full OTA's aren't - I just downloaded them to check.
 
  • Like
Reactions: tomaasz

KaMyKaSii

Senior Member
Feb 25, 2015
1,368
654
@KaMyKaSii do you still have those devices without names in /dev/block/... ?

Does this device have /proc/dumchar_info and if so, what are the contents?

No, my device has partitions listed by names. FlashFire recognizes the partitions without any workaround or something. In roms based on Lollipop, FlashFire worked perfectly (until the time I used it). In Marshmallow it rarely worked but mostly not. And my device does not have the /proc/dumchar_info file. Below is the contents of my /dev/block, informe me of any other information you may need.

Code:
/dev/block/:
total 0
drwxr-xr-x    4 0        0              840 Apr  1 03:39 .
drwxr-xr-x   15 0        0             3340 Apr  1 03:39 ..
brw-------    1 0        0           7,   0 Apr  1 03:39 loop0
brw-------    1 0        0           7,   1 Apr  1 03:39 loop1
brw-------    1 0        0           7,   2 Apr  1 03:39 loop2
brw-------    1 0        0           7,   3 Apr  1 03:39 loop3
brw-------    1 0        0           7,   4 Apr  1 03:39 loop4
brw-------    1 0        0           7,   5 Apr  1 03:39 loop5
brw-------    1 0        0           7,   6 Apr  1 03:39 loop6
brw-------    1 0        0           7,   7 Apr  1 03:39 loop7
brw-rw----    1 0        1000      179,   0 Apr  1 03:39 mmcblk0
brw-rw----    1 0        1000      179,  32 Apr  1 03:39 mmcblk0boot0
brw-rw----    1 0        1000      179,  64 Apr  1 03:39 mmcblk0boot1
brw-rw----    1 0        1000      179,   1 Apr  1 03:39 mmcblk0p1
brw-------    1 0        0         179,  10 Apr  1 03:39 mmcblk0p10
brw-rw----    1 0        1000      179,  11 Apr  1 03:39 mmcblk0p11
brw-------    1 0        0         179,  12 Apr  1 03:39 mmcblk0p12
brw-r-----    1 0        1000      179,  13 Apr  1 03:39 mmcblk0p13
brw-------    1 0        0         179,  14 Apr  1 03:39 mmcblk0p14
brw-------    1 0        0         179,  15 Apr  1 03:39 mmcblk0p15
brw-------    1 0        0         179,  16 Apr  1 03:39 mmcblk0p16
brw-rw----    1 0        1000      179,  17 Apr  1 03:42 mmcblk0p17
brw-------    1 0        0         179,  18 Apr  1 03:39 mmcblk0p18
brw-------    1 0        0         179,  19 Apr  1 03:39 mmcblk0p19
brw-rw----    1 0        1000      179,   2 Apr  1 03:39 mmcblk0p2
brw-------    1 0        0         179,  20 Apr  1 03:39 mmcblk0p20
brw-------    1 0        0         179,  21 Apr  1 03:39 mmcblk0p21
brw-------    1 0        0         179,  22 Apr  1 03:39 mmcblk0p22
brw-------    1 0        0         179,  23 Apr  1 03:39 mmcblk0p23
brw-------    1 0        0         179,   3 Apr  1 03:39 mmcblk0p3
brw-------    1 0        0         179,   4 Apr  1 03:39 mmcblk0p4
brw-------    1 0        0         179,   5 Apr  1 03:39 mmcblk0p5
brw-rw----    1 0        1000      179,   6 Apr  1 03:39 mmcblk0p6
brw-r-----    1 0        1000      179,   7 Apr  1 03:39 mmcblk0p7
brw-r-----    1 0        1000      179,   8 Apr  1 03:39 mmcblk0p8
brw-rw----    1 0        1000      179,   9 Apr  1 03:39 mmcblk0p9
brw-------    1 0        0         179,  96 Apr  1 03:39 mmcblk0rpmb
brw-------    1 0        0         179, 128 Apr  1 03:39 mmcblk1
brw-------    1 0        0         179, 129 Apr  1 03:39 mmcblk1p1
drwxr-xr-x    3 0        0               60 Apr  1 03:39 platform
drwx------    2 0        0               80 Apr  1 03:40 vold
brw-------    1 0        0         254,   0 Apr  1 03:39 zram0

/dev/block/platform:
total 0
drwxr-xr-x    3 0        0               60 Apr  1 03:39 .
drwxr-xr-x    4 0        0              840 Apr  1 03:39 ..
drwxr-xr-x    4 0        0               80 Apr  1 03:39 mtk-msdc.0

/dev/block/platform/mtk-msdc.0:
total 0
drwxr-xr-x    4 0        0               80 Apr  1 03:39 .
drwxr-xr-x    3 0        0               60 Apr  1 03:39 ..
drwxr-xr-x    4 0        0              620 Apr  1 03:39 11230000.msdc0
drwxr-xr-x    3 0        0              100 Apr  1 03:39 11240000.msdc1

/dev/block/platform/mtk-msdc.0/11230000.msdc0:
total 0
drwxr-xr-x    4 0        0              620 Apr  1 03:39 .
drwxr-xr-x    4 0        0               80 Apr  1 03:39 ..
drwxr-xr-x    2 0        0              500 Apr  1 03:39 by-name
drwxr-xr-x    2 0        0              500 Apr  1 03:39 by-num
lrwxrwxrwx    1 0        0               18 Apr  1 03:39 mmcblk0 -> /dev/block/mmcblk0
lrwxrwxrwx    1 0        0               23 Apr  1 03:39 mmcblk0boot0 -> /dev/block/mmcblk0boot0
lrwxrwxrwx    1 0        0               23 Apr  1 03:39 mmcblk0boot1 -> /dev/block/mmcblk0boot1
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 mmcblk0p1 -> /dev/block/mmcblk0p1
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 mmcblk0p10 -> /dev/block/mmcblk0p10
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 mmcblk0p11 -> /dev/block/mmcblk0p11
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 mmcblk0p12 -> /dev/block/mmcblk0p12
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 mmcblk0p13 -> /dev/block/mmcblk0p13
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 mmcblk0p14 -> /dev/block/mmcblk0p14
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 mmcblk0p15 -> /dev/block/mmcblk0p15
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 mmcblk0p16 -> /dev/block/mmcblk0p16
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 mmcblk0p17 -> /dev/block/mmcblk0p17
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 mmcblk0p18 -> /dev/block/mmcblk0p18
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 mmcblk0p19 -> /dev/block/mmcblk0p19
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 mmcblk0p2 -> /dev/block/mmcblk0p2
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 mmcblk0p20 -> /dev/block/mmcblk0p20
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 mmcblk0p21 -> /dev/block/mmcblk0p21
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 mmcblk0p22 -> /dev/block/mmcblk0p22
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 mmcblk0p23 -> /dev/block/mmcblk0p23
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 mmcblk0p3 -> /dev/block/mmcblk0p3
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 mmcblk0p4 -> /dev/block/mmcblk0p4
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 mmcblk0p5 -> /dev/block/mmcblk0p5
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 mmcblk0p6 -> /dev/block/mmcblk0p6
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 mmcblk0p7 -> /dev/block/mmcblk0p7
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 mmcblk0p8 -> /dev/block/mmcblk0p8
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 mmcblk0p9 -> /dev/block/mmcblk0p9
lrwxrwxrwx    1 0        0               22 Apr  1 03:39 mmcblk0rpmb -> /dev/block/mmcblk0rpmb

/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name:
total 0
drwxr-xr-x    2 0        0              500 Apr  1 03:39 .
drwxr-xr-x    4 0        0              620 Apr  1 03:39 ..
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 boot -> /dev/block/mmcblk0p7
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 cache -> /dev/block/mmcblk0p21
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 expdb -> /dev/block/mmcblk0p10
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 flashinfo -> /dev/block/mmcblk0p23
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 frp -> /dev/block/mmcblk0p17
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 keystore -> /dev/block/mmcblk0p14
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 lk -> /dev/block/mmcblk0p5
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 logo -> /dev/block/mmcblk0p9
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 metadata -> /dev/block/mmcblk0p19
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 nvdata -> /dev/block/mmcblk0p18
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 nvram -> /dev/block/mmcblk0p2
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 oemkeystore -> /dev/block/mmcblk0p12
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 para -> /dev/block/mmcblk0p6
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 proinfo -> /dev/block/mmcblk0p1
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 protect1 -> /dev/block/mmcblk0p3
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 protect2 -> /dev/block/mmcblk0p4
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 recovery -> /dev/block/mmcblk0p8
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 seccfg -> /dev/block/mmcblk0p11
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 secro -> /dev/block/mmcblk0p13
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 system -> /dev/block/mmcblk0p20
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 tee1 -> /dev/block/mmcblk0p15
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 tee2 -> /dev/block/mmcblk0p16
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 userdata -> /dev/block/mmcblk0p22

/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-num:
total 0
drwxr-xr-x    2 0        0              500 Apr  1 03:39 .
drwxr-xr-x    4 0        0              620 Apr  1 03:39 ..
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 p1 -> /dev/block/mmcblk0p1
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 p10 -> /dev/block/mmcblk0p10
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 p11 -> /dev/block/mmcblk0p11
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 p12 -> /dev/block/mmcblk0p12
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 p13 -> /dev/block/mmcblk0p13
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 p14 -> /dev/block/mmcblk0p14
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 p15 -> /dev/block/mmcblk0p15
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 p16 -> /dev/block/mmcblk0p16
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 p17 -> /dev/block/mmcblk0p17
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 p18 -> /dev/block/mmcblk0p18
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 p19 -> /dev/block/mmcblk0p19
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 p2 -> /dev/block/mmcblk0p2
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 p20 -> /dev/block/mmcblk0p20
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 p21 -> /dev/block/mmcblk0p21
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 p22 -> /dev/block/mmcblk0p22
lrwxrwxrwx    1 0        0               21 Apr  1 03:39 p23 -> /dev/block/mmcblk0p23
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 p3 -> /dev/block/mmcblk0p3
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 p4 -> /dev/block/mmcblk0p4
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 p5 -> /dev/block/mmcblk0p5
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 p6 -> /dev/block/mmcblk0p6
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 p7 -> /dev/block/mmcblk0p7
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 p8 -> /dev/block/mmcblk0p8
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 p9 -> /dev/block/mmcblk0p9

/dev/block/platform/mtk-msdc.0/11240000.msdc1:
total 0
drwxr-xr-x    3 0        0              100 Apr  1 03:39 .
drwxr-xr-x    4 0        0               80 Apr  1 03:39 ..
drwxr-xr-x    2 0        0               60 Apr  1 03:39 by-num
lrwxrwxrwx    1 0        0               18 Apr  1 03:39 mmcblk1 -> /dev/block/mmcblk1
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 mmcblk1p1 -> /dev/block/mmcblk1p1

/dev/block/platform/mtk-msdc.0/11240000.msdc1/by-num:
total 0
drwxr-xr-x    2 0        0               60 Apr  1 03:39 .
drwxr-xr-x    3 0        0              100 Apr  1 03:39 ..
lrwxrwxrwx    1 0        0               20 Apr  1 03:39 p1 -> /dev/block/mmcblk1p1

/dev/block/vold:
total 0
drwx------    2 0        0               80 Apr  1 03:40 .
drwxr-xr-x    4 0        0              840 Apr  1 03:39 ..
brw-------    1 0        0         179, 128 Apr  1 03:39 disk:179,128
brw-------    1 0        0         179, 129 Apr  1 03:40 public:179,129

Useless information for the black screen case but maybe important for compatibility with by-num devices:
There are two variants of my device: one with MT6753 arm64, which I have. And one with MT6592M armv-7. The second one does have the /proc/dumchar_info file but it did not have its partitions recognized by FlashFire (since it is not a by-name device). As another user pointed out [URL='https://forum.xda-developers.com/general/paid-software/flashfire-t3075433/post70420203]here[/URL], you can make FlashFire recognize the main partitions (recovery, system, cache, data) by doing symlinks (like creating /dev/block/platform/by-name directory and then ln -s /dev/recovery /dev/block/platform/by-name/recovery). A friend tested this and the backup functions in FlashFire worked perfectly except for boot partition (/dev/bootimg)
 

Sczar

Senior Member
Jan 15, 2011
603
381
NY :)

@KaMyKaSii do you still have those devices without names in /dev/block/... ?

Does this device have /proc/dumchar_info and if so, what are the contents?


No, my device has partitions listed by names. FlashFire recognizes the partitions without any workaround or something. In roms based on Lollipop, FlashFire worked perfectly (until the time I used it). In Marshmallow it rarely worked but mostly not. And my device does not have the /proc/dumchar_info file. Below is the contents of my /dev/block, informe me of any other information you may need.



Useless information for the black screen case but maybe important for compatibility with by-num devices:
There are two variants of my device: one with MT6753 arm64, which I have. And one with MT6592M armv-7. The second one does have the /proc/dumchar_info file but it did not have its partitions recognized by FlashFire (since it is not a by-name device). As another user pointed out here, you can make FlashFire recognize the main partitions (recovery, system, cache, data) by doing symlinks (like creating /dev/block/platform/by-name directory and then ln -s /dev/recovery /dev/block/platform/by-name/recovery). A friend tested this and the backup functions in FlashFire worked perfectly except for boot partition (/dev/bootimg)

@Chainfire

Similar problem with my device. N900v

In LP works fine but when I flashed MM. Flashfire seems to be not working.

c: echo flashfire > /sys/power/wake_lock: No such file or directory

If I attend to flash recovery or simple as wiping anything. The screen will go off then the device will reboot normally. Nothing been done.

Thanks in advance
 

Chainfire

Moderator Emeritus / Senior Recognized Developer -
Oct 2, 2007
11,441
87,687
www.chainfire.eu
The second one does have the /proc/dumchar_info file but it did not have its partitions recognized by FlashFire (since it is not a by-name device). As another user pointed out here, you can make FlashFire recognize the main partitions (recovery, system, cache, data) by doing symlinks (like creating /dev/block/platform/by-name directory and then ln -s /dev/recovery /dev/block/platform/by-name/recovery). A friend tested this and the backup functions in FlashFire worked perfectly except for boot partition (/dev/bootimg)

I see and understand. After some further reading, it appears common for boot partition to not even have a numbered partition. This makes it hard for FlashFire to deal with - it is not designed to write index into the parent block device, which would be required in this case.
 

KaMyKaSii

Senior Member
Feb 25, 2015
1,368
654
I see and understand. After some further reading, it appears common for boot partition to not even have a numbered partition. This makes it hard for FlashFire to deal with - it is not designed to write index into the parent block device, which would be required in this case.

Well, in the case of my friend's cell phone, the only numbered partitions are those with ext4 file system. Then system, cache, data. Although the recovery partition is not numbered, it is present in dev/recovery so you can make changes to it without resorting to modifying the whole device block (/dev/block/mmcblk0). Although the boot partition (/dev/bootimg) is also present, it can not be backed up. This in Android booted (trying to copy the "file" or by FlashFire). TWRP works perfectly. Below is the TWRP fstab of my friend's device.

# mount point fstype device [device2]

/boot emmc /dev/bootimg
/system ext4 /[email protected]
/cache ext4 /[email protected]
/data ext4 /[email protected]
/external_sd auto /dev/block/mmcblk1p1 /dev/block/mmcblk1 flags=display="SD Card";storage;removable
/sd-ext auto /dev/block/mmcblk1p2

These "[email protected]" I think are symlinks pointing to the respective partition. Also below is some links in the Magisk topic where I tell how changes to the partition of these devices without the numbered boot partition can be made .

https://forum.xda-developers.com/ap...v1-universal-systemless-t3432382/post68909842

https://forum.xda-developers.com/ap...v1-universal-systemless-t3432382/post68910624

And about the logcat of my device, you had already explained to me about the SurfaceFlinger service activate the bootanimation on the screen to keep all the pixels alive and considering that he died before the mobile reboot, does not that mean he is the problem?
 

Chainfire

Moderator Emeritus / Senior Recognized Developer -
Oct 2, 2007
11,441
87,687
www.chainfire.eu
Well, in the case of my friend's cell phone, the only numbered partitions are those with ext4 file system. Then system, cache, data. Although the recovery partition is not numbered, it is present in dev/recovery so you can make changes to it without resorting to modifying the whole device block (/dev/block/mmcblk0). Although the boot partition (/dev/bootimg) is also present, it can not be backed up. This in Android booted (trying to copy the "file" or by FlashFire). TWRP works perfectly. Below is the TWRP fstab of my friend's device.

These "[email protected]" I think are symlinks pointing to the respective partition. Also below is some links in the Magisk topic where I tell how changes to the partition of these devices without the numbered boot partition can be made .

https://forum.xda-developers.com/ap...v1-universal-systemless-t3432382/post68909842

https://forum.xda-developers.com/ap...v1-universal-systemless-t3432382/post68910624

Yes, I understand fully how this works. Apparently, TWRP has code to cope with this, but FlashFire wasn't built for it. It does support reading this sort of partition, but not writing. The code changes required to support this are too large (and risky) to perform without a test-device in-hand, though.

And about the logcat of my device, you had already explained to me about the SurfaceFlinger service activate the bootanimation on the screen to keep all the pixels alive and considering that he died before the mobile reboot, does not that mean he is the problem?

Not necessarily. It might, but it is very difficult to tell.
 
  • Like
Reactions: KaMyKaSii
Status
Not open for further replies.

Top Liked Posts

  • There are no posts matching your filters.
  • 938
    FlashFire is the most advanced on-device firmware flasher available for rooted Android devices. It can flash full firmware packages from various manufacturers, as well as apply over-the-air (OTA) and ZIP updates - all while maintaining root, and without using a custom recovery. It also offers full device backup and restore functionalities in several formats. Relevant files can be stored on internal storage, SD cards, USB connected storage, or can even be streamed directly to and from your computer using USB or Wi-Fi.

    FlashFire is the spiritual successor to the Mobile ODIN app, which was a similar solution (using completely different methods under the hood) exclusively for Samsung devices on older Android versions.

    FlashFire is an extremely powerful application, it should be used with caution. Data loss, soft-bricks, and even hard-bricks are possible if used incorrectly. Unless you are an expert user, consult FlashFire's website and this thread before doing anything potentially destructive.

    If the FlashFire user interface crashes, please attach the logs of the crash to your post. The SysLog app can help.

    If you are experiencing an issue while FlashFire is flashing, please post FlashFire's log file to pastebin, and include the link in your post. The log file can be found at /sdcard/FlashFire/lastlog on your device.

    FlashFire's website/manual can be found at http://flashfire.chainfire.eu/.

    Note: currently all functionality is unlocked without purchasing Pro. This may change in the future!
    124
    Changelogs

    Please re-report any issues that persist after a new version comes out, even if you already reported them for the previous build. Either include the details again or link to your previous post.

    2017.09.21 - v0.73 - RELEASE NOTES
    - A/B OTA: Support for yet another streaming variant
    - Magisk support: Fix some black screen issues
    - Magisk support: Much improved OTA flashing compatibility (excluding A/B devices)
    - SuperSU: Updated embedded SuperSU version to v2.82-SR4
    - Backup: Exclude paths from backup with /sdcard/FlashFire/userdata_excludes and ./internal_storage_excludes
    - Restore: Fix issue where FBE keys sometimes weren't restored
    - Wipe: Add option to not wipe files from internal storage that aren't backed up
    - ZIP: Open ZIPs from file managers and (Chrome) downloads directly, or share to FlashFire (file must resolvable to reside on /data)
    - Adjusted timebomb for non-Pro users to 2018-04-01

    2017.09.13 - v0.72 - RELEASE NOTES
    - OTA: Fix new style OTA-download-complete marker detection
    - A/B OTA: Add suppport for 'streaming' style OTAs
    - A/B OTA: Enable pre-mount by default (required for incremental A/B OTAs now)
    - Wipe: Fix dalvik-cache wipe greedily removing some files it shouldn't

    2017.09.12 - v0.71 - RELEASE NOTES
    - A/B OTA: Fix update_engine_flashfire crash in logs
    - A/B OTA: Always make update_engine_sideload available
    - A/B OTA: Fix fstab availability for new style OTAs
    - A/B OTA: Don't automatically delete OTAs after successful install if located on internal storage or sdcard
    - A/B OTA: Detect target slot rather than blindly switching to the other one
    - FlashUI: More Android Oreo compatibility fixes

    2017.09.11 - v0.70 - RELEASE NOTES
    - FlashUI: Android Oreo support

    2017.08.15 - v0.60 - RELEASE NOTES
    - OTA: Implement O-style OTA handling (non-streaming)
    - UI: Fix not being able to deselect backup partitions
    - UI: Fix partitions listed multiple times in backups sometimes
    - FBE: Fix wiping encryption files during restore, triggering factory reset

    2017.08.13 - v0.58 - RELEASE NOTES
    - Fix (abort) parsing of loki boot images
    - Prioritize ZIP/GZIP/BZIP2 detection over other formats
    - Fix compatibility with SuperSU in SBIN mode
    - OTA: Fix /cache not being available sometimes
    - OTA: Fix handling issue with August A/B OTA
    - OTA: Show warning on 'OTA found' dialog if not using systemless SuperSU
    - Backup/Restore: skip lockscreen security files
    - Embedded SuperSU updated to v2.82 SR3
    - Adjust timebomb for non-Pro users to January 01, 2018

    2017.04.03 - v0.57 - RELEASE NOTES
    - Add support for multi-stage OTAs
    - Fix possible NPE during OTA uncrypt
    - Fix logic failure during OTA uncrypt
    - Fix unsupported root detection
    - Fix root detection sometimes failing
    - Prefer system-supplied reboot binary to our own
    - Adjust timebomb for non-Pro users to September 01, 2017
    NOTE: Sometimes OTA still reboots to recovery with an error, just reboot manually

    2017.01.27 - v0.55 - RELEASE NOTES
    - (C) 2017
    - Improved 32/64 bit handling (fixes some blackscreens)
    - Improved handling of devices that have a /vendor partition
    - Add initial support for devices with multiple slots
    - Add support for uncrypted OTA ZIPs
    - Add support for A/B OTA ZIPs
    - Add support for file-based encryption backup/restore (primary user only)
    - Add additional Pixel partitions
    - Add support for Magisk+SuperSU (preliminary)
    - Add support for Magisk+phh (topjohnwu version only) (preliminary)
    - Add circular icon (Android 7.1)
    - Restrict app usage to primary user
    - Make treating system/vendor/oem as original a setting (auto-detection is not completely reliable)
    - File selection activity now remembers last location
    - Fix drawer closing on back button press on tablets like Pixel C
    - Fix overlay display visibility on [email protected]
    - Detect and handle screen scaling on [email protected]
    - Fix archive scanner freeze when reading password protected ZIPs inside another archive
    - Fix seeking issue with custom recovery detector
    - Fix archive scanner inconsistency with multiple files targeting the same partition
    - Fix archive scanner scanning inside images
    - Fix archive creator display inconsistency
    - Fix unconditional block update ZIP detection
    - Fix busybox/untar not setting SELinux file context on files that already existed
    - Hide cache wiping options if no cache partition present
    - Restart and re-check for root if root not found initially
    - Refactor boot image analysis
    - Preserve recovery: option hidden from devices without a dedicated recovery partition
    - Replace update_engine service on A/B update devices
    - Add intent to flash a specific ZIP file
    - Workaround adb restore 'never-finish' issue by using adb push (temporary?)
    - Embedded SuperSU updated to v2.79 SR3
    - Adjust timebomb for non-Pro users to May 01, 2017

    2016.09.19 - v0.53 - RELEASE NOTES
    - Embedded SuperSU updated to v2.78 SR1
    - Adjust timebomb for non-Pro users to February 01, 2017

    2016.07.18 - v0.52 - RELEASE NOTES
    - Add option to delay reboot after flash
    - Fix mixing of 32/64-bit commands on NP4/64-bit
    - Fix re-mounting of lazily unmounted system partition
    - Fix partition detection on some Motorolas
    - Fix cache wipe breaking subsequent OTA on some devices
    - Detect 'full' OTA ZIP, and do not warn about modified /system in that case
    - Move 'preserve recovery' option from OTA/ZIP action to Reboot action
    - ZIPs: Add 'getprop' command emulation if /system not mounted
    - Fastboot: don't use 'fill' chunks
    - Credits listing updated
    - Embedded SuperSU updated to v2.76
    - Getprop harvesting

    2016.07.07 - v0.51
    - New TriangleAway binary that can read SGS6/7 status
    - PIT support
    - Wipe: Only remove .supersu if wiping systemless SuperSU
    - Wipe: Fix wiping systemless SuperSU from /data
    - OTA: Add additional Samsung paths

    2016.06.01 - v0.50 - RELEASE NOTES
    - Fix compatibility with N Preview 3 (in used libraries)
    - Added 'Restore from ADB' option to 'No backups found' dialog
    - NP3: Work around ART crash
    - NPx: Work around 'adb restore' bug by using 'adb push' instead
    - 4.2: Fix StatFs crash
    - ADB: Authorize all connections
    - ADB: Fix restoring not doing anything on some devices
    - Force 'clear cache' option to show UI
    - Include filesize in cache validation
    - (Temporarily?) Switched back to single-threaded lz4 implementation due to the multi-threaded version occasionally segfaulting
    - Add choice for visiting either FlashFire's website or the XDA thread when tapping the top card

    2016.05.11 - v0.33 - BETA - RELEASE NOTES
    - Add support for backing up to and restoring from ADB, through USB or Wi-Fi (special ZIP format)
    - Completely reworked progress code, more info is shown in more places now (current file, speed, progress)
    - Improved back key handling
    - Improved app startup performance
    - If sdcard is adopted, reflect that in location display name
    - Fix adopted SD card sometimes not showing up in mixed partition mode
    - Attempt to identify external sdcard (rather than calling it USB)
    - Adjust storage location display order
    - Add warning when using adopted storage
    - Rewrote file creation routines to cope better with adopted storages
    - Fix reboot card popup title
    - Refactor shell commands as root
    - Change install location to internal-only
    - Fix backup of internal storage not skipping backups in some cases
    - Adjust ZIP parser so it can cope with Samsung FOTA ZIPs
    - Added warning for Huawei users about brickability
    - Add OEM partition to TWRP emergency restore
    - Fix backup/restore per-file progress freezing
    - Archives: Add suppport for Huawei's UPDATE.APP format
    - OTA: Add detection for Samsung
    - OTA: Add detection for Huawei
    - OTA: Add detection for HTC
    - OTA: Add detection for Letv
    - OTA: Add multi-zip-file capability
    - Partitions: Add various Tegra-specific partitions
    - Partitions: Add various Mtk64-specific partitions
    - Partitions: Add various Huawei-specific partitions
    - Partitions: Add various Pixel-C-specific partitions
    - Partitions: Add generic Factory Reset Protection partition
    - Partitions: Add support for eMMC boot and general purpose partitions
    - Partitions: Attempt r/w unlock before writing
    - EverRoot: Updated embedded SuperSU to v2.72 BETA
    - EverRoot: Use LESSLOGGING mode, reduces SuperSU output

    2016.04.20 - v0.32 - BETA - RELEASE NOTES
    - Exclude multirom folder from internal storage backup as well
    - Ability to create fastboot flashable backups (read the release notes!)
    - Use proper ioctls for partition and block size detection
    - Added option to backup recovery before installing ZIP/OTA and restoring it afterwards (automatically enabled when a custom recovery is detected)
    - Added a watchdog to detect SurfaceFlinger crashes, fixes some black screen issues
    - Prevent repeating OTA flash suggestion on rotate
    - Added credits listing

    2016.04.05 - v0.31 - BETA - RELEASE NOTES
    - Exclude usbStorage folder from internal storage backup as well
    - Switched to multi-threaded lz4 implementation (much faster backup/restore)
    - Replace gzip with pigz in flash mode
    - Set umask to 0 in flash mode
    - Use tmpfs for /tmp
    - Fix several other issues preventing flash mode from starting (reboots)
    - Fix bug in TWRP restore listing (warning: old backups may not restore in TWRP !)
    - Fix files present in firmware packages not being shown if the partition cannot be found
    - Fix sdcard daemon running multiple times and eating CPU for no reason
    - AROMA: prevent reboot call
    - AROMA: only do framebuffer emulation if AROMA is actually detected, to prevent running into https://code.google.com/p/android/issues/detail?id=178583

    2016.03.31 - v0.30 - BETA - RELEASE NOTES
    - Exclude TitaniumBackup folder from internal storage backup as well
    - Add location (internal storage, sd card, USB drive, ...) to backup listing
    - Improve compatibility with StickMount-based USB mounts
    - Fix a number of issues that could cause reboot while switching to flash mode
    - Fix display brightness on some devices
    - Framebuffer emulation for AROMA Installer (pretends to be a debugger, hijacks graphics calls)
    - Fix bug where cache partition could lose data
    - Complete refactor of flash mode code
    - Improve Samsung CSC handling
    - Fix bug where internal storage mounting could fail if external (sdcard/usb) storage present
    - Update embedded SuperSU to v2.71

    2016.03.22 - v0.29 - BETA - RELEASE NOTES
    - Fix some compatibility issues with N Preview
    - Fix app_process causing a reboot during startup
    - Fix bug which could cause flashing /system to freeze
    - Improve partition detection size accuracy
    - Reduce app startup time
    - Reduce time taken to switch to flash mode
    - Add option to format /cache (wipe action)
    - Improve external sdcard compatibility
    - Improve adopted storage compatibility
    - Improve USB drive compatibility
    - Add additional OTA paths for NVidia
    - Improve partition platform detection
    - Add support for backing up internal storage (excludes FlashFire, TWRP and CWM backups)
    - Fix error when opening bootloader image not wrapped in an archive
    - Add setting to enable flashing primary and secondary bootloaders (automatically disabled)
    - EverRoot: "Enable ADB" no longer enabled by default

    2016.03.14 - v0.28 - BETA - RELEASE NOTES
    - N preview compatibility (requires SuperSU v2.70)
    - Properly copy selinux contexts
    - Updated embedded SuperSU version to v2.70

    2016.02.03 - v0.27 - BETA - RELEASE NOTES
    - Copy additional partitions from fstab
    - Added NVidia OTA locations
    - Mark NVidia devices as somewhat supported
    - Partitions: Added various partitions
    - Fixed internal storage on Samsung 6.0.1
    - Fixed sdcard on NVidia Shield Tablet
    - Files named twrp-* or openrecovery-* are now recognized as recoveries
    - Added warning about OTAs often requiring an unmodified system
    - Attempt to detect block-level OTAs and modified systems, and warn when the flash is likely to fail
    - Added some more logging in case of failure/reboot

    2016.02.01 - v0.26 - BETA - RELEASE NOTES
    - (C) 2016
    - Archives: TAR: Fix MD5 warning if no MD5 signature found
    - Archives: Added option to ignore MD5 mismatch
    - Archives: Added support for Huawei Bootloader packed image format
    - Archives: Added support for MSM89xx Bootloader packed image format
    - Archives: Added support for Motorola Bootloader packed image format
    - Updated embedded SuperSU version to v2.67-3
    - Root must be SuperSU or (CM SU + Permissive)
    - EverRoot: Enable on boot image modification, if currently systemless
    - Firmware: Display partitions in the correct order
    - UpdateZIP/OTA: Support progress bars
    - UpdateZIP/OTA: Fix several issues with flashing Omni/CM
    - OTA: Work-around apply_patch freeze
    - OTA: Detect downloaded OTA and suggest flashing
    - Partitions: Added various partitions
    - M: Fix clear cache not working fully
    - M: Update partition detection
    - M: Toybox compatibility
    - M: Fixed native graphics library
    - M: Fixed sdcard mounting
    - M: Relocate systemless SuperSU during setup
    - M: Do not remove boot image backups or su image on wipe
    - M: UpdateZIP/OTA: offer to restore boot and recovery image before flash
    - L: UpdateZIP/OTA: mount /system, /vendor and /oem as r/o if unmodified
    - L: Backups: Use RAW mode for unmodified /system, /vendor and /oem partitions
    - Backups: Use RAW mode for partitions where the filesystem cannot be detected

    2015.09.10 - v0.24 - BETA
    - Fixed about a dozen FC's caused by Google's new and "improved" compatibility library

    2015.09.09 - v0.23 - BETA
    - Motorola: sparsechunk format support
    - Motorola: MD5 listing/verification support
    - Motorola: firmware package support
    - Samsung: Fixed brightness slider disappearing from notification shade

    2015.06.17 - v0.21 - BETA
    - Fixed MD5 issue (showed up when creating a .tar.md5 package)
    - Possible fix for mid-operation reboot

    2015.06.02 - v0.20 - BETA
    - Fix FC on 64-bit
    - Disclaimer shown only once (and each update, data wipe)
    - Possible fix for backlight issue

    2015.06.02 - v0.19 - BETA
    - MD5 routines now 30x faster (improves backup, restore, verification)
    - Changed faulty warnings
    - Updated BETA expiration (sep 1)

    2015.05.02 - v0.18 - BETA
    - Fix archive creation (for protected partitions) that broke on v0.17
    - Split backup files into 1GB chunks

    2015.04.30 - v0.17 - BETA
    - Updated partition resolution (Motorola)
    - Sparsechunk support (Motorola) - DO NOT USE YET
    - Motorola ZIP package support (no MD5 checks)
    - Fixed LZ4 restore issue
    - Fix crash on navigating to '..'
    - Updated preview timeout

    2015.04.29 - v0.16 - BETA
    - Added various partitions
    - Experimental CM SU compatibility - not thoroughly tested
    - Out of space errors now logged during backup instead of just freezing
    - Added corrupt ZIP detection, in turn fixes several crashes caused by attempting to read corrupt ZIPs
    - Added LZ4 compression. Now configurable between None, GZIP, and LZ4.
    - Made threads used for GZIP configurable
    - Added kernel wakelock
    - Cache ZIP scans, speeds up file selection
    - Fixed several issues on 64-bit devices
    - SuperSU updated to v2.49 BETA

    2015.04.13 - v0.15 - BETA
    - Improved logging
    - Improved startup procedure
    - Fixed an issue where backup of some files were represented as an error
    - Fixed a number of compatibility issues with latest Exynos (SGS6)
    - Fixed USB drive support on stock Motorola
    - Lowered default compression level and threads to reduce backup time and CPU usage (not yet user configurable)

    2015.04.09 - v0.14 - BETA
    - Fixed some black screen issues

    2015.04.08 - v0.13 - BETA
    - Fixed issue with log not being saved to internal storage
    - Fixed issue with slow internal storage detection
    - Fixed issue with error detection delaying reboot
    - Fixed misaligned wordwrap
    - AROMA compatibility (only if framebuffer device available)
    - External storage and USB storage support

    2015-04-08 - v0.12 - BETA
    - Auto backup renaming improved
    - TWRP restore ZIP added to backups
    - Force grow ramdisk

    2015-04-07 - v0.11 - BETA
    - Initial release
    96
    --- reserved #2 ---
    78
    --- reserved #3 ---
    73
    --- reserved #4 ---
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone