Corrupt data partition, no network, bootloops - Galaxy Note II Q&A, Help & Troubleshooting

I'm posting this in the hope that it will help someone else. The problems I've had are different enough from other threads that this story could provide some clues for someone else. I am also using a mac, so I'm using Heimdall instead of Odin.
I have an sph-l900, galaxy note 2, on Credo Mobile which is on the Sprint network - obviously.
1. My phone started acting strangely and at some point no longer had a carrier. Red X next to the signal meter.
2. Under Status, IMEI and everything else was unknown.
Everything I read said to reset the phone to a stock rom.
Since I had TWRP, I just tried flashing the usual way from the external sdcard. What I noticed is that I was getting an error on wipe,
'can not mount /data' - this is the big clue I didn't see for a while. It's the cause of bootloops after a flash from TWRP and the cause
of the lost network.
This meant that no matter what I did, When I flashed from TWRP I got a bootloop because the Dahlvik cache was not wiped.
I had to resort to putting the phone in odin mode, and use heimdall to flash all the images.
I made a shell command out of this:
heimdall flash --RECOVERY recovery.img --CACHE cache.img --HIDDEN hidden.img --SYSTEM system.img --TOMBSTONES tombstones.img --RADIO modem.bin --BOOT boot.img --PARAM param.bin --TZSW tz.img --BOOTLOADER sboot.bin --no-reboot --verbose
You can use 'heimdall print-pit' to find out what your partition names are. They are probably uppercase like mine.
Finally I'm booting, but still no carrier. I put TWRP back and tried to mount /data. Still no good.
This means that this rom is where I'm stuck until I can get /data mounting again.
Then I added --repartition --pit T0LTE.pit to my heimdall command. This failed every time. Although repartition was clearly what I needed.
Finally, I removed the --repartition, got it working without /data so I could connect using ADB shell to try repairing /data.
1. cd /etc
2. df to see the file systems. /data is clearly missing.
/etc # df
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 916024 136 915888 0% /dev
tmpfs 916024 20 916004 0% /tmp
tmpfs 916024 0 916024 0% /storage
tmpfs 916024 0 916024 0% /mnt/secure
tmpfs 916024 0 916024 0% /mnt/fuse
/dev/block/mmcblk0p12
1290112 40712 1249400 3% /cache
3. cat fstab or vold.fstab on older systems -- shows the mountpoints. So I could determine that /data was /dev/block/mmcblk0p16
/etc # cat fstab
/dev/block/mmcblk0p12 /cache ext4 rw
/dev/block/mmcblk0p16 /data ext4 rw
/dev/block/mmcblk0p13 /system ext4 rw
/dev/block/mmcblk0p14 /preload ext4 rw
4. Try to run file system check.
/etc # /sbin/e2fsck /dev/block/mmcblk0p16
e2fsck 1.41.14 (22-Dec-2010)
/sbin/e2fsck: Superblock invalid, trying backup blocks...
/sbin/e2fsck: Bad magic number in super-block while trying to open /dev/block/mmcblk0p16
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
4. Get info about the file system. with make file system.
/etc # /sbin/mke2fs -n /dev/block/mmcblk0p16
mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
5136 inodes, 20480 blocks
1024 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=20971520
3 block groups
8192 blocks per group, 8192 fragments per group
1712 inodes per group
Superblock backups stored on blocks:
8193
5. Try file system check with the superblock backup.
/etc # /sbin/e2fsck -b 8193 /dev/block/mmcblk0p16
e2fsck 1.41.14 (22-Dec-2010)
/sbin/e2fsck: Invalid argument while trying to open /dev/block/mmcblk0p16
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
6. I have no choice but to try to restore the superblocks. mke2fs with -S will try to do that. I added the block size and groups
from the previous report, but I don't think they were necessary.
etc # mke2fs -b 1024 -g 8192 -S /dev/block/mmcblk0p16
mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
5136 inodes, 20480 blocks
1024 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=20971520
3 block groups
8192 blocks per group, 8192 fragments per group
1712 inodes per group
Superblock backups stored on blocks:
8193
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 37 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
7. Run file system check again to repair any damage. Answer y to any questions.
/etc # /sbin/e2fsck /dev/block/mmcblk0p16
e2fsck 1.41.14 (22-Dec-2010)
/dev/block/mmcblk0p16 contains a file system with errors, check forced.
Resize inode not valid. Recreate<y>? y
yes
Pass 1: Checking inodes, blocks, and sizes
Root inode is not a directory. Clear<y>? yes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Root inode not allocated. Allocate<y>? y
yes
/lost+found not found. Create<y>? yes
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Block bitmap differences: +(1--298) +(8193--8489) +(16385--16600)
Fix<y>? y
yes
Free blocks count wrong for group #0 (7893, counted=7892).
Fix<y>? yes
Free blocks count wrong (19667, counted=19666).
Fix<y>? y
yes
Inode bitmap differences: +1 +(3--10)
Fix<y>? yes
Free inodes count wrong for group #0 (1711, counted=1701).
Fix<y>? y
yes
Directories count wrong for group #0 (1, counted=2).
Fix<y>? yes
Free inodes count wrong (5135, counted=5125).
Fix<y>? y
yes
/dev/block/mmcblk0p16: ***** FILE SYSTEM WAS MODIFIED *****
/dev/block/mmcblk0p16: 11/5136 files (0.0% non-contiguous), 814/20480 blocks
8. Mount data and check to see everything is ok.
/etc # mount /data
/etc # df
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 916024 136 915888 0% /dev
tmpfs 916024 20 916004 0% /tmp
tmpfs 916024 0 916024 0% /storage
tmpfs 916024 0 916024 0% /mnt/secure
tmpfs 916024 0 916024 0% /mnt/fuse
/dev/block/mmcblk0p12
1290112 40712 1249400 3% /cache
/dev/block/mmcblk0p16
19827 161 18642 1% /data
9. Exit, reboot to Odin mode, Reflash the ROM with heimdall/odin just like before. - leave off the --repartition --pit...
10. Reboot.
I now have an almost working phone. It actually has a network connection. It would be safe at this point to call your phone service
tech support and have them walk you through setting up your phone again.
I do not know what it takes for other phones, but with the note 2, I removed the battery while it was booted up to force an network update.
This gave me a new PRL and set my phone number along with everything else. I now had a working phone,
but for some reason no data service.
11. Turn off wifi, update profile. I get session in progress error.
12. Remove battery while booted, wifi off.
13. Reboot. update profile again. data network established.
That's pretty much it. In a nutshell, I had a corrupt filesystem on /data. The initial indicator of this was no carrier signal with an X on it.
This also caused bootloops when reflashing from TWRP/CWM.
Restoring the /data filesystem and flashing a stock rom restored the carrier and allowed a PRL and Profile update to get the phone working again.
Don't turn on wifi right away, let the phone update the PRL and Profile, and get everything working first.

