yashsingh1/xdaforums huggingface dataset:
[Android Software/Hacking General [Developers Only]] gu5t3r:
prop information is stored in /props

---------- Post added at 11:00 PM ---------- Previous post was at 10:58 PM ----------

maybe it's because it couldn't cd to /tmp

---------- Post added at 11:04 PM ---------- Previous post was at 11:00 PM ----------

And log location is /props/log
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
No, Android has a few places where it stores some prop information, but Mounts2SD has it's own properties, both for configurations in /data/property and for script/app communication in /tmp. The new app uses live overview, so the communication properties are limited now, but the script still uses it to report different log levels and the status of the last file system check.
[Android Software/Hacking General [Developers Only]] gu5t3r:
Yes, but my question was how 5.5 script and 2.2 app read log normal?

root@android:/props # ls -hl1
-rw-rw-rw- 1 2 Aug 29 15:55 app.config.loaded
-rw-rw-rw- 1 2 Aug 29 15:55 app.finalized.script
-rw-rw---- 1 2 Aug 29 15:54 config.disable_cache_folders
-rw-rw---- 1 2 Aug 29 15:54 config.disable_safemode
-rw-rw---- 1 2 Aug 29 15:54 config.enable_cache
-rw-rw---- 1 2 Aug 29 15:54 config.enable_debug
-rw-rw---- 1 2 Aug 29 15:54 config.enable_reversed_mount
-rw-rw---- 1 2 Aug 29 15:54 config.enable_sdext_journal
-rw-rw---- 1 2 Aug 29 15:54 config.enable_swap
-rw-rw---- 1 2 Aug 29 15:54 config.move_apps
-rw-rw---- 1 2 Aug 29 15:54 config.move_dalvik
-rw-rw---- 1 2 Aug 29 15:54 config.move_data
-rw-rw---- 1 2 Aug 29 15:54 config.no_tmpfs_cache
-rw-rw---- 1 2 Aug 29 15:54 config.run_sdext_fschk
-rw-rw---- 1 2 Aug 29 15:54 config.script
-rw-rw---- 1 4 Aug 29 15:54 config.set_sdcard_readahead
-rw-rw---- 1 5 Aug 29 15:54 config.set_sdext_fstype
-rw-rw---- 1 2 Aug 29 15:54 config.set_swap_level
-rw-rw---- 1 6 Aug 29 15:54 device.sdcard.mm
-rw-r--r-- 1 2.5K Aug 29 15:55 log
-rw-rw---- 1 8 Aug 29 15:54 status.destination.external
-rw-rw---- 1 19 Aug 29 15:54 status.device.sdcard
-rw-rw---- 1 21 Aug 29 15:54 status.device.sdcard.partition.sdext
-rw-rw---- 1 21 Aug 29 15:54 status.device.sdcard.partition.swap
-rw-rw---- 1 21 Aug 29 15:54 status.device.sdcard.partition.vfat
-rw-rw---- 1 2 Aug 29 15:54 status.enable_sdext_journal
-rw-rw---- 1 2 Aug 29 15:54 status.move_apps
-rw-rw---- 1 2 Aug 29 15:54 status.move_dalvik
-rw-rw---- 1 2 Aug 29 15:54 status.run_sdext_fschk
-rw-rw---- 1 2 Aug 29 15:54 status.script
-rw-rw---- 1 4 Aug 29 15:54 status.set_sdcard_readahead
-rw-rw---- 1 5 Aug 29 15:54 status.set_sdext_fstype
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
Sorry, forgot that I used to use /props instead of /tmp. The 2.x app reads the log from /props/log :)
[Android Software/Hacking General [Developers Only]] gu5t3r:
=)

Maybe to use /m2sd and /sd-ext for log simultaneously?
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
Yes something like that.
[Android Software/Hacking General [Developers Only]] gu5t3r:
[MENTION=3147360]dk_zero-cool[/MENTION]

I made myself a script for moving some apps cache to sd-ext...

#!/sbin/busybox sh
exec > /data/local/tmp/cache-app-link.log 2>&1
BB=/sbin/busybox

app_list='com.ebay.mobile
com.facebook.katana
com.opera.browser
mobi.mgeek.TunnyBrowser'

for app in ${app_list}; do
if [ -d "/data/data/${app}/cache" ] && [ -z "$($BB mount | $BB grep " /data/data/${app}/cache ")" ]; then
if [ -n "$($BB ls "/data/data/${app}/cache")" ]; then
cd "/data/data/${app}/cache" && $BB rm -rf *;
fi
$BB mkdir -p -m 777 "/sd-ext/cache-app-link/${app}/cache"
$BB mount -or "/sd-ext/cache-app-link/${app}/cache" "/data/data/${app}/cache"
fi
done

