# Copyright (c) 2009-2013, The Linux Foundation. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # * Neither the name of The Linux Foundation nor # the names of its contributors may be used to endorse or promote # products derived from this software without specific prior written # permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND # NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # import init.qcom.usb.rc import init.target.rc import init.ril.rc on init # See storage config details at http://source.android.com/tech/storage/ mkdir /mnt/media_rw/extSdCard 0700 media_rw media_rw mkdir /mnt/media_rw/UsbDriveA 0700 media_rw media_rw mkdir /mnt/media_rw/UsbDriveB 0700 media_rw media_rw mkdir /mnt/media_rw/UsbDriveC 0700 media_rw media_rw mkdir /mnt/media_rw/UsbDriveD 0700 media_rw media_rw mkdir /mnt/media_rw/UsbDriveE 0700 media_rw media_rw mkdir /mnt/media_rw/UsbDriveF 0700 media_rw media_rw # Set permissions for persist partition mkdir /persist 0771 system system # See storage config details at http://source.android.com/tech/storage/ mkdir /mnt/shell/emulated 0700 shell shell mkdir /storage/emulated 0555 root root export EXTERNAL_STORAGE /storage/emulated/legacy export EMULATED_STORAGE_SOURCE /mnt/shell/emulated export EMULATED_STORAGE_TARGET /storage/emulated # This is no longer supported from KK release. #export BOOTCLASSPATH ${BOOTCLASSPATH}:/system/framework/qcom.fmradio.jar # Support legacy paths symlink /storage/emulated/legacy /sdcard symlink /storage/emulated/legacy /mnt/sdcard symlink /storage/emulated/legacy /storage/sdcard0 symlink /mnt/shell/emulated/0 /storage/emulated/legacy # map "real" external storages paths also in same way. backwards compatibility. symlink /storage/extSdCard /mnt/extSdCard symlink /storage/UsbDriveA /mnt/UsbDriveA symlink /storage/UsbDriveB /mnt/UsbDriveB symlink /storage/UsbDriveC /mnt/UsbDriveC symlink /storage/UsbDriveD /mnt/UsbDriveD symlink /storage/UsbDriveE /mnt/UsbDriveE symlink /storage/UsbDriveF /mnt/UsbDriveF export SECONDARY_STORAGE /storage/extSdCard mkdir /storage/extSdCard 0700 root root mkdir /storage/UsbDriveA 0700 root root mkdir /storage/UsbDriveB 0700 root root mkdir /storage/UsbDriveC 0700 root root mkdir /storage/UsbDriveD 0700 root root mkdir /storage/UsbDriveE 0700 root root mkdir /storage/UsbDriveF 0700 root root on early-boot # set RLIMIT_MEMLOCK to 64MB setrlimit 8 67108864 67108864 # exec /system/bin/sh /init.qcom.early_boot.sh ${ro.board.platform} # exec /system/bin/sh /init.qcom.syspart_fixup.sh ${ro.board.platform} ${ro.serialno} setprop qcom.audio.init complete service modem-sh /system/bin/sh /system/etc/init.qcom.modem_links.sh class core user root oneshot on boot chown bluetooth bluetooth /sys/module/bluetooth_power/parameters/power chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state chown bluetooth bluetooth /proc/bluetooth/sleep/proto chown system system /sys/module/sco/parameters/disable_esco chown bluetooth bluetooth /sys/module/hci_smd/parameters/hcismd_set chmod 0660 /sys/module/bluetooth_power/parameters/power chmod 0660 /sys/module/hci_smd/parameters/hcismd_set chmod 0660 /sys/class/rfkill/rfkill0/state chmod 0660 /proc/bluetooth/sleep/proto chown bluetooth net_bt_stack /dev/ttyHS0 chmod 0660 /dev/ttyHS0 chown bluetooth bluetooth /sys/devices/platform/msm_serial_hs.0/clock chmod 0660 /sys/devices/platform/msm_serial_hs.0/clock chmod 0660 /dev/ttyHS2 chown bluetooth bluetooth /dev/ttyHS2 # for BT MAC address mkdir /efs/bluetooth 0775 radio system # if already exist chown radio system /efs/bluetooth chmod 0775 /efs/bluetooth #Create QMUX deamon socket area mkdir /dev/socket/qmux_radio 0770 radio radio chmod 2770 /dev/socket/qmux_radio mkdir /dev/socket/qmux_audio 0770 media audio chmod 2770 /dev/socket/qmux_audio mkdir /dev/socket/qmux_bluetooth 0770 bluetooth bluetooth chmod 2770 /dev/socket/qmux_bluetooth mkdir /dev/socket/qmux_gps 0770 gps gps chmod 2770 /dev/socket/qmux_gps setprop wifi.interface wlan0 setprop ro.telephony.call_ring.multiple false #Set SUID bit for usbhub #chmod 4755 /system/bin/usbhub #chmod 755 /system/bin/usbhub_init #Remove SUID bit for iproute2 ip tool chmod 0755 /system/bin/ip chmod 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state # Change permissions for fps_level nodes chown system graphics /sys/class/graphics/fb0/msm_fb_fps_level chown system graphics /sys/class/graphics/fb1/msm_fb_fps_level chown system graphics /sys/class/graphics/fb2/msm_fb_fps_level chmod 644 /sys/class/graphics/fb0/msm_fb_fps_level chmod 400 /sys/class/graphics/fb1/msm_fb_fps_level chmod 400 /sys/class/graphics/fb2/msm_fb_fps_level #For bridgemgr daemon to inform the USB driver of the correct transport chown radio radio /sys/class/android_usb/f_rmnet_smd_sdio/transport #To allow interfaces to get v6 address when tethering is enabled write /proc/sys/net/ipv6/conf/rmnet0/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet1/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet2/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet3/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet4/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet5/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet6/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet7/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_sdio0/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_sdio1/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_sdio2/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_sdio3/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_sdio4/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_sdio5/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_sdio6/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_sdio7/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_usb0/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_usb1/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_usb2/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_usb3/accept_ra 2 # To prevent out of order acknowledgements from making # connection tracking to treat them as not belonging to # the connection they belong to. # Otherwise, a weird issue happens in which some long # connections on high-throughput links get dropped when # an ack packet comes out of order write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1 # import cne init file # on post-fs # export LD_PRELOAD /system/lib/libNimsWrap.so # msm specific files that need to be created on /data on post-fs-data # we will remap this as /mnt/sdcard with the sdcard fuse tool mkdir /data/media 0770 media_rw media_rw chown media_rw media_rw /data/media mkdir /data/misc/bluetooth 0770 bluetooth bluetooth # Create the directories used by the Wireless subsystem mkdir /data/misc/wifi 0770 wifi system mkdir /data/misc/wifi/sockets 0770 wifi wifi mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi mkdir /data/misc/dhcp 0775 dhcp dhcp chown dhcp dhcp /data/misc/dhcp # Create the directories used by CnE subsystem mkdir /data/connectivity 0771 system system chown system system /data/connectivity mkdir /data/connectivity/nsrm 0771 system system chown system system /data/connectivity/nsrm # for WIFI TRP/TIS chown system root /data/.psm.info chmod 0664 /data/.psm.info # for WIFI Antena Selection chown system root /data/.ant.info chmod 0664 /data/.ant.info # for WIFI Version write /data/.wifiver.info 0 chown system root /data/.wifiver.info chmod 0666 /data/.wifiver.info # for WIFI Cert chmod 0664 /data/.bustxglom.info chmod 0664 /data/.roamoff.info chmod 0664 /data/.frameburst.info chmod 0664 /data/.txbf.info # for WIFI MAC address mkdir /efs/wifi 0775 radio system chown system wifi /efs/wifi/.mac.info chmod 0664 /efs/wifi/.mac.info # Create directory used by audio subsystem mkdir /data/misc/audio 0770 audio audio # Mounting of persist is moved to 'on emmc-fs' and 'on fs' sections # We chown/chmod /persist again so because mount is run as root + defaults chown system system /persist chmod 0771 /persist chmod 0664 /sys/devices/platform/msm_sdcc.1/polling chmod 0664 /sys/devices/platform/msm_sdcc.2/polling chmod 0664 /sys/devices/platform/msm_sdcc.3/polling chmod 0664 /sys/devices/platform/msm_sdcc.4/polling # Chown polling nodes as needed from UI running on system server chown system system /sys/devices/platform/msm_sdcc.1/polling chown system system /sys/devices/platform/msm_sdcc.2/polling chown system system /sys/devices/platform/msm_sdcc.3/polling chown system system /sys/devices/platform/msm_sdcc.4/polling #Create the symlink to qcn wpa_supplicant folder for ar6000 wpa_supplicant mkdir /data/system 0775 system system #symlink /data/misc/wifi/wpa_supplicant /data/system/wpa_supplicant #Create directories for gpsone_daemon services mkdir /data/misc/gpsone_d 0770 system gps #Create directories for QuIPS mkdir /data/misc/quipc 0770 gps system #Create directories for Location services mkdir /data/misc/location 0770 gps gps mkdir /data/misc/location/mq 0770 gps gps mkdir /data/misc/location/xtwifi 0770 gps gps #Create directory from IMS services mkdir /data/shared 0755 chown system system /data/shared #Create directory for FOTA mkdir /data/fota 0771 chown system system /data/fota #Create directory for hostapd mkdir /data/hostapd 0770 system wifi # Create /data/time folder for time-services mkdir /data/time/ 0700 system system mkdir /data/audio/ 0770 media audio setprop vold.post_fs_data_done 1 # GPIO DVS chown radio system /sys/class/secgpio_check/secgpio_check_all/secgpio_ctrl # Export GPIO56 for fusion targets to enable/disable hub # service usbhub_init /system/bin/usbhub_init # class late_start # user root # disabled # oneshot on property:init.svc.surfaceflinger=stopped stop ppd stop hdmid #on property:ro.board.platform=msm7630_fusion # start usbhub_init on property:init.svc.wpa_supplicant=stopped stop dhcpcd on property:bluetooth.isEnabled=true start btwlancoex write /sys/class/bluetooth/hci0/idle_timeout 7000 on property:bluetooth.sap.status=running start bt-sap on property:bluetooth.sap.status=stopped stop bt-sap on property:bluetooth.dun.status=running start bt-dun on property:bluetooth.dun.status=stopped stop bt-dun service qcom-c_core-sh /system/bin/sh /init.qcom.class_core.sh class core user root oneshot service qcom-ril-sh /system/bin/sh /init.ril.sh class main user root disabled oneshot on property:vold.decrypt=trigger_restart_framework start qcom-ril-sh start config_bluetooth service cnd /system/bin/cnd class late_start socket cnd stream 660 root inet service irsc_util /system/bin/logwrapper /system/bin/irsc_util "/etc/sec_config" class main user root oneshot service rmt_storage /system/bin/rmt_storage class core user root disabled on property:ro.boot.emmc=true start rmt_storage service config_bluetooth /system/bin/sh /system/etc/init.qcom.bt.sh "onboot" class core user root oneshot service hciattach /system/bin/sh /system/etc/init.qcom.bt.sh class late_start user bluetooth group qcom_oncrpc bluetooth net_bt_admin disabled oneshot on property:bluetooth.hciattach=true start hciattach on property:bluetooth.hciattach=false setprop bluetooth.status off service hciattach_ath3k /system/bin/sh /system/etc/init.ath3k.bt.sh class late_start user bluetooth group system bluetooth net_bt_admin misc disabled oneshot service bt-dun /system/bin/sh /system/etc/init.qcom.btdun.sh class late_start user bluetooth group bluetooth net_bt_admin inet disabled oneshot service bt-sap /system/bin/sapd 15 user bluetooth group bluetooth net_bt_admin class late_start disabled oneshot service bridgemgrd /system/bin/bridgemgrd class late_start user radio group radio qcom_diag disabled service port-bridge /system/bin/port-bridge /dev/smd0 /dev/ttyGS0 class late_start user system group system inet disabled service qmiproxy /system/bin/qmiproxy class main user radio group radio qcom_diag disabled # QMUX must be in multiple groups to support external process connections service qmuxd /system/bin/qmuxd class main user radio group radio audio bluetooth gps qcom_diag disabled service netmgrd /system/bin/netmgrd class main disabled service sensors /system/bin/sensors.qcom class late_start user root group root disabled on property:ro.use_data_netmgrd=false # netmgr not supported on specific target stop netmgrd # Adjust socket buffer to enlarge TCP receive window for high bandwidth # but only if ro.data.large_tcp_window_size property is set. on property:ro.data.large_tcp_window_size=true write /proc/sys/net/ipv4/tcp_adv_win_scale 2 service btwlancoex /system/bin/sh /system/etc/init.qcom.coex.sh class late_start user bluetooth group bluetooth net_bt_admin inet net_admin net_raw disabled oneshot service p2p_supplicant /system/bin/wpa_supplicant \ -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \ -I/system/etc/wifi/wpa_supplicant_overlay.conf -O/data/misc/wifi/sockets -N \ -ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf \ -I/system/etc/wifi/p2p_supplicant_overlay.conf \ -puse_p2p_group_interface=1 -puse_multi_chan_concurrent=1 \ -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0 # we will start as root and wpa_supplicant will switch to user wifi # after setting up the capabilities required for WEXT # user wifi # group wifi inet keystore class main socket wpa_wlan0 dgram 660 wifi wifi disabled oneshot service wpa_supplicant /system/bin/wpa_supplicant -g@android:wpa_wlan0 \ -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -e/data/misc/wifi/entropy.bin # we will start as root and wpa_supplicant will switch to user wifi # after setting up the capabilities required for WEXT # user wifi # group wifi inet keystore class main socket wpa_wlan0 dgram 660 wifi wifi disabled oneshot service dhcpcd_wlan0 /system/bin/dhcpcd -ABKL class late_start disabled oneshot service dhcpcd_p2p /system/bin/dhcpcd -ABKLG class late_start disabled oneshot service iprenew_wlan0 /system/bin/dhcpcd -n class late_start disabled oneshot service iprenew_p2p /system/bin/dhcpcd -n class late_start disabled oneshot service dhcpcd_bt-pan /system/bin/dhcpcd -BKLG class late_start disabled oneshot service iprenew_bt-pan /system/bin/dhcpcd -n class late_start disabled oneshot service dhcpcd_bnep0 /system/bin/dhcpcd -BKLG disabled oneshot service dhcpcd_bnep1 /system/bin/dhcpcd -BKLG disabled oneshot service dhcpcd_bnep2 /system/bin/dhcpcd -BKLG disabled oneshot service dhcpcd_bnep3 /system/bin/dhcpcd -BKLG disabled oneshot service dhcpcd_bnep4 /system/bin/dhcpcd -BKLG disabled oneshot #for WiFi MFG(TestMode) service mfgloader /system/bin/mfgloader class main disabled oneshot service wlandutservice /system/bin/wlandutservice class main user system group wifi net_raw net_admin system inet disabled oneshot service macloader /system/bin/macloader class main oneshot on property:init.svc.macloader=stopped chown system root /data/.cid.info chmod 0664 /data/.cid.info chown system root /data/.rev chmod 0664 /data/.rev # end of wifi service gpsone_daemon /system/bin/gpsone_daemon class late_start user gps group gps qcom_oncrpc inet net_raw disabled service quipc_igsn /system/bin/quipc_igsn class late_start user gps group inet gps disabled service quipc_main /system/bin/quipc_main class late_start user gps group gps net_admin wifi inet disabled service location_mq /system/bin/location-mq class late_start user gps group gps disabled service xtwifi_inet /system/bin/xtwifi-inet-agent class late_start user gps group inet gps disabled service xtwifi_client /system/bin/xtwifi-client class late_start user gps group net_admin wifi inet gps disabled service lowi-server /system/bin/lowi-server class late_start user gps group gps net_admin wifi inet disabled service fm_dl /system/bin/sh /system/etc/init.qcom.fm.sh class late_start user root group system qcom_oncrpc disabled oneshot on property:crypto.driver.load=1 insmod /system/lib/modules/qce.ko insmod /system/lib/modules/qcedev.ko on property:crypto.driver.load=0 exec /system/bin/rmmod qcedev.ko exec /system/bin/rmmod qce.ko service drmdiag /system/bin/drmdiagapp class late_start user root disabled oneshot on property:drmdiag.load=1 start drmdiag on property:drmdiag.load=0 stop drmdiag service qcom-sh /system/bin/sh /init.qcom.sh class late_start user root oneshot service qcom-post-boot /system/bin/sh /system/etc/init.qcom.post_boot.sh class late_start user root disabled oneshot service wifi-sdio-on /system/bin/sh /system/etc/init.qcom.sdio.sh class late_start group wifi inet disabled oneshot service wifi-crda /system/bin/sh /system/etc/init.crda.sh class late_start user root disabled oneshot on property:sys.boot_completed=1 start qcom-post-boot service atfwd /system/bin/ATFWD-daemon class late_start user system group system radio onrestart /system/bin/log -t RIL-ATFWD -p w "ATFWD daemon restarted" service hdmid /system/bin/hdmid class late_start socket hdmid stream 0660 root system graphics disabled service ppd /system/bin/mm-pp-daemon class late_start user system socket pps stream 0660 system system graphics group system graphics service hostapd /system/bin/hostapd -dddd /data/hostapd/hostapd.conf class late_start user root group root oneshot disabled service ds_fmc_appd /system/bin/ds_fmc_appd -p "rmnet0" -D class late_start group radio wifi inet disabled oneshot on property:persist.data.ds_fmc_app.mode=1 start ds_fmc_appd service ims_regmanager /system/bin/exe-ims-regmanagerprocessnative class late_start group qcom_oncrpc net_bt_admin inet radio wifi disabled on property:persist.ims.regmanager.mode=1 start ims_regmanager on property:ro.data.large_tcp_window_size=true # Adjust socket buffer to enlarge TCP receive window for high bandwidth (e.g. DO-RevB) write /proc/sys/net/ipv4/tcp_adv_win_scale 2 service battery_monitor /system/bin/battery_monitor user system group system disabled service ril-daemon1 /system/bin/rild -c 1 class main socket rild1 stream 660 root radio socket rild-debug1 stream 660 radio system user root disabled group radio cache inet misc audio sdcard_r sdcard_rw qcom_oncrpc diag qcom_diag log service profiler_daemon /system/bin/profiler_daemon class late_start user root group root disabled # virtual sdcard daemon running as media_rw (1023) service sdcard /system/bin/sdcard -u 1023 -g 1023 -l -r /data/media /mnt/shell/emulated class late_start disabled oneshot on property:ro.fuse_sdcard=true start sdcard service fuse_extSdCard /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d -f /mnt/media_rw/extSdCard /storage/extSdCard class late_start disabled oneshot service fuse_UsbDriveA /system/bin/sdcard -u 1023 -g 1023 -d -f /mnt/media_rw/UsbDriveA /storage/UsbDriveA class late_start disabled oneshot service fuse_UsbDriveB /system/bin/sdcard -u 1023 -g 1023 -d -f /mnt/media_rw/UsbDriveB /storage/UsbDriveB class late_start disabled oneshot service fuse_UsbDriveC /system/bin/sdcard -u 1023 -g 1023 -d -f /mnt/media_rw/UsbDriveC /storage/UsbDriveC class late_start disabled oneshot service fuse_UsbDriveD /system/bin/sdcard -u 1023 -g 1023 -d -f /mnt/media_rw/UsbDriveD /storage/UsbDriveD class late_start disabled oneshot service fuse_UsbDriveE /system/bin/sdcard -u 1023 -g 1023 -d -f /mnt/media_rw/UsbDriveE /storage/UsbDriveE class late_start disabled oneshot service fuse_UsbDriveF /system/bin/sdcard -u 1023 -g 1023 -d -f /mnt/media_rw/UsbDriveF /storage/UsbDriveF class late_start disabled oneshot # Binding fuse mount point to /storage/emulated/legacy #on property:init.svc.sdcard=running # wait /mnt/shell/emulated/0 # mount none /mnt/shell/emulated/0 /storage/emulated/legacy bind # This will make sure that sdcard service starts as late_start. on nonencrypted setprop ro.fuse_sdcard ${persist.fuse_sdcard} on property:vold.decrypt=trigger_restart_framework setprop ro.fuse_sdcard ${persist.fuse_sdcard} service hcidump /system/bin/sh /system/etc/hcidump.sh user bluetooth group bluetooth system net_bt_admin net_admin disabled oneshot service charger /charger class charger service ssr_diag /system/bin/ssr_diag class late_start user system group system #Disable boot timeout for external modems. on property:persist.sys.mdm.timeout_disable=1 write /sys/module/mdm_common/parameters/disable_boot_timeout 1 # Limit to SoC reset (1) and independent SSR (3) on property:persist.sys.ssr.restart_level=1 write /sys/module/subsystem_restart/parameters/restart_level 1 on property:persist.sys.ssr.restart_level=3 write /sys/module/subsystem_restart/parameters/restart_level 3 on property:persist.radio.sglte_sim_active=true kill qmiproxy 15 on property:persist.radio.sglte_sim_active=false kill qmiproxy 15 on property:persist.radio.sglte_csfb=true kill qmiproxy 15 on property:persist.radio.sglte_csfb=false kill qmiproxy 15 service diag_mdlog_start /system/bin/diag_mdlog class late_start user sdcard_rw group system qcom_diag sdcard_rw sdcard_r media_rw disabled oneshot service diag_mdlog_stop /system/bin/diag_mdlog -k class late_start user sdcard_rw group system qcom_diag sdcard_rw sdcard_r media_rw disabled oneshot