[DEV] Some help needed about partition layout on the i747 - AT&T, Rogers, Bell, Telus Samsung Galaxy S III

Hey guys.
I am currently working on making my app "kTool" compatible with the SGS3 (see here and here), for the intl. version I9300 it already works fine, but there seem to be quite some differences on the i747....
I am missing some details on partitions used on the i747.
I already found the EFS partition (mmcblk0p11), but I'm missing the partitions for kernel, recovery, modem FW and PARAM block.
If anyone know those, please do tell
And/Or I could really use the output of the following two commands on a terminal/shell:
Code:
su
ls -al /dev/block/platform/dw_mmc/by-name
ls -al /efs
Thanks

Pm sent
Sent from my SGH-I747M using Tapatalk 2

Here you go....
Code:
[email protected]:/ $ su
su
[email protected]:/ # ls -al /dev/block/platform/dw_mmc/by-name
ls -al /dev/block/platform/dw_mmc/by-name
/dev/block/platform/dw_mmc/by-name: No such file or directory
1|[email protected]:/ # ls -al /efs
ls -al /efs
drwxrwxr-x root root 1969-12-31 19:00 .files
drwxrwxr-x system system 2011-12-31 19:02 FactoryApp
drwxr-xr-x radio radio 2011-12-31 23:06 bluetooth
drwxrwxr-x system system 2011-12-31 19:00 drm
drwxrwxr-x radio radio 2011-12-31 19:02 imei
-rw-r--r-- radio radio 880 2011-12-31 19:01 redata.bin
drwxrwxr-x root root 1969-12-31 19:00 sensors
drwxrwxr-x system system 1969-12-31 19:00 wifi
-rw-r--r-- radio radio 144 2011-12-31 23:06 wv.keys
[email protected]:/ #

Thanks!
There seems to be even more different than I was already afraid it'd be....

Some folks on the Sprint side posted some info as well, and yes, there seem to be several differences compared to the international version.
http://forum.xda-developers.com/showthread.php?t=1732154

Thank you!
I am slowly gathering all required information to make it work on those models.
Another thing that confuses me is the lack of "nv_data.bin" in the /efs folder.... So the standing question is: Is backing up that folder and dumping the partition it's mounted from really enough? Or would other locations needed to be backed up as well to have the IMEI saved?

HellcatDroid said:
Thank you!
I am slowly gathering all required information to make it work on those models.
Another thing that confuses me is the lack of "nv_data.bin" in the /efs folder.... So the standing question is: Is backing up that folder and dumping the partition it's mounted from really enough? Or would other locations needed to be backed up as well to have the IMEI saved?
Click to expand...
Click to collapse
You may want to get together with zeesubalpha, he's working with IMEI stuff in this thread.
Thank you for your work on this.

dasfiend said:
You may want to get together with zeesubalpha, he's working with IMEI stuff in this thread.
Thank you for your work on this.
Click to expand...
Click to collapse
Ahh, very interesting, I shall get in touch with that development!
*runns-to-post-in-that-thread*

Any progress hellcat?
Sent from my SAMSUNG-SGH-I747 using xda app-developers app

justinblaine23 said:
Any progress hellcat?
Click to expand...
Click to collapse
Yah, but in the wrong direction - backing up the EFS partition seems no longer to be the way to back up that sensitive data holding the IMEI and stuff: http://forum.xda-developers.com/showpost.php?p=28677774&postcount=51

by-name
think this is what you were looking for:
Code:
lrwxrwxrwx 1 0 0 20 Jan 7 1970 aboot -> /dev/block/mmcblk0p5
lrwxrwxrwx 1 0 0 21 Jan 7 1970 backup -> /dev/block/mmcblk0p20
lrwxrwxrwx 1 0 0 20 Jan 7 1970 boot -> /dev/block/mmcblk0p7
lrwxrwxrwx 1 0 0 21 Jan 7 1970 cache -> /dev/block/mmcblk0p17
lrwxrwxrwx 1 0 0 21 Jan 7 1970 efs -> /dev/block/mmcblk0p11
lrwxrwxrwx 1 0 0 21 Jan 7 1970 fota -> /dev/block/mmcblk0p19
lrwxrwxrwx 1 0 0 21 Jan 7 1970 fsg -> /dev/block/mmcblk0p21
lrwxrwxrwx 1 0 0 21 Jan 7 1970 grow -> /dev/block/mmcblk0p23
lrwxrwxrwx 1 0 0 20 Jan 7 1970 modem -> /dev/block/mmcblk0p1
lrwxrwxrwx 1 0 0 21 Jan 7 1970 modemst1 -> /dev/block/mmcblk0p12
lrwxrwxrwx 1 0 0 21 Jan 7 1970 modemst2 -> /dev/block/mmcblk0p13
lrwxrwxrwx 1 0 0 20 Jan 7 1970 pad -> /dev/block/mmcblk0p9
lrwxrwxrwx 1 0 0 21 Jan 7 1970 param -> /dev/block/mmcblk0p10
lrwxrwxrwx 1 0 0 21 Jan 7 1970 persist -> /dev/block/mmcblk0p16
lrwxrwxrwx 1 0 0 21 Jan 7 1970 recovery -> /dev/block/mmcblk0p18
lrwxrwxrwx 1 0 0 20 Jan 7 1970 rpm -> /dev/block/mmcblk0p6
lrwxrwxrwx 1 0 0 20 Jan 7 1970 sbl1 -> /dev/block/mmcblk0p2
lrwxrwxrwx 1 0 0 20 Jan 7 1970 sbl2 -> /dev/block/mmcblk0p3
lrwxrwxrwx 1 0 0 20 Jan 7 1970 sbl3 -> /dev/block/mmcblk0p4
lrwxrwxrwx 1 0 0 21 Jan 7 1970 ssd -> /dev/block/mmcblk0p22
lrwxrwxrwx 1 0 0 21 Jan 7 1970 system -> /dev/block/mmcblk0p14
lrwxrwxrwx 1 0 0 20 Jan 7 1970 tz -> /dev/block/mmcblk0p8
lrwxrwxrwx 1 0 0 21 Jan 7 1970 userdata -> /dev/block/mmcblk0p15
also did a quick backup:
remove the echo and make sure you have a big sdcard.... i found a 64gb class 10 on amazon for about $90...
Code:
echo dd if=/dev/block/mmcblk0p5 of=/mnt/extSdCard/backup/good/mmcblk0p5_about.img bs=4096
echo dd if=/dev/block/mmcblk0p20 of=/mnt/extSdCard/backup/good/mmcblk0p20_backup.img bs=4096
echo dd if=/dev/block/mmcblk0p7 of=/mnt/extSdCard/backup/good/mmcblk0p7_boot.img bs=4096
echo dd if=/dev/block/mmcblk0p17 of=/mnt/extSdCard/backup/good/mmcblk0p17_cache.img bs=4096
echo dd if=/dev/block/mmcblk0p11 of=/mnt/extSdCard/backup/good/mmcblk0p11_efs.img bs=4096
echo dd if=/dev/block/mmcblk0p19 of=/mnt/extSdCard/backup/good/mmcblk0p19_fota.img bs=4096
echo dd if=/dev/block/mmcblk0p21 of=/mnt/extSdCard/backup/good/mmcblk0p21_fsg.img bs=4096
echo dd if=/dev/block/mmcblk0p23 of=/mnt/extSdCard/backup/good/mmcblk0p23_grow.img bs=4096
echo dd if=/dev/block/mmcblk0p1 of=/mnt/extSdCard/backup/good/mmcblk0p1_modem.img bs=4096
echo dd if=/dev/block/mmcblk0p12 of=/mnt/extSdCard/backup/good/mmcblk0p12_modemst1.img bs=4096
echo dd if=/dev/block/mmcblk0p13 of=/mnt/extSdCard/backup/good/mmcblk0p13_modemst2.img bs=4096
echo dd if=/dev/block/mmcblk0p9 of=/mnt/extSdCard/backup/good/mmcblk0p9_pad.img bs=4096
echo dd if=/dev/block/mmcblk0p10 of=/mnt/extSdCard/backup/good/mmcblk0p10_param.img bs=4096
echo dd if=/dev/block/mmcblk0p16 of=/mnt/extSdCard/backup/good/mmcblk0p16_persist.img bs=4096
echo dd if=/dev/block/mmcblk0p18 of=/mnt/extSdCard/backup/good/mmcblk0p18_recovery.img bs=4096
echo dd if=/dev/block/mmcblk0p6 of=/mnt/extSdCard/backup/good/mmcblk0p6_rpm.img bs=4096
echo dd if=/dev/block/mmcblk0p2 of=/mnt/extSdCard/backup/good/mmcblk0p2_sbl1.img bs=4096
echo dd if=/dev/block/mmcblk0p3 of=/mnt/extSdCard/backup/good/mmcblk0p3_sbl2.img bs=4096
echo dd if=/dev/block/mmcblk0p4 of=/mnt/extSdCard/backup/good/mmcblk0p4_sbl3.img bs=4096
echo dd if=/dev/block/mmcblk0p22 of=/mnt/extSdCard/backup/good/mmcblk0p22_ssd.img bs=4096
echo dd if=/dev/block/mmcblk0p14 of=/mnt/extSdCard/backup/good/mmcblk0p14_system.img bs=4096
echo dd if=/dev/block/mmcblk0p8 of=/mnt/extSdCard/backup/good/mmcblk0p8_tz.img bs=4096
echo dd if=/dev/block/mmcblk0p15 of=/mnt/extSdCard/backup/good/mmcblk0p15_userdata.img bs=4096
cheers... hit thanks if this helped.