It works for me; I hope /sd-ext/cache-app-link is not taken by m2sd?

Any suggestion for improvement or you think script is good and will not interfere with M2SD?

---------- Post added at 02:41 AM ---------- Previous post was at 02:40 AM ----------

I named it 11cache-app-link
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
It does not seam that it would create problems with my script. Looks fine, but yes, I do have one change.

#!/sbin/busybox sh

BB=/sbin/busybox

(
while [ ! "`ps | grep [a]ndroid`" ]; do
sleep 10
done

exec > /data/local/tmp/cache-app-link.log 2>&1

app_list='com.ebay.mobile
com.facebook.katana
com.opera.browser
mobi.mgeek.TunnyBrowser'

for app in ${app_list}; do
if [ -d "/data/data/${app}/cache" ] && [ -z "$($BB mount | $BB grep " /data/data/${app}/cache ")" ]; then
if [ -n "$($BB ls "/data/data/${app}/cache")" ]; then
cd "/data/data/${app}/cache" && $BB rm -rf *;
fi
$BB mkdir -p -m 777 "/sd-ext/cache-app-link/${app}/cache"
$BB mount -or "/sd-ext/cache-app-link/${app}/cache" "/data/data/${app}/cache"
fi
done

) &

exit 0

This change will make your script wait until Android is fully booted. The reason is that some of the data folders might not have been created when init.d is being executed, maybe because of a data wipe, or some other reason. By waiting until Android is done booting, you will be sure that it has created all missing data folders for all the installed applications. Otherwise, some folders may not be moved until the device has been restarted once.

Also, it will start and run in a sub-process. This is to allow the rest of the init.d scripts to execute, and allow the device to boot in the first place if this is executed on a ROM that does not use a service implemented init.d method.
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
Okay people. New release is out which should hopefully fix most of the current issues. There is also a nice detailed change log added to the OP with links to each code change.
[Android Software/Hacking General [Developers Only]] Nightshadow931:
New version still FC's here.

Here's another logcat

http://db.tt/JWmm2o75
[Android Software/Hacking General [Developers Only]] gu5t3r:
Thanks, didn't thought of that...

But, on scripts I made before, if I didn't redirect output of main shell before running function or sub-shell in background I still got stuck on boot screen ( thou I never used (parentheses), I used functions and {braces}; think braces does not create a subshell, dunno about functions)...

#!/sbin/busybox sh
exec > /dev/null 2>&1
BB=/sbin/busybox

(
while [ ! "`ps | grep [a]ndroid`" ]; do
sleep 10
done

exec > /data/local/tmp/cache-app-link.log 2>&1

app_list='com.ebay.mobile
com.facebook.katana
com.opera.browser
mobi.mgeek.TunnyBrowser'

for app in ${app_list}; do
if [ -d "/data/data/${app}/cache" ] && [ -z "$($BB mount | $BB grep " /data/data/${app}/cache ")" ]; then
if [ -n "$($BB ls "/data/data/${app}/cache")" ]; then
cd "/data/data/${app}/cache" && $BB rm -rf *;
fi
$BB mkdir -p -m 777 "/sd-ext/cache-app-link/${app}/cache"
$BB mount -or "/sd-ext/cache-app-link/${app}/cache" "/data/data/${app}/cache"
fi
done

) & exit 0;

---------- Post added at 03:35 AM ---------- Previous post was at 03:32 AM ----------

And will definitely test 3.1.2 version and report back tomorrow =)
[Android Software/Hacking General [Developers Only]] zasy99:
Sweet, no more crashing / FC for me. Also, Filesystem check now shows 'ok' instead of 'error'.

:good:
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
Well I can fix this issues to, but it would be better if I was to get the output of the "df" command so that I can fix that method once an for all. Otherwise we are going to take one error at a time per update. That could take awhile to get it working depending on how many other issues your setup will have with this.

Not sure what would happen if you used braces alone. A function executes normally within the same process, the same does grouped commands (surrounded by braces), but when you place the & character after the ending brace of the function, it will be pushed to a separate process. Logic states that grouped commands would do the same. Functions and grouped commands are more or less the same, only one is nameless and cannot be called across a script file.

If you get boot loop issues with this, it is because of logwrapper. I had these issues a lot when I was building this script. The solution is to close the logwrapper process (It will launch it self once the next script in init.d starts executing). It's because logwrapper locks on to a process until It and all nested processes (sub-processes) are ended. Even if a sub-process has been invoked using the & character.

