[bug] aliendalvik fusermount: /home/nemo/android_storage fails
edit 150227: the fusermount to /home/nemo/android_storage should be done, before chroot. At the moment it ist done after the chroot.
update: changed the titel. I get this in my log (I created a /opt/alien/logs folder to get an aliendalvik log):
02-26 16:31:00.408 1823 1823 D StorageNotification: Startup with UMS connection false (media state mounted) 02-26 16:31:00.430 1823 1906 I StorageNotification: UMS connection changed to false (media state mounted) 02-26 16:31:00.618 1737 1757 W MountService: Duplicate state transition (mounted -> mounted) for /home/nemo/android_storage
What I think is:
The fusermount for /home/nemo/android_storage fails. Users who implemented a custom mount of the "nemo" folder (ex. on a sdcard with btrfs subvolumes) into "/home/nemo" will never get the android stuff in their /home/nemo/android_storage folder (and all dependent symlinks to it). Because this (second) mount on aliendalvik startup fails. For such users /home and /home/nemo are on different devices. So /home/nemo/android_storage points to the mmcblk1 device, and /opt/alien/home/nemo/android_storage points to the mmcblk0p28 device.
this fusermount fails, if it would not fail, we should see some files in the folder, but there are no files:
/dev/fuse on /home/nemo/android_storage type fuse (rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other)
All Sailors with a standard installation will not be affected. Because the /opt/alien/home/nemo/android_storage mount is done and the android_storage folders are the same. They will not notice, that the fusermount to /home/nemo/android_storage fails, but it does, and that ist the bug I describe. The alien.sh script binds the original /home mountpoint. /home and /home/nemo are on the same device, so they are the same folders. Thats why every thing seem to be done correctly.
only this fusermount is done:
/dev/fuse on /opt/alien/home/nemo/android_storage type fuse (rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other)
doing the fusermount before chroot? Did you know that the fusermount is called from within the chroot...? At least the alien-dalvik startup script is called after chrooting so whatever fuses $home/android_storage does that within the chroot. You need to have everything in its place before chrooting happens as shortly after the fusermount happens and there is no way to do anything in between as you do not have any hooks to trigger something before the fusermount but after the chroot.
chemist ( 2015-02-27 14:47:26 +0200 )editI do not know it, I am not the developer. But I took a look into the startup log. (You can check it by yourself, if you create a folder /opt/alien/logs and then start aliendalvik).
I would say this entry comes from "platform_envsetup.sh", called from "start_alien.sh" and this is called from "alien.sh" last line (chroot $ROOT /system/script/start_alien.sh):
and later, same log as in the top posting
Take a look at the timestamp and the PID. That's why I think, the fusermount is done after chroot. And a mount after chroot to /home/nemo/android_storage can only address the chrooted /opt/alien/home/nemo/android_storage.
jolladiho ( 2015-02-27 21:17:27 +0200 )editI second this. I am trying to mount home and android dir to sd card, but doesn't work because only first fusermount is done.
hopey ( 2015-03-06 21:40:33 +0200 )edit@hopey: It's already solved by moving 'home' from to bind to the rbind section too... See here
J4ZZ ( 2015-03-06 23:16:35 +0200 )editomg it works! Thanks J4ZZ you made my day :D
hopey ( 2015-03-07 11:49:54 +0200 )edit