| # Copyright (c) 2013-2014, 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 "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. |
| # |
| # |
| |
| on early-init |
| mkdir /firmware 0771 system system |
| mkdir /firmware-modem 0771 system system |
| mkdir /system 0777 root root |
| symlink /data/tombstones /tombstones |
| |
| on fs |
| mount_all fstab.qcom |
| |
| # Keeping following partitions outside fstab file. As user may not have |
| # these partition flashed on the device. Failure to mount any partition in fstab file |
| # results in failure to launch late-start class. |
| |
| wait /dev/block/bootdevice/by-name/cache |
| check_fs /dev/block/bootdevice/by-name/cache ext4 |
| mount ext4 /dev/block/bootdevice/by-name/cache /cache nosuid nodev noatime noauto_da_alloc,discard,journal_async_commit,errors=panic |
| |
| wait /dev/block/bootdevice/by-name/persist |
| check_fs /dev/block/bootdevice/by-name/persist ext4 |
| mount ext4 /dev/block/bootdevice/by-name/persist /persist nosuid nodev noatime noauto_da_alloc,discard,journal_async_commit,errors=panic |
| mkdir /persist/data 0700 system system |
| restorecon_recursive /persist |
| |
| wait /dev/block/bootdevice/by-name/efs |
| check_fs /dev/block/bootdevice/by-name/efs ext4 |
| mount ext4 /dev/block/bootdevice/by-name/efs /efs nosuid nodev noatime noauto_da_alloc,discard,journal_async_commit,errors=panic |
| chown system radio /efs |
| chmod 0771 /efs |
| rm -rf /efs/dmverity |
| restorecon -R /efs |
| |
| on fs_sec_selinux |
| |
| wait /dev/block/bootdevice/by-name/apnhlos |
| mount vfat /dev/block/bootdevice/by-name/apnhlos /firmware ro shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware:s0 |
| |
| wait /dev/block/bootdevice/by-name/modem |
| mount vfat /dev/block/bootdevice/by-name/modem /firmware-modem ro shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware:s0 |
| |
| |
| on fs_selinux |
| |
| wait /dev/block/bootdevice/by-name/apnhlos |
| mount vfat /dev/block/bootdevice/by-name/apnhlos /firmware ro shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337 |
| |
| wait /dev/block/bootdevice/by-name/modem |
| mount vfat /dev/block/bootdevice/by-name/modem /firmware-modem ro shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337 |
| |
| |
| #write /sys/kernel/boot_adsp/boot 1 |
| |
| on post-fs-data |
| mkdir /data/tombstones 0771 system system |
| mkdir /tombstones/modem 0771 system system |
| mkdir /tombstones/lpass 0771 system system |
| mkdir /tombstones/wcnss 0771 system system |
| mkdir /tombstones/dsps 0771 system system |
| mkdir /persist/data/sfs 0700 system system |
| mkdir /persist/data/tz 0700 system system |
| mkdir /data/misc/dts 0770 media audio |
| #start camera server as daemon |
| service qcamerasvr /system/bin/mm-qcamera-daemon |
| class main |
| user camera |
| group camera system inet input graphics |
| |
| #enable zram |
| on property:ro.config.zram=true |
| swapon_all fstab.qcom |
| # write /proc/sys/vm/swappiness 100 |
| |
| #start gpu_snapshotd for gpu hang issue debugging |
| service gpu_snapshotd /system/bin/gpu_snapshotd -s /sys/class/kgsl/kgsl-3d0/snapshot -d /data/log/ -m 0700 |
| class late_start |
| user system |
| group system |
| |
| # Allow usb charging to be disabled peristently |
| on property:persist.usb.chgdisabled=1 |
| write /sys/class/power_supply/battery/charging_enabled 0 |
| |
| on property:persist.usb.chgdisabled=0 |
| write /sys/class/power_supply/battery/charging_enabled 1 |
| |
| service qrngp /system/bin/qrngp -f |
| class main |
| user root |
| group root |
| oneshot |
| disabled |
| |
| on property:sys.boot_completed=1 |
| start qrngp |
| |
| service qseecomd /system/bin/qseecomd |
| class core |
| user root |
| group root |
| |
| #service aostlmd /system/bin/aostlmd |
| # class late_start |
| # user system |
| # group system net_raw |
| |
| #service mpdecision /system/bin/mpdecision --avg_comp |
| # user root |
| # disabled |
| |
| service perfd /system/bin/perfd |
| class main |
| user root |
| disabled |
| |
| service thermal-engine /system/bin/thermal-engine |
| class main |
| user root |
| socket thermal-send-client stream 0666 system system |
| socket thermal-recv-client stream 0660 system system |
| socket thermal-recv-passive-client stream 0666 system system |
| group root |
| |
| service time_daemon /system/bin/time_daemon |
| class late_start |
| user root |
| group root |
| |
| service audiod /system/bin/audiod |
| class late_start |
| user system |
| group system |
| |
| on boot |
| start rmt_storage |
| #load modules at boot |
| insmod /system/lib/modules/adsprpc.ko |
| insmod /system/lib/modules/ansi_cprng.ko |
| insmod /system/lib/modules/core_ctl.ko |
| insmod /system/lib/modules/evbug.ko |
| insmod /system/lib/modules/gator.ko |
| insmod /system/lib/modules/msm-buspm-dev.ko |
| insmod /system/lib/modules/spidev.ko |
| insmod /system/lib/modules/tcp_htcp.ko |
| insmod /system/lib/modules/tcp_westwood.ko |
| insmod /system/lib/modules/radio-iris-transport.ko |
| insmod /system/lib/modules/pronto/pronto_wlan.ko |
| # access permission for secure touch |
| chmod 0660 /sys/devices/soc.0/78b9000.i2c/i2c-5/5-0020/secure_touch_enable |
| chmod 0440 /sys/devices/soc.0/78b9000.i2c/i2c-5/5-0020/secure_touch |
| chmod 0660 /sys/devices/soc.0/78b9000.i2c/i2c-5/5-0070/secure_touch_enable |
| chmod 0440 /sys/devices/soc.0/78b9000.i2c/i2c-5/5-0070/secure_touch |
| chown system drmrpc /sys/devices/soc.0/78b9000.i2c/i2c-5/5-0020/secure_touch_enable |
| chown system drmrpc /sys/devices/soc.0/78b9000.i2c/i2c-5/5-0020/secure_touch |
| chown system drmrpc /sys/devices/soc.0/78b9000.i2c/i2c-5/5-0070/secure_touch_enable |
| chown system drmrpc /sys/devices/soc.0/78b9000.i2c/i2c-5/5-0070/secure_touch |
| |
| #service ppd /system/bin/mm-pp-daemon |
| # class late_start |
| # disabled |
| # user system |
| # socket pps stream 0660 system system |
| # group system graphics |
| |
| #on property:init.svc.surfaceflinger=stopped |
| # stop ppd |
| |
| #on property:init.svc.surfaceflinger=running |
| # start ppd |
| |
| service wcnss-service /system/bin/wcnss_service |
| class main |
| user system |
| group system wifi radio |
| oneshot |
| |
| on charger |
| wait /dev/block/bootdevice/by-name/system |
| mount ext4 /dev/block/bootdevice/by-name/system /system ro barrier=1 |
| chown root system /sys/class/power_supply/bms/current_now |
| chown root system /sys/class/power_supply/bms/voltage_ocv |
| chmod 0664 /sys/class/power_supply/bms/current_now |
| chmod 0664 /sys/class/power_supply/bms/voltage_ocv |
| start vm_bms |
| load_all_props |
| start qcom-post-boot |
| |
| service imsqmidaemon /system/bin/imsqmidaemon |
| class main |
| user system |
| socket ims_qmid stream 0660 system radio |
| group radio net_raw log qcom_diag |
| |
| service imsdatadaemon /system/bin/imsdatadaemon |
| class main |
| user system |
| socket ims_datad stream 0660 system radio |
| group system wifi radio inet net_raw log qcom_diag net_admin |
| disabled |
| |
| on property:sys.ims.QMI_DAEMON_STATUS=1 |
| start imsdatadaemon |
| |
| service ims_rtp_daemon /system/bin/ims_rtp_daemon |
| class main |
| user system |
| socket ims_rtpd stream 0660 system radio |
| group radio net_raw diag qcom_diag log |
| disabled |
| |
| service imscmservice /system/bin/imscmservice |
| class main |
| user system |
| group radio net_raw diag qcom_diag log |
| disabled |
| |
| on property:sys.ims.DATA_DAEMON_STATUS=1 |
| start ims_rtp_daemon |
| start imscmservice |
| |
| # SecEDS |
| service TvoutService_C /system/bin/bintvoutservice |
| class main |
| user system |
| group graphics |
| on property:ro.SecEDS.enable=false |
| stop TvoutService_C |
| |