.....
) &

if ps | grep logwrapper; then
killall logwrapper
fi

exit 0
[Android Software/Hacking General [Developers Only]] Nightshadow931:
Here' the output of 'df' comand.

http://db.tt/UYjd7DnM
[Android Software/Hacking General [Developers Only]] gaara6775:
yes I enable the cache option & I'm on stock hboot but still can't download if app size is over 35mb :( . I have never seen anyone facing this issue ,don't know that's wrong with my phone.
[Android Software/Hacking General [Developers Only]] Skippernl:
How much free space do you have on internal. Had the same problem with facebook. After moving just about everything to sd-ext facebook was able to update again.

Skippernl
[Android Software/Hacking General [Developers Only]] gu5t3r:
Maybe also to include "df --help" it will also help dk_zero-cool

---------- Post added at 01:35 PM ---------- Previous post was at 01:10 PM ----------

App caches are are still in /data/data/APPNAME/cache

Use Clean Master from GP to clean app caches then try to update apps...

Facebook can use up to 30 MB of internal for cache...
[Android Software/Hacking General [Developers Only]] siavash2death:
it seems that new version of m2sd has that problem,too. the problem that I mentioned before. change the mount point /Cache to /Cache-int! and maybe I'm doing it wrong,but when I check that debug option that must be making complete events logs, and reboot the phone,it getting unchecked automatically and when I want to save the logs,it says cannot save the log at sd card! how can I solve this?
[Android Software/Hacking General [Developers Only]] Skippernl:
I have submitted this bug on the github site. Dk will have to check what is going wrong

Verstuurd vanaf mijn HTC Desire met Tapatalk 4
[Android Software/Hacking General [Developers Only]] gu5t3r:
[MENTION=3147360]dk_zero-cool[/MENTION]

I updated to 3.1.2

Boot seems faster a bit...

Script works fine with integrated and LuPuS kernel v1.20.2-jb busybox;

SUGGESTION: make preferred busybox user configurable, by that I mean that user can manually order /system/xbin/busybox, /sbin/busybox, /data/local/busybox etc... which one for 10m2sd-runner to use

I manually edited m2sd-runner to use kernel /sbin/busybox as that one will never change, if I mess my xbin busybox I will not mess up data partition if m2sd fails to mount it...

After first start app FC...

REASON: it did not properly setup props files...files from new version were empty with only one NewLine character

ALSO, app does not write configuration values properly to props... After I change setting in app prop file is empty (only contains NewLine)

Script also had stupid info with setting read_ahead and cfq on first start because empty props...

I manually edited all props and now app works, BUT still can't change options from app, only manually... You should make app bulletproof to empty props and consider them as 0

App even requires NewLine after value in prop files to work

Why you removed option to move downloads cache? I will move it with my script but it was useful option...

Hope you fix app soon...

p.s. also I don't have stalling system server information in log, and safe mode option is greyed out so I guess it was script buggy in 5.5.0 version of script...

---------- Post added at 04:33 PM ---------- Previous post was at 04:26 PM ----------

...also, on install it removed my swap2cache script, but I put it back and it's not removing it anymore...

...also it removed link2sd app, but i will reinstall it... (removing link2sd app is not required to disable it)
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
I will have a look

Maybe, I will have to see once I get this ting fully working.

Strange, but you are far from the only one. Explains one very strange log I got yesterday from someone. I will look at this.

In more than 70% of cases, it was cause of most Market issues. I will add it back, but I am going to have to find a better way for it to work. Right now though, I would just like to see a release being out for more than just a couple of hours before I get the first FC or boot issue report.
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
To sum up, I am on top if this empty property issue where changes to the configs, writes empty property files.

If you have any other issues, could you please add them to the git using the New Issue feature. It makes it easier to keep track, and makes sure that I don't forget about it. Posts in this thread will quickly get behind a ton of others, which makes it more difficult to fallow all the people with a problem. At the end, it leaves us with multiple releases fixing only one problem at a time.

And also remember the magic word,

logcat

:) It does help.
[Android Software/Hacking General [Developers Only]] gu5t3r:
Also, I figured out that you were switching to stericsson busybox because the size of the one you are currently using...

...but, stericsson and linusyang busyboxes have some differences from CM busyboxes which most kernels use as default (and cm busybox applets are closest to toolbox ones)...

try using 1.20.2.CM9 busybox from this LINK as internal busybox, it's smaller than your current one...