Related

[Q] internal sd storage partition/mount problem

I got my nexus 7 2013 a few weeks ago. It worked great for some time until I decided to flash a kernel that claimed to add support for CIFS windows shares mount. After installing this kernel, when the OS booted, I did not have landscape mode working anymore - only portrait. I decided to do adb full restore to a full backup i made before this step, which seemed to have passed without any errors, but something happened to the recognition of the internal SD memory - applications are not able to use it - I am getting "no external storage" messages when I launch the gallery application and an error when trying to run the google play store - "unfortunetley, google play store has stopped". The device is still starting with only portrait mode.
i then tried to format the device and used TWRP to format everything including the internal memory. After that I reflashed the original rom of google for this device (taken from here https://developers.google.com/android/nexus/images#razorjss15r). The problem is still the same. In TWRP recovery console - I am able to access and push files to and from /sdcard folder with no problems, and see its content with adb shell.
When android loads - cd /sdcard + ls shows that it is empty (even though it does contain files copied to it in recovery console mode) the reason for this is that with ls I can see that "/sdcard" points to "/storage/emulated/legacy" which points to "/mnt/shell/emulated/0" which DOES NOT exist. "/mnt/shell/emulated/" folder exists, but it is empty.
I am unable to use the device - just start the OS (and get the error messages when trying to launch applications). When the OS loads I immediately get the "unfortunetley, google play store has stopped" error without doing anything.
running google earth application when logcat active gives the following output:
--------
E/cutils (10727): Failed to chmod(/mnt/shell/emulated/0, 0): Read-only file system
E/dalvikvm(10727): cannot mountExternalStorage(): Read-only file system
I/ActivityManager( 492): Start proc com.google.earth for activity com.google.earth/.EarthActivity: pid=10727 uid=10024 gids={50024, 3003, 1015, 1028}
D/dalvikvm(10727): No JNI_OnLoad found in /system/lib/libearthmobile.so 0x41dc5158, skipping init
--------
i've attached logcat and dmesg outputs i got.
Any idea how do I solve this? Why are the folder links broken when I am using an original google rom?
I've attached a bug report created using nexus root toolkit 1.78. searching for "failed" word in the log shows the problem happens over and over again as i try to use different applications:
"Failed to mkdir(/mnt/shell/emulated/0): Read-only file system".
i cannot use any application that needs the internal SD storage even though it is mounted to /data and the system reports 25GB available storage as can be seen by searching this log for "FREE SPACE" (df output)
working in "adb shell" as root (after "su"), i cannot write to any of the device's folders - only after executing "mount -o rw,remount /" it becomes possible (and only for the same session of the shell).
It would be very helpful if someone with a working nexus 7 2nd can post he/she's own device's bug report file so I'll be able to compare it to mine and see if i can find any differences. It can be done using the nexus toolkit:
"Launch" -> "Launch Generator" -> "OK" -> "Dump bug report to file" (filter output and alternate buffer log are unchecked).
Is there no one here that has experience with under the hood stuff of android and its filesystem?
Any help/directions will be appreciated.
I have the same problem did you find a solution?
Waledzaki said:
I have the same problem did you find a solution?
Click to expand...
Click to collapse
not yet - we need someone to post his debug info or at least "mount" command output for a working android 4.3+ device. maybe by comparison we'll be able to find what is wrong.
I must say i find the android community is quite disappointing - no one seems to give any directions even though full logs and detailed problem description supplied here.
I'm coming from maemo community (n900 device) which has many way better OS professionals.
liran corleone said:
It would be very helpful if someone with a working nexus 7 2nd can post he/she's own device's bug report file so I'll be able to compare it to mine and see if i can find any differences. It can be done using the nexus toolkit:
"Launch" -> "Launch Generator" -> "OK" -> "Dump bug report to file" (filter output and alternate buffer log are unchecked).
Click to expand...
Click to collapse
I have a new nexus7 (2013) with android 4.4.2 , not unlocked, not rooted. Can i help you with this bug report?
Have you a link to the nexus toolkit?
alligator_asl said:
I have a new nexus7 (2013) with android 4.4.2 , not unlocked, not rooted. Can i help you with this bug report?
Have you a link to the nexus toolkit?
Click to expand...
Click to collapse
you can download it from here: http://www.wugfresh.com/
after starting and choosing your device, press "Launch" button -> "Launch Generator" -> "Dump bug report to file" -> this will create the needed log file.
It would be great if you can post it (the log file) here.
Thanks.
Hello,
I generated this report and looked at him, unfortunately he contains too many personal details such as MAC addresses, SSID's, e-mail addresses, used apps, calendars and many others. I think, I can only post parts here. Can you tell me which parts you need?
alligator_asl said:
Hello,
I generated this report and looked at him, unfortunately he contains too many personal details such as MAC addresses, SSID's, e-mail addresses, used apps, calendars and many others. I think, I can only post parts here. Can you tell me which parts you need?
Click to expand...
Click to collapse
These sections are important (search for these strings in the log file):
KERNEL LOG
SYSTEM LOG
EVENT LOG
LAST KMSG
FILESYSTEMS & FREE SPACE
if there is a problem to publish it here, maybe you can send me on private?
it would be great if you can post these section from a log file which was created in the following way (in order to produce a clean log):
reboot the device, run an application that uses the internal storage (google earth for example) and recreate the log.
Thanks.
liran corleone said:
reboot the device, run an application that uses the internal storage (google earth for example) and recreate the log.
Click to expand...
Click to collapse
I did so, and here are the logs:
alligator_asl said:
I did so, and here are the logs:
Click to expand...
Click to collapse
i already found very interesting differences, although i'm not sure yet how this should be fixed:
in KERNEL LOG (dmesg):
Working device:
<6>[ 6.572631] EXT4-fs (mmcblk0p30): mounted filesystem with ordered data mode. Opts: barrier=1,data=ordered,nomblk_io_submit,errors=panic
<7>[ 6.572784] SELinux: initialized (dev mmcblk0p30, type ext4), uses xattr
<6>[ 6.578033] EXT4-fs (mmcblk0p4): mounted filesystem with ordered data mode. Opts: barrier=1,data=ordered,nodelalloc
<7>[ 6.578155] SELinux: initialized (dev mmcblk0p4, type ext4), uses xattr
Non working device:
<6>[ 6.130340] EXT4-fs (mmcblk0p30): mounted filesystem with ordered data mode. Opts: barrier=1,data=ordered,nomblk_io_submit,errors=panic
<7>[ 6.130462] SELinux: initialized (dev mmcblk0p30, type ext4), uses xattr
<3>[ 6.131042] EXT4-fs (mmcblk0p4): VFS: Can't find ext4 filesystem
<3>[ 6.198333] fs_mgr: Cannot mount filesystem on /dev/block/platform/msm_sdcc.1/by-name/persist at /persist
<3>[ 6.198425] init: fs_mgr_mount_all returned an error
"df" on working device:
Filesystem Size Used Free Blksize
/dev 902.9M 128.0K 902.8M 4096
/sys/fs/cgroup 902.9M 12.0K 902.9M 4096
/mnt/asec 902.9M 0.0K 902.9M 4096
/mnt/obb 902.9M 0.0K 902.9M 4096
/system 827.8M 700.9M 126.9M 4096
/cache 551.7M 9.9M 541.8M 4096
/data 26.4G 2.9G 23.6G 4096
/persist 14.5M 4.2M 10.2M 4096
/mnt/shell/emulated 26.4G 2.9G 23.6G 4096
"df" on non working device missing 2 mount points, and found a new one:
Filesystem Size Used Free Blksize
/dev 902.9M 128.0K 902.8M 4096
/sys/fs/cgroup 902.9M 12.0K 902.9M 4096
/mnt/asec 902.9M 0.0K 902.9M 4096
/mnt/obb 902.9M 0.0K 902.9M 4096
/system 827.8M 690.2M 137.5M 4096
/cache 551.7M 13.2M 538.6M 4096
/data 26.4G 337.4M 26.1G 4096
/mnt/secure 902.9M 0.0K 902.9M 4096
May be, this helps a little bit:
Code:
e:\Prog\android-sdk-windows\platform-tools>adb shell
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
[email protected]:/ $ mount
mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
none /sys/fs/cgroup tmpfs rw,seclabel,relatime,mode=750,gid=1000 0 0
tmpfs /mnt/asec tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,seclabel,relatime,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 rw,seclabel,nosuid,nodev,noatime,nomblk_io_submit,errors=panic,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 rw,seclabel,nosuid,nodev,noatime,nomblk_io_submit,errors=panic,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/persist /persist ext4 rw,seclabel,nosuid,nodev,relatime,nodelalloc,data=ordered 0 0
/dev/fuse /mnt/shell/emulated fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
[email protected]:/ $
alligator_asl said:
May be, this helps a little bit:
Code:
e:\Prog\android-sdk-windows\platform-tools>adb shell
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
[email protected]:/ $ mount
mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
none /sys/fs/cgroup tmpfs rw,seclabel,relatime,mode=750,gid=1000 0 0
tmpfs /mnt/asec tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,seclabel,relatime,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 rw,seclabel,nosuid,nodev,noatime,nomblk_io_submit,errors=panic,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 rw,seclabel,nosuid,nodev,noatime,nomblk_io_submit,errors=panic,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/persist /persist ext4 rw,seclabel,nosuid,nodev,relatime,nodelalloc,data=ordered 0 0
/dev/fuse /mnt/shell/emulated fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
[email protected]:/ $
Click to expand...
Click to collapse
i suggest you keep the full log and full file structure (list of all files in all folders) - just in case you will get to this situation also.
liran corleone said:
i already found very interesting differences, although i'm not sure yet how this should be fixed:
in KERNEL LOG (dmesg):
Working device:
<6>[ 6.572631] EXT4-fs (mmcblk0p30): mounted filesystem with ordered data mode. Opts: barrier=1,data=ordered,nomblk_io_submit,errors=panic
<7>[ 6.572784] SELinux: initialized (dev mmcblk0p30, type ext4), uses xattr
<6>[ 6.578033] EXT4-fs (mmcblk0p4): mounted filesystem with ordered data mode. Opts: barrier=1,data=ordered,nodelalloc
<7>[ 6.578155] SELinux: initialized (dev mmcblk0p4, type ext4), uses xattr
Non working device:
<6>[ 6.130340] EXT4-fs (mmcblk0p30): mounted filesystem with ordered data mode. Opts: barrier=1,data=ordered,nomblk_io_submit,errors=panic
<7>[ 6.130462] SELinux: initialized (dev mmcblk0p30, type ext4), uses xattr
<3>[ 6.131042] EXT4-fs (mmcblk0p4): VFS: Can't find ext4 filesystem
<3>[ 6.198333] fs_mgr: Cannot mount filesystem on /dev/block/platform/msm_sdcc.1/by-name/persist at /persist
<3>[ 6.198425] init: fs_mgr_mount_all returned an error
"df" on working device:
Filesystem Size Used Free Blksize
/dev 902.9M 128.0K 902.8M 4096
/sys/fs/cgroup 902.9M 12.0K 902.9M 4096
/mnt/asec 902.9M 0.0K 902.9M 4096
/mnt/obb 902.9M 0.0K 902.9M 4096
/system 827.8M 700.9M 126.9M 4096
/cache 551.7M 9.9M 541.8M 4096
/data 26.4G 2.9G 23.6G 4096
/persist 14.5M 4.2M 10.2M 4096
/mnt/shell/emulated 26.4G 2.9G 23.6G 4096
"df" on non working device missing 2 mount points, and found a new one:
Filesystem Size Used Free Blksize
/dev 902.9M 128.0K 902.8M 4096
/sys/fs/cgroup 902.9M 12.0K 902.9M 4096
/mnt/asec 902.9M 0.0K 902.9M 4096
/mnt/obb 902.9M 0.0K 902.9M 4096
/system 827.8M 690.2M 137.5M 4096
/cache 551.7M 13.2M 538.6M 4096
/data 26.4G 337.4M 26.1G 4096
/mnt/secure 902.9M 0.0K 902.9M 4096
Click to expand...
Click to collapse
did u find any solution or there is non?!
Waledzaki said:
did u find any solution or there is non?!
Click to expand...
Click to collapse
didn't find one yet - i am currently using it without the SD storage - installing the apks manually (the ones that does not require it).
Still nothing ?
liran corleone said:
didn't find one yet - i am currently using it without the SD storage - installing the apks manually (the ones that does not require it).
Click to expand...
Click to collapse
Still no solutions ? thanks in advance
have to bring this from the dead, i made a new post about this exact same issue with no response, you are obviously far more knowledgeable on this subject so i hope a dev sees this or someone who knows a fix can chime in.
have you found a fix yet though?
Got this one fixed.
Steps:
Root your device
Boot into android and enable USB debugging
Connect device to PC
Start up "adb shell", then type in "su"
A supersu prompt would pop up on the device, agree to give adb shell root permissions.
In adb shell execute "make_ext4fs /dev/block/platform/msm_sdcc.1/by-name/persist"
In adb shell type "exit" twice to quit.
Execute "adb reboot".
Fixed.

unified storage setup on re-partitioned FP1

In reference to the new storage configuration scheme mentioned in this thread
http://forum.xda-developers.com/showpost.php?p=54537828&postcount=677
I would like to create a new discussion for people who already implemented the re-partitioning of their phones following this method
http://forum.xda-developers.com/wiki/Fairphone_Fairphone/Guides#How_to_partition_your_Fairphone
Please share your experience and confirm if the re-partitioning needs to be reverted prior to implementing the new storage scheme which uses fuse.
Donat.Callens said:
I would like to create a new discussion for people who already implemented the re-partitioning of their phones following this method
http://forum.xda-developers.com/wiki/Fairphone_Fairphone/Guides#How_to_partition_your_Fairphone
Please share your experience and confirm if the re-partitioning needs to be reverted prior to implementing the new storage scheme which uses fuse.
Click to expand...
Click to collapse
Used that method, worked like a charm. Since I'm using AOSP and there have been zero updates for it, I probably won't reformat unless Fairphone starts updating their AOSP OS as well. Will update this post when/if they do.
to repartition or not to repartition
How about people with a repartitioned phone that applied the new storage scheme? Should we revert back to 1GB for the /data partition beforehand?
Donat.Callens said:
How about people with a repartitioned phone that applied the new storage scheme? Should we revert back to 1GB for the /data partition beforehand?
Click to expand...
Click to collapse
Hello, The partition upgrader rewrites MBR/EBR1/EBR2 *after* performing the update to the /system partition. It assumes the /system partition is not altered. I have not tried modifying the partition layout using the methods discussed on this forum (modifying the extended master boot record). As a result of the upgrade EBR2 is no longer used but remains present. MBR is not altered so only EBR2 and the PMT partition are modified before the cache and data partition are formatted. If only /data and the FAT partition are modified you should be fine. These are at the "end" of the disk.
I previously tried to download the APK from the link on the WIKI bellow but ended up downloading the wrong file(addware from the hosting company?) this is where I gave up.
http://forum.xda-developers.com/wiki/Fairphone_Fairphone/Guides#How_to_partition_your_Fairphone
download the repartitioning tool
_keesj said:
I previously tried to download the APK from the link on the WIKI bellow but ended up downloading the wrong file(addware from the hosting company?) this is where I gave up.
http://forum.xda-developers.com/wiki/Fairphone_Fairphone/Guides#How_to_partition_your_Fairphone
Click to expand...
Click to collapse
Here is the original thread with the tool:
http://www.movilesdualsim.com/tema/...ilmente-data-apps-com-4gb-8gb-16gb-rom.31769/
This site refers to another download links to the same file:
http://www.china-devices.com/Thread-Tool-App-for-repartitioning-MTK-6589-Memory
As sear for Meteos MTK6589 will pop up many sites where it is to be found.
Donat.Callens said:
Here is the original thread with the tool:
http://www.movilesdualsim.com/tema/...ilmente-data-apps-com-4gb-8gb-16gb-rom.31769/
Click to expand...
Click to collapse
The original thread explains that you should perform a backup of EBR1 and EBR2 for safety. I assume this means only those two are modified. Could this mean we can apply the new cherry partitioning scheme on a re-partitioned phone without prior modification?
Note: hereby the mentionned commands for the backup
su
dd if=/dev/ebr1 of=/sdcard/EBR1 bs=512 count=1
dd if=/dev/ebr2 of=/sdcard/EBR2 bs=512 count=1
Donat.Callens said:
The original thread explains that you should perform a backup of EBR1 and EBR2 for safety. I assume this means only those two are modified. Could this mean we can apply the new cherry partitioning scheme on a re-partitioned phone without prior modification?
Note: hereby the mentionned commands for the backup
su
dd if=/dev/ebr1 of=/sdcard/EBR1 bs=512 count=1
dd if=/dev/ebr2 of=/sdcard/EBR2 bs=512 count=1
Click to expand...
Click to collapse
I changed my partition using the above tool and was able to perform a 1.3 -> 1.6 -> 1.6 FUSE update afterwards. This is not an endorsement but it does seam to work.
it did not seem to work for me
_keesj said:
I changed my partition using the above tool and was able to perform a 1.3 -> 1.6 -> 1.6 FUSE update afterwards. This is not an endorsement but it does seam to work.
Click to expand...
Click to collapse
I'm afraid I must report otherwise from my personal experience. I had previously re-partitioned my phone with a 4GB internal space storage. When applying the new FP partitioning schema, I did not loose my data as I should have. I am now stuck with bizarre values for the partition sizes. I will post the output of these commands here in my next post: df and mount. Please inform me if other information is required or if an official FP support request is preferable.
Donat.Callens said:
I will post the output of these commands here in my next post: df and mount.
Click to expand...
Click to collapse
$ df
Filesystem Size Used Free Blksize
/dev 487M 52K 487M 4096
/mnt/secure 487M 0K 487M 4096
/mnt/asec 487M 0K 487M 4096
/mnt/asec/com.camsam.plus-1 22M 19M 2M 4096
/mnt/asec/com.nuance.swype.dtc-1 36M 32M 3M 4096
/mnt/asec/com.koushikdutta.backup.license-1 1M 280K 1M 4096
/mnt/asec/ginlemon.flowerpro-1 5M 3M 1M 4096
/mnt/obb 487M 0K 487M 4096
/system 639M 351M 288M 4096
/data 3G 1G 2G 4096
/cache 124M 4M 119M 4096
/mnt/cd-rom 1M 1M 0K 2048
/protect_f 8M 4M 4M 4096
/protect_s 8M 4M 4M 4096
/storage/emulated 487M 0K 487M 4096
/storage/sdcard1 7G 6G 425M 32768
/storage/emulated/0 3G 1G 2G 4096
/storage/emulated/0/Android/obb 3G 1G 2G 4096
/storage/emulated/legacy 3G 1G 2G 4096
/storage/emulated/legacy/Android/obb 3G 1G 2G 4096
$ mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/secure tmpfs rw,relatime,mode=700 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
/dev/block/dm-0 /mnt/asec/com.camsam.plus-1 ext4 ro,dirsync,nosuid,nodev,noatime 0 0
/dev/block/dm-1 /mnt/asec/com.nuance.swype.dtc-1 ext4 ro,dirsync,nosuid,nodev,noatime 0 0
/dev/block/dm-2 /mnt/asec/com.koushikdutta.backup.license-1 ext4 ro,dirsync,nosuid,nodev,noatime 0 0
/dev/block/dm-3 /mnt/asec/ginlemon.flowerpro-1 ext4 ro,dirsync,nosuid,nodev,noatime 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
/[email protected] /system ext4 ro,noatime,noauto_da_alloc,commit=1,data=ordered 0 0
/[email protected] /data ext4 rw,nosuid,nodev,noatime,discard,noauto_da_alloc,data=ordered 0 0
/[email protected] /cache ext4 rw,nosuid,nodev,noatime,discard,noauto_da_alloc,data=ordered 0 0
/dev/block/loop0 /mnt/cd-rom iso9660 ro,relatime 0 0
/[email protected]_f /protect_f ext4 rw,nosuid,nodev,noatime,nodelalloc,noauto_da_alloc,commit=1,data=ordered 0 0
/[email protected]_s /protect_s ext4 rw,nosuid,nodev,noatime,nodelalloc,noauto_da_alloc,commit=1,data=ordered 0 0
/dev/fuse /mnt/shell/emulated fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
tmpfs /storage/emulated tmpfs rw,nosuid,nodev,relatime,mode=050,gid=1028 0 0
/dev/block/vold/179:97 /storage/sdcard1 vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/fuse /storage/emulated/0 fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
/dev/fuse /storage/emulated/0/Android/obb fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
/dev/fuse /storage/emulated/legacy fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
/dev/fuse /storage/emulated/legacy/Android/obb fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
Donat.Callens said:
I'm afraid I must report otherwise from my personal experience. I had previously re-partitioned my phone with a 4GB internal space storage. When applying the new FP partitioning schema, I did not loose my data as I should have. I am now stuck with bizarre values for the partition sizes. I will post the output of these commands here in my next post: df and mount. Please inform me if other information is required or if an official FP support request is preferable.
Click to expand...
Click to collapse
Can you please execute the following (as root e.g. adb shell ; su) and paste the result?
/system/bin/fp_part -r -f /dev/pmt | grep FAT; echo $?
_keesj said:
/system/bin/fp_part -r -f /dev/pmt | grep FAT; echo $?
Click to expand...
Click to collapse
__NODL_FAT,0x74F80000,0x33F3A0000,0x00000000
0
Donat.Callens said:
__NODL_FAT,0x74F80000,0x33F3A0000,0x00000000
0
Click to expand...
Click to collapse
Only the first part of the uprade has happend. The first part replaces the root file system, recovery and some other system partitions.
The second part of the upgrade is launched on the next boot in /system/etc/install-recovery.sh (itself copied from /system/bin/fp1_partition_upgrade ).
It checks if the partition upgrade has happened and if not perform the upgrade.
This step is not working on your phone/layout and to understand why you need to get the kernel messages (dmesg or logcat) while doing the upgrade.
/system/bin/fp1_partition_upgrade
Code:
#!/system/bin/sh
#
# Upgrade the partition layout from FP1 to FP1U
#
#
# dump pmt to see if the upgrade has happend
if /system/bin/fp_part -r -f /dev/pmt | grep FAT > /dev/null
then
echo Starting partition upgrade
cp /system/bin/fs_upgrade.bin /proc/sd_upgrade
echo "--wipe_data" > /cache/recovery/command
reboot recovery
fi
logcat
_keesj said:
This step is not working on your phone/layout and to understand why you need to get the kernel messages (dmesg or logcat) while doing the upgrade.
Click to expand...
Click to collapse
I restarted the partition updater and attach the corresponding logcat
$ logcat -v long
Donat.Callens said:
I restarted the partition updater and attach the corresponding logcat
$ logcat -v long
Click to expand...
Click to collapse
Can you please also provide the dmesg output, possibly using a private message? (the logcat does contains the info I am looking for an might contain private data)
custom recovery might be the source of the problem
_keesj said:
Donat.Callens said:
_keesj said:
The partition upgrdate is not happening, there should be lines containins SD_UPGRADE something like
Click to expand...
Click to collapse
could it be because I have a custom recovery installed?
Click to expand...
Click to collapse
This is an interesting idea.
-The sd_upgrade command is executed when not on the recovery so this is not probable.
-I think the recovery will also be replace back to "original" because we need a diifferent kernel.
Did you run the command and does the device reboot afterwards? A different recovery might not perform the factory reset?
Click to expand...
Click to collapse
I did not run the command, I merely started the FairPhone updater's partition upgrade tool. It displays a progress window like the first time, so I guess it is at least trying.
After the progress window, I get
ROM may flash stock recovery on boot. Fix?
Click to expand...
Click to collapse
I then reply
Yes - Disable recovery flash
Click to expand...
Click to collapse
I can try to let it install the stock recovery and run the partition updater after that to see if it solves the problem.
Donat.Callens said:
I did not run the command, I merely started the FairPhone updater's partition upgrade tool. It displays a progress window like the first time, so I guess it is at least trying.
After the progress window, I getI then replyI can try to let it install the stock recovery and run the partition updater after that to see if it solves the problem.
Click to expand...
Click to collapse
Post partition upgrade:
-The zip files downloaded have a different scattter file (a file describing the partition layout) that gets checked by the normal recovery.
-The zip are signed with a different key
This does not apply to the partition upgrader itself but might impact custom recovery users. The upgrader also replaces the recovery.
_keesj said:
Post partition upgrade:
-The zip files downloaded have a different scattter file (a file describing the partition layout) that gets checked by the normal recovery.
-The zip are signed with a different key
This does not apply to the partition upgrader itself but might impact custom recovery users. The upgrader also replaces the recovery.
Click to expand...
Click to collapse
I replied No to the question: ROM may flash stock recovery on boot. Fix?
This solved the issue. The installer completed and now my phone is back to factory default. I have 13.37 GB total space . I will restore my backups. Thank you for your support _keesj.
Please ensure user are informed they have to let the installer replace the existing custom recovery with the factory one for the partition upgrader to work correctly. You can always restore your custom recovery afterwards
I hereby confirm that, in my case, the partition upgrader worked with a modified partition scheme. For reference, I had changed the internal storage space to 4GB in the past.
Awesome guys!
This is why I like xda-developers and Fairphone and its community accompanied development so much. Not only I can follow the rapid conversations on problems and solutions that I could even run into, I also learn a lot about related techniques, background and the challenges in throwing a fair phone on the market.
I definitely appreciate the work of the xda developers, keejs and joemier - and of course all the others that stand behind that all. KUDOS!
But will all my apps still work, if I do backup the two partitions and then after the upgrade put everything on the one remaining partition? I guess quite a few apps might still "look" for their data on the no longer existing second partition, won't they?
Steps for "fiixing" your upgrade
Some user have repartitioned the partition of their FP1U using tool mentioned in on this forum. FP1U does not need this as the new layout is perfectly fine.
I think the following steps *should* work to get their phone back to "normal"
#get the partition upgrader
wget http://storage.googleapis.com/updat...G13G_partitionUpgrade_v1_6_OTA_2014-07-31.zip
#unzip it
unzip FP1_Fairphone_OS_1G13G_partitionUpgrade_v1_6_OTA_2014-07-31.zip
#attach your device to your pc and make sure adb works
#after that push the new partition layout to your device
adb push system/bin/fs_upgrade.bin /mnt/sdcard/
#the rest of the command need to run as root
adb shell
su.
# tell the kernel to perform the upgrade
cp /system/bin/fs_upgrade.bin /proc/sd_upgrade
#reboot and wipe the data
echo "--wipe_data" > /cache/recovery/command
reboot recovery

nexus with broken file system, cannot wipe

Hi everybody,
I'm in deep troubles with my nexus (maguro).
Yesterday, it started to reboot after showing for about 5-10 seconds the lock screen.
the phone is rooted, Iand the last rom (cyanogenmod) was running stable in the last 6 months.
twrp 2.8.0.1 was installed, so I Rebooted to fastboot to flash the 2.8.6.0.
And then the weird part begins:
it's like every partition is read only, but from the mount command it doesn't look like it.
flashing the new recovery is a success, but after reboot the 2.8.0.1 is still there.
factory reset successful, and everything is like before.
wiping sdcard, nothing happens.
if I try to create a backup in twrp, it fails after 20 seconds or so. (I've copied everything to the pc using the pull command in adb).
Try to fix or to change the partitions filesystem in twrp doesn't change anything.
I tried also to change the file system in parted, through the adb shell,this happens:
Code:
~ # ←[6nparted /dev/block/mmcblk0p12 mkfs ext2
parted /dev/block/mmcblk0p12 mkfs ext2
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: ext2
Yes/No? yes
yes
yes
Partition number? 1
1
1
File system type? [ext2]?
Error: File system was not cleanly unmounted! You should run e2fsck. Modifying
an unclean file system could cause severe corruption.
Ignore/Cancel? i
i
i
Error: File system has an incompatible feature enabled. Compatible features are
has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs or
debugfs to remove features.
You found a bug in GNU Parted! Here's what you have to do:
Don't panic! The bug has most likely not affected any of your data.
Help us to fix this bug by doing the following:
Check whether the bug has already been fixed by checking
the last version of GNU Parted that you can find at:
...
Please check this version prior to bug reporting.
If this has not been fixed yet or if you don't know how to check,
please visit the GNU Parted website:
...
for further information.
Your report should contain the version of this release (1.8.8.1.179-aef3)
along with the error message below, the output of
parted DEVICE unit co print unit s print
and the following history of commands you entered.
Also include any additional information about your setup you
consider important.
Error: SEGV_MAPERR (Address not mapped to object)
Aborted
and of course nothing changes.
so, I have access to adb in recovery and to fastboot, there is a way to wipe completely the filesystem and start from scratch, or load a different kernel, that would help?
If I send with adb push a new rom to the sdcard, twrp fails and at the next reboot the files disappear.
this is my mount result:
Code:
~ # ←[6nmount
mount
rootfs on / type rootfs (rw)
tmpfs on /dev type tmpfs (rw,seclabel,nosuid,relatime,mode=755)
devpts on /dev/pts type devpts (rw,seclabel,relatime,mode=600)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,seclabel,relatime)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
tmpfs on /tmp type tmpfs (rw,seclabel,relatime)
/dev/block/mmcblk0p11 on /cache type ext4 (rw,seclabel,relatime,user_xattr,barri
er=1,data=ordered)
/dev/block/mmcblk0p12 on /data type ext4 (rw,seclabel,relatime,user_xattr,barrie
r=1,data=writeback)
/dev/block/mmcblk0p12 on /sdcard type ext4 (rw,seclabel,relatime,user_xattr,barr
ier=1,data=writeback)
/dev/block/mmcblk0p10 on /system type ext4 (rw,seclabel,relatime,user_xattr,barr
ier=1,data=ordered)
and remounting in rw the partitions has no effect.
Even the parted, e2fsck, etc files disappear from /sbin after each reboot.
thank you
edit:
Having a second nexus, I could take a look at the partitions, and the difference seems to be the data=writeback options.
I'm looking for a procedure to make them "ordered" as the other phone.
edit2:
Code:
/tmp # ←[6ntune2fs -l /dev/block/mmcblk0p12 | grep features
tune2fs -l /dev/block/mmcblk0p12 | grep features
__bionic_open_tzdata: couldn't find any tzdata when looking for localtime!
__bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
__bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
Filesystem features: has_journal ext_attr resize_inode filetype needs_recov
ery extent sparse_super large_file
/tmp # ←[6ne2fsck -f /dev/block/mmcblk0p12
e2fsck -f /dev/block/mmcblk0p12
e2fsck 1.42.9 (28-Dec-2013)
/dev/block/mmcblk0p12: recovering journal
Superblock needs_recovery flag is clear, but journal has data.
Run journal anyway<y>? y
y
yes
e2fsck: unable to set superblock flags on /dev/block/mmcblk0p12
/dev/block/mmcblk0p12: ********** WARNING: Filesystem still has errors *********
*
/tmp #
/tmp # ←[6ntune2fs -O ^has_journal /dev/block/mmcblk0p12
tune2fs -O ^has_journal /dev/block/mmcblk0p12
tune2fs 1.42.9 (28-Dec-2013)
The needs_recovery flag is set. Please run e2fsck before clearing
the has_journal flag.
Stuck here at the moment, cannot set superblock flags..
edit3:
Tested every possible superblock position, no luck.
I'm starting to think that the internal memory could be dead, but the phone in fastboot and recovery mode works fine.
I forgot to say that I've tried also the fastboot -w command, it works a lot (about 270 seconds) but no effect.

trying to recompile .img using make_ext4fs need help

Hello,
I compiled aosp for my nexus 7 2013 works fine, but i wanted to add apps and tweak things like bootanimation.zip and remove things like email app, i don't use it why waste space. I use the the follow to allow edits
simg2img system.img system.img.raw
mkdir system
sudo mount -t ext4 -o loop system.img.raw system/
I add my edits and than use this but get and error
[email protected]:~/Downloads/imagedisassemble$ sudo ./make_ext4fs -s -l 512M -a system mesystem.img system/
Creating filesystem with parameters:
Size: 536870912
Block size: 4096
Blocks per group: 32768
Inodes per group: 8192
Inode size: 256
Journal blocks: 2048
Label:
Blocks: 131072
Block groups: 4
Reserved block group size: 31
error: do_inode_allocate_extents: Failed to allocate 3 blocks
I have tried to change 512M to 600M it will finish without error, however when I flash with fastboot flash system system.img, I get stuck on the Google screen and have to force off with power and get into bootloader to try again.
Any help would be great
Thanks
Tony

Stuck in the bootloop after flashing data.img on Pixel C device.

Hi,
I am stuck in the bootloop after flashing data.img on Pixel C device.
I have done the following steps and have serached around in 100s of forums before posting this. Please bear with me.
My bootloader is unlocked and I have flashed my boot partition with dragon-boot-encryptable-rooted-01092016-1.img so that the data is not encrypted by default.
I have a freshly booted up (new setup) device with default apps installed. I installed one app so that the /data partition contains something. I am firing all commands as root on Ubuntu 14
I then flashboot into TWRP recovery so that I can access root shell through adb. This is not flashing the TWRP recovery, just booting into it.
#adb reboot bootloader
#fastboot boot twrp-3.0.0-0-dragon-ryu-02112016-1.img
#adb shell
~ # whoami
root
~ # df
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 1420244 20 1420224 0% /dev
tmpfs 1420244 20 1420224 0% /tmp
/dev/block/mmcblk0p6 396744 452 388100 0% /cache
/dev/block/mmcblk0p7 55453060 304032 55132644 1% /data
/dev/block/mmcblk0p7 55453060 304032 55132644 1% /sdcard
Now, I am interested only in taking image backup of my /data partition which is at /dev/block/mmcblk0p7. I confirmed this by:
/dev/block/platform/700b0600.sdhci/by-name # ls -l
...
lrwxrwxrwx 1 root root 20 Oct 16 07:38 UDA -> /dev/block/mmcblk0p7
...
Now, I fire the make_ext4fs command to create the image.
~#umount /sdcard (optional)
~ # make_ext4fs -s -l 55453060K -a data mydata.img /data
SELinux: Loaded file_contexts contexts from /file_contexts.
Creating filesystem with parameters:
Size: 56783933440
Block size: 4096
Blocks per group: 32768
Inodes per group: 8176
Inode size: 256
Journal blocks: 32768
Label:
Blocks: 13863265
Block groups: 424
Reserved block group size: 1024
Created filesystem with 11/3466624 inodes and 263660/13863265 blocks
mydata.img is created. I do an adb pull on my Ubuntu and fetch the mydata.img and /file_contexts
#adb pull /file_contexts
#adb pull /mydata.img
# du *
20 file_contexts
140888 mydata.img
Now, I convert the mydata.img into raw image file with simg2img.
#./simg2img mydata.img mydata.img.raw
#ls -lrt
-rw-r--r-- 1 root root 17261 Oct 16 13:17 file_contexts
-rw-r--r-- 1 root root 144267780 Oct 16 13:18 mydata.img
-rw-r--r-- 1 root root 56783933440 Oct 16 13:21 mydata.img.raw
Now, I create a directory and mount my raw image into that directory.
#mkdir phonedata
#mount -t ext4 mydata.img.raw phonedata/
I navigate into phonedata and verify the contents. I can see that the app I installed in avaialable under /data/data.
Then, I re-create the image from phonedata mount using make_ext4fs, or I can use the mydata.img fetch by adb pull too.
If I re-create the image, I give file_contexts(fetched) as the -S option to make_ext4fs. One doubt here, if I am re-creating the sparse image, what value should be passed to -l paramtere now?
I got to fastboot and fire these commands.
#fastboot format userdata
#fastboot format data
#fastboot format cache
#fastboot flash data mydata.img { I am confused between data and userdata, which is the correct one. This is mydata.img from adb pull }
#fastboot flash vendor vendor.img { I read in one forum that vendor should be flashed again on a nexus device }
#fastboot reboot
All things take smoothly. When the tab reboot, it shows Google logo, then android flash animation, then it shows 'Android is starting', and then goes back to flash animation. That is, it's stuck in bootloop.
Kindly let me know if there is something with these steps. Or is there is any alternate way to do the same thing. My problem statement is, I need a flashable data.img. I can create TWRP backup and recovery fine, but that's not my requirement.
Thanks!
Edit 1:
I should add, at this point, if I hard boot to fastboot and do a fastboot format userdata followed by fastboot reboot, I am able to boot to device and perform new device setup.
I can also flash system,boot,vendor,recovery and cache.img and perform new device setup normally. This should mean my fastboot/adb are working fine.
Ummmmm
Did you try with smaller sparse image size ?
make_ext4fs -s -l 30000M -a data mydata.img /data
The sparse will grow until max partition size.
Did you play with "img2simg" as well ? (not simg2img)
img2simg mydata.img.raw mydata.img

Categories

Resources