Related
My Nexus 7 wifi tablet was working flawlessly for a few months since buying.
It was rooted, unlocked with stock android 4.2.1 and Team Win Recovery 2.3.2.1
Yesterday morning after charging all the night I saw that it was completely turned off. It didn't bother me, because it happened a couple of times before.
But this time, after I'd switched it on it hung on google color logo.
I waited half an hour but to no avail.
So at first I booted to recovery and wiped cache and the like. But the problem remained. Factory reset didn't help either.
So as a last resort I formated everything (including system).
Then I saw surprisingly in fastboot mode that lock state is: LOCKED.
I've tried to unlock it but it ended with an error:
C:\Users\Warp\AppData\Local\Android\android-sdk\platform-tools>fastboot oem unlock
...
(bootloader) erasing userdata...
(bootloader) erasing userdata done
(bootloader) erasing cache...
FAILED (remote: (Unknown error code))
finished. total time: 7.241s
After I'd pressed "yes" to the question "unlock bootloader" on tablet it was displaying text "Neither USP nor CAC patition found" in a loop.
Because there is still TWR installed and I can't wipe it out i think I've lost the guarantee.
I can see my device in fastboot mode:
C:\Users\Warp\AppData\Local\Android\android-sdk\platform-tools>fastboot getvar all
(bootloader) version-bootloader: 4.13
(bootloader) version-baseband: N/A
(bootloader) version-hardware: ER3
(bootloader) version-cdma: N/A
(bootloader) variant: grouper
(bootloader) serialno: XXXXXXXXXXXXXXXXXXXXXX
(bootloader) product: grouper
(bootloader) secure: yes
(bootloader) unlocked: no
(bootloader) uart-on: no
(bootloader) partition-size:bootloader: 0x0000000000600000
(bootloader) partition-type:bootloader: emmc
(bootloader) partition-size:recovery: 0x0000000000c00000
(bootloader) partition-type:recovery: emmc
(bootloader) partition-size:boot: 0x0000000000800000
(bootloader) partition-type:boot: emmc
(bootloader) partition-size:system: 0x0000000028a00000
(bootloader) partition-type:system: ext4
(bootloader) partition-size:cache: 0x000000001bb00000
(bootloader) partition-type:cache: ext4
(bootloader) partition-size:userdata: 0x0000000364700000
(bootloader) partition-type:userdata: ext4
all:
finished. total time: 0.193s
Is there anything left I can try?
AW: No way to unlock device. Is it bricked?
Have you tried reflashing stock rom? Maybe this rewrites recovery, too
Sent from my SK17i running Android 4.1.2
mihahn said:
Have you tried reflashing stock rom? Maybe this rewrites recovery, too
Click to expand...
Click to collapse
Yes, but it can't be done because the device is locked.
Before you do anything drastic, realize that you still have (in TWRP) a privileged execution environment (a root shell).
That means at a minimum you have a root-privileged shell available and some tools for fooling with partitions known to the TWRP kernel.
By drastic, I mean specifically: don't overflash the recovery partition at the command line from the root shell using /sbin/flash_image. Keep "root" until you are sure that nothing else can be done.
Back in a couple minutes - booting my N7 into TWRP right now to have a look at some things.
[ Edit ] From your post I see you have fastboot drivers set up - can you connect to TWRP via ADB?
Thank you for your reply.
Yes, I can see my device using: adb devices
adb shell also works.
[Edit] One more odd thing, when TWRP starts it asks me to enter my password. I think it's related to data encrypted partition but I've never done it for sure.
Well, I have a couple of hypotheses.
I guess I should ask one more question - is it correct that in TWRP you see none of your backups in /sdcard (TWRP mounts /sdcard on when it starts up) ?
If you have anything left on the SD card you want saved, get it backed up to your PC with "adb pull" before proceeding any further. (All suggestions below assume you have nothing left to save anywhere in /data.)
Also, I note that my N7 discharges slowly when plugged into my computer but sitting at the TWRP screen - so get your nexus fully charged before going any further.
The fact that you can boot TWRP means that the bootloader can find your recovery image, so at a minimum that means the bootloader can still understand some of the partitioning information it has available.
It is possible that the initial problem you had was something as simple as a corruption of a ext4 file system involving /cache, /system, or /data - as they need to be mounted after the early boot (ramdisk) initialization has more or less finished up. If they can not be mounted, the late boot processes never occur. Looking at your subsequent problems with unlocking the bootloader indicate a problem with the /cache partition - maybe?
[ The re-locking of the bootloader is odd, though. It suggests something got erased or mangled in a partition of the flash RAM that normally does not get mounted or touched by any of the usual kernel boots (whether we are talking about a recovery boot or any other android kernel boot). That means something other than /system, /cache, or /data - probably misc1, misc2, mfg, or possibly somewhere else (like slack space at the ends of either the boot or recovery partitions, or even in hard-coded location. ]
What happens if you try to rebuild the ext4 filesystems on /cache, /system, and /data?
[ note the partitions below are for the grouper N7 device; do a "adb shell cat /etc/fstab" to see if there are differences if you are on tilapia (3G version of the Nexus 7) ]
C:\foo> adb shell
# umount /data
# umount /cache
# umount /sdcard
# /sbin/mke2fs -t ext4 -m 0 /dev/block/mmcblk0p4
# /sbin/mke2fs -t ext4 -m 0 /dev/block/mmcblk0p3
# /sbin/mke2fs -t ext4 -m 0 /dev/block/mmcblk0p9
Does this succeed or fail? If it fails, what about first trying
# /sbin/erase_image /dev/block/mmcblk0p??? ( substitute correct # for ???)
prior to the mke2fs operation?
If you can get them to succeed, you might try restoring a backup (adb push to your "SD card"), and then doing a restore from TWRP and see if you can get it to boot.
You may also want to get your misc1 and misc2 partitions backed up - they contain the partitioning information (and usually the android "boot communication block), and they are generally identical (down to the last byte):
C:\foo> adb shell
# mount /sdcard (if this fails then you can't do this obviously)
# dd if=/dev/block/mmcblk0p5 of=/sdcard/part5.img bs=4096
# dd if=/dev/block/mmcblk0p8 of=/sdcard/part8.img bs=4096
# exit
C:\foo> adb pull /sdcard/part5.img
C:\foo> adb pull /sdcard/part8.img
If one of misc1 or misc2 got corrupted - and that is what is confusing the bootloader - it should be possible to flash the bad one with the good spare - but let's leave that alone until we see if /cache, /data, and /system can be re-initialized.
I'll come back to this thread in 8 hours or so - time for bed for me.
bftb0 said:
Well, I have a couple of hypotheses.
is it correct that in TWRP you see none of your backups in /sdcard (TWRP mounts /sdcard on when it starts up) ?
Click to expand...
Click to collapse
Yes it mounts it and it is empty (besides TWRP directory). I don't have backup either but it is no problem for me. I just want to start with stock Android 4.2.1 or if it's not possible - wipe out TWRP and send nexus for repairing.
bftb0 said:
What happens if you try to rebuild the ext4 filesystems on /cache, /system, and /data?
Does this succeed or fail?
Click to expand...
Click to collapse
Everything went smoothly, no errors here.
bftb0 said:
If you can get them to succeed, you might try restoring a backup (adb push to your "SD card"), and then doing a restore from TWRP and see if you can get it to boot.
Click to expand...
Click to collapse
I was trying to install a few roms this way, but the flashing never ends. On nexus I can see all the time: Flashing file 1 of 1 /sdcard/aokp_grouper_jb-mr1_build-1.zip
As I saw in recovery.log the problem is at the moment when filesystem is created:
C:\Users\Warp\AppData\Local\Android\android-sdk\platform-tools>adb shell cat /tmp/recovery.log
[cut]
I:Set page: 'main2'
I:Set page: 'install'
I:Set page: 'flash_confirm'
I:Set page: 'flash_zip'
I:Set page: 'flash_zip'
Installing '/sdcard/aokp_grouper_jb-mr1_build-1.zip'...
Checking for MD5 file...
Skipping MD5 check: no MD5 file found.
Creating filesystem with parameters:
Size: 681574400
Block size: 4096
Blocks per group: 32768
Inodes per group: 6944
Inode size: 256
Journal blocks: 2600
Label:
Blocks: 166400
Block groups: 6
Reserved block group size: 47
Created filesystem with 11/41664 inodes and 5415/166400 blocks
and it stops here.
bftb0 said:
You may also want to get your misc1 and misc2 partitions backed up - they contain the partitioning information (and usually the android "boot communication block), and they are generally identical (down to the last byte):
Click to expand...
Click to collapse
Ok, done. I've checked they are identical.
bftb0 said:
I'll come back to this thread in 8 hours or so - time for bed for me.
Click to expand...
Click to collapse
Great I'm waiting impatiently.
Regards
warpek said:
...I don't have backup either...
Click to expand...
Click to collapse
Arrgh - you never made any backups?. I was hoping you had a TWRP backup - they are just tar files, so you can manually untar them into mounted partitions at the command line... and that way see if any errors occur on an individual partition you are working with. But I'll come back to this in a little bit.
warpek said:
Everything went smoothly, no errors here.
Click to expand...
Click to collapse
OK, got it.
warpek said:
As I saw in recovery.log the problem is at the moment when filesystem is created:
[cut]
Creating filesystem with parameters:
Size: 681574400
...
Created filesystem with 11/41664 inodes and 5415/166400 blocks
and it stops here.
Click to expand...
Click to collapse
Well, 650 MB (=681574400 bytes) is the /system partition, and the "Created filesystem" message probably indicates success with a mke2fs operation. But mke2fs does not wipe all the blocks, so it is still possible that the *restore to /system* operation is hanging on a media failure.
warpek said:
Ok, done. I've checked they are identical.
Click to expand...
Click to collapse
Just out of curiosity, do you get a md5sum of 3039dc3a07a56d0392d48787e4a202a1 for your part5.img and part8.img files? In principle, yours should not be identical to mine - especially if there is something unusual in the BCB (Boot Control Block), but there is a chance they are the same as these partitions seem to contain multiple backups of partitioning information. (My N7 appears to have been made in December)
OK, lets try something innocuous - raw read tests on all of your partitions. Let's see if you have a bunch of bad pages in one partition.
With TWRP running
C:\foo> adb shell
# dd of=/dev/null bs=4096 if=/dev/block/mmcblk0boot0
# dd of=/dev/null bs=4096 if=/dev/block/mmcblk0boot1
# dd of=/dev/null bs=4096 if=/dev/block/mmcblk0p1
# dd of=/dev/null bs=4096 if=/dev/block/mmcblk0p2
# dd of=/dev/null bs=4096 if=/dev/block/mmcblk0p3
# dd of=/dev/null bs=4096 if=/dev/block/mmcblk0p4
# dd of=/dev/null bs=4096 if=/dev/block/mmcblk0p5
# dd of=/dev/null bs=4096 if=/dev/block/mmcblk0p6
# dd of=/dev/null bs=4096 if=/dev/block/mmcblk0p7
# dd of=/dev/null bs=4096 if=/dev/block/mmcblk0p8
These should all go through pretty quickly - I omitted the /data partition (p9) because it is huge. The next largest (system/p3) should take about 20 seconds for a successful raw read. If you get a read failure, repeat the command on the offending partition with the "conv=noerror" option, as in
dd of=/dev/null bs=4096 conv=noerror if=/dev/block/mmcblk0p8
Basically I'm just looking for you to narrow down the search to a problem partition. The next step is to try to manually unpack files into /system, /cache, and /data to see if there is a flash media problem in one of those partitions. Unfortunately, this is where TWRP backup files would have been useful: ROM files are not useful for this, and the google factory images e.g. nakasi-jop40d-factory-6ac58a1a.tgz contain image files which are not archives - they are "sparse ext4 images".
Even though you observed no failures with the mke2fs operations, you might want to also try to repeat that process (only for p3, p4, and p9 !) , but this time using the partition erase command first.
# /sbin/erase_image /dev/block/mmcblk0pN
prior to the mke2fs operation.
OK, standing by.
bftb0 said:
Arrgh - you never made any backups?
Click to expand...
Click to collapse
I always do, but I though that because there are no important files for me on the nexus and everything else can be downloaded (system image, twrp) there is no need. Obviously I was mistaken.
bftb0 said:
Just out of curiosity, do you get a md5sum of 3039dc3a07a56d0392d48787e4a202a1 for your part5.img and part8.img files?
Click to expand...
Click to collapse
I used md5sum to co compare those files, here is mine:
part5.img 59071590099d21dd439896592338bf95
part8.img 59071590099d21dd439896592338bf95
bftb0 said:
OK, lets try something innocuous - raw read tests on all of your partitions. Let's see if you have a bunch of bad pages in one partition.
Click to expand...
Click to collapse
Everything looks ok here. No errors and no long time reads.
bftb0 said:
Basically I'm just looking for you to narrow down the search to a problem partition. The next step is to try to manually unpack files into /system, /cache, and /data to see if there is a flash media problem in one of those partitions. Unfortunately, this is where TWRP backup files would have been useful:
Click to expand...
Click to collapse
Is there anything I can I do then?
bftb0 said:
Even though you observed no failures with the mke2fs operations, you might want to also try to repeat that process (only for p3, p4, and p9 !) , but this time using the partition erase command first.
# /sbin/erase_image /dev/block/mmcblk0pN
prior to the mke2fs operation.
Click to expand...
Click to collapse
Ok, done, still no errors.
I've also tried writing test using dd if=/dev/zero of=/dev/block/partition bs=4096 (for partition p3 and p4) and again without any errors.
warpek said:
I used md5sum to co compare those files, here is mine:
part5.img 59071590099d21dd439896592338bf95
part8.img 59071590099d21dd439896592338bf95
Click to expand...
Click to collapse
Hmmmm. I did a little more looking at my own misc partition images, and they each contain 64 repeated (and identical!) blocks of information that are 1280 bytes long - a group of 8 (at minor offsets of 0x4000, 0x5000, 0x6000, 0x7000, 0xc000, 0xd000, 0xe000, 0xf000) that repeat 8 times every 64kB (major offset of 0x10000). If you want to attach one of your misc partition images, I can have a look at it for comparison (it is small - 512 kB, and should not contain any private data). Wait, I just realized: I have a 32GB WiFi N7 - is yours a 16GB?
warpek said:
Is there anything I can I do then?
Click to expand...
Click to collapse
I could shove a (near stock) boot.img and system.img backup from TWRP someplace, but the system image is huge. I don't have a convenient place to drop it - got any suggestions? In principle - barring any other errors - that should boot correctly so long as the ext4 filesystems on /data and /cache are intact and operating correctly.
warpek said:
I've also tried writing test using dd if=/dev/zero of=/dev/block/partition bs=4096 (for partition p3 and p4) and again without any errors.
Click to expand...
Click to collapse
Barring a tar or other archive file which we could unpack directly into (mounted) /system, that was going to be my next suggestion. Rats.
Maybe it is time to try the read/write tests with the /data partition?
Actually, before you do that, what were the dump lengths you got for each of your partitions? Here are mine (using bs=4096):
Code:
/dev/block/mmcblk0boot0 512 ( 2097152 bytes - 2.0MB)
/dev/block/mmcblk0boot1 512 ( 2097152 bytes - 2.0MB)
/dev/block/mmcblk0p1 3072 ( 12582912 bytes - 12.0MB) recovery
/dev/block/mmcblk0p2 2048 ( 8388608 bytes - 8.0MB) boot
/dev/block/mmcblk0p3 166400 (681574400 bytes - 650.0MB) system
/dev/block/mmcblk0p4 113408 (464519168 bytes - 443.0MB) cache
/dev/block/mmcblk0p5 128 ( 524288 bytes - 512kB) misc1?
/dev/block/mmcblk0p6 2560 ( 10485760 bytes - 10.0MB) -WTF?- "staging?"
/dev/block/mmcblk0p7 1280 ( 5242880 bytes - 5.0MB) mfg
/dev/block/mmcblk0p8 128 ( 524288 bytes - 512kB) misc2?
/dev/block/mmcblk0p9 ?? ( ?? bytes - ??MB) data
Note I didn't do my /data partition - I have a 32GB N7, so I suppose that means that /data is 30+ GB in size. Lazy and didn't want to wait.
---------- Post added at 01:40 PM ---------- Previous post was at 12:55 PM ----------
FYI,
shoving some TWRP backup images (system, boot) to my dropbox right now. Lightly-rooted stock. (Added su and SuperSu in /system, and altered default.prop in the boot image so that the secure flag is disabled and the adb daemon starts up straight away). Other than those changes, 100% stock, including kernel.
I'll send a PM when I figure out how Dropbox works.
bftb0 said:
Wait, I just realized: I have a 32GB WiFi N7 - is yours a 16GB?
Click to expand...
Click to collapse
Yes, I've got 16GB version.
bftb0 said:
I could shove a (near stock) boot.img and system.img backup from TWRP someplace, but the system image is huge. I don't have a convenient place to drop it - got any suggestions?
Click to expand...
Click to collapse
I can create ftp account on and send you login data in a private message. Will it be convenient for you?
bftb0 said:
Maybe it is time to try the read/write tests with the /data partition?
Click to expand...
Click to collapse
Yea, but ... now something really strange happened.
All partitions have disappeared. _I'm sure_ that I didn't zeroed the whole mmcblk0 device. Just the partition I mentioned before.
Code:
ls /dev/block
loop0 loop2 loop4 loop6 mmcblk0 mmcblk0bo
loop1 loop3 loop5 loop7 mmcblk0boot0 platform
fdisk -l /dev/block/mmcblk0
Disk /dev/block/mmcblk0: 15.7 GB, 15762194432 bytes
4 heads, 16 sectors/track, 481024 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Disk /dev/block/mmcblk0 doesn't contain a valid partition table
TWRP still starts but it takes more time.
bftb0 said:
Actually, before you do that, what were the dump lengths you got for each of your partitions? Here are mine (using bs=4096):
Click to expand...
Click to collapse
I don't have partition table now so I it is useless. But for the future use, can you tell me please how I can see this kind of dump?
Edit: I'd be grateful if anyone having Nexus 7 16GB paste output of command:
Code:
adb shell /sbin/fdisk -l /dev/block/mmcblk0
I hope I will be able to create proper partitions on my device then.
But I'm afraid of using fdisk to create partitions because this can lead to destroy current recovery which still starts.
warpek said:
Yes, I've got 16GB version.
I can create ftp account on and send you login data in a private message. Will it be convenient for you?
Click to expand...
Click to collapse
or you could just attach it - should be less than the XDA attachment size limit, and as I mentioned there is no private info in there.
Looking at my own dumped images, it looks like this same partitioning information appears in mmcblk0boot0 190 times (!!), and in mmcblk0boot1 256 times (!!). I need to extract them all and compare checksums to see if they are identical.
warpek said:
Yea, but ... now something really strange happened.
All partitions have disappeared. _I'm sure_ that I didn't zeroed the whole mmcblk0 device. Just the partition I mentioned before.
Code:
ls /dev/block
loop0 loop2 loop4 loop6 mmcblk0 mmcblk0bo
loop1 loop3 loop5 loop7 mmcblk0boot0 platform
fdisk -l /dev/block/mmcblk0
Disk /dev/block/mmcblk0: 15.7 GB, 15762194432 bytes
4 heads, 16 sectors/track, 481024 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Disk /dev/block/mmcblk0 doesn't contain a valid partition table
TWRP still starts but it takes more time.
I don't have partition table now so I it is useless. But for the future use, can you tell me please how I can see this kind of dump?
Click to expand...
Click to collapse
Holy ****.
(My info was just from collected from looking at the output of individual dd read commands on each partition)
Again, holy **** - that's a world of hurt. I suppose recovery might still be possible, but perhaps only with some exhaustive code review of how the mmc driver determines the partitioning. and possibly some very dangerous patching of areas in mmcblk0boot{0,1}. It does appear that partitioning information is stored redundantly in multiple places on the tablet.
I am wondering - if the partitioning information that the TWRP boot was somehow partially corrupted - then running "dd if=/dev/zero" to write without a "count=" size constraint might have caused an over-run past where the actual partition was supposed to live.
At this point, I wouldn't attempt any more writing operations - especially since TWRP doesn't know where anything lives any longer.
---------- Post added at 02:23 PM ---------- Previous post was at 02:16 PM ----------
For the purposes of rescue you might want to capture some dumps of mmcblk0boot0 and mmcblk0boot1
Since you can not mount the /sdcard to store the dumps temporarily, you should be able to stuff them into ramdisk temporarily and then pull them to your PC via adb in the same TWRP session:
C:\foo> adb shell
# mkdir /tmp/dumps
# dd if=/dev/block/mmcblk0boot0 bs=4096 of=/tmp/dumps/mmcblk0boot0.img
# dd if=/dev/block/mmcblk0boot1 bs=4096 of=/tmp/dumps/mmcblk0boot1.img
# exit
C:\foo> adb pull /tmp/dumps/
The worst that can happen here (if the partitioning for mmcblk0boot{0,1} is wrong - and huge - you'll wedge the TWRP session by filling memory.
Without committing to a lot of effort it looks like you are looking at RMA time.
bftb0 said:
I am wondering - if the partitioning information that the TWRP boot was somehow partially corrupted - then running "dd if=/dev/zero" to write without a "count=" size constraint might have caused an over-run past where the actual partition was supposed to live.
Click to expand...
Click to collapse
Yes, I suppose it could be the case.
bftb0 said:
For the purposes of rescue you might want to capture some dumps of mmcblk0boot0 and mmcblk0boot1
Click to expand...
Click to collapse
Done without problems.
bftb0 said:
Without committing to a lot of effort it looks like you are looking at RMA time.
Click to expand...
Click to collapse
[/QUOTE]
I don't want to bother you with too much digging, so maybe it's time to send my device back do the seller.
But before that ... I think I should wipe out TWRP.
Should I use dd on the whole mmcblk0 device to do that?
Nevertheless I'm really greateful for your time and efforts. Thank you very much.
warpek said:
Should I use dd on the whole mmcblk0 device to do that?
Click to expand...
Click to collapse
Hmmm. Dunno. At this point you might end up borking the bootloader trying something like that.
There have been other threads where folks reported returning devices without bothering to do any clean up - and without repercussions.
Seems believable; the folks that are tasked with repairing units under RMA are not approaching each one as if it were a forensic evaluation. From a pure business standpoint that would be a huge waste of time and money. If they ever get rewarded for anything they do, it's probably a throughput metric (devices repaired or scrapped per work shift). Your unit will be one of many.
Your thanks are welcome, but I have an interest in this anyway. I noticed in digging around that (rather bizarrely) there is a partition that TWRP identifies as "staging" (/dev/block/mmcblk0p6). The bizarre part of this is that a hexdump revealed a few strings that were unicode URLs for XDA's ad networks. !! ?? !!
That rather freaks me out - what the frick is user data (I suppose from web browsing?) doing in a partition that never gets mounted and is (apparently) not in any identify-able file system format?
Back when Amon_RA was packaging his recovery for various devices, he would use a STOCK KERNEL in the boot image for his recovery boot. That pretty much is a guarantee that the kernel drivers (e.g. for MTD/MMC) would behave no differently from the way the device manufacturer does things - including for important things like interpreting partition tables.
With TWRP and CWM we currently have no such assurances that subtle bugs have not crept in to important places unless we repackage their boot images to use stock kernels.
Anyway, I am trying to review what I *think* is partitioning information to see what I can figure out - but you probably shouldn't wait for me.
Good luck with your return.
I don't want to bother you with too much digging, so maybe it's time to send my device back do the seller.
But before that ... I think I should wipe out TWRP.
Should I use dd on the whole mmcblk0 device to do that?
Click to expand...
Click to collapse
Hi warpek, I don't mean to butt in to this thread but I encountered a similar issue to yours this past weekend that's gotten to the point where I can no longer turn on nor get into the bootloader anymore. My question is since our devices have been modified, do you know if there is there any chance that Asus could deny and void the warranty upon finding that out?
There have been other threads where folks reported returning devices without bothering to do any clean up - and without repercussions.
Click to expand...
Click to collapse
Alright guess I'll go give it a shot.
Hi fungosaurus,
For the benefit of the rest of the N7 community - could you say a few words about what ROM/kernel was on your tablet, and (if you know) about what the charge state of the battery was like when the first hint of problem occurred?
A few reports don't mean anything conclusive, but it sure is starting to look like something is going on with "low battery" / "can't turn on" syndromes ... which then unfold into full-blown disasters.
bftb0 said:
Hi fungosaurus,
For the benefit of the rest of the N7 community - could you say a few words about what ROM/kernel was on your tablet, and (if you know) about what the charge state of the battery was like when the first hint of problem occurred?
A few reports don't mean anything conclusive, but it sure is starting to look like something is going on with "low battery" / "can't turn on" syndromes ... which then unfold into full-blown disasters.
Click to expand...
Click to collapse
Oh yes of course. CM10.1 Jan 10 nightly with whichever kernel it came with. As far as I could tell the battery was fully charged when I could no longer power it back on or access the bootloader.
My issue was actually a bit complicated and I might've actually been the one to worsen it through my ignorance. I made a post on Reddit that describes in detail what happened. Does this help?
fungosaurus said:
Does this help?
Click to expand...
Click to collapse
Only time will tell - for instance if lots of folks start reporting troubles with the same kernel.
Sounds more like a hardware problem though. Thanks for the info.
I think I saw a recent news article stating that Asus is shipping about 1 million N7's per month now. If they have shipped 5 million cumulatively, and they have a defect rate of only 0.1% in the first year of service, that would be 5000 owners who might end up on message boards looking for help. Although - since rooters are presumably a small fraction of owners - I guess we should see a much smaller number of folks who are rooted AND experience hardware troubles.
@warpek - the data stored in the misc1/misc2 partitions does in fact appear to be partitioning data. But I don't think you can use "fdisk" for the mmcblk0 device in any event.
bftb0 said:
Hmmm. Dunno. At this point you might end up borking the bootloader trying something like that.
There have been other threads where folks reported returning devices without bothering to do any clean up - and without repercussions.
Click to expand...
Click to collapse
Yes, but to be sure that I won't have any problems while returning my device I zeroed the whole block device.
bftb0 said:
Your thanks are welcome, but I have an interest in this anyway. I noticed in digging around that (rather bizarrely) there is a partition that TWRP identifies as "staging" (/dev/block/mmcblk0p6). The bizarre part of this is that a hexdump revealed a few strings that were unicode URLs for XDA's ad networks. !! ?? !!
Click to expand...
Click to collapse
That is really astounding. Please let us now if you have any conclusions.
Meanwhile I'm sending my nexus to Asus.
Thanks again.
fungosaurus said:
My question is since our devices have been modified, do you know if there is there any chance that Asus could deny and void the warranty upon finding that out?
Click to expand...
Click to collapse
As bftb0 said it shouldn't be any problems but to be sure I zeroed the whole block device area before returning it back.
Hey guys,
Well as the title has described, I'm stuck booting the primary kernel image after my A500 decided to stop booting properly after it froze. I've tried all the usual recovery methods, such as reflashing the kernel, reflashing the rom, both resulted in reluctance to mount certain partitions. I then tried reflashing the recovery to see if it would correct the issues, it did not. So i moved to NVFlash (BlackThunders tool and AfterOTA) to see if it will fix it. But it didn't. My last and most recent resort was Vache's bad sector repair, which allowed to me to finally fix the recovery mounting problems, and it even allowed me to flash the ROM and a kernel, but upon reboot, I'm stuck at booting primary kernel image . Should I return to stock by running the update.zip? Or am I missing something?
EDIT: Finding out from other posts my partition table is royally messed up. Gonna try a couple fixes
When you get this error it means (basically) you have no rom on yr tab . normally
re flashing yr rom is the solution.
You didn't say what you were on before this happened. But I'd be a bit worried if your
tab quit on u for 'no reason at all'.....
The other thing to keep in mind is that our tab likes things to be done in a specific
order....so follow any of the guides to the letter.
Use babsector or tdv4 to repartition - flash a rom directly after using babsector, tdv4 will
take u back to HC 3.2 automatically.
If u can boot then factory data reset from within settings.
Or use cwm to do it and enable wipe for /data/media - after you've done a nandroid
If u get any nvflash errors please post them and good luck!!.
dibb_nz said:
When you get this error it means (basically) you have no rom on yr tab . normally
re flashing yr rom is the solution.
You didn't say what you were on before this happened. But I'd be a bit worried if your
tab quit on u for 'no reason at all'.....
The other thing to keep in mind is that our tab likes things to be done in a specific
order....so follow any of the guides to the letter.
Use babsector or tdv4 to repartition - flash a rom directly after using babsector, tdv4 will
take u back to HC 3.2 automatically.
If u can boot then factory data reset from within settings.
Or use cwm to do it and enable wipe for /data/media - after you've done a nandroid
If u get any nvflash errors please post them and good luck!!.
Click to expand...
Click to collapse
Alright, after running Babsector, nflash gives me the following
****************************************************************
* Before executing, be sure to delete recovery-from-boot.p *
* from /system to ensure recovery will stick *
****************************************************************
****************************************
* Reboot your tablet into APX mode *
****************************************
Generate your SBK with your CPUID from here :
http://vache-android.com/v1/index.php?site=sbk
Enter your SBK:0x06831E00 0xBB2CAB01 0xFB664F03 0xAE0A2103
Nvflash started
rcm version 0X20001
System Information:
chip name: t20
chip id: 0x20 major: 1 minor: 4
chip sku: 0x8
chip uid: 0x0380618841ff7557
macrovision: disabled
hdcp: enabled
sbk burned: true
dk burned: true
boot device: emmc
operating mode: 4
device config strap: 0
device config fuse: 0
sdram config strap: 0
sending file: flash.bct
- 4080/4080 bytes sent
flash.bct sent successfully
odm data: 0xb00d8011
downloading bootloader -- load address: 0x108000 entry point: 0x108000
sending file: bootloader.bin
| 714409/714409 bytes sent
bootloader.bin sent successfully
waiting for bootloader to initialize
bootloader downloaded successfully
setting device: 2 3
creating partition: BCT
creating partition: PT
creating partition: FCK
creating partition: EBT
creating partition: GP1
creating partition: SOS
creating partition: LNX
creating partition: APP
creating partition: CAC
creating partition: MSC
creating partition: FLX
creating partition: AKB
creating partition: UDA
creating partition: GPT
failed executing command 12 NvError 0x120002
command failure: create failed (bad data)
bootloader status: fatal failure to read / write to mass storage (code: 9) messa
ge: nverror:0x8 (0x19000008) flags: 0
Press any key to continue . . .
Click to expand...
Click to collapse
Adding a little more definition to the issue, I was using Firefox on Civato's Re-Flexx rom, the one updated March 13th, 2013, on EzTerry's kernel, when the device froze. I reset it by holding down the power button, and waited for it to reboot, it hanged at the the boot logo. So i went into recovery to reflash the ROM, and it gave me a long list of errors telling me that it couldn't mount, System, Data partitions, etc. So I thought it might be the recovery is buggy, so i reflashed it through fastboot, thought that did the trick, and roms managed to flash. Tried rebooting again. The bootloader gave me the LNX kernel error. So I went back again and tried reflashing the kernel, then the rom again, then both, and it would still continue to be stuck at the booting primary kernel image. So i tried to roll back to Acer stock by flashing update zip through recovery, and now I'm stuck booting only to APX mode, and bad sector isn't fixing anything.
Seems to me as a hardware issue...better visit the acer service.
skurtov said:
setting device: 2 3
creating partition: BCT
creating partition: PT
creating partition: FCK
creating partition: EBT
creating partition: GP1
creating partition: SOS
creating partition: LNX
creating partition: APP
creating partition: CAC
creating partition: MSC
creating partition: FLX
creating partition: AKB
creating partition: UDA
creating partition: GPT
Click to expand...
Click to collapse
Whenever this turns up the news is not good - in saying that tho', there have been a couple of folks who have recovered from this fault, by creating a dummy partition that bypasses the bad sectors-it doesnt work in all cases, and if its happened once, it will most definitely do so again. Most users have returned their tabs to acer to replace the memory chip IF there tab was still under warranty....Some have managed to score a replacement m/b off ebay for 50.00$ and the rest have sold off parts (screens especially)
Have a read thru this (if you havent already) http://forum.xda-developers.com/showthread.php?t=1952368 theres some extra links in the thread that may be worth something.....
However onto your other issue: stuck in apx mode....
Getting out of APX Mode quoted from this post here
If worse comes to worse and you are definitely stuck in APX Mode then download the archived file nvFlash.zip which will only flash the v2 unlocked bootloader - to flash a recovery image you'll need to download one and copy it to the nvflash folder.
1) extract "nvFlash" to C:\nvflash
2) pwr your tab OFF and ensure the Pwr LED lite is off
3) Manually put your tab in APX Mode
4) Connect your micro usb cable to your PC
5) Ensure your PC lists an "apx device"
6) Open a command prompt on C:\nvflash
7) Follow the steps below from vache:
Originally Posted by vache
launch this to load bootloader :
Code:
nvflash --bct bct.bct --setbct --bl bootloader.bin --configfile flash.cfg --odmdata 0x300d8011 --sbk MYSKB --sync
Of course, change MYSBK with yours.
Next, flash the bootloader :
Code:
nvflash -r --format_partition 4
nvflash -r --download 4 bootloader.bin
If you want to flash a recovery :
Code:
nvflash -r --format_partition 6
nvflash -r --download 6 myrecovery.img
or a new boot
Code:
nvflash -r --format_partition 7
nvflash -r --download 6 myboot.img
To leave APX mode :
Code:
nvflash -r --go
Click to expand...
Click to collapse
then boot to recovery and try flashing a different rom...
Remember theres ALOT of difference between the HC and ICS stock kernels
in that you cannot flash and HC kernel to an ICS rom and vice versa - then on top of all that we have the unlocked bootloader.....which will only work with specific recoveries.....your LNX error is not a "recovery issue"
there were alot of kernels, bootloaders etc floating round for a time, so it actually was possible to run an ICS rom with an HC bootloader....I know mate its all very confusing, to say the least....Thats why I asked what rom you were on (not which one you're trying to flash) but this could be a moot point now becoz of the nvflash partition error.
To get out of apx, try running nvflash -r --go command -once thats done
boot to fastboot and wipe /userdata and /cache - see if you still get those mount errors...if not, boot to recovery and try flashing civatos stock rooted ICS
Failing that - check ebay
Your situation isn't good, but you have here all the info thats available on the subject...I wish you all the luck in getting it resolved......
rgds dibb
You guys are the best. I found a 16 gb board that'll be not only a storage upgrade, but will be brand new too, for around 50. So I'll just do that. I've replaced the digitizer before so this should be a cake walk. And of course my tablet goes out as soon as SmartGlass is available for 7in and up tabs.....
Edit: so I tried the previous steps, and nvflash hangs when trying to format partitions, if I try to push and flash the bootloader, it gives me a bad hardware/bad sector error again. Oh well.
Sent from my LGL55C using Tapatalk 2
Hello,
my setup:
- CM 11 unofficial Build3 by vertigo running with ART and the whatsapp fix ( http://forum.xda-developers.com/showthread.php?t=2498084 )
- latest banks gapps
- latest TWRP (2.6.3.2)
What I wanted to do
I simply wanted to install the new official CM11 nightly, booted into TWRP, installed the rom and the gapps without wiping, which shouldnt be a problem - i didn't revert to dalvik for this, if that makes any difference.
I suspect there was an error while downloading the new nightly rom, it gave me an error msg while updating. (ill use MD5 from now on...)
So i just reflashed the build3 from vertigo with the gapps - but now i have the problem that the phone doesnt boot.
It shows the LG Logo unusually long and then shows the CM Boot Logo forever.
Whats the situation now:
i can mount every partition, except cache - wiping also fails obviously
i can enter TWRP and flash stuff
i have made a backup before my update attempt
i also have every file needed for a clean flash on my sdcard
What I tried already:
Wiping everything but the internal sdcard - clean install - still wont boot
restoring the backup works aswell, but still doesnt boot
help gladly appreciated, i think i only need to fix my cache partition and then restore everything and it should work again...
nfin1te said:
Hello,
my setup:
- CM 11 unofficial Build3 by vertigo running with ART and the whatsapp fix ( http://forum.xda-developers.com/showthread.php?t=2498084 )
- latest banks gapps
- latest TWRP (2.6.3.2)
What I wanted to do
I simply wanted to install the new official CM11 nightly, booted into TWRP, installed the rom and the gapps without wiping, which shouldnt be a problem - i didn't revert to dalvik for this, if that makes any difference.
I suspect there was an error while downloading the new nightly rom, it gave me an error msg while updating. (ill use MD5 from now on...)
So i just reflashed the build3 from vertigo with the gapps - but now i have the problem that the phone doesnt boot.
It shows the LG Logo unusually long and then shows the CM Boot Logo forever.
Whats the situation now:
i can mount every partition, except cache - wiping also fails obviously
i can enter TWRP and flash stuff
i have made a backup before my update attempt
i also have every file needed for a clean flash on my sdcard
What I tried already:
Wiping everything but the internal sdcard - clean install - still wont boot
restoring the backup works aswell, but still doesnt boot
help gladly appreciated, i think i only need to fix my cache partition and then restore everything and it should work again...
Click to expand...
Click to collapse
Can you clear it the slow way? Untick -rm rf option in settings, then clear cache. The partition itself shouldn't have been changed by installing a ROM, it must be some kind of problematic content.
Incep said:
Can you clear it the slow way? Untick -rm rf option in settings, then clear cache. The partition itself shouldn't have been changed by installing a ROM, it must be some kind of problematic content.
Click to expand...
Click to collapse
Nope, as I can't mount it, none of those 2 ways is possible.
Just says
At the beginning:
updating partition details
then:
E:unable to mount /cache
several times,
and somwhere inbetween
Running boot script...
and
Finished running boot script
nfin1te said:
Nope, as I can't mount it, none of those 2 ways is possible.
Just says
At the beginning:
updating partition details
then:
E:unable to mount /cache
several times,
and somwhere inbetween
Running boot script...
and
Finished running boot script
Click to expand...
Click to collapse
I didn't think it needed to be mounted in order to be cleared the normal way.
It sounds like it must be repartitioned, or fixed with some kind of disk scan before it can be normally mounted. Maybe there is a way to ssh into the phone and run fsck on the disk?
(ssh is a remote shell for unix, fsck is the linux "scan disk" tool for recovering errors, you can connect to your phone if it has an ssh server running by downloading Putty for windows or through the terminal on mac)
I'm not an expert on android partitions, so maybe someone else want to chime in on this.
Incep said:
It sounds like it must be repartitioned, or fixed with some kind of disk scan before it can be normally mounted. Maybe there is a way to ssh into the phone and run fsck on the disk?
(ssh is a remote shell for unix, fsck is the linux "scan disk" tool for recovering errors, you can connect to your phone if it has an ssh server running by downloading Putty for windows or through the terminal on mac)
Click to expand...
Click to collapse
I'm more than willing to try, but i'd need some sort of instructions, i have no experience with this.
thanks!
What i want to avoid, if somehow possible, is to reflash a stock rom, reroot and reinstall TWRP and go thru the whole procedure again.
nfin1te said:
I'm more than willing to try, but i'd need some sort of instructions, i have no experience with this.
thanks!
What i want to avoid, if somehow possible, is to reflash a stock rom, reroot and reinstall TWRP and go thru the whole procedure again.
Click to expand...
Click to collapse
I'm not sure if my method works, but atleast you have a running adb server on your phone when in TWRP, which is the android debugging protocol. It has a lot of tools, some which might be useful. You should google a bit around on the subject.
Incep said:
I'm not sure if my method works, but atleast you have a running adb server on your phone when in TWRP, which is the android debugging protocol. It has a lot of tools, some which might be useful. You should google a bit around on the subject.
Click to expand...
Click to collapse
Yeah, thats what im doing atm... but i didn't have success finding someone with a similar problem so far.
All i ever have done in ADB is enable/disable fastboot on my old nexus and sideload some images.
nfin1te said:
Yeah, thats what im doing atm... but i didn't have success finding someone with a similar problem so far.
All i ever have done in ADB is enable/disable fastboot on my old nexus and sideload some images.
Click to expand...
Click to collapse
Me too, I'm not really an android developer, just worked a lot with Linux earlier, and it's conceptually the same thing! Hopefully I pointed you in the right direction.
ok i entered adb shell alrdy, but when i try to use the parted command, it says
~ # parted /dev/block/mmcblk0
/sbin/sh: parted: not found
~ #
Edit:
Apparently, i need to push parted first.
Im currently trying this: http://www.droidforums.net/forum/htc-droid-eris/78650-internal-storage-partitions-screwed-up.html
nfin1te said:
ok i entered adb shell alrdy, but when i try to use the parted command, it says
~ # parted /dev/block/mmcblk0
/sbin/sh: parted: not found
~ #
Click to expand...
Click to collapse
Maybe you don't have parted installed on your phone. Each command is actually it's own program, which lies in a folder which is either /bin for normal apps, and /sbin for system-changing apps. So probably check /sbin if there is a binary file called 'parted' there. But be careful of this program… It can be very destructive.
Incep said:
Maybe you don't have parted installed on your phone. Each command is actually it's own program, which lies in a folder which is either /bin for normal apps, and /sbin for system-changing apps. So probably check /sbin if there is a binary file called 'parted' there. But be careful of this program… It can be very destructive.
Click to expand...
Click to collapse
Yeah thx, i just managed to push the necessary files.
Ok, now im looking at this partition table:
(parted) print
print
Model: MMC 032G96 (sd/mmc)
Disk /dev/block/mmcblk0: 31.3GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 16.8MB 83.9MB 67.1MB fat16 modem
2 83.9MB 84.9MB 1049kB sbl1
3 84.9MB 85.5MB 524kB dbi
4 101MB 101MB 524kB DDR
5 117MB 118MB 1049kB aboot
6 118MB 120MB 1049kB rpm
7 134MB 151MB 16.8MB boot
8 151MB 152MB 1049kB tz
9 152MB 152MB 1024B pad
10 168MB 171MB 3146kB modemst1
11 171MB 174MB 3146kB modemst2
12 174MB 174MB 1024B pad1
13 185MB 201MB 16.8MB misc
14 201MB 235MB 33.6MB ext4 persist
15 235MB 252MB 16.8MB recovery
16 252MB 255MB 3146kB fsg
17 268MB 269MB 524kB fsc
18 269MB 269MB 524kB ssd
19 269MB 269MB 1024B pad2
20 269MB 270MB 524kB encrypt
21 285MB 294MB 8389kB ext4 drm
22 294MB 302MB 8389kB ext4 sns
23 302MB 336MB 33.6MB laf
24 336MB 369MB 33.6MB fota
25 369MB 403MB 33.6MB ext4 mpt
26 403MB 403MB 524kB dbibak
27 403MB 404MB 1049kB rpmbak
28 404MB 405MB 1049kB tzbak
29 405MB 405MB 8192B rct
30 419MB 3322MB 2902MB ext4 system
31 3322MB 3959MB 638MB cache
32 3959MB 4043MB 83.9MB tombstones
33 4043MB 4060MB 16.8MB spare
34 4060MB 4110MB 50.3MB ext4 cust
35 4110MB 31.2GB 27.1GB ext4 userdata
36 31.2GB 31.3GB 62.9MB grow
(parted)
I assume, the problem is, that cache seems screwed as it doesn't show any filesystem right?
So if i make this partition ext4, it should work again?
If i check pt31/cache, it says:
(parted) check 31
check 31
Error: Could not detect file system.
(parted)
So, im assuming, im right.
lol, man this is frustrating
(parted) mkfs ext4
mkfs ext4
Warning: The existing file system will be destroyed and all data on the
partition will be lost. Do you want to continue?
parted: invalid token: ext4
Yes/No? yes
yes
Partition number? 31
31
File system type? [ext2]? ext4
ext4
No Implementation: Support for creating ext4 file systems is not implemented
yet.
(parted)
It's alive again!
ext2 worked aswell, as i/we thought - the problem was the cache partition got f'ed up. Making a new FS using parted solved the problem.
THANKS bro for pointing me in the right direction.
Edit: restored backup and everythings fine again
I have the same issue , i am running on ubuntu i but i dont quite get the instrations ?
emrexcem said:
I have the same issue , i am running on ubuntu i but i dont quite get the instrations ?
Click to expand...
Click to collapse
Hi mate i had the same problem and after a long struggling i got this working again.
-Use a Windows computer and install the SDK tools
-Check OP's link to find the "parted" file
-Connect phone in recovery
-Open cmd in windows and type adb shell, you'll get a new console with a #
-Push your parted file to /sbin using adb push command:
In my case i had the parted file in E: drive so i used adb push E:\parted /sbin/parted
-If you try to execute parted you'll get a "permission denied" error, so after pushing the file you need to fix the permissions so type "chmod 777 /sbin/parted"
-Execute parted and just follow OP's steps and you'll be fine.
Hope it helps
Don't use parted to create a filesystem
nfin1te said:
It's alive again!
ext2 worked aswell, as i/we thought - the problem was the cache partition got f'ed up. Making a new FS using parted solved the problem.
THANKS bro for pointing me in the right direction.
Edit: restored backup and everythings fine again
Click to expand...
Click to collapse
You saved my but but as far as I know it is not recomended to use parted to create a filesystem.
Use
mke2fs -T ext4 [partition]
instead
nfin1te said:
It's alive again!
ext2 worked aswell, as i/we thought - the problem was the cache partition got f'ed up. Making a new FS using parted solved the problem.
THANKS bro for pointing me in the right direction.
Edit: restored backup and everythings fine again
Click to expand...
Click to collapse
Can you please provide more detailed instruction please, i have apparently the same problem, i not familiar with adb, i have now pushed all necessary parts to phone what should i do now.
I am stuck please please help.
pingwinpower said:
You saved my but but as far as I know it is not recomended to use parted to create a filesystem.
Use
mke2fs -T ext4 [partition]
instead
Click to expand...
Click to collapse
Can you please provide more detailed instruction please, i have apparently the same problem, i not familiar with adb, i have now pushed all necessary parts to phone what should i do now.
I am stuck please please help.
redkib said:
Can you please provide more detailed instruction please, i have apparently the same problem, i not familiar with adb, i have now pushed all necessary parts to phone what should i do now.
I am stuck please please help.
Click to expand...
Click to collapse
I cant really provide any more information than this, please be more specific with your problem.
Since apparently you have pushed all the files via adb already, you just need to use the "mkfs" command to create a news filesystem, just be sure to select the right partition number (the corrupted one). You can find the correct command via google or take a look at my post
(parted) mkfs ext2
Warning: The existing file system will be destroyed and all data on the
partition will be lost. Do you want to continue?
Yes/No? yes
yes
Partition number? 31
31
File system type? [ext2]?
ext2
(parted)
Click to expand...
Click to collapse
Hi, this is my first time posting here. I noticed there is no guide to increase the system partition size in Nexus 7 (2013). The system partition is only around 880MB making it impossible to flash new ROMs and large package of GApps. This guide is for Nexus 7 (2013) wifi 32GB but it should work for other Nexus 7 (2013) editions and even Nexus 7 (2012) with some numbers changed.
My guide is based on this guide for Nexus 5. Check it out. The only issue with Nexus 7 is that the recovery partition is between the system and userdata partitions in the partition table. So deleting the partitions (which includes recovery partition) and then recreating them with offsets might leave your tablet bricked. If you have a way to unbrick the tablet or you are manly enough, you can try the guide written in the next comment. I haven't tested it. Leave a comment if it works. Anyway from the Nexus 5 guide:
The high-level procedure here is, since filesystems must be contiguous and in order so they can be addressed properly, we need to delete every partition inclusively from system to userdata, then recreate them with new storage offsets.
Click to expand...
Click to collapse
This part is not very accurate. I am not sure about Nexus 5 but in Nexus 7, I have changed the order with great success. Only thing is that you need to restart at the end so that the recovery mode updates the mounting configuration. I am not sure if it works with the stock ROM but it definitely works with a custom ROM.
The downside of my way is that you end up with around 880MB unused memory. You can give it to the cache partition. Otherwise, you have to do the untested one in the next comment.
Before we start, I am not liable if it doesn't work or makes your device unusable. The tested guide below works for me.
{
"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"
}
Tested Guide starts here:
Prerequisite:
1. PC (any OS) with adb and fastboot
2. Nexus 7 with TWRP recovery connected to the PC via USB.
3. Get parted from iwf1.com/iwf-repo/parted.rar and extract it into any directory
4. (Optional) System and userdata partitions are wiped out. So backup system and/or data partitions using TWRP recovery
Steps:
1. Open TWRP recovery mode in Nexus 7. Make sure to have the system partition read/write.
2. Go to mount and unmount all partitions you are going to modify (for now system and data).
3. Open PC's command line in parted's directory
4. The next steps are on the command line unless stated:
Code:
adb push parted /
adb shell
~ # chmod +x parted
~ # /parted /dev/block/mmcblk0
(parted): unit b
(parted): p
I used unit b to get partition sizes in bytes. So you can resize accurately this way. You will get the following partition table by default. Keep a copy of this partition table (and one with unit compact for easy readability) as reference if you mess up or want to restore to default.
Code:
Number Start End Size File system Name Flags
1 67108864B 156745727B 89636864B fat16 radio
2 201326592B 204472319B 3145728B modemst1
3 204472320B 207618047B 3145728B modemst2
4 268435456B 283795455B 15360000B ext4 persist
5 335544320B 336343039B 798720B m9kefs1
6 336343040B 337141759B 798720B m9kefs2
7 402653184B 403451903B 798720B m9kefs3
8 403451904B 406597631B 3145728B fsg
9 469762048B 471298047B 1536000B sbl1
10 471298048B 472834047B 1536000B sbl2
11 472834048B 474931199B 2097152B sbl3
12 474931200B 480174079B 5242880B aboot
13 480174080B 480698367B 524288B rpm
14 536870912B 553648127B 16777216B boot
15 603979776B 604504063B 524288B tz
16 604504064B 604505087B 1024B pad
17 604505088B 606041087B 1536000B sbl2b
18 606041088B 608138239B 2097152B sbl3b
19 608138240B 613381119B 5242880B abootb
20 613381120B 613905407B 524288B rpmb
21 613905408B 614429695B 524288B tzb
22 671088640B 1551892479B 880803840B ext2 system
23 1551892480B 2139095039B 587202560B ext4 cache
24 2147483648B 2148532223B 1048576B misc
25 2214592512B 2225078271B 10485760B recovery
26 2281701376B 2281709567B 8192B DDR
27 2281709568B 2281717759B 8192B ssd
28 2281717760B 2281718783B 1024B m9kefsc
29 2348810240B 2348843007B 32768B metadata
30 2415919104B 31272713727B 28856794624B ext4 userdata
5. Rename the system partition to disable it
Code:
(parted): name 22 unused1
6. Now you need to delete userdata partition:
Code:
(parted): rm 30
7. You need to create 2 primary partitions in place of userdata. First one will be the system partition. Second one will be the userdata partition. I recommend to have the system partition to start with the same byte userdata started and size divisible by 4096 bytes. Leave some space between the 2 divisible by 4096 bytes (block-size). Then have userdata partition start with a number divisible by 4096 bytes, size divisible by 512 bytes and ends where user data ended. I increased my system partition to around 2.93GiB (you can resize it whatever you want). I don't really need a lot of userdata. So my configuration would be:
Code:
(parted): mkpart primary 2415919104B 5570068479B
(parted): mkpart primary 5637144576B 31272713727B
8. Now you need to rename these 2 partitions:
Code:
(parted): name 30 system
(parted): name 31 userdata
(parted): p
9. Finally you need to create ext4 filesystem for system and userdata.
Code:
(parted): quit
~ # mke2fs -b 4096 -T ext4 /dev/block/mmcblk0p30
~ # mke2fs -b 4096 -T ext4 /dev/block/mmcblk0p31
~ # /parted /dev/block/mmcblk0 p
10. Have a final look at the partition table to see if everything is correct. Then Reboot into Recovery. This is a very important step. The mount configuration (/etc/fstab) doesn't update until you reboot.
Code:
~ # exit
adb reboot recovery
Done! You have a new system partition with a larger size ready for a ROM. The Size of the ROM will shrink after flashing a new ROM, Using TWRP, Wipe -> Advanced Wipe -> select system -> Resize File System -> Swipe.
Note: You might need to wipe cache/dalvik (might need wipe system too for mount to work), then unmount and remount system/cache/data for everything to work (for example, I had tablet's internal storage not showing on PC initially). But once everything works, it will always work
Final partition table looks like this:
Code:
Number Start End Size File system Name Flags
1 67.1MB 157MB 89.6MB fat16 radio
2 201MB 204MB 3146kB modemst1
3 204MB 208MB 3146kB modemst2
4 268MB 284MB 15.4MB ext4 persist
5 336MB 336MB 799kB m9kefs1
6 336MB 337MB 799kB m9kefs2
7 403MB 403MB 799kB m9kefs3
8 403MB 407MB 3146kB fsg
9 470MB 471MB 1536kB sbl1
10 471MB 473MB 1536kB sbl2
11 473MB 475MB 2097kB sbl3
12 475MB 480MB 5243kB aboot
13 480MB 481MB 524kB rpm
14 537MB 554MB 16.8MB boot
15 604MB 605MB 524kB tz
16 605MB 605MB 1024B pad
17 605MB 606MB 1536kB sbl2b
18 606MB 608MB 2097kB sbl3b
19 608MB 613MB 5243kB abootb
20 613MB 614MB 524kB rpmb
21 614MB 614MB 524kB tzb
22 671MB 1552MB 881MB ext2 unused1
23 1552MB 2139MB 587MB ext4 cache
24 2147MB 2149MB 1049kB misc
25 2215MB 2225MB 10.5MB recovery
26 2282MB 2282MB 8192B DDR
27 2282MB 2282MB 8192B ssd
28 2282MB 2282MB 1024B m9kefsc
29 2349MB 2349MB 32.8kB metadata
30 2416MB 5570MB 3154MB ext2 system
31 5637MB 31.3GB 25.6GB ext4 userdata
To increase cache size:
You have 880MB unused storage from the old system partition. You can keep it the way it is as you have the old system partition here which can be re-enabled quickly in the future. OR You can give this unused partition to the cache partition without messing around a lot. I recommend keeping a small unused partition in place of the old system partition to avoid messing with the order of recovery partition.
Code:
adb push parted /
adb shell
~ # chmod +x parted
~ # /parted /dev/block/mmcblk0
(parted): unit b
(parted): p
(parted): rm 22
(parted): rm 23
(parted): mkpart primary 671088640B 671096831B
(parted): mkpart primary 671096832B 2139095039B
(parted): name 22 unused1
(parted): name 23 cache
(parted): p
(parted): quit
~ # mke2fs -b 4096 -T ext4 /dev/block/mmcblk0p23
~ # quit
Edit: Deleted
rkhat said:
If you have a way to unbrick the tablet or you are manly enough, you can try the guide...
I haven't tested it. Leave a comment if it works.
Click to expand...
Click to collapse
No, there is no way to unbrick the tablet.
Here is a likely comment "So I took the jump in the name of exploration, and bricked my tablet"
Now, are you manly enough to try your own guide?
/EDIT 1
2018 - Unbricking method is available.
/EDIT 2
Here is a Non-destructive repartition script which you can simply 'install' from TWRP.
k23m said:
No, there is no way to unbrick the tablet.
Here is a likely comment "So I took the jump in the name of exploration, and bricked my tablet"
Now, are you manly enough to try your own guide?
Click to expand...
Click to collapse
If you checked the comment write below the second link, you will see a link to a repair option with RIFF JTAG box (costs >100$). I am not going to invest into a repair kit on a device that is probably worth less than the box, but hopefully someone who has the box and tablet can test the solution in the "name of exploration" and help others
Anyway, I am going to buy a chromebook in a year. Tablet market is dead. I might try the second solution on the N7 if some realtive doesn't steal it.
Didn't know that parted on works on android partitions in the way you describe.
My n7 2013 is in pretty bad shape, it has severe touch screen problems which sucks (its gone back to ASUS three times! pretty much gave up... haha they don't want to see it again).
So maybe I'll be game enough to try out the guide someday, but not today
There are something strange after I follow this guide.
If I copy files to /system and /system usage space is over 1GB.
/system will become read-only and mount as ro.
I try to remount /system as rw. But if I copy files into /system, it will become ro again.
Only I can do is format /system. Anyone can help?
Thanks.
I assume to do this you only need custom recovery and root?
OK, I've done the repartitioning. Looks good.
But, I can't seem to flash via TWRP. I try to side-load ROM and I see:
detecting filesystem ext4 for ...
Patching system image unconditionally...
E1001: Failed to update system image.
Updater process ended with error: 7
Any ideas?
RedBullet said:
OK, I've done the repartitioning. Looks good.
But, I can't seem to flash via TWRP. I try to side-load ROM and I see:
detecting filesystem ext4 for ...
Patching system image unconditionally...
E1001: Failed to update system image.
Updater process ended with error: 7
Any ideas?
Click to expand...
Click to collapse
Which ROM did you use? I don't think it works with stock ROM. I use lineageOS.
Btw if you attempt to update the ROM instead of reinstalling it, the system partition will shrink back and you can't use the following step to fix it:
The Size of the ROM will shrink after flashing a new ROM, Using TWRP, Wipe -> Advanced Wipe -> select system -> Resize File System -> Swipe.
Click to expand...
Click to collapse
I found a solution to skip this whole resizing step. I am going to post it after some testing.
rkhat said:
Which ROM did you use? I don't think it works with stock ROM. I use lineageOS.
Btw if you attempt to update the ROM instead of reinstalling it, the system partition will shrink back and you can't use the following step to fix it:
I found a solution to skip this whole resizing step. I am going to post it after some testing.
Click to expand...
Click to collapse
Yea, I was flashing lineage. I eventually got it. I wonder if my partition shrunk back also... What's easiest way to check?
Oh and what do you mean by update vs re-install? I am just flashing via sideload
RedBullet said:
Yea, I was flashing lineage. I eventually got it. I wonder if my partition shrunk back also... What's easiest way to check?
Oh and what do you mean by update vs re-install? I am just flashing via sideload
Click to expand...
Click to collapse
Use parted to print the partition table. First four steps in my guide. Then check the system partition. If it's like the original size, it shrank.
LineageOS supports updating. Let's say you are now on LineageOS 20170801. You want to update to 20170829. When you sideload the newer version, it will attempt to update the previous version (basically only update the differences between the 2 versions). You retain any modification to the system partition (like gapps). Reinstalling means you wipe the system partition then sideload the ROM.
So when updating LineageOS, the system partition will shrink again and I wasn't able to resize it back. Thus corrupting the system partition.
would it not be easier/safer to use parted's resize command to shrink the userdata partition, and then use the move command to move partition 23-29, and then use the resize command again to increase the size of the system partition?
theistus said:
would it not be easier/safer to use parted's resize command to shrink the userdata partition, and then use the move command to move partition 23-29, and then use the resize command again to increase the size of the system partition?
Click to expand...
Click to collapse
I don't think you can do it with parted's move command because according to move's documentation, these are the only supported formats:
ext2 (provided the destination partition is larger than the source partition)
fat16, fat32
linux-swap
reiserfs (if libreiserfs is installed)
Click to expand...
Click to collapse
Partitions 24-29 don't use a file system supported by parted. They definitely contain data (for example recovery partition has your twrp recovery image ).
I think there is a way to do what you are suggesting. In fact, the solution in my 2nd post was about moving the partitons. However, the solution had a mistake which is why I removed it. I had to use dd command to move all the bytes from the old partition to the new partition.
Also, it is somewhat risky. If you do any mistake with the recovery partition (not sure about the other 5 partitions), you pretty much bricked the tablet. If I had anyway to unbrick it, I would do it. Since not, better lose the 840MB.
rkhat said:
I don't think you can do it with parted's move command because according to move's documentation, these are the only supported formats:
Partitions 24-29 don't use a file system supported by parted. They definitely contain data (for example recovery partition has your twrp recovery image ).
I think there is a way to do what you are suggesting. In fact, the solution in my 2nd post was about moving the partitons. However, the solution had a mistake which is why I removed it. I had to use dd command to move all the bytes from the old partition to the new partition.
Also, it is somewhat risky. If you do any mistake with the recovery partition (not sure about the other 5 partitions), you pretty much bricked the tablet. If I had anyway to unbrick it, I would do it. Since not, better lose the 840MB.
Click to expand...
Click to collapse
Yeah, that's the one that scares me. That recovery partition is smack dab in the middle, and it's very ... inconvenient.
Anyone try this with the Nexus 7 2013 LTE version?
better 64gb
https://forum.xda-developers.com/picture.php?albumid=14541&pictureid=56454
Rather than move the system partition, I just moved the cache partition ahead of userdata and extended my system partition by 587MB. This allowed me to keep the same partition numbers and have no unused space.
And after flashing an image if you want to extend the logical drive to fill the partition manually, the command is:
Code:
resize2fs -f /dev/block/mmcblk0p22
Magendanz said:
Rather than move the system partition, I just moved the cache partition ahead of userdata and extended my system partition by 587MB. This allowed me to keep the same partition numbers and have no unused space.
Click to expand...
Click to collapse
Could you explain a bit more how to do that ?
I have read on a few websites that Android Oreo doesn't use the cache partition anymore. If this is true, could it also be simply removed instead of moved ?
Non-destructive repartition script
rkhat said:
The only issue with Nexus 7 is that the recovery partition is between the system and cache partitions in the partition table.
Code:
Number Start End Size File system Name Flags
22 671088640B 1551892479B 880803840B ext2 system
23 1551892480B 2139095039B 587202560B ext4 cache
24 2147483648B 2148532223B 1048576B misc
25 2214592512B 2225078271B 10485760B recovery
Click to expand...
Click to collapse
Have another look at the table - recovery is not between the system and cache partitions.
k23m said:
No, there is no way to unbrick the tablet.
Click to expand...
Click to collapse
I wrote it a year ago, but now we do have a way to unbrick the tablet, so read on and feel free to experiment
wline said:
I have read on a few websites that Android Oreo doesn't use the cache partition anymore. If this is true, could it also be simply removed instead of moved ?
Click to expand...
Click to collapse
Good point. N7's cache is oversized anyway, all my relatively new Xiaomi phones use only 256MB cache. There is no need for complex re-partitioning if we opt for decreased cache. I just did this...
Code:
Number Start End Size File system Name Flags
22 640MiB 1780MiB 1140MiB ext2 system
23 1780MiB 2040MiB 260MiB ext4 cache
24 2048MiB 2049MiB 1.00MiB misc
25 2112MiB 2122MiB 10.0MiB recovery
Code:
Filesystem Size Used Available Use% Mounted on
/dev/block/mmcblk0p30
26.4G 7.0G 19.4G 27% /data
/dev/block/mmcblk0p22
1.1G 607.0M 517.3M 54% /system
/dev/block/mmcblk0p23
258.8M 19.0M 226.7M 8% /cache
Now I have 1.1GB non-destructively resized system and 260MB cache. No changes to other partitions and original OS still works without any backup/restore. It was only a test because personally I have no need for larger system partition. I install LineageOS with pico gapps and later add other Google apks as non-system in the data partition space. I attached a script for the 1.1GB/260MB re-partition. While it is non-destructive, you should do a backup and copy it to your PC first.
Use the latest TWRP and just install sysrepart.zip. The script will create a backup of your original gpt partition table and a log file in the root of internal storage. If you have any issues, post the log.
If you wish to restore original partitioning, install sysrepartundo.zip. This script will attempt to non-destructively resize system again but if you installed some mega-gapps, it will obviously fail. In this case, use TWRP and manually format the system partition, then restore system's backup.
:good:
k23m said:
Have another look at the table - recovery is not between the system and cache partitions.
Click to expand...
Click to collapse
That was a typo. It should be between system and userdata because I am taking from userdata to increase the system partition. I'll edit the main post.
k23m said:
I wrote it a year ago, but now we do have a way to unbrick the tablet, so read on and feel free to experiment
Click to expand...
Click to collapse
Is your guide for soft-unbrick only?
I don't think fastboot can resize or rename a partition. So if you resized the recovery partition to a smaller size or forgot to name a partition "recovery", will your solution be able to handle these situations?
On newer Android versions, the system occupies more of the system partition and with GAPPS upgrades, larger GAPPS packages (such as stock and mini) cannot fit on the system partition of the 2012 Galaxy S3. You can just use pico or nano, but sometimes you want the full GAPPS, the real deal. This is also necessary for upcoming ROMs that come with GAPPS preinstalled, such as Pixel Experience. To do this, you must resize the system partition. You can do this by taking some of the space from the cache partition and giving it to the system partition.
PLEASE NOTE: This process is not risk-free! If you do not know what you are doing, I strongly advise against this procedure. I am not responsible for any bricked devices or issues you may face. You have been warned.
Requirements:
A Samsung Galaxy S3. I have the i9300 model, where I have tested it.
parted, downloadable from here. If it downloads as a txt file, delete the extension by renaming it without the txt.
TWRP installed on your device (available for i9300 from here.)
A computer with ADB installed and relevant drivers.
First of all, you must boot TWRP. Once booted, wipe all partitions in TWRP, including system. Reboot back into recovery. Then go into mount and deselect all devices, and uncheck the box saying "Mount system partition as read-only"
Secondly, connect your S3 and send parted to the device with the following command:
Code:
adb push <path_to_parted> /
Thirdly, enter the ADB shell with the following command:
Code:
adb shell
Now, give executable permission to the parted file with the following command:
Code:
chmod +x parted
Now run:
Code:
./parted /dev/block/mmcblk0
Run the print command and you will get a list of partitions. It should look something like:
Code:
Model: MMC VTU00M (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 4194kB 8389kB 4194kB BOTA0
2 8389kB 12.6MB 4194kB BOTA1
3 12.6MB 33.6MB 21.0MB ext4 EFS
4 33.6MB 41.9MB 8389kB PARAM
5 41.9MB 50.3MB 8389kB BOOT
6 50.3MB 58.7MB 8389kB RECOVERY
7 58.7MB 92.3MB 33.6MB RADIO
8 92.3MB 1166MB 1074MB ext4 CACHE
9 1166MB 2777MB 1611MB ext4 SYSTEM
10 2777MB 3364MB 587MB ext4 HIDDEN
11 3364MB 3372MB 8389kB OTA
12 3372MB 15.8GB 12.4GB ext4 USERDATA
Make a note of the Start and End points for partitions 8 and 9 (CACHE and SYSTEM). In my case, the start and end points for partition 8 are 92.3 and 1166 and the start and end points for partition 9 are 1166 and 2777.
What we're going to do is delete these two partitions, then recreate them, but make the new partition 8 (Cache) smaller and allocate the space left to partition 9 (System).
Remove them with the following commands in parted:
Code:
./parted /dev/block/mmcblk0 rm 8
./parted /dev/block/mmcblk0 rm 9
Now recreate them with the following commands:
Code:
./parted /dev/block/mmcblk0 mkpart primary <cache_start> <cache_start+200>
./parted /dev/block/mmcblk0 mkpart primary <cache_end> <system_end>
Replace <cache_start> with the start of the former cache petition. In my case, it would be:
Code:
./parted /dev/block/mmcblk0 mkpart primary 92.3 292
./parted /dev/block/mmcblk0 mkpart primary 292 2777
Now name the partitions.
Code:
./parted /dev/block/mmcblk0 name 8 CACHE
./parted /dev/block/mmcblk0 name 9 SYSTEM
Then format them as ext4:
Code:
mke2fs -T ext4 /dev/block/mmcblk0p8
mke2fs -T ext4 /dev/block/mmcblk0p9
Run ./parted, followed by print, to check if the changes have been applied. If so, well done! You have successfully enlarged the system partition. Exit parted with the quit command.
Now configure and exit:
Code:
mount -a
exit
Reboot back into recovery and install any ROM of your choice. Once you've installed the ROM, reboot into recovery once again, and navigate to wipe --> advanced wipe, select system, tap repair or change filesystem, then resize.
You can now install any GAPPS of your choice. I've gotten LineageOS 16.0 working with mini gapps (Google Play Store + some Google apps) and it is working fine. You could make the system partition bigger by borrowing some more MB from the cache partition, or experimenting further by taking some from the HIDDEN partition. Remember, I am NOT responsible for any damage done when doing this. You assume full responsibility for any problems with the device. I hope this tutorial did help you, feel free to post here if it did or ask for help if you need it.
Did you experiment this process for a long time ? With so small a cache what could be the consequences ?
A finally do you know what is the use of HIDDEN partition ?
Great tutorial anyway.
barbe31 said:
Did you experiment this process for a long time ? With so small a cache what could be the consequences ?
Click to expand...
Click to collapse
Newer Android versions don't use up as much in the cache partition. If you're on say stock ICS or JB you may encounter some issues but if you're using LOS 15 or 16 it should work fine. I've used LOS 16 with GAPPS using this method for a while on my S3 and it's been fine.
ChasTechProjects said:
parted, downloadable from here.
Click to expand...
Click to collapse
Link says file doesn't exist.
petera703 said:
Link says file doesn't exist.
Click to expand...
Click to collapse
parted
drive.google.com
Cheers for that. I've been trying for some time to do the same thing on a Galaxy S4 Mini, working from a few variations of this process that I've found here and there, but never with any success. All appears to go well, with no errors, but it doesn't stick--the device just reverts to the previous partition sizes on reboot..
I've been using parted 3.2. I wondered if it would work with the parted you were using, but the one from your new link is 1.8 and doesn't even get as far for me (tried that one previously and it gets errors on my device).
If anyone know how to overcome the issue of resized partitions not surviving a reboot on Android, please help! I've been unable to solve it.
If it was plain Linux, it would be something to do with fstab, but fstab is never mentioned in the posts where people succeed in resizing Android partitions, so I think it must be something else, and perhaps something that varies from one device to another. Looking forward to any suggestions--thanks!
Can this idea/technique be applied to other *droid based devices
like Nook HD ?
[ Having same 'not enough space for the gaps' issue]