it's also from stericsson but it's custom optionable busybox, and for me it's better one, I only use stericsson one when I need ps -o option
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
The problem is getting it to work for all. Mine is arm version and kernel independed. The switch was a test that got proven not to be a good idea
[Android Software/Hacking General [Developers Only]] gu5t3r:
Dunno, you could ask users to copy it to /data/local/tmp/busybox, chmod 755 busybox and try to execute it ./busybox to see if its kernel independed...

It should be kernel independed as BusyBox app is...
[Android Software/Hacking General [Developers Only]] gaara6775:
around 140mb free on internal.. I don't use any Facebook app as it takes too much space. after reflashing the ROM n installing mounts2sd I immediately tried to download an app over 40mb but no success.
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
And once again we have a new release. No more empty property values (Configurations will now stick after boot).

@Nightshadow931

Your crash issues should fixed. However, going through your 'df' outout I noticed that your sd-ext partition is mounted as /data. If you are using a ROM with a built-in ramdisk solution like

D2EXT,

then you will not be able to use this script as it cannot be removed without changing your boot.img. So make sure to make a backup in your recovery before trying this again.
[Android Software/Hacking General [Developers Only]] gu5t3r:
App works now, but if I enter custom values to props it displays unknown instead for example 1536 for mmc read_ahead_kb...
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
Yes, anything not using a checkbox, is added to a selector. It uses static names for it's selectable values. I was going to extend it to only use static names on some of the options, but again, I want all issues removed before perfecting things.
[Android Software/Hacking General [Developers Only]] siavash2death:
hello,DK. I used latest version in a new flashed rom, with busybox checked or unchecked all of the errors that I mentioned before have appeared again!
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
You will gave to remind me, there is a lot of issues being posted in here.
[Android Software/Hacking General [Developers Only]] MetinKale38:
Please do not let the app remove the Link2SD apk, only the scripts, i am using it as a app manager :)

Tapatalked... just Tapatalked...
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
Okay? Another user told me to remove it. I was told that the App can make conflicts with M2SD as it interferes with the placement of files and that it auto restores code into /etc/recovery-install.sh

I am more than happy to let it stay, but I cannot have an app create problems that regular users cannot handle. Not everyone using these types of apps knows that much about them.

Do note that the app only removes Link2SD when you install the M2SD script, not when update it. If you just lost it, it's because I have changed the location of the script (No longer in init.d), and therefore it was installed and not updated on your device.
[Android Software/Hacking General [Developers Only]] siavash2death:
oh,I'm sorry. here is that post :

http://xdaforums.com/showpost.php?p=45083481&postcount=2187
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
That is impossible. The latest release has a safe-guard against empty properties, I tested this countless of times. Can you provide a new log for me from your current issue?
[Android Software/Hacking General [Developers Only]] siavash2death:
here it is.it's with full log option checked :

http://xdaforums.com/attachment.php?attachmentid=2225746&stc=1&d=1377970886 or maybe this:

http://dl.xda-developers.com/attach...f1b18d206eb299/52222ade/2/2/2/5/7/4/6/log.txt
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
I am sorry, but where is the issue? This log looks just like it should. Mount2SD is handling everything just perfectly, so you will have to specify the issue?
[Android Software/Hacking General [Developers Only]] siavash2death:
all of D and I message are normal? like fail to change the mount point /Cache to /Cache-int or shell error,etc...? have this issues in the log? maybe I was attached the wrong log? :confused: because I didn't witnessed this messages in version 3.0.2!
[Android Software/Hacking General [Developers Only]] gu5t3r:
D messages are extra debug log entries... they are not errors...

E is error message...
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
V = Regular log entries

I = Not harmful, but wants extra attention

D = Extra entries, like V but will only be displayed when debug is enabled.

W = Watning, like E, but not as harmful

E = Error, something will not be working properly

About /cache, what it does not start by trying to move it to /cache-int. It does this using the "mount --move" argument, but some (Most actually) busybox versions does not support this. It's why I added the fallback where it manually unmounts /cache and remounts it on /cache-int. The end result is the same, /cache is moved to /cache-int. Only reason to be alarmed, is when the fallback fails, in which case you would get an error (E).

The reason why I move /cache and not just unmount it, is because some apps communicate with the recovery using /cache/recovery. So it's best to keep that directory on the internal /cache, which is why I attach /cache-int/recovery to /cache/recovery when you move /cache to sd-ext. Also, if you where using a CM rom with the system dalvik-cache option (/cache/dalvik-cache), Mounts2SD would also make sure to keep this on the internal /cache.

