[SCRIPT] [A2SD] Darktremor A2SD (Apps2SD) version 2.7 Update 3r1 (06-26-2010) - Nexus One Android Development

Darktremor A2SD version 2.7 Update 3r1 (2010-06-26)
18 Roms install with Darktremor A2SD across 6 different Android phones.
Now there's a guide to apply Darktremor A2SD to the new Froyo builds for Nexus One: http://forum.xda-developers.com/showthread.php?t=711621
Click to expand...
Click to collapse
Note: 2.7 update 3r1 fixes an issue where dalvik-cache was automatically loading to the SD card on boot. This may have been causing issues with some of the roms out there (especially Blue Echo 2.1.4). Thanks to Papa Smurf151 and Flipzmode for bringing this to my attention.
2.7 update 3r1 also has a2sd functions moved to launcha2sd...this program runs under bash instead of sh. This will help with roms that have issues where the open bracket on an IF statement is treated as a command rather than a condition ( [: not found )
Features for 2.7 update 3:
2.7 update 3 is all about dalvik-cache.
I noticed that some rom developers have been putting their dalvik-cache onto the /cache partition. This partition is a large (usually as large as the /data partition) that is mostly unused (I'm sure it is needed for installs, etc). I've taken that idea and applied it to Darktremor A2SD.
If you are running a rom that has uses the cache partition to store dalvik-cache, this update will not force it to move back to the internal storage.
It introduces new algorithms to detect dalvik-cache on cache partition. It also adds two new options:
a2sd cachepart - Moves the dalvik-cache to the cache partition
a2sd cachesd - Moves the dalvik-cache to the SD card (same as a2sd cache...eventually, a2sd cache will be deprecated).
If you experience boot loops when you move the dalvik-cache to the cache partition, go into adb shell while the phone is boot looping and run the following commands:
a2sd nocache (if you want to put your dalvik-cache on your internal storage) or a2sd cachesd (if you want to put your dalvik-cache on your SD card)
a2sd resetcache (this clears the dalvik-cache and reboots)
Click to expand...
Click to collapse
If you are using Modaco's ROM, Darktremor A2SD isn't guaranteed to work with this rom. I'm investigating as to why, but keep in mind that if the phone goes into a bootloop, restore your phone via Nandroid. If you are submitting a problem to me when using Modaco ROM, include a logcat when the phone first boots. This will help me try to identify the issue and possibly release a workaround update.
Click to expand...
Click to collapse
Do a nandroid backup first of your working ROM. This is in case you find a bug (or run into an issue) and have to reload your phone.
Click to expand...
Click to collapse
If you are visiting the Hero CDMA forums and you use another Android-based phone, I encourage you to try the Darktremor A2SD on your phone. I would like to expand this program beyond the Hero CDMA if possible.
Look in the credits below to see the Roms that have been tested.
Here's the program:
2.7 Update 3r1 - http://www.darktremor.info/files/a2sd/a2sd-2.7-update3r1-signed.zip
Requirement: An ext2, ext3, or ext4 partition on your SD Card and a custom Rom that supports Apps2SD or A2SD
A2SD will not work on stock HTC Rom as stock roms do not have any method of launching A2SD in the boot image (unless they have been modified to work with A2SD). Try one of the many custom roms available if you want to use A2SD.
What is this?
A2SD (also known as Apps2SD) is a script that runs when you phone boots. Many of the ROM developers include the script in one form or another. Originally based on Cyanogen's Apps2SD, this script will allow a user to free up more storage space on their phone.
How does it do it? It uses an ext2, ext3 or ext4 partition (if one exists) to move all your free and purchased apps (not core apps) to the ext2/ext/ext4 partition on your SD card. It also tricks Android into thinking it is storing your programs in the internal storage space by linking the install directories (/data/app and /data/app-private) to similar directories on the sd card.
Current roms that have Darktremor A2SD built in:
Note: Be careful when choosing a rom. Flash a rom not designed for your phone and you may brick it.
I'm not responsible for bricked phones due to wrong rom flashed. Flash at your own risk.
Fresh Rom 2.1.2 (CDMA Hero) - http://forum.xda-developers.com/showthread.php?t=681856
FreshToast 2.1 (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 0.9.6.2 (CDMA Hero) - http://forum.xda-developers.com/showthread.php?t=666967
Buufed 1.7.2 (CDMA Hero) - http://forum.xda-developers.com/showthread.php?t=689142
Blue Echo 2.1.5 (CDMA Hero) - http://forum.xda-developers.com/showthread.php?t=699975
HoneyBun v.3 (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 Rev 7 (HTC Eris) - http://forum.xda-developers.com/showthread.php?t=688687
Fresh Rom 2.1.1 for Eris (HTC Eris) - http://forum.xda-developers.com/showthread.php?t=674170
Buufed 1.7.2 for Eris (HTC Eris) - http://forum.xda-developers.com/showthread.php?t=690902
Eris Lightning 3.02 (HTC Eris) - http://forum.xda-developers.com/showthread.php?t=675957
Evil Eris 2.0.1 (HTC Eris) - http://forum.xda-developers.com/showthread.php?t=650302
Click to expand...
Click to collapse
Fresh Evo 0.3 (HTC Evo) - http://forum.xda-developers.com/showthread.php?t=700448
Supersonic 2.0 (HTC Evo) - http://forum.xda-developers.com/showthread.php?t=698594
Click to expand...
Click to collapse
Daguu Espresso Rom v1.2 (GSM Hero) - http://forum.xda-developers.com/showthread.php?t=693069
Click to expand...
Click to collapse
Kang-o-rama 0.9 Froyo ROM (Nexus One) - http://forum.xda-developers.com/showthread.php?p=6973422
Click to expand...
Click to collapse
Pulse Oscillation Rom R7B (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
To find out all the features you can do with Darktremor A2SD, type /system/bin/a2sd help in the phone's terminal shell (or adb shell).
HOW TO INSTALL:
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 or Godspeed Recovery (there may be issues with earlier recovery versions...I am checking this out).
1. Download the program above.
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. One way of doing that is to use ADB by typing this command:
adb push a2sd-2.7-3r1-signed.zip /sdcard/a2sd-2.7-3r1-signed.zip
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
If you apply this program and your market suddenly stops working, perform the following steps:
1. Remount your internal storage to read-write by typing adb remount
2. Go into your phone's terminal by typing adb shell
3. Type /system/bin/a2sd fixmarket. This will relocate the market to /system/app and allows you to choose it in the All Programs screen. You will need to drag it back onto your desktop if you want it there.
Click to expand...
Click to collapse
NOTE: If you apply Darktremor A2SD 2.7 and still notice internal storage is decreasing, this is due to the dalvik-cache not being moved. By default, Darktremor A2SD will not move the dalvik-cache on boot.
If you want to move the dalvik-cache to the sd card, type:
a2sd cache (old command to move dalvik to SD card - will be phased out soon)
a2sd cachesd (new command to move dalvik to SD card)
a2sd cachepart (command to move dalvik to cache partition)
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
What does this program do:
1. Moves applications to the sd card
2. Moves dalvik-cache to the sd card (a2sd cachesd) or to the cache partition (a2sd cachepart...when the rom supports it). Not active on boot by default.
3. Activates swap partition if one exists (a2sd swap to activate, a2sd noswap to deactivate)
4. Allows the user to deactivate a2sd without removing the ext2/ext3 partition (a2sd remove to deactivate, a2sd install to activate)
5. Allows the user to restore dalvik-cache back to the main memory (a2sd nocache)
6. Allows the user to deactivate swap (a2sd noswap to deactivate, a2sd swap to activate)
7. Creates the /system/sd mount if one doesn't exists.
8. Checks the symlinks and flag files. Reports to the user what needs to be repaired. (a2sd check)
9. Repair symlinks based on active flag files. (a2sd repair)
10. Zipaligns all programs in /data/app and /data/app-private. Using the align command, /system/app will also be zipaligned. You can turn on and off ZipAlign (a2sd zipalign / a2sd nozipalign). Not active on boot by default.
11. Wipes dalvik-cache without the need to go into a recovery partition (a2sd resetcache)
12. Checks how much space is being used on your ext partition (a2sd diskspace)
13. Repairs missing or corrupted market in Android 2.1 (a2sd fixmarket)
14. Uses its own Busybox installation to ensure stability (/system/bin/busybox.a2sd)
How to tell if it is working:
1. On your computer in the Android SDK Tools directory, type adb shell
2. In the adb shell, type /system/bin/a2sd check
3. Read the report. It will tell you if all is well. If you see anything with [X], type a2sd repair
If you want to move the apps to the SD card (when the program doesn't do it for you or you have moved the apps to the internal storage in the past):
1. Enter the ADB Shell by typing adb shell
2. In the ADB shell, type /system/bin/a2sd install
To prevent A2SD from running, type /system/bin/a2sd remove
If you have any issues, you can PM me for assistance, send e-mail to rtkirton at gmail dot com, or look me up on gtalk.
Special Thanks to the following people
Thanks to the following people for helping me on this (2.7 testing):
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 (GSM Hero)
- For testing on VanillaEclair 2.0.1 (GSM Hero)
Andrizoid
- For testing on Evil Eris 2.0 (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 2.1.x (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 2.7
zygame
- For including it on Daguu_Espresso_v1.2_By_FlZyGaMeUp-Pre-release-2
chuckhriczko
- For including it in SuperSonic v2.0 (HTC Evo)
zenulator
- For including it in ZenEXP 0.9.6.2 (HTC Hero)
crunchybutternut
- For including it in Buufed 1.7.2 (HTC Hero)
.mac
- For including it in ZenEXP Eris Expresso (HTC Eris)
Papa Smurf151
- For including it in Blue Echo 2.1.3 (HTC Hero)
beezy420
- For including it in HoneyBun v.3 (HTC 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)
If I forgot anyone...let me know.
Click to expand...
Click to collapse
Change Log
Version 2.7 Update 3r1
1. Fixes a bug in fixa2sd that causes the dalvik-cache to automatically move to the SD card.
2. 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.
Version 2.7 Update 3
1. If a rom has the dalvik-cache on the cache partition, it will not attempt to move it to the internal cache.
2. 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.
3. New commands introduced: cachepart moves dalvik-cache to cache partition, cachesd moves dalvik-cache to sd card (phased replacement to a2sd cache).
4. Fixes some minor bugs.
Version 2.7 Update 2
1. The /system partition returns to read-only state when the program is finished. The /data partition is left untouched.
2. ZipAlign does not automatically start on boot. You must type a2sd zipalign to activate the start on boot feature.
3. 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"
4. 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.
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.
Version 2.7
1. Completely rebuild the entire program from ground up. Attempted to simplify the process and to better detect different environments.
2. All programs use the included busybox.a2sd to avoid conflicts with the different busybox installations.
3. Mounts /system and /data in read-write to prevent any conflicts. Remounts them in read-only when completed.
4. Except for a2sd, all programs built as bash scripts
5. 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:
1. Mount failure or missing ext partition, and
2. 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:
1. If 02cachedalvikcache exists, back the program up and overwrite the program, preventing the contents from executing.
2. if 40a2sd exists, do the same thing.
Version 2.6.1
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.
2. 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).
3. 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.
4. Fixed swap code. It was not turning on swap when it should.
5. (Release 1) - Fixed some minor issues.
6. (Release 2) - Recreated a new flash package that is more compatible with different recovery system.
Version 2.6
1. 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.
2. 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.
3. Added a repair feature (a2sd repair). This will repair your a2sd installation.
4. 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).
5. Automatically remounts /system and /data partitions for read-write access when started with any of the install/repair options (install, repair, cache, nocache, remove).
6. Fixed mount command...now uses auto detect rather than the individual partitions. This allows A2SD to work on ext4.
7. Separate nocache version available for slower SD cards.
Version 2.5
1. Added functionality to move dalvik-cache to the ext partition.
2. Added option a2sd cache to manually move the dalvik-cache to the ext partition.
3. Added option a2sd nocache to manually move the dalvik-cache back to the internal phone storage.
4. Added option a2sd install to setup a2sd on a phone (all apps and dalvik-cache on ext partition)
5. Added option a2sd remove to revert all a2sd changes back to normal mode (all apps and dalvik-cache in internal storage).
6. Added option a2sd noswap to turn off swap partition.
7. Added option a2sd swap to turn on swap partition.
Click to expand...
Click to collapse

okay how can we apply this to cm6?

dont,it will be added in future build.
ahronzombi said:
okay how can we apply this to cm6?
Click to expand...
Click to collapse

superg81 said:
dont,it will be added in future build.
Click to expand...
Click to collapse
well how do u do it in the mean time. rather not wait.

Related

how to get a2sd working?

Well i'm wondering about a2sd and apps2sd and have a few questions that maybe someone more experienced than me can answer.
1. What is the difference between a2sd and apps2sd? Or are they the same program?
2. How do i get it enabled on my phone, I'm currently switching between WhiteWidow Rom and Aloysious Rom, I have seen the option for it but it is grayed out and I cannot access it.
3. Maybe someone could explain the benefits or using these programs vs not using them.
Thanks in advance for any answers.
I'm sure you could have searched this honestly.
1. Same thing.
2. There should be instructions if it's possible on those roms.
3. Extra space so you can use more apps. They may be slower, I suggest upgrading your card to at least class 4.
sorry wasn't trying to just ask questions without searching for it. I was just trying to find a decent walktrhough. I'll do some more research. Thanks for the response.
darkside86 said:
2. How do i get it enabled on my phone, I'm currently switching between WhiteWidow Rom and Aloysious Rom, I have seen the option for it but it is grayed out and I cannot access it.
Click to expand...
Click to collapse
In my experience of experimenting with different ROMs, the option (in the "Settings" menu) won't even show up unless the ROM/kernel supports the option. Since you see it and the threads for both of those ROMs say it supports, I will guess that it will remain grayed out until your SD card is set up (partitioned) properly in order to use A2SD. That involves adding an EXT3 partition to the card.
1. No difference...they are the same program (i.e. Darktremor A2SD and Darktremor Apps2SD are the same program).
2. Your SD card has to be partitioned for it (it must contain an EXT2 or EXT3 partition on it. EXT4 doesn't always work if the kernel the rom is using doesn't support it). Your rom must be able to launch apps2sd either directly or via Busybox run-parts. Your rom also must have apps2sd installed (doesn't matter which Apps2sd).
Once you have those, the apps2sd should activate automatically on startup (unless it is being prevented via a flag file (Darktremor) or a property value (DamageControl)).
3. Using apps2sd will free up internal storage by moving your applications to the SD card. Some more advanced apps2sd will also have the option of moving the dalvik-cache to the SD card, freeing more internal storage. This will allow you to run more programs without worrying about running out of internal storage (Android tends to act flaky when there's not enough storage for it to work with).
darkside86 said:
Well i'm wondering about a2sd and apps2sd and have a few questions that maybe someone more experienced than me can answer.
1. What is the difference between a2sd and apps2sd? Or are they the same program?
2. How do i get it enabled on my phone, I'm currently switching between WhiteWidow Rom and Aloysious Rom, I have seen the option for it but it is grayed out and I cannot access it.
3. Maybe someone could explain the benefits or using these programs vs not using them.
Thanks in advance for any answers.
Click to expand...
Click to collapse
Thank you guys for the informative responses, now I have a pretty good idea what it does,i would like to give it a try, do I need to back my sd card on my pc before trying? Because it sounds like formatting my card will delete everything, am I right on this?
Yes...back everything up (do a nandroid backup before you backup your SD card...this way you'll make a copy of the nandroid backup). Repartitioning will wipe the data from the card.
darkside86 said:
Thank you guys for the informative responses, now I have a pretty good idea what it does,i would like to give it a try, do I need to back my sd card on my pc before trying? Because it sounds like formatting my card will delete everything, am I right on this?
Click to expand...
Click to collapse
tkirton said:
Yes...back everything up (do a nandroid backup before you backup your SD card...this way you'll make a copy of the nandroid backup). Repartitioning will wipe the data from the card.
Click to expand...
Click to collapse
Thanks, I'll give it a try.
additoinal questions
Hello
I have a few additional questions:
1) how can I access the ext2 partion on my sd card in windows through adb?
I want to be able to do this because I want to confirm that the apps are indeed being installed to the sdcard because I notice the internal storage continues to decrease (now this may be due to the apps cache since I am not putting the cache on the sd card...yet)
I would also like to be able to pull apps.
2) I kind of address my next question with the last statement of question 1, can you still pull apps and if so how?
3) I have DConfig on my phone which acts as a gui for app2sd (i think) but when I ran it for the first time I noticed that it did not move any of the apps that came with the rom (all the htc stuff, youtube, facebook, wireless teathering, etc), can these apps be moved and if so how?
dsMA said:
Hello
I have a few additional questions:
1) how can I access the ext2 partion on my sd card in windows through adb?
I want to be able to do this because I want to confirm that the apps are indeed being installed to the sdcard because I notice the internal storage continues to decrease (now this may be due to the apps cache since I am not putting the cache on the sd card...yet)
I would also like to be able to pull apps.
2) I kind of address my next question with the last statement of question 1, can you still pull apps and if so how?
3) I have DConfig on my phone which acts as a gui for app2sd (i think) but when I ran it for the first time I noticed that it did not move any of the apps that came with the rom (all the htc stuff, youtube, facebook, wireless teathering, etc), can these apps be moved and if so how?
Click to expand...
Click to collapse
1) You really can't. Windows doesn't support ext2-3 partitions. There is software out there that will allow it, but most of it is buggy at best. You can see them if it's mounted in Linux though.
2) Do some googling on this one. I'm inclined not to instruct on such things, as "pulled apps" usually end up floating around torrent sites and screwing honest devs out of their $1.99.
3) I don't believe system apps themselves are generally moved, but I may be wrong on that. (it happens sometimes ) If you move the cache, then their cache will be moved, but that's all.
dsMA said:
Hello
I have a few additional questions:
1) how can I access the ext2 partion on my sd card in windows through adb?
I want to be able to do this because I want to confirm that the apps are indeed being installed to the sdcard because I notice the internal storage continues to decrease (now this may be due to the apps cache since I am not putting the cache on the sd card...yet)
I would also like to be able to pull apps.
2) I kind of address my next question with the last statement of question 1, can you still pull apps and if so how?
3) I have DConfig on my phone which acts as a gui for app2sd (i think) but when I ran it for the first time I noticed that it did not move any of the apps that came with the rom (all the htc stuff, youtube, facebook, wireless teathering, etc), can these apps be moved and if so how?
Click to expand...
Click to collapse
I use the app Root Explorer, and you can check your ext on there to see what's in it. Also you can move apps around using that app.
I'll ask this here as it seems to be on topic.
The info below was a real help in getting me straightened out on this thanks.
tkirton said:
1. No difference...they are the same program (i.e. Darktremor A2SD and Darktremor Apps2SD are the same program).
2. Your SD card has to be partitioned for it (it must contain an EXT2 or EXT3 partition on it. EXT4 doesn't always work if the kernel the rom is using doesn't support it). Your rom must be able to launch apps2sd either directly or via Busybox run-parts. Your rom also must have apps2sd installed (doesn't matter which Apps2sd).
Once you have those, the apps2sd should activate automatically on startup (unless it is being prevented via a flag file (Darktremor) or a property value (DamageControl)).
3. Using apps2sd will free up internal storage by moving your applications to the SD card. Some more advanced apps2sd will also have the option of moving the dalvik-cache to the SD card, freeing more internal storage. This will allow you to run more programs without worrying about running out of internal storage (Android tends to act flaky when there's not enough storage for it to work with).
Click to expand...
Click to collapse
OK, so I have wiped the phone and partioned the SD card but A2SD still not working, my ROM says it will work, when I do a ADB check of A2sd app I get this...
C:\AndroidSDK\android-sdk-windows\tools>adb shell
# a2sd check
a2sd check
----------------------------------------------------------------------------
Starting xtr init scripts for a2sd and memory at 07-28-2010 01:38:45
setting variables from default init.apps2sd.conf file in /system/etc/
varialbe capture - xtr.a2sd.data.active false
varialbe capture - xtr.a2sd.apps.active true
varialbe capture - xtr.a2sd.dalvikcache.active true
varialbe capture - xtr.swap.active false
varialbe capture - xtr.swap.swpto swppart
varialbe capture - xtr.swap.swappiness 30
[*] Check for ext partition and move files between /data/ and /system/sd/ as per init.apps2sd.conf s
ettings
[ ] Searching for Mount Point...
[ ] Mount point found..no further action required.
[!] Ext partition found.
[ ] Checking Ext partition...
e2fsck 1.40.8 (13-Mar-2008)
/system/bin/e2fsck: Device or resource busy while trying to open /dev/block/mmcblk0p2
Filesystem mounted or opened exclusively by another program?
8
[!] Mounting ext partitions as ext3.
mount: mounting /dev/block/mmcblk0p2 on /system/sd failed: Device or resource busy
[!!] Mounting ext partition as ext3 failed.
[!] Mounting ext partition as ext2.
mount: mounting /dev/block/mmcblk0p2 on /system/sd failed: Device or resource busy
[!!] Mounting ext partition as ext2 failed.
[!!] Can't use Apps2sd....
#
Any idea what I'm doing wrong? I would really like to move some of this to the large SD card and free up the phone for phone stuff.
Also How dose this effect phone memory use if at all? I would like to maximize usable memory for apps to run in as well as allow the phone to run as fast and reliably as possible.
Still looking for an answer. I can not get a2sd working.
With xtr you have to wipe then flash the rom then boot up and set up your phone but don't download any apps....then go back to recovery and flash the rest like stock apps then reboot and let the phone do its thing then back to recovery and then flash a2sd on then reboot and finish setting up your phone....I encountered that too after flashing then flashed the other modules before turning phone on. Does that make sense?
Do everything one at a time with a restart in between, correct?
indie1138 said:
I'll ask this here as it seems to be on topic.
The info below was a real help in getting me straightened out on this thanks.
OK, so I have wiped the phone and partioned the SD card but A2SD still not working, my ROM says it will work, when I do a ADB check of A2sd app I get this...
C:\AndroidSDK\android-sdk-windows\tools>adb shell
# a2sd check
a2sd check
----------------------------------------------------------------------------
Starting xtr init scripts for a2sd and memory at 07-28-2010 01:38:45
setting variables from default init.apps2sd.conf file in /system/etc/
varialbe capture - xtr.a2sd.data.active false
varialbe capture - xtr.a2sd.apps.active true
varialbe capture - xtr.a2sd.dalvikcache.active true
varialbe capture - xtr.swap.active false
varialbe capture - xtr.swap.swpto swppart
varialbe capture - xtr.swap.swappiness 30
[*] Check for ext partition and move files between /data/ and /system/sd/ as per init.apps2sd.conf s
ettings
[ ] Searching for Mount Point...
[ ] Mount point found..no further action required.
[!] Ext partition found.
[ ] Checking Ext partition...
e2fsck 1.40.8 (13-Mar-2008)
/system/bin/e2fsck: Device or resource busy while trying to open /dev/block/mmcblk0p2
Filesystem mounted or opened exclusively by another program?
8
[!] Mounting ext partitions as ext3.
mount: mounting /dev/block/mmcblk0p2 on /system/sd failed: Device or resource busy
[!!] Mounting ext partition as ext3 failed.
[!] Mounting ext partition as ext2.
mount: mounting /dev/block/mmcblk0p2 on /system/sd failed: Device or resource busy
[!!] Mounting ext partition as ext2 failed.
[!!] Can't use Apps2sd....
#
Any idea what I'm doing wrong? I would really like to move some of this to the large SD card and free up the phone for phone stuff.
Also How dose this effect phone memory use if at all? I would like to maximize usable memory for apps to run in as well as allow the phone to run as fast and reliably as possible.
Click to expand...
Click to collapse
Did you move ext 2 to ext 3? What allocations did you make? 512 mb for apps? It's been a while since I've done this so it's no longer fresh on my mind.
Why not install one of the Froyo roms? You don't have to format the sd (or do anything special with it) for apps2sd to work. In fact, if your sd is partitioned now, the rom will ask you if you'd like to reformat it at the first boot (which removes the partition for you). The only catch with these roms (or at least KaosFroyo) is you can't move system apps to the sd card (yet) and any app that you use widgets with or apps such as home launchers, texting, etc should be saved in internal memory or you'll have errors each time you usb mount or reboot. I've got a lot of apps installed (many on my internal for the reason listed above) and I'm only at about 35% internal storage. It's a quick rom too.
Sent from my FroyoEris using XDA App
I am using DamageR Rom and it has DamagedConfig but I can't get any of the apps to my sd. I don't know what to do. I've been looking around for the answer and I just can't figure it out. The creator said to look for it on one of the a2sd threads but I just can't get it right.
indie1138 said:
I'll ask this here as it seems to be on topic.
The info below was a real help in getting me straightened out on this thanks.
OK, so I have wiped the phone and partioned the SD card but A2SD still not working, my ROM says it will work, when I do a ADB check of A2sd app I get this...
C:\AndroidSDK\android-sdk-windows\tools>adb shell
# a2sd check
a2sd check
----------------------------------------------------------------------------
Starting xtr init scripts for a2sd and memory at 07-28-2010 01:38:45
setting variables from default init.apps2sd.conf file in /system/etc/
varialbe capture - xtr.a2sd.data.active false
varialbe capture - xtr.a2sd.apps.active true
varialbe capture - xtr.a2sd.dalvikcache.active true
varialbe capture - xtr.swap.active false
varialbe capture - xtr.swap.swpto swppart
varialbe capture - xtr.swap.swappiness 30
[*] Check for ext partition and move files between /data/ and /system/sd/ as per init.apps2sd.conf s
ettings
[ ] Searching for Mount Point...
[ ] Mount point found..no further action required.
[!] Ext partition found.
[ ] Checking Ext partition...
e2fsck 1.40.8 (13-Mar-2008)
/system/bin/e2fsck: Device or resource busy while trying to open /dev/block/mmcblk0p2
Filesystem mounted or opened exclusively by another program?
8
[!] Mounting ext partitions as ext3.
mount: mounting /dev/block/mmcblk0p2 on /system/sd failed: Device or resource busy
[!!] Mounting ext partition as ext3 failed.
[!] Mounting ext partition as ext2.
mount: mounting /dev/block/mmcblk0p2 on /system/sd failed: Device or resource busy
[!!] Mounting ext partition as ext2 failed.
[!!] Can't use Apps2sd....
#
Any idea what I'm doing wrong? I would really like to move some of this to the large SD card and free up the phone for phone stuff.
Also How dose this effect phone memory use if at all? I would like to maximize usable memory for apps to run in as well as allow the phone to run as fast and reliably as possible.
Click to expand...
Click to collapse
Looks like you are on one of my ROMs in which case there is a good write up in the 1st post of both my ROM threads that should get you going
Sent from my ERIS using XDA App

[GUIDE]Creating A2SD Partition to install Darktremor A2SD

For those users experiencing problems with low user space this is an ideal solution:
Requirements:
Clockworkmod Recovery 2.5.1.2 from here
1024MB free space on SD Card
init.d support
Instructions:
PART-1(Create Partition):
1)First backup the contents of your SD Card(Very IMP!!!)
2)Reboot in recovery mode.
3)Select the "advanced->Partition SD Card" item, next select size for your Apps2SD partition (1024MB recommended), next select 0 as size of swap partition.
4)This fill format your SD Card and create a EXT2 partition of 1024mb.
5)After the partitioning will be done select "Reboot system now" and the system will restart.
6)You can now restore your SD Card contents.
PART-2(Install DT A2SD):
[Not required for ROMs preinstalled with A2SD]
1)Download the A2SD package from here and store it in the root of your SD Card
2)Reboot into recovery and flash the package.(No need to wipe DATA or CACHE just flash directly)
3)Restart the phone
PART-3(DTA2SD usage):
You can type the a2sd commands on the terminal emulator.(Recommended)
Just go to terminal emulator and type:
>su
>a2sd help
to see the list of commands.
Or you can download A2SDGUI from the market which is a GUI for the DTA2SD script.
Misc Points:
1)Convert the partition to EXT3(Better than EXT2):
Go to terminal emulator and type:
>su
>a2sd convert-ext3
There is an option to convert to EXT4 but DO NOT use it because the clockworkmod recovery does not support EXT4 partition and you wont be able to Format/Backup/Restore
the SD-EXT partition
2)DATA2SD:
DATA2SD is a beta feature which moves the Moves /data/data to the SD-EXT partiton
This saves a lot of space!!
For more INFO go here
hi
to my knowledge on what i have read on the same . Apps2sd will not work on stock rom u need a custom kernel like the one tj_styles has given us to make apps2sd work
correct me if im wrong
If you follow the instructions A2SD should work on any ROM with init.d support
S6102dxld3
mb-14 said:
If you follow the instructions A2SD should work on any ROM with init.d support
Click to expand...
Click to collapse
Which better DATA2SD or A2SD Darktremor to free internal memory ?
How do I know if my ROM support init.d or not ?
My Phone original ROM No Model GT-S6102 Android version 2.3.6
Baseband Version S6102DXLD3 Kernel version 2.6.35.7 [email protected]#1

