ValueError: malformed recovery.fstab line: "/boot emmc /dev/block/platform/sprd-sdhci - Android Q&A, Help & Troubleshooting

ValueError: malformed recovery.fstab line: "/boot emmc /dev/block/platform/sprd-sdhci
I need help with compiling CM-13 for my device, I've been following AlaskaLinuxUser's guide for building the device tree from scratch. I'm stuck at one point when building that I just can't figure out though, can anyone help me please?
Made recovery image: /home/raid/android/system/out/target/product/goyave3g/recovery.img
Target build info: /home/raid/android/system/out/target/product/goyave3g/system/build.prop
Construct recovery from boot
mkdir -p /home/raid/android/system/out/target/product/goyave3g/obj/PACKAGING/recovery_patch_intermediates/
PATH=/home/raid/android/system/out/host/linux-x86/bin:$PATH /home/raid/android/system/out/host/linux-x86/bin/imgdiff /home/raid/android/system/out/target/product/goyave3g/boot.img /home/raid/android/system/out/target/product/goyave3g/recovery.img /home/raid/android/system/out/target/product/goyave3g/obj/PACKAGING/recovery_patch_intermediates/recovery_from_boot.p
build/tools/generate-notice-files.py /home/raid/android/system/out/target/product/goyave3g/obj/NOTICE.txt /home/raid/android/system/out/target/product/goyave3g/obj/NOTICE.html "Notices for files contained in the filesystem images in this directory:" /home/raid/android/system/out/target/product/goyave3g/obj/NOTICE_FILES/src
failed to reconstruct target deflate chunk 1 [(null)]; treating as normal
chunk 0: type 0 start 0 len 5230602
chunk 1: type 2 start 5230602 len 1732096
chunk 2: type 0 start 6193783 len 269705
Construct patches for 3 chunks...
Combining NOTICE files into HTML
Combining NOTICE files into text
patch 0 is 206 bytes (of 5230602)
patch 1 is 1730987 bytes (of 963181)
patch 2 is 196 bytes (of 269705)
chunk 0: normal ( 0, 5230602) 206
chunk 1: deflate ( 5230602, 3389635) 1730987 (null)
chunk 2: normal ( 8620237, 270131) 196
Installing recovery patch to system partition
Traceback (most recent call last):
File "./build/tools/releasetools/make_recovery_patch", line 55, in <module>
main(sys.argv[1:])
File "./build/tools/releasetools/make_recovery_patch", line 37, in main
OPTIONS.info_dict = common.LoadInfoDict(input_dir)
File "/home/raid/android/system/build/tools/releasetools/common.py", line 201, in LoadInfoDict
d["fstab"] = LoadRecoveryFSTab(read_helper, d["fstab_version"], d["device_type"])
File "/home/raid/android/system/build/tools/releasetools/common.py", line 285, in LoadRecoveryFSTab
raise ValueError("malformed recovery.fstab line: "%s"" % (line,))
ValueError: malformed recovery.fstab line: "/boot emmc /dev/block/platform/sprd-sdhci.3/by-name/KERNEL"
build/core/Makefile:1074: recipe for target '/home/raid/android/system/out/target/product/goyave3g/system/bin/install-recovery.sh' failed
make: *** [/home/raid/android/system/out/target/product/goyave3g/system/bin/install-recovery.sh] Error 1
make: Leaving directory '/home/raid/android/system'
#### make failed to build some targets (03:18 (mm:ss)) ####
Click to expand...
Click to collapse
This is what is in my recovery.fstab
/boot emmc /dev/block/platform/sprd-sdhci.3/by-name/KERNEL
/system ext4 /dev/block/platform/sprd-sdhci.3/by-name/system
/data ext4 /dev/block/platform/sprd-sdhci.3/by-name/userdata flags=length=-16384
/cache ext4 /dev/block/platform/sprd-sdhci.3/by-name/CSC
/recovery emmc /dev/block/platform/sprd-sdhci.3/by-name/RECOVERY
/efs emmc /dev/block/platform/sprd-sdhci.3/by-name/efs flags=backup=1;display=EFS
/external_sd vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1
/usb-otg vfat /dev/block/sda1 /dev/block/sda flags=removable;storage;display=USB-OTG
Click to expand...
Click to collapse
EDIT:
Here is some partition information from my device
Number Start End Size File system Name Flags
1 4194304B 6291455B 2097152B SBOOT msftdata
2 6291456B 8388607B 2097152B SBOOT2 msftdata
3 8388608B 9437183B 1048576B wfixnv1 msftdata
4 9437184B 10485759B 1048576B wfixnv2 msftdata
5 10485760B 11534335B 1048576B tdfixnv1 msftdata
6 11534336B 12582911B 1048576B tdfixnv2 msftdata
7 12582912B 16777215B 4194304B WDSP msftdata
8 16777216B 25165823B 8388608B MODEM msftdata
9 25165824B 33554431B 8388608B MODEM2 msftdata
10 33554432B 37748735B 4194304B TDDSP msftdata
11 37748736B 38797311B 1048576B FOTA_SIG msftdata
12 38797312B 39845887B 1048576B wruntimenv1 msftdata
13 39845888B 40894463B 1048576B wruntimenv2 msftdata
14 40894464B 41943039B 1048576B tdruntimenv1 msftdata
15 41943040B 42991615B 1048576B tdruntimenv2 msftdata
16 42991616B 45088767B 2097152B PARAM msftdata
17 45088768B 66060287B 20971520B ext4 efs msftdata
18 66060288B 71303167B 5242880B ext4 prodnv msftdata
19 71303168B 72351743B 1048576B RESERVED2 msftdata
20 72351744B 89128959B 16777216B KERNEL msftdata
21 89128960B 105906175B 16777216B RECOVERY msftdata
22 105906176B 315621375B 209715200B ext4 CSC msftdata
23 315621376B 1888485375B 1572864000B ext4 system msftdata
24 1888485376B 1901068287B 12582912B ext4 HIDDEN msftdata
25 1901068288B 7802454015B 5901385728B ext4 userdata msftdata
Click to expand...
Click to collapse
lrwxrwxrwx root root 2019-05-20 19:56 CSC -> /dev/block/mmcblk0p22
lrwxrwxrwx root root 2019-05-20 19:56 FOTA_SIG -> /dev/block/mmcblk0p11
lrwxrwxrwx root root 2019-05-20 19:56 HIDDEN -> /dev/block/mmcblk0p24
lrwxrwxrwx root root 2019-05-20 19:56 KERNEL -> /dev/block/mmcblk0p20
lrwxrwxrwx root root 2019-05-20 19:56 MODEM -> /dev/block/mmcblk0p8
lrwxrwxrwx root root 2019-05-20 19:56 MODEM2 -> /dev/block/mmcblk0p9
lrwxrwxrwx root root 2019-05-20 19:56 PARAM -> /dev/block/mmcblk0p16
lrwxrwxrwx root root 2019-05-20 19:56 RECOVERY -> /dev/block/mmcblk0p21
lrwxrwxrwx root root 2019-05-20 19:56 RESERVED2 -> /dev/block/mmcblk0p19
lrwxrwxrwx root root 2019-05-20 19:56 SBOOT -> /dev/block/mmcblk0p1
lrwxrwxrwx root root 2019-05-20 19:56 SBOOT2 -> /dev/block/mmcblk0p2
lrwxrwxrwx root root 2019-05-20 19:56 TDDSP -> /dev/block/mmcblk0p10
lrwxrwxrwx root root 2019-05-20 19:56 WDSP -> /dev/block/mmcblk0p7
lrwxrwxrwx root root 2019-05-20 19:56 efs -> /dev/block/mmcblk0p17
lrwxrwxrwx root root 2019-05-20 19:56 prodnv -> /dev/block/mmcblk0p18
lrwxrwxrwx root root 2019-05-20 19:56 system -> /dev/block/mmcblk0p23
lrwxrwxrwx root root 2019-05-20 19:56 tdfixnv1 -> /dev/block/mmcblk0p5
lrwxrwxrwx root root 2019-05-20 19:56 tdfixnv2 -> /dev/block/mmcblk0p6
lrwxrwxrwx root root 2019-05-20 19:56 tdruntimenv1 -> /dev/block/mmcblk0p14
lrwxrwxrwx root root 2019-05-20 19:56 tdruntimenv2 -> /dev/block/mmcblk0p15
lrwxrwxrwx root root 2019-05-20 19:56 userdata -> /dev/block/mmcblk0p25
lrwxrwxrwx root root 2019-05-20 19:56 wfixnv1 -> /dev/block/mmcblk0p3
lrwxrwxrwx root root 2019-05-20 19:56 wfixnv2 -> /dev/block/mmcblk0p4
lrwxrwxrwx root root 2019-05-20 19:56 wruntimenv1 -> /dev/block/mmcblk0p12
lrwxrwxrwx root root 2019-05-20 19:56 wruntimenv2 -> /dev/block/mmcblk0p13
Click to expand...
Click to collapse
Any help would be greatly appreciated!
Thanks!

