[DEV][ Expand System Partition To 5GB - MediaPad M3 ] - Huawei Mediapad M3 Guides, News, & Discussion

Hello !
Here you will find the information needed to change the system partition from 2GB to 5GB - this operation is somewhat useful for installing any version of GApps on your device : Huawei MediaPad M3 8.4 Kirin version ( BTV-DL09; BTV-L0J; BTV-W09 )
Thanks to @accerian for his help, and you can also check out this tutorial for more information !
Download mkfs.ext4 and parted from here : https://forum.xda-developers.com/attachments/parted_gdisk_fdisk_mkfs-ext4-arm-zip.4494671/
Warning : the entire data partition will be deleted following this procedure, make sure you have backed up and saved it to a microsd card
Step I : extended system partition from about 2GB to 5GB ( example for a 32GB device, for 64GB devices the procedure is 99% similar, only one operation differs which will be specified at the appropriate time ) - also this example is for BTV-DL09 which is with LTE capabilities.
- extract "mkfs.ext4" and "parted" from previously download archive and put them into a new created tmp directory
- connect the device to the computer via the USB cable and bring the device into TWRP revovery with this command :
> adb reboot recovery
- copy the two executable files from the computer to the device :
> adb push tmp data/local
> adb shell
# cp -r data/local/tmp/mkfs.ext4 sbin/mkfs.ext4
# chmod 0777 sbin/mkfs.ext4
# cp -r data/local/tmp/parted sbin/parted
# chmod 0777 sbin/parted
- launch the "parted" function as follows :
# parted /dev/block/mmcblk0
- display all properties of all partitions : (I wrote what needs to be displayed as a command before pressing enter, so you just have to type "print" and press enter because (parted) is already displayed as promter ... be careful not to type (parted) twice in the following commands)
(parted) print
- go to line 43, which should be the same for all devices :
43 1174MB 3255MB 2080MB ext2 system msftdata
44 3255MB 3456MB 201MB ext4 cust msftdata
45 3456MB 3490MB 33.6MB ext4 version msftdata
46 3490MB 4127MB 638MB ext2 vendor msftdata
47 4127MB 4329MB 201MB ext4 product msftdata
48 4329MB 4333MB 4194kB hisitest2 msftdata
49 4333MB 31.3GB 26.9GB userdata msftdata
Click to expand...
Click to collapse
- if line 43 is not identical to this one here, please stop the process by writing quit and enter, I'm waiting for a private message with what is written on line 43 in the case of your device so that I can guide you correctly .
- assuming that all devices have the same system partition ( the same 43 line ) - approximately 2GB, we go to the next steps:
- access the Mount menu in TWRP and uncheck Data, and follow the steps below step by step :
(parted) rm 49
(parted) rm 48
(parted) rm 47
(parted) rm 46
(parted) rm 45
(parted) rm 44
(parted) rm 43
(parted) mkpart system ext2 1174 6501
(parted) name 43 system
(parted) set 43 msftdata on
(parted) mkpart cust ext4 6501 6702
(parted) name 44 cust
(parted) set 44 msftdata on
(parted) mkpart version ext4 6702 6736
(parted) name 45 version
(parted) set 45 msftdata on
(parted) mkpart vendor ext2 6736 7374
(parted) name 46 vendor
(parted) set 46 msftdata on
(parted) mkpart product ext4 7374 7575
(parted) name 47 product
(parted) set 47 msftdata on
(parted) mkpart hisitest 7575 7579
(parted) name 48 hisitest2
(parted) set 48 msftdata on
- for devices with 32GB :
(parted) mkpart userdata 7579 31.3GB
- for devices with 64GB :
(parted) mkpart userdata 7579 62.5GB
(parted) name 49 userdata
(parted) set 49 msftdata on
(parted) quit
Step II : activating partitions for reuse :
# mkfs.ext4 /dev/block/mmcblk0p43
# mkfs.ext4 /dev/block/mmcblk0p44
# mkfs.ext4 /dev/block/mmcblk0p45
# mkfs.ext4 /dev/block/mmcblk0p46
# mkfs.ext4 /dev/block/mmcblk0p47
# mkfs.ext4 /dev/block/mmcblk0p49
- go to TWRP -> Wipe -> Advanced Wipe -> select System -> Repair or Change File System -> Change File System -> EXT4 -> Swipe to Change
- go to TWRP -> Wipe -> Advanced Wipe -> select Vendor -> Repair or Change File System -> Change File System -> EXT4 -> Swipe to Change
- go to TWRP -> Wipe -> Format Data -> yes
- reboot device from TWRP to TWRP in order to use data again after formated !
- go to TWRP -> Wipe -> Advanced Wipe -> select Dalvik/ART Cache, Cache, Data, Internal Storage, System, Vendor -> Swipe to wipe
- copy the new updated of LOS 17.1 with system partition of 5GB into your device
- copy any GApps arm64 Android 10 to your device
- Install them like always, enjoy !
Mention :
- if your device is WiFi only, you may have fewer partitions .... the above instructions can be easily adapted from case to case !
The main idea is that we must first find out what position the system partition is in, in this case it was at position 43 which corresponds to /dev/block/mmcblk0p43 - then we need to delete all partitions from userdata to system, and recreate them in the same order !
To calculate the start and end position, it is again very easy : for example the system partition starts from the initial position 1174, which is the same as the end position of the previous partition 42 (42 1160MB 1174MB 14.7MB reserved3 msftdata), and the end position was incremented by 5327 in this case (almost 5GB), resulting in 6501. .. the next partition 44 (cust) will have the starting position 6501, and the end position will be incremented by 201 (i.e. 201MB) as shown on line 44 (44 3255MB 3456MB 201MB ext4 cust msftdata)
If really needed, a concrete example will be added here for WiFi only devices !

Thanks for this guide.

Thank you surdu_petru.
The internal storage size of BTV-L0J is 16GB, is the above procedure effective?
Is it possible to restore a partition size back to its original size? I sometimes use a dd command as a way to restore from LineageOS to stock ROM. So I need to restore it to its original size before using a dd command.
According to z3DD3r, who created a tool to resize the Nexus 5 system partition, it is recommended that after changing the partition size, TWRP should also be changed.
z3DD3r said:
Because TWRP includes size of system partition. This size should match the size of system partition on device. Otherwise bad things can happen...
Click to expand...
Click to collapse
Is there any problem without changing TWRP?
I am sorry for asking so many questions. I am cautious about changing the partition size because it is perilous.

Me said:
Thank you surdu_petru.
The internal storage size of BTV-L0J is 16GB, is the above procedure effective?
Is it possible to restore a partition size back to its original size? I sometimes use a dd command as a way to restore from LineageOS to stock ROM. So I need to restore it to its original size before using a dd command.
According to z3DD3r, who created a tool to resize the Nexus 5 system partition, it is recommended that after changing the partition size, TWRP should also be changed.
Is there any problem without changing TWRP?
I am sorry for asking so many questions. I am cautious about changing the partition size because it is perilous.
Click to expand...
Click to collapse
If you still have 49 partitions, and partition 43 (system) shows that in the above tutorial then the procedure is identical, you just have to put a lower value of the user data partition in the last corresponding line of 16GB!
- for devices with 16GB:
(parted) mkpart userdata 7579 ?? GB
Click to expand...
Click to collapse
There is no need to change anything, neither TWRP nor the partition to the initial value ... the most important thing is to pay attention to the Start and End position of system partition to make the calculations as accurate as possible !
I can help you if you can send me a screenshot of what the command below displays on your device (from the system down to the last partition):
> adb shell
# parted /dev/block/mmcblk0 print

surdu_petru said:
If you still have 49 partitions, and partition 43 (system) shows that in the above tutorial then the procedure is identical, you just have to put a lower value of the user data partition in the last corresponding line of 16GB!
There is no need to change anything, neither TWRP nor the partition to the initial value ... the most important thing is to pay attention to the Start and End position of system partition to make the calculations as accurate as possible !
I can help you if you can send me a screenshot of what the command below displays on your device (from the system down to the last partition):
> adb shell
# parted /dev/block/mmcblk0 print
Click to expand...
Click to collapse
Thank you for your reply.
It is good news that if each partition has the same number it is effective.
I am currently not having trouble with the size of system partitions, so I will give it some more thought.

@surdu_petru - many thanks for this guide, I found it very clear and straightforward. I wasn't sure if you were wanting confirmation that these instructions work with other models of the tablet - if so, I can confirm it works perfectly with my (wifi only, 32GB) BTV-W09.

Herby007 said:
@surdu_petru - many thanks for this guide, I found it very clear and straightforward. I wasn't sure if you were wanting confirmation that these instructions work with other models of the tablet - if so, I can confirm it works perfectly with my (wifi only, 32GB) BTV-W09.
Click to expand...
Click to collapse
Thanks for confirmation. I'm not waiting especially confirmation, but it's always better if you can confirm. I'm here to help in case that something goes wrong.

I'm going for the 3rd time as the first I messed up. Second I did it right but I think I have to switch it up a little as I have the WIFI, and I can't do mkfs.ext4 after doing the parted commands. But I'll keep on it to see if all the partitions are exactly correct. I know 43 is the same as the directions said to make sure. 3rd times the charm. Good luck out there

Hey man, things are kinda messed up for me at the moment.
I've followed your steps however my cmd crashed for some reason during the process. Now I can't mount data to start the process again. Using the genuine EMUI Recovery offerd at startup doesn't work because the partitions are messed up and my own recovery points are inaccessible probably due to a currupted ext sd card (you can't make this up )
Do you have any tips on how to regain control? Or are all hopes lost?
I've tried using pro-team multi tool, however their database/website seems to be unavailable at the moment...
Edit: I have it fixed now, using a sd-card I did a force update to stock firmware, that fixed the storage. Had to restart the entire process starting with TWRP installation, device was still unlocked though. Don't be stupid like me and always check your recovery data before and not after you already messed things up

hey guys,
I somehow messed it up and I'm getting this error message
/data is not present!
Failed to mount '/data'
Partitions are formatted:
43 1174MB 6501MB 5327MB ext4 system msftdata
44 6501MB 6702MB 201MB ext4 cust msftdata
45 6702MB 6736MB 33.6MB ext4 version msftdata
46 6736MB 7374MB 638MB ext4 vendor msftdata
47 7374MB 7575MB 201MB ext4 product msftdata
48 7575MB 7579MB 4194kB hisitest2 msftdata
49 7579MB 31.3GB 23.7GB userdata msftdata
Here is an output of "df" command:
~ # df -h
Filesystem Size Used Available Use% Mounted on
tmpfs 1.8G 184.0K 1.8G 0% /dev
tmpfs 1.8G 2.0M 1.8G 0% /tmp
/dev/block/mmcblk0p36 232.0M 756.0K 223.6M 0% /cache
/dev/block/mmcblk0p46 582.4M 468.0K 563.7M 0% /vendor
/dev/block/mmcblk1p1 59.5G 5.0G 54.5G 8% /external_sd
I can't continue with "TWRP -> Wipe"
Any ideas what went wrong?

BlueLife98 said:
Hey man, things are kinda messed up for me at the moment.
I've followed your steps however my cmd crashed for some reason during the process. Now I can't mount data to start the process again. Using the genuine EMUI Recovery offerd at startup doesn't work because the partitions are messed up and my own recovery points are inaccessible probably due to a currupted ext sd card (you can't make this up )
Do you have any tips on how to regain control? Or are all hopes lost?
I've tried using pro-team multi tool, however their database/website seems to be unavailable at the moment...
Edit: I have it fixed now, using a sd-card I did a force update to stock firmware, that fixed the storage. Had to restart the entire process starting with TWRP installation, device was still unlocked though. Don't be stupid like me and always check your recovery data before and not after you already messed things up
Click to expand...
Click to collapse
hey man, how did you install the stock firmware? tried to install these firmware's but didn't work at all https://firmwarefile.com/huawei-mediapad-m3-btv-dl09

Related

[Q] Original Partition Layout

