[TUTORIAL] Install applications into SD Card for Samsung Galaxy 5 (i5500)

Search This thread
Oct 1, 2010
11
1
abou the battery issue, you can try to recalibrate your battery stats,
i'm using froyo too and from the 1st time i'm using it, i don't have a problem at all, and in my experience, i think the battery is better than eclair.
to recalibrate the batter,
1. you can empty the battery until the phone is off
2. charge the phone in off condition and leave it for a night
3. turn on the phone while still plug
4. go to root explorer, go to data-system, find and delete batterystats.bin
5. unplug the charger.
 

r2beta0

Senior Member
Nov 8, 2010
482
121
Rio de Janeiro
abou the battery issue, you can try to recalibrate your battery stats,
i'm using froyo too and from the 1st time i'm using it, i don't have a problem at all, and in my experience, i think the battery is better than eclair.
to recalibrate the batter,
1. you can empty the battery until the phone is off
2. charge the phone in off condition and leave it for a night
3. turn on the phone while still plug
4. go to root explorer, go to data-system, find and delete batterystats.bin
5. unplug the charger.

The battery issue in this Froyo ROM isn't related to calibration, but with CPU scaling. For some unknown reason the scaling governor of this ROM is set to "Performance", which means the CPU will run at full speed (600 mhz) all the time. I found a way to work arround this by installing SetCPU and setting the "on demand" profile applying at boot. Instead of SetCPU you can also add the following line to the end of my install-recovery.sh script:
Code:
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

This will make your CPU behave better, allowing the kernel to use lower frequencies when not so much power is needed.
 
Oct 1, 2010
11
1
The battery issue in this Froyo ROM isn't related to calibration, but with CPU scaling. For some unknown reason the scaling governor of this ROM is set to "Performance", which means the CPU will run at full speed (600 mhz) all the time. I found a way to work arround this by installing SetCPU and setting the "on demand" profile applying at boot. Instead of SetCPU you can also add the following line to the end of my install-recovery.sh script:
Code:
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

This will make your CPU behave better, allowing the kernel to use lower frequencies when not so much power is needed.

hoho nice one, btw i'm doing it manual, i'm using root explorer and go directly to the scalling_governor file and changed the setup to ondemand, is it the same way with your script?
btw do you interested in finding for G5 touchscreen driver?coz i'm curious with the multitouch
 

r2beta0

Senior Member
Nov 8, 2010
482
121
Rio de Janeiro
hoho nice one, btw i'm doing it manual, i'm using root explorer and go directly to the scalling_governor file and changed the setup to ondemand, is it the same way with your script?
btw do you interested in finding for G5 touchscreen driver?coz i'm curious with the multitouch

Almost. The problem is you'll loose this setting everytime you restart your phone and will need to re-apply. My script makes the change at boot time, so you don't have to worry anymore :)

About the display driver: I don't know if SG5 is capable of multi-touching. I didn't try to do anything about that and probably won't since I just sold my SG5 in order to buy a new Nexus S :)
 
Last edited:
Oct 1, 2010
11
1
Almost. The problem is you'll loose this setting everytime you restart your phone and will need to re-apply. My script makes the change at boot time, so you don't have to worry anymore :)

About the display driver: I don't know if SG5 is capable of multi-touching. I didn't try to do anything about that and probably won't since I just sold my SG5 in order to buy a new Nexus S :)

OMG nexus S?????
want it so badly hehehe but the price is so high in here, can't afford to buy the device hehehe that just become my dream gadget again hehehe
 

addicted2088

Senior Member
Oct 20, 2010
558
154
Pune
Good work!! :) Does this method save even the application data on the SD card or only the apk files??
 
Last edited:

maxidimov

Senior Member
Aug 13, 2010
69
17
It saves only the apk files from what I see. ;)

This is a very good method, but the update to Froyo for the I5500L asks you when you install an app, weather you want it installed on the phone memory or on the SD card. Plus it fixes the phone coma bug. ;) I'll try it on my phone once I open it ;)
 

hany_bw

Member
Aug 6, 2008
11
0
need help

i did the steps good and every thing work fine with me but i'm stuck now in step 14
mv app app_old
it keep telling me it's used or busy
can any one help in this :confused: :confused::confused:
 

A n d r e

Member
Sep 18, 2009
7
0
Is it safe to try these method on another phone instead instead of Samsung Galaxy S?

If it doesn't work, can it brick my phone or something? Or it simply won't work?
 

LiuAnshan

