Related
I thought about this idea while comparing my Android phone to my iPhone.
Both systems use variants of Unix, but the implementation is very different: there is one partition available to iPhone users, where all apps/music/everything gets installed. If you have a 64GB iPhone, this means you never run out of space for apps.
On the other hand, having a 16GB Android phone and a 64GB Micro SD puts you in a bit of a predicament, rather than a better place compared to the iPhone owner. Some genius has decided that there should be a 1-2GB /data partition where your apps go, and their data goes into the internal SD card; about 100-200 apps down the line (clearly, more than you need, but who are the android designers to judge), you run out of /data space and you end up doing ridiculous things like moving apps to SD, using some form of link2sd/data2sd script etc… Meanwhile you realise that your 64GB microSD is dead space and all you can do is store photos, music, video etc in it - rather than Asphalt data or Navigon maps.
This can change if you have a rooted phone! It took me a while to figure it out, but I first did it on my Galaxy Note N7000 following this guide: http://forum.xda-developers.com/showthread.php?t=1887864 and then decided to create a new guide for my Galaxy Tab 7 (P1000). Credits to badge2033 for the first guide.
After following this guide you will have:
* supersized data partition (12 gigs): no more move to sd needed and then again the stock move to sd feature will work as expected (it will move data to the actual external sd card)
* external sd card mounted as internal sd card: nothing to say here, just does what is expected
* real internal sd (ums partition) shrunk to minimum (half gig) because it needs to stay present: used to mount a swap file (optional)
What you will need:
* Rooted Galaxy Tab P1000 - hopefully running Android 4.3 HumberOS CyanogenMod, but not necessarily (this guide is made with CM10.2 in mind)
* Working knowledge of ADB / Google to get you through bits if you get stuck
Code:
/* Standard disclaimer: Your warranty is now void. Use at your own risk.
Modifying or replacing your device's software may void your device's warranty,
lead to data loss, hair loss, financial loss, privacy loss, security breaches, or
other damage, and therefore must be done entirely at your own risk.
Every time you do not backup and complain a puppy dies.
No one is responsible for your actions but yourself. Good luck. */
Procedure:
1. reboot to recovery, and connect your phone to your pc
2. run a command prompt and type the following (wait a little bit until the adb server starts on the phone, you can verify it by typing "adb devices" if you get a serie of digits then you're good to go.
Code:
adb shellcat /proc/partitions
You should see something like:
Code:
31 0 7680 mtdblock0
31 1 7680 mtdblock1
31 2 443904 mtdblock2
31 3 22528 mtdblock3
31 4 12800 mtdblock4
31 5 11264 mtdblock5
179 0 15552512 mmcblk0
179 1 13455328 mmcblk0p1
179 2 1994752 mmcblk0p2
179 3 102400 mmcblk0p3
179 16 1024 mmcblk0boot1
179 8 1024 mmcblk0boot0
179 24 31166976 mmcblk1
179 25 31162880 mmcblk1p1
Backup your /data to External SD. REMEMBER YOU HAVE ALREADY COPIED YOUR INTERNAL SD TO THE EXTERNAL ONE!!! I did a dd backup and a nandroid in CWM. You only need the nandroid to restore later.
Code:
dd if=/dev/block/mmcblk0p2 of=/storage/sdcard1/databack.img bs=4096
Code:
/*** WARNING!!! Do your own backups / nandroids /
write important things down on a napkin, if this does not work for you
and you lose data I'm not responsible!!! ***/
You should see something like:
Code:
498688+0 records in
498688+0 records out
2042626048 bytes (1.9GB) copied, 277.149450 seconds, 7.0MB/s
Then use parted, the partition editor:
Code:
parted /dev/block/mmcblk0
you'll get into the parted interactive shell, this is where serious work done
Code:
unit b
print
You should see something like:
Code:
Model: MMC SEM16G (sd/mmc)
Disk /dev/block/mmcblk0: 15925772288B
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 32768B 13778288639B 13778255872B primary fat32
2 13778288640B 15820914687B 2042626048B primary ext4
3 15820914688B 15925772287B 104857600B primary ext4
Code:
did i remind you to backup your system,this is your last stop before the no back pointso you just might wanna "move" all your internal sd stuff to the external sd,and backup your system to the external sd also (you just need to restore the data partition afterwards the rest of the system is safe but who knows :p)ps: you can do your backup on cwm without leaving adb shell on the pc just like you will do the format later thanks to cwm
remove the partitions
Code:
rm 1
rm 2
make the new changed size partitions
Code:
mkpart primary 32768 536903167
mkpart primary 536903168 15820914687
print
you should see this output
Code:
Model: MMC SEM16G (sd/mmc)
Disk /dev/block/mmcblk0: 15925772288B
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 32768B 536903167B 536870400B primary fat32
2 536903168B 15820914687B 15284011520B primary
3 15820914688B 15925772287B 104857600B primary ext4
Format the data partition as ext2 (so that CWM can see it)
Code:
mkfs
Then choose 2, ext2
now in cwm go to mounts and storage and select "format /storage/sdcard0" and "format /data"
now restore your data partition in CWM.
and you will be able to boot you system normally. and you go to your storage information you will find that your app storage is now 13gigs and the usb storage is just 500 megs yay
For Android 4.3 modifying vold.fstab file (but for other versions do so with ciphray's guide on how to do so)
you can use the modified file from ciphray thread here which i didn't beacuse his file was smaller
What DOES work is the free External 2 Internal app in Google Play: https://play.google.com/store/apps/details?id=eu.codlab.int2ext&hl=el
Settings are (for CM 10.2 ROM):
Original Internal mounting point: /storage/sdcard0
Original External mounting point: /storage/sdcard1
Ext.sdcard device access: /dev/block/vold/179:25
[Have not done this - badge2033 suggests it]
as a final step you can use the now pretty useless internal space (500megs remember) as a swap sapce
download swapper2 from the play store here https://play.google.com/store/apps/d...v.n3o.swapper2
run it and go to settings
set swap place as /sdcard/external_sd/swapfile.swp
set swap size to the max
set the swappiness to 20 ( you can rise the value a little but don't put a high value or the system will do much swapping all the time -value of 100 means any memory not used actively will be swapped- )
wait until the process finishes then reboot your phone
you can verify that swap is working by typing "free" in the shell if the line beginning with swap is not all zeros then you're swap is working.
Phew! That was a long guide. Questions / comments below.
Good idea!
im waiting for better CM 10.2 and will try (my p1000 is on alroger's cm 10.1 now)
Sent from GT-P1000 using Tapatalk4
Just to be sure to have understood everything.
You have convert the internal storage in data partition but It can't be use anymore as a storage?
Thanks
Yes. The original partitioning of internal storage is about 2gb data / 12gb storage, now it's just 500mb storage. Then with the sd card swap this 500mb becomes obsolete as a 32 or 64 gb microSD takes the place of storage.
help me.
I really like the way you propose, I like to do this but,
after going to recovery and plug in,i open a cmd(admin) and type adb devices and this massage appear:
##################################
C:\Users\farzad>adb devices
List of devices attached
32348202BA2300EC device
C:\Users\farzad>
##################################
after that when I type this code:
>adb shellcat /proc/partitions
the help of adb appear:
##################################
Android Debug Bridge version 1.0.25
-d - directs c
e
returns a
present.
-e - directs c
returns a
unning.
-s <serial number> - directs c
ith
the given
##################################
what should I do? where is my mistake?
tnx
farza(db)astany said:
help me.
after going to recovery and plug in,i open a cmd(admin) and type adb devices and this massage appear:
after that when I type this code:
>adb shellcat /proc/partitions
the help of adb appear:
what should I do? where is my mistake?
tnx
Click to expand...
Click to collapse
Try entering separate commands in the command line
adb shell
cat /proc/partitions
You are welcome.
---------- Post added at 02:32 AM ---------- Previous post was at 01:58 AM ----------
Thanks for this post. In my case, this method somehow unlocked hidden 16GB storage. Without microSD inserted, it has 14GB of internal storage (where you can have your apps)... and 15GB of SD internal storage. (can be used as usb drive and storage for movies and music and books)
Moving EVERYTHING to external SD card
Hello,
Sorry for necroposting, but I'm looking for a way to revive a Samsung Galaxy Tab GT-P1000 that had a damaged internal storage chip physically removed.
I managed to intall CyanogenMod 13 on the external SD card partitionned as follow :
Code:
cat /fstab.p1
# Android fstab file.
# <src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
recovery /recovery mtd defaults recoveryonly
boot /boot mtd defaults recoveryonly
radio /radio mtd defaults recoveryonly
/dev/block/mtd/by-name/cache /cache yaffs2 defaults recoveryonly
# LVM Volumes
/dev/lvpool/system /system ext4 ro,discard wait
/dev/lvpool/userdata /data ext4 noatime,discard,nodev,nosuid,nomblk_io_submit,errors=panic wait,encryptable=footer,length=-16384
/dev/lvpool/userdata /data f2fs rw,noatime,discard,nosuid,nodev,nodiratime,inline_xattr wait,encryptable=footer,length=-16384
/dev/block/mtd/by-name/datadata /datadata yaffs2 defaults recoveryonly
/devices/platform/s3c-sdhci.0/mmc_host/mmc0/*/mmcblk0 auto auto defaults voldmanaged=sdcard0:1,noemulatedsd,nonremovable
/devices/platform/s3c-sdhci.2/mmc_host/mmc1/*/mmcblk1 auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata
# zRAM
/dev/block/zram0 none swap defaults zramsize=134217728
However, most apps crash when started, as they expect a writable internal storage, and there is none.
Additionnal data :
Code:
[email protected]:/ # cat /proc/partitions
major minor #blocks name
254 0 131072 zram0
31 0 7680 mtdblock0
31 1 7680 mtdblock1
31 2 432128 mtdblock2
31 3 17920 mtdblock3
31 4 12800 mtdblock4
31 5 16384 mtdblock5
31 6 11264 mtdblock6
179 0 15558144 mmcblk0
179 1 10844160 mmcblk0p1
179 2 4193280 mmcblk0p2
179 3 510976 mmcblk0p3
253 0 921600 dm-0
253 1 3768320 dm-1
Code:
[email protected]:/ # cat /proc/mtd
dev: size erasesize name
mtd0: 00780000 00040000 "boot"
mtd1: 00780000 00040000 "recovery"
mtd2: 1a600000 00040000 "datadata"
mtd3: 01180000 00040000 "cache"
mtd4: 00c80000 00040000 "efs"
mtd5: 01000000 00040000 "radio"
mtd6: 00b00000 00040000 "reservoir"
What I'm looking for is a way to use the external SD card as /system, /data, AND internal storage. Can anyone help me achieve this ?
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
~ # [6nchmod +x parted
chmod +x parted
~ # [6n./parted /dev/block/mmcblk0 p
./parted /dev/block/mmcblk0 p
Error: Can't have overlapping partitions.
~ # [6n
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...
I tried to install /e/ on my OnePlus3T after I used LinageOS 16.
Because after I upgraded LinageOS to 16, I cant update LineageOs over the Air and some other Reasons i wanted to switch to /e/.
So I tried installing /e/ or a other Version of LinageOs using TWRP, but sadly this doesnt worked, i got Error 7 or rather Error 1001.
I flashed my OnePlus Firmware to 5.0.8 and Still got the same error.
I tried wiping my Partitions.
Also I flashed the stock Recovery from OnePlus.
And installed OOS with Stockrecovery, which absolutly worked.
I locked my phone
With OOs I made a Update over the Air.
Unlocked the Phone and tried to install a Custom ROM.
But still got the same Error.
After unpacking the installion zip of /e/ i removed all lines in the updater-script except
block_image_update("/dev/block/bootdevice/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat.br", "system.patch.dat");
which stands for the corresponding error. Then i took the updater-binary file und copyied it to my phone. Then I took the files I unpacked and rezipped them into mytest.zip,
which I moved over to my phone.
I run following commands:
chmod 777 /data/media/update-binary
/data/media/update-binary 3 0 /data/media/mytest.zip
And got following Error:
Decompression failed with BLOCK_LENGTH_1 missing 4095265 bytes of new data failed to execute command [new 2,23006,24030] ui_print script succeeded: result was []
In TWRP i can access files in the /system Partition and the /system partition is mountable, but still there is something wrong with it.
What could I try next?
Post the recovery log from when you get the original error 7 (1001) message. That might be more specific as to what is wrong.
EvilChickens said:
What could I try next?
Click to expand...
Click to collapse
Save all your data and go this way:
1. install latest TWRP (3.3.1.0) and firmware 9.0.4
2. in TWRP delete all partitions (Dalvik, Cache, System, Data,...)
3. reboot into TWRP
4. format Data in Wipe - Format Data - type "yes"
5. reboot into TWRP
6. connect your phone with your computer and copy the custom rom into your phone
7. install your rom and if needed gapps + magisk
8. enjoy your rom
this one?
Installing zip file '/sdcard/e-0.7-p-20190710-UNOFFICIAL-oneplus3.zip'
Checking for Digest file...
I:Update binary zip
Verifying package compatibility...
Package doesn't contain compatibility.zip entry
I:Extracting updater binary 'META-INF/com/google/android/update-binary'
I:Zip does not contain SELinux file_contexts file in its root.
I:Legacy property environment not used in updater.
SELinux: Loaded file_contexts
__bionic_open_tzdata: couldn't find any tzdata when looking for CST6CDT,M3.2.0,M11.1.0!
__bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
Target: OnePlus/OnePlus3/OnePlus3:9/PKQ1.181203.001/1905251415:user/release-keysTarget: OnePlus/OnePlus3/OnePlus3:9/PKQ1.181203.001/1905251415:user/release-keys
Extracted file "/tmp/install/bin/backuptool.sh"
Extracted file "/tmp/install/bin/backuptool.functions"
Extracted 2 file(s)
detected filesystem ext4 for /dev/block/bootdevice/by-name/systemdetected filesystem ext4 for /dev/block/bootdevice/by-name/system
about to run program [/tmp/install/bin/backuptool.sh] with 3 args
run_program: child exited with status 127
Patching system image unconditionally...
performing update
Patching system image unconditionally...blockimg version is 4
maximum stash entries 0
creating stash /cache/recovery/2bdde8504898ccfcd2c59f20bb8c9c25f73bb524/
234885120 bytes free on /cache (0 needed)
/cache/recovery/last_command doesn't exist.
erasing 333337 blocks
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
writing 1024 blocks of new data
Decompression failed with TRANSFORM
missing 3648635 bytes of new data
failed to execute command [new 2,72343,73367]
script aborted: E1001: Failed to update system image.
E1001: Failed to update system image.error: 1001
Updater process ended with ERROR: 7
I:Install took 8 second(s).
Error installing zip file '/sdcard/e-0.7-p-20190710-UNOFFICIAL-oneplus3.zip'
Master_TC said:
Save all your data and go this way:
1. install latest TWRP (3.3.1.0) and firmware 9.0.4
2. in TWRP delete all partitions (Dalvik, Cache, System, Data,...)
3. reboot into TWRP
4. format Data in Wipe - Format Data - type "yes"
5. reboot into TWRP
6. connect your phone with your computer and copy the custom rom into your phone
7. install your rom and if needed gapps + magisk
8. enjoy your rom
Click to expand...
Click to collapse
I'll tried this, but didnt work for me, still got the same Error
EvilChickens said:
I'll tried this, but didnt work for me, still got the same Error
Click to expand...
Click to collapse
OK, can you install successfull any other custom rom?
Master_TC said:
OK, can you install successfull any other custom rom?
Click to expand...
Click to collapse
I'll tried different versions of LineageOS and /e/ and all didnt work
EvilChickens said:
I'll tried different versions of LineageOS and /e/ and all didnt work
Click to expand...
Click to collapse
That's strange. You have the right firmware and TWRP installed on your phone? Which versions do you use and where have you downloaded them?
OP 3 or 3T?
Master_TC said:
That's strange. You have the right firmware and TWRP installed on your phone? Which versions do you use and where have you downloaded them?
OP 3 or 3T?
Click to expand...
Click to collapse
I'll use TWRP 3.3.1-0 :
https://eu.dl.twrp.me/oneplus3/
and firmware 9.0.4:
https://androidfilehost.com/?fid=6006931924117907812
EvilChickens said:
I'll use TWRP 3.3.1-0 :
https://eu.dl.twrp.me/oneplus3/
and firmware 9.0.4:
https://androidfilehost.com/?fid=6006931924117907812
Click to expand...
Click to collapse
You have a OP 3T, so the files are right..
I have a 3T too withe the same files and i can install successfull all roms....
Please install the firmware again - reboot into twrp - install the rom below (dirty unicorns)
https://download.dirtyunicorns.com/.../du_oneplus3-v13.4-20190707-1336-OFFICIAL.zip
Don't forget to wipe all partitons and format the data partition!
Do you get the failer?
Master_TC said:
You have a OP 3T ?
Click to expand...
Click to collapse
Yes
EvilChickens said:
Yes
Click to expand...
Click to collapse
You have a OP 3T, so the files are right..
I have a 3T too withe the same files and i can install successfull all roms....
Please install the firmware again - reboot into twrp - install the rom below (dirty unicorns)
https://download.dirtyunicorns.com/.../du_oneplus3-v13.4-20190707-1336-OFFICIAL.zip
Don't forget to wipe all partitons and format the data partition!
Do you get the same failer?
Master_TC said:
You have a OP 3T, so the files are right..
I have a 3T too withe the same files and i can install successfull all roms....
Please install the firmware again - reboot into twrp - install the rom below (dirty unicorns)
https://download.dirtyunicorns.com/.../du_oneplus3-v13.4-20190707-1336-OFFICIAL.zip
Don't forget to wipe all partitons and format the data partition!
Do you get the same failer?
Click to expand...
Click to collapse
Yes I still got the same error
Hi,
coud you try this recovery version? https://androidfilehost.com/?fid=1395089523397907195
With last version of TWRP (3.3.1?) I was unable to flash files in /system partition, with this version I resolved.
syntesys said:
Hi,
coud you try this recovery version? https://androidfilehost.com/?fid=1395089523397907195
With last version of TWRP (3.3.1?) I was unable to flash files in /system partition, with this version I resolved.
Click to expand...
Click to collapse
Sadly still got the same Error, Error 7.
Use code tags or upload the file. Your posting of the twrp log is a mess.
EvilChickens said:
Code:
[...]
Decompression failed with TRANSFORM
missing 3648635 bytes of new data
failed to execute command [new 2,72343,73367]
script aborted: E1001: Failed to update system image.
E1001: Failed to update system image.error: 1001
Updater process ended with ERROR: 7
[...]
Click to expand...
Click to collapse
As you can see the decompression of some content of the flashable zip is failing. This means your zip file is broken. Check the checksum of the flashable zip after transfering it to the device.
I think this could happen sometimes, but I tried a lot of installings. Also i tried installing the zip directly. Overall I tried installing the zip around 65 Times.
But in the next install I will check the checksume on the device, but for now i am unable to test it. But why then I can install the Stock OS with Stock Recovery without any Problems? (But this takes a long time like 2 Hours)
Thank you very much for your advice, i didnt thought about that
EvilChickens said:
I think this could happen sometimes, but I tried a lot of installings. Also i tried installing the zip directly. Overall I tried installing the zip around 65 Times.
But in the next install I will check the checksume on the device, but for now i am unable to test it. But why then I can install the Stock OS with Stock Recovery without any Problems? (But this takes a long time like 2 Hours)
Thank you very much for your advice, i didnt thought about that
Click to expand...
Click to collapse
The log's lines I've quoted are biunique: there's data in the zip missing or broken. I don't know why it's missing or broken, but as a matter of fact it IS actually broken. Possible reasons are wide spread through the complete chain of transmission from the machine the rom wss build on to the final installation device. That's why one should always check the integrety of a flashable zip on the target device prior to flashing - twrp can do this automatically for you (at least for md5sum - never tried with los sha256sum).
EvilChickens said:
But why then I can install the Stock OS with Stock Recovery without any Problems? (But this takes a long time like 2 Hours)
Click to expand...
Click to collapse
2 hours? If i install the latest OS 9.04 on my 3T it takes 15-20 Minutes. Do you have a SDcard in your phone, which is casing the problems? If yes, then put it out...
No, i went over ADB
I have a Chinese version of k20 pro, and a friend gave it to me because it could not be repaired. Bootloader has been unlocked and can enter fastboot and twrp recovery at present. But recovery shows
"primary block device ‘/dev/block/bootdevice/by-name/userdata’ for mount point ‘/data’ is not present!
Failed to mount ‘/data’(invalid argument)”
I tried format data and change file system in twrp, but it didn't work. I also tried fastboot flash userdata, and he displayed
"failed (remoteartition not found).
I also downloaded the official system and used fastboot to execute "flash_all.sh". Halfway through the execution, it displayed
"error:cannot load'./images/ system.img' :value too large for defined data type. flash system error”
Is there a way to solve it? I'm not in China, so I can't send it back to official repairs.
(I don’t have a windows pc to use it now) The previous fastboot operation was done using raspberry pi 4
xperiazu21 said:
I have a Chinese version of k20 pro, and a friend gave it to me because it could not be repaired. Bootloader has been unlocked and can enter fastboot and twrp recovery at present. But recovery shows
"primary block device ‘/dev/block/bootdevice/by-name/userdata’ for mount point ‘/data’ is not present!
Failed to mount ‘/data’(invalid argument)”
I tried format data and change file system in twrp, but it didn't work. I also tried fastboot flash userdata, and he displayed
"failed (remoteartition not found).
I also downloaded the official system and used fastboot to execute "flash_all.sh". Halfway through the execution, it displayed
"error:cannot load'./images/ system.img' :value too large for defined data type. flash system error”
Is there a way to solve it? I'm not in China, so I can't send it back to official repairs?.
(I don’t have a windows pc to use it now) The previous fastboot operation was done using raspberry pi 4?
Click to expand...
Click to collapse
what happens if
Fastboot erase userdata
[email protected] said:
what happens if
Fastboot erase userdata
Click to expand...
Click to collapse
Thanks in advance for your reply! After I tried it, he showed
"failed(remote: check device console.).“
If I erase other partitions, such as cache, it can be finished.
I also tried to extract userdata.img to flash from the official fastboot. Use fastboot flash userdata userdata.img, it displays
"failed(remote;partition not found)"
Try flashing from mi flash tool... From an windows pc. Do not choose lock option.
---------- Post added at 07:25 PM ---------- Previous post was at 06:55 PM ----------
Try this also
The data partition is sda31 for this device so
Go to recovery.. Terminal... Type Belo command
mke2fs -T ext4 /dev/block/sda31
tune2fs –L userdata /dev/sda31
Then reboot
Flash a fastboot image... System etc
If fastboot failed to flash system.img take the image to sdcard install image from recovery.
Tell me what happens.
[email protected] said:
Try flashing from mi flash tool... From an windows pc. Do not choose lock option.
---------- Post added at 07:25 PM ---------- Previous post was at 06:55 PM ----------
Try this also
The data partition is sda31 for this device so
Go to recovery.. Terminal... Type Belo command
mke2fs -T ext4 /dev/block/sda31
tune2fs –L userdata /dev/sda31
Then reboot
Flash a fastboot image... System etc
If fastboot failed to flash system.img take the image to sdcard install image from recovery.
Tell me what happens.
Click to expand...
Click to collapse
I will find windows pc to try miflash during the holiday!
I tried the command in the terminal, it showed
"the file /dev/block/sda31 does not exist and no size was specified".
I changed the recovery to orange fix, and used the file browser to view /dev/block, but I didn't see sda31:crying:
Show me the output of below command in orange fox terminal
fdisk -l
And also
fdisk /dev/sda
p
[email protected] said:
Show me the output of below command in orange fox terminal
fdisk -l
And also
fdisk /dev/sda
p
Click to expand...
Click to collapse
I tried the fdisk -l and fdisk /dev/sda commands, and the message in the picture was displayed.
{
"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"
}
(Sorry I can't save the screenshot to the usb device)
-------Update-------
I tried to replace the recovery with wzsx150's twrp
and execute command “parted /dev/block/sda”
The GPT table seems to be damaged, can it be repaired?
Y.. After the last ss inside parted..
Type p enter
Show me the ss..
You have to recreate partition table tru parted
[email protected] said:
Y.. After the last ss inside parted..
Type p enter
Show me the ss..
You have to recreate partition table tru parted
Click to expand...
Click to collapse
I'm sorry for my bad English:crying:
I don't know what you mean very much, what should I do now?
Parted /dev/block/sda
Inside parted cmd prompt type
(parted) print
Show me the screen shot
Use orange fox latest recovery... F disk will work there
[email protected] said:
Show me the output of below command in orange fox terminal
fdisk -l
And also
fdisk /dev/sda
p
Click to expand...
Click to collapse
[email protected] said:
Parted /dev/block/sda
Inside parted cmd prompt type
(parted) print
Show me the screen shot
Use orange fox latest recovery... F disk will work there
Click to expand...
Click to collapse
Thank you for your detailed explanation!
I downloaded the latest version of orange fix recovery and executed parted command. The message is still the same as before.
Use fdisk in latest orange fox.
Check details first. Get partition table
[email protected] said:
Use fdisk in latest orange fox.
Check details first. Get partition table
Click to expand...
Click to collapse
I typed "fdisk /dev/block/sda”, and then typed “p” in the command, showing all the partitions.
The end sector of the userdata partition seems to be a problem?
Ok... See partition no 31 which is data partition has start and end address wrong. Thats the issue.
Just re create this partition... It will start working then.
Type fdisk /dev/sda
Type d to proceed to delete a partition
Type 31 to select the 31st partition and press enter
This will delete data partition.
Then create it
[email protected] said:
Ok... See partition no 31 which is data partition has start and end address wrong. Thats the issue.
Just re create this partition... It will start working then.
Type fdisk /dev/sda
Type d to proceed to delete a partition
Type 31 to select the 31st partition and press enter
This will delete data partition.
Then create it
Click to expand...
Click to collapse
I cannot use the /dev/sda path, I can only use the /dev/block/sda path
How should I delete partition 31? It has only 4 actions and no delete option
My mistake...
/dev/block/sda
This guide will help u
https://tldp.org/HOWTO/Partition/fdisk_partitioning.html
Btw hw r u taking screen shot of orange fox?
/ $ su
:/ # busybox fdisk /dev/block/sda
Note: sector size is 4096 (not 512)
Found valid GPT with protective MBR; using GPT
Command (m for help): p
Disk /dev/block/sda: 237158400 sectors, 704M
Logical sector size: 4096
Disk identifier (GUID): 6ca8833f-cde5-e7e6-50f2-77495c5b84a2
Partition table holds up to 32 entries
First usable sector is 6, last usable sector is 29644794
Number Start (sector) End (sector) Size Name
1 6 7 8192 switch
2 8 15 32768 ssd
3 16 23 32768 dbg
4 24 31 32768 bk01
5 32 63 128K bk02
6 64 127 256K bk03
7 128 255 512K bk04
8 256 383 512K keystore
9 384 511 512K frp
10 512 1023 2048K bk05
11 1024 2047 4096K misc
12 2048 3071 4096K vm-data
13 3072 4095 4096K bk06
14 4096 6143 8192K logfs
15 6144 8191 8192K bk07
16 8192 12287 16.0M oops
17 12288 16383 16.0M devinfo
18 16384 20479 16.0M oem_misc1
19 20480 24575 16.0M metadata
20 24576 32603 31.3M bk08
21 32604 40959 32.6M splash
22 40960 49151 32.0M bk09
23 49152 65535 64.0M persist
24 65536 81919 64.0M persistbak
25 81920 98303 64.0M logdump
26 98304 131071 128M minidump
27 131072 163839 128M rawdump
28 163840 180223 64.0M recovery
29 180224 245759 256M cache
30 245760 507903 1024M cust
31 507904 29644794 111G userdata
Command (m for help):
Given partition table for a correct device. Taken in my own device.
[email protected] said:
My mistake...
/dev/block/sda
This guide will help u
https://tldp.org/HOWTO/Partition/fdisk_partitioning.html
Btw hw r u taking screen shot of orange fox?
Click to expand...
Click to collapse
Use the volume down and power button, the photo will be stored in /tmp, copy the image to usb_otg.
Thank you very much, you saved this phone, I flashed it to miui eu rom, it works well!
In the end, I did not use fdisk to modify, but gdisk.
fdisk seems to be unable to perform too many operations on the gpt format. Using gdisk is similar to fdisk.
Thank you again, and google translate XD.
Now you help two person in future...
And then tell them to help two and so on recursively.
Also let me know gdisk binary details.. Where u got it...?
[email protected] said:
Now you help two person in future...
And then tell them to help two and so on recursively.
Also let me know gdisk binary details.. Where u got it...?
Click to expand...
Click to collapse
When I was searching for how to use fdisk to delete partitions, I found this discussion. There are partition tools like gdisk and fdisk available for download
https://forum.xda-developers.com/mi-9t/help/mi-9t-hard-brick-miui11-test-t3975347/page6/
i have bootloader unlocked but cant install fastboot rom via mi flash
i have k2o pro device
i have try to install fastboot rom manually but i got error coundnt read sparse file or now i stuck on erase boot
any help!!!!
bootloader unlock
cant it be a hardware promblem
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