Well, there are a lot of partitions on the device that are not necessarily visible all the time.
Code:
major minor #blocks name
179 0 15388672 mmcblk0
179 1 61440 mmcblk0p1
179 2 128 mmcblk0p2
179 3 256 mmcblk0p3
179 4 512 mmcblk0p4
179 5 2048 mmcblk0p5
179 6 512 mmcblk0p6
179 7 10240 mmcblk0p7
179 8 512 mmcblk0p8
179 9 512 mmcblk0p9
179 10 10240 mmcblk0p10
179 11 13952 mmcblk0p11
179 12 3072 mmcblk0p12
179 13 3072 mmcblk0p13
179 14 1536000 mmcblk0p14
179 15 12832768 mmcblk0p15
179 16 8192 mmcblk0p16
179 17 860160 mmcblk0p17
179 18 10240 mmcblk0p18
179 19 10240 mmcblk0p19
179 20 6144 mmcblk0p20
179 21 3072 mmcblk0p21
179 22 8 mmcblk0p22
179 23 5120 mmcblk0p23
179 64 2048 mmcblk0boot1
179 32 2048 mmcblk0boot0

c0ns0le said:
also did a quick backup:
remove the echo and make sure you have a big sdcard.... i found a 64gb class 10 on amazon for about $90...
Code:
echo dd if=/dev/block/mmcblk0p5 of=/mnt/extSdCard/backup/good/mmcblk0p5_about.img bs=4096
echo dd if=/dev/block/mmcblk0p20 of=/mnt/extSdCard/backup/good/mmcblk0p20_backup.img bs=4096
echo dd if=/dev/block/mmcblk0p7 of=/mnt/extSdCard/backup/good/mmcblk0p7_boot.img bs=4096
echo dd if=/dev/block/mmcblk0p17 of=/mnt/extSdCard/backup/good/mmcblk0p17_cache.img bs=4096
echo dd if=/dev/block/mmcblk0p11 of=/mnt/extSdCard/backup/good/mmcblk0p11_efs.img bs=4096
echo dd if=/dev/block/mmcblk0p19 of=/mnt/extSdCard/backup/good/mmcblk0p19_fota.img bs=4096
echo dd if=/dev/block/mmcblk0p21 of=/mnt/extSdCard/backup/good/mmcblk0p21_fsg.img bs=4096
echo dd if=/dev/block/mmcblk0p23 of=/mnt/extSdCard/backup/good/mmcblk0p23_grow.img bs=4096
echo dd if=/dev/block/mmcblk0p1 of=/mnt/extSdCard/backup/good/mmcblk0p1_modem.img bs=4096
echo dd if=/dev/block/mmcblk0p12 of=/mnt/extSdCard/backup/good/mmcblk0p12_modemst1.img bs=4096
echo dd if=/dev/block/mmcblk0p13 of=/mnt/extSdCard/backup/good/mmcblk0p13_modemst2.img bs=4096
echo dd if=/dev/block/mmcblk0p9 of=/mnt/extSdCard/backup/good/mmcblk0p9_pad.img bs=4096
echo dd if=/dev/block/mmcblk0p10 of=/mnt/extSdCard/backup/good/mmcblk0p10_param.img bs=4096
echo dd if=/dev/block/mmcblk0p16 of=/mnt/extSdCard/backup/good/mmcblk0p16_persist.img bs=4096
echo dd if=/dev/block/mmcblk0p18 of=/mnt/extSdCard/backup/good/mmcblk0p18_recovery.img bs=4096
echo dd if=/dev/block/mmcblk0p6 of=/mnt/extSdCard/backup/good/mmcblk0p6_rpm.img bs=4096
echo dd if=/dev/block/mmcblk0p2 of=/mnt/extSdCard/backup/good/mmcblk0p2_sbl1.img bs=4096
echo dd if=/dev/block/mmcblk0p3 of=/mnt/extSdCard/backup/good/mmcblk0p3_sbl2.img bs=4096
echo dd if=/dev/block/mmcblk0p4 of=/mnt/extSdCard/backup/good/mmcblk0p4_sbl3.img bs=4096
echo dd if=/dev/block/mmcblk0p22 of=/mnt/extSdCard/backup/good/mmcblk0p22_ssd.img bs=4096
echo dd if=/dev/block/mmcblk0p14 of=/mnt/extSdCard/backup/good/mmcblk0p14_system.img bs=4096
echo dd if=/dev/block/mmcblk0p8 of=/mnt/extSdCard/backup/good/mmcblk0p8_tz.img bs=4096
echo dd if=/dev/block/mmcblk0p15 of=/mnt/extSdCard/backup/good/mmcblk0p15_userdata.img bs=4096
Click to expand...
Click to collapse
For anyone who needs to dump the /dev/block/ images, but doesn't have a big external SD card, here's a neat trick.
I wanted a dump of mmcblk0p15 (userdata), but only have a 16gb external card. So, I used this command:
Code:
dd if=/dev/block/mmcblk0p15 bs=4096 | gzip -c > /mnt/extSdCard/userdata.img.gz
This piped the dd dump into gzip, which in turn compressed the image. So, what would have been a little over 12gb ended up being a little over 41mb.
To extract the image in Cygwin or in Linux after using adb to pull the file to a PC:
Code:
gunzip -c userdata.img.gz > userdata.img
That tiny file that had been compressed to around 41mb extracted to a little over 12gb! Just a tip for anyone who doesn't want to purchase a bigger sdcard just to make a backup.

Related

[Q] T-Mobile M8 backup

Hi all.
Need some help with backup of
mmcblk0p2
mmcblk0p18
mmcblk0p25
mmcblk0p26
mmcblk0p33
mmcblk0p37
From T-mobile m8
For backup them need:
dd if=/dev/block/mmcblk0p2 of=/sdcard/mmcblk0p2.img;
dd if=/dev/block/mmcblk0p18 of=/sdcard/radio_config.img;
dd if=/dev/block/mmcblk0p25 of=/sdcard/modem_st1.img;
dd if=/dev/block/mmcblk0p26 of=/sdcard/modem_st2.img;
dd if=/dev/block/mmcblk0p33 of=/sdcard/mmcblk0p33.img;
dd if=/dev/block/mmcblk0p37 of=/sdcard/mmcblk0p37.img;
Thanks.
Ps sorry for my bad English/
marvin_666 said:
Hi all.
Need some help with backup of
mmcblk0p2
mmcblk0p18
mmcblk0p25
mmcblk0p26
mmcblk0p33
mmcblk0p37
From T-mobile m8
For backup them need:
dd if=/dev/block/mmcblk0p2 of=/sdcard/mmcblk0p2.img;
dd if=/dev/block/mmcblk0p18 of=/sdcard/radio_config.img;
dd if=/dev/block/mmcblk0p25 of=/sdcard/modem_st1.img;
dd if=/dev/block/mmcblk0p26 of=/sdcard/modem_st2.img;
dd if=/dev/block/mmcblk0p33 of=/sdcard/mmcblk0p33.img;
dd if=/dev/block/mmcblk0p37 of=/sdcard/mmcblk0p37.img;
Thanks.
Ps sorry for my bad English/
Click to expand...
Click to collapse
Its need for me, as I make gsm dead
For this needed only terminal, not even root, and I realy apreciate any response