Related

How to edit the param.lfs on Samsung Note 4 910F

Hello XDA,
I want to edit my splash screen on my Note 4.
I already searched the interwebs and found a tutorial, but it didn't work for me :/
So I was trying to figure it out myself.
First I searched for the correct mmcblk
My devices are named like this
lrwxrwxrwx 1 root root 20 2014-07-17 00:58 aboot -> /dev/block/mmcblk0p7
lrwxrwxrwx 1 root root 20 2014-07-17 00:58 apnhlos -> /dev/block/mmcblk0p1
lrwxrwxrwx 1 root root 21 2014-07-17 00:58 boot -> /dev/block/mmcblk0p17
lrwxrwxrwx 1 root root 21 2014-07-17 00:58 cache -> /dev/block/mmcblk0p25
lrwxrwxrwx 1 root root 20 2014-07-17 00:58 dbi -> /dev/block/mmcblk0p5
lrwxrwxrwx 1 root root 20 2014-07-17 00:58 ddr -> /dev/block/mmcblk0p6
lrwxrwxrwx 1 root root 21 2014-07-17 00:58 efs -> /dev/block/mmcblk0p13
lrwxrwxrwx 1 root root 21 2014-07-17 00:58 fota -> /dev/block/mmcblk0p19
lrwxrwxrwx 1 root root 21 2014-07-17 00:58 hidden -> /dev/block/mmcblk0p26
lrwxrwxrwx 1 root root 21 2014-07-17 00:58 mdm1m9kefs1 -> /dev/block/mmcblk0p14
lrwxrwxrwx 1 root root 21 2014-07-17 00:58 mdm1m9kefs2 -> /dev/block/mmcblk0p15
lrwxrwxrwx 1 root root 21 2014-07-17 00:58 mdm1m9kefs3 -> /dev/block/mmcblk0p10
lrwxrwxrwx 1 root root 21 2014-07-17 00:58 mdm1m9kefsc -> /dev/block/mmcblk0p16
lrwxrwxrwx 1 root root 21 2014-07-17 00:58 misc -> /dev/block/mmcblk0p20
lrwxrwxrwx 1 root root 20 2014-07-17 00:58 modem -> /dev/block/mmcblk0p2
lrwxrwxrwx 1 root root 21 2014-07-17 00:58 pad -> /dev/block/mmcblk0p11
lrwxrwxrwx 1 root root 21 2014-07-17 00:58 param -> /dev/block/mmcblk0p12
lrwxrwxrwx 1 root root 21 2014-07-17 00:58 persdata -> /dev/block/mmcblk0p23
lrwxrwxrwx 1 root root 21 2014-07-17 00:58 persist -> /dev/block/mmcblk0p22
lrwxrwxrwx 1 root root 21 2014-07-17 00:58 recovery -> /dev/block/mmcblk0p18
lrwxrwxrwx 1 root root 20 2014-07-17 00:58 rpm -> /dev/block/mmcblk0p8
lrwxrwxrwx 1 root root 20 2014-07-17 00:58 sbl1 -> /dev/block/mmcblk0p3
lrwxrwxrwx 1 root root 20 2014-07-17 00:58 sbl1bak -> /dev/block/mmcblk0p4
lrwxrwxrwx 1 root root 21 2014-07-17 00:58 ssd -> /dev/block/mmcblk0p21
lrwxrwxrwx 1 root root 21 2014-07-17 00:58 system -> /dev/block/mmcblk0p24
lrwxrwxrwx 1 root root 20 2014-07-17 00:58 tz -> /dev/block/mmcblk0p9
lrwxrwxrwx 1 root root 21 2014-07-17 00:58 userdata -> /dev/block/mmcblk0p27
I decided to "clone" the param block to '/sdcard/param.lfs' using this command:
dd if=/dev/block/mmcblk0p12 of=/sdcard/param.lfs
Click to expand...
Click to collapse
This worked without problems and I got my file.
Now I've got the problem that I can't open or extract it in anyway.
I tried the following things:
tar command
a python script I found
a bash script I found
Mounting it to a folder
None of them worked for me.
Here are the scripts:
Bash Script:
#!/bin/bash
# filename: extract-jpg.sh
starts=(`grep -Pabo $'\xFF\xD8' $1 | cut -f 1 -d :`)
ends=(`grep -Pabo $'\xFF\xD9' $1 | cut -f 1 -d :`)
for (( i = 0 ; i < ${#starts[@]} ; i++ )); do
end=$((ends[$i] + 2))
count=$((end - starts[$i]))
echo "-I- Extracting ${starts[$i]}.jpg"
dd if=$1 bs=1 skip=${starts[$i]} count=$count > ${starts[$i]}.jpg
done
Python Script
from os import system
import sys
sys.stderr = open("./log.txt", "wb")
#sys.stdout = open("./stdout.txt", "wb")
def pr_err(msg):
print(msg)
system("pause")
exit()
def try_to_open(file):
res = ""
try:
res=open(file,"rb").read()
except:
pr_err("%s not found or can't be opened" % file)
return res
def open_jpg(file):
jpg = try_to_open(file)
if (len(jpg) == 0):
pr_err("%s is empty" % file)
elif (len(jpg) > 64673):
pr_err("%s bigger than 64673 bytes" % file)
else:
print("opened %s" % file)
return jpg
param = try_to_open("./param.lfs")
print("opened param.lfs")
img_orig = open_jpg("./image_orig.jpg")
img_new = open_jpg("./image_new.jpg")
if (len(img_orig) < len(img_new)):
pr_err("image_new.jpg is bigger than image_orig.jpg. Try to decrease its size.")
img_start = param.find(img_orig)
if img_start == -1:
pr_err("image_orig.jpg is not found in param.lfs")
else:
print("found image_orig.jpg in param.lfs")
length = len(img_orig) - len(img_new)
img = img_new + "\x00"*length
if length:
print("created image_new_.jpg with same size as image_orig.jpg")
open("./image_new_.jpg","wb").write(img)
new_param = param[:img_start] + img + param[img_start + len(img_orig):]
#print(len(param[:img_start]), len(img), len(param[img_start + len(img_orig):]))
if (len(new_param) != len(param)):
pr_err("Error, sizes of param_mod.lfs and param.lfs not matches")
open("./param_mod.lfs", "wb").write(new_param)
print("created param_mod.lfs")
system("pause")
So, my question is... How do I extract and repack it so I can change the splash screen to something ... Fancy
Additional Details:
Device Brand: Samsung
Device Model: Note 4 910F - Snapdragon
ROM: Emotroid Android 6.0 ROM

Galaxy A300H 2015 Dev Block Partition Lists

Galaxy A300H 2015 Dev Block Partition Lists​
Hey Galaxy A300H Users
This Helps you see the block partition lists for Developing Roms
/dev/block/platform/7824900.sdhci/by-name
aboot -> /dev/block/mmcblk0p5
apnhlos -> /dev/block/mmcblk0p1
backup -> /dev/block/mmcblk0p19
boot -> /dev/block/mmcblk0p16
cache -> /dev/block/mmcblk0p25
ddr -> /dev/block/mmcblk0p4
efs -> /dev/block/mmcblk0p13
fota -> /dev/block/mmcblk0p18
fsc -> /dev/block/mmcblk0p20
fsg -> /dev/block/mmcblk0p9
hidden -> /dev/block/mmcblk0p26
modem -> /dev/block/mmcblk0p2
modemst1 -> /dev/block/mmcblk0p14
modemst2 -> /dev/block/mmcblk0p15
pad -> /dev/block/mmcblk0p11
param -> /dev/block/mmcblk0p12
persdata -> /dev/block/mmcblk0p23
persist -> /dev/block/mmcblk0p22
qhee -> /dev/block/mmcblk0p8
qsee -> /dev/block/mmcblk0p7
recovery -> /dev/block/mmcblk0p17
rpm -> /dev/block/mmcblk0p6
sbl1 -> /dev/block/mmcblk0p3
sec -> /dev/block/mmcblk0p10
ssd -> /dev/block/mmcblk0p21
system -> /dev/block/mmcblk0p24
userdata -> /dev/block/mmcblk0p27
Thanks to @majdinj
for Guides to Pull Dev Block Partitions Through ADB
Original Thread: http://forum.xda-developers.com/showthread.php?t=2450045
I'm Not Responsible
Use Them at your Own Risk While Cooking Roms

Development getting partition sizes

I am getting a Galaxy View on Monday but in the mean time i have made a basic twrp tree can someone run these commands on there device so i can get the partition sizes .
Code:
adb shell
ls -al /dev/block/platform/13540000.dwmmc0/by-name
deadman96385 said:
I am getting a Galaxy View on Monday but in the mean time i have made a basic twrp tree can someone run these commands on there device so i can get the partition sizes .
Click to expand...
Click to collapse
Do you still need this done..?.. I have the Verizon Version of the Galaxy View.
justjayhere said:
Do you still need this done..?.. I have the Verizon Version of the Galaxy View.
Click to expand...
Click to collapse
I have gotten the sizes still working on getting twrp to boot.
deadman96385 said:
I have gotten the sizes still working on getting twrp to boot.
Click to expand...
Click to collapse
I am looking forward to getting root for Galaxy View.
justjayhere said:
I am looking forward to getting root for Galaxy View.
Click to expand...
Click to collapse
@ashyx and I have gotten the wifi variant to boot twrp can you grab the partition sizes for your tablet just run these commands and paste there output here or in a pastebin
Code:
adb shell
ls -al /dev/block/platform/13540000.dwmmc0/by-name
cat /proc/partitions
deadman96385 said:
@ashyx and I have gotten the wifi variant to boot twrp can you grab the partition sizes for your tablet just run these commands and paste there output here or in a pastebin
Click to expand...
Click to collapse
I will do so later today...currently out of town.
Verizon 4G 64GB version Partition Info
deadman96385 said:
I am getting a Galaxy View on Monday but in the mean time i have made a basic twrp tree can someone run these commands on there device so i can get the partition sizes .
Code:
adb shell
ls -al /dev/block/platform/13540000.dwmmc0/by-name
Click to expand...
Click to collapse
Verizon 4G 64GB version...
Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. All rights reserved.
C:\WINDOWS\system32>adb shell
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
[email protected]:/ $ ls -al /dev/block/platform/13540000.dwmmc0/by-name
ls -al /dev/block/platform/13540000.dwmmc0/by-name
lrwxrwxrwx root root 2016-10-06 15:51 BOOT -> /dev/block/mmcblk0p10
lrwxrwxrwx root root 2016-10-06 15:51 BOTA0 -> /dev/block/mmcblk0p1
lrwxrwxrwx root root 2016-10-06 15:51 BOTA1 -> /dev/block/mmcblk0p2
lrwxrwxrwx root root 2016-10-06 15:51 CACHE -> /dev/block/mmcblk0p21
lrwxrwxrwx root root 2016-10-06 15:51 CARRIER -> /dev/block/mmcblk0p8
lrwxrwxrwx root root 2016-10-06 15:51 CDMA-RADIO -> /dev/block/mmcblk0p13
lrwxrwxrwx root root 2016-10-06 15:51 CPEFS -> /dev/block/mmcblk0p4
lrwxrwxrwx root root 2016-10-06 15:51 DNT -> /dev/block/mmcblk0p16
lrwxrwxrwx root root 2016-10-06 15:51 EFS -> /dev/block/mmcblk0p3
lrwxrwxrwx root root 2016-10-06 15:51 OTA -> /dev/block/mmcblk0p12
lrwxrwxrwx root root 2016-10-06 15:51 PARAM -> /dev/block/mmcblk0p9
lrwxrwxrwx root root 2016-10-06 15:51 PERSDATA -> /dev/block/mmcblk0p18
lrwxrwxrwx root root 2016-10-06 15:51 PERSISTENT -> /dev/block/mmcblk0p17
lrwxrwxrwx root root 2016-10-06 15:51 RADIO -> /dev/block/mmcblk0p14
lrwxrwxrwx root root 2016-10-06 15:51 RECOVERY -> /dev/block/mmcblk0p11
lrwxrwxrwx root root 2016-10-06 15:51 RESERVED2 -> /dev/block/mmcblk0p19
lrwxrwxrwx root root 2016-10-06 15:51 SYSTEM -> /dev/block/mmcblk0p20
lrwxrwxrwx root root 2016-10-06 15:51 TOMBSTONES -> /dev/block/mmcblk0p15
lrwxrwxrwx root root 2016-10-06 15:51 USERDATA -> /dev/block/mmcblk0p22
lrwxrwxrwx root root 2016-10-06 15:51 m9kefs1 -> /dev/block/mmcblk0p5
lrwxrwxrwx root root 2016-10-06 15:51 m9kefs2 -> /dev/block/mmcblk0p6
lrwxrwxrwx root root 2016-10-06 15:51 m9kefs3 -> /dev/block/mmcblk0p7
[email protected]:/ $ cat /proc/partitions
cat /proc/partitions
major minor #blocks name
179 0 61071360 mmcblk0
179 1 4096 mmcblk0p1
179 2 4096 mmcblk0p2
179 3 20480 mmcblk0p3
179 4 8192 mmcblk0p4
179 5 4096 mmcblk0p5
179 6 4096 mmcblk0p6
179 7 4096 mmcblk0p7
259 0 15360 mmcblk0p8
259 1 8192 mmcblk0p9
259 2 32768 mmcblk0p10
259 3 38912 mmcblk0p11
259 4 8192 mmcblk0p12
259 5 4096 mmcblk0p13
259 6 90112 mmcblk0p14
259 7 1024 mmcblk0p15
259 8 1024 mmcblk0p16
259 9 512 mmcblk0p17
259 10 12288 mmcblk0p18
259 11 2560 mmcblk0p19
259 12 3072000 mmcblk0p20
259 13 1048576 mmcblk0p21
259 14 56676352 mmcblk0p22
179 24 4096 mmcblk0rpmb
179 16 4096 mmcblk0boot1
179 8 4096 mmcblk0boot0
253 0 1048576 vnswap0
[email protected]:/ $
justjayhere said:
Verizon 4G 64GB version...
Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. All rights reserved.
C:\WINDOWS\system32>adb shell
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
[email protected]:/ $ ls -al /dev/block/platform/13540000.dwmmc0/by-name
ls -al /dev/block/platform/13540000.dwmmc0/by-name
lrwxrwxrwx root root 2016-10-06 15:51 BOOT -> /dev/block/mmcblk0p10
lrwxrwxrwx root root 2016-10-06 15:51 BOTA0 -> /dev/block/mmcblk0p1
lrwxrwxrwx root root 2016-10-06 15:51 BOTA1 -> /dev/block/mmcblk0p2
lrwxrwxrwx root root 2016-10-06 15:51 CACHE -> /dev/block/mmcblk0p21
lrwxrwxrwx root root 2016-10-06 15:51 CARRIER -> /dev/block/mmcblk0p8
lrwxrwxrwx root root 2016-10-06 15:51 CDMA-RADIO -> /dev/block/mmcblk0p13
lrwxrwxrwx root root 2016-10-06 15:51 CPEFS -> /dev/block/mmcblk0p4
lrwxrwxrwx root root 2016-10-06 15:51 DNT -> /dev/block/mmcblk0p16
lrwxrwxrwx root root 2016-10-06 15:51 EFS -> /dev/block/mmcblk0p3
lrwxrwxrwx root root 2016-10-06 15:51 OTA -> /dev/block/mmcblk0p12
lrwxrwxrwx root root 2016-10-06 15:51 PARAM -> /dev/block/mmcblk0p9
lrwxrwxrwx root root 2016-10-06 15:51 PERSDATA -> /dev/block/mmcblk0p18
lrwxrwxrwx root root 2016-10-06 15:51 PERSISTENT -> /dev/block/mmcblk0p17
lrwxrwxrwx root root 2016-10-06 15:51 RADIO -> /dev/block/mmcblk0p14
lrwxrwxrwx root root 2016-10-06 15:51 RECOVERY -> /dev/block/mmcblk0p11
lrwxrwxrwx root root 2016-10-06 15:51 RESERVED2 -> /dev/block/mmcblk0p19
lrwxrwxrwx root root 2016-10-06 15:51 SYSTEM -> /dev/block/mmcblk0p20
lrwxrwxrwx root root 2016-10-06 15:51 TOMBSTONES -> /dev/block/mmcblk0p15
lrwxrwxrwx root root 2016-10-06 15:51 USERDATA -> /dev/block/mmcblk0p22
lrwxrwxrwx root root 2016-10-06 15:51 m9kefs1 -> /dev/block/mmcblk0p5
lrwxrwxrwx root root 2016-10-06 15:51 m9kefs2 -> /dev/block/mmcblk0p6
lrwxrwxrwx root root 2016-10-06 15:51 m9kefs3 -> /dev/block/mmcblk0p7
[email protected]:/ $ cat /proc/partitions
cat /proc/partitions
major minor #blocks name
179 0 61071360 mmcblk0
179 1 4096 mmcblk0p1
179 2 4096 mmcblk0p2
179 3 20480 mmcblk0p3
179 4 8192 mmcblk0p4
179 5 4096 mmcblk0p5
179 6 4096 mmcblk0p6
179 7 4096 mmcblk0p7
259 0 15360 mmcblk0p8
259 1 8192 mmcblk0p9
259 2 32768 mmcblk0p10
259 3 38912 mmcblk0p11
259 4 8192 mmcblk0p12
259 5 4096 mmcblk0p13
259 6 90112 mmcblk0p14
259 7 1024 mmcblk0p15
259 8 1024 mmcblk0p16
259 9 512 mmcblk0p17
259 10 12288 mmcblk0p18
259 11 2560 mmcblk0p19
259 12 3072000 mmcblk0p20
259 13 1048576 mmcblk0p21
259 14 56676352 mmcblk0p22
179 24 4096 mmcblk0rpmb
179 16 4096 mmcblk0boot1
179 8 4096 mmcblk0boot0
253 0 1048576 vnswap0
[email protected]:/ $
Click to expand...
Click to collapse
I would say try the wifi build but i can't recommend it due to there not being any firmware builds for the Verizon variant so i can't get a stock recovery image from it in case it doesn't work.

Unable to extract userdata partition size

Greetings everyone. I'm trying to figure out the size of my userdata partition in my new Cubot Nova running Android 8.1 Oreo.
On older devices I managed to do this by running the following commands:
adb shell ls -al /dev/block/platform/bootdevice/by-name --------------> To list my partitions by name and find the actual userdata partition name. In my case, it's /dev/block/mmcblk0p33
Code:
Z:\Android\devices\Cubot Nova\adb platform-tools>adb shell ls -al /dev/block/platform/bootdevice/by-name
total 0
drwxr-xr-x 2 root root 780 2019-11-28 19:47 .
drwxr-xr-x 4 root root 860 2019-11-28 19:47 ..
lrwxrwxrwx 1 root root 21 2019-11-28 19:47 boot -> /dev/block/mmcblk0p25
lrwxrwxrwx 1 root root 20 2019-11-28 19:47 boot_para -> /dev/block/mmcblk0p1
lrwxrwxrwx 1 root root 21 2019-11-28 19:47 cache -> /dev/block/mmcblk0p32
lrwxrwxrwx 1 root root 20 2019-11-28 19:47 expdb -> /dev/block/mmcblk0p4
lrwxrwxrwx 1 root root 21 2019-11-28 19:47 flashinfo -> /dev/block/mmcblk0p35
lrwxrwxrwx 1 root root 20 2019-11-28 19:47 frp -> /dev/block/mmcblk0p5
lrwxrwxrwx 1 root root 21 2019-11-28 19:47 gz1 -> /dev/block/mmcblk0p18
lrwxrwxrwx 1 root root 21 2019-11-28 19:47 gz2 -> /dev/block/mmcblk0p19
lrwxrwxrwx 1 root root 21 2019-11-28 19:47 lk -> /dev/block/mmcblk0p21
lrwxrwxrwx 1 root root 21 2019-11-28 19:47 lk2 -> /dev/block/mmcblk0p22
lrwxrwxrwx 1 root root 21 2019-11-28 19:47 loader_ext1 -> /dev/block/mmcblk0p23
lrwxrwxrwx 1 root root 21 2019-11-28 19:47 loader_ext2 -> /dev/block/mmcblk0p24
lrwxrwxrwx 1 root root 21 2019-11-28 19:47 logo -> /dev/block/mmcblk0p26
lrwxrwxrwx 1 root root 21 2019-11-28 19:47 mcupmfw -> /dev/block/mmcblk0p17
lrwxrwxrwx 1 root root 21 2019-11-28 19:47 md1dsp -> /dev/block/mmcblk0p15
lrwxrwxrwx 1 root root 21 2019-11-28 19:47 md1img -> /dev/block/mmcblk0p14
lrwxrwxrwx 1 root root 20 2019-11-28 19:47 metadata -> /dev/block/mmcblk0p8
lrwxrwxrwx 1 root root 20 2019-11-28 19:47 nvcfg -> /dev/block/mmcblk0p6
lrwxrwxrwx 1 root root 20 2019-11-28 19:47 nvdata -> /dev/block/mmcblk0p7
lrwxrwxrwx 1 root root 21 2019-11-28 19:47 nvram -> /dev/block/mmcblk0p20
lrwxrwxrwx 1 root root 21 2019-11-28 19:47 odmdtbo -> /dev/block/mmcblk0p27
lrwxrwxrwx 1 root root 20 2019-11-28 19:47 para -> /dev/block/mmcblk0p3
lrwxrwxrwx 1 root root 23 2019-11-28 19:47 preloader_a -> /dev/block/mmcblk0boot0
lrwxrwxrwx 1 root root 23 2019-11-28 19:47 preloader_b -> /dev/block/mmcblk0boot1
lrwxrwxrwx 1 root root 21 2019-11-28 19:47 proinfo -> /dev/block/mmcblk0p13
lrwxrwxrwx 1 root root 20 2019-11-28 19:47 protect1 -> /dev/block/mmcblk0p9
lrwxrwxrwx 1 root root 21 2019-11-28 19:47 protect2 -> /dev/block/mmcblk0p10
lrwxrwxrwx 1 root root 20 2019-11-28 19:47 recovery -> /dev/block/mmcblk0p2
lrwxrwxrwx 1 root root 21 2019-11-28 19:47 sdrpmb -> /dev/block/mmcblk0p34
lrwxrwxrwx 1 root root 21 2019-11-28 19:47 sec1 -> /dev/block/mmcblk0p12
lrwxrwxrwx 1 root root 21 2019-11-28 19:47 seccfg -> /dev/block/mmcblk0p11
lrwxrwxrwx 1 root root 21 2019-11-28 19:47 spmfw -> /dev/block/mmcblk0p16
lrwxrwxrwx 1 root root 21 2019-11-28 19:47 system -> /dev/block/mmcblk0p31
lrwxrwxrwx 1 root root 21 2019-11-28 19:47 tee1 -> /dev/block/mmcblk0p28
lrwxrwxrwx 1 root root 21 2019-11-28 19:47 tee2 -> /dev/block/mmcblk0p29
lrwxrwxrwx 1 root root 21 2019-11-28 19:47 userdata -> /dev/block/mmcblk0p33
lrwxrwxrwx 1 root root 21 2019-11-28 19:47 vendor -> /dev/block/mmcblk0p30
Then I would run tune2fs -l /dev/block/mmcblk0p33 in the shell to get the partition info (block count and block size) to calculate, but it's not working. I get the following error message:
Code:
tune2fs 1.43.3 (04-Sep-2016)
tune2fs: Bad magic number in super-block while trying to open /dev/block/mmcblk0p33
I googled the error message, but I couldn't find anything specific to Android, just Linux. Can someone please help me figure out what I'm doing wrong?.
Is there's another way to get the partition size?
I need it to perform backups with SP Flash Tools. TWRP is unable to decrypt my phone or mount it's internal storage, so that's not an option
Thanks in advance
EDIT: I should have mentioned that the phone is rooted via Magisk, and I run the tune2fs command with superuser access.
Nevermind, I'm dumb. This worked just fine:
blockdev --getsize64 /dev/block/mmcblk0p33

[Android 8.1 (API level 27) / Qualcomm] partitions layout, fstab, fdisk

Hello everyone!
I'd like to better understand my smartphone's Partitions Layout...
At the moment I'm inside TWRP and I managed to enter into Shell as root:
Code:
\platform-tools>adb.exe shell
~ #
So... I'm gathering these infos:
~ # fdisk /dev/block/mmcblk0
Code:
Found valid GPT with protective MBR; using GPT
Command (m for help): p
Disk /dev/block/mmcblk0: 30535680 sectors, 2622M
Logical sector size: 512
Disk identifier (GUID): 98101b32-bbe2-4bf2-a06e-2bb33d000c20
Partition table holds up to 52 entries
First usable sector is 34, last usable sector is 30535646
Number Start (sector) End (sector) Size Code Name
1 131072 303103 84.0M 0700 modem
2 393216 393217 1024 0700 fsc
3 393218 393233 8192 0700 ssd
4 393234 394257 512K 0700 sbl1
5 394258 395281 512K 0700 sbl1bak
6 395282 396305 512K 0700 rpm
7 396306 397329 512K 0700 rpmbak
8 397330 401425 2048K 0700 tz
9 401426 405521 2048K 0700 tzbak
10 405522 406033 256K 0700 devcfg
11 406034 406545 256K 0700 devcfgbak
12 406546 439313 16.0M 0700 dsp
13 439314 442385 1536K 0700 modemst1
14 442386 445457 1536K 0700 modemst2
15 524288 524351 32768 0700 DDR
16 524352 527423 1536K 0700 fsg
17 527424 527455 16384 0700 sec
18 655360 677887 11.0M 0700 splash
19 786432 788479 1024K 0700 aboot
20 788480 790527 1024K 0700 abootbak
21 790528 921599 64.0M 0700 boot
22 921600 1052671 64.0M 0700 recovery
23 1052672 1054719 1024K 0700 devinfo
24 1054720 7346175 3072M 0700 system
25 7471104 7995391 256M 0700 cache
26 7995392 8060927 32.0M 0700 persist
27 8060928 8062975 1024K 0700 misc
28 8062976 8063999 512K 0700 keystore
29 8064000 8064063 32768 0700 config
30 8064064 8588351 256M 0700 oem
31 8650752 8650815 32768 0700 limits
32 8781824 8782847 512K 0700 mota
33 8782848 8784895 1024K 0700 dip
34 8784896 8850431 32.0M 0700 mdtp
35 8850432 8851455 512K 0700 syscfg
36 8851456 8859647 4096K 0700 mcfg
37 8912896 8913151 128K 0700 lksecapp
38 8913152 8913407 128K 0700 lksecappbak
39 8913408 8913919 256K 0700 cmnlib
40 8913920 8914431 256K 0700 cmnlibbak
41 8914432 8914943 256K 0700 cmnlib64
42 8914944 8915455 256K 0700 cmnlib64bak
43 8915456 8915967 256K 0700 keymaster
44 8915968 8916479 256K 0700 keymasterbak
45 9043968 9044479 256K 0700 apdp
46 9044480 9044991 256K 0700 msadp
47 9044992 9045007 8192 0700 dpo
48 9045008 9176079 64.0M 0700 logdump
49 9176080 30535646 10.1G 0700 userdata
~ # mount
Code:
rootfs on / type rootfs (rw,seclabel,size=853376k,nr_inodes=134849)
tmpfs on /dev type tmpfs (rw,seclabel,nosuid,relatime,size=936796k,nr_inodes=138672,mode=755)
devpts on /dev/pts type devpts (rw,seclabel,relatime,mode=600)
proc on /proc type proc (rw,relatime,gid=3009,hidepid=2)
sysfs on /sys type sysfs (rw,seclabel,relatime)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
none on /acct type cgroup (rw,relatime,cpuacct)
tmpfs on /tmp type tmpfs (rw,seclabel,relatime,size=936796k,nr_inodes=138672)
adb on /dev/usb-ffs/adb type functionfs (rw,relatime)
/dev/block/mmcblk0p25 on /cache type ext4 (rw,seclabel,relatime,data=ordered)
/dev/block/mmcblk1p1 on /external_sd type vfat (rw,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
/dev/block/mmcblk0p24 on /system type ext4 (rw,seclabel,relatime,data=ordered)
~ # ls -lh /dev/block/platform/soc/7824900.sdhci/ | sort -g
Code:
drwxr-xr-x 2 root root 1020 Feb 17 19:54 by-name
drwxr-xr-x 2 root root 1020 Feb 17 19:54 by-num
lrwxrwxrwx 1 root root 18 Feb 17 19:54 mmcblk0 -> /dev/block/mmcblk0
lrwxrwxrwx 1 root root 20 Feb 17 19:54 mmcblk0p1 -> /dev/block/mmcblk0p1
lrwxrwxrwx 1 root root 20 Feb 17 19:54 mmcblk0p2 -> /dev/block/mmcblk0p2
lrwxrwxrwx 1 root root 20 Feb 17 19:54 mmcblk0p3 -> /dev/block/mmcblk0p3
lrwxrwxrwx 1 root root 20 Feb 17 19:54 mmcblk0p4 -> /dev/block/mmcblk0p4
lrwxrwxrwx 1 root root 20 Feb 17 19:54 mmcblk0p5 -> /dev/block/mmcblk0p5
lrwxrwxrwx 1 root root 20 Feb 17 19:54 mmcblk0p6 -> /dev/block/mmcblk0p6
lrwxrwxrwx 1 root root 20 Feb 17 19:54 mmcblk0p7 -> /dev/block/mmcblk0p7
lrwxrwxrwx 1 root root 20 Feb 17 19:54 mmcblk0p8 -> /dev/block/mmcblk0p8
lrwxrwxrwx 1 root root 20 Feb 17 19:54 mmcblk0p9 -> /dev/block/mmcblk0p9
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p10 -> /dev/block/mmcblk0p10
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p11 -> /dev/block/mmcblk0p11
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p12 -> /dev/block/mmcblk0p12
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p13 -> /dev/block/mmcblk0p13
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p14 -> /dev/block/mmcblk0p14
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p15 -> /dev/block/mmcblk0p15
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p16 -> /dev/block/mmcblk0p16
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p17 -> /dev/block/mmcblk0p17
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p18 -> /dev/block/mmcblk0p18
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p19 -> /dev/block/mmcblk0p19
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p20 -> /dev/block/mmcblk0p20
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p21 -> /dev/block/mmcblk0p21
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p22 -> /dev/block/mmcblk0p22
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p23 -> /dev/block/mmcblk0p23
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p24 -> /dev/block/mmcblk0p24
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p25 -> /dev/block/mmcblk0p25
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p26 -> /dev/block/mmcblk0p26
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p27 -> /dev/block/mmcblk0p27
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p28 -> /dev/block/mmcblk0p28
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p29 -> /dev/block/mmcblk0p29
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p30 -> /dev/block/mmcblk0p30
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p31 -> /dev/block/mmcblk0p31
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p32 -> /dev/block/mmcblk0p32
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p33 -> /dev/block/mmcblk0p33
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p34 -> /dev/block/mmcblk0p34
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p35 -> /dev/block/mmcblk0p35
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p36 -> /dev/block/mmcblk0p36
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p37 -> /dev/block/mmcblk0p37
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p38 -> /dev/block/mmcblk0p38
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p39 -> /dev/block/mmcblk0p39
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p40 -> /dev/block/mmcblk0p40
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p41 -> /dev/block/mmcblk0p41
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p42 -> /dev/block/mmcblk0p42
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p43 -> /dev/block/mmcblk0p43
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p44 -> /dev/block/mmcblk0p44
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p45 -> /dev/block/mmcblk0p45
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p46 -> /dev/block/mmcblk0p46
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p47 -> /dev/block/mmcblk0p47
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p48 -> /dev/block/mmcblk0p48
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mmcblk0p49 -> /dev/block/mmcblk0p49
lrwxrwxrwx 1 root root 22 Feb 17 19:54 mmcblk0rpmb -> /dev/block/mmcblk0rpmb
~ # ls -lh /dev/block/platform/soc/7824900.sdhci/by-name | sort -f -k6
Code:
lrwxrwxrwx 1 root root 21 Feb 17 19:54 aboot -> /dev/block/mmcblk0p19
lrwxrwxrwx 1 root root 21 Feb 17 19:54 abootbak -> /dev/block/mmcblk0p20
lrwxrwxrwx 1 root root 21 Feb 17 19:54 apdp -> /dev/block/mmcblk0p45
lrwxrwxrwx 1 root root 21 Feb 17 19:54 boot -> /dev/block/mmcblk0p21
lrwxrwxrwx 1 root root 21 Feb 17 19:54 cache -> /dev/block/mmcblk0p25
lrwxrwxrwx 1 root root 21 Feb 17 19:54 cmnlib -> /dev/block/mmcblk0p39
lrwxrwxrwx 1 root root 21 Feb 17 19:54 cmnlib64 -> /dev/block/mmcblk0p41
lrwxrwxrwx 1 root root 21 Feb 17 19:54 cmnlib64bak -> /dev/block/mmcblk0p42
lrwxrwxrwx 1 root root 21 Feb 17 19:54 cmnlibbak -> /dev/block/mmcblk0p40
lrwxrwxrwx 1 root root 21 Feb 17 19:54 config -> /dev/block/mmcblk0p29
lrwxrwxrwx 1 root root 21 Feb 17 19:54 DDR -> /dev/block/mmcblk0p15
lrwxrwxrwx 1 root root 21 Feb 17 19:54 devcfg -> /dev/block/mmcblk0p10
lrwxrwxrwx 1 root root 21 Feb 17 19:54 devcfgbak -> /dev/block/mmcblk0p11
lrwxrwxrwx 1 root root 21 Feb 17 19:54 devinfo -> /dev/block/mmcblk0p23
lrwxrwxrwx 1 root root 21 Feb 17 19:54 dip -> /dev/block/mmcblk0p33
lrwxrwxrwx 1 root root 21 Feb 17 19:54 dpo -> /dev/block/mmcblk0p47
lrwxrwxrwx 1 root root 21 Feb 17 19:54 dsp -> /dev/block/mmcblk0p12
lrwxrwxrwx 1 root root 20 Feb 17 19:54 fsc -> /dev/block/mmcblk0p2
lrwxrwxrwx 1 root root 21 Feb 17 19:54 fsg -> /dev/block/mmcblk0p16
lrwxrwxrwx 1 root root 21 Feb 17 19:54 keymaster -> /dev/block/mmcblk0p43
lrwxrwxrwx 1 root root 21 Feb 17 19:54 keymasterbak -> /dev/block/mmcblk0p44
lrwxrwxrwx 1 root root 21 Feb 17 19:54 keystore -> /dev/block/mmcblk0p28
lrwxrwxrwx 1 root root 21 Feb 17 19:54 limits -> /dev/block/mmcblk0p31
lrwxrwxrwx 1 root root 21 Feb 17 19:54 lksecapp -> /dev/block/mmcblk0p37
lrwxrwxrwx 1 root root 21 Feb 17 19:54 lksecappbak -> /dev/block/mmcblk0p38
lrwxrwxrwx 1 root root 21 Feb 17 19:54 logdump -> /dev/block/mmcblk0p48
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mcfg -> /dev/block/mmcblk0p36
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mdtp -> /dev/block/mmcblk0p34
lrwxrwxrwx 1 root root 21 Feb 17 19:54 misc -> /dev/block/mmcblk0p27
lrwxrwxrwx 1 root root 20 Feb 17 19:54 modem -> /dev/block/mmcblk0p1
lrwxrwxrwx 1 root root 21 Feb 17 19:54 modemst1 -> /dev/block/mmcblk0p13
lrwxrwxrwx 1 root root 21 Feb 17 19:54 modemst2 -> /dev/block/mmcblk0p14
lrwxrwxrwx 1 root root 21 Feb 17 19:54 mota -> /dev/block/mmcblk0p32
lrwxrwxrwx 1 root root 21 Feb 17 19:54 msadp -> /dev/block/mmcblk0p46
lrwxrwxrwx 1 root root 21 Feb 17 19:54 oem -> /dev/block/mmcblk0p30
lrwxrwxrwx 1 root root 21 Feb 17 19:54 persist -> /dev/block/mmcblk0p26
lrwxrwxrwx 1 root root 21 Feb 17 19:54 recovery -> /dev/block/mmcblk0p22
lrwxrwxrwx 1 root root 20 Feb 17 19:54 rpm -> /dev/block/mmcblk0p6
lrwxrwxrwx 1 root root 20 Feb 17 19:54 rpmbak -> /dev/block/mmcblk0p7
lrwxrwxrwx 1 root root 20 Feb 17 19:54 sbl1 -> /dev/block/mmcblk0p4
lrwxrwxrwx 1 root root 20 Feb 17 19:54 sbl1bak -> /dev/block/mmcblk0p5
lrwxrwxrwx 1 root root 21 Feb 17 19:54 sec -> /dev/block/mmcblk0p17
lrwxrwxrwx 1 root root 21 Feb 17 19:54 splash -> /dev/block/mmcblk0p18
lrwxrwxrwx 1 root root 20 Feb 17 19:54 ssd -> /dev/block/mmcblk0p3
lrwxrwxrwx 1 root root 21 Feb 17 19:54 syscfg -> /dev/block/mmcblk0p35
lrwxrwxrwx 1 root root 21 Feb 17 19:54 system -> /dev/block/mmcblk0p24
lrwxrwxrwx 1 root root 20 Feb 17 19:54 tz -> /dev/block/mmcblk0p8
lrwxrwxrwx 1 root root 20 Feb 17 19:54 tzbak -> /dev/block/mmcblk0p9
lrwxrwxrwx 1 root root 21 Feb 17 19:54 userdata -> /dev/block/mmcblk0p49
~ # find / -iname "*fstab*"
Code:
/cache/recovery/recovery.fstab
/cache/recovery/storage.fstab
/system/etc/vold.fstab
/system/vendor/etc/fstab.qcom
find: /sys/kernel/slab/L2TP/IPv6: No such file or directory
find: /sys/kernel/slab/L2TP/IP: No such file or directory
/etc/fstab
/etc/twrp.fstab
Contents of ~ # find / -iname "*fstab*"
Code:
/cache/recovery/recovery.fstab
### EMPTY FILE ###
\\\
/cache/recovery/storage.fstab
/data/media;Internal Storage;
/external_sd;External SD;
/usb-otg;USB OTG;
\\\
/system/etc/vold.fstab
# Copyright (c) 2013, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
# * Neither the name of The Linux Foundation nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
dev_mount sdcard /storage/sdcard1 auto /devices/msm_sdcc.2/mmc_host
# MTP
#dev_mount sdcard2 /mnt/sdcard/external_sd auto /devices/platform/msm_sdcc.3/mmc_host
\\\
/system/vendor/etc/fstab.qcom
# Android fstab file.
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
#TODO: Add 'check' as fs_mgr_flags with data partition.
# Currently we dont have e2fsck compiled. So fs check would failed.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
#/dev/block/bootdevice/by-name/system /system ext4 ro,barrier=1,discard wait, verify
/dev/block/bootdevice/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,noauto_da_alloc,discard wait,resize,forceencrypt=footer,quota
/devices/platform/soc/7864900.sdhci/mmc_host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto,noemulatedsd,encryptable=footer
/devices/soc/7864900.sdhci/mmc_host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto,noemulatedsd,encryptable=footer
/devices/platform/soc/78db000.usb/msm_hsusb_host* /storage/usbotg vfat nosuid,nodev wait,voldmanaged=usbotg:auto
/devices/soc/78db000.usb/msm_hsusb_host* /storage/usbotg vfat nosuid,nodev wait,voldmanaged=usbotg:auto
/dev/block/bootdevice/by-name/config /frp emmc defaults defaults
/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults
/dev/block/bootdevice/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1 wait
/dev/block/bootdevice/by-name/modem /firmware vfat ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait
/dev/block/bootdevice/by-name/dsp /dsp ext4 ro,nosuid,nodev,barrier=1 wait
\\\
/etc/fstab
/dev/block/mmcblk0p25 /cache ext4 rw 0 0
/dev/block/mmcblk0p24 /system ext4 rw 0 0
/dev/block/dm-0 /data ext4 rw 0 0
/dev/block/mmcblk1p1 /external_sd vfat rw 0 0
/usb-otg vfat rw 0 0
\\\
/etc/twrp.fstab
/cache ext4 /dev/block/bootdevice/by-name/cache
/system ext4 /dev/block/bootdevice/by-name/system
/system_image emmc /dev/block/bootdevice/by-name/system
/data ext4 /dev/block/bootdevice/by-name/userdata flags=encryptable=footer;length=-16384
/boot emmc /dev/block/bootdevice/by-name/boot
/recovery emmc /dev/block/bootdevice/by-name/recovery
/misc emmc /dev/block/bootdevice/by-name/misc
/external_sd vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1 flags=display="External SD";storage;wipeingui;removable
/usb-otg vfat /dev/block/sda1 /dev/block/sda flags=display="USB OTG";storage;wipeingui;removable
And now... Questions time!
Which fstab should I trust? Why there are so many different ones?
Why my smartphone has the by-name/ directory inside this path: /dev/block/platform/soc/7824900.sdhci/ ?
In case I would use ddto backup or restore or reflash partitions, can i use dd within ADB Shell while I'm into Recovery (TWRP)?
Will dd be capable of reflashing .bin and .img and .mbn partitions even if I am OEM locked-out from Fastboot?
Why I cannot mount /datawhile inside TWRP?
Code:
~ # mount -o noatime,nosuid,nodev,barrier=1,noauto_da_alloc,discard,wait,resize,forceencrypt=footer,quota /dev/block/bootdevice/by-name/userdata /data \\\ mount: mounting /dev/block/bootdevice/by-name/userdata on /data failed: Device or resource busy
Many thanks guys!!
1. vold fstab is for external storage managed by StorageManagerService in android mode.
vendor/etc fstab is fstab for emmc storage provided by vendor. other fstabs are generated by and only used by TWRP.
2. android partitions are always referenced by it's symlinks generated from kernel. for example on A/B devices the /dev/block/bootdevice/by-name/system is linked to either /dev/block/bootdevice/by-name/system_a or /dev/block/bootdevice/by-name/system_b depending on active slot. in android mode you will see /dev/block/dm-0 instead as the partition is protected by dm-verity.
3. we don't care about real block partition, you can just dd its symlink. (Note, it requires exFAT MicroSD Card, FAT32 has 4 GB file size limit.) it's even more comfortable to just adb pull partition btw.
4. /data is already mounted in TWRP (Device or resource busy) except for failed decrypts (check /tmp/recovery.log)
if /dev/block/bootdevice/by-name/userdata is decrypted successfully, a new (decrypted) block device /dev/block/dm-0 is created by dm-crypt and mounted to /data.
/proc/partitions is maintained in realtime by kernel.
aIecxs said:
4. /data is already mounted in TWRP (Device or resource busy) except for failed decrypts (check /tmp/recovery.log)
if /dev/block/bootdevice/by-name/userdata is decrypted successfully, a new (decrypted) block device /dev/block/dm-0 is created by dm-crypt and mounted to /data.
/proc/partitions is maintained in realtime by kernel.
Click to expand...
Click to collapse
Hey... I'm doing some testing... Here's the steps I've done so far:
wipe / reformat all partitions
entirely re-flash the whole Stock ROM
reboot
completed the Startup Wizard
set a PIN when requested (instead of a Password or a Pattern)
boot into Android
reboot
boot again into Android
reboot to Bootloader
Bash:
fastboot flash recovery twrp.img
reboot into Android
reboot into TWRP
[V] Never show this screen during boot again
Swipe to Allow Modifications
TWRP is NOT asking me the PIN to decrypt /data
/data is NOT mounted, but with different error now (see logs down below)
every time I boot into TWRP, it always keeps me asking Swipe to Allow Modifications!!!
recovery.log
Bash:
[...]
Data successfully decrypted, new block device: '/dev/block/dm-0'
I:Unable to mount '/data'
I:Actual block device: '/dev/block/dm-0', current file system: 'ext4'
Updating partition details...
I:Unable to mount '/data'
I:Actual block device: '/dev/block/dm-0', current file system: 'ext4'
I:Unable to mount '/usb-otg'
I:Actual block device: '', current file system: 'vfat'
...done
I:Unable to mount '/data'
I:Actual block device: '/dev/block/dm-0', current file system: 'ext4'
Unable to mount storage
/data | /dev/block/dm-0 | Size: 0MB Used: 0MB Free: 0MB Backup Size: 0MB
Flags: Can_Be_Mounted Can_Be_Wiped Can_Be_Backed_Up Wipe_During_Factory_Reset Wipe_Available_in_GUI IsPresent Can_Be_Encrypted Is_Encrypted Is_Decrypted Has_Data_Media Can_Encrypt_Backup Use_Userdata_Encryption Is_Storage Is_Settings_Storage
Symlink_Path: /data/media
Symlink_Mount_Point: /sdcard
Primary_Block_Device: /dev/block/mmcblk0p49
Decrypted_Block_Device: /dev/block/dm-0
Crypto_Key_Location: footer
Length: -16384
Display_Name: data
Storage_Name: Internal Storage
Backup_Path: /data
Backup_Name: data
Backup_Display_Name: Data
Storage_Path: /data/media
Current_File_System: ext4
Fstab_File_System: ext4
Backup_Method: files
MTP_Storage_ID: 65537
I:Unmounting main partitions...
Successfully decrypted with default password.
I:Unable to mount '/data'
I:Actual block device: '/dev/block/dm-0', current file system: 'ext4'
Updating partition details...
I:Unable to mount '/data'
I:Actual block device: '/dev/block/dm-0', current file system: 'ext4'
I:Unable to mount '/usb-otg'
I:Actual block device: '', current file system: 'vfat'
...done
I:Unable to mount '/data'
I:Actual block device: '/dev/block/dm-0', current file system: 'ext4'
Unable to mount storage
I:Unmounting main partitions...
[...]
I:Unable to mount '/data'
I:Actual block device: '/dev/block/dm-0', current file system: 'ext4'
I:Unable to mount '/data'
I:Actual block device: '/dev/block/dm-0', current file system: 'ext4'
I:Unable to mount '/data'
I:Actual block device: '/dev/block/dm-0', current file system: 'ext4'
I:Unable to mount '/data'
I:Actual block device: '/dev/block/dm-0', current file system: 'ext4'
I:Unable to mount '/data'
I:Actual block device: '/dev/block/dm-0', current file system: 'ext4'
I:Unable to mount '/data'
I:Actual block device: '/dev/block/dm-0', current file system: 'ext4'
Failed to mount '/data' (No such process)
I:Actual block device: '/dev/block/dm-0', current file system: 'ext4'
I:Unable to mount /data/media during GUI startup.
[...]
I:Unable to mount '/data'
I:Actual block device: '/dev/block/dm-0', current file system: 'ext4'
I:Copying file /cache/recovery/log to /cache/recovery/last_log
I:Unable to mount '/data'
I:Actual block device: '/dev/block/dm-0', current file system: 'ext4'
I:Unable to mount '/data'
I:Actual block device: '/dev/block/dm-0', current file system: 'ext4'
Unable to mount /data/media/TWRP/.twrps
I:Attempt to load settings from settings file...
I:InfoManager file '/data/media/TWRP/.twrps' not found.
I:Backup folder set to '/data/media/TWRP/BACKUPS/WF012646'
I:Copying file /etc/recovery.fstab to /cache/recovery/recovery.fstab
I:Version number saved to '/cache/recovery/.version'
I:Unable to mount '/data'
I:Actual block device: '/dev/block/dm-0', current file system: 'ext4'
I:Unable to mount '/usb-otg'
I:Actual block device: '', current file system: 'vfat'
I:TWFunc::Set_Brightness: Setting brightness control to 128
I:PageManager::LoadFileToBuffer loading filename: '/twres/languages/en.xml' directly
parsing languageFile
parsing languageFile done
I:Translating partition display names
[...]
Failed to mount '/data' (No such process)
I:Actual block device: '/dev/block/dm-0', current file system: 'ext4'
I:TWFunc::Set_Brightness: Setting brightness control to 5
I:TWFunc::Set_Brightness: Setting brightness control to 0
~ # dmesg
Bash:
[...]
[ 5.628850] SELinux: initialized (dev mmcblk0p25, type ext4), uses xattr
[ 5.658433] EXT4-fs (mmcblk0p49): VFS: Can't find ext4 filesystem
[ 5.658777] EXT4-fs (mmcblk0p49): VFS: Can't find ext4 filesystem
[ 5.667880] EXT4-fs (mmcblk0p49): VFS: Can't find ext4 filesystem
[ 5.668184] EXT4-fs (mmcblk0p49): VFS: Can't find ext4 filesystem
[...]
[ 8.417484] device-mapper: req-crypt: req_crypt_ctr: Mapping block_device /dev/block/mmcblk0p49 to dm-req-crypt ok!
[...]
[ 14.258270] EXT4-fs (dm-0): warning: maximal mount count reached, running e2fsck is recommended
[ 14.259729] EXT4-fs warning (device dm-0): ext4_enable_quotas:5282: Failed to enable quota tracking (type=0, err=-3). Please run e2fsck to fix.
[ 14.259840] EXT4-fs (dm-0): mount failed
[ 14.261825] EXT4-fs (dm-0): warning: maximal mount count reached, running e2fsck is recommended
[ 14.263192] EXT4-fs warning (device dm-0): ext4_enable_quotas:5282: Failed to enable quota tracking (type=0, err=-3). Please run e2fsck to fix.
[ 14.263286] EXT4-fs (dm-0): mount failed
[...]
[ 56.822575] EXT4-fs (dm-0): warning: maximal mount count reached, running e2fsck is recommended
[ 56.824051] EXT4-fs warning (device dm-0): ext4_enable_quotas:5282: Failed to enable quota tracking (type=0, err=-3). Please run e2fsck to fix.
[ 56.824153] EXT4-fs (dm-0): mount failed
[ 56.826017] EXT4-fs (dm-0): warning: maximal mount count reached, running e2fsck is recommended
[ 56.827383] EXT4-fs warning (device dm-0): ext4_enable_quotas:5282: Failed to enable quota tracking (type=0, err=-3). Please run e2fsck to fix.
[ 56.827477] EXT4-fs (dm-0): mount failed
[...]
~ # e2fsck /dev/block/dm-0
Bash:
e2fsck 1.42.9 (28-Dec-2013)
/dev/block/dm-0 has unsupported feature(s): quota
e2fsck: Get a newer version of e2fsck!
No such process is known issue with disk quota. try to mount dm-0 read-only with ro,noexec,noload,noatime flags.
(Unrelated) for changing default_password try this app (may be outdated)
Cryptfs Password - Apps on Google Play
Easily set a complex disk encryption password different from the lockscreen one
play.google.com
aIecxs said:
try to mount dm-0 read-only with ro,noexec,noload,noatime flags.
Click to expand...
Click to collapse
Code:
~ # mount -o ro,noexec,noload,noatime /dev/block/dm-0
~ # mount | grep dm-0
/dev/block/dm-0 on /data type ext4 (ro,seclabel,noexec,noatime,norecovery)
And what if I completely disable /data encryption? Is it a viable option?
Are there some infos on how to disable Android encrypting /data? Can Stock ROMs be patched to disable encryption?
disable avb/dm-verity to allow modification on /system.
in vendor/etc fstab replace forceencrypt= flag with encryptable= and format userdata partition.
there exist flashable zip for this
no-verity-opt-encrypt.zip
(recommended for FDE)
Disable_Dm-Verity_ForceEncrypt.zip
(can also remove disk quota, read instructions)

Categories

Resources