Little customization ROM for MK802IV - Android Stick & Console Computers General

Hi, everyone!
I'm trying to customize a little bit the 4.4.2 ROM for the MK802IV, just to get two things done, re-size the userdata partition to use the full space (8gb) and remove the emulated SD card.
I want to use a real SD card (32gb), and get the option to move the apps to the real SD card instead of the emulated one, I tried link2sd, but every reboot some apps show up, some others doesn't, so I decided to go deep and get involved with Android customization.
About the emulated SD, I messed up with the files inside the boot.img:
init.rk30board.rc (github.com/flingone/device-rockchip-rksdk/blob/flingone-kk/init.rk30board.rc)
fstab.rk30board.bootmode.emmc (github.com/flingone/device-rockchip-rksdk/blob/flingone-kk/fstab.rk30board.bootmode.emmc)
fstab.rk30board.bootmode.unknown (github.com/flingone/device-rockchip-rksdk/blob/flingone-kk/fstab.rk30board.bootmode.unknown)
(Github repo is not mine, I just found it searching for the content of my files, also you can see the rest of the files inside my boot.img on this repo)
I tried to get close to the conf here: source.android.com/devices/storage/config-example.html "Physical primary only"
But after the changes, I tested the ROM in the stick, and going to "Settings>Storage" it still shows "NAND FLASH" mounted, but not showing information, and the "Settings" app closes when I go to "apps", so I assume that I did it wrong, and I'm not sure it the "Physical primary only" configuration is the one I'm looking for.
Also I don't understand the reason for bootmode.emmc and bootmode.unknown, but is the less important question.
About the parameter file (partitions), I've tested some changes but when I'm installing the firmware, is not passing the "checking" stage.
I tried 8GB minus the sizes of the partitions next to the "userdata" in the file, but the question is, the last partition is "user" and it have no space assigned, how much space this last one needs to work right? I think that the "user" partition without space may be the problem, but not sure anyway.
Any explanation/help would be thankfully received.
Thanks!
Martin.

Related

[GUIDE] Prep for App2SD and why do a "Wipe data / factory reset"