Lost recovery mode after resizing system partitions

Hi everyone,
I was trying to flash an nightly update from cyanogen and was getting the error : CM 12 Error:detected filesystem ext4 for /dev/block/platform/msm_sdcc.1/by-name/system and so, troubleshooting the problem, I tried to extend the system partitions through the procedure I found in a thread that contained the code down bellow and I believe that was after that that I lost my recoverymode. After this I tried to flash an earlier ROM to see if I could get the phone back and that was the last time I was able to enter in the recoverymode. Now I just have a black screen and also when I try to start my phone it took about 2 min on a black screen and then the OS starts. Besides that, all network connectivity was lost (wifi, call signal, 4g/3g) and my user space (/data partition) too (althoug it seems to be mounted). It appears it that was all disabled. Without a recovery mode and internet I am completely stuck. I tried to install a cwm and a twrp through adb after install flash gordon and flashify apk but it did not worked it cannot recognize a file out my /data . And the idea I had to restore from rommanager apk failed in the moment it tried to connect on internet to download content.
Please help!! Follow details:
LG_E975
I did a full wipe partition / cache/ dalvik
cyanogemMod version: 11-20141115-SNAPSHOT-M12-E975
android : 4.4.4.
kernel version: 3.4.0-CM+
Code I found and ran when trying to solve CM 12 Error:detected filesystem ext4 for /dev/block/platform/msm_sdcc.1/by-name/system
Code:
#!/sbin/sh
OUTFD=$2
ui_print() {
echo -n -e "ui_print $1\n" > /proc/self/fd/$OUTFD
echo -n -e "ui_print\n" > /proc/self/fd/$OUTFD
}
ui_print ""
ui_print "###########################"
ui_print "# audahadi #"
ui_print "# modded from forumber2's #"
ui_print "# Repartition script #"
ui_print "# Mi 3W /system 1.2G #"
ui_print "# only! #"
ui_print "###########################"
ui_print ""
ui_print "Unmounting systems partiton..."
umount -l /system
umount -l /system1
umount -l /dev/block/mmcblk0p25
umount -l /dev/block/mmcblk0p26
ui_print ""
ui_print "WARNING! System is ready, repartitioning will start in 2 seconds"
sleep 2
ui_print ""
ui_print "Removing partitions..."
parted /dev/block/mmcblk0 rm 25
parted /dev/block/mmcblk0 rm 26
ui_print "Removing partitions...COMPLETED"
ui_print ""
ui_print "Creating new partitions..."
parted /dev/block/mmcblk0 mkpart primary 403MB 1740MB
parted /dev/block/mmcblk0 mkpart primary 1740MB 1745MB
parted /dev/block/mmcblk0 name 25 system
parted /dev/block/mmcblk0 name 26 system1
ui_print "Creating new partitions...COMPLETED"
ui_print ""
ui_print "Unmounting systems partitions again..."
umount -l /system
umount -l /system1
umount -l /dev/block/mmcblk0p25
umount -l /dev/block/mmcblk0p26
ui_print "Unmounting systems partitions again...COMPLETED"
ui_print ""
ui_print "Formatting new partitions..."
mke2fs -b 4096 -T ext4 /dev/block/mmcblk0p25
mke2fs -b 4096 -T ext4 /dev/block/mmcblk0p26
ui_print "Formatting new partitions...COMPLETED."
ui_print ""
ui_print "ALL DONE!..."
ui_print ""
ui_print "Rebooting to recovery in 5 seconds..."
ui_print "Thanks to forumber2 for his original GT-i9300 repartition script"
sleep 5
reboot recovery
fi
Output from df command:
Code:
[email protected]:/ $ df
df
Filesystem Size Used Free Blksize
/dev 905.8M 128.0K 905.6M 4096
/sys/fs/cgroup 905.8M 12.0K 905.8M 4096
/mnt/asec 905.8M 0.0K 905.8M 4096
/mnt/obb 905.8M 0.0K 905.8M 4096
/mnt/fuse 905.8M 0.0K 905.8M 4096
/system 1.5G 401.3M 1.1G 4096
/cache 788.4M 14.4M 774.0M 4096
/data 25.0G 271.0M 24.8G 4096
[email protected]:/ $
Output from /proc/partitions
Code:
[email protected]:/ $ cat /proc/partitions
cat /proc/partitions
major minor #blocks name
179 0 30535680 mmcblk0
179 1 65536 mmcblk0p1
179 2 512 mmcblk0p2
179 3 512 mmcblk0p3
179 4 2048 mmcblk0p4
179 5 512 mmcblk0p5
179 6 512 mmcblk0p6
179 7 24576 mmcblk0p7
179 8 512 mmcblk0p8
179 9 1 mmcblk0p9
179 10 3072 mmcblk0p10
179 11 3072 mmcblk0p11
179 12 780 mmcblk0p12
179 13 780 mmcblk0p13
179 14 780 mmcblk0p14
179 15 8192 mmcblk0p15
179 16 8192 mmcblk0p16
179 17 8 mmcblk0p17
179 18 16384 mmcblk0p18
179 19 16384 mmcblk0p19
179 20 512 mmcblk0p20
179 21 512 mmcblk0p21
179 22 1556480 mmcblk0p22
179 23 819200 mmcblk0p23
179 24 26714112 mmcblk0p24
179 27 24576 mmcblk0p27
179 28 3072 mmcblk0p28
179 29 8 mmcblk0p29
179 30 32768 mmcblk0p30
179 31 32768 mmcblk0p31
259 0 512 mmcblk0p32
259 1 512 mmcblk0p33
259 2 16384 mmcblk0p34
259 3 879599 mmcblk0p35
[email protected]:/ $
Output from /dev/block directory:
Code:
[email protected]:/dev/block $ ls -l
ls -l
brw------- root root 7, 0 1970-01-02 12:07 loop0
brw------- root root 7, 1 1970-01-02 12:07 loop1
brw------- root root 7, 2 1970-01-02 12:07 loop2
brw------- root root 7, 3 1970-01-02 12:07 loop3
brw------- root root 7, 4 1970-01-02 12:07 loop4
brw------- root root 7, 5 1970-01-02 12:07 loop5
brw------- root root 7, 6 1970-01-02 12:07 loop6
brw------- root root 7, 7 1970-01-02 12:07 loop7
brw------- root root 179, 0 1970-01-02 12:07 mmcblk0
brw------- root root 179, 1 1970-01-02 12:07 mmcblk0p1
brw------- root root 179, 10 1970-01-02 12:07 mmcblk0p10
brw------- root root 179, 11 1970-01-02 12:07 mmcblk0p11
brw-rw---- system system 179, 12 1970-01-02 12:07 mmcblk0p12
brw-rw---- system system 179, 13 1970-01-02 12:07 mmcblk0p13
brw-rw---- system system 179, 14 1970-01-02 12:07 mmcblk0p14
brw------- root root 179, 15 1970-01-02 12:07 mmcblk0p15
brw------- root root 179, 16 1970-01-02 12:07 mmcblk0p16
brw------- root root 179, 17 1970-01-02 12:07 mmcblk0p17
brw-rw---- root system 179, 18 1970-01-02 12:07 mmcblk0p18
brw------- root root 179, 19 1970-01-02 12:07 mmcblk0p19
brw------- root root 179, 2 1970-01-02 12:07 mmcblk0p2
brw------- root root 179, 20 1970-01-02 12:07 mmcblk0p20
brw------- root root 179, 21 1970-01-02 12:07 mmcblk0p21
brw------- root root 179, 22 1970-01-02 12:07 mmcblk0p22
brw------- root root 179, 23 1970-01-02 12:07 mmcblk0p23
brw------- root root 179, 24 1970-01-02 12:07 mmcblk0p24
brw------- root root 179, 27 1970-01-02 12:07 mmcblk0p27
brw------- root root 179, 28 1970-01-02 12:07 mmcblk0p28
brw------- root root 179, 29 1970-01-02 12:07 mmcblk0p29
brw------- root root 179, 3 1970-01-02 12:07 mmcblk0p3
brw------- root root 179, 30 1970-01-02 12:07 mmcblk0p30
brw------- root root 179, 31 1970-01-02 12:07 mmcblk0p31
brw------- root root 259, 0 1970-01-02 12:07 mmcblk0p32
brw------- root root 259, 1 1970-01-02 12:07 mmcblk0p33
brw------- root root 259, 2 1970-01-02 12:07 mmcblk0p34
brw------- root root 259, 3 1970-01-02 12:07 mmcblk0p35
brw------- root root 179, 4 1970-01-02 12:07 mmcblk0p4
brw------- root root 179, 5 1970-01-02 12:07 mmcblk0p5
brw------- root root 179, 6 1970-01-02 12:07 mmcblk0p6
brw------- root root 179, 7 1970-01-02 12:07 mmcblk0p7
brw-rw---- system system 179, 8 1970-01-02 12:07 mmcblk0p8
brw-rw---- system system 179, 9 1970-01-02 12:07 mmcblk0p9
drwxr-xr-x root root 1970-01-02 12:07 platform
brw------- root root 1, 0 1970-01-02 12:07 ram0
brw------- root root 1, 1 1970-01-02 12:07 ram1
brw------- root root 1, 10 1970-01-02 12:07 ram10
brw------- root root 1, 11 1970-01-02 12:07 ram11
brw------- root root 1, 12 1970-01-02 12:07 ram12
brw------- root root 1, 13 1970-01-02 12:07 ram13
brw------- root root 1, 14 1970-01-02 12:07 ram14
brw------- root root 1, 15 1970-01-02 12:07 ram15
brw------- root root 1, 2 1970-01-02 12:07 ram2
brw------- root root 1, 3 1970-01-02 12:07 ram3
brw------- root root 1, 4 1970-01-02 12:07 ram4
brw------- root root 1, 5 1970-01-02 12:07 ram5
brw------- root root 1, 6 1970-01-02 12:07 ram6
brw------- root root 1, 7 1970-01-02 12:07 ram7
brw------- root root 1, 8 1970-01-02 12:07 ram8
brw------- root root 1, 9 1970-01-02 12:07 ram9
drwx------ root root 1970-01-02 12:09 vold
[email protected]:/dev/block $
Output from cat /proc/mounts
Code:
[email protected]:/dev/block $ cat /proc/mounts
cat /proc/mounts
rootfs / rootfs ro,seclabel,relatime 0 0
tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
none /sys/fs/cgroup tmpfs rw,seclabel,relatime,mode=750,gid=1000 0 0
tmpfs /mnt/asec tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/fuse tmpfs rw,seclabel,relatime,mode=775,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,seclabel,relatime,
data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 rw,seclabel,nosuid,node
v,noatime,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 rw,seclabel,nosuid,no
dev,noatime,noauto_da_alloc,data=ordered 0 0
[email protected]:/dev/block $
Hello,
Have you given up on this, have you fixed it, or are you still trying?
You may be able to flash a new recovery from fastboot (hold volume up while powering on).
I have not had any luck with cm-12.1 either. I did successfully resize my system partition, but cm-12.1 still will not flash. cm-12, however works fine.
TH

