[Android Apps and Games] irha:
Quick reboot infinite loop

Hello Bakpinar,

After linking a whole bunch of apps to an ext4 partition, Link2SD started reporting "Mount warning" and offering me to do a quick reboot. The problem is that the reboot goes into an infinite loop and never recovers. I see the android animation and after a few seconds, it pauses for a second and the animation starts over. If I do a hard reboot, the same Link2SD warning shows up. I tried this 4 times with no luck, so please help me troubleshoot. I also wonder how to have the partition mount sooner so that I don't have to do the quick reboot.

BTW, it seems like wiping dalvik cache from recovery console is a really bad idea when using Link2SD. I was trying to follow instructions for installing the new google talk client with audio/video support that asks for clearing the cache and I followed the step without realizing that this would cause all the soft links in the /cache/dalvik-cache to get removed, severing the corresponding files in the SD card. What is worse is that when I booted into back into android, the /cache partition got full, apparently because android tries to recreate these files, and there is no Link2SD to relink them as they are getting recreated. This got me into a weird sequence of events that ultimately resulted in loss of .apk files (with broken soft links) for a bunch of my apps. I think I ran one of the cleanup options on Link2SD that said there was something like 128MB of unused files on the app dir, and I said yes to remove them. What could have happened is that Link2SD might have though that these .apk files with missing .dex links were all unused and offered to cleanup. This in turn left the corresponding soft-links for the .apk files with missing targets. It took me a good two to three hours to figure out what is going on and to cleanup the broken links, relink the dex files so that there is space on /cache, restore apps again with Titanium.

For a couple of the apps, Link2SD even got confused and missed to link correctly. E.g., for one of the apps (google reader) the link for data@app@com.google.android.apps.reader-1.apk@classes.dex was broken with missing destination file (unlike all other apps cases that have a broken .apk link, with a missing .dex link), so when I reinstalled google reader, it ended up creating data@app@com.google.android.apps.reader-2.apk@classes.dex (notice the "-2"), but when Link2SD linked the app, the existing broken link with "-1" shadowed the good file and that resulted in leaving the file as is. I think I even ran cleanup on dalvik-cache and it didn't catch this broken soft link.

This whole debacle makes me wonder if linking individual .dex files is even a good idea, in case I ever have to wipe the dalvik cache again. Some people seem to just soft link the whole directory, which should solve this problem, but apparently this could be a performance hit on core framework caches that deserve a high performance internal memory. May be it is not bad, if a class 10 media is used, but could be disastrous when it comes to using cache early, before the partition is mounted. Right now, it is able to boot into the desktop with missing apps, but with the whole dalvik-cache inaccessible, it might not even come up. May be you already have documented best practices, it is time to RTFM :)

Thanks a lot in advance.