yashsingh1/xdaforums huggingface dataset:
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
You can change the Style and you can change the color schema. The style will look mostly the same. It changes the headline background (or rather remove it) and adds some different margins around all of the content. But unless you also change the color, you will not see all that much difference unless you look closely, as 90% will remain the same.

It should. Works in migrating from most sd-ext script. But, recovery backup and try. If not, a simple recovery restore will get you back on track and then you can tell me and I will get it to work.
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
https://github.com/SpazeDog/mounts2sd/blob/3.x/res/values/strings.xml
[Android Software/Hacking General [Developers Only]] gu5t3r:
Yes, thread looks nice, but when you look under the hood: DOH

Use V6_SuperCharger + KickAssKernelizer, most of tweaks come from there...

PPX used Minfress: 5,10,20,30,50,80; If that setting works for your phone you can set it manually with V6_SC

For ad blocking use AdAway, so you can update ad blocking ip's regulary...

PPX uses part of KAK script for optimizing IO Scheduler, but KAK does that better... (PPX changes same settings multiple times so I don't know which one really is used because a lot of scripts)

Search XDA for latest gpu drivers for your rom...

NOTE: V6_SC and KAK are installers (they apply tweaks based on your rom, kernel; unlike PPX), they are not ment to be put in init.d, you run them with SManager and install, change or uninstall tweaks...

And most importat, V6_SC and KAK let you know what are you doing to your phone...

Try setting readahead_kb from lupus menu, see if it sticks.

Try using another app to check readahead_kb like SD Booster (small, light on mem but with lot of options)...

Maybe M2SD beta app displays wrong size...

LuPuS has e2fsck in /sbin, try copying it to /system/xbin (you need to apply 755 permission on it)

V6 always runs last, did you check which setting you use in V6 for readahead_kb?
[Android Software/Hacking General [Developers Only]] Daniel D.:
I use the readahead from V6 (2048 KB) and will try SD Booster. I think I don't need e2fsck, but thanks for that!
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
There is only one place to get the current readahead size. Let's take this again. The apps overview screen does NOT display the values that M2SD changed to during boot. It displays a live overview of the current values. So if a person installs the app for the first time (Hence, script has not been executed yet), it will display the values already set. Then when you reboot, the script set's it's own values (which can be configured in the app), which means that the values has changed. If the overview screen (after reboot) does not match the configure screen, this means that another script or app has changed something AFTER the m2sd script was executed. If you have another app that uses a script to set something like readahead, and it displays something else than M2SD, it means that THAT app does not use a live overview, but just displays what it was set to configure during boot without actually checking if this is the current value (Like Mounts2SD 2.x does).

If multiple scripts changes the same thing, the last script to execute wins.

It makes no difference where it is. As long as /sbin is in the $PATH variable and is executable, it will be found and used. Instead he should make sure that he is not missing some library that the binary uses. Lot's of custom ROM's adds binaries where they forget to include needed libs. This is also why 70% of custom ROM's have a broken sqlite3 binary, because the 3 needed libraries is never included. And if this is the case, the option will be available but will not work. Mounts2SD looks for the binary, it does not check if dependencies is available, as this should be common sense when assembling a ROM.
[Android Software/Hacking General [Developers Only]] gaara6775:
hello there, currently im using a2sd, how should I

change that to m2sd? should I just download the apk n install it? will that work?
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
No, you also need to install the script via the app setting. That's all :)
[Android Software/Hacking General [Developers Only]] :
Thanks! I will give this a try. But for adblocking ima stick with Mother of all adblocking tweaks:good:
[Android Software/Hacking General [Developers Only]] gaara6775:
Ohk thanks. but I don't have to remove/uninstall a2sd script rite?

also I will require adb on my computer to install m2sd script rite?

sorry to ask these question,but I have never changed the script before so I'm trying to understand :)
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
You don't need to remove anything yourself, and you don't need ADB. Just install the app, launch it, hit 'Menu'->'Application Settings' and choose to install the upstart script. Any pre-existing sd-ext scripts will be removed automatically (Still need some work for Link2SD removal though) and replaced by the Mounts2SD script.
[Android Software/Hacking General [Developers Only]] TopperBG:
In this way of thoughts - which is better (in effort of speed mostly) to be app in "internal" as it's mapped to sd-ext or to "sd card" which is first partition of SD card. Except that after connect to pc apps in "internal" should not to be closed ? I'm not sure too, must test.

I'm frankly miss L2SD interface, movement of apps, a lot of other actions (like lunch or freeze or make user<>system app movement) Dev must think about that.

BTW bootup are tripled compared to same install with L2SD. With L2SD it was 1:40 now the best case was 3:50 ...going to 5-6 minutes :/

I'm sure that script do a lot of task in start but 3-4 times slowest download is a much.
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
There is no speed difference whether you place it on first or second partition. The sdcard itself still has the same read and write speed (Which on my sdcard, is actually faster than the internal MMC on the SGS3, would have never thought). But placing it on the first partition, like you said, produces issues on older devices using UMS (Newer uses MTP) once attached to a PC. Also, placing them on the first partition requires app support for it. Not all apps can be moved their.

I am going to add the ability to move between /data/app and /data/app-system (Convert to and from a system app). But right now, I am more interested in getting the script and app to a complete and more stable state. I am however, never going to add an option to move individual apps between data and sd-ext. This is Mounts2SD, named this way because it attaches to folders together between the two partitions. Link2SD is named this way because it creates individual links between the two partitions. So, people should choose the project that fits best to their wishes. If you want to move individual apps, then Link2SD is already their for you. No need to have two alike projects.

About boot loops, if you are using the beta release, you should notice the

beta

part. And about boot time, Link2SD does not actually do anything during boot other than mounting the sd-ext partition. Apps are moved from the application after boot. Mounts2SD does everything during boot, so if you set it to move a big folder, it will take time to boot.
[Android Software/Hacking General [Developers Only]] TopperBG:
Clearly explained - I agree with you :good:
[Android Software/Hacking General [Developers Only]] Nightshadow931:
Installed the app and the script(the beta one) over int2ext4+, and it broke my system.It needed some time to boot, and then everything FC'd.I couldn't do anything.There was a message in the notification bar that internal memory is full though.I've selected apps and data in the app.

Luckily I did a backup. :)
[Android Software/Hacking General [Developers Only]] gu5t3r:
You can still use Link2SD, just don't mount partition on start... And after installing Link2SD remove it's script in init.d and /system/etc/install-recovery.sh