Just wondering if anyone has the original nook color's partition layout. I attempted to push HoneyComb to emmc with dd; however, that didn't work the way I expected. Now I'm missing the correct partition layout. In other words, I just need
fdisk -l /dev/mmcblk0
So I can correctly setup the partitions again and install Stock again.
Any word on this would be greatly appreciated.
Thanks.
bdkoepke said:
Just wondering if anyone has the original nook color's partition layout. I attempted to push HoneyComb to emmc with dd; however, that didn't work the way I expected. Now I'm missing the correct partition layout. In other words, I just need
fdisk -l /dev/mmcblk0
So I can correctly setup the partitions again and install Stock again.
Any word on this would be greatly appreciated.
Thanks.
Click to expand...
Click to collapse
I suspect that's the least of your worries if you did a dd to the DEVICE rather than partitions...... Geez.
Code:
# busybox fdisk -l /dev/block/mmcblk0
Disk /dev/block/mmcblk0: 7944 MB, 7944011776 bytes
255 heads, 63 sectors/track, 965 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 * 1 9 72261 c Win95 FAT32 (LBA)
/dev/block/mmcblk0p2 10 18 72292+ c Win95 FAT32 (LBA)
/dev/block/mmcblk0p3 19 56 305235 83 Linux
/dev/block/mmcblk0p4 57 935 7060567+ 5 Extended
/dev/block/mmcblk0p5 57 114 465853+ 83 Linux
/dev/block/mmcblk0p6 115 236 979933+ 83 Linux
/dev/block/mmcblk0p7 237 281 361431 83 Linux
/dev/block/mmcblk0p8 282 935 5253223+ c Win95 FAT32 (LBA)
Thanks
I will let you know how I make out.
(If it doesn't work, then there is probably just a little bit of boot code in the beginning of the device, but I suspect that it simply runs the boot code from the first partition. This is how it is done in OpenBoot, and pretty much every other system besides x86/bios)
Perhaps I should have done a full dd backup beforehand.
bdkoepke said:
Thanks
I will let you know how I make out.
(If it doesn't work, then there is probably just a little bit of boot code in the beginning of the device, but I suspect that it simply runs the boot code from the first partition. This is how it is done in OpenBoot, and pretty much every other system besides x86/bios)
Perhaps I should have done a full dd backup beforehand.
Click to expand...
Click to collapse
In the developers forums theres a recovery thread that has the partitions backed up. As for Honeycomb on internal I will be posting an install image in a bit under an hour (it's uploading now) that will allow you to use honeycomb on internal.
Thank you khaytsus and MattJ951.
I was able to get this to work properly after restoring the partition layout.
Something of interest, there are 935 cylinders allocated in the default partition layout (assuming khaytsus didn't modify it at all). There are actually 965 cylinders, so there is some extra space there for the vfat partition.
Thanks again.
bdkoepke said:
Thank you khaytsus and MattJ951.
I was able to get this to work properly after restoring the partition layout.
Something of interest, there are 935 cylinders allocated in the default partition layout (assuming khaytsus didn't modify it at all). There are actually 965 cylinders, so there is some extra space there for the vfat partition.
Thanks again.
Click to expand...
Click to collapse
Heh, no, rooted stock B&N ROM. Even knowing how fixable it is, I haven't experimented beyond booting NF or HC off SD.
So I have been able to get stock loaded again, but it can't detect the Mac Address/Serial Number... (Uh oh...)
Now this isn't the end of the world, but I can't use Market.apk on stock roms.
As I understand it:
/dev/block/mmcblk0p1 /boot (This should be fine, you can dd this)
/dev/block/mmcblk0p2 /rom (I'm guessing this is what I'm missing)
/dev/block/mmcblk0p3 /emmc (I just copied factory.zip here, there are no other files)
/dev/block/mmcblk0p5 /system (This should be fine...)
/dev/block/mmcblk0p6 /data (This is definitely fine to dd)
/dev/block/mmcblk0p7 /cache (Definitely fine as well)
/dev/block/mmcblk0p8 /sdcard (And also fine...)
So I'm just wondering what the original files are in /rom and /emmc.
I can't imagine the final blocks (935 and on) being used for hard-coded serial numbers/etc. That would be pretty stupid... Also the dual/froyo would clear these values.
I'm assuming the identity information is in /rom and /emmc.
Any word on this would be appreciated.
bdkoepke said:
So I have been able to get stock loaded again, but it can't detect the Mac Address/Serial Number... (Uh oh...)
Now this isn't the end of the world, but I can't use Market.apk on stock roms.
As I understand it:
/dev/block/mmcblk0p1 /boot (This should be fine, you can dd this)
/dev/block/mmcblk0p2 /rom (I'm guessing this is what I'm missing)
/dev/block/mmcblk0p3 /emmc (I just copied factory.zip here, there are no other files)
/dev/block/mmcblk0p5 /system (This should be fine...)
/dev/block/mmcblk0p6 /data (This is definitely fine to dd)
/dev/block/mmcblk0p7 /cache (Definitely fine as well)
/dev/block/mmcblk0p8 /sdcard (And also fine...)
So I'm just wondering what the original files are in /rom and /emmc.
I can't imagine the final blocks (935 and on) being used for hard-coded serial numbers/etc. That would be pretty stupid... Also the dual/froyo would clear these values.
I'm assuming the identity information is in /rom and /emmc.
Any word on this would be appreciated.
Click to expand...
Click to collapse
/dev/block/mmcblk0p2 contains the device specific information...
/dev/block/mmcblk0p3 contains factory.zip and a backup of /rom/devconf which also contains device specific info.
I think my mmcblk0p3 is hosed... thus my 8 failed boots always fails to install... I have yet to be able to mount it in adb to push new factory.zip... would love to get this fixed.
Got it... had to mke2fs /dev/block/mmcblk0p3 then i could copy mmcblk0p2's devconf and push factory.zip to it.... 8 failed boots work as it should now.
DizzyDen said:
/dev/block/mmcblk0p2 contains the device specific information...
/dev/block/mmcblk0p3 contains factory.zip and a backup of /rom/devconf which also contains device specific info.
I think my mmcblk0p3 is hosed... thus my 8 failed boots always fails to install... I have yet to be able to mount it in adb to push new factory.zip... would love to get this fixed.
Got it... had to mke2fs /dev/block/mmcblk0p3 then i could copy mmcblk0p2's devconf and push factory.zip to it.... 8 failed boots work as it should now.
Click to expand...
Click to collapse
DizzyDen, I am having the same problem i.e. 8 failed boots always fails to install. I am also unable to boot a CM7 image off of uSD card (hangs at Android) step. I can boot into CWM but it fails on installing a stock build.
I am hoping maybe my problems are related to yours. How did you accomplish the above? What tools did you use. I am fairly tech literate but a little loss with the tools and procedures for the Nook Color. I have tried several posts on restoring to stock non of which have worked. My assumption is that my partitions are messed up somehow such that it prevents my Nook from booting stock. I don't know why I have the same problem booting an image from a uSD card but it hangs on those. I am desperate at this point and any help would be much appreciated!
Thanks,
John
JoJa15 said:
DizzyDen, I am having the same problem i.e. 8 failed boots always fails to install. I am also unable to boot a CM7 image off of uSD card (hangs at Android) step. I can boot into CWM but it fails on installing a stock build.
I am hoping maybe my problems are related to yours. How did you accomplish the above? What tools did you use. I am fairly tech literate but a little loss with the tools and procedures for the Nook Color. I have tried several posts on restoring to stock non of which have worked. My assumption is that my partitions are messed up somehow such that it prevents my Nook from booting stock. I don't know why I have the same problem booting an image from a uSD card but it hangs on those. I am desperate at this point and any help would be much appreciated!
Thanks,
John
Click to expand...
Click to collapse
If you boot off a CWR sd... adb shell into NC... do a fdisk -l mmcblk0... verify your info against this one:
Code:
~ # fdisk -l /dev/block/mmcblk0
fdisk -l /dev/block/mmcblk0
Disk /dev/block/mmcblk0: 7944 MB, 7944011776 bytes
255 heads, 63 sectors/track, 965 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 * 1 9 72261 c Win95 FAT32 (LBA)
/dev/block/mmcblk0p2 10 18 72292+ c Win95 FAT32 (LBA)
/dev/block/mmcblk0p3 19 56 305235 83 Linux
/dev/block/mmcblk0p4 57 935 7060567+ 5 Extended
/dev/block/mmcblk0p5 57 114 465853+ 83 Linux
/dev/block/mmcblk0p6 115 236 979933+ 83 Linux
/dev/block/mmcblk0p7 237 281 361431 83 Linux
/dev/block/mmcblk0p8 282 935 5253223+ c Win95 FAT32 (LBA)
as long as the partition is present as listed above...
mke2fs /dev/block/mmcblk0p3
You will now have a file system on the mmcblk0p3 partition that you can mount to /emmc...
mount /dev/block/mmcblk0p3 /emmc
exit from adb shell
You can then push the sideload.zip (or factory zip... fyi 1.1.0 will not work)...
adb push sideload.zip /emmc/factory.zip (replace sideload.zip with whatever zip file you intend to use for the 8 failed boot recovery file)
you will want to do the following in a blank folder on your computer... keeps cleanup a lot easier....
I then pulled mmcblk0p2 to my computer and zipped the contents to rombackup.zip and pushed it to mmcblk0p2 also...
adb shell mkdir /temp
adb shell mount /dev/mmcblk0p2 /temp
adb pull /temp
zip everything you pulled from mmcblk0p2 into a zip file named rombackup.zip
then push it to /emmc
adb shell push rombackup.zip /emmc
ALTERNATIVELY: the first time I did this... I merely copied the devconf folder from mmcblk0p2 to mmcblk0p3...
adb shell
cd /temp
cp -a devconf /emmc
and it seemed fine... so I don't know if you MUST do the rombackup or not... also note....
I did delete all the files and did the zip as mentioned above.
I am not 100% certain of exactly WHAT rombackup is supposed to have in it....I just know that what I listed (both methods) has worked so far.
I kind of like the idea of the cp instead... seems it would be eaiser to just cp them back should anything ever happen to mmcblk0p2... but currently have my version of rombackup.zip trying to stay with stock setup.
Hoping someone else will pull the rombackup.zip from theirs and give me the filestructure in it.
I hope this has been explicit enough... if you need any more help let me know.
ALSO... the CM7 off uSD... are you by chance using one larger than 8 Gb? We've discovered an issue with the mke2fs on 16 Gb cards.
Thanks DizzyDen, currently I have not been able to get ADB to work. I have it installed but it does not see my device when in CWM. I did get a Froyo and Honeycomb off of uSD booting which is good. I can probably add market place and then get ADB wi-fi app to do my copying to the nook. Once I get that setup I will follow your instructions above and report back.
You might want to mount mmcblk0p3 to /emmc before you do any of the more advanced stuff I listed... just to make sure.... IF it mounts... list files before you do anything else.
I was having issues mounting the partition... that's why I had to go to the extent of formatting it.... you may be luckier and only have a corrupt factory.zip
DizzyDen said:
You might want to mount mmcblk0p3 to /emmc before you do any of the more advanced stuff I listed... just to make sure.... IF it mounts... list files before you do anything else.
I was having issues mounting the partition... that's why I had to go to the extent of formatting it.... you may be luckier and only have a corrupt factory.zip
Click to expand...
Click to collapse
OK, I got ADB working now but it seems fairly complex. Please bear with me as I am a newb when it comes to ADB. I did ADB Shell and then the command you listed. Here is the output:
Code:
# fdisk -l /dev/block/mmcblk0
fdisk -l /dev/block/mmcblk0
Disk /dev/block/mmcblk0: 7944 MB, 7944011776 bytes
255 heads, 63 sectors/track, 965 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 * 1 9 72261 c Win95 FAT32 (LBA)
/dev/block/mmcblk0p2 10 18 72292+ c Win95 FAT32 (LBA)
/dev/block/mmcblk0p3 19 56 305235 83 Linux
/dev/block/mmcblk0p4 57 965 7301542+ 5 Extended
Let me know what I need to do next.
Comparing your listing and mine it appears I am missing the 5-8 partitions. Also my mmcblk0p4 partition has a different ending then yours. So how do I go about adding the 5-8 partitions back and fixing the mmcblk0p4 one?
Those are partitions that are actually created on the logical partition mmcblk0p4... as you can see in the listing I posted.
Did you use ADB from and installed ROM or did you use a cwm bootable uSD ?
anyway to check your recovery options....
in adb mount mmcblk0p3 to /emmc and list its contents:
adb shell
mount /dev/block/mmcblk0p3 /emmc
ls /emmc
See if it has either recovery file... or both... or nothing
Post back whe you can and we'll go further.
If you want I could post the img files I got of ALL my partitions... well... won't share my mmcblk0p2 or mmcblk0p3 since they have my device specific information. They may help in getting your partitions straightened out.
Another option would be that we could use teamviewer to remote connect and look through it.
DizzyDen said:
Those are partitions that are actually created on the logical partition mmcblk0p4... as you can see in the listing I posted.
Did you use ADB from and installed ROM or did you use a cwm bootable uSD ?
Click to expand...
Click to collapse
I used ADB from my PC connecting to my nook that was running a bootable Froyo build from a uSD card
One other note, when booting from CWM on the uSD card when I try to do the fdisk command I get the following. I was still able to mount the partitions though in the shell example later in this message.
Code:
~ # fdisk -l mmcblk0
fdisk -l mmcblk0
fdisk: can't open 'mmcblk0': No such file or directory
~ #
anyway to check your recovery options....
in adb mount mmcblk0p3 to /emmc and list its contents:
adb shell
mount /dev/block/mmcblk0p3 /emmc
ls /emmc
See if it has either recovery file... or both... or nothing
Post back whe you can and we'll go further.
Click to expand...
Click to collapse
Here is what it shows. This is connecting to ADB via my PC with the nook booting into CWM on a uSD card. I do not have CWM installed on the Nook.
Code:
~ # mount /dev/block/mmcblk0p3 /emmc
mount /dev/block/mmcblk0p3 /emmc
~ # ls /emmc
ls /emmc
factory.zip lost+found rombackup.zip
~ # mount /dev/block/mmcblk0p1 /boot
mount /dev/block/mmcblk0p1 /boot
~ # ls boot
ls boot
charging.zip romrestore.zip uImage uRecImg
mlo u-boot.bin uRamdisk uRecRam
~ # mount /dev/block/mmcblk0p2 /rom
mount /dev/block/mmcblk0p2 /rom
mount: mounting /dev/block/mmcblk0p2 on /rom failed: No such file or directory
~ # mount /dev/block/mmcblk0p4 /system
mount /dev/block/mmcblk0p4 /system
mount: mounting /dev/block/mmcblk0p4 on /system failed: Invalid argument
~ # mount /dev/block/mmcblk0p5 /system
mount /dev/block/mmcblk0p5 /system
mount: mounting /dev/block/mmcblk0p5 on /system failed: No such file or director
y
~ # mount /dev/block/mmcblk0p6 /data
mount /dev/block/mmcblk0p6 /data
mount: mounting /dev/block/mmcblk0p6 on /data failed: No such file or directory
~ # mount /dev/block/mmcblk0p7 /cache
mount /dev/block/mmcblk0p7 /cache
mount: mounting /dev/block/mmcblk0p7 on /cache failed: No such file or directory
~ # mount /dev/block/mmcblk0p8 /sdcard
mount /dev/block/mmcblk0p8 /sdcard
mount: mounting /dev/block/mmcblk0p8 on /sdcard failed: No such file or director
If you want I could post the img files I got of ALL my partitions... well... won't share my mmcblk0p2 or mmcblk0p3 since they have my device specific information. They may help in getting your partitions straightened out.
Another option would be that we could use teamviewer to remote connect and look through it.
Click to expand...
Click to collapse
I'll PM you.
I really appreciate all the help!
I've been doing mine from bootable CWR SD... just to get the commands and make sure I am seeing actual internal emmc...
THAT may be why you can't get list of mmcblk0... not certain... but I responded to your pm's.
You couldn't get fdisk -l mmcblk0 to work cause I gave you the wrong command... it should be...
fdisk -l /dev/block/mmcblk0
The same as you did earlier....
It does look like we may get away with just replacing your factory.zip file...
I can send you the 1.0.1 file... the newest 1.1.0 won't work for recover for whatever reason B&N did it.
You are getting the fails (I think) because you are trying to mount all those partitions to /system...
Try this:
adb shell
mkdir /tmp4
mount /dev/block/mmcblk0p4 /tmp4
If that works... try doing the same for the remainder (5,6,7,8) increasing the tmpx each time... to match the partition you are trying to mount.
If it DOES NOT work... then I would suspect because of corrupt mmcblk04p partition... and we'll find out together if the factory.zip will fix that or if we have to go other methods.
With correct fdisk command
Code:
c:\android-sdk-windows\platform-tools\rombackup>adb shell
~ # fdisk -l /dev/block/mmcblk0
fdisk -l /dev/block/mmcblk0
Disk /dev/block/mmcblk0: 7944 MB, 7944011776 bytes
255 heads, 63 sectors/track, 965 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 * 1 9 72261 c Win95 FAT32 (LBA)
/dev/block/mmcblk0p2 10 18 72292+ c Win95 FAT32 (LBA)
/dev/block/mmcblk0p3 19 56 305235 83 Linux
/dev/block/mmcblk0p4 57 965 7301542+ 5 Extended
~ #
Looks like we will be trying to fix mmcblk0p4.... I'm gonna have to reseach exactly how to repartition it (maybe my mmcblk0p4 dd image will fix that) and how to fix the logical partitions that should be on that partition.
Will talk to ya in a bit.
here.....
DizzyDen said:
Looks like we will be trying to fix mmcblk0p4.... I'm gonna have to reseach exactly how to repartition it (maybe my mmcblk0p4 dd image will fix that) and how to fix the logical partitions that should be on that partition.
Will talk to ya in a bit.
here.....
Click to expand...
Click to collapse
That file at least helped me see my other partitions:
Code:
~ # dd if=/sdcard/mmcblk0p4-logical.img of=/dev/block/mmcblk0p4
dd if=/sdcard/mmcblk0p4-logical.img of=/dev/block/mmcblk0p4
2+0 records in
2+0 records out
1024 bytes (1.0KB) copied, 0.013641 seconds, 73.3KB/s
~ # fdisk -l /dev/block/mmcblk0
fdisk -l /dev/block/mmcblk0
Disk /dev/block/mmcblk0: 7944 MB, 7944011776 bytes
255 heads, 63 sectors/track, 965 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 * 1 9 72261 c Win95 FAT32 (LBA)
/dev/block/mmcblk0p2 10 18 72292+ c Win95 FAT32 (LBA)
/dev/block/mmcblk0p3 19 56 305235 83 Linux
/dev/block/mmcblk0p4 57 965 7301542+ 5 Extended
/dev/block/mmcblk0p5 57 114 465853+ 83 Linux
/dev/block/mmcblk0p6 115 236 979933+ 83 Linux
/dev/block/mmcblk0p7 237 281 361431 83 Linux
/dev/block/mmcblk0p8 282 965 5494198+ c Win95 FAT32 (LBA)
~ #
Now I need to figure out why my 4 and 8 partitions end at 965 instead of 935. I a going to try a factory reset first and then if that does not work try messing with resizing the partition.
John, glad we got it working for you... might want to check the fdisk -l /dev/block/mmcblk0 now and see if it still shows mmcblk0p2 ending at 965 after the factory reset and data clear.
Nonetheless... I'm glad we got the 8 failed boots/factory resets working for you.
I'm sure we can mess with parted enough to fix it... or REALLY mess it up ;-)
BTW... in messing with this... we have you enough posts now to post in the dev forums

[wt88047] Redmi 2 -Resize system partition

Here is a guide to resize and repartition your redmi 2 emmc
Download and uncompress the attached View attachment parted.zip file
Download attached View attachment persist.img
Download latest twrp
Reeboot to bootloader(fastboot) and flash latest twrp
Code:
fastboot flash recovery twrp-3.1.1-0-wt88047.img
boot to the new twrp
Code:
fastboot boot twrp-3.1.1-0-wt88047.img
Copy the "parted" binary into your sdcard.
Use your file manager make new directory parted in sd card aand copy parted executable there.
now connect with adb:
Code:
adb shell
Change directory to external_sd/parted/ (where we copied the parted binary)
Code:
cd external_sd/parted/
Give permission to execute:
Code:
chmod +x parted
Use blkid to list out devices. My emmc is listed as
"/dev/block/mmcblk0" it should be same on all other devices too, its ok even if it is different
Code:
blkid
View attachment 4162723
now use parted command
Code:
./parted /dev/block/mmcblk0
Use option
Code:
p
to printout partition table
View attachment 4162725
we need to remove all partitions starting from 23 and recreate them. But when we recreate , everything except system and userdata should have the exact same number of sectors that they had before otherwise it wont boot.
use
Code:
u
to change units type in when it asks the unit
Code:
s
(for sectors)
here are the dfault sector sizes.... they should be same when we recreate them
24 655360s cache
25 6553 persist
26 65536s recovery
27 1024s keystore
28 64s config
29 131072s oem
View attachment 4162728
now remove all partitions upto system .
unmount /system and /data and /cache from twrp mounts menu before proceeding
Code:
rm 30
rm 29
rm 28
rm 27
rm 26
rm 25
rm 24
rm 23
View attachment 4162729
now we need to recreate partition table , first is system
syntax:
mkpart system ext4 [start sector] [end sector]
start sector is the end sector of the previous partition +1
for me its :
461919s+1s=461920s
each sector is 512B so calculate how many sectors you want.
for me resizing system to 1.2GB
1.2GB*1024*1024*1024=1288490188.8bytes
1288490188.8bytes/512bytes=2516582.4sectors
round it up 2516583s
end sector= required number of sectors +start sector -1s
=2516583s+461920s -1s =2978503s -1s
so my command is :
Code:
mkpart system 461920s 2978502s
due to bug in this parted name of partition was not set....
set it manually:
Code:
name 23 system
now create cache partion:
use p (print partition table) to find out start sectors
end sector=start sector+655360s -1s (refer table i posted, or your default partition table)
=2978503s+655360s-1s=3633862s
use:
Code:
mkpart cache 2978503s 3633862s
rename partition:
Code:
name 24 cache
similar way create persist:
end sector=start sector + 65536s -1s
Code:
mkpart persist 3633863s 3699398s
name persist:
Code:
name 25 persist
create recovery:
end sector=start sector + 65536s -1s
Code:
mkpart recovery 3699399s 3764934s
Code:
name 26 recovery
create partition keystore :
end sector=start sector + 1024s -1s
Code:
mkpart keystore 3764935s 3765958s
Code:
name 27 keystore
create partition config:
end sector=start sector + 64s -1s
Code:
mkpart config 3765959s 3766022s
Code:
name 28 config
create partition oem :
end sector =startsector + 131072s -1s
Code:
mkpart oem 3766023s 3897094s
Code:
name 29 oem
now create the last partition userdata ... userdata will shrink by as much as you increased in your system:
Code:
mkpart userdata 3897095s 100%
Code:
name 30 userdata
exit parted by typing
Code:
q
format the partitions /system(23) /cache(24) /persist(25) /userdata(30) :
Code:
make_ext4fs /dev/block/mmcblk0p23
make_ext4fs /dev/block/mmcblk0p24
make_ext4fs /dev/block/mmcblk0p25
make_ext4fs /dev/block/mmcblk0p30
run parted again and use p ,your partition table should look similar to this:
Code:
./parted /dev/block/mmcblk0
Use option
Code:
p
to printout partition table
View attachment 4162739
exit parted by typing
Code:
q
use command:
Code:
reboot bootloader
to boot into bootloader/fastboot
flash recovery:
Code:
fastboot flash recovery twrp-3.1.1-0-wt88047.img
flash persist:
Code:
fastboot flash persist persist.img
booot to recovery and reboot recovery:
Code:
fastboot boot twrp-3.1.1-0-wt88047.img
now you can flash any custom rom
please remember that some custom roms have a fixed system size and therefore you will have to resize the partition after installing rom from the twrp wipe menu/repair partition menu
Download links:
twrp: https://dl.twrp.me/wt88047/
parted: see attachment
persist: see attachment
Hope this helps
To revert to stock partition table :
download attachment extract and flash via fastboot:
View attachment gpt_both0.zip
Code:
fastboot flash partition gpt_both0.bin
@OP, how to revert back to default system partition? Via fastboot rom or ...? Thank you for providing the method bro!
Dyt199412syam said:
@OP, how to revert back to default system partition? Via fastboot rom or ...? Thank you for providing the method bro!
Click to expand...
Click to collapse
i have updated the post to include reverting instructions....
yes flashing the full fastboot stock rom will revert your partition table to default.
resize system partition to 1,5gb using fastboot, run partition.bat
download
inunxelex said:
resize system partition to 1,5gb using fastboot, run partition.bat
download
Click to expand...
Click to collapse
can you explain how to make that partition.img file..... i am guessing its like "gpt_both0.bin"
jsidney96 said:
can you explain how to make that partition.img file..... i am guessing its like "gpt_both0.bin"
Click to expand...
Click to collapse
yes, but im using hex editor with some crc cheksum
inunxelex said:
resize system partition to 1,5gb using fastboot, run partition.bat
download
Click to expand...
Click to collapse
Will this work on the 8gb model? I mean, is not too big for it?, if it is, can you make a smaller version for 8gb devices?
Thanks
inunxelex said:
resize system partition to 1,5gb using fastboot, run partition.bat
download
Click to expand...
Click to collapse
Do i need to reinstall rom after i did system repartition used this method bro?
TecnoTailsPlays said:
Will this work on the 8gb model? I mean, is not too big for it?, if it is, can you make a smaller version for 8gb devices?
Thanks
Click to expand...
Click to collapse
yes, but i think 1.5gb is small for 64bit rom
Dyt199412syam said:
Do i need to reinstall rom after i did system repartition used this method bro?
Click to expand...
Click to collapse
sure, and all your data will be lost
inunxelex said:
resize system partition to 1,5gb using fastboot, run partition.bat
download
Click to expand...
Click to collapse
Can you give more details. i.e the fastboot command. Sorry for noob question and bad english.
hey can you make a bash script for linux users??
Hello I try to follow your guide to try to format my internal sd and try to install a new rom (nor only boots withe fastboot)
This is the result:
Code:
~ # blkid
/dev/block/mmcblk0p25: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4"
/dev/block/mmcblk0p1: UUID="00BC-614E" TYPE="vfat"
/dev/block/mmcblk1p1: UUID="62E9-39D9" TYPE="vfat"
Click to expand...
Click to collapse
Code:
~ # parted /dev/block/mmcblk0
GNU Parted 1.8.8.1.179-aef3
Using /dev/block/mmcblk0
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
p
Model: MMC HAG2e (sd/mmc)
Disk /dev/block/mmcblk0: 15.8GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 67.1MB 134MB 67.1MB fat16 modem
2 134MB 135MB 524kB sbl1
3 135MB 135MB 524kB sbl1bak
4 135MB 136MB 1049kB aboot
5 136MB 137MB 1049kB abootbak
6 137MB 138MB 524kB rpm
7 138MB 138MB 524kB rpmbak
8 138MB 139MB 524kB tz
9 139MB 139MB 524kB tzbak
10 139MB 140MB 524kB hyp
11 140MB 141MB 524kB hypbak
12 141MB 142MB 1049kB pad
13 142MB 143MB 1573kB modemst1
14 143MB 145MB 1573kB modemst2
15 145MB 146MB 1049kB misc
16 146MB 146MB 1024B fsc
17 146MB 146MB 8192B ssd
18 146MB 156MB 10.5MB splash
19 201MB 201MB 32.8kB DDR
20 201MB 203MB 1573kB fsg
21 203MB 203MB 16.4kB sec
22 203MB 237MB 33.6MB boot
23 237MB 1310MB 1074MB system
24 1310MB 1646MB 336MB cache
25 1646MB 1679MB 33.6MB ext4 persist
26 1679MB 1713MB 33.6MB recovery
27 1745MB 1745MB 524kB keystore
28 1745MB 1745MB 32.8kB config
29 1745MB 1812MB 67.1MB oem
30 1879MB 15.8GB 13.9GB userdata
Click to expand...
Click to collapse
Code:
(parted) rm 30
rm 30
(parted) rm 29
rm 29
(parted) rm 28
rm 28
(parted) rm 27
rm 27
(parted) rm 26
rm 26
(parted) rm 25
rm 25
(parted) rm 24
rm 24
(parted) rm 23
rm 23
(parted) mkpart system 461920s 2978502s
mkpart system 461920s 2978502s
Warning: You requested a partition from 461920s to 2978502s.
The closest location we can manage is 3345504s to 3345504s.
Is this still acceptable to you?
Yes/No? Yes
Click to expand...
Click to collapse
I think that rm 30, ... rm 23 dose not delete de partitions
Another error is
Code:
name 25 persist
(parted) mkpart recovery 3699399s 3764934s
mkpart recovery 3699399s 3764934s
[B]Error: Unable to satisfy all constraints on the partition.[/B]
(parted) name 26 recovery
[email protected] ~/Descargas/Redmi 2 $ adb shell
~ # df -h
Filesystem Size Used Available Use% Mounted on
tmpfs 944.7M 188.0K 944.6M 0% /dev
tmpfs 944.7M 344.0K 944.4M 0% /tmp
/dev/block/mmcblk1p1 29.0G 14.9G 14.0G 52% /external_sd
~ # blkid
/dev/block/mmcblk0p25: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4"
/dev/block/mmcblk0p1: UUID="00BC-614E" TYPE="vfat"
/dev/block/mmcblk1p1: UUID="62E9-39D9" TYPE="vfat"
~ # mount -a
mount: mounting /dev/block/mmcblk0p23 on /system failed: Invalid argument
mount: mounting /dev/block/mmcblk0p30 on /data failed: Invalid argument
mount: mounting /dev/block/mmcblk0p24 on /cache failed: Invalid argument
mount: mounting /dev/block/mmcblk0p25 on /persist failed: Invalid argument
mount: mounting /usb_otg on auto failed: No such file or directory
~ # df -h
Filesystem Size Used Available Use% Mounted on
tmpfs 944.7M 188.0K 944.6M 0% /dev
tmpfs 944.7M 344.0K 944.4M 0% /tmp
/dev/block/mmcblk1p1 29.0G 14.9G 14.0G 52% /external_sd
/dev/block/mmcblk0p1 64.0M 44.6M 19.4M 70% /firmware
~ # umount /firmware/
~ # df -h
Filesystem Size Used Available Use% Mounted on
tmpfs 944.7M 188.0K 944.6M 0% /dev
tmpfs 944.7M 344.0K 944.4M 0% /tmp
/dev/block/mmcblk1p1 29.0G 14.9G 14.0G 52% /external_sd
Click to expand...
Click to collapse
Do you think how can I format the disk and regenerate partitions to install a new rom?
Best regards, Julio.
Back to default
I execute the 1.5gb system partition file on post, and work... after i flash custom rom based lineage os, my system partition is back to default, how to fix it ? i repair via wipe menu partition it doesn't work...
help,
or what rom support custom partition ??
jriosa said:
Hello I try to follow your guide to try to format my internal sd and try to install a new rom (nor only boots withe fastboot)
This is the result:
Code:
~ # blkid
Code:
~ # parted /dev/block/mmcblk0
Code:
(parted) rm 30
rm 30
(parted) rm 29
rm 29
(parted) rm 28
rm 28
(parted) rm 27
rm 27
(parted) rm 26
rm 26
(parted) rm 25
rm 25
(parted) rm 24
rm 24
(parted) rm 23
rm 23
I think that rm 30, ... rm 23 dose not delete de partitions
Another error is
Code:
name 25 persist
(parted) mkpart recovery 3699399s 3764934s
mkpart recovery 3699399s 3764934s
[B]Error: Unable to satisfy all constraints on the partition.[/B]
(parted) name 26 recovery
Do you think how can I format the disk and regenerate partitions to install a new rom?
Best regards, Julio.
Click to expand...
Click to collapse
I dont understand what your problem is.... Reduce the quotings and please concentrate on your problem... To fix your partitiontable you can flash the gpt_both0.bin or flash a fastboot rom
jsidney96 said:
I dont understand what your problem is.... Reduce the quotings and please concentrate on your problem... To fix your partitiontable you can flash the gpt_both0.bin or flash a fastboot rom
Click to expand...
Click to collapse
Hello, thanks for your help.
I have download wt86047_images_5.9.24_20150917.0000.1_4.4_cn version from xiaomi, in the images folder exists the gpt_both0.bin to try to restore the partition disk in my internal sd.
I execute this command in my computer
Code:
fastboot flash partition gpt_both0.bin
and this is the result
target reported max download size of 268435456 bytes
sending 'partition' (33 KB)...
OKAY [ 0.005s]
writing 'partition'...
FAILED (remote: failed to write partition)
finished. total time: 0.027s
Click to expand...
Click to collapse
I think that the partitions in my internal sd disk is protected and I can not modify and reinstall any OS in this disk.
I do not know how can I unlock the internal disk and format the disk and install a new operating system.
Best regards.
Hello again , I have seen this url http://en.miui.com/thread-439425-1-1.html and say that:
A lot of Redmi 2 prime phones get "encryption failure" / "failed to write partition" after upgrading to miui 8 and the only solution is to change the memory chip/motherboard
But I think that it is a problem of software. Bootloader is locked and I can not modify the structure of disk, and I can not unlocked the bootloader and reformat the disk too. The result is the phone is dead, and I can not use it.
Hi, I am in the same situation as @jriosa, with a redmi 2. Moreover, when using parted, having rooted and given permissions, the commands
Code:
rm <partition_number>
even though they don't throw any error, don't remove the targeted partitions.
Is there anything we could do to unbrick our phones? Any help will be really appreciated. Thanks!
jriosa said:
Hello, thanks for your help.
I have download wt86047_images_5.9.24_20150917.0000.1_4.4_cn version from xiaomi, in the images folder exists the gpt_both0.bin to try to restore the partition disk in my internal sd.
I execute this command in my computer
Code:
fastboot flash partition gpt_both0.bin
and this is the result
I think that the partitions in my internal sd disk is protected and I can not modify and reinstall any OS in this disk.
I do not know how can I unlock the internal disk and format the disk and install a new operating system.
Best regards.
Hello again , I have seen this url http://en.miui.com/thread-439425-1-1.html and say that:
A lot of Redmi 2 prime phones get "encryption failure" / "failed to write partition" after upgrading to miui 8 and the only solution is to change the memory chip/motherboard
But I think that it is a problem of software. Bootloader is locked and I can not modify the structure of disk, and I can not unlocked the bootloader and reformat the disk too. The result is the phone is dead, and I can not use it.
Click to expand...
Click to collapse
I dont have a solution for this problem, i dont have a wt86047
reserved
My Redmi 2 sdcard and otg not working can it done by only internal storage.
I have tried and from 23 to 29 I have removed but 30 userdata is not removing giving error that first unmount it, when I will unmount it then parted directory will not be accessible.
What to do is there any way without ext sdcard or otg.
Pls help.
I used the "fastboot flash partition gpt_both0.bin" code and mi phone got black screen without recovery or fastbtoot boot...just black screen. What can I do?
This is the Console log:
fastboot flash partition gpt_both0.bin
Sending 'partition' (33 KB) OKAY [ 0.011s]
Writing 'partition' OKAY [ 0.046s]
Finished. Total time: 0.061s

[GUIDE] Increase your Nexus 4's system partition for more space!

I got tired of installing amazing ROMs created by the talented folks here on XDA, but being held back on things like Google Apps because of the tiny /system partition we have on the Nexus 4. I looked around and found guides to increase the system space in the Nexus 5 and Nexus 7 2013, so I basically just adapted them to work on our beloved Nexus 4.
As always, do this at your OWN risk. I am not responsible for bricking your Nexus 4. I will simply list the process which I used to increase my Nexus 4's system partition (by taking a big ol' chunk from the cache partition). Remember, any sort of modification to your device of this caliber WILL void any warranty you might still have.
REQUIREMENTS:
parted (Uploaded to my Google Drive. If it downloads as a .txt, rename it to remove the extension and make it a plain file)
adb and fastboot, and preferably knowledge on how they work
Step 1: Install TWRP onto your Nexus 4 and reboot into it.
Step 2: Open up command prompt / terminal and check to see if your Nexus 4 is connected properly with "adb devices".
Step 3: Once you've confirmed that adb is fully working and your Nexus 4 is properly connected to your PC, download parted and use adb to push it to your Nexus 4 using the command:
Code:
adb push parted /
Step 4: Now enter the following command:
Code:
adb shell
and then the command:
Code:
chmod +x parted
This will enter adb shell and make the "parted" binary you pushed to your device earlier executable.
Step 5:
Now run the command
Code:
./parted /dev/block/mmcblk0 p
You should see a long list with a bunch of numbers and names in your terminal. These are the partitions on your device. parted will give you the partition number, the "start" and "end" of the partition, the size, and the name.
This is the partition layout on my device. It will probably be the same on your device, though the size of userdata may vary depending on whether you have the 8gb or 16gb Nexus 4.
Code:
~ # ./parted /dev/block/mmcblk0 p
Model: MMC 016G92 (sd/mmc)
Disk /dev/block/mmcblk0: 15.8GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 524kB 67.6MB 67.1MB fat16 modem
2 67.6MB 68.2MB 524kB sbl1
3 68.2MB 68.7MB 524kB sbl2
4 68.7MB 70.8MB 2097kB sbl3
5 70.8MB 71.3MB 524kB tz
6 71.3MB 94.4MB 23.1MB boot
7 94.4MB 117MB 23.1MB recovery
8 117MB 118MB 799kB m9kefs1
9 118MB 119MB 799kB m9kefs2
10 119MB 120MB 799kB m9kefs3
11 120MB 121MB 524kB rpm
12 121MB 121MB 524kB aboot
13 121MB 122MB 524kB sbl2b
14 122MB 124MB 2097kB sbl3b
15 124MB 124MB 524kB abootb
16 124MB 125MB 524kB rpmb
17 125MB 125MB 524kB tzb
18 125MB 126MB 524kB metadata
19 126MB 143MB 16.8MB misc
20 143MB 159MB 16.8MB ext4 persist
21 159MB 1040MB 881MB ext2 system
22 1040MB 1627MB 587MB ext4 cache
23 1627MB 15.8GB 14.1GB ext4 userdata
24 15.8GB 15.8GB 524kB DDR
25 15.8GB 15.8GB 507kB grow
Step 6:
Now run the following three commands:
Code:
umount /data
umount /sdcard
umount /cache
Step 7: So, on my Nexus 4, the system partition is number 21, and cache is 22. We're kinda lucky in the fact that system and cache are right next to each other, meaning we don't have to touch any other partition.
You'll want to run these two next commands. These commands will essentially "remove" the two partitions.
Code:
./parted /dev/block/mmcblk0 rm 21
./parted /dev/block/mmcblk0 rm 22
Step 8: Now it is time to recreate these two partitions, however, when recreating them, we will make system bigger and the cache smaller. From the partitions list we got in Step 5, we can see that system starts at 159 and ends at 1040, while cache starts at 1040 and ends at 1627. The following two commands will rebuild /system starting at 159, but ending at 1590, while rebuilding cache at 1590, and ending at 1627. We are essentially stealing a large chunk from cache, since we don't really need that anymore on newer ROMs.
Code:
./parted /dev/block/mmcblk0 mkpart primary 159 1590
./parted /dev/block/mmcblk0 mkpart primary 1590 1627
Step 9: Now run this command:
Code:
./parted /dev/block/mmcblk0 p
This will bring up the partitions list, or table, again. This time, however, we'll see the new partitions where system and cache were, however, they have no names! The following two commands will name the two partitions again.
Code:
./parted /dev/block/mmcblk0 name 21 system
./parted /dev/block/mmcblk0 name 22 cache
Step 10: Great! Now the partitions should be named again! Now, we still have to format the partitions as ext4 so that we can actually use them. The following two commands will do that for you.
Code:
mke2fs -b 4096 -T ext4 /dev/block/mmcblk0p21
mke2fs -b 4096 -T ext4 /dev/block/mmcblk0p22
Step 11: At this point, feel free to run the command from Step 5 to take one more look at the partition table and make sure everything looks good. Now run the command
Code:
mount -a
and then type in
Code:
exit
.
Step 12: Now we are pretty much done. We've extended the system partition from approx. 881mb to 1431mb, which is a nice large chunk of memory. In the future, we could always mess with the partitions more to add even more space by stealing from userdata, but until we reach that point, I think we are pretty well set for now!
Now...
You'll want to reboot TWRP, and flash a new ROM. You can now use a much bigger Google Apps package, without any worries.
Do note, however, that flashing a ROM will "resize" system to be smaller, but this isn't a huge deal. After flashing a ROM, while still in TWRP, you'll want to go to Wipe > Advanced Wipe > check "system" then head to "Repair or Change File System", > then tap on "Resize File System." If you encounter any errors while trying to resize, try remounting system or rebooting TWRP. Afterwards, you should be able to flash your Google Apps package. I'm not sure if you need to repeat these steps after flashing things other than ROMs, but repeating this process within TWRP should work just as well.
I hope I helped y'all out and feel free to post if this guide worked for you or if you have any other comments!
CREDITS:
@surfrock66 for his Nexus 5 guide here.
@rkhat for his Nexus 7 2013 guide here.
RESERVED
Worked Thanx
It worked here on my 8 Gb mako. Here are the original parted output:
Code:
Model: MMC 008G92 (sd/mmc)
Disk /dev/block/mmcblk0: 7818MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 524kB 67.6MB 67.1MB fat16 modem
2 67.6MB 68.2MB 524kB sbl1
3 68.2MB 68.7MB 524kB sbl2
4 68.7MB 70.8MB 2097kB sbl3
5 70.8MB 71.3MB 524kB tz
6 71.3MB 94.4MB 23.1MB boot
7 94.4MB 117MB 23.1MB recovery
8 117MB 118MB 799kB m9kefs1
9 118MB 119MB 799kB m9kefs2
10 119MB 120MB 799kB m9kefs3
11 120MB 121MB 524kB rpm
12 121MB 121MB 524kB aboot
13 121MB 122MB 524kB sbl2b
14 122MB 124MB 2097kB sbl3b
15 124MB 124MB 524kB abootb
16 124MB 125MB 524kB rpmb
17 125MB 125MB 524kB tzb
18 125MB 126MB 524kB metadata
19 126MB 143MB 16.8MB misc
20 143MB 159MB 16.8MB ext4 persist
21 159MB 1040MB 881MB ext2 system
22 1040MB 1627MB 587MB ext4 cache
23 1627MB 7817MB 6190MB ext4 userdata
24 7817MB 7818MB 524kB DDR
25 7818MB 7818MB 507kB grow
I'm using Nitrogen OS 8.1 with GZR Gapps
jfsobreira said:
It worked here on my 8 Gb mako. Here are the original parted output:
Code:
Model: MMC 008G92 (sd/mmc)
Disk /dev/block/mmcblk0: 7818MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 524kB 67.6MB 67.1MB fat16 modem
2 67.6MB 68.2MB 524kB sbl1
3 68.2MB 68.7MB 524kB sbl2
4 68.7MB 70.8MB 2097kB sbl3
5 70.8MB 71.3MB 524kB tz
6 71.3MB 94.4MB 23.1MB boot
7 94.4MB 117MB 23.1MB recovery
8 117MB 118MB 799kB m9kefs1
9 118MB 119MB 799kB m9kefs2
10 119MB 120MB 799kB m9kefs3
11 120MB 121MB 524kB rpm
12 121MB 121MB 524kB aboot
13 121MB 122MB 524kB sbl2b
14 122MB 124MB 2097kB sbl3b
15 124MB 124MB 524kB abootb
16 124MB 125MB 524kB rpmb
17 125MB 125MB 524kB tzb
18 125MB 126MB 524kB metadata
19 126MB 143MB 16.8MB misc
20 143MB 159MB 16.8MB ext4 persist
21 159MB 1040MB 881MB ext2 system
22 1040MB 1627MB 587MB ext4 cache
23 1627MB 7817MB 6190MB ext4 userdata
24 7817MB 7818MB 524kB DDR
25 7818MB 7818MB 507kB grow
I'm using Nitrogen OS 8.1 with GZR Gapps
Click to expand...
Click to collapse
Awesome! Thanks for letting me know. Glad it worked for you. :good:
thank you very much !
Thx !
Thx !
Great guide works perfectly.. has anyone tried to reverse the process and go back to stock to reflash a factory image?
I just tried it on my old Nexus 4, and after resettting the partitions, and reflashing the factory image, its just a permanent bootloop. I've cleared all the cache, tried a wipe from the stock recovery, tried flashing TWRP and wiping there.. nothing seems to work. Im not too worried, but it'd be nice if it could boot again.
Thanks for your guide. It worked like a charm for my Nexus 4.
Just a small addition: To resize the system partition automatically I placed a script in /system/addon.d:
Code:
#!/sbin/sh
#
# /system/addon.d/10-resize-system.sh
#
. /tmp/backuptool.functions
case "$1" in
backup)
# Stub
;;
restore)
# Stub
;;
pre-backup)
# Stub
;;
post-backup)
# Stub
;;
pre-restore)
/sbin/resize2fs /dev/block/platform/msm_sdcc.1/by-name/system
;;
post-restore)
# Stub
;;
esac
If it doesn't work for you
Thanks for this great guide!
Decided to breath some new life into an old N4 in my family and now it's going (very) strong again with LineageOS 15.1. Still had to clear a bit over 100 MB with .gapps-config from Stock-OpenGapps, but that's no biggie. I always liked to start with the big package and then remove everything that I don't need from it.
Second issue gave me some headaches at first.
"Resize File System" in TWRP apparently worked and Gapps-Install went through (~100 MB free at the end), but boot would fail and crash back to recovery.
(I'm using the daily LOS-nightlies by Milaq and Stock-Package from OpenGapps, maybe it's no problem with other ROMs and/or Gapps-Packages.)
Turns out the fix in TWRP wasn't really working, nevermind what partition size it shows for /system afterwards. It's somehow corrupted and still has the original size -> most of the gapps stuff get's written to nirvana, thus the failing boot.
I found the solution over in the Nexus5-Thread:
JekaPinsk said:
Hello guys!
Try this:
1) Install ROM
2) Backup ROM
3) Enable "Use 'rm -rf' instead of formatting" in TWRP settings
4) Format /system
4.1) Unmount /system and use 'resize2fs -f /dev/block/mmcblk0p21' in terminal (TWRP)
5) Reboot TWRP
5.1) Uncheck "Use 'rm -rf' instead of formatting" in TWRP settings
6) Restore backup
7) Install Stock OpenGapps
8) Done!
The idea behind it is that ROM installation somehow corrupt /system partition thus any write operations above normal data region silently fail.
Click to expand...
Click to collapse
at step 4.1 I already changed the partition number to 21 for Nexus4. In the original post it says mmcblk0p25, because on the Nexus 5 that's /system.
Now it works.
In theory this procedure should also work for updating the ROM without losing data, but haven't tested it yet. (Maybe throw in a wipe of /system as step 0...?)
To be clear: This isn't the fault of the guide to resize system-partition.
Problem is (at least certain) ROMs resetting size of file system to original and then TWRP failing to fix that doing it the easy way as described in OP (-> bug in TWRP?).
EDIT:
Above procedure also works for an update without data loss. Only difference was I did a normal wipe of /system first, "step 0" so to say.
No idea if all this is still necessary with TWRP 3.2.3-0, I'm not willing to risk a full wipe at this point. ^^
i need this...can't even install the smallest gapps package after oreo.... word!! thanks!
Really wanted to thank-you for this!
Two questions:
1. When you printed the partitions, system (21) was ext2. When you recreated it after resizing, you created it as ext4. Was that intentional?
2. You also made the claim that modern ROMs don't need such a big cache partition (your new one was 37MB, I wasn't so brave). Can you justify that claim or provide some technical details? It's not that I don't believe you (I trusted you enough to do this on my device!), just merely curious as to why/how this would be.
Thanks!
X:\xxx\xxx\xxx\xxx\adb>adb push parted /
487 KB/s (346680 bytes in 0.695s)
X:\xxx\xxx\xxx\xxx\adb>adb shell
~ # chmod +x parted
chmod +x parted
~ # ./parted /dev/block/mmcblk0 p
./parted /dev/block/mmcblk0 p
Error: Can't have overlapping partitions.
~ # 
Please Help!!!!!!!!!!!!!!!!!!!
caliban2 said:
Thanks for this great guide!
Decided to breath some new life into an old N4 in my family and now it's going (very) strong again with LineageOS 15.1. Still had to clear a bit over 100 MB with .gapps-config from Stock-OpenGapps, but that's no biggie. I always liked to start with the big package and then remove everything that I don't need from it.
Second issue gave me some headaches at first.
"Resize File System" in TWRP apparently worked and Gapps-Install went through (~100 MB free at the end), but boot would fail and crash back to recovery.
(I'm using the daily LOS-nightlies by Milaq and Stock-Package from OpenGapps, maybe it's no problem with other ROMs and/or Gapps-Packages.)
Turns out the fix in TWRP wasn't really working, nevermind what partition size it shows for /system afterwards. It's somehow corrupted and still has the original size -> most of the gapps stuff get's written to nirvana, thus the failing boot.
I found the solution over in the Nexus5-Thread:
at step 4.1 I already changed the partition number to 21 for Nexus4. In the original post it says mmcblk0p25, because on the Nexus 5 that's /system.
Now it works.
In theory this procedure should also work for updating the ROM without losing data, but haven't tested it yet. (Maybe throw in a wipe of /system as step 0...?)
To be clear: This isn't the fault of the guide to resize system-partition.
Problem is (at least certain) ROMs resetting size of file system to original and then TWRP failing to fix that doing it the easy way as described in OP (-> bug in TWRP?).
EDIT:
Above procedure also works for an update without data loss. Only difference was I did a normal wipe of /system first, "step 0" so to say.
No idea if all this is still necessary with TWRP 3.2.3-0, I'm not willing to risk a full wipe at this point. ^^
Click to expand...
Click to collapse
I'm using TWRP 3.2.3-0 and it has this bug, too. After I followed your steps I was able to install Nitrogen OS and Open Gapps Micro in my phone without erros.
Thanks!
I believe that resize2fs step can be packaged as a flashable zip so we can batch flashing without manual intervention to it (i.e. manually resize fs on system after each rom flash) .
ivanich said:
I believe that resize2fs step can be packaged as a flashable zip so we can batch flashing without manual intervention to it (i.e. manually resize fs on system after each rom flash) .
Click to expand...
Click to collapse
Maybe then more users would dare to use this solution and could calmly install gapps on Pie.
You have a lot of experience. What do you suggest?
Hi all. I only discovered this thread after independently figuring out the partitioning scheme (plain GPT) and process.
Sadly, even after this effort, it seems L-OS upgrades won't work unless L-OS devs modify their upgrade script to make use of resize2fs. Here's what happens as of package 2018-09-11:
L-OS runs backup procedure for all addons found in the existing /system/addon.d/
The above creates files (I guess) in /tmp
The /system is unmounted
The partition is overwritten with the image in the upgrade package
The script in addon.d/ are then run to restore the addons from /tmp
The problem is, the partition image in the upgrade package is for the old partition size, and therefore step 5 fails when the free space runs out. It seems the install or restore scripts don't detect this failure, and just exit without reporting an error, with 0B free space on /system.
I'm guessing the problem can be "solved" by formatting the system partition and installing LOS and all addons from scratch, but that's ridiculous. has anyone tried to raise this issue with devs? I'm about to report this in L-OS's JIRA, as I haven't seen any relevant report there.
EDIT: If anyone wants to track: https://jira.lineageos.org/browse/BUGBASH-2306
myxal said:
Hi all. I only discovered this thread after independently figuring out the partitioning scheme (plain GPT) and process.
Sadly, even after this effort, it seems L-OS upgrades won't work unless L-OS devs modify their upgrade script to make use of resize2fs. Here's what happens as of package 2018-09-11:
L-OS runs backup procedure for all addons found in the existing /system/addon.d/
The above creates files (I guess) in /tmp
The /system is unmounted
The partition is overwritten with the image in the upgrade package
The script in addon.d/ are then run to restore the addons from /tmp
The problem is, the partition image in the upgrade package is for the old partition size, and therefore step 5 fails when the free space runs out. It seems the install or restore scripts don't detect this failure, and just exit without reporting an error, with 0B free space on /system.
I'm guessing the problem can be "solved" by formatting the system partition and installing LOS and all addons from scratch, but that's ridiculous. has anyone tried to raise this issue with devs? I'm about to report this in L-OS's JIRA, as I haven't seen any relevant report there.
EDIT: If anyone wants to track: https://jira.lineageos.org/browse/BUGBASH-2306
Click to expand...
Click to collapse
You may be able to fix that on your own by adding an add-on.d named 00-resize-system (so that's it's ran first) that just does "resize2fs /dev/block/.../system", with maybe an unmount before and a mount after. This way, LOS can just flash the full image when upgrading and the system is resized before the other addons.d scripts run.
Fif_ said:
You may be able to fix that on your own by adding an add-on.d named 00-resize-system (so that's it's ran first) that just does "resize2fs /dev/block/.../system", with maybe an unmount before and a mount after. This way, LOS can just flash the full image when upgrading and the system is resized before the other addons.d scripts run.
Click to expand...
Click to collapse
Thanks for the tip, will give that a try. Any idea where I could find an "authoritative" docs/guide to those scripts? Just looked at the one supplied by open g-apps, and I don't really see the difference between the various commands that the script is supposed to handle (which is executed when?). Also what list_file() is supposed to provide.
backup
restore
pre-backup
pre-restore
post-backup
post-restore
myxal said:
Thanks for the tip, will give that a try. Any idea where I could find an "authoritative" docs/guide to those scripts? Just looked at the one supplied by open g-apps, and I don't really see the difference between the various commands that the script is supposed to handle (which is executed when?). Also what list_file() is supposed to provide.
backup
restore
pre-backup
pre-restore
post-backup
post-restore
Click to expand...
Click to collapse
You want to put the resize2fs call in the pre-restore section.
It should look like this:
Code:
pre-restore)
unmount /system
resize2fs /dev/block/platform/.../system
mount /system
;;
This includes unmounting and remounting /system which I think are needed, but YMMV. You'll need to fill in the full path to system under /dev.
There is no authoritative resource for backup scripts that I know of, but the gapps script is a good example.
P.S.: If you make it work, please post the script for others...

