diff --git a/rootdir/init.rc b/rootdir/init.rc index 86d804285..4d34b67d3 100644 --- a/rootdir/init.rc +++ b/rootdir/init.rc @@ -121,6 +121,9 @@ on init mkdir /mnt/media_rw 0750 root media_rw mkdir /mnt/user 0755 root root mkdir /mnt/user/0 0755 root root + mkdir /mnt/user/0/self 0755 root root + mkdir /mnt/user/0/emulated 0755 root root + mkdir /mnt/user/0/emulated/0 0755 root root mkdir /mnt/expand 0771 system system mkdir /mnt/appfuse 0711 root root @@ -367,9 +370,6 @@ on post-fs # Once everything is setup, no need to modify /. # The bind+remount combination allows this to work in containers. mount rootfs rootfs / remount bind ro nodev - # Mount default storage into root namespace - mount none /mnt/runtime/default /storage bind rec - mount none none /storage slave rec # Make sure /sys/kernel/debug (if present) is labeled properly # Note that tracefs may be mounted under debug, so we need to cross filesystems @@ -642,6 +642,22 @@ on post-fs-data chown root system /dev/fscklogs/log chmod 0770 /dev/fscklogs/log +# Switch between sdcardfs and FUSE depending on persist property +# TODO: Move this to ro property before launch because FDE devices +# interact with persistent properties differently during boot +on zygote-start && property:persist.sys.fuse=true + # Mount default storage into root namespace + mount none /mnt/user/0 /storage bind rec + mount none none /storage slave rec +on zygote-start && property:persist.sys.fuse=false + # Mount default storage into root namespace + mount none /mnt/runtime/default /storage bind rec + mount none none /storage slave rec +on zygote-start && property:persist.sys.fuse="" + # Mount default storage into root namespace + mount none /mnt/runtime/default /storage bind rec + mount none none /storage slave rec + # It is recommended to put unnecessary data/ initialization from post-fs-data # to start-zygote in device's init.rc to unblock zygote start. on zygote-start && property:ro.crypto.state=unencrypted