[Q] ext2 external sdcard automount without a ROM or multiple partitions - Verizon Samsung Galaxy S III

I want my external sdcard to be ext2 (just want it for storing large files and a chroot). I was wondering if anyone has got this working. I've googled (and searched here) and it looks like most like split it up into multiple partitions and use another program to mount it. I have a stock jelly bean rom that has been rooted. I tried looking/messing with the vold.fstab but that doesn't work. Sadly android doesn't have a normal fstab file. *rolls eyse* I can mount it on the phone with CLI but android still complains and I want to automount it. I was curious if any one had any success or knowledge of editing the config/init files to do this.

Related

apps on sd card better way

Is there better way to get applications on sd card. Why are we using ext2 ? We can format sd card and partition it without using pc . We can format it into native supported file system of fat. why are need to make dev when in /dev/block device exist ? we need just to modifiee mounted.conf and /etc/fstab
I think because it's easier to say then to do But if you can make it so easy i love to use youre methode! (newest way is pretty easy, flash modded JF rom and exec a script and you are done: http://forum.xda-developers.com/showthread.php?t=480582)
I would think that you could run into issues with permissions/etc if you tried to use a FAT filesystem to store applications.
About the only advantge of FAT is its ubiquity. In every other regard there is a better solution out there. Ext2 is by far the most widely supported linux filesystem that supports the full POSIX feature set.
simply put FAT32/VFAT is a horid horid filesystem, and does not support unix permissions, symlinks, etc.
EXT2 is a native linux filesystem, supports all of the above and has been time tested as stable.
That said it would be slick to get EXT3 (or 4!) support, or even reiserFS support.... journaling FTW
Well, you could just compile the kernel module, but your flash would probably survive a week with journaling... theres a reason you don't use it on flash.
Flash gets worn down by use, and journaling writes every second... So, journaling FTL.
tritron777 said:
Is there better way to get applications on sd card. Why are we using ext2 ? We can format sd card and partition it without using pc . We can format it into native supported file system of fat. why are need to make dev when in /dev/block device exist ? we need just to modifiee mounted.conf and /etc/fstab
Click to expand...
Click to collapse
the phone is linux .. EXT2 is linux .. FAT does not support proper file permissions and if you wanted to try setting something up feel free .. however .. you mention "native" supported file system and that is linux .. storage on the SD comes standard with FAT file system simply because the phone only uses it to store extra files like MP3 and JPG etc .. applications need a higher level of communication that FAT just cannot handle .. that's why Microsoft gave up on it for windows

[Q] Has anyone found an App to SD solution?

I've looked through the big development thread and haven't found a clear answer but has anyone found an app to sd solution that works?
This stupid SdCard / ExtSdCard arrangement is making me pull my hair out. I just realized my titanium backups weren't really backups since they were being stored on my internal memory.
I managed to change my backup folder and free up some space by moving all my backups to the SD card, but for some reason I cannot move apps to SD through Titanium or any other app I've tried.
Does anyone know how to do this? Is there a setting in titanium I need to change or is this just something we have to deal with forever short of flashing a custom rom?
SDCARD binary
Galahad_Knight said:
I've looked through the big development thread and haven't found a clear answer but has anyone found an app to sd solution that works?
This stupid SdCard / ExtSdCard arrangement is making me pull my hair out. I just realized my titanium backups weren't really backups since they were being stored on my internal memory.
I managed to change my backup folder and free up some space by moving all my backups to the SD card, but for some reason I cannot move apps to SD through Titanium or any other app I've tried.
Does anyone know how to do this? Is there a setting in titanium I need to change or is this just something we have to deal with forever short of flashing a custom rom?
Click to expand...
Click to collapse
I've found the real problem, but not the solution.
My Relay runs ICS. It is rooted, and you have to root to even touch any of this. The phone has a binary, /system/bin/sdcard that controls the internal memory and your SDcard. now, I have found that if you are rooted, you can chmod this binary (or use rooted ES File explorer to remove all executable properties) so that it can no longer run, then reboot. then you can run, as superuser "mount -o rw,bind /mnt/extSdCard /mnt/sdcard"
Seems great... Except vfat doesn't like to be bound in such a fashion, and you quickly lose write access and it starts mangling your files.
vfat just doesn't seem to work for us in this case. I've changed mine back, and reformatted my SDcard to be NTFS and mounted with paragon NTFS/HFS, which has completely stabilized my filesystem. only problem is, I can't get this to mount -o bind worth a damn.
I'm toying with the idea of reformatting my SDCard part vfat and either part NTFS or EXT4. maybe I get get the phone to natively recognize ext4 for the sdcard (even if I have to create a script myself)
keypoints I've found in this process:
1. the sdcard binary only allows access to 1023 files at once on either the SDcard, or the memory block it is using as the SDcard. too many pictures in your gallery? so sorry... can't load them all.
2. the physical device for your sdcard is /dev/block/mmcblk1. the partitions are mmcblk1p* (starting with 1)
3. the phone will not allow the sdcard binary to be killed manually. removing the executable permission and then rebooting the phone seems to be the only way to get it to stop.
4. vfat is prone to errors, and android seems to love screwing with the card. getting off vfat seems to be crucial to this process.
As you've gotten no other replies, and this is a gigantic concern for me as well, I'm going to keep working on this myself, in the hopes that I can get the phone to actually use the SDcard the way we hope it can be used.