Senior Member
Dec 1, 2010
123
10
San Antonio
I tried it on my zio, seemed to work alright until I rebooted, then none of the apPS were found. I was having trouble with adb at the time though and did all the commands through the terminal on myphone. I probably just made a mistake somewhere. haven't had the chance to try again since

Is it safe to try these method on another phone instead instead of Samsung Galaxy S?

If it doesn't work, can it brick my phone or something? Or it simply won't work?



Sent from my Zio using XDA App
 

hany_bw

Member
Aug 6, 2008
11
0
i did it but it won't work
but i did start my phone without the SD card and then after full load i insert it
and then i start the steps all from the beginig and this time all works fine
but...
now i have 2 defrent things
i have all apps i install when i don't insert the SD and when i insert the SD i have no apps
 

hany_bw

Member
Aug 6, 2008
11
0
finaly working thanks.
i reset the mobile to the factory setting and then rooted and go on with the steps and it work fine this time
 

beppe000

New member
Jan 4, 2011
2
0
hi, first of all: cool thread.
i'm gonna try it as soon as i'll get the sdk and emulator working on my ubuntusystem (i'm a long time linux user, but not a developer.

about the tutorial here are some advice, expecially for linux user.

maybe you wont need to install busybox (correct me if i'm wrong).
i have an european i5500, with installed "universal androot" and "quicksshd" (an ssh server, it gives you a console, like adb). so i access my android from my ubuntu machine with ssh, and even if the cp command is not present, scp command IS present (dont know if builtin or came with ssh daemon ).
so for the step 10 of the tutorial you can scp to your pc and than copy back to the phone. (and you'll also have a backup of your .apk on your pc... you can never know)

about the script, i suggest:
if you want to keep a copy of some apps on the internal flash, in order to have them working also with other sd card, i'd skip the step 14 of the tutorial (at least for some apps), create a file in your sd root (or wherever you want) ex. pippo then add between line 5 and 6 of the init-sd2.sh something like:

if ( ! cat /sdcard/pippo ); then exit; fi
and optional
if ( ! cat /sdcard/pippo ); then echo wrong sdcard; fi

in this way when you reboot with another sd your phone should save and use the apps on flash memory as usual.

i may have made some mistakes, so please check before try.
 

dominicl

New member
Feb 2, 2011
2
0
Can it be done on Windows?

Errr... all these procedures seem so Unix-ish... Can all this be done on windows, especially windows 7? If there are different steps can some one give me a pointer? thanks!
 

pwild

Senior Member
Mar 5, 2011
96
22
Geretsried
step 7

i'm stuck at step 7,
if i type
mount -t ext2 /dev/block/mmcblk0p2 /system/sd
it allways answers
"invalid argument"
 

eanando25

New member
Apr 10, 2011
1
0
i dont know what happend but it doesnt work for me.
i read the log and it says :"mount: no such file or directory".
i have root access and if i open a terminal i can mount the second partition but i cant with the scrypt. ¿can anyone tell me how to fix it?
Thanks
 

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    DISCLAIMER: DO THIS AT YOUR OWN RISK. I AM NOT RESPONSIBLE IF YOU BRICK / RUIN YOUR PHONE IN ANY WAY.

    Hi Everyone,

    I have some good news for the owners of Samsung Galaxy 5 (i5500) Smartphones.
    Doing some research on Google and reading about efforts from other people who could install applications on SD card on other android phones, I was able to develop a method to install application into SD card for the Galaxy 5. Better yet, you won't even need a custom Rom.

    Before I get into the specifcs let me state that the following steps are manual and no application is provided to automate the process, so advanced computer skill is required and some knowledge of unix/linux is a plus.

    Here we go: PLEASE READ THE WHOLE THING BEFORE YOU START. I MAY HAVE OMMITED SOME COMMANDS OUT OF LACK OF ATTENTION.
    1) You'll need to root your phone. There is a lot of guides about this available, just google for it. I've used the SuperOneClick Root to do this.

    2) Partition your sd card like this: 1 - FAT, 2 - Linux ext2. Again, there is a lot of guides about this on the net, just google again. I've used Paragon Partition Manager 2010 to lower the size of my FAT partition, leaving a 550MB unallocated space at the end of the card. Then I formatted this space as ext2 in linux, using ubuntu live CD. Most guides around there recommends that you keep this partition between 500~750MB, so I didn’t try with greater sizes. Also, i kept my partition 1 as FAT 16, but FAT 32 might actually work too, try that if you want and post me a reply.

    3) Download Titanium Backup (or another app backup tool) from market and backup your applications. You may need to restore your applications to correct some permission problems that may occur after completing this guide.

    4) Install busybox. BusyBox is a software application that provides many standard Unix tools, which are not available on stock android. You can get a copy of busybox by clicking on “problems?” button on Titanium Backup main window. It will get installed on /data/data/com.keramidas.TitaniumBackup/files.

    5) If you still don’t have Android SDK installed on your PC, download and install it from Google. You’ll need ADB (Android Debug Bridge), which is included in the SDK, to proceed. Now open a shell connection with your device by typing:

    Code:
    adb shell

    Just keep in mind that you MUST be logged as root. Root command prompt is recognized by the # character. If you don’t have root type the ‘su’ command. If even with ‘su’ you couldn’t get root, please review step 1.

    6) Create ‘sd’ folder int /system:

    Code:
    cd /system
    mkdir sd

    7) Mount ext2 partition into /system/sd

    Code:
    mount -t ext2 /dev/block/mmcblk0p2 /system/sd

    8) Create a folder to store the applications into ext2 partition:

    Code:
    cd /system/sd
    mkdir app

    9) Copy busybox to /system/bin
    Code:
    cat /data/data/com.keramidas.TitaniumBackup/files/busybox > /system/bin/busybox
    chmod 755 /system/bin/busybox

    10) Copy your applications to ext2 partition:

    Code:
    busybox cp /data/app/* /system/sd/app/

    11) Change permissions of copied applications:

    Code:
    cd /system/sd/app
    chown system.system *
    chmod 644 *

    12) Now comes the tricky part: making Android mount your new partition at boot time. All the hard work would be useless if Android discarded the mount points every time we restarted our phones. To do this we’ll need to create 2 scripts and store then into /system/etc. Obviously the scripts should be started by init.rc and need to run as root. Fortunately Android’s init.rc have a gap that makes this possible. The scripts are named install-recovery.sh and init-sd2.sh.

    install-recovery.sh content:
    Code:
    #!/system/bin/sh
    /system/etc/init-sd2.sh&

    init-sd2.sh content:
    Code:
    #!/system/bin/sh
    MYLOG=/data/install-recovery.log
    echo "$(date) Starting install-recovery.sh" > $MYLOG
    echo "$(date) Waiting SD to become ready..." >> $MYLOG
    sleep 10
    mount -t ext2 /dev/block/mmcblk0p2 /system/sd 1>>$MYLOG 2>>$MYLOG
    mount -o bind /system/sd/app /data/app 1>>$MYLOG 2>>$MYLOG
    mount >> $MYLOG
    echo "$(date) Finishing install-recovery.sh" >> $MYLOG

    If you plan to edit this files on windows I recommend a tool that is capable of keeping UNIX file format, just like notepad++ free tool.

    13) After placing the scripts, change their permissions:
    Code:
    cd /system/etc
    chmod 555 install-recovery.sh
    chmod 555 init-sd2.sh

    14) Rename the default application folder. If everything works fine you can remove this later to save space:

    Code:
    cd /data
    mv app app_old
    mkdir app
    chown system.system app
    chmod 755 app

    15) Restart your phone and cross your fingers :)

    16) If you have problems with your widgets don’t worry. You just need to remove then from your homescreen and add again.

    17) Check if your applications are running as they should. Restore backups you’ve made with Titanium Backup for the applications showing problems.

    18) If your partition didn’t mount at boot, check log file at /data/install-recovery.log

    19) From now on your new applications will be installed on your SD Card. You can modify the scripts to store other folders from /data into the ext2 partition as needed. I’ve been running my applications from SD Card for a week now without any problems or bugs.

    20) If you can’t make it work, post your question here and I will try to help you out.

    21) Donations are welcomed, just drop some money into my paypal account. Just kidding :p

    Good luck and cya!
    1
    step 12, type it on notepad++ and then you have to change the extension of the file with .sh, after that copied the 2 files to /system/etc
    1
    But how to copy this two script files to system/etc??? it's saying permision denied..

    I'm use root explorer to move it to system/etc
    The script can be moved but it still doesn't work at all :-(
    -------------------------------------
    Sent via the XDA Tapatalk App
    1
    i did the steps good and every thing work fine with me but i'm stuck now in step 14
    mv app app_old
    it keep telling me it's used or busy
    can any one help in this :confused: :confused::confused:

    Hmmm. Try this instead (logged as root):
    Code:
    cd /data
    mkdir app_old
    cd app
    mv * ../app_old