I still use link2sd to sort apps by cache size, lib size, etc... Clean unneeded dalvik....
[Android Software/Hacking General [Developers Only]] TopperBG:
This I planed to do today :)
[Android Software/Hacking General [Developers Only]] MetinKale38:
Same for me...

It is the best app manager :)

Tapatalked... just Tapatalked...
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
And like I said before, in that case I will make it work :)

Will have a solution added before a new version is released.
[Android Software/Hacking General [Developers Only]] Nightshadow931:
Thanks.I like devs like you, answering every question, and trying to help every user.

Keep up the good work! :)
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
No point in releasing a product if it can't be used anyway :)
[Android Software/Hacking General [Developers Only]] PerfectSlayer:
I have one locale I failed to translate:

Can you explain me (give me more details or another meanings) the content of parenthesis ? (for me, ZRAM is RAM compression to limit SWAP usage)

Thanks !
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
Actually ZRAM is more or less the same as tmpfs. It's a parition created in RAM. The key difference between the two (There are other small differences to), is that ZRAM uses compression. In Mounts2SD the ZRAM is being used as a SWAP partition. Now you should ask, why move memory parts from the root of memory into a partition on the same memory? Well, because here it get's compressed, allowing the same amount of memory to actually store more data. This is why ZRAM used as SWAP is popular on devices with less memory. It allows unused pages to be stored in a compressed state in RAM, making more room for used information to be stored in RAM. And it's faster than moving unused pages to a disk SWAP as RAM both reads and writes a hell of a lot faster than any disk type.

Now I am no expert in ZRAM. I have not played with it for anything else but to build the option in the script. I can't say for sure if you could use it for some other purpose. But since you have to actually create a SWAP system on the ZRAM device, logic states that ZRAM is not equal to SWAP. So in that theory, it should be possible to create anything on it, like a compressed temp partition to replace a regular tmpfs device. But don't hold me to it.

Do note, that even though it is nice to have more memory, ZRAM uses compression which means that content on it needs the CPU to compress and decompress it. So ZRAM (Even though RAM is faster than any disk type), can slow a system down if to much compression is used. So if your device has like 2GB of RAM, you might want to avoid ZRAM all together, as your device has more than enough RAM to store all memory types uncompressed. At least make sure not to create it with to much compression. Less than 10% I would say and keep swappiness low at the same time.
[Android Software/Hacking General [Developers Only]] mikebeatrice:
Any chance you can post a recovery flashable EXT version of the beta? I didn't consider that I need to do that when I flash a new Rom and now that I upgraded... I can't.

The 3.0.2 app FCs quite a bit in cm10.2. Worked great in cm10.1. Usually I have to try launching it about 5 times before it'll open.

One last question. To fix a Rom's messy init.d implementation, we just need to flash that init.d injector thing linked in the OP? No other interaction/files required? Thanks!
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
Yes it might be time to a get recovery script into the game. I will have that for the next release, which should not be long. And the current beta is not compatible with CM10.2 (Android 4.3) because it uses a Daemon mode for the SuperUser which contains a few issues (You could try SuperSU instead, which might not have these issues). The new RootFW is able to handle these SU Daemon issues, so next release will work.