SD Card partitioning on MTD ROMs

Hi There
Can someone explain what he\she did to partition SD card, and make all apps get installed on it.
Please note :
1. I don't want to use Titanium backup for this usage. I don't have the paid version and I'm tired of doing this one app at a time.
2. I saw some guides on the net, but they were all for GB.
(partition the microSD on PC using minitool) -can we use ext4 on our MTD ROMs ? What is the 1st partition for ? and the 2nd ?
(install busybox and super user) - Is it still needed ? (MIUI for example has LBE as su).
(install Link2SD) - Is it always in memory ?
(reboot and put partitioned SD card)
(Define Link2SD)
3. I also saw swapper instructions but I can manage with 170MB free RAM memory I get after removing all unnecessary system apps, and I remember ppl saying then that it kills the SDCard very quickly.
If someone has a clear guide or instructions that he knows work, that will be nice.
Thanks in advance.
Step 1. Partition your SD card to have a sd-ext partition. This can definitely be ext2 or FAT16. Anything else depends on your kernel. Most of them do support ext3 and 4, but... start with something fairly basic.
Regarding recoveries:
TWRP has always failed for me on this, so I'd avoid that.
This may be doable in CWM. I've seen reference to that newer versions of CWM removed the partition option, so you might need to flash an ICS ROM with an older kernel, repartition, and then flash back to the one you want.
Also note that if you use CWM to repartition, your SD-card will be wiped. So do a backup first.
Step 2. Install Mounts2SD. Either from XDA or the Play Store. Even if you do take it from the Play Store to get update notifications, I highly suggest grabbing the recovery script from the XDA thread so that you can get back your shifted applications without needing to re-download and install M2SD, since it likes to be on internal which means... shifted off.
Step 3. Open Mounts2SD. Grant SU rights at whatever point it asks for it during step 3. Hit the menu button. Go to Application Settings. Install the Startup Script. Tell it to use the built-in busybox as well, so that you don't need to install anything or worry about it failing. Back out of the Application Settings.
Step 4. Press on the Wrench to go into the actual specific settings. I currently have forced Cache, 1% Storage Threshold, Applications are the only bit moved, the File System Check is on and using the Ext4 Driver, 128KB Deadline for Internal and 4096 with Deadline for External, and Safe Mode is disabled. But decide on what you want yourself, set it, go back to the Eye to see your current info.
Step 5. Reboot.
Step 6. Wait 1-30 minutes for it to finish moving all your stuff around.
Step 7. Unlock your phone, open Mounts2SD, and make sure everything looks pretty on that first 'Eye' info tab. If you like it then close Mounts2SD and keep going on your merry way. If you don't like it or you've done something like offload your data and now your phone is wretchedly slow, go to the Wrench, change your settings, go back to the Eye, and reboot again. Repeat until satisfied.
I thought it would be simplier.
A few more questions:
1. If I partition SD on PC, then I don't need any partitioning on recovery so it should work fine even on TWRP or advanced CWMs. Am I right?
2. Why do I need scripts for? Isn't the app enough?
3. Why should/could it possibly slow down my device? TB 'move to SD' for all doesn't slow my device what so ever.
4. How and where do I see what partition is used for what?
5. How much RAM does the app take?
6. Have you tried other apps link2sd or something CM has built in I think.?
Thanks.
sent from me
New answers to new questions.
1. Skip step 1 if you've done it on your PC. I just suggested recovery as that's easy... if you've made your sd-ext partition on the PC, step 1 is done.
2. No clue on Link2SD. I use Mounts2SD instead since it lets me set things. It probably does the same thing though and sets a init.d script that gets run during startup.
3. True. For some reason though having all your data moved to sd-ext makes our phone go to a crawl. Same if you move off the dalvik.
4. That's in Mounts2SD. No clue how you can see if you're using Link2SD.
5. For Mounts2SD, none while it's being used, since it just runs as a startup script. The app is just to control the script.
6. Not successfully. I had tried 5 or 6 different apps back a year ago or so when I first started playing with sd-ext and Mounts2SD was the best and free, so... never looked back after that. Now you can also do some system-flag tweaking if you want to donate, but the sd-ext stuff is all free.
I was able to successfully partition SD and use mount2sd on 4.3 SlimBean.
however, it was rather slow.
CM 10.1 and CM10.2 by DJL. did not allow me to partition nor did they recognize SlimBean's partition even if I replaced them kernel (to NilTMT).
I'm currently using CM10.1 which is stable as a daily driver and manually swapping apps with TB, I hate it, but this is the best combination I've come so far.
I sold my wife's SGS4G and upgraded her to SGS3 and hopefully in a year I will do the same. it had its moments, but on the bottom line it's a pretty ****ty phone with its lack of internal mem...but hey, it drove so many of us to go deeper and deeper trying to understand and made us more tecnolgical and solution oriented.
Mounts2SD worked for me on CM10.1, so not sure why it failed for you. Ah well.
A few things I have found...
Yes, you can partition on Windows, but you're really asking for trouble. It's not too bad download Ubuntu or the like and you can boot off a USB stick without touching your Windows install.
The TeamAcid kernels that I know of handle ext2/3/4 file systems. All kinds of arguments as to which are better. I personally use ext4 and don't find it obviously "slow" for the way I use my phone.
That said, what the boot scripts (which are part of a flashed "kernel" for the SGS4G) actually do with a "special" partition is another story. In some cases the first stages of booting will look for special partitions and mount them in pre-configured places. For example, the second partition of the removable card might be mounted on /sd-ext/ in many CyanogenMod ROMs. Many (most?) SGS4G ROMs don't have these "special" mount rules defined.
Moving an app to SD using the "native" approach just moves the app and none of its data to the SD card. It won't for example, move 25 MB of mail from /data/data to your microSD
Moving an app to SD (or anywhere else) doesn't keep it from generating its classes in /data/dalvik-cache -- It isn't "free" to have an app on SD as far as internal storage goes, even if it doesn't write any data.
Moving an app to SD will absolutely slow down your boot time. It does it by creating a file that contains a file system that then gets read and mounted at boot time. You can watch the parade of them getting mounted using adb logcat. It can take a minute or two to mount them all. Once mounted, that double layer of file systems shouldn't slow you down too much, since it is basically a read-only kind of thing.
Scripts are required since you need to be able to "fake out" the operating system as to where things are stored for anything (except if you just use the native app to SD method). In most cases you need new partitions mounted before the Android part of the OS starts running.
Some scripts are more robust than others.
TitaniumBackup (paid version) has a way to move data to an external partition. It works like a charm for me (64 GB Sandisk UHS-1 / Class 10 microSD). It was very tweaky for me to get it to recognize the ext4 partition the first time. It can bulk-move app data to the partition. I don't know which, if any, of the other scripts move the data to an external partition.
On my phone, an ext4 file system can be significantly faster than the internal yaffs, especially for write. Alas, it usually seems to be read that is a killer for most things in an well-written app. On my phone, yaffs can be faster than ext4 for short reads. Who knows how this would play out in real-world usage.
Other things that TitaniumBackup can do that help free up internal storage, at least in the paid version, are:
Dalvik cache cleanup
Integrate system Dalvik cache into ROM
Integrate update into ROM
Convert to system app
I can confirm Link2SD works where Mount2SD fails, which is an ext3 partitioned sd-ext on AOKP. it doesn't get any simpler than that.
sent from me