[GUIDE][GT-I9192][stuck at splash] how to get your data back

This is how I got my data from my GT-I9192 with TWRP and CM13. I don't know if it works for the other GT-I91XX models or with other firmware, but if you are in a similar situation like me it is worth a try.
Background:
I installed Cyanogenmod 13 and TWRP successfully about two month ago.
About a week ago my phone suddenly was black and did not want to boot at all. I convinced it to restart after pulling battery/recharge cable some times and putting them back, sometimes whilest holding power button pressed at the same time, until it gave a life sign again.
Current situation:
My phone stucks at samsung logo splash screen and reboots.
When trying to boot into recovery (TWRP; VOL.UP+HOME(+POWER)) the TeamWinRecovery logo screen is shown but then reboots.
Download mode (VOL.DOWN+HOME) works, Odin recognizes phone, but flashing TWRP successfully again does not fix anything.
Fastboot and adb do not recognize phone while it is in boot loop/recovery start loop/download mode!
But the interesting part is:
I am able to get via adb shell onto the phone while it is offline! Pull battery, put it back again, connect the phone via USB to PC and leave it off. Battery charging screen shows up and about a minute later adb shell is possible. It is in a strange state then, neither sdcard nor any else partition besides system is mounted, but mounting sdcard and data partition manually is possible.
Required:
Installed Samsung drivers, downloaded ADB tools, CM13(?), root enabled for adb.
make sure phone is off (pull battery/cable, put it back again)
connect phone via usb to pc
at pc cmd type
Code:
adb wait-for-device
when prompt is back, type
Code:
adb shell
use the commands below to get to your data
list internal partitions by name:
Code:
ls -l /dev/block/platform/msm_sdcc.1/by-name
output:
Code:
total 0
lrwxrwxrwx 1 root root 20 1970-01-01 00:00 aboot -> /dev/block/mmcblk0p5
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 backup -> /dev/block/mmcblk0p16
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 boot -> /dev/block/mmcblk0p13
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 cache -> /dev/block/mmcblk0p22
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 efs -> /dev/block/mmcblk0p10
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 fota -> /dev/block/mmcblk0p15
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 fsg -> /dev/block/mmcblk0p17
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 hidden -> /dev/block/mmcblk0p23
lrwxrwxrwx 1 root root 20 1970-01-01 00:00 modem -> /dev/block/mmcblk0p1
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 modemst1 -> /dev/block/mmcblk0p11
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 modemst2 -> /dev/block/mmcblk0p12
lrwxrwxrwx 1 root root 20 1970-01-01 00:00 pad -> /dev/block/mmcblk0p8
lrwxrwxrwx 1 root root 20 1970-01-01 00:00 param -> /dev/block/mmcblk0p9
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 persdata -> /dev/block/mmcblk0p20
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 persist -> /dev/block/mmcblk0p19
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 recovery -> /dev/block/mmcblk0p14
lrwxrwxrwx 1 root root 20 1970-01-01 00:00 rpm -> /dev/block/mmcblk0p6
lrwxrwxrwx 1 root root 20 1970-01-01 00:00 sbl1 -> /dev/block/mmcblk0p2
lrwxrwxrwx 1 root root 20 1970-01-01 00:00 sbl2 -> /dev/block/mmcblk0p3
lrwxrwxrwx 1 root root 20 1970-01-01 00:00 sbl3 -> /dev/block/mmcblk0p4
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 ssd -> /dev/block/mmcblk0p18
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 system -> /dev/block/mmcblk0p21
lrwxrwxrwx 1 root root 20 1970-01-01 00:00 tz -> /dev/block/mmcblk0p7
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 userdata -> /dev/block/mmcblk0p24 [COLOR="red"]<<< there is your userdata[/COLOR]
list all partitions with size:
Code:
cat /proc/partitions
output:
Code:
major minor #blocks name
179 0 7634944 mmcblk0
179 1 61440 mmcblk0p1
179 2 128 mmcblk0p2
179 3 256 mmcblk0p3
179 4 512 mmcblk0p4
179 5 2048 mmcblk0p5
179 6 512 mmcblk0p6
179 7 512 mmcblk0p7
179 8 12800 mmcblk0p8
179 9 8192 mmcblk0p9
179 10 13952 mmcblk0p10
179 11 3072 mmcblk0p11
179 12 3072 mmcblk0p12
179 13 10240 mmcblk0p13
179 14 10240 mmcblk0p14
179 15 10240 mmcblk0p15
179 16 7160 mmcblk0p16
179 17 3072 mmcblk0p17
179 18 8 mmcblk0p18
179 19 8192 mmcblk0p19
179 20 12288 mmcblk0p20
179 21 1536000 mmcblk0p21
179 22 204800 mmcblk0p22
179 23 36864 mmcblk0p23
179 24 5685231 mmcblk0p24 [COLOR="red"]<<< userdata partition has about 5.7 GB size[/COLOR]
179 32 30703616 mmcblk1
179 33 30703582 mmcblk1p1 [COLOR="red"]<<< this is your external sdcard partition[/COLOR]
get partition format
Code:
blkid
output:
Code:
/dev/block/mmcblk0p1: SEC_TYPE="msdos" UUID="00BC-614E" TYPE="vfat"
/dev/block/mmcblk0p10: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4"
/dev/block/mmcblk0p19: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4"
/dev/block/mmcblk0p20: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4"
/dev/block/mmcblk0p21: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4"
/dev/block/mmcblk0p22: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4"
/dev/block/mmcblk0p23: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4"
/dev/block/mmcblk0p24: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4" [COLOR="Red"]<<< userdata has ext4 format[/COLOR]
/dev/block/mmcblk1p1: UUID="02A3-21FE" LABEL="Volume" TYPE="exfat" [COLOR="Red"]<<< external sdcard has exfat format[/COLOR]
get currently mounted partitions
Code:
mount
output:
Code:
rootfs on / type rootfs (rw,seclabel)
tmpfs on /dev type tmpfs (rw,seclabel,nosuid,relatime,mode=755)
devpts on /dev/pts type devpts (rw,seclabel,relatime,mode=600)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,seclabel,relatime)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
/sys/kernel/debug on /sys/kernel/debug type debugfs (rw,seclabel,relatime)
none on /acct type cgroup (rw,relatime,cpuacct)
none on /sys/fs/cgroup type tmpfs (rw,seclabel,relatime,mode=750,gid=1000)
none on /sys/fs/cgroup/memory type cgroup (rw,relatime,memory)
tmpfs on /mnt type tmpfs (rw,seclabel,relatime,mode=755,gid=1000)
none on /dev/memcg type cgroup (rw,relatime,memory)
none on /dev/cpuctl type cgroup (rw,relatime,cpu)
none on /sys/fs/cgroup/bfqio type cgroup (rw,relatime,bfqio)
/dev/block/mmcblk0p21 on /system type ext4 (ro,seclabel,relatime,data=ordered)
neither data nor external sdcard is mounted
mount your external sdcard
Code:
mkdir /mnt/sdext
mount /dev/block/mmcblk1p1 /mnt/sdext
extract your data partition as image to your sdcard
Code:
dd if=/dev/block/mmcblk0p24 of=/mnt/sdext/userdata.img
important info: as your data partition is larger than 4GB, you can only put the whole image to your sdcard if it is in exFat or NTFS format (fat32 does not allow files larger than 4GB). You could copy the image splitted like follows:
Code:
dd if=/dev/block/mmcblk0p24 of=/mnt/sdext/userdata_1.img count=4000000
dd if=/dev/block/mmcblk0p24 of=/mnt/sdext/userdata_2.img skip=4000000
copy your images later to pc and put it together in windows cmd with
Code:
copy /B userdata_1.img + userdata_2.img userdata.img
Not tested though.
look if there is enough space on your external sdcard
Code:
df -H
H=human readable sizes with 1000 based system; use no option to list number of 1k blocks; use -P do list 512byte blocks, usefull as dd uses same block size per default
output:
Code:
Filesystem Size Used Avail Use% Mounted on
tmpfs 708M 41k 708M 1% /dev
none 708M 0 708M 0% /sys/fs/cgroup
tmpfs 708M 0 708M 0% /mnt
/dev/block/mmcblk0p21 1.5G 986M 562M 64% /system
/dev/block/mmcblk0p24 [COLOR="red"]5.7G[/COLOR] 5.3G 423M 93% /mnt/userdata
/dev/block/mmcblk1p1 31G 14G [COLOR="red"]18G[/COLOR] 44% /mnt/sdext
or mount your internal data partition as well and copy only the data you need
Code:
mkdir /mnt/userdata
mount /dev/block/mmcblk0p24 /mnt/userdata
use cd and ls -al commands to find your desired data;
in a secondary cmd at your pc copy directly to your pc via e.g. (contacts, sms, photos, TWRP backup, ...)
Code:
adb pull /mnt/userdata/data/com.android.providers.contacts/databases/contacts2.db
adb pull /mnt/userdata/data/com.android.providers.telephony/databases/mmssms.db
adb pull /mnt/userdata/media/0/DCIM
adb pull /mnt/userdata/media/0/TWRP
However, copying whole directories often failed and resulted in reboot of phone...
So, what to do with this image?
Mounting it in windows as new drive worked very well with OSFMount. As windows can not read ext4 partitions, you might want to install a ext4 driver like ext2fsd. And there is your data. Interesting folders are /media/0 where your internal sdcard data (like photos) resides and /data where all your apps store its data. You can find your contacts here /data/com.android.providers.contacts/databases/contacts2.db and your SMS here /data/com.android.providers.telephony/databases/mmssms.db. You can copy this databases to your new phone or inspect them via sqlite3.exe from your Android Development Tools. Here is a macro that could convert your contacts to vcard.
Credits:
Many of these information can be found at various xda threads, i do not remember all threads where I got which information from. Everything here was written from mind. Google and Wikipedia is also helpfull when it comes to command details. However this thread contains also most of the commands i showed above. This thread might give some inspirations about reading ext4 partition images under windows. If you feel that another thread has to be mentioned here, please write a message and I'll add it.
Thank you for this clarify guide. I try it even if my phone isn't bricked.
GT-I9190 cihazımdan Tapatalk kullanılarak gönderildi