[DEV][ Expand System Partition To 4GB - P9 Lite ]

Hello !
Here you will find the information needed to change the system partition from 2GB to 4GB - this operation is somewhat useful for installing any version of GApps on your device using LOS 17.1 Android 10 : Huawei P9 Lite Kirin version !
Download mkfs.ext4 and parted from here : https://forum.xda-developers.com/attachments/parted_gdisk_fdisk_mkfs-ext4-arm-zip.4494671/
Warning I: the entire data partition will be deleted following this procedure, make sure you have backed up and saved it to a microsd card
Warning II: if you have sound issues, please check Step III !
Step I : extended system partition from about 2GB to 4GB ( example for a device with 16GB )
- extract "mkfs.ext4" and "parted" from previously download archive and put them into a new created tmp directory
- connect the device to the computer via the USB cable and bring the device into TWRP revovery with this command :
> adb reboot recovery
- copy the two executable files from the computer to the device :
> adb push tmp data/local
> adb shell
# cp -r data/local/tmp/mkfs.ext4 sbin/mkfs.ext4
# chmod 0777 sbin/mkfs.ext4
# cp -r data/local/tmp/parted sbin/parted
# chmod 0777 sbin/parted
- launch the "parted" function as follows :
# parted /dev/block/mmcblk0
- display all properties of all partitions : (I wrote what needs to be displayed as a command before pressing enter, so you just have to type "print" and press enter because (parted) is already displayed as promter ... be careful not to type (parted) twice in the following commands)
(parted) print
- go to line 44, which should be the same for all devices :
44 1057MB 3137MB 2080MB ext2 system msftdata
45 3137MB 3339MB 201MB ext4 cust msftdata
46 3339MB 3372MB 33.6MB ext4 version msftdata
47 3372MB 4010MB 638MB ext2 vendor msftdata
48 4010MB 4211MB 201MB ext4 product msftdata
49 4211MB 15.8GB 11.5GB userdata msftdata
Click to expand...
Click to collapse
- if line 44 is not identical to this one here, please stop the process by writing quit and enter, I'm waiting for a private message with what is written on line 44 in the case of your device so that I can guide you correctly .
- assuming that all devices have the same system partition ( the same 44 line ) - approximately 2GB, we go to the next steps:
- access the Mount menu in TWRP and uncheck Data, and follow the steps below step by step :
(parted) rm 49
(parted) rm 48
(parted) rm 47
(parted) rm 46
(parted) rm 45
(parted) rm 44
(parted) mkpart system ext2 1057 5319
(parted) name 44 system
(parted) set 44 msftdata on
(parted) mkpart cust ext4 5319 5521
(parted) name 45 cust
(parted) set 45 msftdata on
(parted) mkpart version ext4 5521 5554
(parted) name 46 version
(parted) set 46 msftdata on
(parted) mkpart vendor ext2 5554 6192
(parted) name 47 vendor
(parted) set 47 msftdata on
(parted) mkpart product ext4 6192 6393
(parted) name 48 product
(parted) set 48 msftdata on
- for devices with 16GB :
(parted) mkpart userdata 6393 15.8GB
- for devices with 32GB :
(parted) mkpart userdata 6393 31.3GB
- for devices with 64GB :
(parted) mkpart userdata 6393 62.5GB
(parted) name 49 userdata
(parted) set 49 msftdata on
(parted) quit
Step II : activating partitions for reuse :
# mkfs.ext4 /dev/block/mmcblk0p44
# mkfs.ext4 /dev/block/mmcblk0p45
# mkfs.ext4 /dev/block/mmcblk0p46
# mkfs.ext4 /dev/block/mmcblk0p47
# mkfs.ext4 /dev/block/mmcblk0p48
# mkfs.ext4 /dev/block/mmcblk0p49
- go to TWRP -> Wipe -> Advanced Wipe -> select System -> Repair or Change File System -> Change File System -> EXT4 -> Swipe to Change
- go to TWRP -> Wipe -> Advanced Wipe -> select Vendor -> Repair or Change File System -> Change File System -> EXT4 -> Swipe to Change
- go to TWRP -> Wipe -> Format Data -> yes
- reboot device from TWRP to TWRP in order to use data again after formated !
- go to TWRP -> Wipe -> Advanced Wipe -> select Dalvik/ART Cache, Cache, Data, Internal Storage, System, Vendor -> Swipe to wipe
- copy the new updated of LOS 17.1 with system partition of 4GB into your device
- copy any GApps arm64 Android 10 to your device
- Install them like always, enjoy !
Reboot to System in order to enjoy your Android 10 with almost any version of GApps !
Step III: flash back product image to fix sound issues !
- download product.img md5: 848880f9b74686394b0b4667620b5682
- go to TWRP and copy product.img on your internal memory
- flash product image to product partition :
> adb shell
# dd if=/sdcard/product.img of=/dev/block/bootdevice/by-name/product
393216+0 records in
393216+0 records out
201326592 bytes (192 M) copied, 10.460969 s, 18 M/s
# reboot
Click to expand...
Click to collapse
That's all !
Del.
Hey @surdu_petru, thank you for outlining the steps because I wanted to upgrade to the recent version.
I followed along until rebooting from TWRP into TWRP:
- reboot device from TWRP to TWRP in order to use data again after formated !
Click to expand...
Click to collapse
However, at that point I cannot make it into TWRP anymore. Upon booting the phone only makes it into FASTBOOT&RESCUE MODE and an error is shown "reboot_enter_fastboot_common_func". The phone does not respond to any fastboot commands from PC at this point and I seem to be stuck. Not sure what went wrong here. Do you maybe have an idea what went wrong for me and I can get into TWRP? On the screen it says "PHONE Unlocked" and "FRP Locked". Before I was using your latest build from before May. Thanks a lot.
Edit: Never mind. I got it to boot into TWRP eventually. Not sure why it did not work initially. After being able to boot into TWRP I was able to follow through and now got the latest build installed and it solved my issue with F-Droid and subtracks.
Thanks for keeping this old phone alive, which my daughter can now use to listen to audiobooks.
alterschalter said:
Hey @surdu_petru, thank you for outlining the steps because I wanted to upgrade to the recent version.
I followed along until rebooting from TWRP into TWRP:
However, at that point I cannot make it into TWRP anymore. Upon booting the phone only makes it into FASTBOOT&RESCUE MODE and an error is shown "reboot_enter_fastboot_common_func". The phone does not respond to any fastboot commands from PC at this point and I seem to be stuck. Not sure what went wrong here. Do you maybe have an idea what went wrong for me and I can get into TWRP? On the screen it says "PHONE Unlocked" and "FRP Locked". Before I was using your latest build from before May. Thanks a lot.
Click to expand...
Click to collapse
I don't know exactly what you did wrong ... and my device has reached this state but I managed to start it in TWRP recovery! Since the device is in fastboot mode, hold down the power button until the device turns off, and at this point press and hold the plus volume key until TWRP recovery enters!
EDIT :
If you have FRP Locked, than you can't use fastboot comands ... try to enter into TWRP in order to recover your device !
Eventually I was able to boot into TWRP and could follow through. Thanks for the detailed description of all steps. Finally I can use the old phone with Android 10. Thanks a lot.
alterschalter said:
Eventually I was able to boot into TWRP and could follow through. Thanks for the detailed description of all steps. Finally I can use the old phone with Android 10. Thanks a lot.
Click to expand...
Click to collapse
I'm glad to hear you made it !
ciao vorrei espandere la partizione di sistema ma con adb non va che si fa per andare in recovery ma poi faccio adb push ma mi da errore non so come mi aiuti a farove? o se c'è un file zip più semplice aspetto una risposta grazie
hello I would like to expand the system partition but with adb it does not go that is I do to go to recovery but then I do adb push but it gives me an error I do not know how to do you help me to farove? or if there is a simpler zip file I wait for an answer thanks
Olliblacklist said:
hello I would like to expand the system partition but with adb it does not go that is I do to go to recovery but then I do adb push but it gives me an error I do not know how to do you help me to farove? or if there is a simpler zip file I wait for an answer thanks
Click to expand...
Click to collapse
No, there is no simple zip for install via TWRP, you should try to fix your issues by installing correct drivers and adb, fastboot commands on your desktop !
surdu_petru said:
No, there is no simple zip for install via TWRP, you should try to fix your issues by installing correct drivers and adb, fastboot commands on your desktop !
Click to expand...
Click to collapse
okay i try to install the drivers and i hope to succeed but the guide you posted can also be good for huawei p9?
Olliblacklist said:
okay i try to install the drivers and i hope to succeed but the guide you posted can also be good for huawei p9?
Click to expand...
Click to collapse
Yes, but you need to adjust it accordingly ...
surdu_petru said:
Yes, but you need to adjust it accordingly ...
Click to expand...
Click to collapse
in what way ? that is, isn't it the same as driving?
Olliblacklist said:
in what way ? that is, isn't it the same as driving?
Click to expand...
Click to collapse
ok so you are telling me the guide is not the same for the p9
Olliblacklist said:
in what way ? that is, isn't it the same as driving?
Click to expand...
Click to collapse
No, P9 it's not the same device like P9 Lite, it may have a different partition structure and also other sizes ...
Olliblacklist said:
ok so you are telling me the guide is not the same for the p9
Click to expand...
Click to collapse
Yes, this guide it's ONLY for P9 Lite , but it can be adjusted on almost any device if you know how to change it accordingly ... if not, better stay away - you can damage the device very quickly !
surdu_petru said:
No, P9 it's not the same device like P9 Lite, it may have a different partition structure and also other sizes ...
Click to expand...
Click to collapse
I understand sin I can not do it I thought that with the guide you posted I could do it
surdu_petru said:
> adb push tmp data/local
Click to expand...
Click to collapse
When I run that, I get an error, which is this one: (Using Huawei P9 Lite VNS-L31)
failed to copy 'tmp/parted' to 'data/local/parted': secure_mkdirs failed: No such file or directory
Could you please help me?
Thanks.
Here's the screenshot.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
EndemicRocket said:
When I run that, I get an error, which is this one: (Using Huawei P9 Lite VNS-L31)
failed to copy 'tmp/parted' to 'data/local/parted': secure_mkdirs failed: No such file or directory
Could you please help me?
Thanks.
Here's the screenshot.
View attachment 5622609
Click to expand...
Click to collapse
What is the output of this command :
> adb shell ls -l data/local
Click to expand...
Click to collapse
surdu_petru said:
What is the output of this command :
Click to expand...
Click to collapse
ls: data/local: No such file or directory
By the way, I'm on TWRP Recovery (3.2.3-10).
EndemicRocket said:
ls: data/local: No such file or directory
By the way, I'm on TWRP Recovery (3.2.3-10).
Click to expand...
Click to collapse
Please check LOS 17.1 thread, it's state clearly what TWRP you should have on your device !
EDIT:
> adb shell ls -l data/local should return tmp, try to solve your issues !