Yes, init.d injctor will provide a proper init.d, just note that every single device acts differently when it comes to the boot.img and boot partition, and some ROM's makes strange custom ramdisk setups. It has been proven to work on a very large range of devices besides the once on the list, but it has also proven not to work on some. The good news however is that, when it fails, it always does so before rewriting the boot partition, due to all of the sanity checks I have made, so it have never broken anything. If it fails, let me know so that I can expand the device support.
[Android Software/Hacking General [Developers Only]] mikebeatrice:
Awesome. Thanks for the thorough reply. Looking forward to the next release.

Just to confirm proper order ooh the init.d injector. Say I'm coming from just flashing a new Rom build.

1. Flash Rom 2.Flash init.d injector 3. Flash mount2sd? 4. Profit
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
The Rom goes first, after that the order does not mater
[Android Software/Hacking General [Developers Only]] TopperBG:
To report good performance with next settings (after lot combinations and incl/excl swap2cahce of Gu5t3r):

- SD Samsung 32Gb class 10

- Cache forced

- App moved

- Data moved

- Dalvick cache - NOT MOVED

- Media moved

- SWAP on (dedicated partition with 200mb space)

- ZRAM on with 12%

- FSCK off

- RA and Scheduler can't change within app, but they are fine - external 2048Kb/BFQ

Don't have all 420mb free but still have 190Mb free :good:

The feel is smooth! The phone is fast, the drain is good (with disabled sync only) with alot of working daemons and messengers.

PS:Antutu benchmark rise up with ~15% !!! which is not a bullet proof but is relatively amazing improvement.
[Android Software/Hacking General [Developers Only]] demoncamber:
So could someone give me a quick rundown on how to upgrade from the latest stable m2sd to the beta without losing anything? Is it possible? I used the flashable zip ext4 m2sd if it matters.

Sent from my t989 on Tiberius
[Android Software/Hacking General [Developers Only]] gaara6775:
its not working for me I guess.

my status say- "The sd-ext device/dev/block/mmcblk0p2 is already in use" .

and in my settings both Configure busybox & install script show Tick mark.

did I do something wrong? :(
[Android Software/Hacking General [Developers Only]] sui785:
I get "the script has not been fully executed during boot!" in my log and all my settings are reverted again. I'm running it on my ZTE Blade II(running stock rom + kernel since no roms/kernel available) and I have an ext4 partition as sd-ext. I checked settings and both busybox and init are ticked. Every time I enable my settings and also enable debug(for bigger log) it saves it but then if I reboot, it gives that error and my settings are back reverted. I'm going to try now with the ext4 zip and see if it gives any changes.

I have init.d support because I already tested it with uni-ini + the maps exists in system/etc/init.d with mountsd file in it.

I moved away from Link2SD because they don't have move data/data, hope it works.
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
Just upgrade the app and then upgrade the script from within the app settings. The V3 Beta is fully backward compatible with V2. But just do a recovery backup if you feel unsafe.

You have another sd-ext script installed. I guess that it is Link2SD as this is almost the only sd-ext script that the current release version is not able to auto remove.

You don't have init.d support, that's your problem. It does not matter that /system/etc/init.d is available, if your kernel is not capable of executing the scripts within. Link2SD uses a fallback method on ROM's without init.d, so it says nothing that it worked for you. However, this fallback method is so terrible that I will never use it on my script. Instead I made Init.d Injector that adds real init.d support to your current kernel. Try it, it works on properly 70% of the devices, and those it does not yet work on, does not get broken for trying.
[Android Software/Hacking General [Developers Only]] sui785:
I tried the init.d injector and that worked succesfully but when I rebooted after setting everything in mounts2SD I got stuck in bootloop.
[Android Software/Hacking General [Developers Only]] gaara6775:
im not sure if I have Link2sd script because I activated a2sd from terminal emulator.( using AOKP ROM by Vj ) .

but if u say I have Link2sd installed how should I get rid of it & install mount2sd?

I have also not flash" init.d injector" . should I flash that?
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
Both your problems is most likely due to Link2SD being either present or part present. If you both wait a day or to, I am almost ready with the last Beta release before releasing it completely. The next and last beta is able to remove Link2SD 100% and revert the way it places applications on sd-ext.

[MENTION=1778229]sui785[/MENTION] You did make a backup before installing anything right? Because then you can just do a simple recovery restore to get the device back to the previous state. Make sure to run Init.d Injector after restoring to regain the init.d support (Recovery restore will also restore the kernel back without init.d).
[Android Software/Hacking General [Developers Only]] gaara6775:
Ohk no problem. I will wait for your new release. thanks so much :)
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
Actually now that I think about it, your problem is that you are not using the Beta at all. Vj made a new sd-ext script that is not included in M2SD 2.x's auto deletion of current sd-ext scripts. So in your case, you can just install the current beta in order to get it to work right away :)
[Android Software/Hacking General [Developers Only]] SupraLance:
Thank you so much for including the ability to move system apps to SD using /data/app-system. Afaik, you are the only one to allow this in your **2SD app, and it has literally saved a couple phones from the recycler due to water damage that only allows the phone to use safe mode. This means any apks in /data/app, whether on phone or SD card, can't be used, so everything has to appear as a system app to work. I've discovered that even some apps that won't work in /system/app (including widgets) will work when placed in /data/app-system with their corresponding lib files from /data/app//lib placed in /system/lib.