[Q] cache I/O error, how to fix cache partition?

Short story: S4 mini duos (gt-i9192) successfully flashed with CM13 and TWRP. After some month stuck at samsung splash screen with boot loop. No recovery mode (bootloop), download mode is possible, flashing TWRP with Odin again successfull but doesn't help, debrick.img doesn't help, fastboot does not recognize phone, adb shell only works when phone is in battery charge mode (=off).
Everything I describe here is done in this battery charge mode adb shell.
"mount" shows that only system partition is mounted, cache, data and sdext are not mounted:
Code:
[email protected]:/ # mount
rootfs on / type rootfs (rw,seclabel)
tmpfs on /dev type tmpfs (rw,seclabel,nosuid,relatime,mode=755)
devpts on /dev/pts type devpts (rw,seclabel,relatime,mode=600)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,seclabel,relatime)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
/sys/kernel/debug on /sys/kernel/debug type debugfs (rw,seclabel,relatime)
none on /acct type cgroup (rw,relatime,cpuacct)
none on /sys/fs/cgroup type tmpfs (rw,seclabel,relatime,mode=750,gid=1000)
none on /sys/fs/cgroup/memory type cgroup (rw,relatime,memory)
tmpfs on /mnt type tmpfs (rw,seclabel,relatime,mode=755,gid=1000)
none on /dev/memcg type cgroup (rw,relatime,memory)
none on /dev/cpuctl type cgroup (rw,relatime,cpu)
none on /sys/fs/cgroup/bfqio type cgroup (rw,relatime,bfqio)
/dev/block/mmcblk0p21 on /system type ext4 (ro,seclabel,relatime,data=ordered)
cache partition is mmcblk0p22:
Code:
[email protected]:/ # ll /dev/block/platform/msm_sdcc.1/by-name
total 0
lrwxrwxrwx 1 root root 20 1970-01-01 00:00 aboot -> /dev/block/mmcblk0p5
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 backup -> /dev/block/mmcblk0p16
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 boot -> /dev/block/mmcblk0p13
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 cache -> /dev/block/mmcblk0p22
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 efs -> /dev/block/mmcblk0p10
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 fota -> /dev/block/mmcblk0p15
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 fsg -> /dev/block/mmcblk0p17
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 hidden -> /dev/block/mmcblk0p23
lrwxrwxrwx 1 root root 20 1970-01-01 00:00 modem -> /dev/block/mmcblk0p1
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 modemst1 -> /dev/block/mmcblk0p11
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 modemst2 -> /dev/block/mmcblk0p12
lrwxrwxrwx 1 root root 20 1970-01-01 00:00 pad -> /dev/block/mmcblk0p8
lrwxrwxrwx 1 root root 20 1970-01-01 00:00 param -> /dev/block/mmcblk0p9
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 persdata -> /dev/block/mmcblk0p20
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 persist -> /dev/block/mmcblk0p19
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 recovery -> /dev/block/mmcblk0p14
lrwxrwxrwx 1 root root 20 1970-01-01 00:00 rpm -> /dev/block/mmcblk0p6
lrwxrwxrwx 1 root root 20 1970-01-01 00:00 sbl1 -> /dev/block/mmcblk0p2
lrwxrwxrwx 1 root root 20 1970-01-01 00:00 sbl2 -> /dev/block/mmcblk0p3
lrwxrwxrwx 1 root root 20 1970-01-01 00:00 sbl3 -> /dev/block/mmcblk0p4
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 ssd -> /dev/block/mmcblk0p18
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 system -> /dev/block/mmcblk0p21
lrwxrwxrwx 1 root root 20 1970-01-01 00:00 tz -> /dev/block/mmcblk0p7
lrwxrwxrwx 1 root root 21 1970-01-01 00:00 userdata -> /dev/block/mmcblk0p24
making an image (or just reading to /dev/null) from cache partition throws no errors:
Code:
1|[email protected]:/ # dd if=/dev/block/mmcblk0p22 of=/dev/null
dd if=/dev/block/mmcblk0p22 of=/dev/null
409600+0 records in
409600+0 records out
209715200 bytes transferred in 7.943 secs (26402517 bytes/sec)
mounting userdata or other partitions is possible (grabbing the data also), trying to mount cache throws I/O error:
Code:
[email protected]:/ # mkdir /mnt/cache
[email protected]:/ # mount /dev/block/mmcblk0p22 /mnt/cache
mount: '/dev/block/mmcblk0p22'->'/mnt/cache': I/O error
running fsck shows there are problems:
Code:
e2fsck -f -c -y /dev/block/mmcblk0p22
e2fsck 1.42.9 (28-Dec-2013)
/dev/block/mmcblk0p22: recovering journal
Superblock needs_recovery flag is clear, but journal has data.
Run journal anyway? yes
e2fsck: unable to set superblock flags on /dev/block/mmcblk0p22
/dev/block/mmcblk0p22: ********** WARNING: Filesystem still has errors **********
trying to repair with -p option leads to an error:
Code:
e2fsck -f -p /dev/block/mmcblk0p22
/dev/block/mmcblk0p22: recovering journal
/dev/block/mmcblk0p22: Superblock needs_recovery flag is clear, but journal has data.
/dev/block/mmcblk0p22: Run journal anyway
/dev/block/mmcblk0p22: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
(i.e., without -a or -p options)
overwriting cache partition with zeros (dangerous:fingers-crossed throws no errors (so hopefully the emmc is not totally dead?):
Code:
12|[email protected]:/ # dd if=/dev/zero of=/dev/block/mmcblk0p22
dd: /dev/block/mmcblk0p22: No space left on device
409601+0 records in
409600+0 records out
209715200 bytes transferred in 105.509 secs (1987652 bytes/sec)
creating ext4 file system possible:
Code:
12|[email protected]:/ # mke2fs -T ext4 /dev/block/mmcblk0p22
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
12800 inodes, 51200 blocks
2560 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=54525952
2 block groups
32768 blocks per group, 32768 fragments per group
6400 inodes per group
Superblock backups stored on blocks:
32768
Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
But everything has no effect, fsck still shows the same errors. I have the impression of overwriting the cache partition with zeros does not really do so. Have I done something wrong? Is there any other tool I could run to do a partition check or to fix a partition? Any suggestions appreciated.
all tools from /system/bin and xbin
Code:
[email protected]:/system/bin # ll
aapt
acpi -> toybox
am
app_process -> app_process32
app_process32
applypatch
appops
appwidget
arp -> toybox
atrace
base64 -> toybox
basename -> toybox
bcc
bdt
blkid
blockdev -> toybox
bmgr
bootanimation
brctl
btnvtool
btsnoop
bu
bugreport
bzcat -> toybox
cal -> toybox
cat -> toybox
chattr -> toybox
chcon -> toybox
chgrp -> toybox
chmod -> toybox
chown -> toybox
chroot -> toybox
cksum -> toybox
clatd
clear -> toybox
cmp -> toybox
comm -> toybox
content
cp -> toybox
cpio -> toybox
curl
cut -> toybox
dalvikvm -> dalvikvm32
dalvikvm32
date -> toybox
dd -> toolbox
debuggerd
dex2oat
df -> toybox
dhcpcd
dhcptool
diff -> toybox
dirname -> toybox
dmesg -> toybox
dnsmasq
dos2unix -> toybox
dpm
drmserver
du -> toybox
dumpstate
dumpsys
e2fsck
ebtables
echo -> toybox
egrep -> grep
env -> toybox
expand -> toybox
expr -> toybox
fallocate -> toybox
false -> toybox
fdisk -> toybox
fgrep -> grep
file -> toybox
find -> toybox
flock -> toybox
fm_qsoc_patches
free -> toybox
freeramdisk -> toybox
fsck.exfat
fsck.f2fs
fsck.ntfs
fsck_msdos
fsfreeze -> toybox
fstype -> toybox
ftpget -> toybox
ftpput -> toybox
gatekeeperd
gatt_testtool
gdbserver
geomagneticd
getenforce -> toybox
getevent -> toolbox
getprop -> toybox
grep -> toybox
groups -> toybox
gzip
hci_qcomm_init
head -> toybox
help -> toybox
hid
host -> toybox
hostapd
hostapd_cli
hostname -> toybox
hwclock -> toybox
id -> toybox
idmap
ifconfig -> toybox
iftop -> toolbox
ime
inotifyd -> toybox
input
insmod -> toybox
install -> toybox
install-recovery.sh
installd
insthk
ioctl -> toolbox
ionice -> toybox
iorenice -> toybox
iotop -> toybox
ip
ip6tables
iptables
irsc_util
keystore
keystore_cli
kill -> toybox
killall -> toybox
l2test_ertm
ld.mc
linker
lmkd
ln -> toybox
load_policy -> toybox
log -> toolbox
logcat
logd
logname -> toybox
logpersist.cat -> logpersist.start
logpersist.start
logpersist.stop -> logpersist.start
logwrapper
losetup -> toybox
ls -> toolbox
lsattr -> toybox
lsmod -> toybox
lsof -> toybox
lspci -> toybox
lsusb -> toybox
make_ext4fs
makedevs -> toybox
mcap_tool
md5sum -> toybox
mdnsd
media
mediaserver
mkdir -> toybox
mke2fs
mkfifo -> toybox
mkfs.exfat
mkfs.f2fs
mkfs.ntfs
mknod -> toybox
mkswap -> toybox
mktemp -> toybox
mm-qcamera-daemon
modinfo -> toybox
monkey
more -> toybox
mount -> toybox
mount.exfat
mount.ntfs
mountpoint -> toybox
mpdecision
mtpd
mv -> toybox
nandread -> toolbox
nbd-client -> toybox
nc -> toybox
ndc
netcat -> toybox
netd
netstat -> toybox
newfs_msdos -> toolbox
nice -> toybox
nl -> toybox
nohup -> toybox
nproc -> toybox
oatdump
od -> toybox
partprobe -> toybox
paste -> toybox
patch -> toybox
patchoat
pgrep -> toybox
pidof -> toybox
ping
ping6
pivot_root -> toybox
pkill -> toybox
pm
pmap -> toybox
pngtest
pppd
printenv -> toybox
printf -> toybox
prlimit -> toolbox
ps -> toolbox
pwd -> toybox
pwdx -> toybox
qmuxd
qseecomd
r
racoon
radiooptions
radish
readahead -> toybox
readlink -> toybox
realpath -> toybox
reboot
renice -> toybox
requestsync
reset -> toybox
resize -> toybox
resize2fs
restart -> toolbox
restorecon -> toybox
rev -> toybox
rfc
rfkill -> toybox
rild
rm -> toybox
rmdir -> toybox
rmmod -> toybox
rmt_storage
route -> toybox
run-as
runcon -> toybox
schedtest
scp
screencap
screenrecord
sdcard
secdiscard
sed -> toybox
sendevent -> toolbox
sensorservice
seq -> toybox
service
servicemanager
setenforce -> toybox
setprop -> toybox
setsid -> toybox
settings
sftp
sgdisk
sh
sha1sum -> toybox
showlease
sleep -> toybox
sm
sort -> toybox
split -> toybox
ssh
ssh-keygen
sshd
start -> toolbox
start-ssh
stat -> toybox
stop -> toolbox
strings -> toybox
su -> ../xbin/su
surfaceflinger
svc
swapoff -> toybox
swapon -> toybox
sync -> toybox
sysctl -> toybox
sysinit
tac -> toybox
tail -> toybox
tar -> toybox
taskset -> toybox
tc
tee -> toybox
telecom
telnet -> toybox
test -> toybox
thermald
time -> toybox
time_daemon
timeout -> toybox
tinycap
tinymix
tinypcminfo
tinyplay
tm
toolbox
top -> toolbox
touch -> toybox
toybox
tr -> toybox
tracepath
tracepath6
traceroute -> toybox
traceroute6
true -> toybox
truncate -> toybox
tty -> toybox
tune2fs
tzdatacheck
uiautomator
ulimit -> toybox
umount -> toybox
uname -> toybox
uncrypt
uniq -> toybox
unix2dos -> toybox
uptime -> toybox
usleep -> toybox
vconfig -> toybox
vdc
vmstat -> toybox
vold
watch -> toybox
wc -> toybox
wcnss_service
which -> toybox
whoami -> toybox
wm
wpa_cli
wpa_supplicant
xargs -> toybox
xxd -> toybox
xzcat -> toybox
yes -> toybox
[email protected]:/system/xbin # ll
7z
add-property-tag
bash
bzip2
check-lost+found
cpustats
dexdump
fio
gunzip -> pigz
gzip -> pigz
htop
ksminfo
latencytop
librank
ls -> /system/bin/toybox
ltrace
micro_bench
micro_bench_static
nano
perfprofd
pigz
powertop
procmem
procrank
ps -> /system/bin/toybox
puncture_fs
rawbu
rsync
sane_schedstat
showmap
showslab
simpleperf
sqlite3
strace
su
taskstats
tcpdump
unpigz -> pigz
unrar
unzip
vim
wget
zcat -> pigz
zip
Some people told me that if I get errors when mounting or fsck-ing the cache partition it is very likely that it can't be recreated in any way, even if I'm able to write to it with dd without errors. Can anybody with deeper knowledge confirm this? How can I test it? This whole "is probably dead" guessing makes me sad.
Aside from that: does anybody have a recommendation of a shop selling i9192 motherboards in europe?

Mi A2 Lite boots only on slot B

I have a problem with my Mi A2 Lite.
I have installed the Lineage OS ROM: https://forum.xda-developers.com/mi-a2-lite/development/lineageos-16-0-xiaomi-mi-a2-lite-t3919060
It seems that works only one slot, the slot B.
I flash the updates of the rom following this guide: https://github.com/tkchn/daisyinstall/blob/master/README.md
If the active slot is the slot B, when I install an update of the rom in the slot A and then change the active slot to slot A in TWRP, then reboot and the phone goes in bootloop with the androidone logo.
Then I reboot the phone holding the power button, boot to fastboot and boot to recovery.
As this point I repeat the whole process, flashing the rom to slot B and changing the active slot to slot B and now if I reboot the phone all work.
I had this problem with all the updates that I have done.
You have probably different firmware versions on each partition. You can fix that by writing the B partitions into the A ones.
Go to twrp, and through either 'adb shell' or the recovery shell:
Code:
su
dd if=/dev/block/mmcblk0p32 of=/dev/block/mmcblk0p31
dd if=/dev/block/mmcblk0p27 of=/dev/block/mmcblk0p26
dd if=/dev/block/mmcblk0p25 of=/dev/block/mmcblk0p24
dd if=/dev/block/mmcblk0p14 of=/dev/block/mmcblk0p13
dd if=/dev/block/mmcblk0p45 of=/dev/block/mmcblk0p44
dd if=/dev/block/mmcblk0p29 of=/dev/block/mmcblk0p28
dd if=/dev/block/mmcblk0p48 of=/dev/block/mmcblk0p47
dd if=/dev/block/mmcblk0p55 of=/dev/block/mmcblk0p54
dd if=/dev/block/mmcblk0p20 of=/dev/block/mmcblk0p19
dd if=/dev/block/mmcblk0p18 of=/dev/block/mmcblk0p17
dd if=/dev/block/mmcblk0p59 of=/dev/block/mmcblk0p58
You should have exactly similar A/B partitions after this (except for system and boot, the ones updated), and there should be no problem.
With custom rom...
Install the rom , TWRP and disable encryption in slot A
Install gapps, magisk, kernel, etc in slot B
The device only boots in B slot
In stock rom boots in A slot
Its ok
GDFI said:
You have probably different firmware versions on each partition. You can fix that by writing the B partitions into the A ones.
Go to twrp, and through either 'adb shell' or the recovery shell:
Code:
su
dd if=/dev/block/mmcblk0p32 of=/dev/block/mmcblk0p31
dd if=/dev/block/mmcblk0p27 of=/dev/block/mmcblk0p26
dd if=/dev/block/mmcblk0p25 of=/dev/block/mmcblk0p24
dd if=/dev/block/mmcblk0p14 of=/dev/block/mmcblk0p13
dd if=/dev/block/mmcblk0p45 of=/dev/block/mmcblk0p44
dd if=/dev/block/mmcblk0p29 of=/dev/block/mmcblk0p28
dd if=/dev/block/mmcblk0p48 of=/dev/block/mmcblk0p47
dd if=/dev/block/mmcblk0p55 of=/dev/block/mmcblk0p54
dd if=/dev/block/mmcblk0p20 of=/dev/block/mmcblk0p19
dd if=/dev/block/mmcblk0p18 of=/dev/block/mmcblk0p17
dd if=/dev/block/mmcblk0p59 of=/dev/block/mmcblk0p58
You should have exactly similar A/B partitions after this (except for system and boot, the ones updated), and there should be no problem.
Click to expand...
Click to collapse
Thank you very much @GDFI!
Probably I have android 8 in slot A and android 9 in slot B.
I will try to do this. Will all my data and settings survive this?
For knowledge, is there a list to understand what mmcblk**** partitions match?
leechgid said:
With custom rom...
Install the rom , TWRP and disable encryption in slot A
Install gapps, magisk, kernel, etc in slot B
The device only boots in B slot
In stock rom boots in A slot
Its ok
Click to expand...
Click to collapse
I don't understand, can you explain better?
I found how to see the list of partitions of the Mi A2 Lite:
Code:
daisy:/ # ls -l /dev/block/platform/soc/7824900.sdhci/by-name/
total 0
lrwxrwxrwx 1 root root 20 1970-05-16 13:21 DDR -> /dev/block/mmcblk0p7
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 aboot_a -> /dev/block/mmcblk0p31
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 aboot_b -> /dev/block/mmcblk0p32
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 apdp -> /dev/block/mmcblk0p15
lrwxrwxrwx 1 root root 20 1970-05-16 13:21 bk1 -> /dev/block/mmcblk0p5
lrwxrwxrwx 1 root root 20 1970-05-16 13:21 bk2 -> /dev/block/mmcblk0p6
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 bk3 -> /dev/block/mmcblk0p10
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 bk4 -> /dev/block/mmcblk0p34
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 bk5 -> /dev/block/mmcblk0p42
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 bk6 -> /dev/block/mmcblk0p46
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 boot_a -> /dev/block/mmcblk0p51
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 boot_b -> /dev/block/mmcblk0p52
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 cmnlib64_a -> /dev/block/mmcblk0p26
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 cmnlib64_b -> /dev/block/mmcblk0p27
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 cmnlib_a -> /dev/block/mmcblk0p24
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 cmnlib_b -> /dev/block/mmcblk0p25
lrwxrwxrwx 1 root root 20 1970-05-16 13:21 config -> /dev/block/mmcblk0p9
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 devcfg_a -> /dev/block/mmcblk0p13
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 devcfg_b -> /dev/block/mmcblk0p14
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 devinfo -> /dev/block/mmcblk0p38
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 dip -> /dev/block/mmcblk0p33
lrwxrwxrwx 1 root root 20 1970-05-16 13:21 dpo -> /dev/block/mmcblk0p3
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 dsp_a -> /dev/block/mmcblk0p44
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 dsp_b -> /dev/block/mmcblk0p45
lrwxrwxrwx 1 root root 20 1970-05-16 13:21 fsc -> /dev/block/mmcblk0p1
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 fsg -> /dev/block/mmcblk0p39
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 keymaster_a -> /dev/block/mmcblk0p28
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 keymaster_b -> /dev/block/mmcblk0p29
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 keystore -> /dev/block/mmcblk0p22
lrwxrwxrwx 1 root root 20 1970-05-16 13:21 limits -> /dev/block/mmcblk0p8
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 lksecapp -> /dev/block/mmcblk0p11
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 lksecappbak -> /dev/block/mmcblk0p12
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 logdump -> /dev/block/mmcblk0p53
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 mcfg -> /dev/block/mmcblk0p37
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 mdtp_a -> /dev/block/mmcblk0p47
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 mdtp_b -> /dev/block/mmcblk0p48
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 misc -> /dev/block/mmcblk0p30
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 modem_a -> /dev/block/mmcblk0p54
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 modem_b -> /dev/block/mmcblk0p55
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 modemst1 -> /dev/block/mmcblk0p40
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 modemst2 -> /dev/block/mmcblk0p41
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 mota -> /dev/block/mmcblk0p21
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 msadp -> /dev/block/mmcblk0p16
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 persist -> /dev/block/mmcblk0p49
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 persistbak -> /dev/block/mmcblk0p50
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 rpm_a -> /dev/block/mmcblk0p19
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 rpm_b -> /dev/block/mmcblk0p20
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 sbl1_a -> /dev/block/mmcblk0p17
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 sbl1_b -> /dev/block/mmcblk0p18
lrwxrwxrwx 1 root root 20 1970-05-16 13:21 sec -> /dev/block/mmcblk0p4
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 splash -> /dev/block/mmcblk0p43
lrwxrwxrwx 1 root root 20 1970-05-16 13:21 ssd -> /dev/block/mmcblk0p2
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 syscfg -> /dev/block/mmcblk0p23
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 system_a -> /dev/block/mmcblk0p56
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 system_b -> /dev/block/mmcblk0p57
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 tz_a -> /dev/block/mmcblk0p35
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 tz_b -> /dev/block/mmcblk0p36
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 userdata -> /dev/block/mmcblk0p60
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 vendor_a -> /dev/block/mmcblk0p58
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 vendor_b -> /dev/block/mmcblk0p59
@GDFI You have omitted three partitions: system, boot, tz.
I understand system and boot, but what is the tz partition?
Should not be copied?
Code:
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 tz_a -> /dev/block/mmcblk0p35
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 tz_b -> /dev/block/mmcblk0p36
epcesp said:
@GDFI You have omitted three partitions: system, boot, tz.
I understand system and boot, but what is the tz partition?
Should not be copied?
Code:
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 tz_a -> /dev/block/mmcblk0p35
lrwxrwxrwx 1 root root 21 1970-05-16 13:21 tz_b -> /dev/block/mmcblk0p36
Click to expand...
Click to collapse
Sorry I omitted the TZ partition by error, it must be copied from b to a too. (not important here but if you want to have an idea about every partition "role" : https://forum.xda-developers.com/android/general/info-android-device-partitions-basic-t3586565 )
For the boot and system partitions, you can also flash them from the B slot to the A one if you want, but when you flash an update from the B slot, the new system.img and boot.img from the update will be flashed into the A partitions ; so there's no absolute need to copy them manually unless you want to try booting from the A slot without updating. (I hope I am somehow clear lol )
Oh and it won't affect your data at all!
GDFI said:
Sorry I omitted the TZ partition by error, it must be copied from b to a too. (not important here but if you want to have an idea about every partition "role" : https://forum.xda-developers.com/android/general/info-android-device-partitions-basic-t3586565 )
For the boot and system partitions, you can also flash them from the B slot to the A one if you want, but when you flash an update from the B slot, the new system.img and boot.img from the update will be flashed into the A partitions ; so there's no absolute need to copy them manually unless you want to try booting from the A slot without updating. (I hope I am somehow clear lol )
Oh and it won't affect your data at all!
Click to expand...
Click to collapse
Thanks, you were very clear!
Definitely, I used these commands:
Code:
su
dd if=/dev/block/mmcblk0p32 of=/dev/block/mmcblk0p31 # aboot_b -> aboot_a
dd if=/dev/block/mmcblk0p52 of=/dev/block/mmcblk0p51 # boot_b -> boot_a
dd if=/dev/block/mmcblk0p27 of=/dev/block/mmcblk0p26 # cmnlib64_b -> cmnlib64_a
dd if=/dev/block/mmcblk0p25 of=/dev/block/mmcblk0p24 # cmnlib_b -> cmnlib_a
dd if=/dev/block/mmcblk0p14 of=/dev/block/mmcblk0p13 # devcfg_b -> devcfg_a
dd if=/dev/block/mmcblk0p45 of=/dev/block/mmcblk0p44 # dsp_b -> dsp_a
dd if=/dev/block/mmcblk0p29 of=/dev/block/mmcblk0p28 # keymaster_b -> keymaster_a
dd if=/dev/block/mmcblk0p48 of=/dev/block/mmcblk0p47 # mdtp_b -> mdtp_a
dd if=/dev/block/mmcblk0p55 of=/dev/block/mmcblk0p54 # modem_b -> modem_a
dd if=/dev/block/mmcblk0p20 of=/dev/block/mmcblk0p19 # rpm_b -> rpm_a
dd if=/dev/block/mmcblk0p18 of=/dev/block/mmcblk0p17 # sbl1_b -> sbl1_a
dd if=/dev/block/mmcblk0p57 of=/dev/block/mmcblk0p56 # system_b -> system_a
dd if=/dev/block/mmcblk0p36 of=/dev/block/mmcblk0p35 # tz_b -> tz_a
dd if=/dev/block/mmcblk0p59 of=/dev/block/mmcblk0p58 # vendor_b -> vendor_a
Now I have to wait the next update to see if it works.
I have a doubt, if the custom roms only change the system and boot partitions, does that mean that without having the original rom the other partitions will no longer be updated?
epcesp said:
Now I have to wait the next update to see if it works.
I have a doubt, if the custom roms only change the system and boot partitions, does that mean that without having the original rom the other partitions will no longer be updated?
Click to expand...
Click to collapse
Nice!
Yep, the custom roms rely on stock vendor, modem etc... and if you install one on the top of 10.0.0.3 stock for example, the vendor, modem, about, and other partitions will keep the same version and won't be updated with the custom rom updates.
You can update them manually by flashing newer images of those partitions (that can be extracted from ota updates), as long as the new version is still compatible with the rom ; for example a custom rom made to be compatible with an Oreo vendor may not work if the vendor is updated to its Pie version (The vendor having an Oreo version in the slot A might be the reason you couldn't boot :v ). Some developers recommend to use certain versions sometimes.
In short, those partitions won't be updated unless you want to do it manually
Clear, but if I want to update to latest version, mantaining my data and my rom, which partitions should I flash?
All except system and boot?
Yes, you flash everything except system and boot.
But one important thing is : if you have disabled encryption, flashing an update of vendor partition will re-enable forced encryption, so you would need to go to TWRP just after flashing and install Encryption disabler zip BEFORE the first boot, otherwise your data would be encrypted directly after first booting.
I made an update of the rom and now the phone works also in slot a, thanks @GDFI!
GDFI said:
Yes, you flash everything except system and boot.
But one important thing is : if you have disabled encryption, flashing an update of vendor partition will re-enable forced encryption, so you would need to go to TWRP just after flashing and install Encryption disabler zip BEFORE the first boot, otherwise your data would be encrypted directly after first booting.
Click to expand...
Click to collapse
What happens if I have my data already encrypted? I encrypted the phone from android settings.
When I installed the rom for the first time I flashed also force encryption disabled, as reported in the installation guide. Then in the rom from android security settings I encrypted the phone.
I'm not very sure about the purpouse of force encryption disabler.
epcesp said:
What happens if I have my data already encrypted? I encrypted the phone from android settings.
When I installed the rom for the first time I flashed also force encryption disabled, as reported in the installation guide. Then in the rom from android security settings I encrypted the phone.
I'm not very sure about the purpouse of force encryption disabler.
Click to expand...
Click to collapse
Happy it worked
Some ROMs don't support encryption, and TWRP especially cannot read encrypted data so most people prefer disable it. Since you're already encrypted, you can ignore the Disabler stuff!
Ok, thank you very much for all the support!

Categories

Resources