Alright so here's the deal, my internal SDCARD is corrupted and the /data partition is unusable.
My device is i9003 and it's running on MIUI at the moment. By default MIUI didn't detect my external SD or my internal SD but after editing "vold.fstab" I was able to mount the first partition of my external SDCARD as external memory and everything was good, I could finally use the camera and pretty much do everything else.
But I was still unable to mount the second partition of my external SDCARD as my internal memory which meant none of my messages could be saved and the phone would pretty much go back to factory settings after a reboot, this apparently is because the /data partition (present on the internal memory) stores all the user data such as the time, the theme I'm using, etc and not having a /data partition meant none of these settings were really saved.
Having no internal memory also means I cannot install any apps such as Link2SD.
Moving on, after many hours of googling I found out that it might not be possible to mount the internal memory using "vold.fstab" and the only way to do it could be by mounting the memory manually during init.
So here's what I want again, I want to use the second partition of my external SDCARD as internal memory, this is likely to solve all my problems and make my phone usable again.
Thanks for all the help, appreciate it.
You need to edit /init.rc (or init.vendor.rc). To make the edits here stay, you'll need to create a new boot.img to flash your device with.
Have a look at an extract of mine init.<vendor>.rc:
Code:
on fs
# mount mtd partitions
# Mount /system rw first to give the filesystem a chance to save a checkpoint
#mount yaffs2 [email protected] /system
#mount yaffs2 [email protected] /system ro remount
# Use below two lines instead of above to run /system from SDcard instead of internal flash
mount ext3 /dev/block/mmcblk0p3 /system
mount ext3 /dev/block/mmcblk0p3 /system ro remount
#mount yaffs2 [email protected] /data nosuid nodev
mount ext3 /dev/block/mmcblk0p4 /data nosuid nodev
mount yaffs2 [email protected] /cache nosuid nodev
Compare the lines I've commented out with the others. Here both /data and /system resides on the SDcard, you only need to care about /data. Also remember your device nodes may not be named "mmcblk0p3" etc.
But you'll need to make those changes in the initramfs in your flashed boot.img to make them stay.
kuisma said:
You need to edit /init.rc (or init.vendor.rc). To make the edits here stay, you'll need to create a new boot.img to flash your device with.
Have a look at an extract of mine init.<vendor>.rc:
Code:
on fs
# mount mtd partitions
# Mount /system rw first to give the filesystem a chance to save a checkpoint
#mount yaffs2 [email protected] /system
#mount yaffs2 [email protected] /system ro remount
# Use below two lines instead of above to run /system from SDcard instead of internal flash
mount ext3 /dev/block/mmcblk0p3 /system
mount ext3 /dev/block/mmcblk0p3 /system ro remount
#mount yaffs2 [email protected] /data nosuid nodev
mount ext3 /dev/block/mmcblk0p4 /data nosuid nodev
mount yaffs2 [email protected] /cache nosuid nodev
Compare the lines I've commented out with the others. Here both /data and /system resides on the SDcard, you only need to care about /data. Also remember your device nodes may not be named "mmcblk0p3" etc.
But you'll need to make those changes in the initramfs in your flashed boot.img to make them stay.
Click to expand...
Click to collapse
Thanks for the reply man, mind telling me the how I can go about doing this?, I've got the ROM I flashed via CWM here with me, I could send it over to you if that would make things easier for you.
EDIT: would pulling init.rc via ADB, making the changes and pushing it back do the trick? or do I have to go for the boot.img? In case it's the latter, I'm going to need help doing it.
PhantomPhreek said:
Thanks for the reply man, mind telling me the how I can go about doing this?, I've got the ROM I flashed via CWM here with me, I could send it over to you if that would make things easier for you.
Click to expand...
Click to collapse
You'll find a good tutorial about how to work with boot images here: http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images
If you already got the ROM in a file, this should be easy! Got ADB and FASTBOOT as well?
kuisma said:
You'll find a good tutorial about how to work with boot images here: http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images
If you already got the ROM in a file, this should be easy! Got ADB and FASTBOOT as well?
Click to expand...
Click to collapse
I'm not sure I've got FASTBOOT but I've definitely got ADB and I've also got the ROM. Would pulling init.rc via ADB, making the changes and pushing it back do the trick? or do I have to go for the boot.img?.
PhantomPhreek said:
I'm not sure I've got FASTBOOT but I've definitely got ADB and I've also got the ROM. Would pulling init.rc via ADB, making the changes and pushing it back do the trick? or do I have to go for the boot.img?.
Click to expand...
Click to collapse
No. You need to reboot the phone for the init.rc script to execute, and once you reboot the phone, the root file system is overwritten by the flashed image ... Catch 22.
You'll NEED to create a new boot.img with a new initramfs containing your changes.
kuisma said:
No. You need to reboot the phone for the init.rc script to execute, and once you reboot the phone, the root file system is overwritten by the flashed image ... Catch 22.
You'll NEED to create a new boot.img with a new initramfs containing your changes.
Click to expand...
Click to collapse
Shucks, this explains why it didn't work. Alright, so I extract boot.img from the rom, follow the tutorial.What is it that I have to edit again? "/init.rc" or "init.<vendor>.rc"?.
Thanks for the help man, appreciate it.
EDIT: Looks like the tutorial is meant for Linux, I'm currently on Windows. I might be asking for a lot here but is there any chance I could get you to do it for me?
PhantomPhreek said:
Shucks, this explains why it didn't work. Alright, so I extract boot.img from the rom, follow the tutorial.What is it that I have to edit again? "/init.rc" or "init.<vendor>.rc"?.
Thanks for the help man, appreciate it.
Click to expand...
Click to collapse
Of course, MIUI may have some boot hooks you could use to re-mount /data after boot. I know nothing about that ROM. Also keep in mind that each time you update the ROM, you have to remake this edit.
Also, no idea what MIUI calls its init.rc, you'll just have to see for yourself. If you've got the mount commands in init.rc, fine. Else look elsewhere.
A good first step would to make sure you really are able to flash a new boot.img. Download fastboot and verify your device understands it. Else you have to use some proprietary flash program, and I'm not familiar with Samsungs bootloaders at all. Ask in the Samsung forum if so.
kuisma said:
Of course, MIUI may have some boot hooks you could use to re-mount /data after boot. I know nothing about that ROM. Also keep in mind that each time you update the ROM, you have to remake this edit.
Also, no idea what MIUI calls its init.rc, you'll just have to see for yourself. If you've got the mount commands in init.rc, fine. Else look elsewhere.
A good first step would to make sure you really are able to flash a new boot.img. Download fastboot and verify your device understands it. Else you have to use some proprietary flash program, and I'm not familiar with Samsungs bootloaders at all. Ask in the Samsung forum if so.
Click to expand...
Click to collapse
Looks like the tutorial is meant for Linux, I'm currently on Windows. I might be asking for a lot here but is there any chance I could get you to do it for me?. ADB and I do see the file init.rc and I also see the mount commands as well. I used adb shell to run the command you sent over with a few edits for second partition and it does mount but as you said, it all goes away after reboot.
PhantomPhreek said:
Looks like the tutorial is meant for Linux, I'm currently on Windows. I might be asking for a lot here but is there any chance I could get you to do it for me?. ADB and I do see the file init.rc and I also see the mount commands as well. I used adb shell to run the command you sent over with a few edits for second partition and it does mount but as you said, it all goes away after reboot.
Click to expand...
Click to collapse
Hmm... are you even able to create a second ext3 partition on the SDcard using Windos..?
kuisma said:
Hmm... are you even able to create a second ext3 partition on the SDcard using Windos..?
Click to expand...
Click to collapse
haha, I used CWM to create the partitions initially, but then I used a software called MiniTool, works well. Can I get you to to do it?
PhantomPhreek said:
Alright so here's the deal, my internal SDCARD is corrupted and the /data partition is unusable.
Click to expand...
Click to collapse
The ROM you are using requires an ext4 partition as partition #3 of the SDcard. This is mounted as /data. Repartition your SDcard #1 as FAT, #2 whatever, and #3 as ext4, and everything will work as intended. :victory:
I guess you've missed this in the ROM documentation ...
kuisma said:
The ROM you are using requires an ext4 partition as partition #3 of the SDcard. This is mounted as /data. Repartition your SDcard #1 as FAT, #2 whatever, and #3 as ext4, and everything will work as intended. :victory:
I guess you've missed this in the ROM documentation ...
Click to expand...
Click to collapse
Wah~ really?, I'll try that and get back here with the results. Thanks a lot!.
EDIT: Is it FAT or FAT32?
PhantomPhreek said:
Wah~ really?, I'll try that and get back here with the results. Thanks a lot!.
EDIT: Is it FAT or FAT32?
Click to expand...
Click to collapse
FAT32.
kuisma said:
FAT32.
Click to expand...
Click to collapse
Tried but didn't work out. I made three partitions, all primary - #1 FAT32, #2 FAT32, #3 EXT4. Plugged the SDCARD in and the external memory was detected as usual, but not the internal memory.
I tried changing the time, it was reset back after reboot.
After that I left the SDCARD as is and flashed the ROM again and now, neither the internal nor the external memory are detected. This is probably because the "vold.fstab" which was edited by me, was overwritten on re flashing.
I'm at a dead end, any ideas?
PhantomPhreek said:
Tried but didn't work out. I made three partitions, all primary - #1 FAT32, #2 FAT32, #3 EXT4. Plugged the SDCARD in and the external memory was detected as usual, but not the internal memory.
I tried changing the time, it was reset back after reboot.
After that I left the SDCARD as is and flashed the ROM again and now, neither the internal nor the external memory are detected. This is probably because the "vold.fstab" which was edited by me, was overwritten on re flashing.
I'm at a dead end, any ideas?
Click to expand...
Click to collapse
Attach an output of "df", "mount", the file "/init.latona.rc" and "/etc/vold.fstab" here, and I'll have a look at it. Hmm... include the output of "dmesg" as well, to be on the safe side.
kuisma said:
Attach an output of "df", "mount", the file "/init.latona.rc" and "/etc/vold.fstab" here, and I'll have a look at it. Hmm... include the output of "dmesg" as well, to be on the safe side.
Click to expand...
Click to collapse
What bugs me is the fact that the external SD is not detected, from what little knowledge I have, external SD is unrelated to the internal SD which I currently have problems with, meaning it should be detected without a problem.
Also I have to add, CWM doesn't detect my external SD right away, when I go to recovery and go over to "Choose zip from sdcard" it says "E:Can't mount /sdcard/". The solution I've found coincidentally is to go to "mounts & storage", mount "/emmc", pull the SDCARD out plug it in again and then "mount /sdcard" this works perfectly and I'm able to flash roms from the sdcard.
One problem at a time, please. Attach the files I requsted, so we can determine why /data failes to mount. Looking at your ROM:
Code:
$ grep " /data$" init.latona.rc
mount ext4 /dev/block/mmcblk0p3 /data
I want to know why this fails, and I guess the answer is in the dmesg output. And please before I'll get another whiskey.
kuisma said:
One problem at a time, please. Attach the files I requsted, so we can determine why /data failes to mount. Looking at your ROM:
Code:
$ grep " /data$" init.latona.rc
mount ext4 /dev/block/mmcblk0p3 /data
I want to know why this fails, and I guess the answer is in the dmesg output. And please before I'll get another whiskey.
Click to expand...
Click to collapse
I can't seem to find "/init.latona.rc" everything else you requested I've mailed them over already
EDIT: the dmesg output is AFTER I mounted "/sdcard" manually as explained in my previous post.
PhantomPhreek said:
I can't seem to find "/init.latona.rc" everything else you requested I've mailed them over already
EDIT: the dmesg output is AFTER I mounted "/sdcard" manually as explained in my previous post.
Click to expand...
Click to collapse
The files you mailed me does not correspond to the ROM you refereed.
The /etc/fstab show that /data is mounted as an rfs file system, not ext4. So either format partition #3 on the sdcard as rfs (Samsung proprietary), or edit /etc/fstab and change "rfs" to "ext4". I'd prefer the later, assuming your kernel supports ext4. Else use ext3.
Code:
/dev/block/mmcblk0p3 /data rfs rw
But you can't have flashed the ROM you told me you did. It excepted an ext4 file system ...
Hey guys, wondering if you could help me. I'm running Jelly Blast V-3.5, with Rafaels Kernel 2.6.35-7 on my S5380i. I've been trying to increase the internal storage on my device by partitioning my 32gb card in CWM with a 1gb ext. I've tried every solution I've found on this forum but I simply cannot get it to mount. Link2sd yields 'invalid argument' no matter where I point it, and when trying to format/mount the ext. in CWM it just says 'apps 2 sd partition not found'.
Here's a list of the things I've tried which have failed to solve this:
Partitioning in minitool, with various sizes and exts, and setting the partition as active.
Flashing conrod script, doesnt seem to be effective.
Script to mount sd-ext at boot, followed iamareebjamal's guide found here http://forum.xda-developers.com/showthread.php?t=1971689
S2E
Mount2SD
I'm completely at a loss, and with the internal storage of the S5380i being what it is, it would be great if anyone could offer me any advice.
Thanks!
do one thing , I'm recovery check if sd-ext is mounted
it used to happen to me that when I flashed new roms I had to mount sd-ext from mounts and storage
so mount it then reboot your phone
go to link2sd and create mount script as ext4
if problem persists , go in storage info of link2sd so see if the partition is mounted
if not you will have to enable auto mount at boot ( if option present in rom ) or mount using terminal emulator
Sent from my GT-S5670 using xda premium
soham jambhekar said:
do one thing , I'm recovery check if sd-ext is mounted
it used to happen to me that when I flashed new roms I had to mount sd-ext from mounts and storage
so mount it then reboot your phone
go to link2sd and create mount script as ext4
if problem persists , go in storage info of link2sd so see if the partition is mounted
if not you will have to enable auto mount at boot ( if option present in rom ) or mount using terminal emulator
Sent from my GT-S5670 using xda premium
Click to expand...
Click to collapse
Thanks for responding.
Attempted to mount in CWM but just receive an error. It's as if the partition isn't there at all. Re-partioned the card but still, no luck.
My rom doesn't have the auto mount at boot option, so it looks I'll have to mount with terminal emulator. Could you run me through the process, or point me towards a guide? Cheers
what error did you get in cwm while mounting ?
yry this line in terminal
mount -o rw /dev/block/
mmcblk0p2 /sd-ext
also is mount2sd file present in your /etc /init.d folder ?
Sent from my GT-S5670 using xda premium
The error in CWM when attempting to mount is: 'Error mounting /sd-ext!'
'mount -o rw /dev/block/mmcblk0p2 /sd-ext' in Terminal Emulator yields the following line: 'Usage: mount [-r] [-w] [-o options] [-t type] device directory'
The mount2sd file is not currently present in my init.d folder as I restored my phone from a backup, though when it has been there, the error in CWM is still the same.
The only difference I have noticed is that when partitioning with MiniTool, Link2SD will say that the partition is not mounted, but when partitioning with CWM it will say that the partition is not found.
galaimo said:
The error in CWM when attempting to mount is: 'Error mounting /sd-ext!'
'mount -o rw /dev/block/mmcblk0p2 /sd-ext' in Terminal Emulator yields the following line: 'Usage: mount [-r] [-w] [-o options] [-t type] device directory'
The mount2sd file is not currently present in my init.d folder as I restored my phone from a backup, though when it has been there, the error in CWM is still the same.
The only difference I have noticed is that when partitioning with MiniTool, Link2SD will say that the partition is not mounted, but when partitioning with CWM it will say that the partition is not found.
Click to expand...
Click to collapse
Did you format ext2 in the secind partition? Normally when you format with cwm, first partition is fat32 and the second partition is ext2. Try to format all available space to 1 partition and using cwm format the card to two part. May be partitioning before makes cwm recognize the wrong part and gives error.
:: Today is the first day of what's left of your life. ::
ChelebiTech said:
Did you format ext2 in the secind partition? Normally when you format with cwm, first partition is fat32 and the second partition is ext2. Try to format all available space to 1 partition and using cwm format the card to two part. May be partitioning before makes cwm recognize the wrong part and gives error.
Click to expand...
Click to collapse
Ensured all the space on card was unallocated and partitioned in CWM recovery.
Attempted to mount /sd-ext again and still receive the following error: 'Error mounting sd-ext!'
Attempted to format /sd-ext and receive the following error: 'No apps2sd partition found. Skipping format of /sd-ext'
Tried so many different ways/combinations of partitions now. Do you think it could be a kernel or rom issue?
galaimo said:
Ensured all the space on card was unallocated and partitioned in CWM recovery.
Attempted to mount /sd-ext again and still receive the following error: 'Error mounting sd-ext!'
Attempted to format /sd-ext and receive the following error: 'No apps2sd partition found. Skipping format of /sd-ext'
Tried so many different ways/combinations of partitions now. Do you think it could be a kernel or rom issue?
Click to expand...
Click to collapse
Make sure you have backed up all your files in your sdcard they will all be deleted and recreated with two partition.
In CWM enter Advanced --> use Partition SD Card
Set your second (ext2/3/4) partition size then set swap to zero (0).
ChelebiTech said:
Make sure you have backed up all your files in your sdcard they will all be deleted and recreated with two partition.
In CWM enter Advanced --> use Partition SD Card
Set your second (ext2/3/4) partition size then set swap to zero (0).
Click to expand...
Click to collapse
This is exactly what I've done, countless times. It simply will not mount. Really struggling to understand this problem.
galaimo said:
This is exactly what I've done, countless times. It simply will not mount. Really struggling to understand this problem.
Click to expand...
Click to collapse
Using a card reader enter your sd card to a computer and test if card has a problem or partitions are correctly created. If your answer is yes you may have a misconfig on your phone. Make sure u have the latest busybox available, have rooted your phone correctly, vs...
Or create your partitions in computer and try...
Ps: I created my partition in Stock Rom. So it must NOT depends on kernel or rom...
ChelebiTech said:
Using a card reader enter your sd card to a computer and test if card has a problem or partitions are correctly created. If your answer is yes you may have a misconfig on your phone. Make sure u have the latest busybox available, have rooted your phone correctly, vs...
Or create your partitions in computer and try...
Ps: I created my partition in Stock Rom. So it must NOT depends on kernel or rom...
Click to expand...
Click to collapse
Partitioned with CWM again. Plugged in to laptop and in MiniTool and this is the result:
galaimo said:
Partitioned with CWM again. Plugged in to laptop and in MiniTool and this is the result:
Click to expand...
Click to collapse
That unallocated space is your problem. Try to create an ext2/3 partion with mini tool. And if minitool gives error than you probably have a defected sd.
And one more suggestion try the cwm in rafaels kernel thread.
Edit: Sorry for cwm use http://forum.xda-developers.com/showthread.php?p=23715776
:: Today is the first day of what's left of your life. ::
ChelebiTech said:
That unallocated space is your problem. Try to create an ext2/3 partion with mini tool. And if minitool gives error than you probably have a defected sd.
And one more suggestion try the cwm in rafaels kernel thread.
Edit: Sorry for cwm use http://forum.xda-developers.com/showthread.php?p=23715776
Click to expand...
Click to collapse
Thanks for taking the time to talk me through this.
Turns out my SD card is defective, swapped for another card and I've now increased my internal storage!
I'll be sending the other one back.
Thank you again for your time :good:
ChelebiTech said:
That unallocated space is your problem. Try to create an ext2/3 partion with mini tool. And if minitool gives error than you probably have a defected sd.
And one more suggestion try the cwm in rafaels kernel thread.
Edit: Sorry for cwm use http://forum.xda-developers.com/showthread.php?p=23715776
:: Today is the first day of what's left of your life. ::
Click to expand...
Click to collapse
Thanks for the link! seems like my CWM wasn't detecting sd-ext.. this fixed!! feared my sd card was ruined.. really thanks a lot!