[Guide] [Parted] [Noob-Friendly] Decrease /system Partition to Expand /data Partition [Z00L]

Basic Ideas—QnA​Q: Why would You want to extend Your /data (userdata) partition (Internal Memory Storage)
A: Of course to gives You a lot more space for Files, & Apps to be installed.
Q: What's things You will need to do this?
A: Parted, & mkfs.ext4. Parted to edit Your partition, & mkfs.ext4 to formats a partition to EXT4 file system.
Q: Will it works on my Zenfone 2 Laser?
A: Most likely, Yes. But I'm partitioning on Z00L model, maybe there's some adjustment to be made to work on for Your phone model if different.
Before proceeding any further You may want:​a. Do a full backup of Your phone to the data of Your phone including your personal data, & files!
b. Prepare a computer or such
c. Having a good USB Micro-B cable. If Your don't have any or broken, You can use USB Type C cable, & USB OTG Micro-B
d. Be patient, brave, & good luck!
If You so choose to proceed, remember:​
/*
* Your warranty is now void.
*
* I'm not responsible for bricked devices, dead SD cards,
* thermonuclear war, or You getting fired because the alarm app failed. Please
* do some research if You have any concerns about features included in this tools
* before doing it! YOU are choosing to make these modifications, and if
* You point the finger at us for messing up Your device, we will laugh at You.
*
*/
Click to expand...
Click to collapse
Now Let's Get Started​
Spoiler: Good Luck!
I. Download:​- Android SDK Platform Tools HERE Extract it (e.g. C:\adb)
- Parted, & mkfs.ext4 HERE Extract it somewhere, & copy the folder location, we will get back to this later!
- A TWRP backup of 'LineageOS [17.1] [18.1] [Fork]' Z00L compiled by @markkiths with NikGApps Core HERE Extract it somewhere, & copy the TWRP folder location, we will get back to this later! (Note: AOSP Keyboard, WebView. & all Forks Apps is removed. You may want to use adb install command or download the apk to the MicroSD to install Gboard, & WebView to get the virtual keyboard working, & able to login to Your Google account
- Android 6 Marshmallow Fastboot stock ROM in case You Hard Brick Your phone HERE See step III if You encountered this problem
- Latest TWRP Z00L Z00T
II. Things to do, & Commands:​a. Plug Your phone to computer while in TWRP, & MTP Enabled (Mount > Enable MTP). Then open Terminal on a folder that contains the Android SDK Platform Tools:
→ Windows: Command Prompt or Terminal
→ Linux distros: Terminal
→ macOS: Terminal
Click to expand...
Click to collapse
b. Push (Copy) Parted, & mkfs.ext4 to /sbin:
> adb devices
> adb push parted /sbin
> adb push mkfs.ext4 /sbin
c. Now You shell into it, & set 777 permission to get the files working:
> adb shell
~ # chmod 777 /sbin/parted
~ # chmod 777 /sbin/mkfs.ext4
Now Disable MTP & untick all partitions in Mount menu. You may want to adb shell again
d. Parted into partition of the phone's MMC:
~ # parted /dev/block/mmcblk0
e. List current unmodified partitions:
(parted) print
The output would looks like:
Model: MMC R1J96N (sd/mmc)
Disk /dev/block/mmcblk0: 15.8GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 17.4kB 1328kB 1311kB sbl1
2 1328kB 2639kB 1311kB sbl1bak msftdata
3 2639kB 3163kB 524kB rpm
4 3163kB 3687kB 524kB rpmbak msftdata
5 3687kB 4212kB 524kB tz
6 4212kB 4736kB 524kB tzbak msftdata
7 4736kB 5260kB 524kB hyp
8 5260kB 5785kB 524kB hypbak msftdata
9 5785kB 5817kB 32.8kB DDR
10 5817kB 5826kB 8192B ssd
11 5826kB 5842kB 16.4kB sec
12 5842kB 11.1MB 5243kB aboot
13 16.8MB 22.0MB 5243kB abootbak msftdata
14 22.0MB 27.3MB 5243kB splash
15 27.3MB 28.3MB 1049kB devinfo
16 33.6MB 35.1MB 1573kB fsg
17 35.1MB 35.1MB 1024B fsc
18 35.1MB 36.7MB 1573kB modemst1
19 36.7MB 38.3MB 1573kB modemst2
20 38.3MB 48.8MB 10.5MB ext4 factory
21 48.8MB 59.2MB 10.5MB factorybak
22 59.2MB 60.3MB 1049kB asuskey
23 60.3MB 61.3MB 1049kB asuskey2
24 61.3MB 62.4MB 1049kB asuskey3
25 62.4MB 63.4MB 1049kB asuskey4
26 63.4MB 64.5MB 1049kB asuskey5
27 64.5MB 65.5MB 1049kB asusgpt
28 65.5MB 66.6MB 1049kB asusgpt1
29 66.6MB 67.6MB 1049kB asusgpt2
30 67.6MB 68.7MB 1049kB misc
31 68.7MB 69.2MB 524kB keystore
32 69.2MB 69.2MB 32.8kB config
33 69.2MB 103MB 33.6MB ext4 asdf
34 103MB 105MB 2097kB abootdebug
35 105MB 106MB 1049kB persistent
36 117MB 151MB 33.6MB oem
37 151MB 185MB 33.6MB boot
38 185MB 218MB 33.6MB recovery
39 218MB 252MB 33.6MB ext4 persist
40 252MB 268MB 16.8MB asusfw
41 268MB 336MB 67.1MB fat16 modem msftdata
42 336MB 369MB 33.6MB ext4 ADF msftdata
43 369MB 587MB 218MB ext4 APD msftdata
44 587MB 621MB 33.6MB ext4 cache
45 621MB 3842MB 3221MB ext4 system
46 3842MB 15.8GB 11.9GB ext4 userdata
Click to expand...
Click to collapse
f. Change the unit to byte:
(parted) unit b
You could list the partitions again by typing print to see in bytes
Model: MMC R1J96N (sd/mmc)
Disk /dev/block/mmcblk0: 15758000128B
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 17408B 1328127B 1310720B sbl1
2 1328128B 2638847B 1310720B sbl1bak msftdata
3 2638848B 3163135B 524288B rpm
4 3163136B 3687423B 524288B rpmbak msftdata
5 3687424B 4211711B 524288B tz
6 4211712B 4735999B 524288B tzbak msftdata
7 4736000B 5260287B 524288B hyp
8 5260288B 5784575B 524288B hypbak msftdata
9 5784576B 5817343B 32768B DDR
10 5817344B 5825535B 8192B ssd
11 5825536B 5841919B 16384B sec
12 5841920B 11084799B 5242880B aboot
13 16777216B 22020095B 5242880B abootbak msftdata
14 22020096B 27262975B 5242880B splash
15 27262976B 28311551B 1048576B devinfo
16 33554432B 35127295B 1572864B fsg
17 35127296B 35128319B 1024B fsc
18 35128320B 36701183B 1572864B modemst1
19 36701184B 38274047B 1572864B modemst2
20 38274048B 48759807B 10485760B ext4 factory
21 48759808B 59245567B 10485760B factorybak
22 59245568B 60294143B 1048576B asuskey
23 60294144B 61342719B 1048576B asuskey2
24 61342720B 62391295B 1048576B asuskey3
25 62391296B 63439871B 1048576B asuskey4
26 63439872B 64488447B 1048576B asuskey5
27 64488448B 65537023B 1048576B asusgpt
28 65537024B 66585599B 1048576B asusgpt1
29 66585600B 67634175B 1048576B asusgpt2
30 67634176B 68682751B 1048576B misc
31 68682752B 69207039B 524288B keystore
32 69207040B 69239807B 32768B config
33 69239808B 102794239B 33554432B ext4 asdf
34 102794240B 104891391B 2097152B abootdebug
35 104891392B 105939967B 1048576B persistent
36 117440512B 150994943B 33554432B oem
37 150994944B 184549375B 33554432B boot
38 184549376B 218103807B 33554432B recovery
39 218103808B 251658239B 33554432B ext4 persist
40 251658240B 268435455B 16777216B asusfw
41 268435456B 335544319B 67108864B fat16 modem msftdata
42 335544320B 369098751B 33554432B ext4 ADF msftdata
43 369098752B 587202559B 218103808B ext4 APD msftdata
44 587202560B 620756991B 33554432B ext4 cache
45 620756992B 3841982463B 3221225472B ext2 system
46 3841982464B 15757983231B 11916000768B ext4 userdata
Click to expand...
Click to collapse
From this point onward DO NOT do stupid stuffs, like delete unmentioned partitions! You have been warned!
g. Remove partition of userdata, & system:
(parted) rm 46
(parted) rm 45
h. Create, name, & set flag for the new system partition: You could use this tool to convert from Gigabytes to Bytes for more precise result
(parted) mkpart system ext4 620756992 2365985773 Remember: It now only have 2 MB left on Your /system partition. You may either can't really tinker much with the bootanimation.zip nor the Media sounds on /system/product/media to Your liking
Here's You realized there are 2 values. The 620756992 as Start Address, & 2365985773 as End Address. Here's some explanation to specify each address:
→ By adding 1 byte from previous partition: 620756991+1=620756992 ← You got Your Start Address for system partition!
→ By adding Start Address + Your decided value (In my case I just want 1.69 GB or 1,745,228,781 Bytes): 620756992+1745228781=2365985773 ← You got Your End Address for system partition!
Click to expand...
Click to collapse
(parted) name 45 system
(parted) set 45 msftdata on
i. List the Free Space:
(parted) p free
The output would looks like:
Model: MMC R1J96N (sd/mmc)
Disk /dev/block/mmcblk0: 15758000128B
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
7168B 17407B 10240B Free Space
1 17408B 1328127B 1310720B sbl1
2 1328128B 2638847B 1310720B sbl1bak msftdata
3 2638848B 3163135B 524288B rpm
4 3163136B 3687423B 524288B rpmbak msftdata
5 3687424B 4211711B 524288B tz
6 4211712B 4735999B 524288B tzbak msftdata
7 4736000B 5260287B 524288B hyp
8 5260288B 5784575B 524288B hypbak msftdata
9 5784576B 5817343B 32768B DDR
10 5817344B 5825535B 8192B ssd
11 5825536B 5841919B 16384B sec
12 5841920B 11084799B 5242880B aboot
11084800B 16777215B 5692416B Free Space
13 16777216B 22020095B 5242880B abootbak msftdata
14 22020096B 27262975B 5242880B splash
15 27262976B 28311551B 1048576B devinfo
28311552B 33554431B 5242880B Free Space
16 33554432B 35127295B 1572864B fsg
17 35127296B 35128319B 1024B fsc
18 35128320B 36701183B 1572864B modemst1
19 36701184B 38274047B 1572864B modemst2
20 38274048B 48759807B 10485760B ext4 factory
21 48759808B 59245567B 10485760B factorybak
22 59245568B 60294143B 1048576B asuskey
23 60294144B 61342719B 1048576B asuskey2
24 61342720B 62391295B 1048576B asuskey3
25 62391296B 63439871B 1048576B asuskey4
26 63439872B 64488447B 1048576B asuskey5
27 64488448B 65537023B 1048576B asusgpt
28 65537024B 66585599B 1048576B asusgpt1
29 66585600B 67634175B 1048576B asusgpt2
30 67634176B 68682751B 1048576B misc
31 68682752B 69207039B 524288B keystore
32 69207040B 69239807B 32768B config
33 69239808B 102794239B 33554432B ext4 asdf
34 102794240B 104891391B 2097152B abootdebug
35 104891392B 105939967B 1048576B persistent
105939968B 117440511B 11500544B Free Space
36 117440512B 150994943B 33554432B oem
37 150994944B 184549375B 33554432B boot
38 184549376B 218103807B 33554432B recovery
39 218103808B 251658239B 33554432B ext4 persist
40 251658240B 268435455B 16777216B asusfw
41 268435456B 335544319B 67108864B fat16 modem msftdata
42 335544320B 369098751B 33554432B ext4 ADF msftdata
43 369098752B 587202559B 218103808B ext4 APD msftdata
44 587202560B 620756991B 33554432B ext4 cache
45 620756992B 2365985773B 1016468480B ext4 system msftdata
2365985774B 15757993471B 14120768000B Free Space
Click to expand...
Click to collapse
j. Create, name, & set flag for the new userdata partition:
(parted) mkpart userdata ext4 2365985774 15757993471
More or less to specify Start Address, & End Address for userdata partition is same as before. Here's quick sums up:
→ 2365985773 is added 1 byte to the End Address of system partition (2365985773+1)
→ 15757993471 is just the maximum MMC range
Click to expand...
Click to collapse
You may get this warning just answer it with y, & i:
Warning: You requested a partition from 2389054446B to 15757992960B (sectors
3197706..30777330).
The closest location we can manage is 2389054446B to 15757982720B (sectors
3197706..30777310).
Is this still acceptable to you?
Yes/No? y
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? i
Click to expand...
Click to collapse
(parted) name 46 userdata
(parted) set 46 msftdata on
k. Now quit parted, & format system partition using EXT2 file system, & userdata partition using EXT4 file system:
(parted) quit
~ # mkfs.ext2 /dev/block/mmcblk0p45
Why not format system partition with EXT4? I'm just follows phone's default file system!
~ # mkfs.ext4 /dev/block/mmcblk0p46
Now remount the partitions by typing: mount /dev/block/mmcblk0p45 /system_root, & mount /dev/block/mmcblk0p46 /data
l. Now exit out the adb shell, & push (Copy) a gigs or more file to Your Internal Memory to prevent system partition from messing up: Your phone may restart near the completion of pushing 'system.ext4.win000' file, Calm down it's normal!
~ # exit
> adb push "YourExtractionLocation\TWRP" /sdcard
m. If Your phone rebooted into Fastboot Mode by itself just pulled out the battery, & get back to TWRP by pressing Down Volume Button with Power Button (Note: If You immediately see the screen just go blank, while the phone being turned on, & when plugged into the computer there are many partitions mounted. That means You unfortunately Hard Brick Your phone. See step III below to Unbrick it), & push the TWRP folder once more: Most likely it will be copied successfully without errors!
> adb push "YourExtractionLocation\TWRP" /sdcard
Now You can re-enable MTP in TWRP > Mount, & do adb kill-server then eject Your phone from the computer
n. Now Restore in TWRP menu or flash a new ROM that You may want to modify it with Jancox Tool Unpack Repack ROMs. Done! You now can setup Your phone. To check if You actually expand Your /data partition:
TWRP or Terminal: df -h
Android: Link2SD or DiskInfo
​III. Unbrick Your Phone:​a. Boot into Fastboot Mode (Pressing Volume Up + Power Button), & plug Your phone to the computer
b. Extract the Fastboot ROM zip, & run the flashall_AFT.cmd then wait until it completes (Note: For some reason it still have Bootloader Unlocked. So no need to reunlock it!)
c. When completes, just open Terminal then type fastboot flash recovery twrp-x.x.x_x-x-Z00x.img
d. Then boot into TWRP fastboot boot recovery
e. Now you get Your TWRP back, up & running again!
​IV. Extras:​a. Want custom accent color? Use Accent Colour Creator
b. Want custom Dark Theme Color Bucket other than Pitch Black & Android 12 Dark? Use APK Editor Studio & copy the SystemDark12Overlay.apk from /system/product/overlay/SystemDark12. Edit it on APK Editor Studio then modify the colors.xml & style.xml in /res/values-night folder. Lastly change the package="com.custom.dtcb.name" in AndroidManifest.xml then Save the APK & install it on to Your phone
Spoiler: ⚠️ For Specific¹ Purpose Only
¹ Finding the exact start-end address for extreme storage saving on specific ROM. The free space that'll be available is 20.48 kB.
You may not run this multiple lines of codes without knowing their real function is. If you're running this codes, & your phone got hard bricked that's aren't my problems! That's your typos, miscopied problem!
Code:
adb push mkfs.ext4 /sbin
adb push parted /sbin
adb shell
chmod 777 /sbin/parted
chmod 777 /sbin/mkfs.ext4
parted /dev/block/mmcblk0
unit b
p free
rm 46
rm 45
mkpart system ext4 620756992 2352082431
name 45 system
set 45 msftdata on
mkpart userdata ext4 2352082432 15757983231
y
i
name 46 userdata
set 46 msftdata on
quit
mkfs.ext2 /dev/block/mmcblk0p45
mkfs.ext4 /dev/block/mmcblk0p46
mount /dev/block/mmcblk0p45 /system_root
mount /dev/block/mmcblk0p46 /data
exit
If you're facing 1 of this problem while you Restore Backup in TWRP:
extractTarFork() process ended with ERORR; 255 Then the way to fix it to extend /system by repartition your EMMC with value of the subtraction from the Progress Value that shown just right before it's outputs the error message by the Total Backup Size of /system Partition.
extractTarFork() process ended with ERORR; 9 Then you must recreate the backup. It's caused by formatting the /data partition using TWRP's built in EXT4 formatter especially after you reboot & after partitioned the EMMC, or you didn't answer the last mounted on question after the 21ˢᵗ command has been executed.
Credits:​Thanks to Hovatek for being the first to actually demonstrate it on physical device, & providing the necessary files
Thanks to @markkiths for compiles, & providing LineageOS/Fork 18.1
Thanks to NikGApps for providing GApps for Android 11
Run into problem? Write it down below! I'll try my best to help You out.​

Categories

Resources