Also is it compatible with Android 10 (AOSP based ROM)?
Thanks.
Last edited:
Hi,I feel stupid but... Where I can download this module zip? Github says 404.https://github.com/VR-25/fbind
Also is it compatible with Android 10 (AOSP based ROM)?
Thanks.
part -o umask=0 /dev/block/mmcblk1p2--L,MyLoNgPaSsWoRd /mnt/sdcrypt
extsd_path /mnt/sdcrypt
target DCIM
target Audio
target TitaniumBackup
Is this project discontinued? Last update almost a year ago.
I attached modified zip-file in case if anyone interested (not sure If I had right to do this tho, I will remove it if OP or moderators ask), magisk-only.
.
Is this project discontinued? Last update almost a year ago.
Ok, I downloaded latest version (2019.1.23) and installed it on my Lineage OS 17.1 (Android 10) with Magisk v20.2, and... spent two days for manage it to work... Meh, it'd be better to not even start.
Fist of, it simply hasn't been installed properly on my system (no binaries, no scripts, only info/config examples), so I downloaded latest update-binary, saved it as is (without modifications), and manually converted config.sh to install.sh (using aka "legacy script" logic).
Secondly, fstype binary doesn't detect FAT (vfat/exfat/sdfat) on my system, so I added extra check to part() function in core.sh: in case if fstype has not detected FS, let mount detect it automatically (omit -t).
Next, grep /storage/emulated /proc/mounts | grep -Eiq ' sdcardfs | fuse ' || exit 1 line in wait_until_true() function instanly exit script on boot, I guess it's because it starts too early on my system. So I replaced "exit" with waiting loop.
After all this modifications and countless hours of tries and errors I finally got what I wanted - move (bind) some internal folders to encrypted second partiton of my external SD card.
/data/adb/fbind/config.txt:
I found using umask=0 is a most painless way to deal with apps permissions to use binded folders. Less secure though. I logically understand that fbind should take care of access to binded folders, but it looks like something changed lately in Android's storage "magic", which is not clear to me, so... umask=0. Tried other mountpoints like /mnt/media_rw/sdcrypt or /storage/sdcrypt, tried ext4 instead of exfat, but all that caused even more problems with permissions. I'd appreciate any advice about better mountpoint and options to use.
I currently boot my phone with kernel security (selinux) in permissive mode, if it's important.
Got an infinite bootloop when I used to use FUSE (which is happen automatically when I add something like "intsd_path /storage/emulated/0" in config.txt), thanks god we have TWRP.
I attached modified zip-file in case if anyone interested (not sure If I had right to do this tho, I will remove it if OP or moderators ask), magisk-only.
DISCLAIMER: I'm very new to module coding and coding in general, I'm just an experienced Linux user, so I can't guarantee that my modifications are 100% correct and universal, test it on your own risk.
Is this project discontinued? Last update almost a year ago.
...
I attached modified zip-file in case if anyone interested (not sure If I had right to do this tho, I will remove it if OP or moderators ask), magisk-only.
DISCLAIMER: I'm very new to module coding and coding in general, I'm just an experienced Linux user, so I can't guarantee that my modifications are 100% correct and universal, test it on your own risk.
I think I found a possible reason why script exits on boot in your system: in case if you're using ordinary SD card as external storage (most common case), in apply_config() function (called from service.sh) "$altExtsd || default_extsd" line will exit script if your SD card not ready/mounted yet. I don't know how to check external media mounting process status in Android, but here is kind of WORKAROUND: explicitly set "extsd_path /mnt/media_rw/<your_card_blkid>" in config.txt. And to be sure that external SD card and sdcardfs mounted before continue, I added wait_until_true is_mounted "$1" to extsd_path() function. This should allow to use this "workaround" without need to modify code and overall a better/more universal approach than just sleep 30 seconds. Need testing though.I had to add a extra 'sleep 30' delay into service.sh above the "set -x" command- before it runs the main script, now it's working., I guess with android 10 the /proc/mounts doesn't become available until the system is booted? or just a race condition
I think I found a possible reason why script exits on boot in your system: in case if you're using ordinary SD card as external storage (most common case), in apply_config() function (called from service.sh) "$altExtsd || default_extsd" line will exit script if your SD card not ready/mounted yet. I don't know how to check external media mounting process status in Android, but here is kind of WORKAROUND: explicitly set "extsd_path /mnt/media_rw/<your_card_blkid>" in config.txt. And to be sure that external SD card and sdcardfs mounted before continue, I added wait_until_true is_mounted "$1" to extsd_path() function. This should allow to use this "workaround" without need to modify code and overall a better/more universal approach than just sleep 30 seconds. Need testing though.
Also I modified loop() function (for those who using file as storage instead of device): now it checks presense of /sbin/imgtool before run it (my system don't have it), if not present - use losetup/mount combo to mount file. And added FS type check, thus loop is not limited to ext4 anymore.
Added "fix2" version of modified module to my previous post.
Hope some day VR25 will find a time to sort out all this stuff and released new version =)
-------
Hmm, no, default_extsd should not trigger exit even if your SD card not available on boot, because it consist wait_until_true grep -q /mnt/media_rw /proc/mounts line, which is waiting until both /proc/mounts AND at least one of your external storages became mounted. So I don't know the reason. Need to see your log at least.
But fixes added in "fix2" are still usefull.
./adb push common/fbind /system/xbin/
./adb push bin/cryptsetup_arm /system/etc/fbind/bin/cryptsetup
./adb push bin/fstype_arm /system/etc/fbind/bin/fstype
./adb push common/core.sh fbind/module.prop /system/etc/fbind/
./adb push common/service.sh /system/etc/fbind/autorun.sh
./adb push common/addon.d.sh /system/addon.d/fbind.sh
chown 0:0 /system/*bin/fbind /system/etc/fbind/bin/cryptsetup /system/etc/fbind/bin/fstype
chmod 0755 /system/*bin/fbind /system/etc/fbind/bin/cryptsetup /system/etc/fbind/bin/fstype
ln -sf /system/etc/fbind/autorun.sh /system/etc/init.d/fbind
chown 0:0 /system/etc/fbind/autorun.sh /system/addon.d/fbind.sh
chmod 0755 /system/etc/fbind/autorun.sh /system/addon.d/fbind.sh
I've been using fbind for a long time but this time I can't get it to work. I recently wiped my phone and did a complete reinstall. And as usual I installed fbind (first per magisk, later I tried it per TWRP as well). There where no errors and the files in /data/adb/fbind where created as usual. I did an reboot but can't get fbind to run. It does nothing, doesn't create any logs, doesn't show up in logcat and if I call it from the terminal all I get is
So I'm guessing something didn't install correctly or is broken somewhere else. But I'm not experienced enough to fix it myself. Any help to track this down is appreciated
I'm using:
lineageOS 16.0 (Thats an Android 9)
fbind-2019.1.23
Magisk 20.3
Magisk Manager 7.5.1
TWRP 3.3.1.0
I've been using fbind for a long time but this time I can't get it to work. I recently wiped my phone and did a complete reinstall. And as usual I installed fbind (first per magisk, later I tried it per TWRP as well). There where no errors and the files in /data/adb/fbind where created as usual. I did an reboot but can't get fbind to run. It does nothing, doesn't create any logs, doesn't show up in logcat and if I call it from the terminal all I get is
So I'm guessing something didn't install correctly or is broken somewhere else. But I'm not experienced enough to fix it myself. Any help to track this down is appreciated
I'm using:
lineageOS 16.0 (Thats an Android 9)
fbind-2019.1.23
Magisk 20.3
Magisk Manager 7.5.1
TWRP 3.3.1.0
EDIT:
Found an extremly ugly hack to fix it for me. I read through the install-script and pushed the missing files from the zip to the right place myself. I was surprised but it seems to have worked:
Finaly set the proper rights
I use my fixed version of fbind (that you can get here) with Magisk 20.3 and latest Lineage 17.1 on my Xperia Z3C without any problems. But I had problems with permissions using ext4, so I switched to exfat. If you use my fixed version, you can attach fbind's config (/data/adb/fbind/config.txt) and log (/data/adb/fbind/logs/fbind-boot-*.log), I will try to manage what's happening. I'm not a developer though.I tried original and modded fbind, installed under Magisk 20.1 also 20.3 (upgraded/direct 20.3), fbind looks to be installed, but does not work with latest Android10 (Lineage17.1) on Sony Xperia Z1C. My ext4 SD is not recognized/mounted.
Your config is wrong! Read carefully CONFIG SYNTAX section of the first post.
part -o nodev,noexec,nosuid,noatime /dev/block/mmcblk1p1 /mnt/sdcard
extsd_path /mnt/sdcard
target Viber
Hi,Is this project discontinued? Last update almost a year ago.
Ok, I downloaded latest version (2019.1.23) and installed it on my Lineage OS 17.1 (Android 10) with Magisk v20.2, and... spent two days for manage it to work... Meh, it'd be better to not even start.
Fist of, it simply hasn't been installed properly on my system (no binaries, no scripts, only info/config examples), so I downloaded latest update-binary, saved it as is (without modifications), and manually converted config.sh to install.sh (using aka "legacy script" logic).
Secondly, fstype binary doesn't detect FAT (vfat/exfat/sdfat) on my system, so I added extra check to part() function in core.sh: in case if fstype has not detected FS, let mount detect it automatically (omit -t).
Next, grep /storage/emulated /proc/mounts | grep -Eiq ' sdcardfs | fuse ' || exit 1 line in wait_until_true() function instanly exit script on boot, I guess it's because it starts too early on my system. So I replaced "exit" with waiting loop.
After all this modifications and countless hours of tries and errors I finally got what I wanted - move (bind) some internal folders to encrypted second partiton of my external SD card.
/data/adb/fbind/config.txt:
I found using umask=0 on FAT is a most painless way to deal with apps permissions to use binded folders. Less secure though. I logically understand that fbind should take care of access to binded folders, but it looks like something changed lately in Android's storage "magic", which is not clear to me, so... umask=0. Tried other mountpoints like /mnt/media_rw/sdcrypt or /storage/sdcrypt, tried ext4 instead of exfat, but all that caused even more problems with permissions. I'd appreciate any advice about better mountpoint and options to use.
I currently boot my phone with kernel security (selinux) in permissive mode, if it's important.
Got an infinite bootloop when I used to use FUSE (which is happen automatically when I add something like "intsd_path /storage/emulated/0" in config.txt), thanks god we have TWRP.
I attached modified zip-file in case if anyone interested (not sure If I had right to do this tho, I will remove it if OP or moderators ask), magisk-only.
DISCLAIMER: I'm very new to module coding and coding in general, I'm just an experienced Linux user, so I can't guarantee that my modifications are 100% correct and universal, test it on your own risk.
UPD: new "fix2" version with some fixes.
Big thanks for help "Hooin Kyoma", but at this moment I can not continue on Android10 due to: I need phone for daily bussiness, be in touch, use several bussines appl. need more time when i'm not oncall duty.... Curious that on Android9 I did not modified anything, running on default FBind and all worked fine. I'll test ASAP, when I get little time space (run A9 twrp backup, twrp A10 restore, test -> decide continue with A10 or go back to A9).I have ext4 already with data on it and a hardcore Linux.ext4 fan .
Howz this goin with ext4 any FB ?
I use my fixed version of fbind (that you can get here) with Magisk 20.3 and latest Lineage 17.1 on my Xperia Z3C without any problems.
part -o umask=0 /dev/block/mmcblk1p2--L,MyLoNgPaSsWoRd /mnt/sdcrypt
extsd_path /mnt/sdcrypt
target DCIM
target Audio
target TitaniumBackup