File manager that can create symbolic (soft) links? - General Questions and Answers

I want to move my ringtones and notfication sounds from internal storage to /sd-ext. To do this I need to create a symbolic link from /system/media/audio -> /sd-ext/media/audio/
It seems that root explorer is unable to create symbolic links so are there any other android apps available that can do this? I really don't want to have to install the android SDK just to do this so is there an easy way to do this from the phone?
Cheers,
Richard.

If your rooted and have terminal installed you should be able to enter the following:
ln -sf /sd-ext/media/audio /system/media/audio
I haven't tried it myself in android but its what would work in a regular linux environment.

technoplunk said:
If your rooted and have terminal installed you should be able to enter the following:
ln -sf /sd-ext/media/audio /system/media/audio
I haven't tried it myself in android but its what would work in a regular linux environment.
Click to expand...
Click to collapse
Thanks that did the trick. I installed Terminal Emulator from the market and su'd then created the link. After a reboot all my ringtones and notifications are now working from my sd-ext partition
Cheers,
Richard.

Glad to hear it worked, at the time I replied I didn't even own an Android phone yet.
This weekend I finally picked up a Desire HD.

I am trying to do the same thing on an elocity a7 ... rooted, running froyo, Dexter's mod 1.42. Terminal has su. I enter the following:
Ln -sf /sdcard/sdcard-disk/olivetree /sdcard/olivetree
I get the message: Link failed. No such file or directory.
Both directories exist and contain files. I have tried with various combinations of directories existing with or without files ... same thing.
Any ideas? Thanks

aimeehammond said:
I am trying to do the same thing on an elocity a7 ... rooted, running froyo, Dexter's mod 1.42. Terminal has su. I enter the following:
Ln -sf /sdcard/sdcard-disk/olivetree /sdcard/olivetree
Both directories exist and contain files. I have tried with various combinations of directories existing with or without files ... same thing.
Any ideas? Thanks
Click to expand...
Click to collapse
Assuming /sdcard/sdcard-disk/olivetree and /sdcard/olivetree are both directories without any functioning links and contain some files that differ from each other, I would do enter the following in the terminal:
cp -a /sdcard/olivetree /sdcard/sdcard-disk/olivetree
rm -rf /sdcard/olivetree
ln -sf /sdcard/sdcard-disk/olivetree /sdcard/olivetree​
These steps copy all data from one directory to the other.
Delete one of the directories.
Link the existing directory to the removed directories location.

Thanks, Technoplunk. Now I get the message:
Link failed. Operation not permitted. :|

Does your lines in the terminal begin with a hash "#" character? If it does not then your not running the commands as root.
Try typing 'su' without the quotes then running the commands I suggested above.

Yes, I was already running in root ... did the su ... got the #

Thinking a little harder about your problem I realize your trying to do a soft link from one portion of a fat32 partition to another. I suspect the issue might be that you can't create soft links on a fat32 partition as it probably isn't supported. Microsoft created fat32 and never supported soft links on it.
It worked for laxity because he was linking from an ext3 or ext4 partition to the fat32. The actual link resided on the ext partition.

The file structure of this tablet seems a bit weird to me. /sdcard is the tablet's internal storage. The sub-directory /sdcard/sdcard-disk is the micro sd card. I would have expected it to be in the root directory of the tablet, but it's not. However, I didn't think the internal storage was FAT32. Is it??
I'm baffled.