Hope this clarifies it for you :)

And don't worry about the log. The application will inform you if there is something to be informed about. You will get a notification after boot if problems was detected.
[Android Software/Hacking General [Developers Only]] siavash2death:
OK.my bad. complete explanation as always. thanks,DK.
[Android Software/Hacking General [Developers Only]] MetinKale38:
Ok, then let remove it :) it will probably be better for the most users.

They would just have to not let it install the boot scripts (but if they previously used it, it will probably install without asking)

I installed it again manually yet and it is ok, i just cant find anything better to manage my apps :)

Tapatalked... just Tapatalked...
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
And as long as the button in the settings say "Update Startup Script", it will not be removed :)
[Android Software/Hacking General [Developers Only]] hacktrix2006:
Hi i am getting F/C when loading the new version. It starts to get device info then closes.

Logcat is showing the following

E/WindowManager( 5337): Activity com.spazedog.mounts2sd.ActivityTabController has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@40e2b2c0 that was originally added here

E/WindowManager( 5337): android.view.WindowLeaked: Activity com.spazedog.mounts2sd.ActivityTabController has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@40e2b2c0 that was originally added here

E/WindowManager( 5337):	at android.view.ViewRootImpl.<init>(ViewRootImpl.java:396)

E/WindowManager( 5337):	at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:372)

E/WindowManager( 5337):	at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:320)

E/WindowManager( 5337):	at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:152)

E/WindowManager( 5337):	at android.view.Window$LocalWindowManager.addView(Window.java:557)

E/WindowManager( 5337):	at android.app.Dialog.show(Dialog.java:301)

E/WindowManager( 5337):	at android.app.ProgressDialog.show(ProgressDialog.java:116)

E/WindowManager( 5337):	at android.app.ProgressDialog.show(ProgressDialog.java:99)

E/WindowManager( 5337):	at android.app.ProgressDialog.show(ProgressDialog.java:94)

E/WindowManager( 5337):	at com.spazedog.mounts2sd.ActivityTabController$1.onUIReady(ActivityTabController.java:179)

E/WindowManager( 5337):	at com.spazedog.mounts2sd.ActivityTabController$1.onProgressUpdate(ActivityTabController.java:225)

E/WindowManager( 5337):	at com.spazedog.mounts2sd.ActivityTabController$1.onProgressUpdate(ActivityTabController.java:1)

E/WindowManager( 5337):	at com.spazedog.lib.taskmanager.Task$1$2.run(Task.java:364)

E/WindowManager( 5337):	at android.app.Activity.runOnUiThread(Activity.java:4243)

E/WindowManager( 5337):	at com.spazedog.lib.taskmanager.Task.run(Task.java:204)

E/WindowManager( 5337):	at com.spazedog.lib.taskmanager.Task.access$2(Task.java:194)

E/WindowManager( 5337):	at com.spazedog.lib.taskmanager.Task$1.onProgressUpdate(Task.java:361)

E/WindowManager( 5337):	at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:618)

E/WindowManager( 5337):	at android.os.Handler.dispatchMessage(Handler.java:99)

E/WindowManager( 5337):	at android.os.Looper.loop(Looper.java:156)

E/WindowManager( 5337):	at android.app.ActivityThread.main(ActivityThread.java:5099)

E/WindowManager( 5337):	at java.lang.reflect.Method.invokeNative(Native Method)

E/WindowManager( 5337):	at java.lang.reflect.Method.invoke(Method.java:511)

E/WindowManager( 5337):	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)

E/WindowManager( 5337):	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)

E/WindowManager( 5337):	at dalvik.system.NativeStart.main(Native Method)
[Android Software/Hacking General [Developers Only]] Nightshadow931:
You' right, the FC problem is gone.

I tried to install script over int2ext, but it's same as the last time, it boots, and then everything fc's.Message in notification says internal memory low.

My ROM does not come with built-in d2ext solution, it had int2ext4+ in aroma, and I installed it that way.

Regards,

Darko
[Android Software/Hacking General [Developers Only]] Rashed97:
For some odd reason, every time I install the script, my phone gets stuck on the boot animation. I don't have any other sd-ext solution on my ROM (I'd know since it's my ROM), and Mounts2SD has worked perfectly on the same ROM and device before. But now, it refuses to boot. Any idea why this might be happening?
[Android Software/Hacking General [Developers Only]] siavash2death:
Hello,DK. Now I have an error. I think it's about market. It says cannot change to 1% and something about sqlite3 binary.