Guide to DARK TREMOR app2sd script-

[LINK BACK]
While installing rom people often ask for link2sd or s2e support
As of enabling Dark tremor app2sd is difficult for them....
I did an extensive research and came up successful in using and applying it....
I would like to share it here....
####
Before beginning it is assumed that you have a custom clockwork mod recovery and a custom rom is installed on your device. Alternatively, if you are in a stock firmware/rom and want to partition your sd card please Install Clock Work Mod Recovery and Flash a Custom Rom on your device. Also since partitioning your sd card will erase all your data stored in sd card, it is recommended that you backup your data to your computer. Now that you have backed up your data please follow these simple instructions to partition your sd card and install Darktremor App2sd script on your android smart phone.
PARTITIONING SD CARD
_________________________________
1. Reboot your device into Clockwork Mod Recovery.
2. Go to Advance>>Partition SD Card option on your recovery and select a size (for ext 3 partition). This will create an ext 3 file system partition on your sd card called sd-ext. The size of your sd-ext partition should be determined on the basis of how much apps and games you are going to install on your device.
i have 1 Gb sd-ext on 8 gb memory ...
3. Also, select swap partition size as 0 Mb (select 64 or more for gaming purpose)
4. [Optional] Format your sd-ext from mounts and storage>>fromat /sd-ext option in CWM recovery.
5. Reboot your device and open a terminal emulator or shell commander and type in the following command to make sure that your second partition (aka sd-ext partition) is mounted at boot.
mount | grep sd-ext
You should see the following code:
/dev/block/mmcblk0p2 on /sd-ext type ext3 (rw,noatime,nodiratime,barrier=1,nodelalloc,data=ordered)
INSTALLING DTAPPS2SD
___________________________________________
6. Now download Darktremor Apps2SD (link bottom) and copy it to your sdcard.
7. Reboot your device in CWM recovery and then mount your data and system by going to mounts and storage>>mount /data and mounts and storage>>mount /system options respectively.
8. Now go back to main menu and go to install zip from sd>>choose zip from sdcard option and select the dtapps2sd-2.7.5.3-beta04-signed.zip file you downloaded from above.
9. After the script is installed reboot your device.
That’s all. You have successfully installed Darktremor Apps2SD on your device .
Note that the device will reboot again after you reboot your device. This is just to move all your apps to the second partition (sd-ext partition) and is normal.
Also if you want to manage your Apps2SD settings you can either use commands in terminal emulator or download the APPS2SDGUI application from market and manage everything from there. One of the useful command can be a2sd help. Try it on any terminal to see the help file that comes with Darktremor A2SD.
How to check if Apps2SD has been installed correctly...
________________________________________
The following information is for those who are still unsure of whether Apps2SD has been installed and if it is working correctly after root.
Open a Terminal Editor on your phone
When you have the client open, type "su" to gain super user access, and then hit enter. Now type "ls -l /data" and hit enter. You should see a few lines, a couple of which should read on the far right column:
dalvik-cache -> /system/sd/dalvik-cache
app-private -> /system/sd/app-private
app -> /system/sd/app
Notice the -> indicating symlinks and the 'sd'
You can also run: busybox df -h to check the /system/sd that the folder is being used
If this output is visible to you, then Apps2SD is working properly and you have installed it correctly. You will notice that by checking Menu > Settings > SD & phone storage, there is still some internal memory going down due to cache, other data, etc, but the main apps all go on the SD card given the above result. I currently have 29 apps installed (including Google Earth, which is 22.1 MB in size itself) and my internal memory currently shows 119MB of available space.
You can perform more extensive checks by executing the following command:
ls /system/sd/app (this will list all the apps which you have installed to the SD card)
CONFIGURING APPS2D
_________________________________________________________
open terminal emulator,, and type the following:
• a2sd check : Checks a2sd status; displays information incl. where your apps, cahce and data are stored.
• a2sd cachesd : Moves dalvik cache to sd-ext partition.
• a2sd nocache : Moves dalvik cache back to internal storage.
• a2sd data2sd : Move /data/data to /sd-ext/data .
• a2sd nodata : Move /sd-ext/data back to internal storage.
• a2sd remove : Moves apps back to internal storage and sets no a2sd flag.
or u can simply use app2sdgui to do things.. a help is given in app just proceed on installing the app and go to help menu
PRECAUTIONS: tips you should take in mind
________________________________________
After installing Darktremor Apps2SD don’t move your apps to sdcard either from Manage Applications Settings or by using app2sd pro or similar applications because it will ruin all your settings and your script will not work .
Also you may notice that your used space in internal storage shown in Manage Applications Setting is not decreasing even after you install Apps2SD and you may think that the script is not working. But remember if you followed all the instructions from above and got the same results as explained above then the script is working. It is shown so because system is fooled to believe that the apps are in internal storage but in reality they are stored in the secondary partition we created (i.e. in /sd-ext/app folder) on your device.
HAPPY INSTALLING APP2SD script...
A2SDGUI link: https://play.google.com/store/apps/details?id=com.elgubbo.a2sdGUI&hl=en
DT A2SD Version 2.7.5.3 Beta 04 - http://www.darktremor.info/files/a2sd/dtapps2sd-2.7.5.3-beta04-signed.zip
DT A2SD thread on xda : http://forum.xda-developers.com/showthread.php?t=715940
///// HIT ""THANKS"" if i helped u //////
Thanks a lot very clear instruccions.
i used this in themyth rom and it works fine
OPERATIONBUKOL said:
i used this in themyth rom and it works fine
Click to expand...
Click to collapse
yup i camer to know abt it after the myth only...
pressing thanks button is a better way of thanking ...
Link are not working lol....
Sent from my GT-S5830 using xda premium
We recommend using data2sd in the ace?
Enviado desde mi GT-S5830L usando Tapatalk
makalolo said:
Link are not working lol....
Sent from my GT-S5830 using xda premium
Click to expand...
Click to collapse
LINKS are back.....................
e.artillery said:
We recommend using data2sd in the ace?
Enviado desde mi GT-S5830L usando Tapatalk
Click to expand...
Click to collapse
i would personally recommend the LINK2sd ...........next S2E...... and at last DTa2sd..........
as i get reboots on the myth when i connect my phone in mass storage mode........
Thx
Hey Aj.GaLaxY aCE,
very nice work, this made my actual rom being useable, thx!
Could you please tell the advantages and disadvantages of dt-app2sd over link2sd or s2e??
Sent from my GT-S5830 using XDA
unable to swap.
tried from terminal emulator too.
"Swap partion found"
function not implemented..!!"
Aj.GaLaxY aCE said:
i would personally recommend the LINK2sd ...........next S2E...... and at last DTa2sd..........
Hello dude, I installed Link2Sd and also use Manage Applications to move app to SD card. Would there be any problem or how should I correct it??? Please advice.... Thanks button hit.
Click to expand...
Click to collapse
In fact, Darktremor A2SD is very buggy. I personally use S2E. :good:
is this going to effect on my sd card ? it will be format ??
the command for the data moving is : a2sd datasd , n thanx a million for this help cuz i was going outta my mind the last few days ,
How do i move an app to the internal memory using app2sd ? like flash player!
thanks for the great tutorial
sabah98 said:
Aj.GaLaxY aCE said:
i would personally recommend the LINK2sd ...........next S2E...... and at last DTa2sd..........
Hello dude, I installed Link2Sd and also use Manage Applications to move app to SD card. Would there be any problem or how should I correct it??? Please advice.... Thanks button hit.
Click to expand...
Click to collapse
dont use manage applications to move apps.. ..... just use the commands or better download the a2sd gui app(easy to use than using terminal emulator) from playstore.. dta2sd itself moves ur app to sd card.... ... rest can be read from the post
Click to expand...
Click to collapse
dredremon said:
is this going to effect on my sd card ? it will be format ??
Click to expand...
Click to collapse
yep it will affect ur sd-card somewhat...the effect is after long duration and for good quality sd-cards is very low......4-6 years time........ as the applications try to continuosly use the data sector on the sd-card..........
BUT ITS practical to use... so dont worry
chanito88 said:
How do i move an app to the internal memory using app2sd ? like flash player!
thanks for the great tutorial
Click to expand...
Click to collapse
as the name suggest the app is DARKTREMOR app 2 "SD" ......so use mange applications in your ace to move the app to internal memory
SORRY to every one who posted a querry,,, was out of xda for months

