magisk-foldermount
magisk-foldermount copied to clipboard
Future plans for new releases
What is the goal?
This module aims to be a alternative solution to FolderMount, a app created by madmack, but unfortunately his app does not work with MagiskSU anymore.
Milestones
v0.8.5
- [x] ~Find alternative way to mount folders on boot~ (done, see commit 7edb864)
The current method doesn't work when
fmount
is executed in post-fs-data on boot
v0.8.9
- [x] ~Revert new method and find out what's the cause folders won't mount~ (done, see 61b2a9f) New method does not have fixed this issue with v0.8.5, so we need to investigate more into that
- [x] Better command line output Currently the error messages and help output are not very helpful, these need to be reworked
v0.9
- [ ] Ability to save mounted folders to a list and mount them after a reboot This could be done by writing a script which will be executed at post-fs-data
- [x] listFunc() This function should list all folders and check whether these are mounted or not and print them out
- [x] rebindFunc() This function should remount all folders which are in $BINDLIST (some sort of list parsing needed)
v1.0
- [ ] Possibility to unmount a folder without removing it from the list Like in the original FolderMount, there should be a possibility to temporarily unmount a folder
- [ ] Option to skip moving files from/to destination folder before mounting/unmounting To make integration into custom scripts or future apps easier, this should be done from the script
After doing some tests with a script in post-fs-data.d, I noticed that fmount
does execute correctly, but the internal SD card is not mounted yet in /data/media/0/
(probably because the user profile is not loaded yet at the moment), which is currently set as $DATADIR for source in fmount
, so we need another way to mount a folder when the first mountpoint is unavailable.
We could achieve that by mounting it directly to /mnt/runtime/default/emulated/0
, but we would end up with 3 additional command lines for that:
mount -o bind /mnt/media_rw/$dest /mnt/runtime/default/emulated/0/$src
mount -o bind /mnt/media_rw/$dest /mnt/runtime/read/emulated/0/$src
mount -o bind /mnt/media_rw/$dest /mnt/runtime/write/emulated/0/$src
So basically there is to check whether the first try has succeeded or not and when not, then try executing the second way. To be added in v0.8.5, see above.
Ok, even after implementing the new alternative method with 7edb864, the folders were not mounted properly at boot from my post-fs-data.d script, so maybe we should revert the alternative method and investigate more into that 😅
As it has been already discussed on XDA Forums, we will continue here for now. I also added new features to be added with v0.8.6 release, after that we will continue to work on v0.9.
Okay people, to clear things out, I've collected some informations from my experiences with different ROMs and versions of Magisk and made some conclusions.
1. What is going on with the development? It's a difficult situation right now, I finished my school 3 weeks ago, but I had to finish a project which I promised to finish before I went on vacation, so I hadn't time got to even maintain the project and reply to all issues and pull requests I've got on GitHub. Now after all of that I am in Denmark for 2 weeks vacation, but I left my laptop home because there is no Wi-Fi network at the place where I have my stay. Currently I'm replying using mobile data with roaming, which thanks to the new regulation from 15.06 is now a lot cheaper than before, previously the price per MB was 1 zl, now it's only 0,03 zł!
2. How about not properly mounted folders on ROM XYZ? I faced that issue on my Redmi Note 3 when I was searching for the perfect ROM which could suit my needs, so I started searching some difference why it's not working on LineageOS based ROMs. The difference was simply spotted when looking into the system.prop of those ROMs, all of them had sdcardfs enabled!
2.1. How can I disable that sdcardfs on my device? Just open /system/build.prop with your favorite file explorer (I used MiExplorer for that) and search for "ro.sys.sdcardfs" and change the value from false to true. If you can't find that property, just add "ro.sys.sdcardfs=false" to make sure it's disabled. With v0.9 it will be done automatically, so it's just a temporary fix for now
3. Will it work with Magisk v13.x? Yes, it works with Magisk v13.1 on my Redmi Note 3 running LineageOS 14.1 right now, just make sure you don't mess up with the mountspace option and keep it on inherited or global, both should work fine. The new version will be using the new module template, so no worries about compatibility!
4. What about an app or something to control? Well, I am currently reading a course about Android app development, but I thought that maybe I could try to fake the SU binary version for FolderMount, so it could work with Magisk and execute it's pairs using fmount. But I think a Tasker plugin would be better for that type of task, also a addon.d/service.d support is planned with the next release.
That's everything I can say right now, I'm back home next Monday, so stay tuned for FolderMount 0.9.
Dev stopped?