# Copyright (c) 2013-2017, 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 /bt_firmware 0771 system system mkdir /firmware-modem 0771 system system symlink /data/tombstones /tombstones mkdir /dsp 0771 media media on fs wait /dev/block/platform/soc/${ro.boot.bootdevice} symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice mount_all /vendor/etc/fstab.qcom swapon_all /vendor/etc/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 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 mount ext4 /dev/block/bootdevice/by-name/persist /persist noatime nosuid nodev barrier=1 mkdir /persist/data 0700 system system mkdir /persist/bms 0700 root system restorecon_recursive /persist wait /dev/block/bootdevice/by-name/efs mount ext4 /dev/block/bootdevice/by-name/efs /efs nosuid nodev noatime noauto_da_alloc,discard,journal_async_commit,errors=panic chown radio system /efs chmod 0771 /efs restorecon -R /efs wait /dev/block/bootdevice/by-name/dsp mount ext4 /dev/block/bootdevice/by-name/dsp /dsp ro nosuid nodev barrier=1 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_file: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_file:s0 wait /dev/block/bootdevice/by-name/bluetooth mount vfat /dev/block/bootdevice/by-name/bluetooth /bt_firmware ro shortname=lower,uid=1002,gid=3002,dmask=227,fmask=337,context=u:object_r:bt_firmware_file:s0 on init write /sys/module/qpnp_rtc/parameters/poweron_alarm 1 write /sys/power/cpufreq_max_limit 1920000 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 /persist/qti_fp 0700 system system mkdir /data/misc/dts 0770 media audio mkdir /data/misc/seemp 0700 system system mkdir /data/usf 0700 system system mkdir /data/misc/tloc/ 0700 system drmrpc mkdir /data/misc/qvr 0770 system system mkdir /data/misc/audio_pp 0771 media audio # Add a cpuset for the camera daemon # We want all cores for camera mkdir /dev/cpuset/camera-daemon write /dev/cpuset/camera-daemon/cpus 0-3 write /dev/cpuset/camera-daemon/mems 0 chown cameraserver cameraserver /dev/cpuset/camera-daemon chown cameraserver cameraserver /dev/cpuset/camera-daemon/tasks chmod 0660 /dev/cpuset/camera-daemon/tasks #Create folder for mm-qcamera-daemon mkdir /data/vendor/camera 0770 camera camera on property:init.svc.bootanim=running write /sys/class/leds/wled/brightness 4095 on boot start rmt_storage start rfs_access # BarTender mkdir /dev/cpuctl/bg_cached chown system system /dev/cpuctl/bg_cached/tasks chown system system /dev/cpuctl/bg_cached/cpu.cfs_period_us chown system system /dev/cpuctl/bg_cached/cpu.cfs_quota_us chmod 0666 /dev/cpuctl/bg_cached/tasks chmod 0664 /dev/cpuctl/bg_cached/cpu.cfs_period_us chmod 0664 /dev/cpuctl/bg_cached/cpu.cfs_quota_us write /dev/cpuctl/bg_cached/cpu.rt_runtime_us 10000 write /dev/cpuctl/bg_cached/cpu.rt_period_us 1000000 write /dev/cpuctl/bg_cached/cpu.cfs_period_us 20000 write /dev/cpuctl/bg_cached/cpu.cfs_quota_us 10000 mkdir /dev/cpuctl/bg_abnormal chown system system /dev/cpuctl/bg_abnormal/tasks chown system system /dev/cpuctl/bg_abnormal/cpu.cfs_period_us chown system system /dev/cpuctl/bg_abnormal/cpu.cfs_quota_us chmod 0666 /dev/cpuctl/bg_abnormal/tasks chmod 0664 /dev/cpuctl/bg_abnormal/cpu.cfs_period_us chmod 0664 /dev/cpuctl/bg_abnormal/cpu.cfs_quota_us write /dev/cpuctl/bg_abnormal/cpu.rt_runtime_us 10000 write /dev/cpuctl/bg_abnormal/cpu.rt_period_us 1000000 write /dev/cpuctl/bg_abnormal/cpu.cfs_period_us 20000 write /dev/cpuctl/bg_abnormal/cpu.cfs_quota_us 10000 mkdir /dev/cpuset/cached write /dev/cpuset/cached/cpus 1-3 copy /dev/cpuset/mems /dev/cpuset/cached/mems mkdir /dev/cpuset/abnormal write /dev/cpuset/abnormal/cpus 1-3 copy /dev/cpuset/mems /dev/cpuset/abnormal/mems # change permissions for BarTender's cpusets we'll touch at runtime chown system system /dev/cpuset/cached chown system system /dev/cpuset/abnormal chown system system /dev/cpuset/cached/tasks chown system system /dev/cpuset/abnormal/tasks chown system system /dev/cpuset/cached/cpus chown system system /dev/cpuset/abnormal/cpus chmod 0664 /dev/cpuset/cached/tasks chmod 0664 /dev/cpuset/abnormal/tasks chmod 0664 /dev/cpuset/cached/cpus chmod 0664 /dev/cpuset/abnormal/cpus #CPUSET(8996) chown system system /dev/cpuset/top-app/cpus chown system system /dev/cpuset/foreground/cpus chown system system /dev/cpuset/background/cpus chown system system /dev/cpuset/system-background/cpus chown system system /dev/cpuset/surfaceflinger/cpus chmod 664 /dev/cpuset/top-app/cpus chmod 664 /dev/cpuset/foreground/cpus chmod 664 /dev/cpuset/background/cpus chmod 664 /dev/cpuset/system-background/cpus chmod 664 /dev/cpuset/surfaceflinger/cpus write /dev/cpuset/top-app/cpus 0-3 write /dev/cpuset/top-app/mems 0 write /dev/cpuset/foreground/cpus 0-3 write /dev/cpuset/foreground/mems 0 write /dev/cpuset/background/cpus 1-3 write /dev/cpuset/background/mems 0 write /dev/cpuset/system-background/cpus 0-1 write /dev/cpuset/system-background/mems 0 write /dev/cpuset/surfaceflinger/cpus 0-2,4-7 write /dev/cpuset/surfaceflinger/mems 0 # access permission for secure touch chmod 0660 /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch_enable chmod 0440 /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch chown system drmrpc /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch_enable chown system drmrpc /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch write /proc/sys/kernel/sched_boost 1 write /sys/devices/soc/75ba000.i2c/i2c-12/12-0020/input/input0/update_fw 1 chmod 0660 /sys/module/app_setting/parameters/lib_name chown system system /sys/module/app_setting/parameters/lib_name #start camera server as daemon service qcamerasvr /system/vendor/bin/mm-qcamera-daemon class late_start user camera group camera system inet input graphics #fingerprint service service fingerprintd /system/bin/fingerprintd class late_start user system group system service qfp-daemon /system/vendor/bin/qfp-daemon class late_start user system group system drmrpc diag input service fps_hal /system/vendor/bin/fingerprint.qcom class late_start user system group system input service qvrd /system/vendor/bin/qvrservice class late_start user system group system camera graphics socket qvrservice stream 0666 system system #Start up peripheral manager service per_mgr /vendor/bin/pm-service class core user system group system net_raw ioprio rt 4 service per_proxy /vendor/bin/pm-proxy class core user system group system disabled on property:init.svc.per_mgr=running start per_proxy on property:sys.shutdown.requested=* stop per_proxy service mdm_launcher /system/bin/sh init.mdm.sh class core oneshot service mdm_helper /system/bin/mdm_helper class core group root system disabled ## 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 qrngd /system/bin/qrngd -f # class main # user root # group root # #service qrngp /system/bin/qrngp # class main # user root # group root # oneshot # disabled # #on property:sys.boot_completed=1 # start qrngp service qseecomd /vendor/bin/qseecomd class core user root group root service gamed /system/vendor/bin/gamed class main user system group system disabled socket gamed seqpacket 0640 system system service seempd /system/vendor/bin/seempd class late_start user system group system socket seempdw dgram 0666 system system service secotad /system/vendor/bin/secotad class late_start user system group system #service mpdecision /system/vendor/bin/mpdecision --avg_comp # user root # disabled # #service qosmgrd /system/bin/qosmgr /system/etc/qosmgr_rules.xml # user system # group system # disabled # service thermal-engine /system/vendor/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 socket thermal-send-rule stream 0660 system system group 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 #service security-check1 /sbin/security_boot_check system # class core # oneshot # #service security-check2 /sbin/security_boot_check recovery # class core # oneshot # service time_daemon /system/vendor/bin/time_daemon class late_start user root group root service adsprpcd /system/vendor/bin/adsprpcd class main user media group media service audiod /system/vendor/bin/audiod class late_start user system group system service usf_tester /system/vendor/bin/usf_tester user system group system inet disabled oneshot service usf_epos /system/vendor/bin/usf_epos class main user system group system inet disabled oneshot service usf_gesture /system/vendor/bin/usf_gesture user system group system inet disabled oneshot service usf_sync_gesture /system/vendor/bin/usf_sync_gesture user system group system inet audio disabled oneshot service usf_p2p /system/vendor/bin/usf_p2p user system group system inet disabled oneshot service usf_hovering /system/vendor/bin/usf_hovering user system group system inet disabled oneshot service usf_proximity /system/vendor/bin/usf_proximity class late_start user system group system inet audio service usf_pairing /system/vendor/bin/usf_pairing user system group system inet disabled oneshot service usf_sw_calib /system/vendor/bin/usf_sw_calib user system group system inet disabled oneshot service usf-post-boot /system/vendor/bin/sh /system/etc/usf_post_boot.sh class late_start user root disabled oneshot on property:init.svc.bootanim=stopped start usf-post-boot service imsqmidaemon /system/vendor/bin/imsqmidaemon class main user system socket ims_qmid stream 0660 system radio group radio log diag service imsdatadaemon /system/vendor/bin/imsdatadaemon class main user system socket ims_datad stream 0660 system radio group system wifi radio inet log diag disabled service pd_mapper /system/vendor/bin/pd-mapper class core disabled on property:persist.sys.pd_enable=1 start pd_mapper write /sys/class/service_locator/service_locator_status 1 on property:persist.sys.pd_enable=0 write /sys/class/service_locator/service_locator_status 0 # ## QCA1530 SoC late_start group trigger #service gnss-init /system/vendor/bin/gnss.qca1530.sh init # class late_start # oneshot # on property:vendor.ims.QMI_DAEMON_STATUS=1 start imsdatadaemon service ims_rtp_daemon /system/vendor/bin/ims_rtp_daemon class main user system group radio diag inet log disabled service vendor.imsrcsservice /system/vendor/bin/imsrcsd class main user system group radio diag inet log disabled on property:vendor.ims.DATA_DAEMON_STATUS=1 start ims_rtp_daemon start vendor.imsrcsservice service dts_configurator /system/vendor/bin/dts_configurator class late_start user system group system media audio oneshot service dtseagleservice /system/vendor/bin/dts_eagle_service class late_start user system group audio media disabled on property:init.svc.dts_configurator=stopped start dtseagleservice on property:init.svc.surfaceflinger=stopped stop ppd on property:init.svc.surfaceflinger=running start ppd on property:init.svc.surfaceflinger=restarting stop ppd on property:init.svc.zygote=stopped stop ppd on property:init.svc.zygote=running start ppd on property:init.svc.zygote=restarting stop ppd service tlocd /system/bin/tloc_daemon class late_start user system group drmrpc gps net_raw service energy-awareness /system/vendor/bin/energy-awareness class main user root group system oneshot service mdtpd /system/vendor/bin/mdtpd class late_start user root group system radio drmrpc on charger write /sys/devices/system/cpu/cpu2/online 0 write /sys/devices/system/cpu/cpu3/online 0 write /sys/module/lpm_levels/parameters/sleep_disabled 0 wait /dev/block/bootdevice/by-name/system mount ext4 /dev/block/bootdevice/by-name/system /system ro barrier=1 # LPM (samsung charger) #service lpm /system/bin/lpm # class charger # critical service dhcpcd_eth0 /system/vendor/bin/dhcpcd -ABKLG class late_start disabled oneshot service iprenew_eth0 /system/vendor/bin/dhcpcd -n class late_start disabled oneshot service ppd /vendor/bin/mm-pp-dpps class late_start user system group system graphics socket pps stream 0660 system system disabled #service sec-sh /system/bin/sh /system/etc/init.sec.boot.sh # class main # user root # oneshot service wifiloader /system/bin/wifiloader class main oneshot