[Sony Tablet S][CM9] Sys2sd - Start Android from the SD Card

This is a framework to help "boot" Android from the external SD card.
[size=+3]Motivation:[/size]
I started this because I would like to have Xposed Framework installed in my STS, but I do not want to take ANY risks of bootloop modifying internal system partition. This way I made this framework to allow me to "boot" a copy of Android resident in the external SD card, so that in case of bootloop, I simple eject the SD card and boot from internal Android.
[size=+3]News:[/size]
{new} - 2014/07/29 - New Sys2sdManager V2, supporting ROM ramdisks (custom ROMs), and some bugfixes. Please install, "unhook" and then "hook" again the sys2sd framework for the changes to take effect. There is a new recovery too, so choose the menu option to install the recovery package.
{new} - 2014/07/29 - First CM9 ROM for the STS (alpha stage). Please read the #2 topic for details.
{new} - 2014/07/28 - I am working on a port of CM9 for the Sony Tablet S using the sys2sd framework.
[size=+3]How it works[/size]
First, you must partition your external SD card, and then clone system and data from internal to external sdcard.
Next, during the normal boot process, the framework intercepts the process, test for the existence of the previously prepared external SD card, and if found it pauses the internal boot process, mounts /data and /system partition from the SD card, and then resumes the boot process.
[size=+3]Features[/size]
- Boot Android from external SD card (mount SYSTEM and DATA from external SD card).
- Functional recovery framework, using adapted TWRP from Motorola Xoom tablet.
- The recovery package can reside in internal or external storage.
- Recovery wait time with LED notification and triggering via hardware keypress.
- Can boot other versions of Android compatible with the stock STS ramdisk (custom ROMs).
- (work in progress): can boot other versions of Android with alternative ramdisk.
[size=+3]Bootloop Safety[/size]
- Only hook into 1 internal system script: /system/etc/install-recovery.sh (or install-recovery2.sh if present)
- With no external SD card present, the internal boot process takes precedence unmodified.
- /data and /system residing in external SD card, so if one mess the external /data ou /system directory, the bootloop will be limited to booting from the external sdcard.
- Working recovery: you can apply zip or backup and restore (tested!) your external SD card data and system partion. All modifications in data and system will be limited to the external SD card.
[size=+3]Limitations[/size]
- All modifications must work with the stock STS kernel. No custom kernels until kexec or unlocked bootloader.
- Write speed of the SD card.
[size=+3]Requisites[/size]
- Rooted Android 4.0.3 Sony Tablet S.
- busybox installed in /system/xbin, containing the functions: mount, tar, gzip, awk, sed. I recommend Stericson Busybox Installer on the Play Store. {new} If you do not have buysybox, the installer will install one for you.
- External SD card of size 8Gb or more, SD or Microsd. See the Drawbacks section for speed class information.
- Partitioning software to partition the external SD card. I recommend Mini Tool Partition Wizard for Windows, or GParted for Linux.
[size=+3]Drawbacks[/size]
[size=+2]Speed[/size]
Because the STS will be running Android from the external SD card (system and data), this framework heavly depends on the SD card read and write speed for disk IO.
I have tested the framework with the following SD card classes:
App loading, closing, and file IO:
Microsd class 4: damn slow browsing
Microsd class 6: slow
Microsd class 10: fast, like internal storage
Gaming:
Microsd class 4: slow loading times, gaming normal
Microsd class 6: slow loading times, gaming normal
Microsd class 10: normal
Boot process:
+20 to 40 seconds delay
[size=+3]How it works - Technical details[/size]
[size=+1]The framework executes the following steps during the boot from sd process[/size]
- Intercepts the internal Android boot process via the /system/etc/install_recovery script, then looks for the special partitioned external sdcard, and if not found resumes the normal Android boot process. Otherwise, keep executing.
- Stops the normal Android boot process, stopping all init services.
- Try to soft boot into recovery (explained bellow) if got user keypress. If the recovery process was not started, the framework resumes execution.
- Umount /data and /system from the internal flash storage.
- Mount /data and /system from the external SD card partitions.
- Restart all services and resume boot
[size=+1]The framework executes the following steps during the recovery start process[/size]
- Searches for a recovery package (recovery.tgz), in the external and internal storage system partition. If not found, cancels the recovery start process.
- If recovery package found, blinks the notification LED (blue color) and waits for user keypress to enter recovery. The recovery can also be triggered by a special recovery file present in the /cache/recovey directory (boot, command or extendedcommand files).
- If the user press some key in the wait interval or any special file are found then the recovery process continues. Otherwise, cancels the process.
- Stop all init services
- Decompress the recovery package, like a recovery ramdisk
- Umount all file systems, including internal and external storage, DM and Vold volumes.
- Soft boot the recovery Ramdisk using CHROOT busybox command
- Note: if you want to build your own alternative recovery package, special care must be taken for the /system and /data partitions in the /etc/recovery.fstab recovery file.
[size=+1]External SD card partitioning[/size]
- I recommend that the partitions in the external SD card be aligned to 4MB boundaries (8192 blocks).
- The internal /data and /system can be mirrored manualy using the following commands:
Code:
#### mount external /system in /mnt/newsys
#### mount external /data in /mnt/newdat
busybox mount -o remount,rw /
busybox mkdir -p /mnt/newsys
busybox mkdir -p /mnt/newdat
busybox mount /dev/block/mmcblk1p2 /mnt/newsys
busybox mount /dev/block/mmcblk1p3 /mnt/newdat
#### copy files
cd /system ; busybox cp -a * /mnt/newsys
cd /data ; busybox cp -a * /mnt/newdat
busybox umount /mnt/newsys
busybox umount /mnt/newdat
[size=+3]Getting started[/size]
1) Get an external SD Card and partition/format it
2) Install sys2sd into STS
3) Clone internal data and system to external SD card
4) Boot STS with external SD card inserted
5) Identify the internal and external system (important)
6) Install recovery in external SD card
[size=+1]1) Get an external SD Card and partition/format it[/size]
You must parition your external SD card before using this framework. I recommend you to use "Mini Tool Partition Wizard" for Windows, or "GParted" for Linux. I like to use fdisk for Linux, too.
I recommend that the partitions in the external SD card be aligned to 4MB boundaries (8192 blocks) for maximal write speed.
All partitions must be primary partitions. You must create 3 partitions:
- 1: Type fat32/vfat. This will be your "external sdcard" by the point of view of the Android or Recovery. The "internal sdcard" will stay the same, at the internal flash storage.
- 2: Type ext4 (without journal if you have the option). This will be your "/system" partition (system apps and Android core). For your information, the internal system for 4.0.3 Sony firmware takes about 300Mb, so this must be somewhat bigger, like 400Mb or more. I use 1Gb, in preparation for custom ROMs.
- 3: Type ext4 (without journal if possible). This will be your "/data" partition (user apps and data). Mine is 4Gb larger.
Do not forget to format the partitions after partitioning. Do not forget to save modifications in the Partitioning software (press the apply button).
Performance tips:
- If your Partitioning software has the option, use partitions starting/aligned in 4Mb boundaries (multiple of 8192 blocks), for maximal write speeds. In the Mini Tool Wizard, use MB alignment.
Code:
Disk /dev/block/mmcblk1: 15.9 GB, 15931539456 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk1p1 8192 2105344 1048576+ 83 Linux
/dev/block/mmcblk1p2 2113536 10510336 4198400+ 83 Linux
/dev/block/mmcblk1p3 10518528 12615680 1048576+ 83 Linux
- Avoid to use ext2, because it was so damn slow in my tests.
- If your Partitioning software has the option, disable ext4 journaling, because it makes the external SD card wears fast.
- If possible, mark the ext4 partitions with stripe-write=1024 blocks and stride=256 blocks.
In linux, you can use:
Code:
mkfs.ext4 -E stride=256,stripe-width=1024 -O ^has_journal /dev/mmcblk0p2
[size=+1]2) Install sys2sd into STS[/size]
Get the Sys2sd Manager, decompress it in a folder, put the partitioned SD Card in the tablet, and then run run_windows.bat (run_linux.sh is work in progress).
In the menu, choose:
- Install / Install Sys2sd and busybox
- Install / Unhook sys2sd (if previusly hooked)
- Install / Hook sys2sd into System
[size=+1]3) Clone internal data and system to external SD card[/size]
With the partioned SD Card inserted into the Tablet, enter the Sys2sd Manager, and choose:
- Clone / Clone System and Data
[size=+1]4) Boot STS with external SD card inserted[/size]
In the Sys2sd Manager, choose:
- Advanced / Reboot device
[size=+1]5) Identify the internal and external system[/size]
- If you successfuly cloned the internal Android to external SD card, it will be hard to guess if you are running the internal or external Android, because it will apear the same.
- The best way to avoid this is to change something (wallpaper, icons disposition, etc) to help identify internal and external SD card boot
- Boot into internal Android and take note of the changes (icons, wallpaper)
- Boot into external Android and compare the changes
- Take care to uniquely identify booth systems, to help prevent unwanted changes to the internal system
[size=+1]6) Install recovery in external SD card[/size]
Boot into the external Android, and in the Sys2sd Manager, choose:
- Recovery / Install Recovery
[size=+3]FAQ - Frequently Asked Questions[/size]
(Q) What is this?
(A) This is a framework to help soft boot Android from the external SD card on the Sony Tablet S (STS)?
(Q) What is soft boot?
(A) It means that it is a hook in the booting process of the internal Android, using the same Kernel e RAMDRIVE. It is not a "boot from the SD card" like supported on some devices.
(Q) How to unninstall?
(A) Remove /system/xbin/sys2sd file.
(Q) Can I boot a custom Kernel?
(A) No, until we have kexec, unlocked bootloader, or other way of executing/flashing a custom kernel.
(Q) Can I boot a custom ROM?
(A) Yes, but the ROM must be made compatible to the STS hardware, and use the stock Kernel. Simply flash the ROM into the external SD card system partition using recovery.
(Q) How secure is the Recovery module?
(A) Totaly secure. It is bounded to the external data and system partitions presents in the external SD card, so it is impossible to make changes to the internal data and system partitions. The cache, primary SD card and secondary SD card partitions will be shared between the Android versions.
(Q) How about the "Android SD card"?
(A) The "Android SD card" (do not confuse this with the internal or external storage), also know as /sdcard directory, will be the same for the internal and SD card Android versions. You can keep your books, music, videos and other data here, like you do now. Also you can place your Recovery backups here.
(Q) How about the "Android second SD card"?
(A) The "Android second SD card" will be stored on the first partition of the external SD card, and it will be visible to booth internal and SD card Android versions, depending of the Apps support for a secondary SD card. You can place your Recovery backups here also.
(Q) On Android, will apps transfered to SD card work?
(A) Probably not, because you will have two Android versions running on the same device using a shared "Android SD card". Keep the apps installed on the data partition of each Android version.
(Q) How about the Sony extra partitions?
(A) All the /configs, /dataapp, /vendor and other Sony partitions are necessary to boot the Internal stock Android. DO NOT wipe, format, clean, exclude none of the internal partitions, on the risk of a bootloop and device brick.
(Q) Can I copy the contents of the data and system in the external SD card back to the internal storage?
(A) No. It is too risk.
(Q) The Android running from the SD card is too slow.
(A) Take a faster, or class 10 SD card. Mine is running fine.
(Q) Your recovery sucks. Can I create an alternative recovery?
(A) Take my Recovery as a template.
(Q) Can I start recovery from the command line?
(A)
Code:
sys2sd recoveryctl start /path/to/recovery.tgz
(Q) Can I make a dual recovery?
(A) Yes.
Code:
File: /system/recovery/start_recovery
-----
#!/system/bin/sh
# $1 can be: vol_down, vol_up, power, internal
if [ "$1" = "vol_down" ] ; then
/system/xbin/sys2sd recoveryctl start /system/recovery/twrp.tgz
exit $?
fi
if [ "$1" = "vol_up" ] ; then
/system/xbin/sys2sd recoveryctl start /system/recovery/cwm.tgz
exit $?
fi
/system/xbin/sys2sd recoveryctl start /system/recovery/default.tgz
exit $?
(Q) How to enter Recovery?
(A) See the next question.
(Q) What is the blinking blue LED during boot?
(A) It is the notification to enter Recovery. During the blue LED blinking, press a key (volume or power) to enter Recovery - after this, the LED will pulse green to indicate it will enter Recovery, or pulse red to indicate it will NOT enter Recovery.
(Q) The clone command fails with a message of "target device not found"?
(A) Is the SD Card inserted into the tablet, partitioned and formated? Are the partitions primary partitions? Have you pressed the apply button on the partitioning software?
[size=+3]TODO[/size]
- run_linux.sh in the Sys2sd Manager
- Guide on how to make custom recovery module
- Guide on how to make custom ROM ramdisk and entry points
- (done) Guide on how to make a dual recovery
[size=+3]Introduction[/size]
This is an Unofficial CyanogenMod 9.0 port for the Sony Tablet S.
[size=+3]Working[/size]
- Display (hw accelerated)
- Touch screen
- Lock screen
- Power button
- Adjustable display brightness
- Settings App (some parts are not working)
- ADB
[size=+3]Not working[/size]
- Front camera
- Rear camera
- Volume buttons
- Audio
- GPS
- Sensors
- Wifi
- Internal SD Card
- External SD Card
- USB mtp / storage
- USB host
[size=+3]How to install[/size]
1) Install the latest sys2sd framework and get it working on an SD Card
2) Install the recovery on sys2sd
3) Download the latest flashable zip on this thread and put it on the Internal or External SD Card on the Sony Tablet S
4) Reboot into recovery (sys2sd Recovery, NOT Stock recovery)
5) {optional} Make a backup of system and data
6) Flash the downloaded zip
7) Wipe data
8) Reboot system
Please note that the changes will be limited to the Android present on the external SD Card. No changes will be made to the internal Android. Reboot and eject the SD Card to boot into internal Android.
[size=+3]Downloads[/size]
This is the flashable zip for the CM9 version:
{latest} cm9-20140729T212846.zip, 144MB
http://www.mediafire.com/download/9wha2vgie4cbqro/cm9-20140729T212846.zip
[size=+3]Warnings[/size]
DO NOT flash any of this zip using the Stock Recovery, on the risk of a device brick.
Use always the sys2sd recovery (press a key during the flashing blue LED).
RESERVED for future use 2
RESERVED for future use 3
RESERVED for future use 4
What does a blue flashing light mean?
I'm not sure but in apps it means Facebook notifications
KnightOdin said:
I'm not sure but in apps it means Facebook notifications
Click to expand...
Click to collapse
No its not even booted yet. the boot animation gets stuck, then this blue light apears
Jure220 said:
What does a blue flashing light mean?
Click to expand...
Click to collapse
The flashing blue light is the notification to press a key to enter Recovery.
Anyway, I am actually working on a port of CyanogenMod 9 using this framework.
Bazoocaze said:
Anyway, I am actually working on a port of CyanogenMod 9 using this framework.
Click to expand...
Click to collapse
Tell me if you need any help, I would be glad to help you I think we have the same goal we follow.
Edit: Check the PM
Sent from my Xperia Z2 using Tapatalk
Wow :good: This is great! Thank you so much
It really is slow with a class 4 sd card??
limax182 said:
...
Click to expand...
Click to collapse
Hi,
I am glad you are trying to use the framework.
1) "without journal" is only available if you format ext4 using the command line mkfs.ext4 on a Linux system. I am working on a way to format from the Sys2sdManager, so do not worry about this option for now.
2) Same problem. For now, choose to align to MB in the Mini Tool Parition Wizard and you will be ok.
Clone System:
Sorry for the incomplete instructions. The clone option expects the SD card to be inserted into the tablet sdcard slot.
ERROR: Target device /dev/block/mmcblk1p2 not found
Click to expand...
Click to collapse
- Is the SD Card inserted into the tablet?
- Is the SD Card really partitioned? Have you pressed the "apply" button in Mini Tool Partition Wizard?
Bazoocaze said:
Hi,
I am glad you are trying to use the framework....
Click to expand...
Click to collapse
Finally installed the external Android. The problem was I made all the 3 partitions as Logical but today I made them Primary and it worked!
Now when I tried to install Xposed it gives me this message:
View attachment 2874253
Thanks for your help!
Sorry for bad english
Oh, my. I completely forgot to say that the partitions need to be primary. I will update the first post. Thank you.
About the fault in the Xposed installer, that is a know issue in the Xposed FAQ.
This post have the workaround for that:
http://forum.xda-developers.com/showpost.php?p=52292102&postcount=7
limax182 said:
Finally installed the external Android. The problem was I made all the 3 partitions as Logical but today I made them Primary and it worked!
Now when I tried to install Xposed it gives me this message:
View attachment 2874253
Thanks for your help!
Sorry for bad english
Click to expand...
Click to collapse
Bazoocaze said:
Oh, my. I completely forgot to say that the partitions need to be primary. I will update the first post. Thank you.
About the fault in the Xposed installer, that is a know issue in the Xposed FAQ.
This post have the workaround for that:
http://forum.xda-developers.com/showpost.php?p=52292102&postcount=7
Click to expand...
Click to collapse
Totally awesome work, working on kexec to support your work.
Sent from my Sony Tablet S using Tapatalk
smgdev said:
Totally awesome work, working on kexec to support your work.
Sent from my Sony Tablet S using Tapatalk
Click to expand...
Click to collapse
Wow, man! Nice to know that.
Do you think it will soon be possible to put CM9 on the internal storage after getting kexec worked on with a few fixes? This is just way too awesome to handle and we're finally going somewhere.
Funny enough, this isn't in the development thread.
I've tried this framework but I seem to be getting issues.
I've got around some errors regarding mounting but it seems that the recovery can touch the /cache partition causing it to have the wrong permissions or something, I had to factory reset to get the /cache partition to be reformatted.
Anyway, after all of the things after and before, I've finally got this thing working, the only problem now is that the ROM is stuck in a bootloop or something (staying in the boot animation, I think it did dim slightly after 10-20 minutes).
I'm using an 8GB class 4 SD card.
@Bazoocaze let me know if anything has to be done. And also let me know if you have knowledge about kernels, I am already working on kexec.
Sent from my Sony Tablet S using Tapatalk

