| # Copyright (C) 2012 The Android Open Source Project |
| # |
| # IMPORTANT: Do not create world writable files or directories. |
| # This is a common source of Android security bugs. |
| # |
| |
| on early-boot |
| chown bluetooth net_bt_stack /dev/ttyHS0 |
| chmod 0660 /dev/ttyHS0 |
| |
| on boot |
| |
| # MSP FactoryApp |
| mkdir /efs/FactoryApp 0775 system system |
| |
| # Audio NXP |
| chmod 0660 /dev/i2c-1 |
| chown system system /dev/i2c-1 |
| |
| # NFC_NXP |
| setprop ro.nfc.port "I2C" |
| chmod 0600 /dev/pn547 |
| chown nfc nfc /dev/pn547 |
| |
| # permissions for bluetooth. |
| setprop ro.bt.bdaddr_path "/efs/bluetooth/bt_addr" |
| chown bluetooth net_bt_stack ro.bt.bdaddr_path |
| chown radio net_bt_stack /efs/bluetooth/bt_addr |
| chmod 0644 /efs/bluetooth/bt_addr |
| chmod 0660 /sys/class/rfkill/rfkill0/state |
| chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/state |
| chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/type |
| |
| # IPSec for VOLTE |
| chown root system /dev/socket |
| chmod 0775 /dev/socket |
| |
| # IPSec for VOLTE |
| service ipsec-daemon /system/bin/IPSecService |
| class main |
| socket ipsec_socket stream 660 system system |
| user system |
| group system net_raw inet net_admin |
| |
| on fs |
| |
| # Support Preload install apks |
| mkdir /preload 0771 system system |
| |
| # efs |
| mkdir /efs/drm 0700 system system |
| mkdir /efs/imei 0775 radio radio |
| restorecon -R /efs |
| |
| #For Absolute Persistence Partition |
| |
| mkdir /persdata 0755 system system |
| mkdir /persdata/absolute 0750 system system |
| |
| wait /dev/block/bootdevice/by-name/persdata |
| check_fs /dev/block/bootdevice/by-name/persdata ext4 |
| mount ext4 /dev/block/bootdevice/by-name/persdata /persdata/absolute nosuid nodev barrier=1 |
| |
| chown system system /persdata |
| chmod 0755 /persdata |
| chown system system /persdata/absolute |
| chmod 0750 /persdata/absolute |
| |
| # Permissions for svc led |
| chown system system /sys/class/sec/led/led_r |
| chown system system /sys/class/sec/led/led_g |
| chown system system /sys/class/sec/led/led_b |
| chown system system /sys/class/sec/led/led_pattern |
| chown system system /sys/class/sec/led/led_blink |
| chown system system /sys/class/sec/led/led_lowpower |
| |
| # permissons for uartsel & usbsel sysfs |
| chmod 0660 /sys/class/sec/switch/uart_en |
| chmod 0660 /sys/class/sec/switch/uart_sel |
| chmod 0660 /sys/class/sec/switch/usb_sel |
| chown system system /sys/class/sec/switch/uart_en |
| chown system system /sys/class/sec/switch/uart_sel |
| chown system system /sys/class/sec/switch/usb_sel |
| |
| # fm_radio |
| chmod 0640 /dev/radio0 |
| chown system system /dev/radio0 |
| |
| # Kickstart the Wireless subsystem |
| write /dev/wcnss_wlan 1 |
| write /sys/module/wcnss_ssr_8960/parameters/enable_riva_ssr 1 |
| service ftm_ptt /system/bin/ftm_ptt -d |
| user root |
| group radio system |
| disabled |
| |
| # umount service |
| service umount_service /system/bin/umount /preload |
| disabled |
| oneshot |
| |
| # diag app for cp uart |
| service diag_uart_log /system/bin/diag_uart_log |
| class main |
| user root |
| group radio |
| |
| # Support Preload install apks |
| on property:persist.sys.storage_preload=1 |
| mount ext4 /dev/block/bootdevice/by-name/hidden /preload nosuid nodev ro barrier=1 |
| setprop storage.preload.complete 1 |
| |
| on property:persist.sys.storage_preload=0 |
| start umount_service |
| |