Multi-user external storage support.
Move FUSE daemon to secure mount point, and relax /storage access
now that sdcard_r is enforced using private bind mounts in zygote.
Bug: 6925012
Change-Id: Iab2c4ca4b01f4ffd78eed7254faf2ae81ae4f3d3
diff --git a/init.grouper.rc b/init.grouper.rc
index e24ae51..cfd0cb8 100644
--- a/init.grouper.rc
+++ b/init.grouper.rc
@@ -3,16 +3,18 @@
on early-init
mount debugfs debugfs /sys/kernel/debug
- # for backwards compatibility
+on init
+ mkdir /mnt/secure/sdcard0 0700 root root
+
export EXTERNAL_STORAGE /storage/sdcard0
- mkdir /storage 0050 system sdcard_r
- mkdir /storage/sdcard0 0000 system system
+ mkdir /storage 0711 root root
+ mkdir /storage/sdcard0 0000 root root
symlink /storage/sdcard0 /sdcard
symlink /storage/sdcard0 /mnt/sdcard
- # create directory for mounting usb drives
- mkdir /mnt/usbdrive 0666 system system
- symlink /mnt/usbdrive /usbdrive
+ # Save bugreports as owner
+ export BUGREPORT_WRITE_PATH /mnt/secure/sdcard0/0
+ export BUGREPORT_READ_PATH /storage/sdcard0
on early-boot
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor interactive
@@ -30,9 +32,7 @@
mkdir /data/misc/dhcp 0770 dhcp dhcp
chown dhcp dhcp /data/misc/dhcp
- # we will remap this as /storage/sdcard0 with the sdcard fuse tool
mkdir /data/media 0770 media_rw media_rw
- chown media_rw media_rw /data/media
# change back to bluetooth from system
chown bluetooth bluetooth /data/misc/bluetooth
@@ -288,10 +288,8 @@
oneshot
#Sensor load calibration files end
-# create virtual SD card at /storage/sdcard0, based on the /data/media directory
-# deamon will drop to user/group system/media_rw after initializing
-# underlying files in /data/media wil be created with user and group media_rw (1023)
-service sdcard /system/bin/sdcard /data/media /storage/sdcard0 1023 1023
+# virtual sdcard daemon running as media_rw (1023)
+service sdcard /system/bin/sdcard /data/media /mnt/secure/sdcard0 1023 1023
class late_start
# bugreport is triggered by the VOLUME-DOWN and VOLUME-UP keys