Hey all, new to xda. Hope I'm not asking stupid questions.
My friend gave me a Galaxy S to fix. Model: GT-I9003.
It has a boot loop problem, cycling the Samsung introduction animation (and sound first time round). The recovery mode didn't work to start with - also trapped in a boot loop.
I followed the instructions here (using Odin3 v1.85) and flashed XXKPE. It seemed to all work fine, but the boot loop remained. I booted it into recovery mode and the following error messages appear.
E:failed to mount /data (No such file or directory)
Click to expand...
Click to collapse
and under -- Wiping data...
E:format_volume: rfs format failed on /dev/block/mmcblk0p3
Click to expand...
Click to collapse
then
Data wipe failed.
Click to expand...
Click to collapse
From my research I believe it's a corrupted internal SD-Card and is fixed via parted? Could anyone go into more detail on how I would do this?
Many thanks.
I am facing a similar problem on my Galaxy SL... Need a solution too... I would appreciate any help...
Data partition has been corrupted, try flashing userdata.rfs with heimdall. A friend of mine had an stock/untouched phone and this happened to it, even with the corrupted partition i was able to boot cyanogenmod, and tried a lot of things, but nothing worked, it was on warranty, so i flashed back the original firmware and he took it to the service center.
If you want to try do this:
Flash bam kernel PDA_BCK_CF-root_universal_beta14fix.tar (http://forum.xda-developers.com/showthread.php?t=1355675)
Then from CWM flash cyanogenmod (i used cm7, but you can try with cm9)
after that the phone should boot into cyanogemod and give an error on the notification bar
extract the 6 files off the zip i attached and copy them to /xbin
from terminal emulator or adb shell run this for the 6 files:
Code:
chmod 0755 <file>
then run:
Code:
parted /dev/block/mmcblk0 mkfs ext2
When it asks for the partition number, enter 3
finally reboot, and if it worked you can flash a stock rom again, thats it, good luck
My phone boots up, but there are random reboots. Tried a lot of stock and custom ROMs... Nothing works... Warranty expired last week...
Thanks for your time. I appreciate it.
bruisedcrow said:
Thanks for your time. I appreciate it.
Sorry, I'm very new at this - my first hour doing this kind of thing. Could you explain the procedure in more detail - I would like to learn (make the best of a bad situation).
Am I right to say that the Bam Custom Kernel gives super-root level privileges? Allowing the CWM to fiddle with partions?
I've downloaded the normalboot.img for BCK. How do I flash this to my device? Could you link me to a tutorial?
EDIT: Alternatively could you point me to all the prerequisites I need to properly understand the problem and the methods required to fix it?
Click to expand...
Click to collapse
I tried that... My phone was booting up...
I have Android SDK on my PC... It includes some tools like ADB.
If your phone is rooted, you can use ADB to do things, like formatting...
Connected my phone. Booted into recovery. From Command Prompt, I went to ADB folder, then typed "adb shell". Then, typed in the parted command, and followed steps. Successfully done...
But the problem continues...
I have found many other users have faced this problem -- http://forum.xda-developers.com/showthread.php?t=1736118
I am disappointed. My phone is no longer in warranty... I am too late...
it is possible that using cyanogenmod and S2E (simple2ext) will work as a workaround until you send it to service center.
grab a copy of s2e and push it to /system/app/
Repartition your External-SD using the same method used for phones with low storage capacity, warning: it will erase all the data in it, so make backups
Start s2e and mark to move:
App and Private app
Applications data
Dalvik and download cache
This makes another partition, and it does not fix data, but at least you should be able to install apps.
I face this problem too. Please someone give us the solution.
Update: I flashed BAM Custom Kernel and put it in recovery mode. Attached it to the computer, but I'm stuck at this error message.
Thanks again.
More information
EDIT: There doesn't seem to be a /data partition at all! I feel I'm getting closer to fixing this.
There are 2 storages chips on this phone, one is mmc and the other is onenand.
I think the mmc chip is dead... it contains both /data and internal-SD, the onenand still works, it contains (system cache and dbdata), you can still use the phone with cyanogenmod if you mount everything that should go on /data on a partition in the external-SD, (the method i described with s2e). However there are some drawbacks, the SD needs to be class 6 or above to maintain the system speed, and the life of the sd is going to be reduced because of the more intensive use.
alfrix said:
There are 2 storages chips on this phone, one is mmc and the other is onenand.
I think the mmc chip is dead... it contains both /data and internal-SD, the onenand still works, it contains (system cache and dbdata), you can still use the phone with cyanogenmod if you mount everything that should go on /data on a partition in the external-SD, (the method i described with s2e). However there are some drawbacks, the SD needs to be class 6 or above to maintain the system speed, and the life of the sd is going to be reduced because of the more intensive use.
Click to expand...
Click to collapse
Thanks. Is there a way to replace the mmc chip without sending it to Samsung?
I've flashed XXFPE then Bam Custom Kernel then when I try install cm7 from CWM it gives:
Checking state of RFS/EXT4...
assert failed: run_program("/tmp/updater.sh") == 0
E: Error in /emmc/update-cm-7.1.0-GalaxySL-Kang-singed.zip
(Status 7)
Installation aborted.
Trying with MIUI instead.
EDIT: MIUI does this too.
How do I get around this? Can't I flash cm7 via Odin like the stock roms?
bruisedcrow said:
Thanks. Is there a way to replace the mmc chip without sending it to Samsung?
I've flashed XXFPE then Bam Custom Kernel then when I try install cm7 from CWM it gives:
Checking state of RFS/EXT4...
assert failed: run_program("/tmp/updater.sh") == 0
E: Error in /emmc/update-cm-7.1.0-GalaxySL-Kang-singed.zip
(Status 7)
Installation aborted.
Trying with MIUI instead.
EDIT: MIUI does this too.
How do I get around this? Can't I flash cm7 via Odin like the stock roms?
Click to expand...
Click to collapse
I think that the problem is when /tmp/updater.sh tries to mount /emmc your internal memory (EDIT: I've just noticed you tried with CM7, so, if I remember correctly, /emmc is the external memory, but I think that the problem is always the impossibility to mount the internal memory.) to backup your /efs directory. Because of the not avaible internal memory (/emmc) it simply exits and aborts the installation.
A simple change in updater.sh will allow you to install CyanogenMod, but wait for a confirmation from alfrix, maybe there's something more.
Anyway here there's a thread of a user with the same problem, he solved this by using the external SD as internal SD, as alfrix suggested.
strange, before touching anything try with the release i used that time (14.12.2011), if it doesn't work, then edit the updater.sh and remove
Code:
if ! /tmp/busybox mount -t ext4 /dev/block/mmcblk0p3 /data ; then
/tmp/busybox umount /data
/tmp/make_ext4fs -b 4096 -g 32768 -i 8192 -I 256 -a /data /dev/block/mmcblk0p3
fi
EDIT: is there any mmcblk on /dev/block?
Code:
ls /dev/block/
Weird the has mmcblk0 reappeared.
Code:
~ # ls /dev/block
ls /dev/block
bml0!c bml6 loop6 ram13 ram9 stl6 tfsr2
bml1 bml7 loop7 ram14 stl1 stl7 tfsr3
bml10 bml8 mmcblk0 ram15 stl10 stl8 tfsr4
bml11 bml9 mmcblk0p1 ram2 stl11 stl9 tfsr5
bml12 loop0 platform ram3 stl12 tfsr0!c tfsr6
bml13 loop1 ram0 ram4 stl13 tfsr1 tfsr7
bml2 loop2 ram1 ram5 stl2 tfsr10 tfsr8
bml3 loop3 ram10 ram6 stl3 tfsr11 tfsr9
bml4 loop4 ram11 ram7 stl4 tfsr12
bml5 loop5 ram12 ram8 stl5 tfsr13
So I tried
Code:
C:\Users\Bruised>adb shell
~ # /sbin/parted /dev/block/mmcblk0 mkfs ext2
/sbin/parted /dev/block/mmcblk0 mkfs ext2
Warning: The existing file system will be destroyed and all data on the
partition will be lost. Do you want to continue?
/sbin/parted: invalid token: ext2
Yes/No? y
y
y
Partition number? 3
3
3
Error: Partition doesn't exist.
~ #
That mmcblk is you externalSD its 0 because the internal is missing/broken and it has only 1 partition, because you didn't do the Repartition yet.
Sent from my GT-I9003 using xda app-developers app
alfrix said:
That mmcblk is you externalSD its 0 because the internal is missing/broken and it has only 1 partition, because you didn't do the Repartition yet.
Sent from my GT-I9003 using xda app-developers app
Click to expand...
Click to collapse
What should I try next? 14.12.2011 download link is down.
try with this:
https://dl.dropbox.com/u/5013311/test_for_broken_mmc_cm-9-20120626-UNOFFICIAL-galaxysl.zip
alfrix said:
try with this:
https://dl.dropbox.com/u/5013311/test_for_broken_mmc_cm-9-20120626-UNOFFICIAL-galaxysl.zip
Click to expand...
Click to collapse
It installs it.
Code:
Checking state of RFS/EXT4...
Install from sdcard complete.
After I reboot CM9 boot screen loads then I get "Encryption unsuccessful" as shown here
After rebooting I get
Code:
CWM-based Recovery v5.5.0.4
Formatting /data...
E:format_volume: make_extf4fs failed on /dev/block/mmcblk0p3
Formatting /cache...
Data wipe failed.
Heres the log file from the sdcard:
Code:
+ /tmp/busybox test -e /sdcard/backup/efs/nv_data.bin
+ /tmp/busybox mount -t ext4 /dev/block/stl9 /system
+ /tmp/busybox mount -t ext4 /dev/block/stl10 /dbdata
+ /tmp/busybox mount -t ext4 /dev/block/stl11 /cache
+ /tmp/busybox umount -l /system
+ /tmp/busybox umount -l /cache
+ /tmp/busybox umount -l /data
umount: can't forcibly umount /data: Invalid argument
+ /tmp/busybox umount -l /dbdata
+ /tmp/busybox umount -l /efs
umount: can't forcibly umount /efs: Invalid argument
+ exit 0
Elephone P6000 Recovery
SPFlashtool Video is now removed due to possible confusion. I will make a new more concise video for making backup's of specific partitions very soon
Here is a couple of tut's for those who have windows 8.1 64bit problems Drivers etc.
Uninstall any previous attempts to install drivers then reboot the PC do not insert your phone yet!!
Follow these guides step by step.
This first Driver Signature Verification
Then follow this down to step 9 Installing Vcom Drivers windows 8.1
Thanks to the authors of these tuts
Note: If you do not name your readback eg boot.img and leave the ROM_0 the flashtool will just do a complete ROM dump of your entire phone 12.8gb which cannot be processed by droid tools :silly:
PLEASE READ and post in the Q&A Tab which is above my name over < there also hit the THANKS Button bottom Left corner if I helped it costs you no money but cost me many hours
Recommended Viewing
See @rnovino more detailed and excellent general SPFlashTool TuTs with all the mtk drivers links . Thanks to him for these.
Here and Here
Please NO NOOBS asking how to install drivers etc just use google as these questions have been answered a million times over and I really don't have the time to spoon feed everyone :crying: You will probably brick your phone if you don't know what you're doing so read read and read again. :silly:
Recovery
UPDATE: bigrammy CWM port is now retired. Good news is that @carliv has compiled a CWM Recovery Specifically for the P6000 :victory: Dont be just a Leech and please show him your respect and appreciation by visiting his thread and hitting his THANKS button HERE at the very least.
a bigammy Thanks to all the dev's and testers involved with this project :highfive:
Offcial: Compiled recovery-CWM-Modd-P6000 Download here
HERE
Thanks to @carliv for the recovery module to fix this
{
"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"
}
All the menu screenshots are HERE They are of the version before the font was fixed. I will update these when I get the time.
Credits To.
@carliv Without whom the Recovery would not have been possible so hit his THANKS button at the very least or better still buy him a coffee Here
@yuweng For his continued support and Advice Thanks bro :highfive:
@rua1 For his awesome DroidTools that saves everyone this headache if their device is lucky enough to be supported Please come back!! :laugh:
There are so many more people that should be mentioned but I would run out of thread so to all who have helped and educated MANY THANKS
It should go without saying all is at your own risk and I take No, None, Zero, Nada, Zip, Responsibility.
SPFlashtool and Recovey are powerful tools and can either revive your phones or kill them forever so you have been warned. !!!!!
Regards bigrammy.
Guys PLEASE!! do not post my links on other websites or forums This is only so that the proper people get the credit and support is available for the user. It is just as easy to post a link to this thread HERE My links are spam free and I earn zero money from them so why do it :silly:
TWRP LOLLIPOP VERSION v2.8.7.0
HERE
Hit Thanks before you leave.
Recovery
New CWM Recovery is now ported to the p6000.
It's the None Touch Versions and I ported it over from the mt6595 version made by carliv :angel: over Here so full credit goes to him for his Awesome work.
The recovery supports Aroma File Manager also so get over to carliv's thread for the Aroma File Manager zip and hit his THANKS button because without him we would still be stuck with zero support. Link to Aroma FM and all information about how to use it and install Aroma FM is in the thread there so read it please. Again Here
Use google first then ask if not sure.
Post any questions in the Q&A's at the top of this thread.
Here is the recovery Removed see OP
Use the normal ways to install it. adb, spflashtool, If rooted just get the flashify.apk https://play.google.com/store/apps/details?id=com.cgollner.flashify
Thanks and enjoy!!!
TWRP is HERE!!!! YEEEHAAA
Well at long last we have working TOUCH Recovery
First we must thank all the dev's who have spent many many many Hours and Days trying to fix this problem thats confounded the best of us @carliv @yuweng @codelover @Santhosh M @BachMinuetInG @HypoTurtle
The eventual fix came by way of @NiksSkersts and @yuweng who are working on the P6000 sister/rebranded phone the "Just5 Blaster" Thread Here Please visit and hit his thanks button Also Go HERE and Hit yuweng's Thanks Button for all his work he never gave up trying to fix our problem
All those listed need to be Thanked at the very least EVERYONE!!!
In the end the problem was with the KERNEL or the drivers for the kernel anyway the Just5 Kernel works fine for our recovery needs :good:
I have used a Early carliv TWRP test build for the first release I have had to make quite a lot of changes to the init.rc fstab etc as it was just a test build carliv made to see if the touch could be made to work So go over to @carliv thread and hit his THANKS Button or buy him a coffee because as said none of this would be possible without him :angel:
Quick Note: These are all based on KK so far Android L is still a work in progress
TWRP V2 Now added:
Fixes:
1, Added Custom Partition to Mounts/Backup :good:
Tips:
1. To prevent problems when data_sd and external_sd are mounted to the PC goto TWRP settings/screen and uncheck the sleep function so the screen does not sleep this will ensure a stable connections
2. To view your Internal_SD on device using the TWRP File Manager in Advanced make sure Data is Mounted then got to /data/media/0 you will now see all your internal_sd files so can edit copy etc on device.
3. Performing Backups with TWRPV2 . When you backup large partitions like Data or System PLEASE make sure to only select 1 one partition at a time to backup. You can select multipule small ones like boot, recovery, nvram and they will all backup fine but for some reason System and Data must be done one at a time on their own!!
Please verify any previous backups you have made.
You can double check them by moving the system/data.ext4.win file to your pc then rename it system/data.tar and use winrar to view the files inside. Rename it back to the ext4.win to use with twrp again.
TWRPV2 HERE
More Choice bigrammy I hear you say Well here you go all in one HIT!!
These are all the work of @carliv and have been compiled by him for the P6000 so make sure you thank him PLEASE!!!
I have not had time to test them all to destruction but I am sure they will be fine Enjoy!!
Carliv Touch Recovery V3.0 HERE
PhilzP6000 by Carliv Here
Carliv CWM V2 Touch Kernel Here Same as in the OP but with touch working
TWRP V2 Screenies
Here is the PhilzJust5 made by @yuweng and @NiksSkersts I confirm it works on our phone too but again not fully test by me Philz Recovery Here
TWRP Screenies here HAPPY BACKUPS EVERYONE!! & Dont forget hit the thanks button for all involved and me too
Ok, i m a noob with Mtk devices..but i've experience on modding with other android phone..... proc/partinfo give me the same result on partion size ecc...
but
Only one thing I did not understand,
I have to connect the device without a battery, right?
Connecting the device without battery, despite having installed the drivers Vcom, I see that the device is recognized for 2 seconds then disconnects automatically, then again recognized .. is this normal behavior?
thx for your work :good::good:
enr88 said:
Ok, i m a noob with Mtk devices..but i've experience on modding with other android phone..... proc/partinfo give me the same result on partion size ecc...
but
Only one thing I did not understand,
I have to connect the device without a battery, right?
Connecting the device without battery, despite having installed the drivers Vcom, I see that the device is recognized for 2 seconds then disconnects automatically, then again recognized .. is this normal behavior?
thx for your work :good::good:
Click to expand...
Click to collapse
I Missed your post
In Future please use the Q&A bro just read the OP above.
To answer your question: When the progress bar in flashtool turns red put in your battery quickly I have mine ready and just slightly away from the contacts.
When done it will now hold it on until the end of the read backs.
I will copy this to the Q&A HERE
New ft rom available, r. 8.4 9th january
http://bbs.elephone.hk/forum.php?mod=viewthread&tid=2026#lastpost
bigrammy, i note that backup from cwm creates file size of boot, recovery of about 12Mb , have you tried to restore?
also another issue is that the backup folder is not in external sd, but in internal memory!
Thanks
megthebest said:
New ft rom available, r. 8.4 9th january
http://bbs.elephone.hk/forum.php?mod=viewthread&tid=2026#lastpost
bigrammy, i note that backup from cwm creates file size of boot, recovery of about 12Mb , have you tried to restore?
also another issue is that the backup folder is not in external sd, but in internal memory!
Thanks
Click to expand...
Click to collapse
12MB? sure it's not 16MB (full partition size)...
@bigrammy in int.rc of the Carliv recovery doing this:
on init
export PATH /sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
export ANDROID_ROOT /system
export ANDROID_DATA /data
export EXTERNAL_STORAGE /storage/sdcard1
export SECONDARY_STORAGE /storage/sdcard0
symlink /system/etc /etc
symlink /data/media/0 /storage/sdcard0should switch it so that internal sdcard (/data/media/0) and external sd card switch places so that backup is added to removable card - only downside being it may not boot if there's no sdcard present.
HypoTurtle said:
12MB? sure it's not 16MB (full partition size)...
@bigrammy in int.rc of the Carliv recovery doing this:
on init
export PATH /sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
export ANDROID_ROOT /system
export ANDROID_DATA /data
export EXTERNAL_STORAGE /storage/sdcard1
export SECONDARY_STORAGE /storage/sdcard0
symlink /system/etc /etc
symlink /data/media/0 /storage/sdcard0should switch it so that internal sdcard (/data/media/0) and external sd card switch places so that backup is added to removable card - only downside being it may not boot if there's no sdcard present.
Click to expand...
Click to collapse
My boot.img backup size is 16mb (16,777,216 bytes) to be exact bro so not sure what's happened with yours
Did you use the stock scatter for a backup or flash? maybe double check your partition sizes on the phone /proc/partinfo
As for the storage problem i am working on this right now
I am full of cold so I don't think my brain is working properly :crying:
We have some strange paths for the cards and I am struggling to define them correctly so all works as it should.
In recovery we should be able to view our sdcard when plugged into the PC with the USB cable
I am not 100% sure if we have emulated or none emulated internal sdcard even.
This Elephone ROM is very poor with none existant files :crying: making my job even harder eg: the stock fstab's says the internal sd card is at [email protected] which does not exist
Even the paths are not correctly defined so it's a process of trial and error.
I don't wish to bother @carliv until I am 100% sure I can go no further .
For now the recovery does what it's supposed to do which is backup and flash all though it's to and from the internal sd
I am back at work tomorrow so no further debugging for 4 days from me.
You're more than welcome to have a go at fixing it if you wish just be sure to give carliv the credit :good:
bigrammy said:
This Elephone ROM is very poor with none existant files :crying: making my job even harder eg: the stock fstab's says the internal sd card is at [email protected] which does not exist
Even the paths are not correctly defined so it's a process of trial and error.
Click to expand...
Click to collapse
Ah, thought the fstab was taken from the boot.img, my mistake... Still waiting on mine to arrive (3 weeks and counting), will wait til then before attempting anything. Regarding the fstab it's actually /devices/mtk-msdc.0/11230000.MSDC0 that is claimed to be the internal sdcard, not quite sure how it can be it's own partition though, anyone care to post the outcome of mount and df?
Edit. The internal sdcard is set by the service sdcard in init.ssd_nomuser.rc
service sdcard /system/bin/sdcard -u 1023 -g 1023 -d /data/media /storage/sdcard0
class late_startnot sure if the fstab lines are an error or are used while in (adv)meta mode or something.
HypoTurtle said:
Ah, thought the fstab was taken from the boot.img, my mistake... Still waiting on mine to arrive (3 weeks and counting), will wait til then before attempting anything. Regarding the fstab it's actually /devices/mtk-msdc.0/11230000.MSDC0 that is claimed to be the internal sdcard, not quite sure how it can be it's own partition though, anyone care to post the outcome of mount and df?
Edit. The internal sdcard is set by the service sdcard in init.ssd_nomuser.rc
service sdcard /system/bin/sdcard -u 1023 -g 1023 -d /data/media /storage/sdcard0
class late_startnot sure if the fstab lines are an error or are used while in (adv)meta mode or something.
Click to expand...
Click to collapse
:laugh: Yeah thats what I thought too
/devices/mtk-msdc.0/11230000.MSDC0 the path seems not to be correct according to what I have on the phone itself which is /sys/devices/mtk-msdc.0/11230000.MSDC0/
and for the other card is /sys/devices/mtk-msdc.0/11240000.MSDC1/ ?/??? maybe we need to drill down further as I see in some of carliv examples it goes to /mmc_host/mmc0 1 for MSDC1
I have drilled all the way down and can confirm on 11230000.MSDC0 = Type = MMC and for 11240000.MSDC1 = Type = SD so I guess these are the correct ones
Your Thoughts Welcome.
bigrammy said:
:laugh: Yeah thats what I thought too
/devices/mtk-msdc.0/11230000.MSDC0 the path seems not to be correct according to what I have on the phone itself which is /sys/devices/mtk-msdc.0/11230000.MSDC0/
and for the other card is /sys/devices/mtk-msdc.0/11240000.MSDC1/ ?/??? maybe we need to drill down further as I see in some of carliv examples it goes to /mmc_host/mmc0 1 for MSDC1
I have drilled all the way down and can confirm on 11230000.MSDC0 = Type = MMC and for 11240000.MSDC1 = Type = SD so I guess these are the correct ones
Your Thoughts Welcome.
Click to expand...
Click to collapse
TCL Meme da 3N M2M MT6752
Cofface recovery
/devices/mtk-msdc.0/11240000.MSDC1 auto vfat defaults voldmanaged=sdcard1:auto
Recovery here
hanuma said:
TCL Meme da 3N M2M MT6752
Cofface recovery
/devices/mtk-msdc.0/11240000.MSDC1 auto vfat defaults voldmanaged=sdcard1:auto
Recovery here
Click to expand...
Click to collapse
Thanks bro I will check how he has defined things. Is it in english do you know? It maybe easier to port this. :laugh:
bigrammy said:
:laugh: Yeah thats what I thought too
/devices/mtk-msdc.0/11230000.MSDC0 the path seems not to be correct according to what I have on the phone itself which is /sys/devices/mtk-msdc.0/11230000.MSDC0/
and for the other card is /sys/devices/mtk-msdc.0/11240000.MSDC1/ ?/??? maybe we need to drill down further as I see in some of carliv examples it goes to /mmc_host/mmc0 1 for MSDC1
I have drilled all the way down and can confirm on 11230000.MSDC0 = Type = MMC and for 11240000.MSDC1 = Type = SD so I guess these are the correct ones
Your Thoughts Welcome.
Click to expand...
Click to collapse
My thinking is that perhaps the /devices/mtk-msdc.0/11230000.MSDC0 is for use with META mode as it points to a device rather than a partition, i.e. the whole NAND memory. Not 100% about that... it doesn't make much sense that META mode is controlled by boot.img but that seems to be the case (~ half the .rc's are for meta mode (factory and meta ones)), which would mean that a bad boot.img flash (and recovery.img), would result in a true brick - there isn't a mask mode/drivers for
MTK afaik.
HypoTurtle said:
My thinking is that perhaps the /devices/mtk-msdc.0/11230000.MSDC0 is for use with META mode as it points to a device rather than a partition, i.e. the whole NAND memory. Not 100% about that... it doesn't make much sense that META mode is controlled by boot.img but that seems to be the case (~ half the .rc's are for meta mode (factory and meta ones)), which would mean that a bad boot.img flash (and recovery.img), would result in a true brick - there isn't a mask mode/drivers for
MTK afaik.
Click to expand...
Click to collapse
@hanuma
The cofface recovery is a e3 recovery and yes it seems that a lot of meta stuff is in there too.
The meta stuff is probably to accommodate OTA updates maybe (Just a guess )
I think we should be able to define things how we want.......
cofface has this for one of the volds.
Code:
/devices/platform/mt_usb auto auto defaults voldmanaged=usbdisk:auto
Here are the full readouts. mount, df, etc for your info.
Code:
[email protected]_e:/ # mount
mount
rootfs / rootfs ro,seclabel,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
none /acct cgroup rw,relatime,cpuacct 0 0
none /sys/fs/cgroup tmpfs rw,seclabel,relatime,mode=750,gid=1000 0 0
tmpfs /mnt/secure tmpfs rw,seclabel,relatime,mode=700 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/mtk-msdc.0/by-name/system /system ext4 ro,seclabel,relatime,data=ordered 0 0
/dev/block/platform/mtk-msdc.0/by-name/userdata /data ext4 rw,seclabel,nosuid,nodev,noatime,discard,noauto_da_alloc,data=ordered
0 0
/dev/block/platform/mtk-msdc.0/by-name/cache /cache ext4 rw,seclabel,nosuid,nodev,noatime,discard,noauto_da_alloc,data=ordered 0
0
/dev/block/platform/mtk-msdc.0/by-name/protect1 /protect_f ext4 rw,seclabel,nosuid,nodev,noatime,nodelalloc,noauto_da_alloc,comm
it=1,data=ordered 0 0
/dev/block/platform/mtk-msdc.0/by-name/protect2 /protect_s ext4 rw,seclabel,nosuid,nodev,noatime,nodelalloc,noauto_da_alloc,comm
it=1,data=ordered 0 0
/dev/block/loop0 /mnt/cd-rom iso9660 ro,relatime 0 0
/dev/customimg /custom ext4 rw,seclabel,relatime,data=ordered 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
/dev/fuse /storage/sdcard1 fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
/dev/block/vold/179:129 /mnt/media_rw/sdcard0 vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=00
07,allow_utime=0020,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:129 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,al
low_utime=0020,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/fuse /storage/sdcard0 fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
[email protected]_e:/ #
[email protected]_e:/ # ls -la /dev/block/mmcblk*
ls -la /dev/block/mmcblk*
brw-rw---- root system 179, 0 2015-01-26 17:24 mmcblk0
brw-rw---- root system 179, 32 2015-01-26 17:24 mmcblk0boot0
brw------- root root 179, 64 2015-01-26 17:24 mmcblk0boot1
brw-rw---- root system 179, 1 2015-01-26 17:24 mmcblk0p1
brw-rw---- root system 179, 10 2015-01-26 17:24 mmcblk0p10
brw-rw---- root system 179, 11 2015-01-26 17:24 mmcblk0p11
brw------- root root 179, 12 2015-01-26 17:24 mmcblk0p12
brw------- root root 179, 13 2015-01-26 17:24 mmcblk0p13
brw------- root root 179, 14 2015-01-26 17:24 mmcblk0p14
brw------- root root 179, 15 2015-01-26 17:24 mmcblk0p15
brw------- root root 179, 16 2015-01-26 17:24 mmcblk0p16
brw------- root root 179, 17 2015-01-26 17:24 mmcblk0p17
brw------- root root 179, 18 2015-01-26 17:24 mmcblk0p18
brw------- root root 179, 19 2015-01-26 17:24 mmcblk0p19
brw-rw---- root system 179, 2 2015-01-26 17:24 mmcblk0p2
brw------- root root 179, 20 2015-01-26 17:24 mmcblk0p20
brw------- root root 179, 3 2015-01-26 17:24 mmcblk0p3
brw------- root root 179, 4 2015-01-26 17:24 mmcblk0p4
brw-rw---- root system 179, 5 2015-01-26 17:24 mmcblk0p5
brw------- root root 179, 6 2015-01-26 17:24 mmcblk0p6
brw-r----- root system 179, 7 2015-01-26 17:24 mmcblk0p7
brw-rw---- root system 179, 8 2015-01-26 17:24 mmcblk0p8
brw-r----- root system 179, 9 2015-01-26 17:24 mmcblk0p9
brw------- root root 179, 96 2015-01-26 17:24 mmcblk0rpmb
brw------- root root 179, 128 2015-01-26 17:24 mmcblk1
brw------- root root 179, 129 2015-01-26 17:24 mmcblk1p1
brw------- root root 179, 130 2015-01-26 17:24 mmcblk1p2
[email protected]_e:/ #
[email protected]_e:/ # df
df
Filesystem Size Used Free Blksize
/dev 958.1M 128.0K 958.0M 4096
/sys/fs/cgroup 958.1M 12.0K 958.1M 4096
/mnt/secure 958.1M 0.0K 958.1M 4096
/mnt/asec 958.1M 0.0K 958.1M 4096
/mnt/obb 958.1M 0.0K 958.1M 4096
/system 1.2G 951.9M 318.9M 4096
/data 12.5G 1.8G 10.7G 4096
/cache 105.3M 712.0K 104.6M 4096
/protect_f 4.8M 56.0K 4.8M 4096
/protect_s 4.8M 116.0K 4.7M 4096
/mnt/cd-rom 1.2M 1.2M 0.0K 2048
/custom 290.6M 45.5M 245.1M 4096
/storage/sdcard1 12.5G 1.8G 10.6G 4096
/mnt/media_rw/sdcard0 25.0G 4.2G 20.8G 32768
/mnt/secure/asec 25.0G 4.2G 20.8G 32768
/storage/sdcard0 25.0G 4.2G 20.8G 32768
[email protected]_e:/ #
[email protected]_e:/ # ls -al /dev/block/platform/mtk-msdc.0/by-name
ls -al /dev/block/platform/mtk-msdc.0/by-name
lrwxrwxrwx root root 2010-01-01 08:03 boot -> /dev/block/mmcblk0p7
lrwxrwxrwx root root 2010-01-01 08:03 cache -> /dev/block/mmcblk0p18
lrwxrwxrwx root root 2010-01-01 08:03 custom -> /dev/block/mmcblk0p12
lrwxrwxrwx root root 2010-01-01 08:03 expdb -> /dev/block/mmcblk0p13
lrwxrwxrwx root root 2010-01-01 08:03 flashinfo -> /dev/block/mmcblk0p20
lrwxrwxrwx root root 2010-01-01 08:03 lk -> /dev/block/mmcblk0p6
lrwxrwxrwx root root 2010-01-01 08:03 logo -> /dev/block/mmcblk0p11
lrwxrwxrwx root root 2010-01-01 08:03 metadata -> /dev/block/mmcblk0p16
lrwxrwxrwx root root 2010-01-01 08:03 nvram -> /dev/block/mmcblk0p2
lrwxrwxrwx root root 2010-01-01 08:03 para -> /dev/block/mmcblk0p10
lrwxrwxrwx root root 2010-01-01 08:03 proinfo -> /dev/block/mmcblk0p1
lrwxrwxrwx root root 2010-01-01 08:03 protect1 -> /dev/block/mmcblk0p3
lrwxrwxrwx root root 2010-01-01 08:03 protect2 -> /dev/block/mmcblk0p4
lrwxrwxrwx root root 2010-01-01 08:03 recovery -> /dev/block/mmcblk0p8
lrwxrwxrwx root root 2010-01-01 08:03 seccfg -> /dev/block/mmcblk0p5
lrwxrwxrwx root root 2010-01-01 08:03 secro -> /dev/block/mmcblk0p9
lrwxrwxrwx root root 2010-01-01 08:03 system -> /dev/block/mmcblk0p17
lrwxrwxrwx root root 2010-01-01 08:03 tee1 -> /dev/block/mmcblk0p14
lrwxrwxrwx root root 2010-01-01 08:03 tee2 -> /dev/block/mmcblk0p15
lrwxrwxrwx root root 2010-01-01 08:03 userdata -> /dev/block/mmcblk0p19
Things to do:
1. Make external_sd = mmcblk1p1 = sdcard0 default for the backups.
2. add sd_ext = mmcblk1p2 to backup options
3. Get sdcard1 defined as internal_sd
4. Mount Both if possible to upon connection to PC . (If only one then external_sd is preferred by me) Thoughts welcome on this.
5. I really need sleep !!!! lol
bigrammy said:
@hanuma
The cofface recovery is a e3 recovery and yes it seems that a lot of meta stuff is in there too.
The meta stuff is probably to accommodate OTA updates maybe (Just a guess )
Things to do:
1. Make external_sd = mmcblk1p1 = sdcard0 default for the backups.
2. add sd_ext = mmcblk1p2 to backup options
3. Get sdcard1 defined as internal_sd
4. Mount Both if possible to upon connection to PC . (If only one then external_sd is preferred by me) Thoughts welcome on this.
5. I really need sleep !!!! lol
Click to expand...
Click to collapse
Could be for FOTA I suppose... tried to look though /system/bin/fotabinder; but couldn't see much other than a reboot call.
/devices/platform/mt_usb is a usb device I believe (usb drive attached to microusb).
So for reference.
From boot.img
External SDcard
/dev/block/vold/179:129 /mnt/media_rw/sdcard0 vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=00
/mnt/media_rw/sdcard0 25.0G 4.2G 20.8G 32768
/storage/sdcard0 25.0G 4.2G 20.8G 32768
Internal SDcard (data/media)
/dev/fuse /storage/sdcard1 fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
/data 12.5G 1.8G 10.7G 4096
/storage/sdcard1 12.5G 1.8G 10.6G 4096
These are set in ramdisk.
fstab (unsure if used for normal boot - but might be used by vold)
Code:
/devices/mtk-msdc.0/11230000.MSDC0 auto vfat defaults voldmanaged=sdcard0:[email protected],noemulatedsd
/devices/mtk-msdc.0/11240000.MSDC1 auto vfat defaults voldmanaged=sdcard1:auto
Bits and pieces from .rc's
Code:
on post-fs-data
# we will remap this as /mnt/sdcard with the sdcard fuse tool
mkdir /data/media 0770 media_rw media_rw
chown media_rw media_rw /data/media
on init
export PATH /sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
export LD_LIBRARY_PATH /vendor/lib:/system/lib:/custom/lib
export ANDROID_BOOTLOGO 1
export ANDROID_ROOT /system
export ANDROID_ASSETS /system/app
export ANDROID_DATA /data
export ANDROID_STORAGE /storage
export ASEC_MOUNTPOINT /mnt/asec
export LOOP_MOUNTPOINT /mnt/obb
export BOOTCLASSPATH /system/framework/core.jar:/system/framework/conscrypt.jar:/system/framework/okhttp.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/framework2.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/webviewchromium.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-tablet.jar:/system/framework/dolby_ds.jar
export BOOTCLASSPATH_EX /system/framework/mediatek-op.jar
mkdir /mnt/media_rw/sdcard0 0700 media_rw media_rw
mkdir /mnt/media_rw/sdcard1 0700 media_rw media_rw
mkdir /storage/sdcard0 0700 root root
mkdir /storage/sdcard1 0700 root root
export EXTERNAL_STORAGE /storage/sdcard0
# Support legacy paths
symlink /storage/sdcard0 /sdcard
symlink /storage/sdcard0 /mnt/sdcard
symlink /storage/sdcard1 /mnt/sdcard2
on fs
mount_all /fstab
setprop ro.crypto.fuse_sdcard true
service sdcard /system/bin/sdcard -u 1023 -g 1023 -d /data/media /storage/sdcard0
class late_start
service fuse_sdcard0 /system/bin/sdcard -u 1023 -g 1023 -d /mnt/media_rw/sdcard0 /storage/sdcard0 <<<
class late_start <<<
disabled <<<
<<< These two are disabled
service fuse_sdcard1 /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d /mnt/media_rw/sdcard1 /storage/sdcard1 <<<
class late_start <<<
disabled <<<
on boot
chown root /remount.sh <<<
chmod 700 /remount.sh <<< Not sure why this is here
exec /remount.sh <<<
service met_log_d /system/bin/met_log_d
class main
# Refer to http://source.android.com/devices/tech/storage/index.html
# It said, "Starting in Android 4.4, multiple external storage devices are surfaced to developers through
# Context.getExternalFilesDirs(), Context.getExternalCacheDirs(), and Context.getObbDirs().
# External storage devices surfaced through these APIs must be a semi-permanent part of the device (such as an SD card slot in a battery compartment).
# Developers expect data stored in these locations to be available over long periods of time."
# Therefore, if the target has the SD card slot in a battery compartment, we need to specify SECONDARY_STORAGE (*** UN-Comment the following command ***)
#
# export SECONDARY_STORAGE /storage/sdcard1
From recovery.img
init.rc
Code:
on init
export PATH /sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
export ANDROID_ROOT /system
export ANDROID_DATA /data
export EXTERNAL_STORAGE /storage/sdcard0
export SECONDARY_STORAGE /storage/sdcard1
symlink /system/etc /etc
symlink /data/media/0 /storage/sdcard0
mkdir /mnt/media_rw/sdcard1 0700 media_rw media_rw
mkdir /storage/sdcard1 0700 root root
symlink /storage/sdcard1 /mnt/sdcard2
on boot
service vold /sbin/minivold
socket vold stream 0660 root mount
ioprio be 2
seclabel u:r:recovery:s0
# virtual sdcard daemon running as media_rw (1023)
service fuse_sdcard1 /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d /mnt/media_rw/sdcard1 /storage/sdcard1
class late_start
disabled
fstab (line probably not used by recovery)
Code:
/devices/platform/mtk-msdc.1/mmc_host/mmc1 auto auto defaults voldmanaged=sdcard1:auto
Well, I came here by chance and saw you've ported a recovery
Good to see this. Bad that those guys from taiwan101 or so, didn't keep my credential in recovery.
I helped SevenMaxs to solve mounting both sdcards in his device (a mt6752) and that one has same sdcard paths. So if you replace this:
Code:
/devices/platform/mtk-msdc.1/mmc_host/mmc1 auto auto defaults voldmanaged=sdcard1:auto
with this:
Code:
/devices/mtk-msdc.0/11240000.MSDC1/mmc_host/mmc1 auto auto defaults voldmanaged=sdcard1:auto
in fstab and recovery.fstab it will work (both sdcards not only the internal).
No change in init.rc. I mean on this (which is my solution for mt6595 taken by those guys):
Code:
on init
export PATH /sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
export ANDROID_ROOT /system
export ANDROID_DATA /data
export EXTERNAL_STORAGE /storage/sdcard0
export SECONDARY_STORAGE /storage/sdcard1
symlink /system/etc /etc
symlink /data/media/0 /storage/sdcard0
mkdir /mnt/media_rw/sdcard1 0700 media_rw media_rw
mkdir /storage/sdcard1 0700 root root
symlink /storage/sdcard1 /mnt/sdcard2
on boot
service vold /sbin/minivold
socket vold stream 0660 root mount
ioprio be 2
seclabel u:r:recovery:s0
# virtual sdcard daemon running as media_rw (1023)
service fuse_sdcard1 /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d /mnt/media_rw/sdcard1 /storage/sdcard1
class late_start
disabled
And you should know that you can't switch sdcard0 with sdcard1 (internal with external) in CWM if internal is emulated. As you saw it doesn't have to be defined on fstab at all (if you define it as in stock recovery it won't work), and by default CWM will asign it to sdcard0, and you can't change that. If you want to place backups in external sdcard, just select "backup to /storage/sdcard1" from menu. I guess you are too much used with the "old" cwm, jellybean version with sftab1 Well things are changed now for kitkat using fstab2, and to be honest I don't understand why they did it. Twrp still uses fstab1 and is doing just fine
Later edit: Guys you can't relay on stock recovery or other one based on stock. The CWM works different (no fstab or init.rc from stock recovery will help you). One other thing you should know, if you define the usbdisk or otg or whatever its name is in CWM fstabs, you will loose the USB Mass Storage mounting to PC function, because CWM only allow one USB connection. All these are already explained by me in my thread for porting recoveries, and more exactly in the new guide composed of only with pictures.
carliv said:
Well, I came here by chance and saw you've ported a recovery
in fstab and recovery.fstab it will work (both sdcards not only the internal).
No change in init.rc. I mean on this (which is my solution for mt6595 taken by those guys):
And you should know that you can't switch sdcard0 with sdcard1 (internal with external) in CWM if internal is emulated. As you saw it doesn't have to be defined on fstab at all (if you define it as in stock recovery it won't work), and by default CWM will asign it to sdcard0, and you can't change that. If you want to place backups in external sdcard, just select "backup to /storage/sdcard1" from menu. I guess you are too much used with the "old" cwm, jellybean version with sftab1 Well things are changed now for kitkat using fstab2, and to be honest I don't understand why they did it. Twrp still uses fstab1 and is doing just fine
Later edit: Guys you can't relay on stock recovery or other one based on stock. The CWM works different (no fstab or init.rc from stock recovery will help you). One other thing you should know, if you define the usbdisk or otg or whatever its name is in CWM fstabs, you will loose the USB Mass Storage mounting to PC function, because CWM only allow one USB connection. All these are already explained by me in my thread for porting recoveries, and more exactly in the new guide composed of only with pictures.
Click to expand...
Click to collapse
Thanks for that @carliv ... still waiting for my device to run this recovery was wasn't sure what version CWM it was.
I'm guessing minivold is why you can't simply switch SECONDARY_STORAGE with EXTERNAL_STORAGE... It is a moot point though if as you say "backup to /storage/sdcard1" is there as an option.
Edit. @carliv is the symlink /storage/sdcard1 /mnt/sdcard2 bit right? Or should it be /mnt/sdcard1 ?
HypoTurtle said:
Thanks for that @carliv ... still waiting for my device to run this recovery was wasn't sure what version CWM it was.
I'm guessing minivold is why you can't simply switch SECONDARY_STORAGE with EXTERNAL_STORAGE... It is a moot point though if as you say "backup to /storage/sdcard1" is there as an option.
Edit. @carliv is the symlink /storage/sdcard1 /mnt/sdcard2 bit right? Or should it be /mnt/sdcard1 ?
Click to expand...
Click to collapse
First CWM will check for sdcard0 on fstab to see if matches any defined voldmanaged entry and if it's not it will assume is a data/media sdcard and assign it sdcard (aka storage/sdcard0) path. To change that you need to build the recovery and to do that in source code. I guess all this fuss was started by google when they designed kitkat for their devices without external sdcard.
Yes, /mn/sdcard2 is right for /storage/sdcard1 because /mnt/sdcard (<<<no 0 here) is for /storage/sdcard0 - at least that's in all the phones I saw, but maybe yours is different. If you open the mnt folder with a root explorer do you see any sdcard1 there? That will be a first for me to hear such thing.
carliv said:
First CWM will check for sdcard0 on fstab to see if matches any defined voldmanaged entry and if it's not it will assume is a data/media sdcard and assign it sdcard (aka storage/sdcard0) path. To change that you need to build the recovery and to do that in source code. I guess all this fuss was started by google when they designed kitkat for their devices without external sdcard.
Yes, /mn/sdcard2 is right for /storage/sdcard1 because /mnt/sdcard (<<<no 0 here) is for /storage/sdcard0 - at least that's in all the phones I saw, but maybe yours is different. If you open the mnt folder with a root explorer do you see any sdcard1 there? That will be a first for me to hear such thing.
Click to expand...
Click to collapse
Would I be right in thinking then that the backup location is hardcoded in the recovery to something like /storage/sdcard0? I was thinking that it might have been backup => $EXTERNAL_STORAGE (if that's even possible) so that a simple switch external/secondary in init.rc would point the backup to /storage/sdcard1 instead, it's been a while since I've compiled anything, might poke through the code though.
HypoTurtle said:
Would I be right in thinking then that the backup location is hardcoded in the recovery to something like /storage/sdcard0? I was thinking that it might have been backup => $EXTERNAL_STORAGE (if that's even possible) so that a simple switch external/secondary in init.rc would point the backup to /storage/sdcard1 instead, it's been a while since I've compiled anything, might poke through the code though.
Click to expand...
Click to collapse
This is only for phones with internal sdcard on data/media. If you have a phone with internal sdcard as a "fat" partition (as I do) you can switch them as much as you like, but not from EXTERNAL and SECONDARY storage; it has to be done in fstabs switching voldmanaged:sdcard0 to external and sdcard1 to internal. In kitkat cwm those defines EXTERNAL and SECONDARY STORAGE can be removed and the recovery will work, or you can let only EXTERNAL to sdcard as in CWM official init.rc. The reason I added those modifications, including mnt/sdcards and other from init.rc was for USB Mass Storage mount to PC. Stock CWM init.rc will work with right fstabs but on connecting to PC it will mount only the external sdcard; my modds make it possible to mount both sdcards.