The "mount" command will list all partitions and their types. Its a bit verbose on my phone. Any fat32 partitions will probably say vfat rather than ext(#).

Aha. Several partitions (/system /data /misc /cache) are ext3.
/sdcard and /sdcard/sdcard-disk are FAT32.
Is there a way to format the internal /sdcard as ext3?
Thanks so much for your help!

I recommend poking the people in the Elocity A7 section of the forums, they have more experience with your particular device and can likely tell you if it is safe to try or not.

I should also add that changing those partitions to ext3 would mean you could no longer drag and drop files from a Windows pc as Windows can't read that partition type.

Same question:
laxity said:
...
It seems that root explorer is unable to create symbolic links so are there any other android apps available that can do this?
...
Click to expand...
Click to collapse
I don't mind if it's free or paid application!

Problem solved!!!
Root Explorer v2.17 (estimated releasing date tomorrow, 10/28/2011) has "Link to this folder" / "Link to this file" and "Create link" options!
No more painful usage of terminal emulators on small screens!
Thank you Speed Software !

I have a similar problem. The music bib stored by google music should reside on my second sd card. In the moment the app stores the music automatically on the first internal sd card. But I have the same problem that the internal sd card is fat32. So is there any solution to move my bib to the second sd card?
Thanks

Hi there!
I have a similar situation as I got deleted my "lib" file, that is a symbolic link, from my "com.android.mms" folder.
From RootExplorer I remember the file pointing to "... -> com.android.mms", so what am I supposed to type in Terminal Emulator?
Tnx in advance.
Sent from my Samsung Galaxy S5 SM-G906K using TapaTalk

Hello,
Sorry to unhearth this post but I have a similar problem and these command lines do not seems to work.
technoplunk said:
Assuming /sdcard/sdcard-disk/olivetree and /sdcard/olivetree are both directories without any functioning links and contain some files that differ from each other, I would do enter the following in the terminal:cp -a /sdcard/olivetree /sdcard/sdcard-disk/olivetree
rm -rf /sdcard/olivetree
ln -sf /sdcard/sdcard-disk/olivetree /sdcard/olivetree​These steps copy all data from one directory to the other.
Delete one of the directories.
Link the existing directory to the removed directories location.
Click to expand...
Click to collapse
On my daughter's SGJ5 running 6.0.1, I have an issue with Musical.ly taking too much space because it is storing video files on the phone memory and wont be moved to SD card.
So I got inspiration from your post and thought of creating a symbolic link between the folder where Musical.ly stores its videos to another one on the SD card: respectively '/storage/emulated/0/Android/data/com.zhiliaoapp.musically/files/localvideos' on the phone memory and '/storage/6561-3337/Videos/musically' which I created on the SD card.
I ran the following command using adbputty:
cp -a /storage/emulated/0/Android/data/com.zhiliaoapp.musically/files/localvideos /storage/6561-3337/Videos/musically
rm -rf /storage/emulated/0/Android/data/com.zhiliaoapp.musically/files/localvideos
ln -sf /storage/6561-3337/Videos/musically/localvideos /storage/emulated/0/Android/data/com.zhiliaoapp.musically/files/localvideos
cp and rm worked fine but when I try to run the ln command I get the following error:
ln: cannot create symbolic link from '/storage/6561-3337/Videos/musically/localvideos' to '/storage/emulated/0/Android/data/com.zhiliaoapp.musically/files /localvideos': Operation not permitted
Edit: I tried the following command instead (inspired from "https://forum.xda-developers.com/showpost.php?p=62273638&postcount=18")
ln -sf /storage/6561-3337/Videos/musically/localvideos /data/media/0/Android/data/com.zhiliaoapp.musically/files
and that works for creating the symlink but Musical.ly does show anymore Private videos, nor is it possible to create new ones.
Could you please help me with this?
Cheers

Related

Issues with apps to sdcard?? POST HERE ONLY!!!

I was able to install and run apps from the sd card (ext2), but somehow I still uninstall some apps that i don't use frequently. Is there anyway I can remove the apps from the sd card that i uninstalled? I know the fact that they don't occupy that much spaces, but still I'm thirsty for the knowledge on that issue
uuummm you can go to your terminal and
1- su
2- cd /system/sd/app or app-private
3- ls
4- rm "filename you wanna remove" without double quotes
5- Thats it !!!
samysam05 said:
uuummm you can go to your terminal and
1- su
2- cd /system/sd/app or app-private
3- ls
4- rm "filename you wanna remove" without double quotes
5- Thats it !!!
Click to expand...
Click to collapse
and because of the "ln -s" command you could also cd /data/data/app .. it all points to the same place now
issues partitioning SD card for moving apps
I am having ALOT of trouble trying to format my 4GB SD card to the fat32/ext2 partitions.
I have tried using partition manager 9, setting the fat32 (2.8GB) as a primary, and also setting the SECOND partition ext2 as a primary (1GB). I also tried using gparted and did the same EXACT partition, size and settings in all the different programs. I also tried a mixture of FAT16/FAT32 and ext2 for all the settings. I then tried using ext2fsx on my mac using the same exact settings as before. No matter what, it doesn't mount /system/sd, it always is mounted to /system/sdcard.
(the below are estimated because I was entering all commands in the terminal on my G1)
I'm suppose to see something similar to the following:
dev/mmcblk0p2 1.2G 9.1M 1.1G 1% /system/sd
I always get something to similar to:
dev/mmcblk0p2 1.2G 9.1M 1.1G 1% /system/sdcard
I always see the fat32 partition but never the ext2. I know that alot of people on this forum seem to be able to do this without issue. I unfortunately have been working it on all day.
Can someone PLEASE help me out? Thanks!!!
have you tried moving the apps to sd? see if you actually move all your apps and look at that line again to see if there is an adjustment in size
Which directory does your mountd.conf and init.rc files specify in it if you open them up? Does it say /system/sd or system/sdcard? I believe tempo had his saying system/sdcard and used different files than the ones in the post by dwang that does basically the same thing. I recall one of them using /system/sdcard in their post and the other doing just /system/sd. Use the same file from the same post and don't mix the 2 up because they are not the same.
I used dwang's instructions and files and got my 2GB card partitioned and working. I have had a problem getting my 8gb card working for some reason but that is another story. It seems my 8gb isn't readable or writeable after I partition the ext2 section although the fat32 is ok. I'm familiar with linux but don't know what I need to do to make that partition writeable when I can't get it to show up at all except in gparted and partition manager under windows. I tried busybox df -h without it showing so no luck there...
Hopefully what I metioned helps you and maybe somebody has an idea why mine didn't work either although I wasn't very specific.
I tried both files and mounting on both /system/sd and /sd neither of which worked . I also tried various programs to partition the sd card. I have no other ideas...
Hi,
This is how it should look.
I use an adb shell through the computer (windows xp).
The drive with 1.5g available is the sd card drive.
Non-market apps on SD card issue
Okay... Getting this to work has sucked horribly for me and after rooting through the other forums that would apply to my issue i've found no solution. I have RC33 JFv1.42 LucidREM mod, with /app, /app-private, and /data all copied to the EXT2 partition of my SD card. I am trying to install the AndroidVNC viewer using the AppsInstaller app, I have AndroidVNC saved onto the root of the FAT32 partition of my SD card. The Appsinstaller sees it but when I go to install the .apk itself it's giving me the following error:
"androidVNC could not be viewed. Free up some space on your phone and try again." Giving me a 'cancel,' and 'manage applications' button under.
The error doesn't make any sense because when I login to my terminal as root and # busybox df -h, the only parts of my system that are full are the usual suspects:
/system
/system/modules
/system/xbin
all of which are full, but they always have been for me, so I'm not sure if the Appsinstaller is trying to use one of those blocks to extract to temporarily or something like that. what am i missing here!?!?
bump
Partial App migration to SD card...possible?
Has anyone tried to move only *some* of the apps to the SD card?
I'm stuck with a class 4 mSD card, so as I understand it, moving the apps en masse to the SD card isn't a recommended option.
But I was wondering if perhaps I might move *some* apps to the SD card...maybe just ones that I don't use often, or aren't particularly complicated, or maybe just ones that seem to run perfectly fine from the card.
Some of the "high performance" apps, or ones with a lot of I/O dependency I'd leave on the phone internal storage.
As it stands right now, I'm at total app saturation. I've uninstalled infrequently used apps and have them backed up for ready restoration anytime/anyplace. I've moved every cache possible. Yet even at 13MB free, the phone still complains I don't have enough room to install the latest build of AndNav2.
Should I even attempt a partial migration? I have no paid apps (and apparently couldn't install any even if I wanted to) so I'd just be moving the *.apk file and maybe the *.odex files? Is that all I need to move and then symlink to?
Bump for day crew.....
I'm using this setup. I use my own bash script to move apps:
Code:
#!/bin/bash
# mvappndata.sh 1.1 by Autarkis
# GPL OpenSource
adb remount
adb shell cp -rp /data/app/$1.apk /system/sd/app/$1.apk
adb shell rm /data/app/$1.apk
adb shell ln -s /system/sd/app/$1.apk /data/app/$1.apk
adb shell cp -rp /data/data/$1 /system/sd/data/$1
adb shell rm -r /data/data/$1
adb shell ln -s /system/sd/data/$1 /data/data/$1
You call it with the application's name without the .apk suffix.
Code:
mvappndata.sh com.mobisystems.msdict.embedded.wireless.pons.ssd
Known Bugs:
* apps moved this way don't show as Installed or Updated in Market, but as Free
* sometimes, when you are running out of memory, it won't be possible to install new apps from market - the downloading process will hang right at the beginning. Making even more room does the trick
I leave all apps that are being started at boot time or once started should run as a service in the internal memory. I move all the big apps (like dictionaries) to the SD. It mostly works, but since many apps are buggy themselves it's difficult to tell where a certain Force Close is coming from.
Cheers from Switzerland,
Autarkis
Ah...precisely what I was looking to do. Thanks....that helps a lot.
I'm guessing I can modify the script to run directly on the phone....it appears you have constructed to move apps while connected to a PC via the USB cable. Is this correct?
f4phantomii said:
Ah...precisely what I was looking to do. Thanks....that helps a lot.
I'm guessing I can modify the script to run directly on the phone....it appears you have constructed to move apps while connected to a PC via the USB cable. Is this correct?
Click to expand...
Click to collapse
Yes on both counts. I also use ls -laS to display installed apps sorted by size.
looping on android, home button & silent not working on 1.42
Hi,
Had a weird experience the other day. Phone was fine (rooted RC33/JF1.41). Got some AK Notepad reminders but was busy with something so I ignored them (but heard the alert go off). A few minutes later, the phone spontaneously rebooted and from that point on just looped on the android screen.
I figured I was due for an upgrade, so I popped out the sdcard and upgraded to JF1.42. The phone did come back to life, but at that point the home button won't work (wasn't a hardware issue as it worked to get me to the home+power loader) and when I held down power to shut down, I got only the "power off phone" option but no "silent mode" option. Very strange. This was obviously no good, so I went back to 1.41.
Long story short, the phone still looped, so I took this as a sign that a wipe was unavoidable (I didn't have a recent nandroid backup), but since I had WAY too many apps I never used (~200) and my phone was getting unstable (things were constantly force-quitting), I figured I may as well do some spring cleaning and start fresh.
I learned my lesson and finally got the important apps reinstalled and the phone reconfigured the way I want it -- and then did a nandroid backup so I can avoid this in the future.
But what the heck happened that made the buttons not work? That one freaked me out a bit...
And of course I still wonder what caused me to loop in the first place, totally randomly and spontaneously. Are there specific things that can cause that and if it happens again, is there an easy way to fix it?
Thanks
Gah! This is driving me nuts! I absolutely can't make this work.
I can transfer the whole /data/app and /data/data directories to /system/sd, but as I have a class 4 SD card, I get tons of force closes on apps.
So then I try just moving single apps. For example, moving the OI Flashlight app to the sd card.
Code:
# busybox -a /data/app/org.openintents.flashlight.apk /system/sd/app
# rm -r /data/app/org.openintents.flashlight.apk
# ln -s /system/sd/app/org.openintents.flashlight.apk /data/app/org.openintents.flashlight.apk
I do the same thing with the appropriate data directory for the app. I check and the files are moved. The symlinks are present.
But when I try to run the app, it just tells me that the application is not installed on my phone!
Grr! Then if I delete the symlinks and cp the files back to their original locations, same result. I end up having to re-install from backup.
Very frustrating. Any advice?
I don't know what busybox -a does.
It probably shoud say "cp -rp" instead.
It's important that you preserve access rights.
It's also very important that /system/sd is an ext2 partition. vfat won't do.
My script also assumes that as a preparation, /system/sd/app and /system/sd/data have been created. Like that:
Code:
mkdir /system/sd/app
mkdir /system/sd/data
I assumed that was self-explanatory, but it probably wasn't.
unionfs works for this:
have cake and eat it micro-howto:
(Use a recent jf dist)
/system/bin/insmod /system/modules/2.6.25-01843-gfea26b0/kernel/fs/ext2/ext2.ko /system/modules/2.6.25-01843-gfea26b0/kernel/fs/unionfs/unionfs.ko
(partition sd card as described in the aps-on-sd howto)
(mount to /data/local/ext for this example)
mkdir /data/local/ext/app
busybox mount -v -t unionfs -o dirs=/data/local/ext/app=rw:/data/app=ro unionfs /data/app
This has been tested; downloaded apps go to sd card but the system sees apps in /data as well.
The only issue with this is you can't umount the unionfs mount. In theory, you can have writes go to the real /data/app with:
busybox mount -o remount,dirs=/data/local/ext/app=ro:/data/app=rw /data/app
But I have not tested this.
losing storage after moving cache and apps.
Hi all,
I have moved apps to Sd Card.. I have moved cache to sd card and when all is said and done I had 47mb of 74mb free.. YES... but wait..
Now in using my phone I keep losing free space I am now at 45 of 74mb free. How can I found out what is taking my free space up .?
Please help. Thanks in advance for your time.

New and improved Apps to SD(more stable, more powerful, etc) Tutorial

Well, some of you may have heard my ramblings around here that I've been working with some of the devs here(JF and MartinFick deserve major praise, probably more than me) on getting a better way to do the whole apps to sd thing.
After 3 days of talking/discussing/working on it, I've finally reached the fruits of that investigation and thought I'd share. This new method uses the filesystem unionfs to essentially meld the /data directory with the /system/sd directory, so that they appear to be one. This has the potential to allow users to move specific apps to or from the sd card, is far more stable than the normal symlink method(will still boot, etc even if there's no SD card) and should be easier to set up. Now, onto the tutorial of setting this up.
BIG DISCLAIMER NOTE: This is a major hack of the phone and it is fully possible that it will break your phone(I've seen no permanently bricked phones but that doesn't make it impossible). Use this method, and my app along with it at your own risk.
REQUIREMENTS:
1: This only works on JF(possibly only on 1.5, not sure about the others) and The Dude's v.1.0 or greater. The Dude's 1.0 or greater actually does the steps in this tutorial for you so you can just run appstosd2 and set it all up from there if you're using his ROM.
2: This still requires you to have 2 partitions set up, first FAT32 and second ext2. Although you can use the appstosd2 app attached to this post and available in the market for $0.99 which will partition the card for you.
3: If you want your apps to go to the sd card, you must have a directory "/system/sd/app" If you didn't have apps to sd before on the ext2 partition do the following in terminal emulator or run my appstosd2 app after finishing the tutorial:
Code:
su
mkdir /system/sd/app
If you want the private-apps, or dalvik-cache moved you can replace "app" in that code with ""app-private", or "dalvik-cache" respectively. Do not copy "data" to the sd card. My script will delete it on the next reboot.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
Alright, first there's some files you need.
1: init.rc in .zip attached to this thread
2: a2sd.sh in .zip attached to this thread
All the above listed files should be put on your sd card(my tutorial will assume they are in the root directory of the sdcard(the topmost folder)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
If you need to undo the normal apps to SD first do the following in the recovery terminal(it's not strictly necessary but I'd recommend it):
Code:
mount data
rm /data/app
mkdir /data/app
if you moved the dalvik cache, repeat steps 2-3 with "dalvik-cache" instead of app. Ditto with "data" for the data cache.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
Then go to terminal emulator and type the following:
Code:
su
cp /sdcard/init.rc /data/
cp /sdcard/a2sd.sh /data/
Then reboot and you're set. By default all future apps are installed to the sd card. In order to move an app to the internal memory do the following in terminal emulator:
Code:
su
cp /system/sd/app/[the app you want to move] /system/intmem/app/
rm /system/sd/app/[the app you want to move]
I will be incorporating this into my appstosd app soon(probably as a JF and TheDude-only version until the rest of the devs get on board).
I have included a copy of appstosd 2, which will copy all apps from internal memory to the sd card with an option to remove them from the internal memory. This will only work if you have followed this tutorial.
If you don't have partitions set up, appstosd2 will now do that for you with user-set partition sizes.
NOTE: If you're using The Dude's ROM and find yourself with an outdated version of this since he doesn't always update his ROMs at the same time I update this, do the following in terminal emulator to update(after putting a2sd.sh from the attached a2sd.zip on your sdcard):
Code:
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
rm /system/bin/a2sd.sh
cp /sdcard/a2sd.sh /system/bin/
reboot
For JF1.5, do the following to update:
Code:
su
rm /system/intmem/a2sd.sh
rm /system/intmem/init.rc
cp /sdcard/a2sd.sh /system/intmem/
cp /sdcard/init.rc /system/intmem/
reboot
NOTE FOR UPDATERS: If you had your data on the sdcard(/system/sd/data), it WILL GET DELETED with the new version. This is a necessity in order to get both wallpaper and protected apps working. I recommend moving it back to the phone.
EDIT: And here's another tutorial from ThatsBS(might be easier for the less tech savvy to follow?):
I am still learning a lot everyday from this forum. So for people new to this process let me noobify it, if I can, as I am one too.
Start by reading the first page!! Get all the stuff you need from page 1. (apps2sd2.zip and a2sd.zip )
I started from a fresh wipe and flash of jf1.51 adp.
A newly formatted fat32, non partitioned sd.
Put the init.rc and app2sd.sh on the sd (the files NOT the zip)
Then go to the terminal emulator and typed:
su
cp /sdcard/init.rc /data/
cp /sdcard/a2sd.sh /data/
Then reboot
Next I ran the apps2sd 2 app. It will ask you how much to you want to partition. I did 3000mb the first successful time and the dreaded low mem notice would not leave the status bar. I have read not to make it more then 1500mb. Have a good connection, dont force close it. It will reboot.
Next, after the reboot, I ran the apps2sd 2 app again and pressed "copy apps to sd" (let it do its thing)
Reboot.
Next I went back to the emulator and typed:
su
mkdir /system/sd/app-private
mkdir /system/sd/dalvik-cache
Reboot.
Go back to the apps2sd 2 app and hit move dalvik-cache.
Reboot for good measure and your done.
I did this in about 10 mins. Worked flawlessly.
I have a ?, if i have been using your app what dod i do diferent or what should i change?
Thanks
Good job, thanks!
[email protected] said:
will still boot, etc even if there's no sim card
Click to expand...
Click to collapse
You mean SD card?
[email protected] said:
Alright, first there's some files you need.
1: unionfs.ko from here:
Click to expand...
Click to collapse
JF1.5 build has already unionfs.ko in it, doesn't it? Is there any difference between this unionfs.ko and the one included?
1. I hear unionfs is not really stable at this point, is it true?
2. Why do you want to move the whole /data folder to sd, instead of just /data/app, /data/app-private?
3. You might want to add a command to remove previous app2sd changes (i.e. delete symlinks, create folders.)
4. How do you put selected apps to internal memory after this? Copying to /data will copy to sd card again.
The whole idea is really interesting! Thank you for your work!
ArmandHammer said:
I have a ?, if i have been using your app what dod i do diferent or what should i change?
Thanks
Click to expand...
Click to collapse
You don't have to do anything different. It will find all the apps you put on the sd card. If you want to set the phone back to normal(so the phone memory apps can still be there), you can do the following in the recovery terminal:
Code:
mount data
rm /data/app
rm /data/dalvik-cache (only if you moved the dalvik-cache)
mkdir /data/app
mkdir /data/dalvik-cache
@Dimath: yes, I did mean SD card, good catch
1:JF didn't mention it and from a little bit of using it, it seems stable to me. Plus, no matter how much I've screwed up, I haven't managed to boot loop my phone yet.
2: You could just mount those independently. I might end up doing that eventually but for now the way it is works for reasons I'll get to.
3: True, although it's not strictly necessary. If apps2sd already works, this won't break it. I'll put in a guide on undoing the symlink method
4: Actually, no. My script sets the internal memory as the main file system in the union, so apps automatically go there. Moving apps to the sd card just involves copying them to /system/sd.
Ok, just a little confusing.
I didn't use the apps2sd to move apps over to my SD card. What I did was set it with the busybox ls command. I guess that's the symlink.
My question is, if I didn't use apps2sd, can I still use your method? I also moved the dalvik cache also, everything works fine for me now, my apps go directly to the SD card when installing since my memory stays at around 65 MB no matter what I do.
Just need some laymen terms to help me understand that if I'm NOT using apps2sd, and I just linked them with the recovery method, what's my pitfalls / advantages?
Thanks.
larrygates said:
Ok, just a little confusing.
I didn't use the apps2sd to move apps over to my SD card. What I did was set it with the busybox ls command. I guess that's the symlink.
My question is, if I didn't use apps2sd, can I still use your method? I also moved the dalvik cache also, everything works fine for me now, my apps go directly to the SD card when installing since my memory stays at around 65 MB no matter what I do.
Just need some laymen terms to help me understand that if I'm NOT using apps2sd, and I just linked them with the recovery method, what's my pitfalls / advantages?
Thanks.
Click to expand...
Click to collapse
Yes, any other method of apps to sd currently uses the same symlink method, so following the directions as if you installed my app will work. A note though is that all future apps will install to the internal memory by default. I did that because it's MUCH easier to move apps from the memory to the sd card than vice versa. You can use the code I posted if you want it the other way around.
would this also work for /data/data and app-private?
or is this particular setup only for dalvik-cache and app?
oh and before I do this, just wondering, so in theory, since I have a 1.5GB ext2 partition, my free memory will be 1.573GB (1.5GB + 73Mb internal)? The internal memory will just run down and switch over to the sdcard when needed (but be seen as one filesystem)?
andonnguyen said:
would this also work for /data/data and app-private?
or is this particular setup only for dalvik-cache and app?
Click to expand...
Click to collapse
This works for the whole /data folder and everything under it. Everything is automatically installed to the phone memory right now so you can just move over anything you don't want on it(will be making an app to do this automatically)
EDIT: oh and anything you already moved over to the sd card will still show up.
Code:
su
mount -o remount,rw /dev/block/mtdblock3 /system
cp /sdcard/unionfs.ko /system/
cp /sdcard/init.rc /data/
cp /runme.sh /data/
cp /sdcard/a2sd.sh /data/
I see, when I run these lines of code (I can do this from adb also right using adb remount) this IS the new symlink method. It's just all at one time without me having to manually link anything.
Right?
larrygates said:
Code:
su
mount -o remount,rw /dev/block/mtdblock3 /system
cp /sdcard/unionfs.ko /system/
cp /sdcard/init.rc /data/
cp /runme.sh /data/
cp /sdcard/a2sd.sh /data/
I see, when I run these lines of code (I can do this from adb also right using adb remount) this IS the new symlink method. It's just all at one time without me having to manually link anything.
Right?
Click to expand...
Click to collapse
Wrong, no symlinks here. Pure unionfs goodness. Basically it convinces the operating system that /data and /system/sd are the same thing. So anything that's on /system/sd shows up under /data but everything that's normally under /data is still there. Think of it like what happens in windows when you merge folders with the same name, but in this case in actuality everything stays exactly where it was.
New news: If you haven't seen it, I updated this tutorial(and the scripts with it) quite a bit and would now consider it to be completely fully functional.
Also The Dude will be sending me an advance copy of his next ROM tomorrow to verify it works. In his build the apps to sd will be automatic, with no user setup(although if you want apps on the sd card you'll have to make an app directory under /system/sd(mkdir /system/sd/app), ditto for dalvik-cache and data).
Finally, I will attempt to add this into my apps to sd app tonight, thus rounding out everything I can do.
After all this, the only thing left is for Haykuro to build it into his ROM and me to make an app to move specific apps to/from the sd card automatically.
This will no doubt be the method of choice in no time. Great work. Sticky?
If anyone dl'd the latest version(that fixed the race condition, etc), please download the one I just put up. I made that one in windows and I believe the funky carraige return(that indicates a new line) that windows uses screwed it up
So I got some kind of error, and I don't know what is going on.
I put in all the lines in the terminal emulator app..
but after line cp /runme.sh /data/ it gives me an error
it says "cp: cannot stat '/runme.sh': No such file or directory
Any help? I rooted my phone just so I could run my apps off of my SD card.. and now I can't figure out how to get it to work. Somebody help me please.
GTASouthPark said:
So I got some kind of error, and I don't know what is going on.
I put in all the lines in the terminal emulator app..
but after line cp /runme.sh /data/ it gives me an error
it says "cp: cannot stat '/runme.sh': No such file or directory
Any help? I rooted my phone just so I could run my apps off of my SD card.. and now I can't figure out how to get it to work. Somebody help me please.
Click to expand...
Click to collapse
Which ROM is this? JF1.5 should have runme.sh there...
[email protected] said:
Which ROM is this? JF1.5 should have runme.sh there...
Click to expand...
Click to collapse
Ok, I am going to re-partition my memory card.. and then re flash to JF1.5 and try it again.
Just tried it, one issue I'm seeing is android seems to install [email protected]@[email protected] into /system/intmem/dalvik-cache at boot. Is there anyway to have that only in my dalvik-cache on the sdcard?
Its a fairly large file at 3megs so I want it to reside solely on the sdcard and even if I delete it from intmem, whenever I reboot it gets added again.
Now when I display the internal phone storage from the settings menu, it shows up at 835 megs.
I wonder if this is possible to use unionfs and make an ext2 fs object as a file on the FAT fs. That way no 2nd partition is necessary. Plus, if you remove the sdcard, everything will still work.
Maybe we could combine unionfs and this method that uses an ext2 image on the fat32 for apps to sd.
http://forum.xda-developers.com/showpost.php?p=3402947&postcount=687
mkefs can be downloaded here:
http://sites.google.com/site/juanjosec/android
dwang said:
I wonder if this is possible to use unionfs and make an ext2 fs object as a file on the FAT fs. That way no 2nd partition is necessary. Plus, if you remove the sdcard, everything will still work.
Maybe we could combine unionfs and this method that uses an ext2 image on the fat32 for apps to sd.
http://forum.xda-developers.com/showpost.php?p=3402947&postcount=687
mkefs can be downloaded here:
http://sites.google.com/site/juanjosec/android
Click to expand...
Click to collapse
I've been looking at that possibility with JF and MartinFick as well, seems like it could be a good plan but I wanted to get this bit done first. It's a good point about the dalvik-cache, but in order to fix it JF(in this case) would have to change /init.rc to make sure to do this bit before building the dalvik-cache.
Can't download apps from market
hmm so I didn't hit any errors when doing this, but afterwards I am unable to download any apps from the market. It just continually says "Starting Download..." Everything else seems to work well.
I had this same issue when I tried to manually setup apps to sd using the symbolic links. I narrowed the issue down and figured out this only occurred after I moved the dalvik-cache over to the sd card. I'm assuming I'm doing something wrong, but can't seem to figure it out. Any pointers in a general direction would be most helpful
I'm using JFv1.50 ADP1.5, not the modded version by LucidREM. For some reason the bootloader couldn't pickup his version on my phone and --edit-- I'm pretty sure I have the SD card partitioned correctly... everything else seemed to work ok. The ext2 partition shows up as the correct size
*EDIT* So apparently my issue was the SD card as well. Just did a format of the sd card and it fixed it. I also formatted data and cache (alt+w in recovery mode). Thanks MarcusMaximus!
[email protected] said:
New news: If you haven't seen it, I updated this tutorial(and the scripts with it) quite a bit and would now consider it to be completely fully functional.
Also The Dude will be sending me an advance copy of his next ROM tomorrow to verify it works. In his build the apps to sd will be automatic, with no user setup(although if you want apps on the sd card you'll have to make an app directory under /system/sd(mkdir /system/sd/app), ditto for dalvik-cache and data).
Finally, I will attempt to add this into my apps to sd app tonight, thus rounding out everything I can do.
After all this, the only thing left is for Haykuro to build it into his ROM and me to make an app to move specific apps to/from the sd card automatically.
Click to expand...
Click to collapse
If I have apps2SD and the dalvik-cache both moved on the dudes builds already, do I still have to create those directories or will my existing setup still work fine? I would like to know what kind of issues I may run into when the dude releases .95 with this (hopefully, not getting my hopes up just in case).

[Workaround/Mod]Download Large Apps From Market(Over 25MB)(CM7/MIUI/STOCK)(Cache2SD).

I had a problem recently when trying to download SummitX Snowboarding (49.7 MB) from the Android Market. Did try several methods like Apps2SD, Wipe Cache, dalvik, etc. But none of them could solve my problem. DID A LOT OF SEARCHING and found the method that worked for me. So i thought i could share it with you guys.
P.S.- I am not an advanced user of android. I just did some searching around and found this script. Therefore, i cannot provide any further assistance or answer your advanced queries
Things you will need -
1. Terminal Emulator.
2. Root Access.
Lets Start -
1. Install and open terminal emulator (if you don't see the keyboard, press menu and then toggle soft keyboard on).
2. Type 'su' (without quotes). and grant the application superuser permission. After giving it permission, type 'su' again (because the permission was denied on the first time).
3. Now You Have 2 options. Click on the one you want and then get back to the OP -
Option 1 :- Use External memory card for cache, if you don't want to use internal memory. But the downloads will/may fail if the SDcard gets removed. Not recommended.
Option 2 :- Use the internal memory card for cache, if you are already using external memory card (CM7 Users) for your apps and don't want to waste any more space. Recommended.
4. If you didn't receive any error, its now done !! Be sure to type 'exit' and close the terminal (just to be on safer side).
5. Reboot the phone (Although it works without rebooting, its better to reboot just to let the cache partition take effect).
6. Download large games without any trouble.
NOTE - I have Not Used SDCard Swap mod yet. So i don't know the path of the internal and external memory card in that mod. If someone can tell me the location of internal and external sdcard in that mod, i will surely make the mod to work with SDCard Swap Mod.
I have personally tested it on MIUI and CM7. MIUI's SDcard mounting is same as Stock, so i guess it would work with stock.
I think this method would work for every Rom and even on any phone. I may be wrong
Credits -
I don't know who is the author of Original script because i just searched it like crazy and can't find the link to the post in the mess. If i find, i will surely add it to the OP.
this should be stickied
thanks
Tried and worked flawlessly. Great find.
PS: I cancelled the download after few bars as i am out of wifi. But it's downloading..
Thanks.
After typing mkdir /mnt/sdcard/cache-download in terminal emulator it shows me error like this mkdir /mnt/sdcard/cache-download: not found
sharp87 said:
After typing mkdir /mnt/sdcard/cache-download in terminal emulator it shows me error like this mkdir /mnt/sdcard/cache-download: not found
it is better you can use Int-Ext SD CARD swap mod
Click to expand...
Click to collapse
Are you on MIUI or CM7 ??
Strange error. From what i know, mkdir is used for creating a new directory. I suppose you are either using CM7 (which already has swap mod built in, i suppose) or the SD Card swap mod.
I'll try to make correct script for every rom and add it to the OP. Although its gonna be tough for me untill i don't sort out my confusion between sdcard and external_sd
Use External Memory for Cache Partition.
Method 1 : Use external memory for cache partition.
Type this in Terminal Emulator -
For MIUI/Stock Users -
Code:
mkdir /mnt/sdcard/external_sd/cache-download
cd /sdcard/external_sd/cache-download
mkdir download
rm -rf /cache/download
ln -s /mnt/sdcard/external_sd/cache-download/download /cache/download
For CM7 Users -
Code:
cd /cache/
rm -R download
mkdir /mnt/sdcard/cache-download
ln -s /mnt/sdcard/cache-download download
Note - Be sure to hit enter After every line.
Go Back to OP.
Use Internal Memory for Cache Partition.
Method 2 : Use internal memory for cache partition.
Type this in Terminal Emulator -
For MIUI/Stock Users -
Code:
mkdir /mnt/sdcard/cache-download
cd /sdcard/cache-download
mkdir download
rm -rf /cache/download
ln -s /mnt/sdcard/cache-download/download /cache/download
For CM7 Users -
Code:
cd /cache/
rm -R download
mkdir /mnt/emmc/cache-download
ln -s /mnt/emmc/cache-download download
Note - Be sure to hit enter After every line.
Go Back to OP.
thankkkkkkkkkkks *___* finally i was able to download WMW DDDDD
just one question:
in miui external and internal are swapped, so if I use internal script cache goes to sd card, isn't it?
Siso93 said:
thankkkkkkkkkkks *___* finally i was able to download WMW DDDDD
just one question:
in miui external and internal are swapped, so if I use internal script cache goes to sd card, isn't it?
Click to expand...
Click to collapse
I am running MIUI v8 and the SD cards aren't swapped in it by default.
If you are running miui with no sd-card swap mod of any sort, the cache will go into the desired place (in this case, internal memory). But if you are using sd-card swap mod (i don't know if it exists in MIUI), the cache will go into external sd card.
EDIT - My bad, the sd card swap mod is there for MIUI. If you use it, the methods would work the opposite way. Internal for external, external for internal.
Man,
This is great! Thank you!
Sent from my HTC Desire using xda premium
how to do this for cm 10? looks like asphalt 7 can't be downloaded, it stays stuck in downloading

Make MicroSD part of internal storage

Is there a way I can make the MicroSD just an extension of the internal storage? It would be nice to store apps on it as well. Is this possible?
Apps2SD lets you put apps on, and ICS lets you use it pretty much the same way as the internal. So no need really.
If you really wanted to it would involve symlinking partitions, but I'm not entirely sure as to the process
Oh that's great because I remember honeycomb didn't allow that. When an app is on sd will its files reside on sd? For example DoggCatcher stores its files on internal and I would really like to have those files on my MicroSD. Would a symbolic link work to do this?
Edit: tried app2sd but it couldn't find SD card because of how TF names internal as SD.
Trying out Link2SD because it seems promising. I think it creates symbolic links.
Not symbolic links
Symlinking, the ls command, think of it as a linux-shortcut command perse.
I find that Titanium backup works very well, but it needs root.
How do you do it in Titanium? I can't figure out how. Thanks for the help so far
Edit: Also if for example Doggcatcher's files are on internal and it won't let me specify where I want to store them how would I move them to MicroSD?
Really sorry, I was getting TI backup mixed with something else.. X.x
https://play.google.com/store/apps/...wOSwiY29tLndvbmd4bWluZy5hbmRyb2lkLmFwcDJzZCJd
Try this--
and this with root-- https://play.google.com/store/apps/details?id=com.leinardi.setinstalllocation&feature=also_installed (works well, my ROM has built in support for this though, most big apps (games) can be moved with the native ics feature. hunt through settings.
Thanks for the help! Is the TF internal filesystem Fat32 by default?
Thing O Doom said:
Not symbolic links
Symlinking, the ls command, think of it as a linux-shortcut command perse.
I find that Titanium backup works very well, but it needs root.
Click to expand...
Click to collapse
No offense intended, but I'm not sure I understand what you are saying. Symlink is just a short name for a symbolic link, as far as I could find (from Wikipedia):
In computing, a symbolic link (also symlink or soft link) is a special type of file that contains a reference to another file or directory in the form of an absolute or relative path and that affects pathname resolution.
Click to expand...
Click to collapse
And the "ls" command (without any other parameters) just lists the files in the current directory in Linux and Unix type OSs.
---------- Post added at 12:52 AM ---------- Previous post was at 12:50 AM ----------
taC nayN said:
Thanks for the help! Is the TF internal filesystem Fat32 by default?
Click to expand...
Click to collapse
The internal is ext4, I believe, a Linux filesystem type.
I'm trying this to create soft link so I can have DoggCatcher files on MicroSD instead of Internal but when I tried
ln -sf /removable/MicroSD/DoggCatcher /sdcard/Doggcatcher
it says No such file or directory. What am I doing wrong? My MicroSD is exFAT.
Sorry, I'm getting so mixed up today. *blarg* Thank you for pointing that out. Id even know what I was thinking. -sleep time-
myandroiid.blogspot.com/p/how-to-use-your-sdcard-as-internal.html
HERE IS COMPLETE GUIDE ITS AWESOME
Sent from my HTC Salsa C510e using xda premium
taC nayN said:
I'm trying this to create soft link so I can have DoggCatcher files on MicroSD instead of Internal but when I tried
ln -sf /removable/MicroSD/DoggCatcher /sdcard/Doggcatcher
it says No such file or directory. What am I doing wrong? My MicroSD is exFAT.
Click to expand...
Click to collapse
If it is the same as mine, then it should be "ln -sf /Removable/MicroSD/DoggCatcher /sdcard/DoggCatcher". Note the capital R in removable. Now, if DoggCatcher is a directory name then you may need to add a "/" at the end of one or both of your target and source. Not sure if the 'f' option works with busybox, you may need just 'ln -s'. Also, the normal command structure is " ln -s(f) source-file link-name ". Make sure you have the parts in the intended order.
Allright I got everything *mostly* figured out now. I don't necessarily want to make MicroSD primary because they are the same size so I just want to extend it. I figured out how to move DoggCatcher via the app (I'm an idiot)
I still would like to know how to create soft links between SD and internal though because it keeps failing.
sidneyk said:
If it is the same as mine, then it should be "ln -sf /Removable/MicroSD/DoggCatcher /sdcard/DoggCatcher". Note the capital R in removable. Now, if DoggCatcher is a directory name then you may need to add a "/" at the end of one or both of your target and source. Not sure if the 'f' option works with busybox, you may need just 'ln -s'. Also, the normal command structure is " ln -s(f) source-file link-name ". Make sure you have the parts in the intended order.
Click to expand...
Click to collapse
Thank you so much! That was the problem. Greatly appreciated.

LinuxSE Problem ? ln -s gives permission denied

Hi, for Termux on my Galaxy S5 (Android 10,LineageOS 17.1) I need additional space with an Ext4 FS.
I have lots of space on my SD card (adoptable storage) but not on my internal storage.
For that I have created a 4G file, formatted it as Ext4, and loop mounted it on /mnt/T.
I cannot access this as a normal user under Termux. Therefore I tried
bindfs -u10218 -g10218 /mnt/T /data/data/com.termux/files/home/T
As a non-root user under Termux I can cd to that folder, I can read, create and write to files.
But I cannot create a symlink from one file in T to different name in T.
I suspect a LinuxSE problem. I don't know how to change the SE context. It doesn't look like a bindfs problem. It occurs in the kernel as shown by strace.
Many thanks for any hints or pointers,
Helmut

Categories

Resources