Unfortunately, all of the data2system app converters I'm aware of place the app directly into /system/app which has very limited space, and none move the lib files, so converting apps to system apps has to be done manually. Downloading apps from the market is a bit of a process but, thanks to you, it is possible again on phones I was set to throw away!!! Given this unique situation and use of your app in a non-standard way, should I be configuring it differently than the default? Would reverse mount make any difference in performance with everything I'm using being in /data/app-system? Any other thoughts or suggestions appreciated...
[Android Software/Hacking General [Developers Only]] sui785:
Yep I made a backup and restored it, flashed the injector again and rebooted and everything is fine.
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
Once I finish the current Beta app and get that released, I am planning on making an application list where you can convert apps to and from system apps (/data/app ~> /data/app-system). I am also going to have that handle app updates, so that updates will replace the current "system" application. I could easily make an option where you could select to have all newly installed applications auto converted into /data/app-system, which would make your application install/update as easy as installing applications normally.

About Reversed Mount, don't use it. It has been removed in the upcoming version as it was a useless option that only seamed to produce issues time after time.
[Android Software/Hacking General [Developers Only]] TopperBG:
In this way of conversation, one more time to say how I'm pleasant with this app !!!

Thank you dev, I'll definitely will donate you !

My phone not only reborn, now it's blazing fast and "lightweight".

I had a problem with Album and many time thought to move it in /sd-ext/app-system but now I've done it manually with ES Explorer, reboot the phone and.... voala, it works, and it works so good as it loads online galleries - something that happens only ones! :good:

IDK probably not correlating with M2SD (just move to SD, should be worse - in meaning of slower) but it's fakt!

Thanks again for amazing job dev :good:

PS:How can we use /sd-ext/app-private? What is the purpose of such folder ?
[Android Software/Hacking General [Developers Only]] gaara6775:
ahh it worked. thank you so muchhhhh dk_zero-cool. . great work man. God bless you :)

but I issue remain the same :( . I can't download any app over 35mb from Play store. what do I do now ? :(
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
New Release

New release is out and OP has been cleaned up a bit. I will keep the release here for a while, just to be able to catch the last remaining small issues (If there is any) before throwing it on the Store. I will make sure to assemble a ZIP package as soon as possible for those who are updating ROM's, but right now you will have to live with an APK. It should only take a day or two.

In order to install, just update the APK that you already have (Unless you are a new user of cause). Once you launch it, it will detect a new script version and you will get further details from the app itself.
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
First update to the latest version on the first post. If still no go, I will look at it :)
[Android Software/Hacking General [Developers Only]] Nightshadow931:
You added support for int2ext? :)
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
It should work, but have not tested it yet. I have looked at int2ext and there should no longer be any issues with it. I will test it myself some time to day, if I get the time. But if you want to have a go at it first, you are more than welcome :)
[Android Software/Hacking General [Developers Only]] TopperBG:
Thanks for the update in first.

Next one, some doubts about new vers. Data content now is in orange. Under is message:

One or more directories within this option, has not been moved or linked.....

There is enough free space ?

With 3.0.2 wasn't message like this.

Oh, also could you place your log in another place - LuPuS clears /tmp after success bootup. So I cant report anything from log.
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
Some of the options moves more than just one folder, like the apps option, which will move /data/app, /data/app-private, /data/app-system and /data/app-asec. Last releases would show green if one of these folders had been moved and linked. This is wrong, so now it checked all folders and displays a warning if one or more folders are not placed on the same partition. In your case, I think I made a small mistake of not checking whether or not the folders is supported in the running Android version. I guess that you are using Android 4.1 or below, which means that you don't have /data/user (The new /data/data for Android 4.2's multi user support). It shows orange because it is not mounted the same place as /data/data (Because it is not mounted at all as it does not exist). I will get this fixed :)

Strange? I used /tmp because it is a standard linux directly, but it is not included in Android and I have never seen any other ROM use it. Why empty it? Well, my directories are defined in variables, so I just need to change one line in the script and one in the app to change it. I will find a more Mounts2SD specific name for it.