[Q&A] MultiSystem for Android

MultiSystem is a powerful tool for locked- and unlocked-bootloader Android devices with many features that at least includes the following:
Keeps stock system partition safe/rooted
Permenant root survival with proper use
MultiROM support via virtual ROMs
Unlimited number of virtual ROMs
Booting options to choose stock, primary, or secondary virtual ROM
Any of the virtual ROMs can work as a recovery replacement
Flashing multiple ROMs at the same time without a reboot
Ability to create/install ROMs on Linux to microSD card
Great performance & battery life on virtual ROMs
Recovery solution to install ROMs or Mods
Easy upgrade to newer versions of Android
Ability to safely apply OTA updates to virtual system
Permissive SELinux and other kernel tweaks
Safe flashing that doesn't trip KNOX flag on Samsung devices
Wrapper script runs via ADB or a Terminal Emulator on device
APK to manage all MultiSystem functions with a nice UI and extra options
Management for the best performance & user experience
Support for all Android devices with microSD card
Portability to almost all devices
Compatibility with all Android versions
Click to expand...
Click to collapse
Q&A​
What is the concept behind MultiSystem?
It runs virtual Android ROMs on microSD, like booting multiple systems on a PC from different partitions/disks. So, your stock system partition is kept safe/rooted. It won't affect performance or anything (might even be better on the virtual system if you've high quality microSD & the device supports its speed). Also, you can freely modify any of the virtual systems & in the worst case, reboot the safe stock system or another working virtual system to recover. So, no root loss or potential damage to the original device partitions.
Click to expand...
Click to collapse
Is it a recovery or an APK tool?
It's a shell script that hijacks system at early boot & force Android to boot from the stock system partition or a virtual system IMG & an APK that manages all booting options, virtual ROMs, and works as a recovery replacement + extra features...
Click to expand...
Click to collapse
Does it work as a recovery replacement?
It IS a POWERFUL recovery replacement. You can do whatever you do in recovery with the APK. HOW? recovery does its magic b/c it doesn't depend on the system & has its own kernel/ramdisk. In MultiSystem, you can boot a virtual ROM from extSD that sure doesn't depend on stock system partition or any of the other virtual ROMs (it does depend on the kernel, which you can't flash on locked devcies anyway). Hence, install, backup, restore, ... & all recovery functions are all possible +++ more features since you're running a full ROM not just a recovery ramdisk like Safestrap.
Bottom Line: I think it's the best & most convenient recovery replacement ever for locked devices & it can also attract unlocked devices for the powerful features, MultiROM, and recovery from within ROM.
Click to expand...
Click to collapse
Can I use FlashFire along with MultiSystem?
Yes. MultiSystem is compatible with FlashFire & fully supports it on stock & virtual ROMs. So, you can use both/any of them for flashing to either a stock or virtual ROM. However, it's recommended to use MultiSystem when flashing to the stock system partition (shouldn't be needed anyway since you can always be safe & flash to your old/new virtual ROMs).
Click to expand...
Click to collapse
Does MultiSystem require FlashFire?
No, MultiSystem doesn't require FlashFire. They're fully combatible though.
Click to expand...
Click to collapse
Would the virtual ROM we install be exactly the one in the stock slot?
In MultiSystem APK, you can create a virtual ROM from stock system, a copy from other virtual ROM, a new IMG, a dev-provided ROM, a flashable .ZIP, ... etc. Literally, your virtual ROMs can be any stock or custom ROM that's compatible with your firmware/kernel.
Click to expand...
Click to collapse
How can it run virtual ROMs from external microSD card?
External MicroSD will be formated into 2 partitions:
exFAT or FAT32 for the 1st partition (your new external storage)
EXT4 for the 2nd partition (your MultiSystem partition)
It'll hijack the system & boot a virtual system from the 2nd partition. The 1st partition will be automatically detected as your extSD.
Click to expand...
Click to collapse
Can I run unrooted virtual ROM for work apps or any other reason?
Yes. You can add unrooted virtual ROM & reboot to it via MultiSystem APK.
Click to expand...
Click to collapse
How do you boot back into a different ROM?
MultiSystem APK manages all functions including ROM activation & reboot to current system, another stock/virtual system, download mode, recovery, ... etc.
Click to expand...
Click to collapse
Will it be OK to still store media like movies/photos/music to extSD?
100% OK; That's my setup a few months ago. 2 virtual ROMs in the SECOND extSD partition in EXT4 format while all personal data are stored on the FIRST extSD partition in exFAT or FAT32 format... TWO COMPLETELY DIFFERET PARTITIONS.
Click to expand...
Click to collapse
How much space are we going to have for virtual ROMs?
The size of the 2nd partition is optional (> 4GB) for your ROMs, but here is an estimated sizes:
1 Virtual ROM Uncompressed = ~2.7 GB ---> ready for running
1 Virtual ROM Compressed = ~1.5 GB ---> for full ROM backups
I'd say better allocate 4 GB for each ROM you plan to run. If you just need one virtual ROM to keep stock system safe, 4 GB 2nd extSD partition is enough; The remaining space is allocated for the 1st extSD partition as your external storage.
For me, I run Linux too from extSD via MultiSystem. So, I've 64 GB extSD card with two partitions 32 GB each.
Click to expand...
Click to collapse
Can I clear up space on an existing SD card and partition it while full or will the entire card need to be wiped and partitioned from scratch?
You need to backup all your files; it'll be wiped & repartitioned.
Click to expand...
Click to collapse
How can I swap microSD cards & be able to run virtual ROMs?
You can swap microSD cards as you wish provided that the device is powered off; don't remove the microSD card when running a virtual ROM. If the new microSD card doesn't include a 2nd parition of available virtual ROMs, the device will boot directly to the stock system.
Click to expand...
Click to collapse
Is there a specific sd card you recommended for this?
I personally have two microSD cards:
SanDisk Extreme Plus 64GB (Up to 80MB/s read speed)
Samsung 64GB PRO (Up to 90MB/s read speed)
You don't have to change your microSD card for MultiSystem; any card you use on your device should work just fine. The need for more speed is relevant when the device supports that speed & if you're going to buy a new card anyway that you may use with a newer device later.
Click to expand...
Click to collapse
Can I copy virtual ROMs to a new microSD card?
Yes. I'll add a feature for swapping microSD cards so that you can backup/restore virtual ROMs from/to the current extSD to/from internal storage as follows:
power off device
use MultiSystem APK to backup your virtual ROMs
insert the new properly formatted microSD,
power on device (it'll boot to stock system)
use MultiSystem APK to restore your virtual ROMs
use MultiSystem APK to activate one of your virtual ROMs
use MultiSystem APK to reboot to any of your ROMs
Click to expand...
Click to collapse
What about other data/cache partitions and internal storage?
Only system img's are in the extSD. All ROMs share all other partitions. This substantially improves the performance & you won't notice any difference between your stock & virtual ROMs. The reason for performance improvement is that EXT4 loop devices are very fast in reading but not in writing. Your system partition is read-only while data (for example) is read write & cache IMGs cause problems like Safestrap issues on ROM slots. Also, you don't have to worry about switching data/settings between ROMs (they're shared), but you just need to regularly backup your important data (which is healthy anyway).
Click to expand...
Click to collapse
Can your elaborate where data is stored?
The userdata partition is also shared; so, you'll have access to all your FULL storage partitions & all apps/data similarly on either stock or virtual ROMs. This also solves the Safestrap issue of having less storage on ROM slots...
Click to expand...
Click to collapse
Will mSDcard incur a significant performance penalty on some devices?
there's no diffrerence between virtual & stock ROMs in terms of performance & battery life. The reason is simple: loop devices associated with the READ-ONLY system IMG mounted from EXT4 partition using a high-quality microSD card IS very fast more than enough.
The read speed is faster than the device can operate anyway + the exact same device should perform on the lowest speed when reading/writing from/to the FAT/FAT32/ExFAT extSD card (where you store your files or even move apps!!!) anyway, which is much slower than the read speed of a loop device mounted from EXT4 partition.
That's why data partition is shared for many reasons, including the poor READ/WRITE performance.
Click to expand...
Click to collapse
If virtual systems are read only, how do we modify them? Do we have to boot to another multisystem rom to modify a virtual rom?
The stock system partition is mounted by default read only & so are the virtual systems. To modify a stock/virtual system, the MultiSystem APK remounts them read/write. You can modify the currently running virtual system, copy it & modify the copy, modify another stock/virtual system.
Click to expand...
Click to collapse
How is a corrupted virtual rom handled? Does it see it's bad and default to stock system?
At early boot, MultiSystem checks for the microSD & active virtual ROM to boot it. There's a boot menu that gives you options to select a stock/virtual system, but it crashes on LP. I'm debugging it, but all functions won't be affected if I removed it. To fail safe, you can remove the microSD card to boot to stock system & restore/repair your virtual ROMs.
UPDATE1: MultiSystem v1.0.1 now allows you to also switch to stock system on boot to repair corrupted virtual IMGs or any other reasons. More options will be added during boot to ultimately select another virtual system if the active IMG is not booting normally (e.g., bootloop after applying a mod or flashing a bad .ZIP).
UPDATE2: Now, on boot, you can choose from two primary/secondary virtual ROM or stock ROM. Flashing multiple ROMs at the same time without a reboot is now possible.
Click to expand...
Click to collapse
How to check if an IMG is corrupted using MultiSystem status?
Code:
Current System IMG: Test_Rom.img
Current System DEV: [B][COLOR="Red"]/dev/block/mmcblk0p23[/COLOR][/B]
When you see "/dev/block/mmcblk0p23"; it's the original system partition; so MultiSystem failed to boot Test_Rom.img, but it should be your current system.
So, the check is simple based on "Current System Device":
/dev/block/mmcblk0p23 = Stock System Partition
/dev/block/loop0 = Virtual System IMG
Note: The block device number (mmcblk0p23) may vary per device & per variant !
Click to expand...
Click to collapse
Does android do any maintenance whatsoever on stored data within /data or external sd? So if I have an app installed on 1 system and not on another system will android see it and clear the data?
No, all storage partitions are shared between ROMs. If you installed an app, it'll be availabe for all of them. Since on locked devcies we're limited to stock manufacturer-based ROMs, this makes the switch between ROMs very convinient (you don't have to worry about your changes/data/setup & storage space on the another ROM; all ROMs share everything except system). However, you should make regular backups in case a virtual ROM (probably with unsafe mods) results in bootloop due to your user data. In this case, it's safe to wipe data & selectively restore apps/data from backup(s). Another advantage of sharing all storage partitions is that your messages/emails/etc received on a virtual ROM are immediated synced (actually shared) to the other ROMs.
Click to expand...
Click to collapse
Will anything like Xposed modify the virtual ROM system IMG as opposed to the stock system IMG?
When you run a Virtual System, everything incldung kernel & apps are hijacked to speak to it as the original system.
Click to expand...
Click to collapse
Can we install AOSP ROMs on locked devices?
You can only install stock/manufacturer-based ROMs on locked devices while unlocked devices can use kexec or flash the required kernel to boot any AOSP/Stock ROMs. I've got a Note 4 Developer Edition & a lot of development is planned to go there (thanks to the unlocked bootloader!) More devices will get supported including unlocked TMO & international variants after adding more features untilizing the unlocked bootloader with kexec'd kernels.
Click to expand...
Click to collapse
Are there limitations to the combinations of ROMs that can be loaded on the "stock" and "virtual" slots? Can you mix KK and LP?
Yes, if they can run on the same kernel. LP won't run on KK kernels & so, you'd have to upgrade the firmware anyway. As for running mixed compatible Android versions, this is possible but your'd have to backup your data before switching ROMs; if it cause no issues, enjoy smooth switch & if it doesn't, do factory reset in recovery & restore your data backup. Backups via MultiSystem are painless.
Click to expand...
Click to collapse
Are applications installed once for each ROM slot that has that applicaiton installed, or can I share a game across ROMs (for instance?)
Everything is shared between ROMs, which is very good for storage & for easy switching. Just make regular backups of your sensitive data.
Click to expand...
Click to collapse
How there are no performance hits while internal storage memory was much faster than any microSD technology?
Read speeds from microSD is very fast compared to write speeds & since virtual ROMs are actually a virtual read-only systems (hence, MultiSystem), they provide a high performance. Moreover, again, read speeds from EXT4 loop devices are higher compared to physical partitions. They're very bad in writing, which we don't need for the read-only "system".
Click to expand...
Click to collapse
Is there a preferred "daily driver" ROM that should be installed in the stock slot?
Uses a stock ODEXED ROM on stock slot for better stability!
Click to expand...
Click to collapse
Is it based off of Safestrap?
Short answer NO. I've been working on MultiSystem & Safestrap for ~7 months. Earlier versions of MultiSystem (called, JasmineREC) was based on Safestrap, but it failed to support newer versions of Android mainly due to TWRP changes in the graphics/UI libraries that cause segmentation fault & the stock kernel framebuffer issues. Then, I decided to find another solution. However, the basic idea of system hijack is powered by Safestrap (or 2nd-init recoveries in general) & all the work done by @Hashcode is GREATLY appreciated.
Click to expand...
Click to collapse
How can it overwrite system files while running?
MultiSystem allows you to install safe mod's or a ROM in full or OTA-like update. It's strongly recommended to install .ZIP files NOT to the current system, b/c some files can not be overwritten while running. So, you can use backup function to copy the current system & install to the new img or any of your other virtual systems. You'll have several options to activate a virtual img & reboot directly to stock system, any virtual img you've activated, quick reboot, Download/bootloader, recovery,... etc.
Click to expand...
Click to collapse
How would I benefit from it if I'm only running Stock ROM or would there be no point for me to install it?
If you run a ROM on stock system, you're vulnerable to root loss unless/untill a new rooting method for LP comes out. MultiSystem gives you the option to run safe-to-mod virtual ROMs + recovery replacement + extra features.
Click to expand...
Click to collapse
Is there a way to convert a normal ROM .ZIP into MultiSystem .IMG?
Create or copy any of your IMGs, activate it & reboot to the active IMG! Then, use FlashFire to flash the ZIP file. However, the updater-script should be safe/compatible. Some devs mount the phyical partition, which will redirect everything to it!!
For example:
Code:
mount(“ext4″, “EMMC”, “/dev/block/mmcblk0p23″, “/system”);
will mount the original system partition; while
Code:
run_program("/sbin/mount", "-t", "auto", "/system");
will mount the current system (stock or virtual). This is recommended/safe.
Click to expand...
Click to collapse
Would a KitKat ROM work with multisystem even though my stock is Lollipop?
Any ROM requires a compatible kernel & modem. So, running KK ROMs requires flashing KK firmware (namely, kernel & modem). This may work with MultiSystem on other devices, especially if the bootlpoader is unlocked. For example, I plan to add features for Note 4 DevED to allow different Android versions (including AOSP, manufacturer-based, & probably Linux systems) by utilizing kernel swapping or execution.
Click to expand...
Click to collapse
When MultiSystem comes out will it be open sourced?
Most probably, haven't decided yet!
Anyway, here's the repository on GitHub: https://github.com/hsbadr/MultiSystem
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Video Tutorials
A quick preview of MultiSystem v1.0 tested on Lollipop for VZW Note 3. The video has been captured on a stable virtual ROM of JasmineROM v5.0.1. It's FULLY compatible with FlashFire on virtual/stock systems. More devices will get supported as well, after required testing.
Facebook: https://www.facebook.com/hsbadr/videos/vb.331488823689599/428178174020663
How to check if you are running a Stock/Virtual System?
There're many ways to check whether you're running a Stock or Virtual system. MultiSystem app should include this simple check at some point. That's important to avoint ruining the Stock system & keep it safe. To make it clear to NOOBZ & anyone who's requesting "another" proof even though I owe hime nothing. Very weird!
Anyway, BusyBox mountpoint applet can print the current block/device mounted to /system mountpoint by running the following command:
Code:
busybox mountpoint -n /system
The stock system is mounts the original system partition:
Code:
[B][COLOR="Red"]/dev/block/mmcblk0p23[/COLOR][/B]
while the virtual system mounts a loop device associated with a system IMG:
Code:
[B][COLOR="Blue"]/dev/block/loop0[/COLOR][/B]
Here're two videos for both stock & virtual systems...
UPDATE:
Now, you could run the following command to print the current system (stock or virtual) and the system device (physical partition or loop device):
Code:
MultiSystem status
Note: The block device number (mmcblk0p23) may vary per device & per variant !
How to repartition microSD card for MultiSystem?
You can use any tool/program for partitioning on Android, Linux, Mac, or Windows. For example, MiniTool Partition Wizard is a good partitioning tool for Windows. So, let's use it for this task. Simply, you need to follow this PDF tutorial (thanks to @carl1961). In sum:
Step 1: delete old partitions on SD card
Step 2: create FAT32 PRIMARY partition
Step 3: create EXT4 PRIMARY partition
Then, apply changes (note that the program UI may get changed in newer versions).
Notes:
This partitioning tutorial doesn't create PRIMARY partitions (it creates logical partitions). So, you need to change "Create As" from "Logical" to "Primary" when creatig a partition.
The sizes of the two partitions are arbitrary depending on number of ROMs you plan to install on the 2nd EXT4 partition.
The 1st partition (check size) is automatically detected as your external storage
In Terminal Emulator or ADB shell, check the existence of the two partitions by running the following command (in red):
Code:
[email protected]:/ # [COLOR="Red"]ls -l /dev/block/platform/msm_sdcc.3/[/COLOR]
drwxr-xr-x root root 2015-05-02 21:08 by-num
lrwxrwxrwx root root 2015-05-02 21:08 mmcblk1 -> /dev/block/mmcblk1
lrwxrwxrwx root root 2015-05-02 21:08 mmcblk1p1 -> [COLOR="Blue"]/dev/block/mmcblk1p1[/COLOR]
lrwxrwxrwx root root 2015-05-02 21:08 mmcblk1p2 -> [COLOR="Blue"]/dev/block/mmcblk1p2[/COLOR]
/dev/block/mmcblk1p1 is mounted by Android as your external storage.
/dev/block/mmcblk1p2 is NOT mounted & will be your MultiSystem partition.
Click to expand...
Click to collapse
How to check microSD card partitions for MultiSystem?
You need to correctly repartition microSD card into two partitions:
exFAT or FAT32 for the 1st partition (your new external storage)
EXT4 for the 2nd partition (your MultiSystem partition)
Use the directions in this post!
You should check your 2nd SD partition in EXT4 format mounted to /MultiSystem:
check that the /MultiSystem directory exists after a reboot
check that the 2nd SD partition (/dev/block/mmcblk1p2) is mounted to /MultiSystem by running the following command in Terminal Emulator or ADB shell:
Code:
mount | grep /MultiSystem
The output should be:
Code:
/dev/block/mmcblk1p2 /MultiSystem ext4 rw,seclabel,relatime,data=ordered 0 0
How to check MultiSystem Installation?
The 1st thing to do after installing MultiSystem is to check the /MultiSystem directory & its contents (it shouldn't be empty!). Then, check usage by running the following commands in Terminal Emulator or ADB shell:
Code:
su
bash
MultiSystem
If it retuns "MultiSystem not found" or permission denied, try to use open MultiSystem app to Update Configurations & try again. If this does't fix it, try the following command:
Code:
/MultiSystem/bin/MultiSystem
This should work if you've MultiSystem binaries installed in (extracted to) /MultiSystem directory. If so, you can create a symlink in /system/xbin as follows:
Code:
mount -o remount,rw /system
ln -sv /MultiSystem/bin/MultiSystem /system/xbin/MultiSystem
Then, test it by running:
Code:
MultiSystem
The last thing before using it is to check the boot options: reboot & monitor the GREEN LED indicator for 3 seconds (change in the app) , which give you the following options:
Volume UP = Primary virtual ROM
Volume DOWN = Secondary virtual ROM
HOME KEY = Stock System
Sure, you should have installed one or more virtual ROMs.
Backup & restore or creating/installing a virtual ROM are easy as copy & paste: all img's will be at
Code:
/MultiSystem/img/system
To backup a virtual/stock system, you have many options:
Use create function to create from stock system
Use copy function to copy the IMG
Copy & paste with a new name
Use FlashFire (fully supported on virtual/stock ROMs)
...
If you've IMG mounting issues, run the following commands:
Code:
mount -o remount,rw /system
busybox ln -sv /proc/self/mounts /system/etc/mtab
If this doesn't help, try mounting from Terminal Emulator or ADB shell after selecting the IMG in MultiSystem app, by running the following command:
Code:
MultiSystem mount virtual
MultiSystem Video Tutorial
Thanks To: @Tomsgt , aka RootJunky
Don't forget to subscribe & like the video to show appreciation of his great effort & time spent in making the video :highfive::good:
If this is for VZW, why is in the Sprint area?

Categories

Resources