[Q] Replace Internal Data Partition for External SD

Let me start with: I know that there have been many posts on this, but before you get mad, I was unable to find an answer to what I specifically want to do.
For reference: I am a software developer and sysadmin with a decent amount of Linux experience, but not a lot of android specific experience.
Now that the introduction is out of the way:
What I would like to do is completely remove the "USERDATA" partition (the "Internal SD card"), grow the "SYSTEM" partition to fill that space, and then mount my SD Card (external) as the SD Card that the system sees.
I'm currently on Cyanogenmod 10.1 but want to upgrade to 11 soon.
The reason I want to do this is because:
I have all if my apps that I can set to install to SD Card
Both "internal" partitions are full (only about 200MB is available for pictures/etc. and I can no longer update apps)
Camera (and pretty much everything else as well) stores to the Internal SD card by default
If the system partition was 1.1+1.4=2.5GB and all of my apps were "installed" to a real SD card, it would be a lot more comfortable.
So, here's what I am thinking *might* work (maybe not in the right order, though?):
Point the fstab entry for the internal SD card to the external SD card
I have the PIT file. I will delete the "USERDATA " and grow "SYSTEM" to fill the space
When I write it out in steps, it seems pretty simple...
My concerns:
Will a ROM update (to CM11) re-partition back to the old way (and, in the process, break a bunch of stuff)?
I don't ever plan to go back to stock android or change to another ROM (other than upgrades).
Thanks for reading this long post and for any insight you may be able to provide.
--mobrien118
It's a wonderful idea if it works.
Sent from my SAMSUNG-SGH-T769 using xda app-developers app
Modifying partitions is a bit dangerous.
But I have to ask you why do you need another GB of /system storage?
There was a line you can put in the build.prop that flips your ext. SD with the internal one on cm10 I believe.
This'd interest me if I could get rid of usbdisk and sdcard0 merged.
It would need the phone to be repartitioned though, causing issues with the backups and ROMs.
You may even have to compile cm from source.
Its a lot of trouble
Sent from my SAMSUNG-SGH-T769 using Tapatalk
I just did so on S4 Mini with cm-11 Android 4.4.
First I was thinking of using symlinks and/or bind mounts to redirect to the the external sdcard, but that's a bit of a hassle because
1) Since 4.2: both emulated and external storage is mounted with a fuse layer on top not supporting symlinks
2) Since 4.4: no more global write access on external storage
So moving data was the simplest solution. Besides providing (much) more space my sdcard is also around 20% faster in sequential writes: 8.5 MB/s internal vs 10.5 MB/s external. Is it really 2014?
I haven't yet decided what to do with the original data partition, so for the moment I left it unused. Hence I haven't touched the internal partition table.
Quick summary
partition sdcard (gdisk)
I recommend using GPT, this lets you work with partition names rather than numbers. For the sake of still having an "official" external sdcard I made two partitions. Keep in mind that it's usually the first partition which gets automatically mounted as external sdcard. So I made the 2nd partition the new home for data. This partition however has to be manually specified in the ramdisks fstab which involves flashing the boot partition.
format the new partitions (mkfs.ext4)
copy the original /data directory tree to the new data partition
extract initrd from boot.img (abootimg)
extract files from initrd (gunzip & cpio)
replace the /data entry in fstab pointing at your new data partition
re-pack initrd and boot.img (gzip, cpio & abootimg)
flash boot.img onto the boot partition (dd)
If you use recovery, you also have to edit it's fstab (analog to boot.img mentioned above)
done
Alternatively has anyone tried an init.d script? I see those scripts get executed before the mounting of data & sdcard
Meanwhile the original userdata partition got replaced by 3 new partitions: system2, cache2 & userdata2 which are now used for a dual boot ROM.
I've only changed GPT, not PIT. ROMs and Recovery don't use PIT, so as long as Heimdall/Odin isn't involved it should not cause any issues.
Hey guys,
So after read all that, I am also vry interested in what the OP has suggested. I get that the pit doesn't need to be affected, but as the OP asked, when flashing a new rom or updating an existing, would the partition be reformatted back to the way android handles it, ie; back to the system and data seperate and the sdcard not being used as the internal partition?
I am no developer and only have minimal knowledge in linux and android programing, but I am a quick study and any guide to help me sort this would be greatly appreciated.
Also I am about to get a second S4 mini specifcally for doing things like this so if I brick I don't care?
My next question is could it be possible to code the PIT file to do this for you so that you can just flash that through odin, but again would flashing roms affect this.
Cheers,
Sora.
aguaz said:
I just did so on S4 Mini with cm-11 Android 4.4.
First I was thinking of using symlinks and/or bind mounts to redirect to the the external sdcard, but that's a bit of a hassle because
1) Since 4.2: both emulated and external storage is mounted with a fuse layer on top not supporting symlinks
2) Since 4.4: no more global write access on external storage
So moving data was the simplest solution. Besides providing (much) more space my sdcard is also around 20% faster in sequential writes: 8.5 MB/s internal vs 10.5 MB/s external. Is it really 2014?
I haven't yet decided what to do with the original data partition, so for the moment I left it unused. Hence I haven't touched the internal partition table.
Quick summary
partition sdcard (gdisk)
I recommend using GPT, this lets you work with partition names rather than numbers. For the sake of still having an "official" external sdcard I made two partitions. Keep in mind that it's usually the first partition which gets automatically mounted as external sdcard. So I made the 2nd partition the new home for data. This partition however has to be manually specified in the ramdisks fstab which involves flashing the boot partition.
format the new partitions (mkfs.ext4)
copy the original /data directory tree to the new data partition
extract initrd from boot.img (abootimg)
extract files from initrd (gunzip & cpio)
replace the /data entry in fstab pointing at your new data partition
re-pack initrd and boot.img (gzip, cpio & abootimg)
flash boot.img onto the boot partition (dd)
If you use recovery, you also have to edit it's fstab (analog to boot.img mentioned above)
done
Alternatively has anyone tried an init.d script? I see those scripts get executed before the mounting of data & sdcard
Click to expand...
Click to collapse
I just managed to replace my internal sd with the external sd following your ruff guide. thank you very much! At first I struggled a bit getting it to work, because I had encrypted my data partition before -.- this seems to change something in the fstab / mounting / boot-up process, I couldn't get my S4 mini to boot with just changing the fstab.qcom in boot.img. With my recovery (TWRP) it worked from the start editing recovery.img's fstab.twrp /data mount point.
After decrypting(formatting) /data and re-editing fstab.qcom in boot.img it finally works I'm so happy! Enjoying a lot of space on my sdcard now!
usefull threads / information I learnt from:
Partition structure of S4 Mini
Encryption of ExtSD & some fstab information
Editing initrd
abootimg ReadMe
(Links last tried 28.05.2015)

[Q] /system partition size?

So i was trying to port some stuff from Note2 rom onto the leaked 4.4.2, and copying the files kept failing.
I was trying to find the issue until i found only 22MBs free in my /system partition.
is there like any way to resize it or maybe take some from the internal sdcard?

Categories

Resources