I put this short guide together because I tend to see a lot of confusion regarding what a "wipe data / factory reset" does to your phone.
These are the steps you should take before loading a new ROM:
1) Download your new ROM and relevant supporting or needed files like modem, alternate kernel, etc., and place them on your internal SD.
2) Backup your applications, settings, messages, etc., with a backup tool like Titanium Backup, image specific backup tool, etc.
3) Boot into recovery and run a “wipe data/factory reset"
4) Follow the developers ROM loading instructions.
When you perform a “wipe data/factory reset” the content of the following directories are deleted :
/data
/cache
/datadata
/sd-ext
/sdcard/.android_secure
Nothing else on your SD card (internal or external) outside of these directories is modified so it is safe to leave files outside of the above mentioned directories without fear of losing them. Your external SD card and SIM do not need to be removed. The goal here is load a new or updated ROM in as much a clean environment that you can. Files left behind in these, especially cache and davlik-cache can cause some of the strangest problems. The kind that nobody can really resolve.
/cache - This is the partition where Android stores frequently accessed data and application components to make these, as implied, respond much faster as well as faster to retrieve / access.
/datadata – This directory contains the library, database, user specific configuration files as well as log files for its specific application installed in the /data directory.
/data directory is where your contacts, messages, settings and apps that you have installed go. Wiping this partition essentially restores it to the way it was when you first booted it, or how it was after your last custom ROM install.
If your ROM uses an /sd-ext partition on your SD card for data storage your /data directory is mapped to /sd-ext and wiping the /sd-ext directory will result in losing your data.
/sd-ext is used for apps moved to your SD card. Your Android OS runs natively in an ext format while your SD card has a fat32 format, which is used typically for USB storage devices, Windows computers, etc.
The sd-ext partition is an additional partition on your SD card that acts as the /data partition when used with certain ROMs that have APP2SD or data2ext enabled. It is popularly used on devices that have little memory allotted to the /data partition. A misfortune that in my experience, Captivate does not partake in. Still, users who want to install more programs than the internal memory allows can take advantage of this partition and use it with a ROM supporting this feature.
The folder named .android_secure is where apps are stored when you perform the "move from phone to SDram/SD card" operation.
Consider this, Apps2SD uses the fat32 portion of your SD card, which is obviously limiting because it isn't Androids native file system. However, if you format your SD card, or partition a part of it as a ext file system, you can trick the phone into thinking it's part of the Android OS native environment. This will allow you to move applications, widgets, even cache and davlik cache over to it.
Disclaimer! I am not responsible for any damage you may cause to your phone or SD Card if you try to enable/use sd-ext.
To enable sd-ext in ClockWork Mod (ROM Manager):
Boot into CWM
Go to Advanced
Then to "Partition SD Card"
Choose an sd-ext size
Then choose a swap size, or not. Swap is just like windows' virtual memory. The system will use it when you're running low on RAM and use it as temporary RAM storage. This is where you'll probably see an increase in speed.
Just for fun I put sd-ext at 512MB and Swap at 64MB which is probably more than plenty for the swap. The swap will assist a little with memory and with the extra space I can move my apps over to it with a program like App2SD or in most custom ROMs nowadays just use the "move to USB" option in "Manage Applications". Titanium Backup will also move apps to SD for you and I'm sure you can find plenty more in the market.
You can also use a tool like Minitool Partition Wizard:
1. Open Minitool Partition Wizard
2. Delete Existing Partition from SDCard (Backup data first!!)
3. Create Fat32 Partition
Note: Set all partitions to PRIMARY (Steps 3 - 6)
4. Create EXT2 Partition (System) about 150MB-200MB depend on ROM
5. Create EXT2 Partition (Data) about 150MB-250MB
6. Create EXT2 Partition (Cache) about 50MB
Personally I don't see a need to do any of this on either of my Captivate phones though I have played with it on my DEV phone.
And since it does play a big role and needs to be cleared at times...
Davlik-Cache - dalvik cache is a program cache area for the program "Dalvik". Dalvik is a java based virtual machine that is the base for running your (.apk) programs. In order to make access times faster (there wasn't a JIT compiler installed by default until Android 2.2), the dalvik-cache is the result of dalvik doing a optimization of the running program/s. This optimization is kept so that it is then re-used every time you use your application/s. By default, davlik-cache is located in your /data partition.
No, I'm not looking for donations. Just trying to clarify things for some.
Great info, but a "guide" assists you in doing something, this is just straight info.
While I initially intended on writing it to guide flashers into the benefits of a wipe data / factory reset, and avoiding the myriad of strange issues experienced, I can see now where it can more construed as informational. Hmmm... maybe I'll add more to it or ask a mod to change the title topic for me.
Regardless, my hope is that some people get some benefit out of it otherwise I've only wasted my time.
Thanks, I've been wondering for a while what that actually did.
Great start for a guide that should clear the boards up a bit. I vote it to be stickied after adding a bit more info on backing up, partitioning the sd card, dalvik cache, etc.
I think it is important to explain that a reset should not be done after flashing a custom ROM because it deletes the Dev's settings/data/non-system apps. Instead flashers should either reset after flashing back to stock or before flashing a custom ROM over the current custom ROM.
Cozmo1 said:
I put this short guide together because I tend to see a lot of confusion regarding what a "wipe data / factory reset" does to your phone.
When you perform a “wipe data/factory reset” the content of the following directories are deleted :
/data
/cache
/datadata
/sd-ext
/sdcard/.android_secure
/cache - This is the partition where Android stores frequently accessed data and application components to make these, as implied, respond much faster as well as faster to retrieve / access.
/datadata – This directory contains the library, database, user specific configuration files as well as log files for its specific application installed in the /data directory.
/data directory is where your contacts, messages, settings and apps that you have installed go. Wiping this partition essentially restores it to the way it was when you first booted it, or how it was after your last custom ROM install.
If your ROM uses an /sd-ext partition on your SD card for data storage your /data directory is mapped to /sd-ext and wiping the /sd-ext directory will result in losing your data.
/sd-ext is used for apps moved to your SD card. Your Android OS runs natively in an ext format while your SD card has a fat32 format, which is used typically for USB storage devices, Windows computers, etc.
The folder named .android_secure is where apps are stored when you perform the "move from phone to SDram/SD card" operation.
Consider this, Apps2SD uses the fat32 portion of your SD card, which is obviously limiting because it isn't Androids native file system. However, if you format your SD card, or partition a part of it as a ext file system, you can trick the phone into thinking it's part of the Android OS native environment. This will allow you to move applications, widgets, even cache and davlik cache over to it.
Nothing else on your SD card (internal or external) is modified so it is safe to leave files outside of the above mentioned directories without fear of losing them.
If you plan on trying several different ROM's and/or updating your favorite ROM every time a new version is released you need to invest in an application like Titanium Backup or one that comes with your ROM if it's supplied with one. MIUI includes one that works extremely well. Performing a “wipe data/factory reset" after loading your new ROM and before booting into it should provide you with a smoother transition to your newly chosen or upgraded ROM. Having a standard backup and restoral process should help you enjoy it quicker too.
Click to expand...
Click to collapse
Here is something I keep in a word file to help answer what you are also trying to answer. It is a bit shorter and simplified but it may help to polish your thread for us simpletons.
Dalvik cache is a place where the Android OS re-compiles the executable programs the first time to optimize them. It does this when you make a major change like replace the kernel/modem. Clearing the Dalvik cache will force Android OS to recompile the apps for the the new kernel/modem. This can take time on the first boot after clearing the Dalvik cache.
Also the main data Cache is used by the Android OS at run-time to write temporary files for specific reasons. You want to clear this out so it doesn't re-use the old cached data.
Manually clearing both caches allows the new kernel/modem to be installed in a "cleaner" environment. It's just preventative maintenance.
snowake said:
I think it is important to explain that a reset should not be done after flashing a custom ROM because it deletes the Dev's settings/data/non-system apps. Instead flashers should either reset after flashing back to stock or before flashing a custom ROM over the current custom ROM.
Click to expand...
Click to collapse
This actually makes perfect sense to me. I have modified my OP because of your input. Thank you very much, snowake!
Cozmo1 said:
This actually makes perfect sense to me. I have modified my OP because of your input. Thank you very much, snowake!
Click to expand...
Click to collapse
do u have more info about "format your SD card, or partition a part of it as a ext file system" or how to do that.
i have read someone format part of the sdcard (class 10)to ext 2 or 4,to make the write n read faster.is that what you mean.can u guide me to the right direction.thank in advance.
? ? ? about this......(However, if you format your SD card, or partition a part of it as a ext file system, you can trick the phone into thinking it's part of the Android OS native environment. This will allow you to move applications, widgets, even cache and davlik cache over to it.)
Cozmo1 said:
This actually makes perfect sense to me. I have modified my OP because of your input. Thank you very much, snowake!
Click to expand...
Click to collapse
I struggled with all of this my first first few flashes.
xpakage said:
...Dalvik cache is a place where the Android OS re-compiles the executable programs the first time to optimize them.
...
Also the main data Cache is used by the Android OS at run-time to write temporary files for specific reasons.
Manually clearing both caches allows the new kernel/modem to be installed in a "cleaner" environment. It's just preventative maintenance.[/I]
Click to expand...
Click to collapse
That is much more boiled down. I looked back at the "how to flash" threads and a couple good explanations on custom roms. None explain this that I found.
Cosmo, here are some more thoughts on misunderstandings I have had and seen posted. Like post above I pasted from my notes, so may be incorrect.
Bootloaders: Same for Froyo/Eclaire in both i897 and i9000 roms. GB requires new bootloaders, but i897 are apparently cross-compatible. However, issues seem to pop up on i9000 roms with GB i897 bootloaders. If flashing back to Froyo, use the full jf6 stock, not cezar's stock eclaire without bootloaders.
Using Tibu: If no useful data (i.e. Bookmarks on dolphin) then simply click data only when restoring user apps. Typically no issues when restoring user apps after switching Android versions. However, system apps should not be restored because of the rom customizations. Especially when switching to GB because it uses different directory structure. I do not seem to have issues when staying on same version and restoring foreground (user accessible) apps with data only or restoring green text color sys apps with Tibu as icon (i.e. Accounts).
Rom manager: really only need the app if flash to stock and need to flash rom directly from cwm. If so, then flash cwm (top button in menu) and choose phone. This places update.zip in /sd, which is opened after selecting "reinstall update" in stock recovery. Usually have to select it twice for it to work. This will replace ATT stock 2e recovery (blue text) with cwm 2.5 (froyo).
Voodoo color, lagfix, sound: must either be included in kernel. Lagfix simply allows user to format sd as ext4 (linux). Color balances display so less blue iodes are used and color is more realistic. Sound allows clearer sound through headphones through tweaks enabled in voodoo app. If sound is not in kernel then purchase voodoo pro in market and it will install it into the kernel (if rooted, even if stock).
Thanks for clearing that up!
- Aaron
Updated with more details.
Really, really useful. Had no idea partition options were available to this extent! Especially swap. By mini tool are you referring to Easus' program? I am definitely checking this out tonight. Thanks!
Great guide. In order to clear
/sdcard dir I master clear it after flashing to stock. Is there an alternate method besides deleting dirs myself?
snowake said:
Great guide. In order to clear
/sdcard dir I master clear it after flashing to stock. Is there an alternate method besides deleting dirs myself?
Click to expand...
Click to collapse
That is probably the safest way to do it within the phone itself. An alternate way would be to mount it to your computer:
In Windows right click the drive that was assigned to your internal SD card and then click on format. By default it'll most likely set you to Fat32 and if you click format it'll say its complete, but nothing will be deleted. Android being a Linux OS doesn't use fat. You can format it by choosing exFat, but by doing this...
!!!WARNING!!! be aware that you will lose everything on your internal SD card AND your external SD card.
Emphasis placed mainly for others that read this and might not know.
Safer and easier to do it within the phone.
snowake said:
Really, really useful. Had no idea partition options were available to this extent! Especially swap. By mini tool are you referring to Easus' program? I am definitely checking this out tonight. Thanks!
Click to expand...
Click to collapse
This one is from MiniTool, though I wouldn't be surprised if Easus owned them. I didn't investigate to confirm. You can get the free home edition of MiniTool Partition Wizard here.
Very nice infos. Deserves a sticky, although, probably in a different thread.
Some information on what "Master Clear" in Odin would also be helpful - I have never trusted my phone to 'truly' clear everything on the phone, I have found the Odin Master Clear option to be much more complete.
It is a bit odd, I do this with my PC every six months, I back everything up and format the drive and start over again (after running Spinrite on all the drives) - I do this on / around New Years and again over 4th of July weekend and I decided this past weekend to also do the same with my smart phones (4 Cappies) and tablets (Ipad and 2 Android tabs) this past weekend.
It gives me that sort of squeaky clean feeling and seems to make my devices run smoother. Maybe its all in my head, dunno *shrugs*.
One thing I can say however, I have not had a hard drive go bad on me since I started the Spinrite thing 10 years ago (I still have an 8 GB hdd in my desktop that is working!!).
Any decent update(r)-script will do this for you.
Sent from my Infuse 4G
littlewierdo said:
Very nice infos. Deserves a sticky, although, probably in a different thread.
Some information on what "Master Clear" in Odin would also be helpful - I have never trusted my phone to 'truly' clear everything on the phone, I have found the Odin Master Clear option to be much more complete.
It is a bit odd, I do this with my PC every six months, I back everything up and format the drive and start over again (after running Spinrite on all the drives) - I do this on / around New Years and again over 4th of July weekend and I decided this past weekend to also do the same with my smart phones (4 Cappies) and tablets (Ipad and 2 Android tabs) this past weekend.
It gives me that sort of squeaky clean feeling and seems to make my devices run smoother. Maybe its all in my head, dunno *shrugs*.
One thing I can say however, I have not had a hard drive go bad on me since I started the Spinrite thing 10 years ago (I still have an 8 GB hdd in my desktop that is working!!).
Click to expand...
Click to collapse
I can run some tests on Odin's master clear to confirm what it does. Initially I would believe it does the same as a "wipe data / factory reset", but testing should let us know for sure. I'll test it this weekend. Maybe sooner.
Awesome to hear that I'm not the only advocate for SpinRite and I still use it a lot though not every 6 months like you do. It's definitely worth having and using.
MikeyMike01 said:
Any decent update(r)-script will do this for you.
Sent from my Infuse 4G
Click to expand...
Click to collapse
I totally 100% agree with you, MikeyMike01. Unfortunately, not all update scripts are created equally Asides from teaching people how to script themselves or parse through it, a task I do not have the time or patience to tackle, this it probably the easiest and best way to have users try to avoid the many and strange issues posted that possibly / most likely could've been avoided by using the tools at their disposal.
On a side note... I didn't notice you got yourself an Infuse 4G. Congrats! How do you like it? I've been out of contract for almost a year now and wouldn't mind upgrading (my wife is in contract), but I haven't seen anything really worth upgrading to or that does something I really need/want that the Captivate cannot, atm. I haven't looked up any specs and reviews on the Infuse yet tho.

[Q] Questions on sd-ext vs. .android_secure and procedure

Hello, Folks- Apologies for the questions that are to follow, but I've pored forums, how-to's, etc., and have not been able to find a clear all-in-one post that addresses the questions I have. I've been able to cobble together information from various posts, but some of the information seems to conflict and some of the information I just plain can't put together, especially when comparing older posts with newer. I have a rooted EVO 4G, use ROM Manager, Clockwordmod, and primarily CM7 daily builds although I like to play with other ROMS. I'll try to put the questions in what I consider the order of importance.
1. Is it even preferable to use sd-ext over the standard .android_secure location for apps moved to the SD card? I've noticed that Clockwordmod backs the .android_secure, data, etc. folders when doing a ROM backup and they restore just fine whenever I'm playing around with different ROMs. Also, I recall seeing that some ROMS don't support sd-ext application storage which makes me feel a bit hinky.
2. I'm a very experienced Linux user and would prefer to use GParted to resize the current fat32 partition to keep the data already existing there, and then add and ext3 partition. Just to be safe I plan to move all sd card apps back to the phone beforehand. Is it advisable to do it this way or will the data remaining on the fat32 partition screw things up once I start using the ext3 partition?
3. When using GParted (if that's advisable), do I need to specify the mount point for the new ext3 partition or would a ROM/Clockworkmod/ROM Manager automatically recognize it and mount it appropriately for SD app usage without my specifying the mount point?
4. If I do need specify a mount point in GParted, what should the mount and folder be called?
5. And finally, do I need to use a third-party app along with all this to get the app storage to sd-ext working? CM7 appears to have its own setting for using ext3, hence this question.
Once again, apologies for these basic questions, but I've run into so much old/new and conflicting/incomplete information on these topics that I can't tell what info is outdated or valid. Thanks to anyone willing to wade through this long post!
John
Worked fine, but CWM backup still says "No sd-ext found. Skipping."
Being the fiddle-monkey I am, I went ahead and did what I described above.
I did not label the partition in GParted. I used S2E and everything seems to have gone quite well. I have tons of free on-board memory now.
The only remaining question I have is this:
I did a Clockwordmod backup, and it appeared to be backing up all the apps I have installed judging from the file names that flew by. However at the end of the backup the familiar message "No sd-ext found. Skipping." appeared. I seem to recall reading something about this but did not understand why that message still comes up for some people. I know (?) that the apps have migrated because of the free space on board.
Can someone explain this? Am I headed towards trouble in the future?
Refer to Thread 1338708
I was also searching for the answers to the questions raised in your first post. I think they are well answered in the post:
http://forum.xda-developers.com/showthread.php?t=1338708
Not sure about the second post though :-(
I will post my results once I do a backup via CWM-recovery to see if they match.

SD Card partitioning on MTD ROMs

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

[Q] Link2sd relink file not working

Hello,
I have installed a lot of applications on my device and linked them to my sdcard with link2sd.
Those applications have been installed on a specific account (guest account) on my device.
I have changed my sdcard, create a new partition ext2 on it, copy and paste all the files, directories,... of the old partition to the new one, and tried to relink the new card with link2sd.
But -> "no file to link" !! :crying:
And I don't have anymore my old sdcard.
Means, today, I have no more application listed on my screen, no more application listed in the settings, no more application listed in "My applications" of the Google Play Store, but the memory of my device is completly full of specific files of the applications which were previoulsy linked to the previous sdcard.
In other word, it is the mess and I really need to recover my applications with the datas.
Does someone know how to fix this??? (even manually)
Thank you
clecocq1 said:
Hello,
I have installed a lot of applications on my device and linked them to my sdcard with link2sd.
Those applications have been installed on a specific account (guest account) on my device.
I have changed my sdcard, create a new partition ext2 on it, copy and paste all the files, directories,... of the old partition to the new one, and tried to relink the new card with link2sd.
But -> "no file to link" !! :crying:
And I don't have anymore my old sdcard.
Means, today, I have no more application listed on my screen, no more application listed in the settings, no more application listed in "My applications" of the Google Play Store, but the memory of my device is completly full of specific files of the applications which were previoulsy linked to the previous sdcard.
In other word, it is the mess and I really need to recover my applications with the datas.
Does someone know how to fix this??? (even manually)
Thank you
Click to expand...
Click to collapse
Did you try and re-create the mount scripts?
Are the paths exactly the same?
Try installing an app and then linking it with Link2SD. Then check the path of the linked data. Make sure it matches with your backups.
I'd personally go for clean installs when changing SD card, but I think you're brave for trying. Good luck.
tillward said:
Did you try and re-create the mount scripts?
Are the paths exactly the same?
Try installing an app and then linking it with Link2SD. Then check the path of the linked data. Make sure it matches with your backups.
I'd personally go for clean installs when changing SD card, but I think you're brave for trying. Good luck.
Click to expand...
Click to collapse
Yes tried the re-create mount script without success.
One information: The old partition was ext3 and this time I created an ext2. Is it important?
Where can I check the path of the linked data exactly?? Which file?
Thank you for your help.
clecocq1 said:
Yes tried the re-create mount script without success.
One information: The old partition was ext3 and this time I created an ext2. Is it important?
Where can I check the path of the linked data exactly?? Which file?
Thank you for your help.
Click to expand...
Click to collapse
Just so I have this right...
You backed up all the data and file structure from your ext3 partition, re-formatted it to ext2, then copied all the data and file structure back on.
Have a look in root explorer. What are the folder names of your two SDcard partitions under /root ?
Mine looks like this:
/root/sd-ext
/root/sdcard
/root/storage/sdcard0
I used a script from here: http://forum.xda-developers.com/showthread.php?t=1971689 so mine will probably be different to yours.
If your linked app files are in the same place as before, (check this by installing and linking a new app and then finding it's linked data in root explorer) and you get an error/ no result when re-creating mount scripts in Link2SD, then i'm at a loss.
There are a lot more knowledgeable people than me on these forums, so hopefully one of those people will see your post and offer you a solution. Otherwise, it's time to re-install all your apps I suppose.
tillward said:
Just so I have this right...
You backed up all the data and file structure from your ext3 partition, re-formatted it to ext2, then copied all the data and file structure back on.
Have a look in root explorer. What are the folder names of your two SDcard partitions under /root ?
Mine looks like this:
/root/sd-ext
/root/sdcard
/root/storage/sdcard0
I used a script from here: http://forum.xda-developers.com/showthread.php?t=1971689 so mine will probably be different to yours.
If your linked app files are in the same place as before, (check this by installing and linking a new app and then finding it's linked data in root explorer) and you get an error/ no result when re-creating mount scripts in Link2SD, then i'm at a loss.
There are a lot more knowledgeable people than me on these forums, so hopefully one of those people will see your post and offer you a solution. Otherwise, it's time to re-install all your apps I suppose.
Click to expand...
Click to collapse
Effectively, I don't know whether I got the exactly same partition name before and after (before ext3 and after etx2).
I have nothing under /root
Actually it is quite strange. I can see my sdcard (only the FAT partitiion) under:
/sdcard2
or
/storage/sdcard1
this is pointing to my external sdcard. I can see the same files/directories in there.
I don't see the second ext2 partition with RootExplorer.
I can see it only with ESExplorer on the lateral bar. It is named sdext2.
I guess that the old partition ext3 was certainly not named the same.
I've just linked new file on the new partition. It is working correctly.
in the data/app folder I see the icon of the new linked app with the correct icon image (it is a game) and a small arrow in the top left correct (shortcut).
in the same folder, I see all the other icons of the lost linked applications with an android image and also the small arrow in the top left corner. But obviously when I tap on it, it says "analysis error,...". I guess that the shorcut points to nowhere because it is not linked anymore.
But I don't where to check where the shortcut is pointing to !! and how to change.
It should be simple to find back the old partition name and rename the new one with same name...
thank you for your help.
clecocq1 said:
Effectively, I don't know whether I got the exactly same partition name before and after (before ext3 and after etx2).
I have nothing under /root
Actually it is quite strange. I can see my sdcard (only the FAT partitiion) under:
/sdcard2
or
/storage/sdcard1
this is pointing to my external sdcard. I can see the same files/directories in there.
I don't see the second ext2 partition with RootExplorer.
I can see it only with ESExplorer on the lateral bar. It is named sdext2.
I guess that the old partition ext3 was certainly not named the same.
I've just linked new file on the new partition. It is working correctly.
in the data/app folder I see the icon of the new linked app with the correct icon image (it is a game) and a small arrow in the top left correct (shortcut).
in the same folder, I see all the other icons of the lost linked applications with an android image and also the small arrow in the top left corner. But obviously when I tap on it, it says "analysis error,...". I guess that the shorcut points to nowhere because it is not linked anymore.
But I don't where to check where the shortcut is pointing to !! and how to change.
It should be simple to find back the old partition name and rename the new one with same name...
thank you for your help.
Click to expand...
Click to collapse
You could try running the script that I mentioned. It won't do any harm. It may be, like you say, that the partition is named differently, so the paths don't quite match up. Duplicating the SD partition path with the script that I linked to, might (and it's a long-shot) let Link2SD see the partition on the path previously set. Let us know if you figure it out.
What was the reason you changed the partition format type anyway?
tillward said:
You could try running the script that I mentioned. It won't do any harm. It may be, like you say, that the partition is named differently, so the paths don't quite match up. Duplicating the SD partition path with the script that I linked to, might (and it's a long-shot) let Link2SD see the partition on the path previously set. Let us know if you figure it out.
What was the reason you changed the partition format type anyway?
Click to expand...
Click to collapse
I'll give it a try asap.
Concerning the reasons... bad reasons unfortunately. The links sometimes were not working. I had to relink regularly the files (hopefully, it is automatic, but not very convenient). Then I though that it may be better in ext2, and you know what happened
I will keep you informed if your advice works.
Thank you very much
tillward said:
You could try running the script that I mentioned. It won't do any harm. It may be, like you say, that the partition is named differently, so the paths don't quite match up. Duplicating the SD partition path with the script that I linked to, might (and it's a long-shot) let Link2SD see the partition on the path previously set. Let us know if you figure it out.
What was the reason you changed the partition format type anyway?
Click to expand...
Click to collapse
Unfortunately, not possible for me. I don't have a custom ROM and therefore don't have /system/etc/init.d in my device.
I will try to reformat bacl my 2nd partition in ext3 and see if I will be able to relink.
I have reformated my partition in ext3.
But after rebooting my device, the mounted name is still sdext2.
Does someone know how to change a mounted partition name without a custom ROM?
Thank you
The script is named init-recovery.sh in /etc.
Finaly, I reinstalled all the apps and copy/paste all the user files manually then relinked to the new partition with link2sd.
Everything is working now.
Thank you anyway for your help
I too am facing similar problem
but i had been using link2sd before and before doing the process i didnt not unlink back to sd card the applications
so now all the files are in miscellaneous folder
is there any way to re link these
i use stock rom

Unroot Android (remove symlinks by Link2SD)

Before posting this, I tried looking at other forum threads and over the internet in the last week, but could not find a solution so far.
I have a Huawei Y300 with Android 4.1.1. It was rooted and was pretty much fine except for some issues (they happened in time, are not caused by the rooting itself). Meanwhile, I changed the SD card and the defects include:
- cannot set contact photos (it stops when it tries to crop image)
- cannot change theme (it shows it empty and says "internal storage full" - which is not true, plenty of free space shows up in app manager)
- can't use file manager - doesn't see anything from Local
- without a card in it, gallery and camera don't work at all
I did a factory reset and cleaned the davlik folder, but didn't change anything.
The problems come, I think, because Link2SD creates symbolic links to some folders, and those folders are not the same in a new card. For instance, when I use Root Browser and click Properties on some folders, I get:
Path: /sdcard
Symlink:/storage/sdcard0
But, when I use phone's File Manager, it does not see the files from "storage0", it shows only files located in "storage/sdcard1"
I tried to do a system update, by putting a firmware zip (or app) on the card. But it does not see it there, because it sees what the symlink tells it to see. So I'm stuck in a loop.
Because it was impossible to make Link2SD see the new card, I used another phone, with Android 4.4. After endless attempts, I got that phone to see the two partitions on the card and function. (I had to make Link2SD system app and chose ext4 for second partition.)
I took the card back to the problem phone and only sees the first partition, not the ext4 one.
In Link2SD storage info it shows:
Internal (69% free)
SD Card (unmounted)
External SD (93% free)
Second Partition (not found)
System (33% free)
Cache
When I click Recreate mounting script - it says sd card not found.
Relink files: /data/sdtext2 not found
I basically would like to get the folder structure back to the original settings, maybe use the phone without card or with a new card, with or without rooting - just the simplest way possible, but to be able to use photos for contacts and wallpapers.
update
After numerous attempts, I managed to get into recovery mode from Link2SD (the same ) and started firmware update.
It lists doing some operations, but very soon it says wiping cache... and installation aborted.
Should I try with a different ROM? This one is from Huawei website, official, general version.
it's done!
Not that anyone answered, but in case you have the same problem: it's fixed!
Again with Link2SD. Made a third partition on the card, than in Link2sd click the left upper corner for more options. Scroll down for Restart. It gives options for recovery. Deleted everything with the two options to wipe cache and I don't know what else. And than chose restart from volume keys and upper button as enter.
It didn't do an upgrade, rather a downgrade to a previous factory version but i'm happy with it.
Won't risk another rom change.

Categories

Resources