**IMPORTANT**
Read this thoroughly before you attempt any of it. The steps found herein will wipe out any data remaining on the partition for which it's used. If a partition has lost it's formatting, chances are the data is lost anyway, so there's not much more you can lose. This should be thought of as a last resort. Do not attempt this until you have tried everything else.
In many cases, just wiping the affected partition in recovery is enough to fix the problem. If not, continue reading.
If it's your sdcard that needs to be mounted, there is one thing you can try that might work in most cases.
Code:
[COLOR=Gray]$[/COLOR] adb shell
[COLOR=Gray]~ #[/COLOR] echo /dev/block/mmcblk0p12 >> /sys/devices/platform/usb_mass_storage/lun0/file
Your computer will probably respond that the volume/device needs formatted before using it. This will erase everything left on the sdcard, as will anything else you attempt in this thread.
* Choose a quick format (if possible) and format it as "fat32", block size "4096".
If that doesn't work...
You'll have to reset your partition table, just in case (this step is optional but it doesn't hurt to do it anyway).
You'll need to be in fastboot:
Code:
[COLOR=Gray]$[/COLOR] adb shell
[COLOR=Gray]~ #[/COLOR] idme bootmode 4002
[COLOR=Gray]~ #[/COLOR] reboot
(*COTR recovery doesn't have idme so you'll have to use the recovery itself to reboot into the bootloader)
Once in fastboot, enter the following commands...
Code:
[COLOR=Gray]$[/COLOR] fastboot oem format
[COLOR=Gray]$[/COLOR] fastboot oem idme bootmode 5001
[COLOR=Gray]$[/COLOR] fastboot reboot
With your partition table reset, it's time to print your partition table for reference.
For this, your device must be booted into recovery.
To print your partition table:
Code:
[COLOR=Gray]$[/COLOR] adb shell
[COLOR=Gray]~ #[/COLOR] parted /dev/block/mmcblk0
[COLOR=Gray](parted)[/COLOR] print
This will print the layout of your partitions 1-12. It should look something like this:
{
"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"
}
If you receive an error stating that parted can't be found, you need to find and download it and enter the following commands, or update your recovery...
Code:
[COLOR=Gray]$[/COLOR] adb push /path/to/parted /sbin/parted
[COLOR=Gray]$[/COLOR] adb shell
[COLOR=Gray]~ #[/COLOR] chown 0.0 /sbin/parted
[COLOR=Gray]~ #[/COLOR] chown 755 /sbin/parted
(*replace "/path/to/parted" with the full path to the parted binary downloaded to your computer)
Once you have your partition table printed out, copy and save it to a text file for later use.
When looking at the partition table, pay close attention to the file systems of the system, userdata, cache and media partitions. System, data and cache, should have an "ext4" formatting, while media should have a "fat32" formatting. The partitions that are missing the proper formatting are the ones you need to focus on because they need to be removed and repartitioned.
----------------------------------------------------------------------------------------------------------------------------------------
NEVER MESS WITH ANYTHING OTHER THAN SYSTEM, DATA, CACHE AND MEDIA!!!
----------------------------------------------------------------------------------------------------------------------------------------
The following, are the steps to repartition the system, data, and cache partitions. Media (sdcard) will have it's own steps so don't get them mixed up. These same steps will be used for each of the system data and cache partitions except you'll substitute the variables (in green) with the values for that particular partition. Be careful NOT to get the any of numbers mixed up or confused or you could potentially do serious damage to your device.
Code:
[COLOR=Gray]$[/COLOR] abd shell
[COLOR=Gray]~ #[/COLOR] umount [COLOR=SeaGreen]"directory_name"[/COLOR] [COLOR=Red]<---- This command is to make sure the volume isn't already mounted. If you get an error, it just means there is no volume mounted. Disregard.[/COLOR]
[COLOR=Gray]~ #[/COLOR] parted /dev/block/mmcblk0
[COLOR=Gray](parted)[/COLOR] rm [COLOR=SeaGreen]"partition_number"[/COLOR]
[COLOR=Gray](parted)[/COLOR] mkpart primary [COLOR=SeaGreen]"startblock" "endblock"[/COLOR]
[COLOR=Gray](parted)[/COLOR] name [COLOR=SeaGreen]"partition_number" "partition_name"[/COLOR]
[COLOR=Gray](parted)[/COLOR] quit
[COLOR=Gray]~ #[/COLOR] mke2fs -t ext4 /dev/block/mmcblk0p[COLOR=SeaGreen]"partition_number"[/COLOR]
[COLOR=Gray]~ #[/COLOR] mount [COLOR=SeaGreen]"directory_name"[/COLOR]
The values for the previous command variables are as follows...
SYSTEM
-------------------------------
"partition_number"= 9
"directory_name" = /system
"partition_name" = system
"startblock" = 312
"endblock" = 849
DATA
-------------------------------
"partition_number"= 10
"directory_name" = /data
"partition_name" = userdata
"startblock" = 849
"endblock" = 2041
CACHE
-------------------------------
"partition_number"= 11
"directory_name" = /cache
"partition_name" = cache
"startblock" = 2041
"endblock" = 2309
For example, in order to fix the DATA partition, the commands would be written like this...
Code:
[COLOR=Gray]$[/COLOR] abd shell
[COLOR=Gray]~ #[/COLOR] umount /data
[COLOR=Gray]~ #[/COLOR] parted /dev/block/mmcblk0
[COLOR=Gray](parted)[/COLOR] rm 10
[COLOR=Gray](parted)[/COLOR] mkpart primary 849 2041
[COLOR=Gray](parted)[/COLOR] name 10 userdata
[COLOR=Gray](parted)[/COLOR] quit
[COLOR=Gray]~ #[/COLOR] mke2fs -t ext4 /dev/block/mmcblk0p10
[COLOR=Gray]~ #[/COLOR] mount /data
The following are the steps to repartition the media (sdcard) partition.
Code:
[COLOR=Gray]$[/COLOR] adb shell
[COLOR=Gray]~ #[/COLOR] umount /sdcard [COLOR=Red]<----Same as before. If you receive an error on this command, just disregard it.[/COLOR]
[COLOR=Gray]~ #[/COLOR] parted /dev/block/mmcblk0
[COLOR=Gray](parted)[/COLOR] rm 12
[COLOR=Gray](parted)[/COLOR] mkpartfs primary fat32 2309 7690
[COLOR=Gray](parted)[/COLOR] rm 12
[COLOR=Gray](parted)[/COLOR] mkpart primary 2309 7690
[COLOR=Gray](parted)[/COLOR] name 12 media
[COLOR=Gray](parted)[/COLOR] quit
[COLOR=Gray]~ #[/COLOR] mount /sdcard
Once again, any partitions on which these commands are used, will lose any data left on them, but chances are it's your only option. Pay very close attention to what you are doing and be very cautious of typos. Accidentally entering /dev/block/mmcblk0p2' instead of "/dev/block/mmcblk0p12" will brick your device, to the point of needing to pull the back cover off and shorting it...well...let's just say you don't want to have to do that.
Afterwards you should be able to mount the effected partitions in recovery.
Be careful, and good luck.
Refrences:
http://forum.xda-developers.com/showpost.php?p=26285877&postcount=12
http://forum.xda-developers.com/showthread.php?t=1651413
http://forum.xda-developers.com/showthread.php?t=1497900
Thanks to kinfauns for showing me that it isn't always necessary to create an "ext2" file system first and then convert it to "ext4", and for showing me how to get rid of the pesky msftres flags.
Great work, sticky and Thank You.
Thank you bigjoe2675 and thank you soupmagnet for you fine work!!
soupmagnet said:
**IMPORTANT**
Read this thoroughly before you attempt any of it. The steps found herein will wipe out any data remaining on the partition for which it's used. If a partition has lost it's formatting, chances are the data is lost anyway, so there's not much more you can lose. This should be thought of as a last resort. Do not attempt this until you have tried everything else.
In many cases, just wiping the affected partition in recovery is enough to fix the problem. If not, continue reading.
If it's your sdcard that needs to be mounted, there is one thing you can try that might work in most cases.
Code:
[COLOR="Gray"]$[/COLOR] adb shell
[COLOR="Gray"]~ #[/COLOR] echo /dev/block/mmcblk0p12 >> /sys/devices/platform/usb_mass_storage/lun0/file
Your computer will probably respond that the volume/device needs formatted before using it. This will erase everything left on the sdcard, as will anything else you attempt in this thread.
* Choose a quick format (if possible) and format it as "fat32", block size "4096".
If that doesn't work...
You'll have to reset your partition table, just in case (this step is optional but it doesn't hurt to do it anyway).
You'll need to be in fastboot:
Code:
[COLOR="Gray"]$[/COLOR] adb shell
[COLOR="Gray"]~ #[/COLOR] idme bootmode 4002
[COLOR="Gray"]~ #[/COLOR] reboot
(*COTR recovery doesn't have idme so you'll have to use the recovery itself to reboot into the bootloader)
Once in fastboot, enter the following commands...
Code:
[COLOR="Gray"]$[/COLOR] fastboot oem format
[COLOR="Gray"]$[/COLOR] fastboot oem idme bootmode 5001
[COLOR="Gray"]$[/COLOR] fastboot reboot
With your partition table reset, it's time to print your partition table for reference.
For this, your device must be booted into recovery.
To print your partition table:
Code:
[COLOR="Gray"]$[/COLOR] adb shell
[COLOR="Gray"]~ #[/COLOR] parted /dev/block/mmcblk0
[COLOR="Gray"](parted)[/COLOR] print
This will print the layout of your partitions 1-12. It should look something like this:
View attachment 1421197
If you receive an error stating that parted can't be found, you need to find and download it and enter the following commands, or update your recovery...
Code:
[COLOR="Gray"]$[/COLOR] adb push /path/to/parted /sbin/parted
[COLOR="Gray"]$[/COLOR] adb shell
[COLOR="Gray"]~ #[/COLOR] chown 0.0 /sbin/parted
[COLOR="Gray"]~ #[/COLOR] chown 755 /sbin/parted
(*replace "/path/to/parted" with the full path to the parted binary downloaded to your computer)
Once you have your partition table printed out, copy and save it to a text file for later use.
When looking at the partition table, pay close attention to the file systems of the system, userdata, cache and media partitions. System, data and cache, should have an "ext4" formatting, while media should have a "fat32" formatting. The partitions that are missing the proper formatting are the ones you need to focus on because they need to be removed and repartitioned.
----------------------------------------------------------------------------------------------------------------------------------------
NEVER MESS WITH ANYTHING OTHER THAN SYSTEM, DATA, CACHE AND MEDIA!!!
----------------------------------------------------------------------------------------------------------------------------------------
The following, are the steps to repartition the system, data, and cache partitions. Media (sdcard) will have it's own steps so don't get them mixed up. These same steps will be used for each of the system data and cache partitions except you'll substitute the variables (in green) with the values for that particular partition. Be careful NOT to get the any of numbers mixed up or confused or you could potentially do serious damage to your device.
Code:
[COLOR="Gray"]$[/COLOR] abd shell
[COLOR="Gray"]~ #[/COLOR] umount [COLOR="SeaGreen"]"directory_name"[/COLOR]
[COLOR="Gray"]~ #[/COLOR] parted /dev/block/mmcblk0
[COLOR="Gray"](parted)[/COLOR] rm [COLOR="SeaGreen"]"partition_number"[/COLOR]
[COLOR="Gray"](parted)[/COLOR] mkpart primary [COLOR="SeaGreen"]"startblock" "endblock"[/COLOR]
[COLOR="Gray"](parted)[/COLOR] name [COLOR="SeaGreen"]"partition_number" "partition_name"[/COLOR]
[COLOR="Gray"](parted)[/COLOR] quit
[COLOR="Gray"]~ #[/COLOR] mke2fs -t ext4 /dev/block/mmcblk0p[COLOR="SeaGreen"]"partition_number"[/COLOR]
[COLOR="Gray"]~ #[/COLOR] mount [COLOR="SeaGreen"]"directory_name"[/COLOR]
The values for the previous command variables are as follows...
SYSTEM
-------------------------------
"partition_number"= 9
"directory_name" = /system
"partition_name" = system
"startblock" = 312
"endblock" = 849
DATA
-------------------------------
"partition_number"= 10
"directory_name" = /data
"partition_name" = userdata
"startblock" = 849
"endblock" = 2041
CACHE
-------------------------------
"partition_number"= 11
"directory_name" = /cache
"partition_name" = cache
"startblock" = 2041
"endblock" = 2309
For example, in order to fix the DATA partition, the commands would be written like this...
Code:
[COLOR="Gray"]$[/COLOR] abd shell
[COLOR="Gray"]~ #[/COLOR] umount /data
[COLOR="Gray"]~ #[/COLOR] parted /dev/block/mmcblk0
[COLOR="Gray"](parted)[/COLOR] rm 10
[COLOR="Gray"](parted)[/COLOR] mkpart primary 312 849
[COLOR="Gray"](parted)[/COLOR] name 10 userdata
[COLOR="Gray"](parted)[/COLOR] quit
[COLOR="Gray"]~ #[/COLOR] mke2fs -t ext4 /dev/block/mmcblk0p9
[COLOR="Gray"]~ #[/COLOR] mount /data
The following are the steps to repartition the media (sdcard) partition.
Code:
[COLOR="Gray"]$[/COLOR] adb shell
[COLOR="Gray"]~ #[/COLOR] umount /sdcard
[COLOR="Gray"]~ #[/COLOR] parted /dev/block/mmcblk0
[COLOR="Gray"](parted)[/COLOR] rm 12
[COLOR="Gray"](parted)[/COLOR] mkpartfs primary fat32 2309 7690
[COLOR="Gray"](parted)[/COLOR] rm 12
[COLOR="Gray"](parted)[/COLOR] mkpart primary 2309 7690
[COLOR="Gray"](parted)[/COLOR] name 12 media
[COLOR="Gray"](parted)[/COLOR] quit
[COLOR="Gray"]~ #[/COLOR] mount /sdcard
Once again, any partitions on which these commands are used, will lose any data left on them, but chances are it's your only option. Pay very close attention to what you are doing and be very cautious of typos. Accidentally entering /dev/block/mmcblk0p2' instead of "/dev/block/mmcblk0p12" will brick your device, to the point of needing to pull the back cover off and shorting it...well...let's just say you don't want to have to do that.
Afterwards you should be able to mount the effected partitions in recovery.
Be careful, and good luck.
Refrences:
http://forum.xda-developers.com/showpost.php?p=26285877&postcount=12
http://forum.xda-developers.com/showthread.php?t=1651413
http://forum.xda-developers.com/showthread.php?t=1497900
Thanks to kinfauns for showing me that it isn't always necessary to create an "ext2" file system first and then convert it to "ext4", and for showing me how to get rid of the pesky msftres flags.
Click to expand...
Click to collapse
The first method doesn't work, so as you said, i'l have to boot into fastboot.
But it says "idme not found"
Please help.
Noob.
I have attached some pics for more information.
A guide for getting into fastboot:
http://forum.xda-developers.com/showthread.php?t=1668159
[edit:] BTW This guide is for the Kindle Fire. On other devices your partition layout will likely be different. Try the forums for your particular device.
"That's a special kind of stupid. The kind that makes me laugh."
I didnt use this guide (although I read it all and was about to go this route) big thanks!
Got a question though , at one point I had (i guess temp root privelidges) because I sideloaded but in root explorer I didnt have su , anyway , in KFU there was a section that said you could change mount to write , although thats nots root , would I have been able to use the adb to push commands to the kindle? I wanted to get into the file explorer and just use usb mass storage to put files in and maybe gain root that way ?
*I realize :"That's a special kind of stupid. The kind that makes me laugh."but I thought Id ask anyway!!!
Vintage144 said:
I didnt use this guide (although I read it all and was about to go this route) big thanks!
Got a question though , at one point I had (i guess temp root privelidges) because I sideloaded but in root explorer I didnt have su , anyway , in KFU there was a section that said you could change mount to write , although thats nots root , would I have been able to use the adb to push commands to the kindle? I wanted to get into the file explorer and just use usb mass storage to put files in and maybe gain root that way ?
*I realize :"That's a special kind of stupid. The kind that makes me laugh."but I thought Id ask anyway!!!
Click to expand...
Click to collapse
LOL that does make me laugh, but not for reasons you'd think. Actually the USB mass storage is only the sdcard (media) partition. Mounting the sdcard to USB or side loading apps only gives you access to the sdcard, which you already have write permissions for anyway. You can't cross over to other partitions without mounting them first and you need to be the root user to do that. With the sdcard being secluded from the system partition, in order to get root permissions you need to be the root user or have write permissions on the system partition, at least temporarily.
On the original Kindle Fire you can get that through custom recovery, which has root permissions, or through some exploit found in Gingerbread. That's what makes Pokey9000's 'fbmode' so slick. It gives users access to fastboot, which in turn gives them access to flash a custom recovery and gain root permissions (KFU uses this) long enough to write SU and Superuser.apk to the system partition, eliminating the need for an exploit in Gingerbread.
These days, root exploits in Android are few and far between and they are getting patched pretty regularly, so the ability to install and boot onto custom recovery is pretty valuable. I imagine that's why Amazon used OMAP HS on the second generation devices in an (obviously feeble) attempt to patch such a gaping hole in their security.
The only reason. I say this , is because on my a500 I have a microsd card that I can transfer files to and from (granted I have root) however I had access to android folders ,I just thought as a last resort I could gain access that way,
I've noticed something funny on xda ,99% of people who have problems here have the same response "my friends device isn't working" I'm betting that means there device and instead of actually reading all the material available they just read one post and tried whatever the op said not realizing there's a process to everything the devs do and reason why we must follow directions! Writing can you fix my fubar is bs ,there's tons of info in hear ya just gotta look for it
Sent from my SAMSUNG-SGH-I717 using xda app-developers app
Well I tried all this. At the beginning it worked. But on every reboot or use, its just doesn't reconise the sdcard anymore.
format/reinstall/ play with it 10 minute/freeze/sd card cant read
format/reinstall/play with it 5 minuts/freeze/sdcant read
etc
at the end nothing's working.
On my last attemp I put the original rom.
Amazone give me a new one. sd card has probably bad sector.
---- Is there a way to prevent this trouble ?? ---
thanks
oVeRdOsE. said:
Well I tried all this. At the beginning it worked. But on every reboot or use, its just doesn't reconise the sdcard anymore.
format/reinstall/ play with it 10 minute/freeze/sd card cant read
format/reinstall/play with it 5 minuts/freeze/sdcant read
etc
at the end nothing's working.
On my last attemp I put the original rom.
Amazone give me a new one. sd card has probably bad sector.
---- Is there a way to prevent this trouble ?? ---
thanks
Click to expand...
Click to collapse
One way to check to see if your sdcard has bad sectors is with the following command:
Code:
adb shell dd if=/sdcard of=/dev/null
If it doesn't respond for more than 10 minutes, then you probably have bad sectors. But I'm guessing that might not the case since you are able to format it in the first place. Are you playing a game or something when this happens?
Sent from my KFHD using Tapatalk 2
Looking for an opinion
Hey there, very well written post.
My situation is regarding my Nexus Q. I attempted to flash a CM10.1 rom to it and something went wrong. I have it back to stock, but I think my partitions need to be reset, and was hoping someone could advise me based on my screenshot. While in Recovery, I get told that the SD Card only has 15mb of space, and it cannot mount /cache to perform a logcat. I notice from the OP screenshot that most of the other partions have ext4 beside but mine do not.
Should I follow your guide to re partition my unit?
Cheers
HomeR365 said:
Hey there, very well written post.
My situation is regarding my Nexus Q. I attempted to flash a CM10.1 rom to it and something went wrong. I have it back to stock, but I think my partitions need to be reset, and was hoping someone could advise me based on my screenshot. While in Recovery, I get told that the SD Card only has 15mb of space, and it cannot mount /cache to perform a logcat. I notice from the OP screenshot that most of the other partions have ext4 beside but mine do not.
Should I follow your guide to re partition my unit?
Cheers
Click to expand...
Click to collapse
Probably, but with GREAT discernment. You need to learn about your device's partitions and what they're for. And you definitely need to learn what the commands are doing so you understand what's going on. I wouldn't suggest just trying it out and hoping for the best.
This is awesome. Thanks so much. Bookmarked for future reference after spending hours on this.
stuck in orange logo boot
Hello, total noob here. Ok i rooted my kindle fire. rebooted and it started with kindle fire logo in blue color. Then I connect to my pc it showed it got connected.I put in new zip of cynogenmod jelly bean. All good rebooted with kindle fire logo orange color. No google apps, now i connect it to PC and it wont show kindle. So i downloaded the Gapps directly in kindle. rebooted for recovery but it rebooted to jelly bean. Blue kindle fire wont show up. I need to get into TWRP so that I can install Gaapps. trying for three days. read many posted. holding power button for 20 secs till it shuts down. then connecting usb to PC it restart but with orange fire logo. Added some lines 4000 or 4001 under tools menu in utility folder, run the cmd from the tools folder.... nothing changed. tried. RAN KFU again and it shows status offline, rooted no, and boot menu unkwon. Ran ADB straight shows waiting for device. So my question is how can I get back to recovery or blue logo where I can go and reset or reinstall or atleast install just Gaaps. tried install just random games APKs. It wont let it install. Please Help. Dont know much linux or DOS either.
thanks this help alot thanks a million
sir i have a arise rowdy t1+ phone its board is sp6820gb_7620 and cpu id is 8810 cpu frequency is 1ghz and ram is 512mb with mali 300 gpu,
android version is 2.3.6 and kernal version is 2.6.35.7 [email protected] #7, software version is mocordroid2.3.6.w12.20_p20.01_20130715.130506, hardware version is 1.1.0. my problem is that my phone has only 128 mb of internal memory and when i tried to edit vold.fstab to swap its memory with memory card it stopped detecting sd card when turned on but when in recovery mode sd is shown present, i think its very similar to karbonn a1+ in hardware and software part so can you please help me with my phone?
thank you so much !!!!!!!! its awesome
nitingoel2 said:
sir i have a arise rowdy t1+ phone its board is sp6820gb_7620 and cpu id is 8810 cpu frequency is 1ghz and ram is 512mb with mali 300 gpu,
android version is 2.3.6 and kernal version is 2.6.35.7 [email protected] #7, software version is mocordroid2.3.6.w12.20_p20.01_20130715.130506, hardware version is 1.1.0. my problem is that my phone has only 128 mb of internal memory and when i tried to edit vold.fstab to swap its memory with memory card it stopped detecting sd card when turned on but when in recovery mode sd is shown present, i think its very similar to karbonn a1+ in hardware and software part can you please help me with my phone?
Click to expand...
Click to collapse
This is a kindle fire forum friend
Sent from my Amazon Kindle Fire using Tapatalk
soupmagnet said:
**IMPORTANT**
Read this thoroughly before you attempt any of it. The steps found herein will wipe out any data remaining on the partition for which it's used. If a partition has lost it's formatting, chances are the data is lost anyway, so there's not much more you can lose. This should be thought of as a last resort. Do not attempt this until you have tried everything else.
In many cases, just wiping the affected partition in recovery is enough to fix the problem. If not, continue reading.
If it's your sdcard that needs to be mounted, there is one thing you can try that might work in most cases.
Code:
[COLOR=Gray]$[/COLOR] adb shell
[COLOR=Gray]~ #[/COLOR] echo /dev/block/mmcblk0p12 >> /sys/devices/platform/usb_mass_storage/lun0/file
Your computer will probably respond that the volume/device needs formatted before using it. This will erase everything left on the sdcard, as will anything else you attempt in this thread.
* Choose a quick format (if possible) and format it as "fat32", block size "4096".
If that doesn't work...
You'll have to reset your partition table, just in case (this step is optional but it doesn't hurt to do it anyway).
You'll need to be in fastboot:
Code:
[COLOR=Gray]$[/COLOR] adb shell
[COLOR=Gray]~ #[/COLOR] idme bootmode 4002
[COLOR=Gray]~ #[/COLOR] reboot
(*COTR recovery doesn't have idme so you'll have to use the recovery itself to reboot into the bootloader)
Once in fastboot, enter the following commands...
Code:
[COLOR=Gray]$[/COLOR] fastboot oem format
[COLOR=Gray]$[/COLOR] fastboot oem idme bootmode 5001
[COLOR=Gray]$[/COLOR] fastboot reboot
With your partition table reset, it's time to print your partition table for reference.
For this, your device must be booted into recovery.
To print your partition table:
Code:
[COLOR=Gray]$[/COLOR] adb shell
[COLOR=Gray]~ #[/COLOR] parted /dev/block/mmcblk0
[COLOR=Gray](parted)[/COLOR] print
This will print the layout of your partitions 1-12. It should look something like this:
View attachment 1421197
If you receive an error stating that parted can't be found, you need to find and download it and enter the following commands, or update your recovery...
Code:
[COLOR=Gray]$[/COLOR] adb push /path/to/parted /sbin/parted
[COLOR=Gray]$[/COLOR] adb shell
[COLOR=Gray]~ #[/COLOR] chown 0.0 /sbin/parted
[COLOR=Gray]~ #[/COLOR] chown 755 /sbin/parted
(*replace "/path/to/parted" with the full path to the parted binary downloaded to your computer)
Once you have your partition table printed out, copy and save it to a text file for later use.
When looking at the partition table, pay close attention to the file systems of the system, userdata, cache and media partitions. System, data and cache, should have an "ext4" formatting, while media should have a "fat32" formatting. The partitions that are missing the proper formatting are the ones you need to focus on because they need to be removed and repartitioned.
----------------------------------------------------------------------------------------------------------------------------------------
NEVER MESS WITH ANYTHING OTHER THAN SYSTEM, DATA, CACHE AND MEDIA!!!
----------------------------------------------------------------------------------------------------------------------------------------
The following, are the steps to repartition the system, data, and cache partitions. Media (sdcard) will have it's own steps so don't get them mixed up. These same steps will be used for each of the system data and cache partitions except you'll substitute the variables (in green) with the values for that particular partition. Be careful NOT to get the any of numbers mixed up or confused or you could potentially do serious damage to your device.
Code:
[COLOR=Gray]$[/COLOR] abd shell
[COLOR=Gray]~ #[/COLOR] umount [COLOR=SeaGreen]"directory_name"[/COLOR] [COLOR=Red]<---- This command is to make sure the volume isn't already mounted. If you get an error, it just means there is no volume mounted. Disregard.[/COLOR]
[COLOR=Gray]~ #[/COLOR] parted /dev/block/mmcblk0
[COLOR=Gray](parted)[/COLOR] rm [COLOR=SeaGreen]"partition_number"[/COLOR]
[COLOR=Gray](parted)[/COLOR] mkpart primary [COLOR=SeaGreen]"startblock" "endblock"[/COLOR]
[COLOR=Gray](parted)[/COLOR] name [COLOR=SeaGreen]"partition_number" "partition_name"[/COLOR]
[COLOR=Gray](parted)[/COLOR] quit
[COLOR=Gray]~ #[/COLOR] mke2fs -t ext4 /dev/block/mmcblk0p[COLOR=SeaGreen]"partition_number"[/COLOR]
[COLOR=Gray]~ #[/COLOR] mount [COLOR=SeaGreen]"directory_name"[/COLOR]
The values for the previous command variables are as follows...
SYSTEM
-------------------------------
"partition_number"= 9
"directory_name" = /system
"partition_name" = system
"startblock" = 312
"endblock" = 849
DATA
-------------------------------
"partition_number"= 10
"directory_name" = /data
"partition_name" = userdata
"startblock" = 849
"endblock" = 2041
CACHE
-------------------------------
"partition_number"= 11
"directory_name" = /cache
"partition_name" = cache
"startblock" = 2041
"endblock" = 2309
For example, in order to fix the DATA partition, the commands would be written like this...
Code:
[COLOR=Gray]$[/COLOR] abd shell
[COLOR=Gray]~ #[/COLOR] umount /data
[COLOR=Gray]~ #[/COLOR] parted /dev/block/mmcblk0
[COLOR=Gray](parted)[/COLOR] rm 10
[COLOR=Gray](parted)[/COLOR] mkpart primary 849 2041
[COLOR=Gray](parted)[/COLOR] name 10 userdata
[COLOR=Gray](parted)[/COLOR] quit
[COLOR=Gray]~ #[/COLOR] mke2fs -t ext4 /dev/block/mmcblk0p10
[COLOR=Gray]~ #[/COLOR] mount /data
The following are the steps to repartition the media (sdcard) partition.
Code:
[COLOR=Gray]$[/COLOR] adb shell
[COLOR=Gray]~ #[/COLOR] umount /sdcard [COLOR=Red]<----Same as before. If you receive an error on this command, just disregard it.[/COLOR]
[COLOR=Gray]~ #[/COLOR] parted /dev/block/mmcblk0
[COLOR=Gray](parted)[/COLOR] rm 12
[COLOR=Gray](parted)[/COLOR] mkpartfs primary fat32 2309 7690
[COLOR=Gray](parted)[/COLOR] rm 12
[COLOR=Gray](parted)[/COLOR] mkpart primary 2309 7690
[COLOR=Gray](parted)[/COLOR] name 12 media
[COLOR=Gray](parted)[/COLOR] quit
[COLOR=Gray]~ #[/COLOR] mount /sdcard
Once again, any partitions on which these commands are used, will lose any data left on them, but chances are it's your only option. Pay very close attention to what you are doing and be very cautious of typos. Accidentally entering /dev/block/mmcblk0p2' instead of "/dev/block/mmcblk0p12" will brick your device, to the point of needing to pull the back cover off and shorting it...well...let's just say you don't want to have to do that.
Afterwards you should be able to mount the effected partitions in recovery.
Be careful, and good luck.
Refrences:
http://forum.xda-developers.com/showpost.php?p=26285877&postcount=12
http://forum.xda-developers.com/showthread.php?t=1651413
http://forum.xda-developers.com/showthread.php?t=1497900
Thanks to kinfauns for showing me that it isn't always necessary to create an "ext2" file system first and then convert it to "ext4", and for showing me how to get rid of the pesky msftres flags.
Click to expand...
Click to collapse
Now, I get the error that the sdcard isn't mounted in root explorer, but I can still find all of the contents of the sdcard under /storage/emulated/0. Is there any reason for this? I was thinking of simply copying everything to a new folder named sdcard (because the old folder turned into a file with a filesize of -1 bytes) but then the newly created folder had the same problem. Whenever I tapped on it it gave me the same error, "The SD card in't mounted". I'm on a Nexus 4, any help?
Cannot solve this issue
I've had it with messing this for my 1st gen kindle fire, for the last 5 weeks I've been trying to unbrick it and nothing works. I can connect to the device using Super ADB Tool but trying to load anything produces the and I get "- exec '/system/bin/sh' failed" messages using the command prompt.
Update 2 : I have managed to take a backup of all the eMMC partitions using QFIL but I don't know how to proceed further.
Update 1 : Successfully flashed Stock ROM both via using ADB Sideload and SD card in the recovery but I am still stuck on the same "Can’t load Android System.Your data may be corrupt.If you continue to get this message, you may need to perform a factory data reset and erase all user data stored on this device " screen.
{
"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"
}
----------------------------------------------------------------------------------------------------------------------------------------------------------
Hello guys,I was uninstalling some apps and accidently Asus launcher,Google Play and Play services etc got selected as well.While apps were getting uninstalled and/or downgraded,phone restarted somehow and everything is screwed up now.I am stuck on a screen telling “Can’t load Android System.Your data may be corrupt.If you continue to get this message, you may need to perform a factory data reset and erase all user data stored on this device” with 2 options underneath, 1.Try again and 2.Factory data reset
When I select “Try again” it shows “ Dead android robot on his back and red triangle” for a split second and then goes to Asus logo screen for 5 seconds and then ask for encryption key, when I enter the key it goes to ASUS logo screen again for 30-40 seconds and again back to Error screen.
Here is the video of the problem (Keep reloading if it doesn't load in first attempt)
Asus Zenfone 3 Bootloop
Watch "Asus Zenfone 3 Bootloop" on Streamable.
streamable.com
Asus ZenFone 3 ZE552KL
ROM : Stock Oreo Version WW-15.0410.1807.75
Bootloader is Locked
Recovery : Stock Recovery
USB debugging : Disabled
Android device encryption is ON
Device is booting in Fastboot Mode and Recovery Mode.
It even boots to the Sideload Mode via recovery and running "adb devices" command shows it attached with it's serial number and sideload but other commands don't work.
Device is being shown /listed in Fastboot Mode.
I am unable to use adb as USB debugging is disabled.Running "adb devices " command shows device’s serial number and "recovery" written next to it ,in the command prompt.
Will flashing Version WW-15.0410.1807.75 again do the job without wiping user data ?
How about flashing only boot.img / system.img ? Can we resolve the issue by just flashing just system.img or boot.img instead of flashing complete stock ROM ?
I don't care about performance of the system or unpredicted issues later on,my entire focus is on preserving my data.I don’t wanna to lose my data coz there are some very important documents,projects reports, pictures and backups in it.
Any help would be greatly appreciated!
I extracted the Stock ROM zip and found it's updater script in "META-INF/com/google/android"
JavaScript:
ifelse( getprop("ro.build.id") == "OPR1.170623.026", ui_print("Android O device"), (
(greater_than_int(getprop("ro.build.date.utc"), 1514390400)) || abort("Can't install this package on device version less than 14.2020.1712.85 device build time (" + getprop("ro.build.date") + ").");
) );
ifelse( getprop("ro.product.name") == "OPEN_Phone", ui_print("OPEN SKU device"), (
getprop("ro.product.name") == "WW_Phone" || abort("This package is for \"WW_Phone\" devices; this is a \"" + getprop("ro.product.name") + "\".");
) );
ui_print("Target: asus/WW_Phone/ASUS_Z012D:8.0.0/OPR1.170623.026/15.0410.1807.75-0:user/release-keys");
show_progress(0.750000, 540);
ui_print("Patching system image unconditionally...");
block_image_update("/dev/block/bootdevice/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat") ||
abort("E1001: Failed to update system image.");
ui_print("Verifying the updated system image...");
if range_sha1("/dev/block/bootdevice/by-name/system", "136,0,32767,32768,32770,33009,33011,33516,65535,65536,65538,66043,98303,98304,98306,98545,98547,99052,131071,131072,131074,131579,163839,163840,163842,164081,164083,164588,196607,196608,196610,197115,229375,229376,229378,229617,229619,230124,262143,262144,262146,262651,294910,294912,294914,295153,295155,295660,327679,327680,327682,328187,335068,360448,360450,360955,393214,393216,393218,393723,393724,393725,425982,425984,425986,426491,458751,458752,458754,459259,491519,491520,491522,492027,524287,524288,524290,524795,557055,557056,557058,557563,589823,589824,589826,590331,622591,622592,622594,623099,655358,655360,655362,655867,688126,688128,688130,688635,720894,720896,720898,721403,753662,753664,753666,754171,786430,786432,786434,786939,819198,819200,819202,819441,819443,819948,851966,851968,851970,852475,884734,884736,884738,884977,884979,885484,917502,917504,917506,918011,950270,950272,950274,950779,967696,967697,983040") == "9a4740126249131da4ccd7e39fcf8d7302a3f818" then
if range_sha1("/dev/block/bootdevice/by-name/system", "136,32767,32768,32770,33009,33011,33516,65535,65536,65538,66043,98303,98304,98306,98545,98547,99052,131071,131072,131074,131579,163839,163840,163842,164081,164083,164588,196607,196608,196610,197115,229375,229376,229378,229617,229619,230124,262143,262144,262146,262651,294910,294912,294914,295153,295155,295660,327679,327680,327682,328187,335068,335580,359936,360448,360450,360955,393214,393216,393218,393723,393724,393725,425982,425984,425986,426491,458751,458752,458754,459259,491519,491520,491522,492027,524287,524288,524290,524795,557055,557056,557058,557563,589823,589824,589826,590331,622591,622592,622594,623099,655358,655360,655362,655867,688126,688128,688130,688635,720894,720896,720898,721403,753662,753664,753666,754171,786430,786432,786434,786939,819198,819200,819202,819441,819443,819948,851966,851968,851970,852475,884734,884736,884738,884977,884979,885484,917502,917504,917506,918011,950270,950272,950274,950779,967696,967697") == "6d1cea242bbacf2ea86f62fa6c06b6bde31ec430" then
ui_print("Verified the updated system image.");
else
abort("E1003: system partition has unexpected non-zero contents after OTA update");
endif;
else
abort("E1002: system partition has unexpected contents after OTA update");
endif;
show_progress(0.050000, 5);
package_extract_file("boot.img", "/dev/block/bootdevice/by-name/boot");
show_progress(0.200000, 10);
# ---- radio update tasks ----
ui_print("Patching firmware images...");
ifelse(msm.boot_update("main"), (
ui_print("installing cmnlib64");
package_extract_s_file("firmware-update/cmnlib64.mbn", "/dev/block/bootdevice/by-name/cmnlib64");
ui_print("installing sbl1");
package_extract_s_file("firmware-update/sbl1.mbn", "/dev/block/bootdevice/by-name/sbl1");
ui_print("installing cmnlib");
package_extract_s_file("firmware-update/cmnlib.mbn", "/dev/block/bootdevice/by-name/cmnlib");
ui_print("installing rpm");
package_extract_s_file("firmware-update/rpm.mbn", "/dev/block/bootdevice/by-name/rpm");
ui_print("installing tz");
package_extract_s_file("firmware-update/tz.mbn", "/dev/block/bootdevice/by-name/tz");
ui_print("installing devcfg");
package_extract_s_file("firmware-update/devcfg.mbn", "/dev/block/bootdevice/by-name/devcfg");
ui_print("installing aboot");
package_extract_s_file("firmware-update/emmc_appsboot.mbn", "/dev/block/bootdevice/by-name/aboot");
ui_print("installing lksecapp");
package_extract_s_file("firmware-update/lksecapp.mbn", "/dev/block/bootdevice/by-name/lksecapp");
ui_print("installing keymaster");
package_extract_s_file("firmware-update/keymaster.mbn", "/dev/block/bootdevice/by-name/keymaster");
), "");
ifelse(msm.boot_update("backup"), (
ui_print("installing cmnlib64bak");
package_extract_s_file("firmware-update/cmnlib64.mbn", "/dev/block/bootdevice/by-name/cmnlib64bak");
ui_print("installing sbl1bak");
package_extract_s_file("firmware-update/sbl1.mbn", "/dev/block/bootdevice/by-name/sbl1bak");
ui_print("installing cmnlibbak");
package_extract_s_file("firmware-update/cmnlib.mbn", "/dev/block/bootdevice/by-name/cmnlibbak");
ui_print("installing rpmbak");
package_extract_s_file("firmware-update/rpm.mbn", "/dev/block/bootdevice/by-name/rpmbak");
ui_print("installing tzbak");
package_extract_s_file("firmware-update/tz.mbn", "/dev/block/bootdevice/by-name/tzbak");
ui_print("installing devcfgbak");
package_extract_s_file("firmware-update/devcfg.mbn", "/dev/block/bootdevice/by-name/devcfgbak");
ui_print("installing abootbak");
package_extract_s_file("firmware-update/emmc_appsboot.mbn", "/dev/block/bootdevice/by-name/abootbak");
ui_print("installing lksecappbak");
package_extract_s_file("firmware-update/lksecapp.mbn", "/dev/block/bootdevice/by-name/lksecappbak");
ui_print("installing keymasterbak");
package_extract_s_file("firmware-update/keymaster.mbn", "/dev/block/bootdevice/by-name/keymasterbak");
),"no backup partition");
msm.boot_update("finalize");
ui_print("installing modem");
package_extract_s_file("firmware-update/NON-HLOS.bin", "/dev/block/bootdevice/by-name/modem");
ui_print("installing dsp");
package_extract_s_file("firmware-update/adspso.bin", "/dev/block/bootdevice/by-name/dsp");
ui_print("installing asusfw");
package_extract_file("firmware-update/asusfw.img", "/dev/block/bootdevice/by-name/asusfw");
set_progress(1.000000);
It's been a long time since I've used an Android phone.
I believe it was possible to flash a stock ROM and gaaps using fastboot commands without erasing user data.
audit13 said:
It's been a long time since I've used an Android phone.
I believe it was possible to flash a stock ROM and gaaps using fastboot commands without erasing user data.
Click to expand...
Click to collapse
Nope,I haven't tried that yet coz before doing anything I want to be absolutely sure that it's not gonna wipe my data. Again,flashing the complete stock ROM is required or flashing a specific image like boot.img / system.img would resolve the issue ?
Please take a look at this thread.I didn't get "-w flag" thing.
hello, what you are trying to achieve is possible but we need to make solution specific to your android version which is android 8.
secondly explain what happened in detail like was your phone rooted or not, like if not then how on earth you uninstall system apps, if not uninstalled just degraded using uninstall updates button tell me.
xda is only in my laptop so i am unable to reply instantly, you can use telegram to talk to me @Bhd82
[email protected] said:
secondly explain what happened in detail like was your phone rooted or not, like if not then how on earth you uninstall system apps, if not uninstalled just degraded using uninstall updates button tell me.
Click to expand...
Click to collapse
My device is not rooted.Yes,I selected multiple apps to uninstall and Asus launcher,Play Store,Google Play Services also got selected accidenlty and when Uninstall button was clicked, I suppose were downgraded in the process.
[email protected] said:
hello, what you are trying to achieve is possible but we need to make solution specific to your android version which is android 8.
secondly explain what happened in detail like was your phone rooted or not, like if not then how on earth you uninstall system apps, if not uninstalled just degraded using uninstall updates button tell me.
xda is only in my laptop so i am unable to reply instantly, you can use telegram to talk to me @Bhd82
Click to expand...
Click to collapse
Hello buddy,here is the video of the bootloop.
encryption is downgrade protected so you probably broke it. so first you should dump cache partition and search kernel logs for QSEECOM. if your bootloader is unlocked, boot custom recovery from fastboot boot command and dump partitions from adb pull, otherwise dump from edl.py.
loaders can be found here
https://forum.xda-developers.com/showthread.php?t=3603643&page=4
https://forum.xda-developers.com/showthread.php?t=3759473
https://romprovider.com/download-prog_emmc_firehose-qcom-phone-cpus
https://www.firmware27.com/2017/06/collectionprog-emmc-firehose-prog-ufs.html
https://www.leakite.com/collection-qualcomm-emmc-programmer-files
https://github.com/programmer-collection
https://github.com/bkerler/Loaders
https://github.com/thantoeaungat/firehose
https://www.tuserhp.com/2018/02/prog-emmc-firehose-ufs-firehose.html
https://firmwarego.com/index.php?a=downloads&b=folder&id=2288
edit: or try to get logcat during boot-loop
Code:
fastboot oem adb_enable
fastboot continue
adb logcat > logcat.log
aIecxs said:
encryption is downgrade protected so you probably broke it
Click to expand...
Click to collapse
Hello buddy,thank you for your valuable input! It means a lot! Well ,device was running without any glitch even after disabling and downgrading several pre installed apps and bloatwares.Several times ,I downgraded Playstore and Google play services to fix some issues.And everything went hand in hand with encryption enabled.I guess ,in this particular case, device got restarted during downgrading process and that corrupted some files.
aIecxs said:
if your bootloader is unlocked, boot custom recovery from fastboot boot command and dump partitions from adb pull, otherwise dump from edl.py.
Click to expand...
Click to collapse
My bootloader is locked and USB debugging is disabled.Yes, I have been digging threads regarding QSEECOM and QPST for past few days.
aIecxs said:
edit: or try to get logcat during boot-loop
Code:
fastboot oem adb_enable
fastboot continue
adb logcat > logcat.log
Click to expand...
Click to collapse
Unfortunately,unlocking bootloader would wipe out all the data which I want to preserve.Is there any way to get logcat with bootloader locked and usb debugging disabled ?
Thank you!
sorry I didn't know that fastboot oem adb_enable requires unlocked bootloader.
yes there is maybe. you can flash adb enabled AVBv1 signed modified boot.img from Qualcomm HS-USB QDLoader 9008 EDL mode if you have deep flash cable or figure out test point
first backup all partitions to PC
(replace ./ with proper path on disk or cd into directory. home directory ~ might run out of disk space)
Bash:
mkdir ~/tmp
cp -v ./prog_emmc_firehose_8953_ddr.mbn ~/tmp
cd edl
python3 ./Loaders/fhloaderparse.py ~/tmp Loaders
python3 ./edl.py printgpt
python3 ./edl.py r boot boot.img
python3 ./edl.py r system system.img
python3 ./edl.py r cache cache.img
python3 ./edl.py r metadata metadata.bin
python3 ./edl.py r devinfo devinfo.bin
python3 ./edl.py r userdata userdata.img
python3 ./edl.py r ...
second modify default.prop in boot.img ramdisk with AIK
Code:
ro.debuggable=1
ro.adb.secure=0
ro.secure=0
persist.sys.usb.config=mtp,adb
third flash image-new.img (which is hopefully AVBv1-signed) back to device and try get logcat while booting android (might brick your device)
Bash:
python3 ./edl.py w boot image-new.img
python3 ./edl.py reset
adb logcat '*:W' -b all | tee ~/logcat.txt
In case you bricked just restore backup boot.img and go for logs in cache partition. loop mount the partition image
Bash:
mkdir ~/cache
sudo -H mount -t ext4 -o loop,ro,noexec,noload,noatime ./cache.img ~/cache
sudo -H thunar ~/cache
edit: optional patch avb/dm-verity with Magisk
(attachments removed)
aIecxs said:
so first you should dump cache partition and search kernel logs for QSEECOM.dump from edl.py.
Click to expand...
Click to collapse
Hello,after a lot of research and experiments,I finally managed to build an EDL flash cable and figured out device's key combination to get the device in QDLoader 9008 EDL mode.
While I am a tech enthusiast,I am incognizant of Linux / Python so kindly bear with me.Even after spending hours I couldn't find any tutorial / video regarding how to use edl.py / bkerler/edl. Instructions here are unclear and complicated.Looks developer have a notion that everybody on this planet have an understanding of coding or python.It's full of jargons.A video tutorial of the whole process could be quite informative but unfortunatley it's missing.
This "loader" thing is also utterly confusing, some people are referring prog_emmc_firehose files as loader while bkerler/Loaders are entirely different phenomenon and I am unable to comprehend it.
I had downloaded xubuntu.iso to boot it via USB on Windows 11 machine only to find it later that bkerler/edl is first asking to use 3.9GB large Re LiveDVD and then later want us to install python + git and loads of other things.I don't understand what's the point of doing all this when one can run Linux commands in Windows using Windows Subsystem for Linux (WSL).
aIecxs said:
you can flash adb enabled AVBv1 signed modified boot.img from Qualcomm HS-USB QDLoader 9008 EDL mode if you have deep flash cable or figure out test point
first backup all partitions to PC
(replace ./ with proper path on disk or cd into directory. home directory ~ might run out of disk space)
Bash:
mkdir ~/tmp
cp -v ./prog_emmc_firehose_8953_ddr.mbn ~/tmp
cd edl
python3 ./Loaders/fhloaderparse.py ~/tmp Loaders
python3 ./edl.py printgpt
python3 ./edl.py r boot boot.img
python3 ./edl.py r system system.img
python3 ./edl.py r cache cache.img
python3 ./edl.py r metadata metadata.bin
python3 ./edl.py r devinfo devinfo.bin
python3 ./edl.py r userdata userdata.img
python3 ./edl.py r ...
second modify default.prop in boot.img ramdisk with AIK
Code:
ro.debuggable=1
ro.adb.secure=0
ro.secure=0
persist.sys.usb.config=mtp,adb
third flash image-new.img (which is hopefully AVBv1-signed) back to device and try get logcat while booting android (might brick your device)
Bash:
python3 ./edl.py w boot image-new.img
python3 ./edl.py reset
adb logcat '*:W' -b all | tee ~/logcat.txt
In case you bricked just restore backup boot.img and go for logs in cache partition. loop mount the partition image
Bash:
mkdir ~/cache
sudo -H mount -t ext4 -o loop,ro,noexec,noload,noatime ./cache.img ~/cache
sudo -H thunar ~/cache
edit: optional patch avb/dm-verity with Magisk
(have attached patched boot.img for both)
Click to expand...
Click to collapse
I am sorry but this post went completely over my head. Can you please recommend some step by step tutorial ? Thank you!
no worry, just follow the install instructions, then follow above steps. you can also do it on windows. but when it comes to loop-mount partition images it's far more easier to do it in linux (viewing logs in cache partition). another reason is you don't have to struggle with Qualcomm HS-USB QDLoader 9008 Drivers as linux fully handle all usb drivers automatically.
Prerequisites Step 1 (linux)
open terminal with CTRL + ALT + T and navigate to any directory on your hard disk with cd
Code:
cd /media/xubuntu/*
Prerequisites Step 2
install dependencies
Code:
# Debian/(X)ubuntu/Mint/etc
sudo apt update
sudo apt install adb fastboot python3-dev python3-pip liblzma-dev git
(optional) disable mobile broadband communication (skip this)
Code:
sudo apt purge modemmanager
sudo systemctl stop ModemManager
sudo systemctl disable ModemManager
sudo apt purge ModemManager
Prerequisites Step 3
download build and install edl.py
Code:
# edl.py (required)
git clone -b 3.52.1 https://github.com/bkerler/edl.git
cd edl
# common firehose programmer collection = factory loaders (optional)
git submodule update --init --recursive
# build + install
python3 setup.py build
sudo python3 setup.py install
(optional) set usb permissions so edl.py can run without sudo
Code:
sudo cp Drivers/51-edl.rules /etc/udev/rules.d
sudo cp Drivers/50-android.rules /etc/udev/rules.d
Prerequisites Step 4
connect device in EDL mode and check if linux can see it
Code:
lsusb
now ready for installing own loader and backup everything!
(see above)
- fhloaderparse.py
- edl.py
next step can be skipped because I already did it for you (see attachments)
- download and extract AIK-Linux-v3.8-ALL.tar.gz
- copy boot.img into AIK directory
- execute unpackimg.sh shell script
- modify default.prop
- execute repackimg.sh shell script
once you have backup proceed with flashing modified boot, reboot phone and get a logcat.txt
(see above)
aIecxs said:
no worry, just follow the install instructions, then follow above steps.
Click to expand...
Click to collapse
Install instructions of what ? Linux or edl.py ? Should I boot into xubuntu via a bootable USB flash drive ? Thank you!
- boot into xubuntu via a bootable USB pendrive
- goto - settings - keyboard - add your language and remove english layout
- open your prefered directory on windows hard disk
- right mouse click - open terminal here
- proceed with prerequisites (post #11)
- get a working firehose programmer (trial and error)
- proceed with backup (post #9)
aIecxs said:
Prerequisites Step 4
connect device in EDL mode and check if linux can see it
Code:
lsusb
now ready for installing own loader and backup everything!
(see above)
- fhloaderparse.py
- edl.py
Click to expand...
Click to collapse
Hello friend,after days of trial and error I managed to take a backup of all the partitions using QFIL.
As I want to do it via edl.py ,I have also set up a persistent Xubuntu USB and completed the Step 4.It looks like Linux has recognized the device in EDL mode ?
If I am correct,in the next step, I need to put "prog_emmc_firehose_8953_ddr.mbn" inside "edl" folder (
[email protected]:/media/xubuntu/New Volume/XB/edl) and open Terminal there and run the following commands one by one which will make backups inside "edl" folder.Correct me if I am wrong.
Bash:
mkdir ~/tmp
cp -v ./prog_emmc_firehose_8953_ddr.mbn ~/tmp
cd edl
python3 /media/xubuntu/New Volume/XB/edl/Loaders/fhloaderparse.py ~/tmp Loaders
python3 /media/xubuntu/New Volume/XB/edl/edl.py printgpt
python3 /media/xubuntu/New Volume/XB/edl/edl.py r boot boot.img
python3 /media/xubuntu/New Volume/XB/edl/edl.py r system system.img
python3 /media/xubuntu/New Volume/XB/edl/edl.py r cache cache.img
python3 /media/xubuntu/New Volume/XB/edl/edl.py r metadata metadata.bin
python3 /media/xubuntu/New Volume/XB/edl/edl.py r devinfo devinfo.bin
python3 /media/xubuntu/New Volume/XB/edl/edl.py r userdata userdata.img
python3 /media/xubuntu/New Volume/XB/edl/edl.py r ...
Again,there are 67 emmc partitions ( these are the partitions backed up by QFIL) out there.Nothing like "metadata".How do we find the names of the partition on LInux ? And do we need to do it manually one by one or is there any command to dump all the partitions ?
Thank you!
yes QDL means EDL...
(paths with whitespaces must be quoted "/media/xubuntu/New Volume/XB/edl" but no need to type the whole path at all, just dot ./ is fine if you already cd'd into directory)
yes you can place prog_emmc_firehose_8953_ddr.mbn inside edl directory, just parse the proper file path as first argument to fhloaderparse.py (like tmp/ in example)
./edl.py printgpt is the initial command it will print you all partition names and some device info. if it fails, maybe EDL got timeout and phone needs to reboot into EDL mode again
yes there is command to dump all partitions at once. you don't need it as you already have done this step from QFIL which is great, it means you found working firehose programmer
Code:
python3 edl.py printgpt
python3 edl.py rl dumps
your device obviously don't have metadata partition that was just example code
But you already have cache.bin you should loop-mount file and zip the logs from inside recovery directory. I will have a look into it maybe there is something useful inside. it should not contain anything that violates your privacy, however if you are paranoid about wifi/mac address or IMEI you can password protect zip
yes you can place prog_emmc_firehose_8953_ddr.mbn inside edl directory, just parse the proper file path/name as first argument to fhloaderparse.py (like tmp/ in example)
Complete file path is
/media/xubuntu/New Volume/XB/edl/prog_emmc_firehose_8953_ddr.mbn
Click to expand...
Click to collapse
and I am running terminal inside "edl folder" but despite several attempts I am getting following error.
Am I doing it the wrong way ? Can you please tell me the exact commands to run ?
aIecxs said:
But you already have cache.bin you should loop-mount file and zip the logs from inside recovery directory.
Click to expand...
Click to collapse
How do you do that ? By executing Step 4 of Post #9 ?
Bash:
mkdir ~/cache
sudo -H mount -t ext4 -o loop,ro,noexec,noload,noatime ./cache.img ~/cache
sudo -H thunar ~/cache
Thanks a lot!
one of your paths doesn't exist, either edl/Loaders/fhloaderparse.py is missing or it's because whitespaces in path
"/media/xubuntu/New Volume/XB/edl"
Code:
cd edl
python3 Loaders/fhloaderparse.py . Loaders
or if the above doesn't work
Code:
mkdir ~/tmp
cd edl
cp -v ./prog_emmc_firehose_8953_ddr.mbn ~/tmp
python3 ./Loaders/fhloaderparse.py ~/tmp Loaders
please also double check fhloaderparse.py exist and is spelled correctly and typed case sensitive
aIecxs said:
one of your paths doesn't exist, either edl/Loaders/fhloaderparse.py is missing.
Please also double check fhloaderparse.py exist and is spelled correctly and typed case sensitive
Click to expand...
Click to collapse
Yes,it's missing.There is no file called "fhloaderparse.py" inside "Loaders" folder.
It's also missing in bkerler/Loaders.
it is somehow removed from github
this commit is the last including it
https://github.com/bkerler/Loaders/tree/9b90b81
edit: lol it's still there in edlclient/Tools but without .py suffix
that's why the setup.py is needed, it will install the scripts right in environment so fhloaderparse is in $PATH already
this is new usage
Code:
mkdir ~/tmp
cd edl
cp -v prog_emmc_firehose_8953_ddr.mbn ~/tmp
fhloaderparse ~/tmp Loaders
_____________________________________________________________________delete___________________________________________________________________________