This version of Darktremor Apps2SD is in limited support phase. New comments need to be posted to this thread: http://forum.xda-developers.com/showthread.php?t=715116. You will also find a link there to the most recent version.
If you are interested in adding Apps2SD to your rom, check out the Apps2SD Rom Guide: http://forum.xda-developers.com/showpost.php?p=7021331&postcount=4
Instructions on how to install Darktremor Apps2SD: http://forum.xda-developers.com/showpost.php?p=7021325&postcount=2
Check out the changelog and all the people who help make Darktremor Apps2SD: http://forum.xda-developers.com/showpost.php?p=7021328&postcount=3
Click to expand...
Click to collapse
Introducing Darktremor Apps2SD 2.7 Update 3r1
Date of Release: June 26, 2010
This is Darktremor Apps2SD, a powerful program that allows a user to execute applications created for the Android OS on their Secure Digital card (with the proper setup...more on that later). But, Darktremor Apps2SD is all about stability. The goal is to be able for all users of the Android OS to be able to take advantage of a method to run their applications from a secure digital card.
But just because the Darktremor Apps2SD is all about stability, doesn't mean it isn't packed with features:
- Move applications (both free and paid) to the Secure Digital card.
- Move Dalvik Cache to run either from your Secure Digital card or from your cache partition.
- Activate a swap partition on your SD card.
- Automatically fixes configuration issues.
- Users can check the free space on their SD card and check the installation to make sure all is setup correctly.
- Runs ZipAlign on demand...this makes your programs load faster.
- Allows the user to easily clear the Dalvik Cache without booting into recovery
- Designed with all different phones and roms in mind.
- Built in help system for easy reference of commands.
- All features can also be reversed without repartitioning your Secure Digital card.
The program can be found here: http://www.darktremor.info/files/a2sd/a2sd-2.7-update3r1-signed.zip
Click to expand...
Click to collapse
Not sure if you should use this program? Take a look at these roms that currently run Darktremor Apps2SD:
Fresh Hero (CDMA Hero) - http://forum.xda-developers.com/showthread.php?t=681856
FreshToast (CDMA Hero) - http://forum.xda-developers.com/showthread.php?t=683746
Sprint 2.1 Stock ROM (CDMA Hero) - http://forum.xda-developers.com/showthread.php?t=703267
ZenEXP (CDMA Hero) - http://forum.xda-developers.com/showthread.php?t=666967
Buufed (CDMA Hero) - http://forum.xda-developers.com/showthread.php?t=689142
Blue Echo (CDMA Hero) - http://forum.xda-developers.com/showthread.php?t=699975
HoneyBun (CDMA Hero) - http://forum.androidcentral.com/htc-hero-roms-hacks/14674-honeybun-v1-based-off-official-ruu.html
Click to expand...
Click to collapse
ZenExp Eris Expresso (HTC Eris) - http://forum.xda-developers.com/showthread.php?t=688687
Fresh Rom for Eris (HTC Eris) - http://forum.xda-developers.com/showthread.php?t=674170
Buufed for Eris (HTC Eris) - http://forum.xda-developers.com/showthread.php?t=690902
Eris Lightning (HTC Eris) - http://forum.xda-developers.com/showthread.php?t=675957
Evil Eris (HTC Eris) - http://forum.xda-developers.com/showthread.php?t=650302
Smash Rom (HTC Eris) - http://forum.xda-developers.com/showthread.php?t=718118
Plane Jane T2 2.1 (HTC Eris) - http://forum.xda-developers.com/showthread.php?t=718092
Click to expand...
Click to collapse
Fresh Evo (HTC Evo) - http://forum.xda-developers.com/showthread.php?t=700448
Supersonic (HTC Evo) - http://forum.xda-developers.com/showthread.php?t=698594
Click to expand...
Click to collapse
Daguu Espresso Rom (GSM Hero) - http://forum.xda-developers.com/showthread.php?t=693069
Click to expand...
Click to collapse
Kang-o-rama Froyo ROM (Nexus One) - http://forum.xda-developers.com/showthread.php?p=6973422
eViL n-One-sh0t (Nexus One) - http://forum.xda-developers.com/showthread.php?t=698649
Froyo AOSP (Nexus One) - http://forum.xda-developers.com/showthread.php?t=713104
Click to expand...
Click to collapse
Pulse Oscillation Rom (T-Mobile Pulse) - http://android.modaco.com/content/t...daco-com/309811/pulse-2-1-oscillation-rom-r7/
FLB-Mod (T-Mobile Pulse) - http://android.modaco.com/content/t...sed-vanilla-ish-rom-with-tweaks/#entry1303318
Note: T-Mobile Pulse is made by Huawei, which puts this as the first phone outside the HTC phones that Darktremor A2SD works on. There's hope for the Samsung Moment yet.
Click to expand...
Click to collapse
I'm may have left some off this list. If your rom isn't on this list, send me a PM with the name and location (thread) so I know how to properly catalog it.
Click to expand...
Click to collapse
That makes 22 different roms across 6 different phones that uses Darktremor Apps2SD. And more roms have been tested and verified to work with Darktremor Apps2SD.
Works fine coming from 2.5 on dc 2.0.7.2
Suggestion:
/system/bin/a2sd version
It's getting confusing with all the a2sd's out there. Even I get lost sometimes trying to remember what version of a2sd I have on my phone lately.
Notes:
First boot takes forever. I already had dalvik on the SD card...does it move it back to internal and then delete/re-create it on SD or something?
Code:
ls -l /data
lrwxrwxrwx root root 2010-04-25 08:41 dalvik-cache -> /system/sd/dalvik-cache
lrwxrwxrwx root root 2010-04-24 08:36 app-private -> /system/sd/app-private
lrwxrwxrwx root root 2010-04-24 08:36 app -> /system/sd/app
As you can see it looks like the dalvik-cache directory was completely recreated (based on timestamps).
It's not a big deal, just thought I'd bring it up.
smw6180 said:
Works fine coming from 2.5 on dc 2.0.7.2
Suggestion:
/system/bin/a2sd version
It's getting confusing with all the a2sd's out there. Even I get lost sometimes trying to remember what version of a2sd I have on my phone lately.
Notes:
First boot takes forever. I already had dalvik on the SD card...does it move it back to internal and then delete/re-create it on SD or something?
Code:
ls -l /data
lrwxrwxrwx root root 2010-04-25 08:41 dalvik-cache -> /system/sd/dalvik-cache
lrwxrwxrwx root root 2010-04-24 08:36 app-private -> /system/sd/app-private
lrwxrwxrwx root root 2010-04-24 08:36 app -> /system/sd/app
As you can see it looks like the dalvik-cache directory was completely recreated (based on timestamps).
It's not a big deal, just thought I'd bring it up.
Click to expand...
Click to collapse
Probably had something to do with the flags. I'll check it out.
It appears to be doing that each reboot.
Found the issue. It would reset if the symlinks were active and the flag file was not present. That should be if the symlinks were not active and the flag file was not present. Fixed it.
New file uploaded.
As for a2sd version, I decided to utilize code I already have.
The version number will show up when you start up a2sd.
But, if you type a2sd help, it will display the version number at the top of the help list.
Hopefully, that should help you keep track of the different versions.
tkirton said:
Probably had something to do with the flags. I'll check it out.
It appears to be doing that each reboot.
Found the issue. It would reset if the symlinks were active and the flag file was not present. That should be if the symlinks were not active and the flag file was not present. Fixed it.
New file uploaded.
As for a2sd version, I decided to utilize code I already have.
The version number will show up when you start up a2sd.
But, if you type a2sd help, it will display the version number at the top of the help list.
Hopefully, that should help you keep track of the different versions.
Click to expand...
Click to collapse
Sweet. Thanks
Code:
# /system/bin/a2sd help
/system/bin/a2sd help
[*] Starting A2SD version 2.6
Just redownloaded and reflashed. Sat on the HTC (white screen) for about 1.5 minutes, then loaded my normal bootscreen.
Still seems to be taking an inordinate amount of time to boot...looks like it's re-doing dalvik again.
Code:
lrwxrwxrwx root root 2010-04-25 09:27 dalvik-cache -> /system/sd/dalvik-cache
Wondering if I should nandroid back and try again?
Edit: Just did a normal reboot and it's the same thing. Sits for a couple minutes on the HTC screen, then re-creates dalvik.
Code:
lrwxrwxrwx root root 2010-04-25 09:34 dalvik-cache -> /system/sd/dalvik-cache
im testing now on pancake 1.5, will report back. seems to be stuck on the very first htc screen is that normal while it moves everything?
edit: it's booting...YES your the man!
worked like a charm man, i went from 118mb free to over 145mb free now!
I noticed its the same when you normal reboot on 2.5, it hangs for quite a while on the HTC grey screen and then finally boots. how do I go about upgrading?
This is odd...mine's not doing that.
I don't think you have the right a2sd. Download the updated 2.6 (http://www.darktremor.com/files/misc/a2sd-2.6-signed.zip) and flash that one.
The starting line should say now: Darktremor A2SD version 2.6.
Let me know if that fixes your issue.
smw6180 said:
Sweet. Thanks
Code:
# /system/bin/a2sd help
/system/bin/a2sd help
[*] Starting A2SD version 2.6
Just redownloaded and reflashed. Sat on the HTC (white screen) for about 1.5 minutes, then loaded my normal bootscreen.
Still seems to be taking an inordinate amount of time to boot...looks like it's re-doing dalvik again.
Code:
lrwxrwxrwx root root 2010-04-25 09:27 dalvik-cache -> /system/sd/dalvik-cache
Wondering if I should nandroid back and try again?
Edit: Just did a normal reboot and it's the same thing. Sits for a couple minutes on the HTC screen, then re-creates dalvik.
Code:
lrwxrwxrwx root root 2010-04-25 09:34 dalvik-cache -> /system/sd/dalvik-cache
Click to expand...
Click to collapse
DJAscendance said:
I noticed its the same when you normal reboot on 2.5, it hangs for quite a while on the HTC grey screen and then finally boots. how do I go about upgrading?
Click to expand...
Click to collapse
That could have very well been a bug in 2.5 that I didn't catch. You can upgrade to 2.6 over 2.5 without any issues.
tkirton said:
That could have very well been a bug in 2.5 that I didn't catch. You can upgrade to 2.6 over 2.5 without any issues.
Click to expand...
Click to collapse
awesome. thanks
DJAscendance said:
I noticed its the same when you normal reboot on 2.5, it hangs for quite a while on the HTC grey screen and then finally boots. how do I go about upgrading?
Click to expand...
Click to collapse
Download http://www.darktremor.com/files/misc/a2sd-2.6-signed.zip and flash it like you would a ROM. I flashed it with RA 1.6.2...not sure if other recovery versions will work (been getting mixed results).
If you can't flash it, let me know and I'll guide you to manually push it.
I flashed it with 1.6.2 and its still doing the same hanging on the HTC screen.
its been stuck on it for like ten minutes now
tkirton said:
This is odd...mine's not doing that.
I don't think you have the right a2sd. Download the updated 2.6 (http://www.darktremor.com/files/misc/a2sd-2.6-signed.zip) and flash that one.
The starting line should say now: Darktremor A2SD version 2.6.
Let me know if that fixes your issue.
Click to expand...
Click to collapse
Relfashed it twice, same deal. Gonna nandroid back and try it new.
the new gui version out there worked for me maybe try that if your having problems- http://forum.xda-developers.com/showthread.php?t=670098
fallentimm said:
the new gui version out there worked for me maybe try that if your having problems- http://forum.xda-developers.com/showthread.php?t=670098
Click to expand...
Click to collapse
Nah. I'm happy with this version.
how do I pull logs from this boot, its still stuck on the htc screen, im tempted to just pull the battery
edit: I plugged it in and adb rebooted and it booted just fine
smw6180 said:
Relfashed it twice, same deal. Gonna nandroid back and try it new.
Click to expand...
Click to collapse
Nope, no good. I nandroided back (ever have a bad nandroid? Heh) 2 versions ago where I wasn't using a2sd. Installed the latest that you uploaded. I still get:
Code:
# /system/bin/a2sd
/system/bin/a2sd
[*] Starting A2SD version 2.6
[ ] Searching for Swap Partition
[ ] Swap Partition Found...Turning on swap.
swapon: /dev/block/mmcblk0p3: Device or resource busy
[ ] Searching for Mount Point...
[!] Mount point found..no further action required.
[ ] Checking for ext partition
[!] Ext partition already mounted.
[ ] Moving Dalvik Cache back to SD card.
[ ] Resetting and Moving Dalvik Cache.
[ ] Searching for Data directory on ext partition.
[ ] Searching for Dalvik-cache directory on ext partition
[ ] Searching for App directory on ext partition
[ ] Searching for App-private directory on ext partition
[ ] Removing ODEX files from /system/sd/app
rm failed for /system/sd/app/*.odex, No such file or directory
[ ] Removing ODEX fles from /system/sd/app-private
rm failed for /system/sd/app-private/*.odex, No such file or directory
[*] A2SD installed and active.
[ ] Performing Sync.
[ ] Setting properties (for 1.5 Roms).
and
Code:
# /system/bin/a2sd help
/system/bin/a2sd help
[*] Starting A2SD version 2.6
Not sure what's up.
Edit:
Also all kinds of force closes. I ran an a2sd remove. Gonna reboot and see what happens. Something went wrong somewhere it looks like.
DJAscendance said:
I flashed it with 1.6.2 and its still doing the same hanging on the HTC screen.
Click to expand...
Click to collapse
Can you run a logcat...I should be able to diagnose it.
smw6180 said:
Nope, no good. I nandroided back (ever have a bad nandroid? Heh) 2 versions ago where I wasn't using a2sd. Installed the latest that you uploaded. I still get:
Code:
# /system/bin/a2sd/system/bin/a2sd
[*] Starting A2SD version 2.6
[ ] Searching for Swap Partition
[ ] Swap Partition Found...Turning on swap.
swapon: /dev/block/mmcblk0p3: Device or resource busy
[ ] Searching for Mount Point...
[!] Mount point found..no further action required.
[ ] Checking for ext partition
[!] Ext partition already mounted.
[ ] Moving Dalvik Cache back to SD card.
[ ] Resetting and Moving Dalvik Cache.
[ ] Searching for Data directory on ext partition.
[ ] Searching for Dalvik-cache directory on ext partition
[ ] Searching for App directory on ext partition
[ ] Searching for App-private directory on ext partition
[ ] Removing ODEX files from /system/sd/app
rm failed for /system/sd/app/*.odex, No such file or directory
[ ] Removing ODEX fles from /system/sd/app-private
rm failed for /system/sd/app-private/*.odex, No such file or directory
[*] A2SD installed and active.
[ ] Performing Sync.
[ ] Setting properties (for 1.5 Roms).
and
Code:
# /system/bin/a2sd help
/system/bin/a2sd help
[*] Starting A2SD version 2.6
Not sure what's up.
Edit:
Also all kinds of force closes. I ran an a2sd remove. Gonna reboot and see what happens. Something went wrong somewhere it looks like.
Click to expand...
Click to collapse
Take the zip file out of your SD card. Go download this copy: http://www.darktremor.com/files/misc/a2sd-2.6c-signed.zip
This is what you should be seeing:
Code:
[*] [B]Starting Darktremor A2SD version 2.6[/B]
[ ] Searching for Swap Partition
[ ] Swap Partition Found...Turning on swap.
[ ] Searching for Mount Point...
[!] Mount point found..no further action required.
[ ] Checking for ext partition
[!] Ext partition found.
[!] Skipping check due to dalvik-cache symbolic link
[ ] Mounting ext partitions
[ ] Checking for version 2.5 flag files...
mkdir: cannot create directory '/system/sd/lost+found': File exists
[ ] Searching for Data directory on ext partition.
[ ] Searching for Dalvik-cache directory on ext partition
[ ] Searching for App directory on ext partition
[ ] Searching for App-private directory on ext partition
[ ] Removing ODEX files from /system/sd/app
rm: cannot remove '/system/sd/app/*.odex': No such file or directory
[ ] Removing ODEX fles from /system/sd/app-private
rm: cannot remove '/system/sd/app-private/*.odex': No such file or directory
[*] A2SD installed and active.
[ ] Performing Sync.
[ ] Setting properties (for 1.5 Roms).
/system/bin/sh terminated by exit(0)
I renamed the file so there would be no confusion when you download it (I think you may be downloading it, but it looks like you keep flashing the same file. Renaming it eliminates any current or potential confusion.)
Flash the 2.6c file and run it. If you see the line I bolded, you have the fixed version.
Related
Hi,
I've made a bunch of script usable with any JF mod
depend on you taste choose a size for you ext2 partition. and leave the rest in fat32
then download this http://www.badongo.com/file/13527235
and unzip it to your sdcard
open any terminal and type:
$su
#cd /sdcard/scripts
#sh 01_mount.sh
don't be afraid, your phone will reboot automatically at the end of the script
after the reboot,
open a terminal and type:
$su
#busybox df -h
You should something like this:
/dev/mmcblk0p2 1.2G 9.1M 1.1G 1% /system/sd
if it's ok
#cd /sdcard/scripts
It depend on you,
If it's the first time you use apps in sd type :
#sh 02_app2sd.sh
this will copy data/app and data/app-private to sd card, remove the original directories, create the good symlinks and reboot.
If you wanna recover your apps stored in your sd after an update or a theme install type :
#sh 02_restoreapp2sd.sh
this script will remove the original directories, create the symlinks and reboot.
the script 03_ move some cache apps to your sd.
you can edit it if you want but for now it move :
- the market's cache
- StreetView's cache
- Browser's cache
- Imeem's cache
- Tunewiki's cache
I hope it will help some of you.
The file located in rapid share has reached 10 times download limit, can you upload it to somewhere else?
Is there a way to do this on a adp1.1 phone that is not JF?
Or is there a way to get the terminal commands onto a adp1.1 without doing JF?
so we still have to push modified mountd and init across first...
or you could use lucidrem's JFMOD first and then these scripts?
unable to DL scripts...
more cache cripts here: http://androidcommunity.com/forums/f28/moving-caches-made-easy-12424/
Any update with this or is it dead?
Hi everybody, since nobody answered this post for almost 1 week i thought it was dead
well, this the new link
http://www.badongo.com/file/13527235
don't hesitate to tell me a good place to upload the files.
Bohemian
Is there a way to do this on a adp1.1 phone that is not JF?
Or is there a way to get the terminal commands onto a adp1.1 without doing JF?
Click to expand...
Click to collapse
No you need to have root to do this
MontAlbert
so we still have to push modified mountd and init across first...
or you could use lucidrem's JFMOD first and then these scripts?
unable to DL scripts...
more cache cripts here: http://androidcommunity.com/forums/f...de-easy-12424/
Click to expand...
Click to collapse
No, you don't need the lucidrem's JFMOD since the scripts.zip file contain the 2 modified files already.
Well i've just checked the Lucidrem's JFMOD and since the modified files point to /system/sd
you can use his mod.
then in my Scripts.zip you can skip the 01_mount.sh
to go straight to 02_app2sd.sh
This is a build-environment which adds all that great stuff from CyanogenMod to the rogers-rom.
This will add following features to CyanogenMod (Version 3.4) like:
* Enhanced ramdisk to mount partitions with noatime/nodiratime (perf boost)
* Apps2SD via AUFS (same as UnionFS) enabled by default!
* Uses Ext3 for Apps2SD
* Optimized kernel (no debug options, cfq iosched)
* Maximum CPU scaling frequency set to 528MHz
Thanks to all involved people ... jesusfreke, haykuro, virtudude (thanks for sharing the build-environment), CYANOGEN and all I didn't mention!
*** AT YOUR OWN RISK ***
This build-environment will generate a very *** experimental *** rom for you.
Like the original ROM from haykuro, this requires SPL 1.33.2005 - info about this SPL is available here:
(*** WARNING - Potential Bricking - Read carefully *** )
http://forum.xda-developers.com/showpost.php?p=3816278&postcount=3
Downloads:
Build-Environment:
http://drop.io/kaobiore/asset/rogers-cyanogenized-v3-3-build-tar-gz
Have fun!
-kaobiore-
Is the boot.img the major difference? Can I just flash it instead of installing the whole ROM if I'm currently on Soulife's Roger's ROM?
Very theoretically yes ... but yeah ... it would be really hard to do (using different methods of flashing / replacing files).
If you really want to do it ... drop me a private message (remember ... it will be quite hard to do - you know what fastboot and adb is?) and will give you instruction how to do it.
But anyway ... I've included the build-environment (which was created originally by jesusfreke and was adepted by virtudude for rogers) and this could be used by other devs or even you to build your own rom.
I flashed boot.img without any side effects (that I've seen). Is there a way to verify whether or not I'm taking advantage of anything? I'm going to flash the whole build and check it out.
grokdesigns said:
I flashed boot.img without any side effects (that I've seen). Is there a way to verify whether or not I'm taking advantage of anything? I'm going to flash the whole build and check it out.
Click to expand...
Click to collapse
if you only flash boot.img:
wifi wont work ... app2sd is messed up
The better choice is to flash my build ...
Flashed the whole build without wiping from Soulife's Rogers' ROM. Everything seems to work fine. AUFS is working correctly (apps weren't automatically moved to SD, but that's fine). Nice build!
grokdesigns said:
Flashed the whole build without wiping from Soulife's Rogers' ROM. Everything seems to work fine. AUFS is working correctly (apps weren't automatically moved to SD, but that's fine). Nice build!
Click to expand...
Click to collapse
Are you already on a ext3-filesystem (apps2sd)?
You could check that by using "mount"-command in console - you should find a line similar to this:
/dev/block/mmcblk0p2 on /system/sd type ext3 (rw,noatime,nodiratime,errors=continue,data=ordered)
exactly what I want, thanks. downloading.
kaobiore said:
Are you already on a ext3-filesystem (apps2sd)?
You could check that by using "mount"-command in console - you should find a line similar to this:
/dev/block/mmcblk0p2 on /system/sd type ext3 (rw,noatime,nodiratime,errors=continue,data=ordered)
Click to expand...
Click to collapse
Yes I already had an ext3 partition and yes, I have that mount entry. I installed a new application and it correctly went to /system/sd/app, but my old programs are still in /system/intmem/app. Like I said, not a big deal, they're easily moved.
update wont install get:
E: Can't chown/mod /data/app
E:Failure at line 63:
set_perm_100 1000 0771 DATA:app
Installation aborted
nabzilla1990 said:
update wont install get:
E: Can't chown/mod /data/app
E:Failure at line 63:
set_perm_100 1000 0771 DATA:app
Installation aborted
Click to expand...
Click to collapse
I hit exactly the same problem, end up extract boot.img from update.zip and
flashed this way
Code:
# cat /dev/zero >> /dev/mtd/mtd2
write: No space left on device [this is ok, you can ignore]
# flash_image boot /sdcard/boot.img
works fine after that
so i do this before I flash the update
EDIT: Realized that HTC Sync was mentioned in the OP.
gladoo said:
I hit exactly the same problem, end up extract boot.img from update.zip and
flashed this way
Code:
# cat /dev/zero >> /dev/mtd/mtd2
write: No space left on device [this is ok, you can ignore]
# flash_image boot /sdcard/boot.img
works fine after that
Click to expand...
Click to collapse
Are you guys using the latest SPL from haykuro (1.33.2005)?
This SPL is mandatory - please see first post for info/instruction!
yes im using the latest spl but worked with those commands
kaobiore said:
Are you guys using the latest SPL from haykuro (1.33.2005)?
This SPL is mandatory - please see first post for info/instruction!
Click to expand...
Click to collapse
I am on the new SPL and am upgrading from virtuadude v3. I also get this error.
Code:
E: Can't chown/mod /data/app
E:Failure at line 63:
set_perm_100 1000 0771 DATA:app
Installation aborted
Is it possible that it has to do with having the lucid apps to sd previously? I am a linux noob, but that is the only thing I can think of.
glock30 said:
I am on the new SPL and am upgrading from virtuadude v3. I also get this error.
Code:
E: Can't chown/mod /data/app
E:Failure at line 63:
set_perm_100 1000 0771 DATA:app
Installation aborted
Is it possible that it has to do with having the lucid apps to sd previously? I am a linux noob, but that is the only thing I can think of.
Click to expand...
Click to collapse
Mmmmhh ... could be.
Could you please try to wipe before flashing my rom?
Are all others who are having this problem using an app2sd-card-mod?
If yes, which one?
did a wipe and fresh ex3 partition still gave me that error but fine after the commands really fast build love it
nabzilla1990 said:
did a wipe and fresh ex3 partition still gave me that error but fine after the commands really fast build love it
Click to expand...
Click to collapse
Mmmmh ... weird ... I going to remove this set_perm-command (update-script) and will upload version 2.
Sorry for that ...
I actually did do a wipe... I tried once again with a wipe... still the same issue. Tried using the info gladoo posted and ended up with a endless loop at the HTC screen... ended up going back to vurtuadude's for now... Hopefully this info helps.
this script automates the process of partitioning a sdcard on your android device. it should work fine for all sizes/types of sdcards, but since i can't test all sizes/types of sdcards, we'll have to see.
if you are running into problems with the script, post the log file(located at /data/sdparted.log) when asking for help.
big ups to cyanogen (parted and upgrade_fs) and Denkai (upgrading to ext4).
i welcome all comments, questions & suggestions, related to the script. this is NOT a general q&a.
read the ENTIRE post BEFORE asking questions, please.
to manually partition your sdcard see my other thread.
DISCLAIMER: i take no responsibility for what happens to you, your phone, sdcard, data, sanity, etc if you use this script. remember to backup your sdcard to your pc before you begin. this script has the potential to COMPLETELY WIPE your sdcard!
##########################
shameless promotion:
sdparted can also be found in amon_ra's recovery and natalic's android toolkit.
##########################
features:
-automated partition of sdcard using parted
-upgrading to ext3/ext4
-downgrading to ext2
-interactive mode
-supports units (M and G)
-supports floating point partition sizes (ie. .5G=512M)
-automatic logging to /data/sdparted.log
##########################
requirements:
android phone with proper utilities(cm-recovery-1.4, amon_ra's recovery)
sdcard <--class 6 recommended(adata makes good ones...they max out the g1 hw in terms of speed)
adb
fingies
##########################
Code:
sdparted v0.6 created by 51dusty
if you use this script in your work, please give some credit. thanks.
requirements: cm-recovery-v1.4
usage: sdparted [options]
options:
--fatsize|-fs SIZE[MG] set the size of the fat32 partition to <SIZE>.
default=total sdcard size - (ext + swap)
--extsize|-es SIZE[MG] set the size of the ext partition to <SIZE>.
default=512M
--swapsize|-ss SIZE[MG] set the size of the swap partition to <SIZE>.
if set to 0, no swap partition will be created.
default=32M
--extfs|-efs TYPE set the filesystem of ext partition to <TYPE>.
valid types=ext2, ext3, ext4
default=ext2
--upgradefs|-ufs TYPE upgrades existing ext partition to <TYPE>.
this operation will NOT wipe your sdcard and
cannot be used with any partition creation options.
valid types=ext3, ext4
--downgradefs|-dfs TYPE downgrades existing ext partition to <TYPE>.
this operation will NOT wipe your sdcard and
cannot be used with any partition creation options.
valid types=ext2
--interactive|-i interactive mode
--help|-h display this help
--printonly|-po display sdcard information
--silent|-s do not prompt user, not even initial warning.
examples:
sdparted creates swap=32M ext2=512M fat32=remaining free space
sdparted -efs ext4 creates swap=32M ext4=512M fat32=remaining free space
sdparted -fs 1.5G -efs ext3 creates swap=32M ext3=512M fat32=1536M
sdparted -es 256M -ss 0 creates no swap ext2=256M fat32=remaining free space
sdparted -ufs ext4 upgrades ext partition to ext4
##########################
need to backup your ext partition?
the following commands will backup/restore your ext partition to/from a folder named sdbackup in your current directory. these must be run while phone is booted, not recovery.
to backup your ext partition: adb pull /system/sd/ %CD%\sdbackup
to restore back to sdcard: adb push %CD%\sdbackup /system/sd
##########################
to run from computer:
1. download sdparted.txt below to computer
2. connect g1 via usb
3. boot into cm-recovery-v1.4, goto console(alt-x)
4. at your windows cmd prompt type: adb push /path-to/sdparted.txt /sbin/sdparted
5. then type: adb shell chmod 755 /sbin/sdparted
6. to run type adb shell and hit enter.
7. you can now run script (ie. sdparted -efs ext4).
to run w/o computer:
1. download sdparted.txt below to root of sdcard. (get downloadcrutch if needed*thnx lycoln)
2. boot into cm-recovery-v1.4, goto console(alt-x)
3. at # prompt type: mount /sdcard
4. then, mv /sdcard/sdparted.txt /sbin/sdparted
5. then, chmod 755 /sbin/sdparted
6. you can now run script (ie. sdparted -efs ext4).
you CANNOT run this script from terminal app.
##########################
if the script crashes or you receive an error:
immediately pull the log to your computer(using adb pull /data/sdparted.log sdparted.log), b/c the log will not be there after a reboot. send me the log when reporting errors, please.
##########################
changelog:
changes in v0.6
*new feature=interactive mode
*tweak user abort function for those with itchy fingers
changes in v0.5.3
*remove initial warning(kinda pointless if there is another before you wipe)
*clean partition table handling code
*general code cleanup/consolidation in anticipation of new features
changes in v0.5.2
*handling of "partition 1 may not be aligned to cylinder boundaries", fixing "sh: -gt: argument expected" and related phenomena (ie. sdparted trying to partition using negative numbers ) reported by midtoad
changes in v0.5.1
*slight change to logging(so slight it only gets a .1), fixing "/sbin/sdparted: line 5: .//sbin/sdparted: not found"
changes in v0.5
*new feature=floating point partition sizes
*new feature=downgrade ext filesystem (ext3->ext2 ONLY, for now)
*fix some crappy programming
changes in v0.4
*unmount all partitions before operations, fixing "Error: Partition(s) on /dev/block/mmcblk0 are being used".
*remove some useless code
changes in v0.3
*new feature=logging
*new feature=units
*new feature=print card info
changes in v0.2
*add cm-r-v1.4 check to prevent running in 1.3.1
##########################
todo items:
-downgradefs support for ext4
##########################
Excellent!
One of the easiest things Ive done in a while. Worked great!
great.
i'm new to android, so i have a question.
I'm guessing when you go to settings and eject SD card, it only unmounts the FAT32 partition, right?
So does that mean the only safe way to eject the card is shutting down?
great job!
SyXbiT said:
great.
i'm new to android, so i have a question.
I'm guessing when you go to settings and eject SD card, it only unmounts the FAT32 partition, right?
So does that mean the only safe way to eject the card is shutting down?
great job!
Click to expand...
Click to collapse
That depends which ROM you are running and how it's set up. CyanogenMod for example, will automatically use the Ext partition for Apps-to-SD if it finds one. Ejecting a card while the phone is using it as part of its internal memory would be a Bad Thing™.
If you are running the stock firmware, it would be safe to remove the card after ejecting it in settings.
Could anyone at their convenience post directions for using this with console,
and where to place text attached? Funny, I've done this the manual way but don't know the simple things.
Thanks in advance for your work and patience. =)
Figured this one out!
Can you tell me how exactly to run this script? I ran this in recovery and i get sdparted not found.
sacredsoul said:
Can you tell me how exactly to run this script? I ran this in recovery and i get sdparted not found.
Click to expand...
Click to collapse
where did you place the file? did you run chmod?
excellent! Great job dusty
sacredsoul, Make sure you have the latest Cyanogen's Recovery Image, which I used 1.4. I got the same error using 1.31. I then updated to 1.4 and it worked perfectly. great Post 51dusty.
i am tryin to do this...hw do i get in recovery mode and wat exactly im i typin?..i hav a 4gig
Just wanted to chime in and say this script worked beautifully for me on a 16gb card.
Thanks!
I don't get it, am I mounting first, placing the file on the SD, then rebooting into recovery? The instructions make it sound as if I can just boot into console and pull it off my machine. Many people might find that confusing.
ctheory83 said:
I don't get it, am I mounting first, placing the file on the SD, then rebooting into recovery?
Click to expand...
Click to collapse
...i don't say to mount anything.
ctheory83 said:
The instructions make it sound as if I can just boot into console and pull it off my machine.
Click to expand...
Click to collapse
actually, you can...but you push instead.
51dusty said:
to install from computer, download, boot into cm-recovery-v1.4, goto console, and adb push /path-to/sdparted.txt /sbin/sdparted, then adb shell chmod 755 /sbin/sdparted. you can now run the script from adb(in recovery) or from g1 recovery console.
Click to expand...
Click to collapse
i will edit post to make installation less "confusing"...done.
Hey dusty i been struggling with this for like a week now and finally decided to post! so i got the adb thing running on my pc, windows 32-bit and it finds my device when i put the command "adb devices", so that far im fine but then your instructions tell us to boot the phone into recovery console and the type "adb shell" the result comes up "no adb found", at this point i have tried it with my phone plugged into the pc and unplugged without mounting it from the G1... please help what am i doing wrong im really confused! thanks!
The script is great i finally figured it out how to work this thing, but i just a bit of an issue now, when i keep installing apps my internal storage is also getting reduced a bit, i have installed about 100mb of apps and my internal storage reduced to 67 from 70mb, i have already cleared cache, using the app to move it to sd card, and also turned my phone off and took out the battery and rebooted, but its standing at 67mb... does this possibly have anything to do with protected apps??? please help!!
adb not found
hi,
it says adb not found, what am i doing wrong ?.
so my problem is that im not quite sure on what you mean by the path in the following command
adb push /path-to/sdparted.txt /sbin/sdparted
i know that you mean where ever the file is located but, for instance i just put mine in the c drive, so it should be adb push /c drive/sdparted.txt /sbin/sdparted
what is the correct way that should look?
edit: ok so i found my problem, i tried to install it from the adb shell, that was wrong, and this is the string in windows cmd i used for sdparted located just on the c drive
"adb push %cd%\sdparted.txt /sbin/sdparted" it then says the speed it was written, etc. does that mean it is correctly installed? from here, im not too sure how to go about setting up my partitions, again im very new to this.
you can now run the script from adb(in recovery) or from g1 recovery console.
Click to expand...
Click to collapse
Everything went okay, only the last stap with running from adb i dont understand.
What command is that ?
CoopZor said:
Everything went okay, only the last stap with running from adb i dont understand.
What command is that ?
Click to expand...
Click to collapse
i have edited first post to clarify how to run.
to run, from adb:
1. boot into cm-recovery-v1.4, goto console(alt-x)
2. at windows prompt, type adb shell and hit enter.
3. once connected via adb, you can now run script (ie. sdparted -efs ext4).
Click to expand...
Click to collapse
This script is based off of devsk's switchrom.sh found here: http://forum.xda-developers.com/showthread.php?t=541183. If you are unfamiliar with switchrom, you should probably read that thread first.
Requirements:
1) cyanogen's 1.4 recovery image, Amon_Ra's recovery image, or any other that is based off of the 1.4 recovery image.
2) an extended partition isn't required but makes it easier.
Installation:
rename bart-*.txt to bart.sh
copy bart.sh to /system/sd/
for example:
Code:
mv /sdcard/download/bart-0.9.8.txt /system/sd/bart.sh
note: if using Amon_Ra's 1.2.3 recovery, bart-0.9.2 is already included. Either type 'utility' into the console or invoke bart without sh, file extension, or path. For example: "bart -s myrom" instead of "sh /system/sd/bart.sh -s myrom".
Optional: Create config file named bart.config and place in /system/sd/
Features:
ability to store/restore ROMs based on name
store/restore all made default (nandroid and entire ext partition)
ability to customize the store/restore process
The main difference between the different restores is what data is deleted before the restoration process, not what is restored. The ext backup is kept in a single tar/tar.gz file and is extracted after deleting whatever the user chose to delete.
-r: deletes entire ext partition (rm -rf *)
-b -r: deletes apps folders and dalvik cache (rm -rf app* dalv*)
-a -r: deletes apps_s and dalvik cache (rm -rf app_* dalv*)
-n -r: deletes nothing from /system/sd
This version stores backups in /sdcard/bart. If you want your old switchrom backups available to you, just copy or move them there.
Code:
mkdir /sdcard/bart
mv /sdcard/switchROM/* /sdcard/bart/
Usage:
sh /system/sd/bart.sh [--noninteractive] [options] -s|--store [rom_name]
sh /system/sd/bart.sh [--noninteractive] [options] -r|--restore [rom_name]
sh /system/sd/bart.sh [--noninteractive] -d|--delete [rom_name]
sh /system/sd/bart.sh -l
Options:
-a|--apps_s
-b|--base, nandroid apps dalvik_cache
-c|--compress, only used with -s
-e|--ext_only
-h|--help
-n|--nandroid_only
-v|--version
--verbose
--nocache
--norecovery
--noboot
--nodata
--nosystem
--noninteractive
--reboot, only used with -r or -s
--shutdown, only used with -r or -s
Always specify options as separate words"
e.g. -c -r instead of -cr. It is required!
-r and -s need to be last or followed by rom_name.
--noninteractive needs to be first.
Don't use spaces or special characters in rom_name.
Compress will take longer but image will be smaller.
Examples:
store a complete backup, prompt for rom_name (nandroid and entire ext partition)
Code:
sh /system/sd/bart.sh -s
store nandroid, /system/sd/apps*, and /system/sd/dalv* (original switchrom behavior)
Code:
sh /system/sd/bart.sh -b -s
store nandroid only and name it mycy_nand
Code:
sh /system/sd/bart.sh -n -s mycy_nand
store complete ext partition only
Code:
sh /system/sd/bart.sh -e -s
store /system/sd/apps* and system/sd/dalv* only
Code:
sh /system/sd/bart.sh -b -e -s
store nandroid, /system/sd/apps_* and system/sd/dav* only
Code:
sh /system/sd/bart.sh -n -a -s
restore complete backup (nandroid and entire ext partition)
Code:
sh /system/sd/bart.sh -r
restore nandroid, apps folder, and dalvik-cache (original switchrom behavior)
Code:
sh /system/sd/bart.sh -b -r
restore entire ext partition only
Code:
sh /system/sd/bart.sh -e -r
restore /system/sd/app* and /system/sd/dalv* (not nandroid, only apps* dalv* folders cleared first,rest of ext partition left intact)
Code:
sh /system/sd/bart.sh -b -e -r
delete a backed up rom
Code:
sh /system/sd/bart.sh -d
list available roms
Code:
sh /system/sd/bart.sh -l
Changelog:
bart-0.9.1.sh: fixed bug where old nandroid backups were retained when same name was used.
bart-0.9.2.sh: added battery level check before restoring to avoid it crapping out midway during restore process.
bart-0.9.3.sh: added ability to send nandroid norecovery, noboot, nodata, and nosystem flags. Added verbose mode option for nandroid backup/restore.
bart-0.9.4.sh: added ability to delete ext-backup or nandroid separately. Added extra output for verbose mode.
bart-0.9.5.sh: added non-interactive mode
bart-0.9.6.sh: added option to backup/restore app_s, dalvik-cache, and nandroid
bart-0.9.7.sh: no longer tries to mount ext partition when -n option is given.
bart-0.9.8.sh: checks whether or not it is in recovery mode, increased verbosity for verbose mode, code cleanup.
bart-1.0.0.sh: ability to reboot/shutdown after store/restore, minor code cleanup
bart-1.0.1.sh: removed recovery mode check since its not always accurate
bart-1.1.0.sh: can now source a user config file.
bart-1.1.1.sh: fixed the shbang
bart-1.2.0.sh: added ability to backup/restore cache.
bart-1.3.0.sh: cache backup is now default (cache option is now --nocache). Now works with recovery's that mount ext at either /sd-ext or /system/sd.
bart-1.3.1.sh: fix to properly source bart.config on sd-ext as well (/sd-ext/bart.config or /system/sd/bart.config)
Much thanks to Devsk.
_______________________________
Of course I'll take your money.
Or you could donate to others that helped me. Such as:
cyanogen, Meltus, Amon_Ra, rgv151, Rogro82, Loccy, manup456, and many more.
Use switchrom quite often (between cyanogen, xrom, and jacxhero). I am going to upgrade to this though.
Will I be able to just remove the old switchrom script and restore my backups made with switchrom? Or would I need to restore them with the switchrom script and then back them up with this script?
I just really hope cyanogen will integrate this into his recovery image soon. It works wonders. The only thing that bothers me is that I am lazy and dont like having to type to mount system/sd and what not
Edit: Nevermind see in the OP if they are moved to /sdcard/bart it will work, dont know how I missed that
rondey- said:
Use switchrom quite often (between cyanogen, xrom, and jacxhero). I am going to upgrade to this though.
Will I be able to just remove the old switchrom script and restore my backups made with switchrom? Or would I need to restore them with the switchrom script and then back them up with this script?
I just really hope cyanogen will integrate this into his recovery image soon. It works wonders. The only thing that bothers me is that I am lazy and dont like having to type to mount system/sd and what not
Click to expand...
Click to collapse
this sounds to me alot like switchrom on steroids lol... good work.
just posted bart-0.9.1. Fixes a bug where old nandroid backups are retained when same rom name is used.
IDK why, but removing the last * in the following command seemed to work better (got an error including the last *).
Code:
mkdir /sdcard/bart
mv /sdcard/switchROM/* /sdcard/bart/
overground said:
IDK why, but removing the last * in the following command seemed to work better (got an error including the last *).
Code:
mkdir /sdcard/bart
mv /sdcard/switchROM/* /sdcard/bart/
Click to expand...
Click to collapse
My bad. Thanks.
dumfuq said:
just posted bart-0.9.1. Fixes a bug where old nandroid backups are retained when same rom name is used.
Click to expand...
Click to collapse
Was this per my request in the switchrom thread? If so sweet, if not then rockon anyways cuz the damn issue is fixed, I looked one day and I had 100mb left on my sd card, the switchrom folder was like 6GB cuz old bkup NAND imgs that stacked up over a month of bouncing between CM and hero
ESKIMOn00b said:
Was this per my request in the switchrom thread? If so sweet, if not then rockon anyways cuz the damn issue is fixed, I looked one day and I had 100mb left on my sd card, the switchrom folder was like 6GB cuz old bkup NAND imgs that stacked up over a month of bouncing between CM and hero
Click to expand...
Click to collapse
Yup. You instigated that one. Figured it was kinda a big issue for people who are always juggling space (like myself).
So now if I were to be using cyanogen for three days and for whatever reason I switch to xrom, if I was gonna back up the cyanogen rom I don't need to delete my previous backup?
rondey- said:
So now if I were to be using cyanogen for three days and for whatever reason I switch to xrom, if I was gonna back up the cyanogen rom I don't need to delete my previous backup?
Click to expand...
Click to collapse
If you use the same name to store a rom, yes it will overwrite the previous backup with said name. The ext-backup.tar will be overwritten and the nandroid backup will be deleted before the new one is made.
works great, thanks!
Used it to switch back and forth between CM 4.1.11.1 and JacHEROSki today and it worked like a champ. Nice job!
Thank you sir!, any way you can point me in the direction of modifying the script so the default is just ap* dal*, versus the whole ext partition, have several files and other things in the ext partiton that I don't need older version over writing my current version by accident.... basically restore the way devsk's script backed up ext side, do I just move the variable for the condition from the conditional statement and recreate it as global and set it equal to 1? 0? I'm pretty good at c, java, and a few other languages so its not totally greek, just a little unfamilar.
thanks bro
Good Work!
I have an suggestion. I use switchrom all the time. Every time I back up, the whole of the ext is backed up every time..
I would like it if only the dalvik-cache and the app_s alone is backed up and restored, and the app and app-private is either left alone, OR restored from a central location..
This would enable me to switch between ROM's, but keep the up to date apps in their present state...
I never wipe the app and app-private when switching between ROM's so that any app updates I have previously performed, remain as they are.. The issue arises when I use switchROM.sh to restore an old build, this will restore my apps to that point in time, and I have to re-update them...
Just a thought... I was considering doing this myself, but a couple of attempts failed, so I will leave it to the PRO's to figure out..
ESKIMOn00b said:
Thank you sir!, any way you can point me in the direction of modifying the script so the default is just ap* dal*, versus the whole ext partition, have several files and other things in the ext partiton that I don't need older version over writing my current version by accident.... basically restore the way devsk's script backed up ext side, do I just move the variable for the condition from the conditional statement and recreate it as global and set it equal to 1? 0? I'm pretty good at c, java, and a few other languages so its not totally greek, just a little unfamilar.
thanks bro
Click to expand...
Click to collapse
If you throw the -b switch in there (base), it will only store/restore app* and dalv* folders to/from your EXT.
A naming convention I use is CMx.xx.x09-21-09 [store all]
CMx.xx.x09-21-09NB[nandroid-base]
CMx.xx.x09-21-09EB[EXT-base]...and so on...
I tried using BART and this is what I get:
Code:
/system/sd # sh bart.sh -s
sh bart.sh -s
Please entere name for ROM.
test
test
Storing ROM test, proceed? (y/n) y
y
Storing app data...
tar: empty archive
Error occurred during storing of app data...
tar operation failed.
Do you have enough space on the /sdcard?
I have more than 2.5GB left on my SD card, my ext partition is 300MB, switchrom is working just fine, so what do you think my problem is?
pascanu said:
I tried using BART and this is what I get:
Code:
/system/sd # sh bart.sh -s
sh bart.sh -s
Please entere name for ROM.
test
test
Storing ROM test, proceed? (y/n) y
y
Storing app data...
tar: empty archive
Error occurred during storing of app data...
tar operation failed.
Do you have enough space on the /sdcard?
I have more than 2.5GB left on my SD card, my ext partition is 300MB, switchrom is working just fine, so what do you think my problem is?
Click to expand...
Click to collapse
Are you running it through the recovery console? Also I'm not sure if it is a prerequisite to create /sdcard/bart folder prior to running the script. It says to in the OP, so that's what I did. I know switchrom created it for you. Try this in recovery:
Code:
mount /system/sd
sh /system/sd/bart.sh [-flags][romname]
pascanu said:
I tried using BART and this is what I get:
Code:
/system/sd # sh bart.sh -s
sh bart.sh -s
Please entere name for ROM.
test
test
Storing ROM test, proceed? (y/n) y
y
Storing app data...
tar: empty archive
Error occurred during storing of app data...
tar operation failed.
Do you have enough space on the /sdcard?
I have more than 2.5GB left on my SD card, my ext partition is 300MB, switchrom is working just fine, so what do you think my problem is?
Click to expand...
Click to collapse
I have been unable to recreate this.
1) Can you try from the phone itself (in recovery of course) not using adb?
2) Are you positive there is space left? `busybox df -h /sdcard`
script works flawlessly, thank you soo much for making life |------------------| that much easier.
hopefully this can be added into the next recovery image once cyanogen gets some time together for it. he's been tweaking the **** outa his other roms. lol
madunix said:
hopefully this can be added into the next recovery image once cyanogen gets some time together for it. he's been tweaking the **** outa his other roms. lol
Click to expand...
Click to collapse
I already talked to him about it, he said he's gonna work on a new recovery this week.
Introducing...
Darktremor Apps2SD 2.7.5.3 Beta 04
Date of Release: January 29, 2011
Download Current Version
Instructions - Change Log - Commands - ROM List - Developer's Guide
Darktremor Apps2SD Fan Page ----
Darktremor Apps2SD Development Group
Are you installing Darktremor Apps2SD on your phone? Here are the instructions to help you: Facebook
Are you a developer wanting to include Darktremor Apps2SD in your latest ROM? Here is the Developer Guide: Facebook
Click to expand...
Click to collapse
Update on Beta 4
It seems I'm getting mixed results with these betas. I'm not sure why this is occurring, some people have been able to get this working right while others have had a hard time with it.
Currently, I'm rebuilding the entire program. This takes a while because I have to figure out how to pack all these options into the program but make it small enough to where it will run correctly.
I will say that some of the beta features are coming back out...one of them is the search for a partition code. I suspect that code may be leading me into issues with certain platforms, so I'm going back to the 2.7.5.2 method of mounting (mmcblk0p2 or mmcblk1p2).
Also, parts of the code will use Busybox Ash (the only code that won't will be starta2sd, which will still use Bash for the time being). The startup code will definitely use Busybox Ash.
Until then, here are the links to the the last two betas and the last official release:
Version 2.7.5.3 Beta 04 - http://www.darktremor.info/files/a2sd/dtapps2sd-2.7.5.3-beta04-signed.zip
Version 2.7.5.3 Beta 03 - http://www.darktremor.info/files/a2sd/dtapps2sd-2.7.5.3-beta03-signed.zip
Version 2.7.5.2-1 - http://www.darktremor.info/files/a2sd/dtapps2sd-2.7.5.2-1-signed.zip
And, if you want past versions, you can view the repository: ftp://dtuser:[email protected] (ignore the smiley face...that's XDA doing that.)
Click to expand...
Click to collapse
Beta 04 took longer than I expected to release. I have done major changes to the code:
1. New commands: convert-ext4 - This will convert your EXT3 partition into EXT4. Just a friendly reminder on this command: Not every rom supports EXT4, so it is possible to go into a boot loop if you switch roms. Use with caution.
2. Reworked convert-ext3 (convert-ext4 gets similar code)...now a flag file is set before the reboot (no conversion is done before the reboot). At load time, the conversion is performed. This takes longer in the reboot process and you may think your phone has locked up...wait about five minutes before doing anything with the phone.
3. Repair is rebuilt...now it uses existing commands to repair the setup (reinstall, remove, cachesd, cachepart, nocache, datasd, nodata). Definitely shrinks the code.
4. Added fix_permissions program to the package. This may help with Superuser issues when using the datasd feature. It is used in reinstall, remove, datasd and nodata.
5. a2sd install is back!!! Both a2sd install and a2sd reinstall do the exact same thing.
6. Dalvik heap code has been shrunk and now creates a file called dalvikheap. Actually, the code has been doing this all along (since about 2.7.5.2, I think), but I never put the code in to use the file.
7. Low Memory Killer code has also been shrunk and uses a file caled dtset_lowmem to set the low memory killer parameter.
8. Replaced Busybox PS function with Toolbox PS. The issue with Busybox PS is that it gives a false reading when I look for android.process.acore (which is the main program when the GUI starts up). If that is present, the program thinks you are trying to run Darktremor without any command line parameters. This was because Busybox would report the process was there when, in reality, it wasn't (validated this when my phone was boot looping.) Toolbox's PS reports the correct setting. This should fix the bootlooping issues some people are experiencing.
9. New commands: usedtbusybox and usedefaultbusybox - these commands may help in diagnosing issues that is may be related to the native Busybox on your rom. a2sd usedtbusybox will use the Busybox that is packaged with Darktremor. a2sd usedefaultbusybox will turn back on the scan behavior of the program introduced in Beta 03.
10. Support for Darktremor Apps2SD version 2.7 and earlier has been discontinued. To upgrade correctly from one of those versions, use version 2.7.5.3 Beta 03b or earlier.
11. Finally fixed stalled boot issues (or at least my tests with several roms says so.)
See the change log for additional details.
You will notice that if the program runs repair and finds a problem, it will correct the issue and reboot. You will see a second reboot when the dalvik-cache clears (this is to fix timing issues with CyanogenMod...I can't control that startup as well as I can other roms). This only happens if repair is ran or you flash a new rom (as repair will realign all data). If you are upgrading from a previous version of Darktremor, you should not see the reboots.
Click to expand...
Click to collapse
This is Darktremor Apps2SD, a multipurpose program that primarily allows a user to execute applications created for the Android OS on their Secure Digital card (with the proper setup...more on that later). But, Darktremor Apps2SD is all about stability. The goal is to be able for all users of the Android OS to be able to take advantage of a method to run their applications from a secure digital card.
But just because the Darktremor Apps2SD is all about stability, doesn't mean it isn't packed with features:
- Move applications (both free and paid) to the Secure Digital card.
- Move Dalvik Cache to run either from your Secure Digital card or from your cache partition and clears the cache on demand.
- Boot Loop Protection: prevents the phone from boot looping in the event the SD card could not be mounted.
- Dalvik JIT for faster performance on Roms which support it.
- User selectable sizes for the Dalvik heap sizes, allowing a user to freely optimize their system.
- Activate a swap partition on your SD card and sets how often the swap partition is utilized.
- Automatically fixes configuration issues.
- Users can check the free space on their SD card and check the installation to make sure all is setup correctly.
- Runs ZipAlign on demand...this makes your programs load faster.
- Built in help system for easy reference of commands.
- All features can also be reversed without repartitioning your Secure Digital card.
- New logging features assists in troubleshooting issues.
- Commands to set the Low Memory Killer feature at boot time. Great for those people who are the "set it and forget it" type.
- And more...
Darktremor Apps2SD is not the same as Froyo Apps2SD. Froyo Apps2SD creates a secure folder on the FAT32 section of your SD card (this is the section that you see when you mount your phone to your computer) and stores the programs there. This is nice as you don't have to do anything special with the phone, but it isn't backwards compatible with older versions of Android (Cupcake, Donut, Eclair) and, because of the way Froyo works, older programs not designed for Froyo will automatically stay on your internal storage (unless you install a program that forces the move to your SD card).
Darktremor Apps2SD takes a different approach. Based on the original CyanogenMod works, Darktremor Apps2SD uses symbolic linking to force Android into moving your applications to the SD card. Because Android will not allow anything to be ran from the FAT32 partition on your SD card (and, in Froyo, it will only allow you to run programs from a special folder), Darktremor utilizes filesystems called EXT2, EXT3 and EXT4. Each one of these filesystems is native to Linux (the operating system running Android), which allows you to run programs from them (same as, say, a computer running Ubuntu). This method is completely compatible with all versions of Android, including Froyo. In fact, you can run both the Darktremor Apps2SD and Froyo Apps2SD at the same time.
Check out the list of Roms that either have Darktremor Apps2SD installed or are compatible with Darktremor Apps2SD. Click on the link labeled ROM List at the top of this message.
Darktremor Apps2SD Installation Instructions
How to install:
NOTE: ROMS THAT ARE ORM (ORIGINAL ROM FROM MANUFACTURER...ALSO KNOWN AS STOCK ROMS) WILL NOT RUN ANY VERSION OF APPS2SD EXCEPT FROYO.
The code to launch Apps2SD is not present in the init.rc. The only way Apps2SD will work with a Stock ROM is if the init.rc has been modified with the commands to run Apps2SD.
Click to expand...
Click to collapse
Since you are flashing this version to your phone, do a nandroid backup of your phone before starting these instructions. Also, it is preferred you use RA 1.6.2 Recovery, Godspeed Recovery or ClockworksMod Recovery.
Click to expand...
Click to collapse
1. Download the program from the previous post.
2. Determine if you have setup your sd card with an ext partition
if you have setup your sd card already (existing users of a2sd...any version):
A. Copy the program to your sd card.
b. Reboot into recovery
Click to expand...
Click to collapse
if you have not setup your sd card (for those new to a2sd):
A. backup your sd card to your computer. can't stress this enough, as partitioning will wipe the entire card.
B. Reboot into recovery
c. In android system recovery, select partition sdcard
d. In the partition sdcard menu, select partition sd
e. Follow the instructions on the phone to partition your sd card. You can optionally set a swap file while you are partitioning your sd card.
F. In the partition sdcard menu, select sd:ext2 to ext3. Follow the instructions on the screen.
G. only perform this step if you want ext4 and your rom supports it: in the partition sdcard menu, select sd:ext3 to ext4. Follow the instructions on the sdcard.
h. Press the back button on the phone to go back to the main menu.
I. Put the a2sd file on the sd card (and all your other files you backed up earlier) by selecting usb-ms toggle and transfer the files to your computer.
Click to expand...
Click to collapse
3. In recovery, select flash zip from sdcard.
4. In flash zip from sdcard, select the a2sd package file you downloaded earlier. Press home to flash.
5. Reboot phone.
Click to expand...
Click to collapse
Note: Due to an issue with the Sprint Hero source code, ext4 partitions may only work intermittently. You may not want to use an ext4 partition unless the rom you are using is certified to have a working ext4 partition. If you have issues with ext4, repartition your sd card for ext3.
Click to expand...
Click to collapse
Note: If you apply Darktremor Apps2SD and still notice internal storage is decreasing, this is due to the dalvik-cache not being moved. By default, Darktremor Apps2SD will not move the dalvik-cache on boot.
If you want to move the dalvik-cache to the sd card, type:
a2sd cachesd (move dalvik to sd card)
a2sd cachesdreset (move dalvik to sd card and clears contents of dalvik-cache)
a2sd cachepart (move dalvik to cache partition)
a2sd cachepartreset (move dalvik to cache partition and clears contents of dalvik-cache)
Make sure your SD card is at least a class 4 before doing this, otherwise you may run into performance issues, unless you move the dalvik to the cache partition.
You still have other caches (i.e. Browser caches) and other data being stored and updated in internal storage, so the number of free space will continue to drop, but at a slower rate (unless you are engage in heavy web surfing, tweeting or facebook socializing.)
Click to expand...
Click to collapse
Darktremor Apps2SD Credits and Change Log
Special Thanks:
Thanks to the following people for helping me with Darktremor Apps2SD:
Toastcfh
- For assisting me in getting my test kernel setup to run ext4...that helped tremendously with development.
- For testing it (along with Flipzmode) on FreshToast 2.0 (CDMA Hero).
- For (along with Flipzmode) helping to identify the disappearing marketplace issue.
shahid.malik
- For testing on VillianROM 5.5 (HTC GSM Hero)
- For testing on VanillaEclair 2.0.1 (HTC GSM Hero)
Andrizoid
- For testing on Evil Eris 2.0 (HTC Eris)
- For including it in Smash Rom (HTC Eris)
Framework43
- For adding to Evil Eris 2.0.1 (HTC Eris)
DS36
- For testing on Eris Official 1.0 Alpha w/ Controllable Overclocking (HTC Eris)
4SidedDice (and others)
- For testing it on DamageControl's 2.08 and later (CDMA Hero)
Flipzmode
- For including it (along with Toastcfh) in FreshToast 2.0 (CDMA Hero)
- For including it in Fresh Hero (HTC CDMA Hero)
- For including it in Fresh Evo (HTC Evo)
- For (along with Toastcfh) helping to identify the disappearing marketplace issue.
Kurt666
- For testing on Pay's ROM for Desire v1.4 (HTC Desire)
Cordy
- For helping with general testing of Darktremor Apps2SD
zygame
- For including it on Daguu_Espresso_v1.2_By_FlZyGaMeUp-Pre-release-2 (HTC GSM Hero)
chuckhriczko
- For including it in SuperSonic v2.0 (HTC Evo)
zenulator
- For including it in ZenEXP 0.9.6.2 (HTC CDMA Hero)
crunchybutternut
- For including it in Buufed 1.7.2 (HTC CDMA Hero)
.mac
- For including it in ZenEXP Eris Expresso (HTC Eris)
Papa Smurf151
- For including it in Blue Echo (HTC CDMA Hero)
- For including it in Red Dawn (HTC CDMA Hero)
beezy420
- For including it in HoneyBun Rom (HTC CDMA Hero)
britoso
- For testing it on Froyo FRF50 and FRF83 (Nexus One)
djmcnz
- For including it in Kang-o-rama 0.9 Froyo (Nexus One)
THATTON
- For testing the installation process on ClockworksMod Recovery.
eViL D:
- For including it in eViL n-One-sh0t Noir 7 (Nexus One)
t2noob
- For including it in Plain Jane T2 2.1 (HTC Eris)
Jr33
- For including it in Froyo AOSP Beta3 (Nexus One)
- For including it in CliqMod (Motorola Cliq)
UltimoJedi
- For supplying the elusive base address to build a boot image on the HTC Legend.
MrDanger
- For including it in DangerRom (HTC CDMA Hero for Cellular South)
Kiljacken
- For including it in KiljackenROM (HTC Tattoo)
BesFen
- For including it in BesFen Apps2SD ROM (HTC Legend)
dsixda
- For including it in his Android Kitchen
freddyemmer
- For including it in Vodafone 845 MR Edition
attn1
- For including it in Liberated_Aria (HTC Aria)
capychimp
- For including it in RCMagic 4.2 for Rogers Cellular (HTC Magic)
nfinitefx45 (and others)
- For showing me the binding mount method for using dalvik-cache on the cache partition and using SenseUI (roboclk helped with this as well).
- For including it in NFX-Hero
Click to expand...
Click to collapse
If I forgot anyone...let me know.
Click to expand...
Click to collapse
Change Log
Darktremor Apps2SD Version 2.7.5.2
- Added additional code to allow /dev/block/mmcblk1p3 to be a swap partition. This complements the multiple location codes that were added in 2.7.5 Final that allows for EXT mounting from /dev/block/mmcblk0p2 or /dev/block/mmcblk1p2
- Fixed a few lines in the code that did not write to the log file correctly.
- Fixed the log file reference. It was pointed at "/data/dta2sd.log;"...the semicolon didn't need to be there.
- Adjusted the installer script to only remove files in /system/etc/init.d that have the following words in it: apps2sd, a2sd, cache, dalvik. It will also name the launcher file either 04apps2sd, 10apps2sd or 40apps2sd...depending on number availability (the number in the front of the file tells Busybox what sequence to run the file...you can't have two or more files start with the same number (i.e 04modules and 04apps2sd...one of these files will be skipped). This is to address concerns with other roms regarding the partition mounting as an ext2 when it was formatted as an ext4 (module launcher was overwritten by Darktremor).
Click to expand...
Click to collapse
Darktremor Apps2SD Version 2.7.5.1
- Added mounting functions to the cache partition. This mounts dalvik-cache directory on the cache partition (/cache/dc) to /data/dalvik-cache. The end result is SenseUI thinks it is storing dalvik-cache files on /data/dalvik-cache rather than the cache partition. No more force closes when using the cache to store dalvik-cache and using SenseUI.
- Added swappiness settings for swap partition. The command is a2sd swappyxx, where xx is the value you wish to set swappiness to (i.e. to set swappiness to 30%, type a2sd swappy30).
- Added a2sd partlist to list the available EXT partitions available on your rom. This should reduce the number of complaints about incorrectly mounting the ext partition.
- Rebuild a2sd repair to run from starta2sd. Fixa2sd is no longer available.
- Unmounts the EXT partition before it performs an automated reboot. This should reduce the time to mount the SD card (which it doesn't look like it did..oh well).
- Removed smallheap, largeheap and jumboheap command. Replaced with heapsizexx command, where xx is the number of megs you wish to set aside for dalvik cache.
Click to expand...
Click to collapse
Darktremor Apps2SD Version 2.7.5 Final
- New commands: cachepartreset, cachesdreset, nocachereset. These commands do the same as their counterparts (cachepart, cachesd, nocache), but it doesn't move the contents of the dalvik-cache. This allows users to perform both a move and a reset of the dalvik-cache.
- cmpatch command has been removed. The CyanogenMod patch that was related to that command automatically installs as part of startup.
- boota2sd has been removed. All functions have been transferred to launcha2sd. The "lite" version of Apps2SD no longer exists (replaced by the contents of boota2sd). This was done to speed up Apps2SD load time (this is part of the CyanogenMod 6 fixes).
- Mount commands now looks for both /dev/block/mmcblk1p2 and /dev/block/mmcblk0p2. This is to allow compatibility with phones that use mmcblk0p2 for other items (i.e. Froyo).
Click to expand...
Click to collapse
Darktremor Apps2SD Version 2.7.5 Release Candidate 3 (RC3)
- Four releases (three official, one unofficial): RC3, RC3A, RC3B (unofficial), RC3C...subsequent versions used to fix interactive issues between Darktremor Apps2SD and CyanogenMod Nightly Builds.
- Mount point has changed from /system/sd to /data/sd (RC3 only). This is mostly for stability with NAND protected phones. This was reversed back in RC3A. However, there is code in RC3C that detects whether the mount point /sd-ext (used in CyanogenMod and Froyo builds) exists...if so, it uses that mount point instead of /system/sd. - Include /system/bin/sysinit from CyanogenMod for developers who wish to use the CyanogenMod Froyo method outlined in the Rom Guide.
- a2sd swapspace now uses different data to show the swap sizes and free.
- Changed verbage in a2sd check to reflect the a2sd reinstall and a2sd reswap commands.
- New command: a2sd cmpatch - this command symlinks /cache/dalvik-cache to /data/dalvik-cache. Also creates a new Dalvik to Cache directory: /cache/dc.
- Now have a way to detect if the program is running during boot. Type a2sd by itself on a command prompt will display the help file.
Click to expand...
Click to collapse
Darktremor Apps2SD Version 2.7.5 Release Candidate 2 (RC2)
- a2sd install and a2sd swap have been renamed to a2sd reinstall and a2sd reswap. This is due to too many people thinking that a2sd install and a2sd swap is the commands used to install apps2sd and to turn on swap. These functions are automatic when apps2sd starts. Those commands are suppose to be used to a) reactivate apps2sd after running the a2sd remove command and b) reactivate swap after running a2sd noswap.
- Corrected lowmem-default command to work.
- Uses the installed Busybox on the phone or the included Busybox for Apps2SD. This may help with phones that are ext3 capable but only mount as ext2.
- Added more logging for Sysinfo
- Creates a separate dump file during Sysinfo that has numerous pieces of information about the phone. This will help in future troubleshooting and development of Apps2SD (it doesn't get sent anywhere).
- Detects Froyo build in a2sd check and a2sd repair. This will use the asterisks (old format) rather than the checkmarks (new format) in the report.
Click to expand...
Click to collapse
Darktremor Apps2SD Version 2.7.5 Release Candidate 1 (RC1)
- Added mknod command to create /dev/block/mmcblk0p2 (mostly for Froyo kernels)
- Added logging. Log is saved in /data/dta2sd.log
- Added Low Memory Killer commands (lowmem-moderate, lowmem-strict, lowmem-optimum, lowmem-aggressive, lowmem-extreme, lowmem-ultimate). Now the user can control the low memory killer settings and reapply them on boot. a2sd check reports Low Memory Killer settings - Moved launching of boota2sd from starta2sd to launcha2sd. This eliminates one level of bash shell, which should make the program use less memory.
- Now displays the help file when a2sd is called without command parameters from the command line.
- Added a new property: apps2sd.run. This is used for determining if a2sd is being called at first boot or the command line.
- Fixed an issue with moving /data/app and /data/app-private where the permissions were not being copied. This caused strange issues to occur in applications, especially the paid apps.
- a2sd check now reports "default setting" used when dalvik.vm.heapsize doesn't exists.
- Detection of No Apps2SD flag file has been installed in the Apps2SD Lite Version (apparently that was skipped all this time).
- Moved the code to activate swap to the front of launcha2sd. This is until I find a better way of detecting it.
- New format for a2sd check and a2sd repair. Now displays graphic symbols. Should make the report easier to read. Note: New graphics doesn't work so well in Froyo builds. A fix is coming soon.
- New commands: a2sd swapspace shows the amount of swap space (this may not work in all roms). a2sd sysinfo shows a complete profile of your phone.
Click to expand...
Click to collapse
Darktremor Apps2SD Version 2.7.5 Preview Fix 4a
- Removed 00a2sdremove script file. Removal of other apps2sd is done during the flash process.
- Fixed a coding error during the rebuild process where a2sd install and a2sd cachesd was not proceeding when the ext partition was mounted.
Click to expand...
Click to collapse
Darktremor Apps2SD version 2.7.5 Preview Fix 4
- Complete rebuild from Apps2SD 2.7 Update 3r1. This one is built a little different than Preview releases. Changes from Preview Fix 3 are included.
- Help system will now show the entire command list using Busybox More. - a2sd check will now display the ext type on the SD card.
- a2sd defaultheap will return the heap size to the device's default setting (removes all heap flag files)
Click to expand...
Click to collapse
Darktremor Apps2SD version 2.7.5 Preview Fix 3
- Removed reference to mounting /system (except in JIT installation/removal). This is to accommodate NAND protection in the Desire.
Click to expand...
Click to collapse
Darktremor Apps2SD version 2.7.5 Preview Fix 1 and Preview Fix 2
- Fixed JIT installation and removal error.
Click to expand...
Click to collapse
Darktremor Apps2SD version 2.7.5 Preview
- Added Boot Loop Protection...moves app, app-private and/or dalvik-cache back to internal storage if SD card could not be mounted. Sets No Apps2SD flag.
- Added Dalvik JIT. - Added user selectable Dalvik heap sizes (smallheap = 16mb, largeheap = 24mb, jumboheap = 32mb) - Renamed many programs with new .a2sd extentions.
- Corrected bugs from Darktremor A2SD 2.7 Update 3r1.
- Apps, Dalvik Cache and Swap Partition can be activated separately.
- Install and Davik Cache to SD will not work if the SD card can't mount. This prevents a user-inflicted boot loop.
Click to expand...
Click to collapse
Darktremor A2SD Version 2.7 Update 3r1
- Fixes a bug in fixa2sd that causes the dalvik-cache to automatically move to the SD card.
- Created a new program called launcha2sd that now does the launching functions of a2sd. The program a2sd now launches launcha2sd using bash. This fixes any /system/bin/sh issues with open brackets being interpreted at commands rather than conditions in an IF statement.
Click to expand...
Click to collapse
Darktremor A2SD Version 2.7 Update 3
- If a rom has the dalvik-cache on the cache partition, it will not attempt to move it to the internal cache.
- Users now have an option to move the dalvik-cache to the cache partition. The option to move dalvik-cache to the SD card is still retained.
- New commands introduced: cachepart moves dalvik-cache to cache partition, cachesd moves dalvik-cache to sd card (phased replacement to a2sd cache).
- Fixes some minor bugs.
Click to expand...
Click to collapse
Darktremor A2SD Version 2.7 Update 2
- The /system partition returns to read-only state when the program is finished. The /data partition is left untouched.
- ZipAlign does not automatically start on boot. You must type a2sd zipalign to activate the start on boot feature.
- Taken out visual references of CyanogenMod's cm.filesystem.ready and DamageControl's dc.filesystem.ready. It now refers to both visually as "File System Ready property"
- A2SD Check no longer mounts the ext partition. It will indicate when the ext partition is not already mounted. This should help in troubleshooting roms that do not automatically launch A2SD.
Click to expand...
Click to collapse
Darktremor A2SD Version 2.7 Update 1
- Reversed a decision on 2.7 final to set /system and /data to read-only when the program completes. This is causing major issues with some newer roms.
Click to expand...
Click to collapse
Darktremor A2SD Version 2.7
- Completely rebuild the entire program from ground up. Attempted to simplify the process and to better detect different environments.
- All programs use the included busybox.a2sd to avoid conflicts with the different busybox installations.
- Mounts /system and /data in read-write to prevent any conflicts. Remounts them in read-only when completed.
- Except for a2sd, all programs built as bash scripts.
- Separated the original program into the following programs:
a2sd - Simple script that detects whether the init.rc was fixed with the cm.filesystem.ready and sets it accordingly. Starts starta2sd if either a command is included or the cm.filesystem.ready patch is installed, otherwise runs A2SD that does not move dalvik-cache. Runs a smaller version of the boota2sd if the cm.filesystem.ready or dc.filesystem.ready are not present.
starta2sd - Processes all commands...it's the controller program. Adds the following commands: align, zipalign, nozipalign, resetcache, clearcache, fixmarket, diskspace. boota2sd - Used when the cm.filesystem.ready fix or the dc.filesystem.ready fix is present in init.rc. Resets dalvik-cache, app and app-private to internal storage upon the following conditions:
- Mount failure or missing ext partition, and
- Any or all key directories are symlinked to the SD card. This step prevents a bootloop or a stall from occuring during the boot process. Also incorporates better detection of mounted partition. If it detects the partition mounted in /proc/mounts, it will skip trying to mount. Automatically executes fixa2sd if the flags and symlinks to dalvik-cache, app and/or app-private do not match. Also moved the mounting of the swap partition to the end and reintegrated auto partition detection when mounting (similar to A2SD 2.6.1). Added ZipAlign functions.
chka2sd - Incorporates bug fixes that did not detect the dalvik-cache correctly. New report layout (should be simpler to read). Code was simplified. fixa2sd - Incorporates same bug fixes as chka2sd. Does a better detection of flag files and symlinks. Code was simplified.
setupa2sd - Used to execute setup commands from starta2sd (install, remove, cache, nocache, align, fixmarket). Also controls a2sd help.
aligna2sd - zip aligns all apk files in /data/app and /data/app-private.
010a2sdmodaco - Part of the Beta8 Modaco Desire testing, does the following:
- If 02cachedalvikcache exists, back the program up and overwrite the program, preventing the contents from executing.
- if 40a2sd exists, do the same thing.
Click to expand...
Click to collapse
Darktremor A2SD Version 2.6.1
- Mainly a bugfix. Corrects the dalvik-cache code where it would put the dalvik-cache back on the sd card even when the flag file was set.
- Put the flag files back on /system/sd. Fresh 2.0d was incompatible with the new setup (it doesn't mount the /sdcard until later in the boot process).
- Added code for Fresh 2.0d...the boot can be hung if the dalvik-cache is changed during boot. Program automatically determines if 04apps2sd exists in /system/etc/init.d (this is signature for any roms built from Fresh 2.0d) and automatically sets the NoCache flag if the dalvik-cache is in internal memory and the NoCache flag isn't set.
- Fixed swap code. It was not turning on swap when it should.
- (Release 1) - Fixed some minor issues.
- (Release 2) - Recreated a new flash package that is more compatible with different recovery system.
Click to expand...
Click to collapse
Darktremor A2SD Version 2.6
- Moves all flag files from /system/sd to /sdcard. The kernel mounts the FAT32 SD partition and that will be available before Apps2SD runs. Future flag file creation will be in /sdcard.
- Added a check feature (a2sd check). This will check your flag files and symlinks. A report on your screen will tell you what needs to be fixed, if any.
- Added a repair feature (a2sd repair). This will repair your a2sd installation.
- Flashing the A2SD checks Busybox installation and reinstalls it if necessary (it only checks for a missing Busybox installation...it won't replace the one you have installed).
- Automatically remounts /system and /data partitions for read-write access when started with any of the install/repair options (install, repair, cache, nocache, remove).
- Fixed mount command...now uses auto detect rather than the individual partitions. This allows A2SD to work on ext4.
- Separate nocache version available for slower SD cards.
Click to expand...
Click to collapse
Darktremor A2SD Version 2.5
- Added functionality to move dalvik-cache to the ext partition.
- Added option a2sd cache to manually move the dalvik-cache to the ext partition.
- Added option a2sd nocache to manually move the dalvik-cache back to the internal phone storage.
- Added option a2sd install to setup a2sd on a phone (all apps and dalvik-cache on ext partition)
- Added option a2sd remove to revert all a2sd changes back to normal mode (all apps and dalvik-cache in internal storage).
- Added option a2sd noswap to turn off swap partition.
- Added option a2sd swap to turn on swap partition.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Installing Support for Apps2SD in your Rom
How to add Apps2SD support to your Rom
If you are a new rom developer, chances are you are building a rom based on either someone else's work or you are using the stock rom. If you base your rom on someone else's work, chances are the previous developer included support for Apps2SD in the boot image.
However, if you are starting from the stock image, or you have grabbed a rom that doesn't have Apps2SD support, you aren't stuck. Here's a guide that will help you disassemble a boot image, edit the necessary files to activate Apps2SD, and reassemble a boot image.
To begin, you'll need a Linux or a Mac system and basic knowledge on how to navigate through your Linux or Mac via a terminal program. The tools presented in this guide will only work with those systems.
1. Create a directory called workspace. This will be where you work on the ramdisk.
2. Inside workspace, create another directory called scripts. This is where you will place the tools and scripts you will need.
3. Download the following and uncompress the files into the scripts directory: http://www.darktremor.info/files/tools/ramdisk-scripts.zip
4. Open a terminal window, change the directory to the workspace directory, and type chmod 755 *
5. Put the boot.img from the rom you are working on in the workspace directory.
6. In the terminal window, change to the scripts directory and type ./getramdisk
7. Change to the ramdisk directory located in the workspace directory.
8. Open a text editor and load init.rc
9. Look for a line called class_start default.
10. Choose a method:
Direct Apps2SD method
This method allows you to call Apps2SD directly. Additional scripts will have to be added as other services in the init.rc.
Type the following right above the class_start default:
start a2sd
on property:cm.filesystem.ready=1
The lines should look like this:
Code:
start a2sd
on property:cm.filesystem.ready=1
class_start default
Next , go to the end of the file and type the following:
Code:
service a2sd /system/bin/logwrapper /system/bin/sh /system/bin/a2sd
disabled
oneshot
Click to expand...
Click to collapse
Busybox Run-Parts Method
This method allows you to call Apps2SD (and other scripts) simply by placing it in a directory.
Type the following right above the class_start default:
start sysinit
on property:cm.filesystem.ready=1
The lines should look like this:
Code:
start sysinit
on property:cm.filesystem.ready=1
class_start default
Next , go to the end of the file and type the following:
Code:
service sysinit /system/bin/logwrapper /system/xbin/busybox run-parts /system/etc/init.d
disabled
oneshot
Click to expand...
Click to collapse
Modified CyanogenMod method
This method allows you to call Apps2SD (and other scripts) by running a script called sysinit
Type the following right above the class_start default:
exec /system/bin/sysinit
on property:cm.filesystem.ready=1
The lines should look like this:
Code:
exec /system/bin/sysinit
on property:cm.filesystem.ready=1
class_start default
Click to expand...
Click to collapse
11. Save the init.rc
12. Change to the scripts directory and type ./makeramdisk
13. Now it's time to create the boot image. In the scripts directory, you need to run the command makeboot, but you are going to need to enter some information on the command line:
a. You need the filename of the kernel code. This was created for you when you ran the getramdisk command. The file is called boot.img-kernel and it is located in the workspace directory.
b. You need the filename of the new ramdisk file you created. This was created for you when you ran the makeramdisk command. The file is called newramdisk.gz and it is located in the workspace directory.
c. You need to know what you are going to name your new boot image. You need to name it something other than boot.img (we'll fix that part later in the guide). Try newboot.img and save it to the workspace directory
d. You will need to know your kernel base address. Now I don't have all of the base addresses for all the phones, but I do have the four I normally work with when developers need me to check their boot image. This part is very important, as using the wrong base address will cause your phone not to boot (and you'll have to restore back from a recovery image). Use the following values for the base address and the kernel start commands:
Hero CDMA (heroc), Hero GSM (hero)
Base Address: 0x19200000
Command Line: "no_console_suspend=1 console=null"
Click to expand...
Click to collapse
Desire (bravo), Nexus One (passion)
Base Address: 0x20000000
Command Line: "no_console_suspend=1 msmsdcc_sdioirq=1 wire.search_count=5"
Click to expand...
Click to collapse
Evo 4G (supersonic), Incredible (inc)
Base Address: 0x20000000
Command Line: "no_console_suspend=1"
Click to expand...
Click to collapse
Wildfire (buzz)
Base Address: 0x02e00000
Command Line: "no_console_suspend=1 console=null"
Click to expand...
Click to collapse
Aria (liberty), Legend (legend), MyTouch3G Slide (expresso)
Base Address: 0x12c00000
Command Line: "no_console_suspend=1 console=null"
Click to expand...
Click to collapse
Geeksphone One
Base Address: 0x1a000000
Command Line: "[email protected] [email protected] [email protected] [email protected] [email protected] [email protected] androidboot.hardware=qcom"
Click to expand...
Click to collapse
T-Mobile G1 (dream), MyTouch3G (sapphire), Magic (sapphire)
Base Address; 0x10000000
Command Line: "no_console_suspend=1 console=null"
Click to expand...
Click to collapse
If you have the base address for a phone not listed, please let me know and I'll include them in this guide.
Click to expand...
Click to collapse
From the scripts directory, type:
./mkbootimg --kernel <Path and filename to boot.img-kernel> --ramdisk <Path and filename to newramdisk.gz> --cmdline "<Command Line from above>" -o <Path and filename of new boot image> --base <Base Address from above>
Example: ./mkbootimg --kernel ../boot.img-kernel --ramdisk ../newramdisk.gz --cmdline "no_console_suspend=1 console=null" -o ../newboot.img --base 0x19200000
14. Move the newboot.img file into the directory that you are using to build your rom and rename it to boot.img (you will have to delete the old boot.img first).
Now, if all works well, you will have a boot image that actually boots and has Apps2SD support built in.
To use Apps2SD with the Apps2SD direct method, simply put a file with the Apps2SD code in /system/bin and name it a2sd
To use Apps2SD with the Busybox Run Parts method or the CyanogenMod Froyo method, simply put a file with the Apps2SD code in /system/etc/init.d and name it anything...just make sure it starts with a two-digit number (not sure if that's an actual requirement, but all the busybox run parts roms use it). Example of this is 04apps2sd.
Darktremor Apps2SD Commands
Since this guide was posted, I'm getting questions ask on how to use Darktremor Apps2SD.
Darktremor Apps2SD is a command line interface (CLI) program (a GUI is planned, but has not been built).
You will need either a terminal program from the Android Marketplace, or you will need ADB from the Android Software Development Kit (SDK).
If you are using a terminal program, simply start up the program. Type su to allow the terminal program to gain superuser access (if you are using Superuser.apk to manage your superuser permission, this will automatically trigger a popup on the very first run. Press Accept to allow the terminal program superuser access).
If you are using ADB, simply navigate to the directory you stored the Android SDK in. Then navigate to the Tools directory under the SDK folder. Type adb shell in a command line on your computer (ADB can be found in the SDK under the Tools folder).
Both of these methods should bring you to a prompt that displays a pound sign (#).
Once you have the superuser prompt, simply type /system/bin/a2sd followed by the command you wish to use (i.e. /system/bin/a2sd check)
The list of commands are below.
Syntax
Syntax: /system/bin/a2sd command
command is one of the following:
Standard Apps2SD Commands:
--------------------------------------------------
reinstall
Moves free and paid apps to the ext2/ext3/ext4 partition on your secure digital card. Removes the No A2SD flag file.
This is used if you have already executed an a2sd remove command. Otherwise, this part is automatically performed when Apps2SD is started.
File removed: /data/.noa2sd
remove
Moves free and paid apps to the internal phone storage. Creates the No A2SD flag file.
File created: /data/.noa2sd
Click to expand...
Click to collapse
Swap Partition Commands:
--------------------------------------------------
reswap
Removes the No Swap flag. Allows A2SD to activate the swap partition.
This is used if you have already executed an a2sd noswap command. Otherwise, this part is automatically performed when Apps2SD is started. Note: This command has no effect on roms where the swap space is not built into the kernel.
File removed: /data/.noswap
noswap
Creates the No Swap flag. Prevents A2SD from activating the swap partition. Note: This command has no effect on roms where the swap space is not built into the kernel.
File created: /data/.noswap
swappyxx
Sets the swappiness setting for the swap file. xx sets the swappiness percentage used. (i.e. to set swappiness to 30%, type a2sd swappy30.
Click to expand...
Click to collapse
Dalvik Cache Commands:
--------------------------------------------------
cachesd
Moves Dalvik cache files to the ext2/ext3/ext4 partition on your secure digital card. Creates Dalvik Cache to SD flag.
Caution: If your phone fails to mount the ext2/ext3/ext4 partition and your dalvik-cache is pointed to the SD card, you will likely end up in a boot loop. Execute a2sd nocache from adb shell to rectify the issue.
Click to expand...
Click to collapse
File created: /data/.dalvikcacahe
File removed: /data/.dcpartition
cachesdreset
Same as cachesd above, but erases the contents of the dalvik-cache after move. This performs both the a2sd cachesd and a2sd resetcache all in one command.
File removed: /data/.dcpartition
cachepart
Moves Dalvik cache files to the /cache partition in your phone. Creates Dalvik Cache to Cache Partition flag.
Caution: Some phones do not have enough space to put the dalvik-cache on the cache partition. Also, some roms that have SenseUI installed may not work well with the dalvik-cache on the cache partition (although this issue appears to be fixed starting with Darktremor 2.7.5.1). If you experience issues such as force closes, try moving the dalvik-cache to the SD card (a2sd cachesd) or internal storage (a2sd nocache) instead.
Click to expand...
Click to collapse
File created: /data/.dcpartition
File removed: /data/.dalvikcache
cachepartreset
Same as cachepart above, but erases the contents of the dalvik-cache after move. This performs both the a2sd cachepart and a2sd resetcache all in one command.
File removed: /data/.dalvikcache
nocache
Moves Dalvik cache files to the internal phone storage. Removes all Dalvik Cache flags.
File removed: /data/.dcpartition, /data/.dalvikcache
nocachereset
Same as nocache above, but erases the contents of the dalvik-cache after move. This performs both the a2sd nocache and a2sd resetcache all in one command.
File removed: /data/.dcpartition. /data/.dalvikcache
resetcache
Clears the dalvik cache and restarts phone.
Click to expand...
Click to collapse
Apps2SD Diagnostic Commands:
--------------------------------------------------
check
Performs a symlink and flag file check on your setup. Outputs a report that shows you if
there are issues with your Apps2SD setup.
repair
Performs a repair of all symlinks based on flag file activation.
diskspace
Shows disk space statistics for the ext partition.
sysinfo
Displays information about your phone, partitions, swap, and more.
Also writes a dump file that has an entire profile of your phone. This is for troubleshooting only.
File Created: /data/dtsysdump.txt
swapspace
Shows swap space statistics for all swap space active on the phone. Note: This command has no effect on roms where the swap space is not built into the kernel.
Click to expand...
Click to collapse
ZipAlign Commands:
--------------------------------------------------
align
Performs a one-time zipalign on all APK files in /data/app and /data/app-private.
zipalign
Allows ZipAlign to execute during the boot process. Creates the ZipAlign flag file.
File Created: /data/.zipalign
nozipalign
Prevents ZipAlign from executing during the boot process. Removes the ZipAlign flag file.
File Removed: /data/.zipalign
Click to expand...
Click to collapse
Dalvik Setting Commands:
--------------------------------------------------
jit
Installs DalvikVM JIT.
WARNING: Do not run this command if your phone has NAND protection active.
Click to expand...
Click to collapse
nojit
Removes DalvikVM JIT.
WARNING: Do not run this command if your phone has NAND protection active.
Click to expand...
Click to collapse
defaultheap
Resets the Dalvik heap size to the default heap size.
File Removed: /data/.smallheap, /data/.largeheap, /data/.jumboheap
heapsizexx
Sets the dalvik heap size to xx. For example, to set the dalvik cache to 24mb, type a2sd heapsize24. To reset back to default, type a2sd heapsize0 (that's a zero, not the letter "o")
Click to expand...
Click to collapse
Low Memory Killer Commands:
----------------------------------------------------
lowmem-moderate
Sets the internal memory killer to the following settings:
Code:
Foreground Apps: 1536 pages / 6 MB
Visible Apps: 3072 pages / 12 MB
Secondary Server: 4096 pages / 16 MB
Hidden Apps: 7680 pages / 30 MB
Content Provider: 8960 pages / 35 MB
Empty App: 10240 pages / 40 MB
Create File: /data/.lmmoderate
Remove File: /data/.lmoptimum, /data/.lmstrict, /data/.lmaggressive, /data/.lmultimate, /data/.lmextreme
lowmem-optimum
Sets the internal memory killer to the following settings:
Code:
Foreground Apps: 1536 pages / 6 MB
Visible Apps: 2048 pages / 8 MB
Secondary Server: 4096 pages / 16 MB
Hidden Apps: 10240 pages / 40 MB
Content Provider: 12800 pages / 50 MB
Empty App: 15360 pages / 60 MB
Create File: /data/.lmoptimum
Remove File: /data/.lmmoderate, /data/.lmstrict, /data/.lmaggressive, /data/.lmultimate, /data/.lmextreme
lowmem-strict
Sets the internal memory killer to the following settings:
Code:
Foreground Apps: 1536 pages / 6 MB
Visible Apps: 2048 pages / 8 MB
Secondary Server: 4096 pages / 16 MB
Hidden Apps: 15360 pages / 60 MB
Content Provider: 17920 pages / 70 MB
Empty App: 20480 pages / 80 MB
Create File: /data/.lmstrict
Remove File: /data/.lmmoderate, /data/.lmoptimum, /data/.lmaggressive, /data/.lmultimate, /data/.lmextreme
lowmem-aggressive
Sets the internal memory killer to the following settings:
Code:
Foreground Apps: 1536 pages / 6 MB
Visible Apps: 3072 pages / 12 MB
Secondary Server: 4096 pages / 16 MB
Hidden Apps: 21000 pages / 82 MB
Content Provider: 23000 pages / 90 MB
Empty App: 25000 pages / 98 MB
Create File: /data/.lmaggressive
Remove File: /data/.lmmoderate, /data/.lmoptimum, /data/.lmstrict, /data/.lmextreme, /data/.lmultimate
lowmem-extreme
Sets the internal memory killer to the following settings:
Code:
Foreground Apps: 1536 pages / 6 MB
Visible Apps: 3072 pages / 12 MB
Secondary Server: 4096 pages / 16 MB
Hidden Apps: 38400 pages / 150 MB
Content Provider: 40960 pages / 160 MB
Empty App: 43520 pages / 170 MB
Create File: /data/.lmextreme
Remove File: /data/.lmmoderate, /data/.lmoptimum, /data/.lmstrict, /data/.lmaggressive, /data/.lmultimate
lowmem-ultimate
Sets the internal memory killer to the following settings:
Code:
Foreground Apps: 1536 pages / 6 MB
Visible Apps: 3072 pages / 12 MB
Secondary Server: 4096 pages / 16 MB
Hidden Apps: 51200 pages / 200 MB
Content Provider: 57600 pages / 225 MB
Empty App: 64000 pages / 250 MB
Create File: /data/.lmultimate
Remove File: /data/.lmmoderate, /data/.lmoptimum, /data/.lmstrict, /data/.lmaggressive, /data/.lmextreme
lowmem-default
Sets the internal memory killer back to phone default settings.
Remove File: /data/.lmmoderate, /data/.lmoptimum, /data/.lmstrict, /data/.lmaggressive, /data/.lmextreme, /data/.lmultimate
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Wow
Great release. ZipAlign on demand does make programs load noticeably faster. No problems with the market either. Trying different heap sizes for performance.
I like the help command too. Great work thanks!
Running a GSM Hero using a stock 2.1 repack ROM.
I've not used A2SD before, but giving it a shot now. I had no problems setting it up, the instructions are very clear and concise, but I am having problems using it.
I setup a 750MB ext3 partition, and I was expecting AppMonster to report I had loads of freespace. It was reporting my freespace as pretty much what it was before. (100MB free)
I tried /system/bin/a2sd install and it appears I have lots of duplicated files from the rather verbose output.
What have I done wrong?
Thanks.
Code:
# /system/bin/a2sd install
/system/bin/a2sd install
[ ] Launching Darktremor A2SD
[*] Starting Darktremor Apps2SD version 2.7.5 preview
[ ] Mounting /system as read-write
[ ] Starting Apps2SD in install mode
[ ] Checking SD Card.
[ ] Searching for Mount Point...
[!] Mount point found..no further action required.
[ ] Checking for ext partition
[*] Ext partition found and already mounted.
[ ] Moving apps to SD card.
cp: '/data/app/YouTube.apk' and '/system/sd/app/YouTube.apk' are the same file
cp: '/data/app/br.com.fast4ward.sdcardspeedtester.zip' and '/system/sd/app/br.co
m.fast4ward.sdcardspeedtester.zip' are the same file
cp: '/data/app/btm.game.ui.apk' and '/system/sd/app/btm.game.ui.apk' are the sam
e file
cp: '/data/app/com.adobe.reader.apk' and '/system/sd/app/com.adobe.reader.apk' a
re the same file
cp: '/data/app/com.agilesoftresource.apk' and '/system/sd/app/com.agilesoftresou
rce.apk' are the same file
cp: '/data/app/com.alfray.timeriffic.apk' and '/system/sd/app/com.alfray.timerif
fic.apk' are the same file
cp: '/data/app/com.bigtincan.android.adfree.apk' and '/system/sd/app/com.bigtinc
an.android.adfree.apk' are the same file
cp: '/data/app/com.bonfiremedia.android_ebay.apk' and '/system/sd/app/com.bonfir
emedia.android_ebay.apk' are the same file
cp: '/data/app/com.dozingcatsoftware.WireGoggles.apk' and '/system/sd/app/com.do
zingcatsoftware.WireGoggles.apk' are the same file
cp: '/data/app/com.facebook.katana.apk' and '/system/sd/app/com.facebook.katana.
apk' are the same file
cp: '/data/app/com.google.android.apps.maps.apk' and '/system/sd/app/com.google.
android.apps.maps.apk' are the same file
cp: '/data/app/com.google.android.apps.shopper.apk' and '/system/sd/app/com.goog
le.android.apps.shopper.apk' are the same file
cp: '/data/app/com.google.android.apps.translate.apk' and '/system/sd/app/com.go
ogle.android.apps.translate.apk' are the same file
cp: '/data/app/com.google.android.apps.unveil.apk' and '/system/sd/app/com.googl
e.android.apps.unveil.apk' are the same file
cp: '/data/app/com.google.android.maps.mytracks.apk' and '/system/sd/app/com.goo
gle.android.maps.mytracks.apk' are the same file
cp: '/data/app/com.google.android.stardroid.apk' and '/system/sd/app/com.google.
android.stardroid.apk' are the same file
cp: '/data/app/com.google.zxing.client.android.apk' and '/system/sd/app/com.goog
le.zxing.client.android.apk' are the same file
cp: '/data/app/com.handcent.nextsms.apk' and '/system/sd/app/com.handcent.nextsm
s.apk' are the same file
cp: '/data/app/com.luke.uktvguide.apk' and '/system/sd/app/com.luke.uktvguide.ap
k' are the same file
cp: '/data/app/com.magicwach.rdefense_free.apk' and '/system/sd/app/com.magicwac
h.rdefense_free.apk' are the same file
cp: '/data/app/com.maplekeycompany.apps.shake.apk' and '/system/sd/app/com.maple
keycompany.apps.shake.apk' are the same file
cp: '/data/app/com.mathpad.mobile.android.wt.unit.apk' and '/system/sd/app/com.m
athpad.mobile.android.wt.unit.apk' are the same file
cp: '/data/app/com.mattwach.trap2.apk' and '/system/sd/app/com.mattwach.trap2.ap
k' are the same file
cp: '/data/app/com.mgillespie.AutosportsFREE.apk' and '/system/sd/app/com.mgille
spie.AutosportsFREE.apk' are the same file
cp: '/data/app/com.mgillespie.GamingNews.apk' and '/system/sd/app/com.mgillespie
.GamingNews.apk' are the same file
cp: '/data/app/com.mixzing.basic.apk' and '/system/sd/app/com.mixzing.basic.apk'
are the same file
cp: '/data/app/com.neoline.music.apk' and '/system/sd/app/com.neoline.music.apk'
are the same file
cp: '/data/app/com.newsrob.apk' and '/system/sd/app/com.newsrob.apk' are the sam
e file
cp: '/data/app/com.opera.mini.android.apk' and '/system/sd/app/com.opera.mini.an
droid.apk' are the same file
cp: '/data/app/com.pgmsoft.wifinder.apk' and '/system/sd/app/com.pgmsoft.wifinde
r.apk' are the same file
cp: '/data/app/com.rechild.advancedtaskkiller.apk' and '/system/sd/app/com.rechi
ld.advancedtaskkiller.apk' are the same file
cp: '/data/app/com.rerware.android.MyBackupPro.apk' and '/system/sd/app/com.rerw
are.android.MyBackupPro.apk' are the same file
cp: '/data/app/com.shazam.android.apk' and '/system/sd/app/com.shazam.android.ap
k' are the same file
cp: '/data/app/com.socialnmobile.dictapps.notepad.color.note.apk' and '/system/s
d/app/com.socialnmobile.dictapps.notepad.color.note.apk' are the same file
cp: '/data/app/com.xe.android.apk' and '/system/sd/app/com.xe.android.apk' are t
he same file
cp: '/data/app/de.android_telefonie.appmanager.apk' and '/system/sd/app/de.andro
id_telefonie.appmanager.apk' are the same file
cp: '/data/app/de.czesla.android.remote.apk' and '/system/sd/app/de.czesla.andro
id.remote.apk' are the same file
cp: '/data/app/net.flixster.android.apk' and '/system/sd/app/net.flixster.androi
d.apk' are the same file
cp: '/data/app/org.transdroid.apk' and '/system/sd/app/org.transdroid.apk' are t
he same file
cp: '/data/app/uk.co.johnsto.android.beebplayer.apk' and '/system/sd/app/uk.co.j
ohnsto.android.beebplayer.apk' are the same file
[ ] Linking /data/app to /system/sd/app.
[ ] Moving private apps to SD card.
cp: '/data/app-private/br.com.fast4ward.sdcardspeedtester.apk' and '/system/sd/a
pp-private/br.com.fast4ward.sdcardspeedtester.apk' are the same file
[ ] Linking /data/app-private to /system/sd/app-private.
[ ] Removing No A2SD flag file.
rm: cannot remove '/data/.noa2sd': No such file or directory
[ ] Setting File System Ready property to 1.
[ ] Remounting /system to read-only.
#
Can someone also explain how A2SD works in a simplified form? It may help in understanding things.
Thanks.
Your android phone is designed to store applications in the phone's internal storage under the directory /data/app and /data/app-private.
Apps2SD allows the applications to be stored on the SD card by telling Android to store the applications somewhere else.
It does this by creating directories on your SD card, then replaces /data/app and /data/app-private with a symbolic link file. A symbolic link file is a file that is a reference to another file or directory. This is similar to how shortcuts work in Windows.
For example, without Apps2SD installed, if you used a file manager on your phone and tapped the /data/app folder, you would see a bunch of files. Now, if you look at where you are at in the directory chain, you would be at /data/app, since that is a directory.
When Apps2SD is active, if you tap on the /data/app folder, you would still see files, but you will noticed that you are in a completely different directory (/system/sd/app). This is because /data/app is a file that points to /system/sd/app. When Android stores your program in /data/app, it thinks it is still storing it in /data/app (Internal storage). But, because of redirection, it is really storing the program in /system/sd/app.
When you type a2sd install, one of the processes it performs is moving all the data from /data/app to /system/sd/app. In your case, it looks like you tried to perform an install of Apps2SD after it was already installed. In other words, the files were trying to copy to themselves, which can't happen.
The a2sd install command is usually not necessary, as the program will automatically set itself up upon boot. The only time you really need to use a2sd install is if you used an a2sd remove command in the past or the Boot Loop Prevention code activated (your SD card failed to mount). Both scenarios activate the No Apps2SD flag file, which a2sd install removes.
To check your diskspace on your ext partition, you can use a2sd diskspace.
mgillespie said:
Running a GSM Hero using a stock 2.1 repack ROM.
I've not used A2SD before, but giving it a shot now. I had no problems setting it up, the instructions are very clear and concise, but I am having problems using it.
I setup a 750MB ext3 partition, and I was expecting AppMonster to report I had loads of freespace. It was reporting my freespace as pretty much what it was before. (100MB free)
I tried /system/bin/a2sd install and it appears I have lots of duplicated files from the rather verbose output.
What have I done wrong?
Thanks.
Code:
# /system/bin/a2sd install
/system/bin/a2sd install
[ ] Launching Darktremor A2SD
[*] Starting Darktremor Apps2SD version 2.7.5 preview
[ ] Mounting /system as read-write
[ ] Starting Apps2SD in install mode
[ ] Checking SD Card.
[ ] Searching for Mount Point...
[!] Mount point found..no further action required.
[ ] Checking for ext partition
[*] Ext partition found and already mounted.
[ ] Moving apps to SD card.
cp: '/data/app/YouTube.apk' and '/system/sd/app/YouTube.apk' are the same file
cp: '/data/app/br.com.fast4ward.sdcardspeedtester.zip' and '/system/sd/app/br.co
m.fast4ward.sdcardspeedtester.zip' are the same file
cp: '/data/app/btm.game.ui.apk' and '/system/sd/app/btm.game.ui.apk' are the sam
e file
cp: '/data/app/com.adobe.reader.apk' and '/system/sd/app/com.adobe.reader.apk' a
re the same file
cp: '/data/app/com.agilesoftresource.apk' and '/system/sd/app/com.agilesoftresou
rce.apk' are the same file
cp: '/data/app/com.alfray.timeriffic.apk' and '/system/sd/app/com.alfray.timerif
fic.apk' are the same file
cp: '/data/app/com.bigtincan.android.adfree.apk' and '/system/sd/app/com.bigtinc
an.android.adfree.apk' are the same file
cp: '/data/app/com.bonfiremedia.android_ebay.apk' and '/system/sd/app/com.bonfir
emedia.android_ebay.apk' are the same file
cp: '/data/app/com.dozingcatsoftware.WireGoggles.apk' and '/system/sd/app/com.do
zingcatsoftware.WireGoggles.apk' are the same file
cp: '/data/app/com.facebook.katana.apk' and '/system/sd/app/com.facebook.katana.
apk' are the same file
cp: '/data/app/com.google.android.apps.maps.apk' and '/system/sd/app/com.google.
android.apps.maps.apk' are the same file
cp: '/data/app/com.google.android.apps.shopper.apk' and '/system/sd/app/com.goog
le.android.apps.shopper.apk' are the same file
cp: '/data/app/com.google.android.apps.translate.apk' and '/system/sd/app/com.go
ogle.android.apps.translate.apk' are the same file
cp: '/data/app/com.google.android.apps.unveil.apk' and '/system/sd/app/com.googl
e.android.apps.unveil.apk' are the same file
cp: '/data/app/com.google.android.maps.mytracks.apk' and '/system/sd/app/com.goo
gle.android.maps.mytracks.apk' are the same file
cp: '/data/app/com.google.android.stardroid.apk' and '/system/sd/app/com.google.
android.stardroid.apk' are the same file
cp: '/data/app/com.google.zxing.client.android.apk' and '/system/sd/app/com.goog
le.zxing.client.android.apk' are the same file
cp: '/data/app/com.handcent.nextsms.apk' and '/system/sd/app/com.handcent.nextsm
s.apk' are the same file
cp: '/data/app/com.luke.uktvguide.apk' and '/system/sd/app/com.luke.uktvguide.ap
k' are the same file
cp: '/data/app/com.magicwach.rdefense_free.apk' and '/system/sd/app/com.magicwac
h.rdefense_free.apk' are the same file
cp: '/data/app/com.maplekeycompany.apps.shake.apk' and '/system/sd/app/com.maple
keycompany.apps.shake.apk' are the same file
cp: '/data/app/com.mathpad.mobile.android.wt.unit.apk' and '/system/sd/app/com.m
athpad.mobile.android.wt.unit.apk' are the same file
cp: '/data/app/com.mattwach.trap2.apk' and '/system/sd/app/com.mattwach.trap2.ap
k' are the same file
cp: '/data/app/com.mgillespie.AutosportsFREE.apk' and '/system/sd/app/com.mgille
spie.AutosportsFREE.apk' are the same file
cp: '/data/app/com.mgillespie.GamingNews.apk' and '/system/sd/app/com.mgillespie
.GamingNews.apk' are the same file
cp: '/data/app/com.mixzing.basic.apk' and '/system/sd/app/com.mixzing.basic.apk'
are the same file
cp: '/data/app/com.neoline.music.apk' and '/system/sd/app/com.neoline.music.apk'
are the same file
cp: '/data/app/com.newsrob.apk' and '/system/sd/app/com.newsrob.apk' are the sam
e file
cp: '/data/app/com.opera.mini.android.apk' and '/system/sd/app/com.opera.mini.an
droid.apk' are the same file
cp: '/data/app/com.pgmsoft.wifinder.apk' and '/system/sd/app/com.pgmsoft.wifinde
r.apk' are the same file
cp: '/data/app/com.rechild.advancedtaskkiller.apk' and '/system/sd/app/com.rechi
ld.advancedtaskkiller.apk' are the same file
cp: '/data/app/com.rerware.android.MyBackupPro.apk' and '/system/sd/app/com.rerw
are.android.MyBackupPro.apk' are the same file
cp: '/data/app/com.shazam.android.apk' and '/system/sd/app/com.shazam.android.ap
k' are the same file
cp: '/data/app/com.socialnmobile.dictapps.notepad.color.note.apk' and '/system/s
d/app/com.socialnmobile.dictapps.notepad.color.note.apk' are the same file
cp: '/data/app/com.xe.android.apk' and '/system/sd/app/com.xe.android.apk' are t
he same file
cp: '/data/app/de.android_telefonie.appmanager.apk' and '/system/sd/app/de.andro
id_telefonie.appmanager.apk' are the same file
cp: '/data/app/de.czesla.android.remote.apk' and '/system/sd/app/de.czesla.andro
id.remote.apk' are the same file
cp: '/data/app/net.flixster.android.apk' and '/system/sd/app/net.flixster.androi
d.apk' are the same file
cp: '/data/app/org.transdroid.apk' and '/system/sd/app/org.transdroid.apk' are t
he same file
cp: '/data/app/uk.co.johnsto.android.beebplayer.apk' and '/system/sd/app/uk.co.j
ohnsto.android.beebplayer.apk' are the same file
[ ] Linking /data/app to /system/sd/app.
[ ] Moving private apps to SD card.
cp: '/data/app-private/br.com.fast4ward.sdcardspeedtester.apk' and '/system/sd/a
pp-private/br.com.fast4ward.sdcardspeedtester.apk' are the same file
[ ] Linking /data/app-private to /system/sd/app-private.
[ ] Removing No A2SD flag file.
rm: cannot remove '/data/.noa2sd': No such file or directory
[ ] Setting File System Ready property to 1.
[ ] Remounting /system to read-only.
#
Can someone also explain how A2SD works in a simplified form? It may help in understanding things.
Thanks.
Click to expand...
Click to collapse
Many thanks for that. That helps understand what is happening.
Is it normal that regular (a2sd unaware) apps like AppMonster will not be able to correctly report free internal phone diskspace? As clearly the report of 100MB free is totally bogus.
If this is normal, and I can use the a2sd diskspace command instead, that fine too, perhaps I worry too much, or ask too many questions!!!
Well when I get home I'll run it through it paces on my Rom and post my findings.
tkirton said:
You can still visit the old thread: http://forum.xda-developers.com/showthread.php?t=670087
At this moment, I need software testers to do some routine tests. Feedback is appreciated.
Click to expand...
Click to collapse
Sent from my HERO200 using XDA App
many thanks for this update, so how exactly do we enable (check if already enabled) JIT?
Got it up and running on blue echo and it runs beautifully. I've got 131mb free on my phone and the rom is flashing and running smooth as silk. Thanks for the update.
Only suggestion that I could make is maybe having an app like dcConfig but for ur a2sd that way u can change setting very easily. But other than that I love it and will always run ur stuff on my roms
The 100MB free is internal storage space (the /data partition). Remember that your applications are being stored on the Secure Digital card and not the data partition, so 100MB sounds right for the internal storage if you didn't move dalvik-cache.
a2sd diskspace reports the free space on your ext partition, so it will show a large difference (you configured more space on your ext partition).
mgillespie said:
Many thanks for that. That helps understand what is happening.
Is it normal that regular (a2sd unaware) apps like AppMonster will not be able to correctly report free internal phone diskspace? As clearly the report of 100MB free is totally bogus.
If this is normal, and I can use the a2sd diskspace command instead, that fine too, perhaps I worry too much, or ask too many questions!!!
Click to expand...
Click to collapse
The one with the GUI configuration is slated for 2.8. I just have to learn Java to program it (or convince friends of mine to help).
Believe me, I really want the GUI configuration in there. I think it would resolve many of the configuration questions I continue to receive.
Papa Smurf151 said:
Got it up and running on blue echo and it runs beautifully. I've got 131mb free on my phone and the rom is flashing and running smooth as silk. Thanks for the update.
Only suggestion that I could make is maybe having an app like dcConfig but for ur a2sd that way u can change setting very easily. But other than that I love it and will always run ur stuff on my roms
Click to expand...
Click to collapse
I completely agree. I wish I knew how to build an app from scratch cause I'd Def do it for u. U have helped so many here and r great at what u do. This thing deserves the GUI
im getting an error when trying to enable/disable jit
Code:
# apps2sd jit
apps2sd jit
[ ] Launching Darktremor A2SD
[*] Starting Darktremor Apps2SD version 2.7.5 preview
[ ] Mounting /system as read-write
[ ] Starting Apps2SD in jit mode
[ ] Running A2SD JIT Install Program.
[ ] Running JIT Setup.
/system/bin/jit.a2sd: line 7: Case: command not found
/system/bin/jit.a2sd: line 8: syntax error near unexpected token `)'
/system/bin/jit.a2sd: line 8: ` "install")'
[ ] Setting File System Ready property to 1.
[ ] Remounting /system to read-only.
# apps2sd nojit
apps2sd nojit
[ ] Launching Darktremor A2SD
[*] Starting Darktremor Apps2SD version 2.7.5 preview
[ ] Mounting /system as read-write
[ ] Starting Apps2SD in nojit mode
[ ] Running A2SD JIT Removal Program.
[ ] Running JIT Setup.
/system/bin/jit.a2sd: line 7: Case: command not found
/system/bin/jit.a2sd: line 8: syntax error near unexpected token `)'
/system/bin/jit.a2sd: line 8: ` "install")'
[ ] Setting File System Ready property to 1.
[ ] Remounting /system to read-only.
#
Just an update, So far it is smooth as silk, havent had any issues on my rom as of yet. Thanks tkirton
I can't test JIT since the rom I'm using already has it. But thanks for the feedback...I'll fix that right away.
urushiol said:
im getting an error when trying to enable/disable jit
Code:
# apps2sd jit
apps2sd jit
[ ] Launching Darktremor A2SD
[*] Starting Darktremor Apps2SD version 2.7.5 preview
[ ] Mounting /system as read-write
[ ] Starting Apps2SD in jit mode
[ ] Running A2SD JIT Install Program.
[ ] Running JIT Setup.
/system/bin/jit.a2sd: line 7: Case: command not found
/system/bin/jit.a2sd: line 8: syntax error near unexpected token `)'
/system/bin/jit.a2sd: line 8: ` "install")'
[ ] Setting File System Ready property to 1.
[ ] Remounting /system to read-only.
# apps2sd nojit
apps2sd nojit
[ ] Launching Darktremor A2SD
[*] Starting Darktremor Apps2SD version 2.7.5 preview
[ ] Mounting /system as read-write
[ ] Starting Apps2SD in nojit mode
[ ] Running A2SD JIT Removal Program.
[ ] Running JIT Setup.
/system/bin/jit.a2sd: line 7: Case: command not found
/system/bin/jit.a2sd: line 8: syntax error near unexpected token `)'
/system/bin/jit.a2sd: line 8: ` "install")'
[ ] Setting File System Ready property to 1.
[ ] Remounting /system to read-only.
#
Click to expand...
Click to collapse
The link for fix 1 (2?) isn't working.
It is now...I uploaded the archive file instead of the signed file.
mtnchkn said:
The link for fix 1 (2?) isn't working.
Click to expand...
Click to collapse