# init
PRODUCT_COPY_FILES += \
- $(COMMON_PATH)/configs/init/init.recovery.exynos9610.rc:$(TARGET_COPY_OUT_ROOT)/init.recovery.exynos9610.rc
+ $(COMMON_PATH)/configs/init/carrier/init.default.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/carrier/init.default.rc \
+ $(COMMON_PATH)/configs/init/carrier/init.retin.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/carrier/init.retin.rc \
+ $(COMMON_PATH)/configs/init/hw/init.mmi.debug.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.mmi.debug.rc \
+ $(COMMON_PATH)/configs/init/hw/init.mmi.overlay.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.mmi.overlay.rc \
+ $(COMMON_PATH)/configs/init/dmd.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/dmd.rc \
+ $(COMMON_PATH)/configs/init/init.ets.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.ets.rc \
+ $(COMMON_PATH)/configs/init/init.exynos.sensorhub.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.exynos.sensorhub.rc \
+ $(COMMON_PATH)/configs/init/init.exynos9610.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.exynos9610.rc \
+ $(COMMON_PATH)/configs/init/init.exynos9610.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.exynos9610.usb.rc \
+ $(COMMON_PATH)/configs/init/init.mmi.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.mmi.rc \
+ $(COMMON_PATH)/configs/init/init.mot-factory.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.mot-factory.rc \
+ $(COMMON_PATH)/configs/init/init.nfc.sec.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.nfc.sec.rc \
+ $(COMMON_PATH)/configs/init/init.recovery.exynos9610.rc:$(TARGET_COPY_OUT_ROOT)/init.recovery.exynos9610.rc \
+ $(COMMON_PATH)/configs/init/mobicore.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/mobicore.rc \
+ $(COMMON_PATH)/configs/init/mplog.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/mplog.rc \
+ $(COMMON_PATH)/configs/init/rfsd.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/rfsd.rc \
+ $(COMMON_PATH)/configs/init/rild.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/rild.rc \
+ $(COMMON_PATH)/configs/init/sced.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/sced.rc \
+ $(COMMON_PATH)/configs/init/sctd.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/sctd.rc \
+ $(COMMON_PATH)/configs/init/smcd.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/smcd.rc \
+ $(COMMON_PATH)/configs/init/spad.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/spad.rc \
+ $(COMMON_PATH)/configs/init/swcnd.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/swcnd.rc \
+ $(COMMON_PATH)/configs/init/tcmd.receiver.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/tcmd.receiver.rc \
+ $(COMMON_PATH)/configs/init/tcmd.simulater.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/tcmd.simulater.rc \
+ $(COMMON_PATH)/configs/init/ueventd.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc \
+ $(COMMON_PATH)/configs/init/vcd.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vcd.rc \
+ $(COMMON_PATH)/configs/init/vendor.mmi.carrier.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.mmi.carrier.rc \
+ $(COMMON_PATH)/configs/fstab.exynos9610:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.exynos9610
# Media
PRODUCT_COPY_FILES += \
--- /dev/null
+# Android fstab file.
+#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
+# The filesystem that contains the filesystem checker binary (typically /system) cannot
+# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
+
+
+/dev/block/bootdevice/by-name/system / ext4 ro wait,slotselect
+/dev/block/bootdevice/by-name/userdata /data f2fs rw,discard,nosuid,nodev,noatime,nodiratime,nobarrier,inline_xattr,inline_data,reserve_root=32768,resgid=1065 wait,check,formattable,fileencryption=aes-256-xts,quota,reservedsize=128M
+/dev/block/bootdevice/by-name/efs /mnt/vendor/efs ext4 noatime,nosuid,nodev,barrier=1,rw wait
+/dev/block/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,barrier=1,data=ordered,nodelalloc,nomblk_io_submit,errors=panic wait,notrim
+/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults
+/dev/block/bootdevice/by-name/slotinfo /slotinfo emmc defaults defaults
+/dev/block/bootdevice/by-name/persist2 /mnt/product/persist ext4 noatime,nosuid,nodev,barrier=1 wait,formattable,nofail
+/dev/block/zram0 none swap defaults zramsize=2147483648,max_comp_streams=8
+
+# VOLD
+/devices/platform/13550000.dwmmc2/mmc_host* auto auto default voldmanaged=sdcard1:auto,encryptable=userdata
+/devices/platform/13200000.usb* auto vfat default voldmanaged=usb1:auto
+/devices/platform/13200000.usb/13200000.dwc3* auto vfat default voldmanaged=usb2:auto
--- /dev/null
+on early-fs
+ setprop ro.telephony.default_network 10,0
--- /dev/null
+on early-fs
+ setprop ro.telephony.default_network 10,10
--- /dev/null
+# DM daemon
+ service DM-daemon /vendor/bin/dmd
+ class main
+ user system
+ group system media_rw sdcard_rw
+ seclabel u:r:dmd:s0
--- /dev/null
+on boot && property:ro.boot.adb_early=1
+ start vendor.mmi-usb-sh
+
--- /dev/null
+on init
+ # Allow adspd to access headset detect event
+ chmod 0664 /dev/input/event5
+
+ # Change ownership and permission for vibrator awinic with extra functions
+ chown system system /sys/class/leds/vibrator/seq
+ chmod 0660 /sys/class/leds/vibrator/seq
+ chown system system /sys/class/leds/vibrator/extra
+ chmod 0660 /sys/class/leds/vibrator/extra
+
+on boot
+ #change permission for capsensor
+ chmod 0660 /sys/class/capsense/reset
+ chown system system /sys/class/capsense/reset
+
+ # Change ownership and permission for camera dual calibration data
+ chown system camera /mnt/vendor/persist/camera/dualcal/dual_cal_data.bin
+ chown system camera /mnt/vendor/persist/camera/dualcal/module_id.bin
+ chmod 0664 /mnt/vendor/persist/camera/dualcal/dual_cal_data.bin
+ chmod 0664 /mnt/vendor/persist/camera/dualcal/module_id.bin
+ start ufs_ffu
+
+service capsense_reset /vendor/bin/capsense_reset
+ class core
+ user system
+ group system input
+ disabled
+
+on property:sys.boot_completed=1
+ start capsense_reset
+
+on property:ro.carrier=tmo
+ write /sys/class/power_supply/battery/device/force_max_chrg_temp 55
+
+on property:ro.carrier=metropcs
+ write /sys/class/power_supply/battery/device/force_max_chrg_temp 55
+
+service ufs_ffu /vendor/bin/ufs_ffu.sh
+ user root
+ class core
+ oneshot
+ disabled
+
+on property:vendor.ufs_need_ffu=1
+ setprop sys.dbg.ufs_ffu_start 1
--- /dev/null
+# Egistec fingerprint feature
+on fs
+ chmod 0660 /dev/esfp0
+ chown system system /dev/esfp0
+ chmod 0660 /sys/devices/platform/egis_input/navigation_event
+ chmod 0660 /sys/devices/platform/egis_input/navigation_enable
+ chown system system /sys/devices/platform/egis_input/navigation_enable
+ chown system system /sys/devices/platform/egis_input/navigation_event
--- /dev/null
+on post-fs
+## ensure correct calibration file permissions
+ chown system system /mnt/vendor/persist/sensorcal.json
+ chmod 0660 /mnt/vendor/persist/sensorcal.json
+## Update Nanohub FW if needed
+# start flash-nanohub-fw
+
+on post-fs-data
+ mkdir /data/vendor/sensor
+ chown root system /data/vendor/sensor
+ chmod 0770 /data/vendor/sensor
+
+service flash-nanohub-fw /vendor/bin/nanoapp_cmd download
+ oneshot
+ disabled
--- /dev/null
+on early-init
+ mkdir /mnt/vendor/efs 0771 radio system
+ mkdir /mnt/vendor/efsbk 0755 system system
+ mkdir /mnt/vendor/persist 0771 system system
+ mount debugfs /sys/kernel/debug /sys/kernel/debug
+ mount proc proc /proc remount hidepid=2,gid=3009
+
+on init
+ # Set permissions for persist partition
+ mkdir /persist 0771 system system
+
+ # See storage config details at http://source.android.com/tech/storage/
+ mkdir /storage/sdcard 0000 root root
+ mkdir /storage/usb1 0000 root root
+ mkdir /storage/usb2 0000 root root
+ mkdir /mnt/media_rw/sdcard 0700 media_rw media_rw
+ mkdir /mnt/media_rw/usb1 0700 media_rw media_rw
+ mkdir /mnt/media_rw/usb2 0700 media_rw media_rw
+
+ export SECONDARY_STORAGE /storage/sdcard:/storage/usb1:/storage/usb2
+
+ # Support legacy paths
+ symlink /storage/sdcard /mnt/ext_sd
+ symlink /data/app /factory
+
+ ## SCSC WLAN
+ # SD-755: Increase default socket rx buffer limit
+ # Apply network parameters for high data performance.
+ write /proc/sys/net/core/rmem_default 327680
+ write /proc/sys/net/core/rmem_max 8388608
+ write /proc/sys/net/core/wmem_default 327680
+ write /proc/sys/net/core/wmem_max 8388608
+ write /proc/sys/net/core/optmem_max 20480
+ write /proc/sys/net/core/netdev_max_backlog 10000
+ write /proc/sys/net/ipv4/tcp_rmem "2097152 4194304 8388608"
+ write /proc/sys/net/ipv4/tcp_wmem "262144 524288 1048576"
+ write /proc/sys/net/ipv4/tcp_mem "44259 59012 88518"
+ write /proc/sys/net/ipv4/udp_mem "88518 118025 177036"
+
+ write /sys/class/net/rmnet0/queues/rx-0/rps_cpus fe
+ write /sys/class/net/rmnet0/queues/rx-0/rps_flow_cnt 64
+ write /sys/class/net/rmnet1/queues/rx-0/rps_cpus fe
+ write /sys/class/net/rmnet1/queues/rx-0/rps_flow_cnt 64
+ write /sys/class/net/rmnet2/queues/rx-0/rps_cpus fe
+ write /sys/class/net/rmnet2/queues/rx-0/rps_flow_cnt 64
+ write /sys/class/net/rmnet3/queues/rx-0/rps_cpus fe
+ write /sys/class/net/rmnet3/queues/rx-0/rps_flow_cnt 64
+ write /sys/class/net/rmnet4/queues/rx-0/rps_cpus fe
+ write /sys/class/net/rmnet4/queues/rx-0/rps_flow_cnt 64
+ write /sys/class/net/rmnet5/queues/rx-0/rps_cpus fe
+ write /sys/class/net/rmnet5/queues/rx-0/rps_flow_cnt 64
+ write /sys/class/net/rmnet6/queues/rx-0/rps_cpus fe
+ write /sys/class/net/rmnet6/queues/rx-0/rps_flow_cnt 64
+ write /sys/class/net/rmnet7/queues/rx-0/rps_cpus fe
+ write /sys/class/net/rmnet7/queues/rx-0/rps_flow_cnt 64
+ write /proc/sys/net/core/rps_sock_flow_entries 64
+
+ ## SCSC BT
+ chown bluetooth bluetooth /sys/module/scsc_bt/parameters/bluetooth_address
+
+ # add stune/hot
+ mkdir /dev/stune/hot
+ chown system system /dev/stune/hot
+ chown system system /dev/stune/hot/tasks
+ chmod 0664 /dev/stune/hot/tasks
+
+ # EAS stune boosting interfaces
+ chown system system /dev/stune/top-app/schedtune.boost
+ chown system system /dev/stune/top-app/schedtune.prefer_idle
+ chown system system /dev/stune/top-app/schedtune.prefer_perf
+ chown system system /dev/stune/top-app/cgroup.procs
+
+ chown system system /dev/stune/foreground/schedtune.boost
+ chown system system /dev/stune/foreground/schedtune.prefer_idle
+ chown system system /dev/stune/foreground/schedtune.prefer_perf
+ chown system system /dev/stune/foreground/cgroup.procs
+
+ chown system system /dev/stune/background/schedtune.boost
+ chown system system /dev/stune/background/schedtune.prefer_idle
+ chown system system /dev/stune/background/schedtune.prefer_perf
+ chown system system /dev/stune/background/cgroup.procs
+
+ chown system system /dev/stune/schedtune.boost
+ chown system system /dev/stune/schedtune.prefer_idle
+ chown system system /dev/stune/schedtune.prefer_perf
+ chown system system /dev/stune/cgroup.procs
+
+ write /dev/stune/top-app/schedtune.boost 0
+ write /dev/stune/top-app/schedtune.prefer_idle 1
+ write /dev/stune/top-app/schedtune.prefer_perf 0
+ write /dev/stune/top-app/schedtune.util_est_en 1
+ write /dev/stune/top-app/schedtune.ontime_en 1
+
+ write /dev/stune/foreground/schedtune.boost 0
+ write /dev/stune/foreground/schedtune.prefer_idle 0
+ write /dev/stune/foreground/schedtune.prefer_perf 0
+ write /dev/stune/foreground/schedtune.util_est_en 1
+ write /dev/stune/foreground/schedtune.ontime_en 1
+
+ write /dev/stune/background/schedtune.boost 0
+ write /dev/stune/background/schedtune.prefer_idle 0
+ write /dev/stune/background/schedtune.prefer_perf 0
+
+ write /dev/stune/schedtune.boost 0
+
+ chown system system /dev/cpuset/tasks
+ chown system system /dev/cpuset/cgroup.procs
+ chmod 0664 /dev/cpuset/tasks
+
+ chown system system /sys/power/cpufreq_min_limit
+
+ #sensor
+ chmod 0664 /dev/nanohub
+ chmod 0664 /dev/nanohub_comms
+ chmod 0664 /dev/chub_dev
+ chown system system /dev/nanohub
+ chown system system /dev/nanohub_comms
+ chown system system /dev/chub_dev
+
+ #capsense
+ chmod 0644 /sys/class/sensors/capsense_bottom/enable
+ chmod 0644 /sys/class/sensors/capsense_bottom/poll_delay
+ chmod 0644 /sys/class/sensors/capsense_top/enable
+ chmod 0644 /sys/class/sensors/capsense_top/poll_delay
+ chmod 0644 /dev/input/event1
+ chmod 0644 /dev/input/event2
+ chmod 0644 /sys/class/capsense/reset
+ chown system system /sys/class/sensors/capsense_bottom/enable
+ chown system system /sys/class/sensors/capsense_bottom/poll_delay
+ chown system system /sys/class/sensors/capsense_top/enable
+ chown system system /sys/class/sensors/capsense_top/poll_delay
+ chown system system /dev/input/event1
+ chown system system /dev/input/event2
+ chown system system /sys/class/capsense/reset
+ ##capsensor for sx933x
+ chmod 0644 /sys/class/sensors/Moto_CapSense_Ch0/enable
+ chown system system /sys/class/sensors/Moto_CapSense_Ch0/enable
+ chmod 0644 /sys/class/sensors/Moto_CapSense_Ch0/poll_delay
+ chown system system /sys/class/sensors/Moto_CapSense_Ch0/poll_delay
+ chmod 0644 /sys/class/sensors/Moto_CapSense_Ch1/enable
+ chown system system /sys/class/sensors/Moto_CapSense_Ch1/enable
+ chmod 0644 /sys/class/sensors/Moto_CapSense_Ch1/poll_delay
+ chown system system /sys/class/sensors/Moto_CapSense_Ch1/poll_delay
+ chmod 0644 /sys/class/sensors/Moto_CapSense_Ch3/enable
+ chown system system /sys/class/sensors/Moto_CapSense_Ch3/enable
+ chmod 0644 /sys/class/sensors/Moto_CapSense_Ch3/poll_delay
+ chown system system /sys/class/sensors/Moto_CapSense_Ch3/poll_delay
+ chmod 0644 /dev/input/event4
+ chown system system /dev/input/event4
+ chmod 0644 /dev/input/event2
+ chown system system /dev/input/event2
+ chmod 0644 /dev/input/event3
+ chown system system /dev/input/event3
+ # NFC permission
+ chmod 0666 /dev/sec-nfc
+
+ # NFC hal surfix
+ setprop ro.hardware.nfc_nci sec
+
+ # Limit to ION page pool (Three UHD 32bpp RGB)
+ write /sys/module/ion_system_heap/parameters/max_page_pool_size 24300
+
+ # Configuration to G2D blocking mode
+ write /sys/module/g2d_task/parameters/block_on_contension 1
+
+ start watchdogd
+
+ # set reap mem
+ write /proc/sys/vm/reap_mem_on_sigkill 1
+
+on post-fs
+ # set RLIMIT_MEMLOCK to 64MB
+ setrlimit 8 67108864 67108864
+
+on post-fs-data
+# Exynos Data folder
+ mkdir /data/vendor 0775 root system
+ mkdir /data/vendor/log 0771 root system
+ mkdir /data/vendor/log/cbd 0775 root system
+ mkdir /data/vendor/gps 0771 system system
+ mkdir /data/vendor/log/gps 0771 system system
+ mkdir /data/vendor/log/chub 0771 root system
+ mkdir /data/vendor/ramdump 0775 root system
+
+ mkdir /data/vendor/rild 0771 radio system
+ mkdir /data/vendor/dump 0771 radio system
+ mkdir /data/vendor/slog 0771 system log
+
+# IPSEC PIDDIR for VoWiFi
+ mkdir /data/vendor/misc 0771 root system
+ mkdir /data/vendor/misc/vpn 0777 root system
+
+# Log data folder
+ mkdir /data/exynos/log 0771 radio system
+ mkdir /data/vendor 0771 root system
+ mkdir /data/vendor/log 0771 root system
+ mkdir /data/vendor/log/abox 0771 audioserver system
+
+ restorecon_recursive /dev/block/platform/13520000.ufs/by-name/proinfo
+ restorecon_recursive /dev/block/platform/13520000.ufs/by-name/proinfo_backup
+
+
+ restorecon_recursive /dev/block/bootdevice/by-name/proinfo
+ restorecon_recursive /dev/block/bootdevice/by-name/proinfo_backup
+
+ setprop vold.post_fs_data_done 1
+
+# Directory for GPS
+ rm /data/system/gps/gps_started
+ rm /data/system/gps/glonass_started
+ rm /data/system/gps/beidou_started
+ rm /data/system/gps/smd_started
+ rm /data/system/gps/sv_cno.info
+
+## SCSC WLAN
+ # Setup Wi-Fi permissions
+ mkdir /data/vendor/wifi 0770 wifi system
+ mkdir /data/vendor/wifi/wpa 0770 wifi system
+ mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
+ mkdir /data/vendor/wifi/hostapd/sockets 0770 wifi wifi
+ mkdir /vendor/etc/wifi 0770 system system
+ mkdir /data/vendor/log/wifi 0770 wifi wifi
+ chown wifi wifi /sys/wifi/memdump
+
+ write /sys/class/net/wlan0/queues/rx-0/rps_cpus fe
+
+# Permissions Camera
+ mkdir /data/camera 0770 system camera
+ rm /data/vendor/camera/dump_12a10_eeprom_data.bin
+ rm /data/vendor/camera/dump_12a10ff_eeprom_data.bin
+ rm /data/vendor/camera/dump_16885c_eeprom_data.bin
+ rm /data/vendor/camera/dump_5e9_troika_eeprom_data.bin
+ rm /data/vendor/camera/2x5_otp_cal_data.bin
+ rm /data/vendor/camera/5e9_eeprom_data.bin
+ rm /data/vendor/camera/gm1_eeprom_data.bin
+ mkdir /data/vendor/camera 0770 system camera
+ mkdir /mnt/vendor/persist/camera 0770 system camera
+ mkdir /mnt/vendor/persist/camera/ledcal 0770 system camera
+
+# Change ownership and permission for camera dual calibration data
+ chown root root /mnt/vendor/persist/camera/dualcal/dual_cal_data.bin
+ chown root root /mnt/vendor/persist/camera/dualcal/module_id.bin
+ chmod 0666 /mnt/vendor/persist/camera/dualcal/dual_cal_data.bin
+ chmod 0666 /mnt/vendor/persist/camera/dualcal/module_id.bin
+
+ # Allow to access WebView
+ chmod 0755 /sys/kernel/debug/tracing
+ restorecon /sys/kernel/debug/tracing/trace_marker
+
+# HWC data
+ mkdir /data/vendor/log/hwc 0771 system graphics
+
+# IMS-WFC
+ copy /system/etc/pcscf_routes.sh /vendor/bin/pcscf_routes.sh
+ chmod 0755 /vendor/bin/pcscf_routes.sh
+ chown root root /vendor/bin/pcscf_routes.sh
+
+# CP AUDIO Tuned parameter
+ copy /vendor/firmware/CP_AUDIO_SLSI.bin /mnt/vendor/efs/CP_AUDIO_SLSI.bin
+ chown radio radio /mnt/vendor/efs/CP_AUDIO_SLSI.bin
+
+# Create directory used by media clients
+ mkdir /data/vendor/media 0770 mediacodec media
+
+# CP AUDIO Tuned parameter
+ copy /vendor/firmware/CP_AUDIO_SLSI.bin /mnt/vendor/efs/CP_AUDIO_SLSI.bin
+ chown radio radio /mnt/vendor/efs/CP_AUDIO_SLSI.bin
+
+on boot
+ setprop wifi.interface wlan0
+ write /proc/sys/vm/min_free_order_shift 4
+
+ restorecon_recursive /sys/kernel/debug
+ write /sys/module/scsc_mx/parameters/disable_recovery_handling 0
+
+ # Allow to access debugfs for system:system
+ chmod 0755 /sys/kernel/debug
+ chown system system /sys/kernel/debug
+
+ setprop ro.radio.noril no
+
+ # Set up kernel tracing, but disable it by default
+ chmod 0222 /sys/kernel/debug/tracing/trace_marker
+ write /sys/kernel/debug/tracing/tracing_on 0
+
+ # Change permission for interactive governor
+ chown system system /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate
+ chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate
+ chown system system /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_slack
+ chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_slack
+ chown system system /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time
+ chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time
+ chown system system /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq
+ chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq
+ chown system system /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads
+ chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads
+ chown system system /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load
+ chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load
+ chown system system /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay
+ chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay
+ chown system system /sys/devices/system/cpu/cpu0/cpufreq/interactive/boost
+ chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/interactive/boost
+ chown system system /sys/devices/system/cpu/cpu0/cpufreq/interactive/boostpulse
+ chown system system /sys/devices/system/cpu/cpu0/cpufreq/interactive/input_boost
+ chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/interactive/input_boost
+ chown system system /sys/devices/system/cpu/cpu0/cpufreq/interactive/boostpulse_duration
+ chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/interactive/boostpulse_duration
+ chown system system /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy
+ chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy
+
+ chown system system /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate
+ chmod 0660 /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate
+ chown system system /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_slack
+ chmod 0660 /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_slack
+ chown system system /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time
+ chmod 0660 /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time
+ chown system system /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq
+ chmod 0660 /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq
+ chown system system /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads
+ chmod 0660 /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads
+ chown system system /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load
+ chmod 0660 /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load
+ chown system system /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay
+ chmod 0660 /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay
+ chown system system /sys/devices/system/cpu/cpu4/cpufreq/interactive/boost
+ chmod 0660 /sys/devices/system/cpu/cpu4/cpufreq/interactive/boost
+ chown system system /sys/devices/system/cpu/cpu4/cpufreq/interactive/boostpulse
+ chown system system /sys/devices/system/cpu/cpu4/cpufreq/interactive/input_boost
+ chmod 0660 /sys/devices/system/cpu/cpu4/cpufreq/interactive/input_boost
+ chown system system /sys/devices/system/cpu/cpu4/cpufreq/interactive/boostpulse_duration
+ chmod 0660 /sys/devices/system/cpu/cpu4/cpufreq/interactive/boostpulse_duration
+ chown system system /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy
+ chmod 0660 /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy
+ # Change permission for A-Box firmware logs file & GPR dump
+ chown audioserver system /sys/devices/platform/14a50000.abox/reset
+ chown audioserver system /sys/devices/platform/14a50000.abox/service
+ chown audioserver system /sys/devices/platform/14a50000.abox/0.abox-debug/gpr
+ chown audioserver system /sys/devices/platform/14a50000.abox/0.abox-debug/calliope_sram
+ chown audioserver system /sys/devices/platform/14a50000.abox/0.abox-debug/calliope_dram
+ chown audioserver system /sys/kernel/debug/regmap/14a50000.abox/registers
+ chown audioserver system /sys/kernel/debug/abox/log-00
+
+# Permission for USB SELECT
+ chown system system /sys/class/android_usb/android0/enable
+ chmod 0660 /sys/class/android_usb/android0/enable
+ chown system system /sys/class/android_usb/android0/idVendor
+ chmod 0660 /sys/class/android_usb/android0/idVendor
+ chown system system /sys/class/android_usb/android0/idProduct
+ chmod 0660 /sys/class/android_usb/android0/idProduct
+ chown system system /sys/class/android_usb/android0/f_diag/clients
+ chmod 0660 /sys/class/android_usb/android0/f_diag/clients
+ chown system system /sys/class/android_usb/android0/functions
+ chmod 0660 /sys/class/android_usb/android0/functions
+ chown system system /sys/class/android_usb/android0/bDeviceClass
+ chmod 0660 /sys/class/android_usb/android0/bDeviceClass
+
+# Permission for UART SWITCH
+ chmod 0660 /sys/class/sec/switch/uart_sel
+ chown system system /sys/class/sec/switch/uart_sel
+
+on fs
+ wait /dev/block/platform/${ro.boot.bootdevice}
+ symlink /dev/block/platform/${ro.boot.bootdevice} /dev/block/bootdevice
+
+ mount_all /vendor/etc/fstab.exynos9610
+ setprop ro.crypto.fuse_sdcard true
+
+ restorecon_recursive /mnt/vendor/efs
+ restorecon_recursive /mnt/vendor/efsbk
+ restorecon_recursive /mnt/vendor/persist
+ restorecon_recursive /data
+
+ chown radio system /mnt/vendor/efs
+ #chown root system /mnt/vendor/efsbk
+ chown system system /mnt/vendor/persist
+
+ mkdir /mnt/vendor/persist/data/sfs 0700 system system
+ mkdir /mnt/vendor/persist/data/tz 0700 system system
+
+# Gatekeeper data
+ mkdir /mnt/vendor/persist/gk 0700 system system
+
+ # Enable rmnet data and aggregation
+ setprop persist.rmnet.mux enabled
+ setprop persist.rmnet.data.enable true
+ setprop persist.data.wda.enable true
+ setprop persist.data.df.agg.dl_pkt 10
+ setprop persist.data.df.agg.dl_size 4096
+
+# Permissions for ION
+ chmod 0660 /sys/class/ion_cma/ion_video_ext/isolated
+ chown system system /sys/class/ion_cma/ion_video_ext/isolated
+
+# Permissions for backlight
+ chmod 0660 /sys/class/backlight/pwm-backlight.0/brightness
+ chown system system /sys/class/backlight/pwm-backlight.0/brightness
+ chmod 0660 /sys/class/backlight/backlight_0/brightness
+ chown system system /sys/class/backlight/backlight_0/brightness
+ chmod 0660 /sys/class/panel/panel/cabc_mode
+ chown system system /sys/class/panel/panel/cabc_mode
+ chmod 0660 /sys/class/backlight/hbm/hbm_mode
+ chown system system /sys/class/backlight/hbm/hbm_mode
+
+# Permissions for dqe
+ chmod 0660 /sys/class/dqe/dqe/gamma
+ chown system system /sys/class/dqe/dqe/gamma
+ chmod 0660 /sys/class/dqe/dqe/cgc
+ chown system system /sys/class/dqe/dqe/cgc
+ chmod 0660 /sys/class/dqe/dqe/hsc
+ chown system system /sys/class/dqe/dqe/hsc
+ chmod 0440 /sys/class/dqe/dqe/xml
+ chown system system /sys/class/dqe/dqe/xml
+ chmod 0660 /sys/class/dqe/dqe/tune_mode1
+ chown system system /sys/class/dqe/dqe/tune_mode1
+ chmod 0660 /sys/class/dqe/dqe/tune_mode2
+ chown system system /sys/class/dqe/dqe/tune_mode2
+ chmod 0660 /sys/class/dqe/dqe/tune_onoff
+ chown system system /sys/class/dqe/dqe/tune_onoff
+ chmod 0660 /sys/class/dqe/dqe/aosp_colors
+ chown system system /sys/class/dqe/dqe/aosp_colors
+
+# Permissions for gnss
+ chmod 0660 /dev/gnss_ipc
+ chown system system /dev/gnss_ipc
+
+#mail
+chown root system /sys/devices/platform/11500000.mali/dvfs_min_lock
+chown root system /sys/devices/platform/11500000.mali/dvfs_max_lock
+chmod 664 /sys/devices/platform/11500000.mali/dvfs_min_lock
+chmod 664 /sys/devices/platform/11500000.mali/dvfs_max_lock
+
+# Copy DRM Key
+# copy /system/app/wv.keys /factory/wv.keys
+
+# Permission for DRM Key
+# chmod 0644 /factory/wv.keys
+
+# FM Radio
+ chmod 0666 /dev/radio0
+
+# Permission for flashlight control for HAL3.3
+# The Istor espresso board does not have the flash led h/w, So the below permission line are blocked.
+# If you want to test the flashlight in board which have the flash led h/w, Enable the below blocked lines.
+ chmod 0660 /sys/class/camera/flash/rear_torch_flash
+ chown system camera /sys/class/camera/flash/rear_torch_flash
+
+# Flashlight control for HAL3
+ chmod 0660 /sys/class/leds/fled-s2mu106/fled_mode
+ chown system camera /sys/class/leds/fled-s2mu106/fled_mode
+ chmod 0660 /sys/class/leds/fled-s2mu106/fled_torch_curr
+ chown system camera /sys/class/leds/fled-s2mu106/fled_torch_curr
+
+#load ecd firmware
+ write /proc/ecd/load_firmware 1
+
+service fuse_sdcard /system/bin/sdcard -u 1023 -g 1023 -d /mnt/media_rw/sdcard /storage/sdcard
+ class late_start
+ disabled
+service fuse_usb1 /system/bin/sdcard -u 1023 -g 1023 -d /mnt/media_rw/usb1 /storage/usb1
+ class late_start
+ disabled
+service fuse_usb2 /system/bin/sdcard -u 1023 -g 1023 -d /mnt/media_rw/usb2 /storage/usb2
+ class late_start
+ disabled
+
+service abox /vendor/bin/main_abox 14a50000.abox /data/vendor/log/abox
+ class late_start
+ user audioserver
+ group system
+
+# scsc daemon
+service wlbtd /vendor/bin/wlbtd
+ class main
+ user wifi
+ group wifi inet log sdcard_rw misc diag
+
+# Modem boot daemon
+ service cpboot-daemon /vendor/bin/cbd -p /dev/block/platform/13520000.ufs/by-name/modem${ro.boot.slot_suffix}
+ class main
+ user root
+ group radio cache inet misc audio sdcard_rw log system diag
+ seclabel u:r:cbd:s0
+
+# GPS daemon
+ service gpsd /vendor/bin/hw/gpsd
+ class main
+ user gps
+ group system inet net_raw wakelock
+ capabilities BLOCK_SUSPEND
+ ioprio be 0
+ seclabel u:r:gpsd:s0
+
+#service charger /system/bin/charger
+# class charger
+# group log
+# seclabel u:r:charger:s0
+
+# on userdebug and eng builds, enable kgdb on the serial console
+on property:ro.debuggable=1
+ write /sys/module/kgdboc/parameters/kgdboc ttyFIQ1
+ write /sys/module/fiq_debugger/parameters/kgdb_enable 1
+
+# shutdown animation
+service shutdownanim /system/bin/bootanimation -shutdown
+ class core animation
+ user graphics
+ group graphics audio
+ disabled
+ oneshot
+
+## SCSC WLAN
+on property:ro.boot.wifimacaddr=*
+ write /sys/module/scsc_wlan/parameters/mac_addr_override ${ro.boot.wifimacaddr}
+
+# WiFi wpa suppplicant service
+service wpa_supplicant /vendor/bin/hw/wpa_supplicant -ddd -t \
+ -ip2p0 -Dnl80211 -c/data/vendor/wifi/wpa/p2p_supplicant.conf -N \
+ -iwlan0 -Dnl80211 -c/data/vendor/wifi/wpa/wpa_supplicant.conf \
+ -O/data/vendor/wifi/wpa/sockets \
+ -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
+ interface android.hardware.wifi.supplicant@1.0::ISupplicant default
+ interface android.hardware.wifi.supplicant@1.1::ISupplicant default
+ interface android.hardware.wifi.supplicant@1.2::ISupplicant default
+ class main
+ socket wpa_wlan0 dgram 660 wifi wifi
+ disabled
+ oneshot
+ seclabel u:r:hal_wifi_supplicant_default:s0
+
+service dhcpcd_wlan0 /vendor/bin/dhcpcd -aABDKL
+ class main
+ disabled
+ oneshot
+
+service iprenew_wlan0 /vendor/bin/dhcpcd -n
+ class main
+ disabled
+ oneshot
+
+service dhcpcd_p2p /vendor/bin/dhcpcd -aABKL
+ class main
+ disabled
+ oneshot
+
+service iprenew_p2p /vendor/bin/dhcpcd -n
+ class main
+ disabled
+ oneshot
+
+# SPE-1748: PANU DHCP Client not launched
+service dhcpcd_bt-pan /vendor/bin/dhcpcd -ABKL
+ class main
+ disabled
+ oneshot
+
+service iprenew_bt-pan /vendor/bin/dhcpcd -n
+ class main
+ disabled
+ oneshot
+
+# IMS WiFi Calling [START] #
+service charonservice /system/vendor/bin/charon
+ class main
+ user root
+ disabled
+ seclabel u:r:charonservice:s0
+
+# bugreport is triggered by holding down volume down, volume up and power
+service bugreport /system/bin/dumpstate -d -p -B -z \
+ -o /data/user_de/0/com.android.shell/files/bugreports/bugreport
+ class main
+ disabled
+ oneshot
+ keycodes 114 115 116
+
+# daemon for saving offline ramdump data
+service dssd /vendor/bin/dssd ramdump
+ class late_start
+ user root
+ group root system
+ oneshot
+ file /data/vendor/ramdump "r"
+ file /dev/block/by-name/ramdump "r"
+ seclabel u:r:dssd:s0
+
+on property:vendor.charon=1
+ rm /data/vendor/misc/vpn/charon.pid
+ chmod 0666 /dev/tun
+ start charonservice
+
+on property:vendor.charon=0
+ stop charonservice
+ rm /data/vendor/misc/vpn/charon.pid
+# IMS WiFi Calling [END] #
+
+# IMS packet router daemon
+service pktrouter /system/bin/wfc-pkt-router
+ class core
+ user root
+ disabled
+ seclabel u:r:netutils_wrapper:s0
+
+on property:init.svc.vendor.pktrouter=1
+ start pktrouter
+
+on property:init.svc.vendor.pktrouter=0
+ stop pktrouter
+
+on property:ro.bootmode=charger
+ mkdir /config/usb_gadget/g1
+ mkdir /config/usb_gadget/g1/strings/0x409
+ mkdir /config/usb_gadget/g1/configs/c.1
+ mkdir /config/usb_gadget/g1/configs/c.1/strings/0x409
+ mkdir /config/usb_gadget/g1/functions/mass_storage.0
+ write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno}
+ write /config/usb_gadget/g1/strings/0x409/manufacturer "Google Inc."
+ write /config/usb_gadget/g1/strings/0x409/product "Exynos"
+ write /config/usb_gadget/g1/configs/c.1/strings/0x409/configuration "Conf 1"
+ write /config/usb_gadget/g1/configs/c.1/MaxPower 0x3f
+ symlink /config/usb_gadget/g1/functions/mass_storage.0 /config/usb_gadget/g1/configs/c.1/mass_storage.0
+ write /sys/class/android_usb/android0/enable 0
+ write /config/usb_gadget/g1/idVendor 0x22b8
+ write /config/usb_gadget/g1/idProduct 0x2eb7
+ write /sys/class/android_usb/android0/functions mass_storage
+ write /config/usb_gadget/g1/UDC "13200000.dwc3"
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state charging
+
+service exynos-thermald /vendor/bin/exynos-thermald
+ class late_start
+ group system root
+# oneshot
+ file /sys/class/thermal/thermal_zone0 "r"
+ seclabel u:r:exynos-thermald:s0
+
+service vendor.mmi-usb-sh /vendor/bin/init.mmi.usb.sh
+ class late_start
+ user root
+ group system
+oneshot
+
+# Set watchdog timer to 30 seconds and pet it every 10 seconds to get a 20 second margin
+service watchdogd /sbin/watchdogd 10 20
+ class core
+ oneshot
+ seclabel u:r:watchdogd:s0
--- /dev/null
+on init
+ mkdir /config/usb_gadget/g1
+ mkdir /config/usb_gadget/g1/strings/0x409
+ mkdir /config/usb_gadget/g1/configs/c.1
+ mkdir /config/usb_gadget/g1/configs/c.1/strings/0x409
+ mkdir /config/usb_gadget/g1/functions/mtp.mtp
+ mkdir /config/usb_gadget/g1/functions/ptp.ptp
+ mkdir /config/usb_gadget/g1/functions/acm.acm
+ mkdir /config/usb_gadget/g1/functions/dm.dm
+ mkdir /config/usb_gadget/g1/functions/rndis.rndis
+ mkdir /config/usb_gadget/g1/functions/midi.midi
+ mkdir /config/usb_gadget/g1/functions/usbnet.usbnet
+ mkdir /config/usb_gadget/g1/functions/mass_storage.0
+ mkdir /config/usb_gadget/g1/functions/accessory.gs2
+ mkdir /config/usb_gadget/g1/functions/ffs.adb 0770 shell shell
+ mkdir /dev/usb-ffs 0770 shell shell
+ mkdir /dev/usb-ffs/adb 0770 shell shell
+ mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
+ restorecon_recursive /dev/usb-ffs/adb
+ chown system system /sys/class/android_usb/android0/secure
+ chmod 0660 /sys/class/android_usb/android0/secure
+
+on boot
+ write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno}
+ write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer}
+ write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model}
+ write /config/usb_gadget/g1/configs/c.1/strings/0x409/configuration "default"
+ write /config/usb_gadget/g1/configs/c.1/MaxPower 0x3f
+ write /config/usb_gadget/g1/bcdDevice "0x0409"
+ symlink /config/usb_gadget/g1/functions/mtp.mtp /config/usb_gadget/g1/configs/c.1/mtp.mtp
+ symlink /config/usb_gadget/g1/functions/ptp.ptp /config/usb_gadget/g1/configs/c.1/ptp.ptp
+ symlink /config/usb_gadget/g1/functions/acm.acm /config/usb_gadget/g1/configs/c.1/acm.acm
+ symlink /config/usb_gadget/g1/functions/dm.dm /config/usb_gadget/g1/configs/c.1/dm.dm
+ symlink /config/usb_gadget/g1/functions/rndis.rndis /config/usb_gadget/g1/configs/c.1/rndis.rndis
+ symlink /config/usb_gadget/g1/functions/midi.midi /config/usb_gadget/g1/configs/c.1/midi.midi
+ symlink /config/usb_gadget/g1/functions/usbnet.usbnet /config/usb_gadget/g1/configs/c.1/usbnet.usbnet
+ symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/c.1/ffs.adb
+ symlink /config/usb_gadget/g1/functions/mass_storage.0 /config/usb_gadget/g1/configs/c.1/mass_storage.0
+ symlink /config/usb_gadget/g1/functions/accessory.gs2 /config/usb_gadget/g1/configs/c.1/accessory.gs2
+ write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1
+ write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100"
+ write /config/usb_gadget/g1/os_desc/use 1
+ symlink /config/usb_gadget/g1/configs/c.1 /config/usb_gadget/g1/os_desc/c.1
+ write /config/usb_gadget/g1/functions/mtp.mtp/os_desc/interface.MTP/compatible_id "MTP"
+ chmod 444 /sys/class/android_usb/android0/f_midi/alsa
+
+on property:sys.usb.config=none
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=mtp
+ start vendor.tcmd
+ start TCMDReceiver
+ write /sys/class/android_usb/android0/enable 0
+ write /config/usb_gadget/g1/idProduct 0x2e82
+ write /config/usb_gadget/g1/idVendor 0x22b8
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /config/usb_gadget/g1/UDC "13200000.dwc3"
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=adb
+ start adbd
+
+on property:sys.usb.ffs.ready=1 && property:sys.usb.config=adb
+ write /sys/class/android_usb/android0/enable 0
+ write /config/usb_gadget/g1/idProduct 0x2e81
+ write /config/usb_gadget/g1/idVendor 0x22b8
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /config/usb_gadget/g1/UDC "13200000.dwc3"
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=midi
+ write /sys/class/android_usb/android0/enable 0
+ write /config/usb_gadget/g1/idProduct 0x18D1
+ write /config/usb_gadget/g1/idVendor 0x4EE8
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /config/usb_gadget/g1/UDC "13200000.dwc3"
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=midi,adb
+ start adbd
+
+on property:sys.usb.ffs.ready=1 && property:sys.usb.config=midi,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /config/usb_gadget/g1/idProduct 0x18D1
+ write /config/usb_gadget/g1/idVendor 0x4EE9
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /config/usb_gadget/g1/UDC "13200000.dwc3"
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=usbnet,adb
+ start adbd
+
+on property:sys.usb.ffs.ready=1 && property:sys.usb.config=usbnet,adb
+ start vendor.tcmd
+ start TCMDReceiver
+ write /sys/class/android_usb/android0/enable 0
+ write /config/usb_gadget/g1/idProduct 0x2e2d
+ write /config/usb_gadget/g1/idVendor 0x22b8
+ write /config/usb_gadget/g1/os_desc/use 1
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /config/usb_gadget/g1/UDC "13200000.dwc3"
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=usbnet
+ start vendor.tcmd
+ start TCMDReceiver
+ write /sys/class/android_usb/android0/enable 0
+ write /config/usb_gadget/g1/idProduct 0x2e2c
+ write /config/usb_gadget/g1/idVendor 0x22b8
+ write /config/usb_gadget/g1/os_desc/use 0
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /config/usb_gadget/g1/UDC "13200000.dwc3"
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=mtp,adb
+ start adbd
+
+on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mtp,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /config/usb_gadget/g1/idProduct 0x2e76
+ write /config/usb_gadget/g1/idVendor 0x22b8
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /config/usb_gadget/g1/UDC "13200000.dwc3"
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+### Charging Compositions
+on property:sys.usb.config=charging
+ write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno}
+ write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer}
+ write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model}
+ write /config/usb_gadget/g1/configs/c.1/strings/0x409/configuration "Motorola Charge only"
+ write /config/usb_gadget/g1/bcdDevice "0x0409"
+ rm /config/usb_gadget/g1/configs/c.1/mass_storage.0
+ symlink /config/usb_gadget/g1/functions/mass_storage.0 /config/usb_gadget/g1/configs/c.1/mass_storage.0
+ write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1
+ write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100"
+ write /config/usb_gadget/g1/os_desc/use 1
+ symlink /config/usb_gadget/g1/configs/c.1 /config/usb_gadget/g1/os_desc/c.1
+ write /config/usb_gadget/g1/UDC "none"
+ write /sys/class/android_usb/android0/enable 0
+ write /config/usb_gadget/g1/idVendor 0x22b8
+ write /config/usb_gadget/g1/idProduct 0x2eb7
+ write /sys/class/android_usb/android0/functions mass_storage
+ write /config/usb_gadget/g1/UDC "13200000.dwc3"
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=rndis
+ write /sys/class/android_usb/android0/enable 0
+ write /config/usb_gadget/g1/idProduct 0x2e24
+ write /config/usb_gadget/g1/idVendor 0x22b8
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /config/usb_gadget/g1/UDC "13200000.dwc3"
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=rndis,adb
+ start adbd
+
+on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /config/usb_gadget/g1/idProduct 0x2e25
+ write /config/usb_gadget/g1/idVendor 0x22b8
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /config/usb_gadget/g1/UDC "13200000.dwc3"
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=ptp
+ start vendor.tcmd
+ start TCMDReceiver
+ write /sys/class/android_usb/android0/enable 0
+ write /config/usb_gadget/g1/idProduct 0x2e83
+ write /config/usb_gadget/g1/idVendor 0x22b8
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /config/usb_gadget/g1/UDC "13200000.dwc3"
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=ptp,adb
+ start vendor.tcmd
+ start TCMDReceiver
+ start adbd
+
+on property:sys.usb.ffs.ready=1 && property:sys.usb.config=ptp,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /config/usb_gadget/g1/idProduct 0x2e84
+ write /config/usb_gadget/g1/idVendor 0x22b8
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /config/usb_gadget/g1/UDC "13200000.dwc3"
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=rndis,dm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /config/usb_gadget/g1/idProduct 0x6862
+ write /config/usb_gadget/g1/idVendor 0x04E8
+ write /config/usb_gadget/g1/UDC "13200000.dwc3"
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=rndis,acm,dm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /config/usb_gadget/g1/idProduct 0x6862
+ write /config/usb_gadget/g1/idVendor 0x04E8
+ write /config/usb_gadget/g1/UDC "13200000.dwc3"
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=rndis,acm,dm,adb
+ stop adbd
+ start adbd
+
+on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,acm,dm,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /config/usb_gadget/g1/idProduct 0x6862
+ write /config/usb_gadget/g1/idVendor 0x04E8
+ write /config/usb_gadget/g1/UDC "13200000.dwc3"
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=dm,acm,adb
+ start adbd
+
+on property:sys.usb.ffs.ready=1 && property:sys.usb.config=dm,acm,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /config/usb_gadget/g1/idProduct 0x685D
+ write /config/usb_gadget/g1/idVendor 0x04E8
+ write /config/usb_gadget/g1/UDC "13200000.dwc3"
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=mass_storage
+ stop adbd
+ write /sys/class/android_usb/android0/enable 0
+ write /config/usb_gadget/g1/idProduct 0x685B
+ write /config/usb_gadget/g1/idVendor 0x04E8
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=mass_storage,adb
+ start adbd
+
+on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mass_storage,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /config/usb_gadget/g1/idProduct 0x685E
+ write /config/usb_gadget/g1/idVendor 0x04E8
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=mass_storage,acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 04e8
+ write /sys/class/android_usb/android0/idProduct 685e
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+# rndis,acm,diag and diag,acm,adb used for Hidden Menu
+
+on property:sys.usb.config=rndis,diag
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 04e8
+ write /sys/class/android_usb/android0/idProduct 6862
+ write /sys/class/android_usb/android0/f_diag/clients diag_mdm
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=diag,acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 04E8
+ write /sys/class/android_usb/android0/idProduct 685d
+ write /sys/class/android_usb/android0/f_diag/clients diag_mdm
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=rndis,acm,diag
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 04E8
+ write /sys/class/android_usb/android0/idProduct 6864
+ write /sys/class/android_usb/android0/f_diag/clients diag_mdm
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=accessory
+ write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "accessory"
+ write /config/usb_gadget/g1/idVendor 0x18d1
+ write /config/usb_gadget/g1/idProduct 0x2d00
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /config/usb_gadget/g1/UDC "13200000.dwc3"
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=accessory,adb
+ start adbd
+
+on property:sys.usb.ffs.ready=1 && property:sys.usb.config=accessory,adb
+ write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "accessory_adb"
+ write /config/usb_gadget/g1/idVendor 0x18d1
+ write /config/usb_gadget/g1/idProduct 0x2d01
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /config/usb_gadget/g1/UDC "13200000.dwc3"
+ setprop sys.usb.state ${sys.usb.config}
+
+on load_persist_props_action
+ setprop vendor.usb.config ${sys.usb.config}
+ setprop persist.vendor.mot.usb.config ${persist.sys.usb.config:-" "}
+ setprop persist.sys.usb.config " "
+ setprop persist.vendor.usb.config ${persist.sys.usb.config}
+
+on property:sys.boot_completed=*
+ setprop vendor.boot_completed ${sys.boot_completed}
+
+on property:persist.vendor.usb.config=*
+ setprop persist.sys.usb.config ${persist.vendor.usb.config}
+
+on property:vendor.usb.config=*
+ setprop sys.usb.config ${vendor.usb.config}
+
+on property:vendor.usb.controller=*
+ setprop sys.usb.controller ${vendor.usb.controller}
+
+on property:persist.vendor.usb.bp-tools.config=*
+ setprop persist.sys.usb.bp-tools.config ${persist.vendor.usb.bp-tools.config}
+ setprop persist.sys.usb.bp-tools.func ${persist.vendor.usb.bp-tools.config}
+
+on property:persist.vendor.usb.mot-factory.config=*
+ setprop persist.sys.usb.mot-factory.config ${persist.vendor.usb.mot-factory.config}
+ setprop persist.sys.usb.mot-factory.func ${persist.vendor.usb.mot-factory.config}
+
+
+
+service vendor.mmi-usb-sh /vendor/bin/init.mmi.usb.sh
+ class late_start
+ user root
+ group system
+ oneshot
--- /dev/null
+# Chipset-specific file
+import /vendor/etc/init/hw/init.mmi.chipset.rc
+
+# Target-specific file
+import /vendor/etc/init/hw/init.mmi.overlay.rc
+
+# Moto USB configuration
+#import /vendor/etc/init/hw/init.mmi.usb.rc
+# Moto debugging
+import /vendor/etc/init/hw/init.mmi.debug.rc
+
+
+
+#import /vendor/etc/init/hw/init.oem.rc
+#import /vendor/etc/init/hw/init.mmi.common.rc
+#import /vendor/etc/init/hw/init.mmi.nonab.rc
+
+# Moto verified boot extension
+#import /vendor/etc/init/hw/init.mmi.hab.rc
+
+# Test commands
+import /vendor/etc/init/hw/init.mmi.tcmd.rc
+
+# Carrier specific script
+# Begin moto, huangzye 2019.08.29 IKSWQ-7064
+import /vendor/etc/init/carrier/init.${ro.boot.carrier}.rc
+import /vendor/etc/init/carrier/init.default.rc
+# End IKSWQ-7064
+
+on early-init
+
+on init
+ # Initialize cpusets to boot-time values
+ write /dev/cpuset/foreground/cpus 0-7
+ write /dev/cpuset/background/cpus 0-7
+ write /dev/cpuset/system-background/cpus 0-7
+ write /dev/cpuset/top-app/cpus 0-7
+ write /dev/cpuset/restricted/cpus 0-7
+
+ # set default schedTune value for foreground/top-app
+ write /dev/stune/foreground/schedtune.prefer_idle 1
+ write /dev/stune/top-app/schedtune.boost 10
+ write /dev/stune/top-app/schedtune.prefer_idle 1
+ write /dev/stune/rt/schedtune.boost 30
+ write /dev/stune/rt/schedtune.prefer_idle 1
+
+ write /sys/block/zram0/comp_algorithm lz4
+ write /proc/sys/vm/page-cluster 0
+ write /proc/sys/vm/swappiness 100
+ write /dev/memcg/memory.swappiness 100
+ write /dev/memcg/system/memory.swappiness 100
+ write /dev/memcg/apps/memory.swappiness 100
+
+ chown system log /sys/fs/pstore/console-ramoops-0
+ chmod 0440 /sys/fs/pstore/console-ramoops-0
+ chown system log /sys/fs/pstore/annotate-ramoops-0
+ chmod 0640 /sys/fs/pstore/annotate-ramoops-0
+ chown system log /sys/fs/pstore/dmesg-ramoops-0
+ chmod 0640 /sys/fs/pstore/dmesg-ramoops-0
+ # Setup kernel dropbox permission so that dropboxd can utilize it
+ chown root diag /sys/kernel/dropbox/event
+ chown root diag /sys/kernel/dropbox/data
+
+on fs
+ wait /dev/block/bootdevice/by-name/hw
+ exec_start vendor.oem-hw-sh
+
+ # Make sure ro.boot.product.hardware.sku is set before hwservicemanager startup.
+ setprop ro.boot.product.hardware.sku ${ro.vendor.product.hardware.sku.variant}
+
+ # Map oem properties, this must follow
+ # execution of vendor.oem-hw-sh to set
+ # required properties.
+ setprop ro.carrier ${ro.boot.carrier}
+ setprop ro.sf.lcd_density ${ro.boot.lcd_density}
+ setprop ro.vendor.fsg-id ${ro.boot.fsg-id}
+ setprop ro.vendor.hw.device ${ro.boot.device}
+ setprop ro.vendor.hw.hwrev ${ro.boot.hwrev}
+ setprop ro.vendor.hw.modelno ${ro.boot.modelno}
+ setprop ro.vendor.hw.revision ${ro.boot.revision}
+ setprop ro.vendor.hw.nav_keys ${ro.boot.nav_keys}
+ setprop ro.product.vendor.device ${ro.vendor.product.device}
+ setprop ro.product.vendor.name ${ro.vendor.product.name}
+ setprop ro.vendor.boot.cid ${ro.boot.cid}
+ setprop ro.vendor.boot.powerup_reason ${ro.boot.powerup_reason}
+ setprop ro.vendor.boot.bl_state ${ro.boot.bl_state}
+ setprop ro.vendor.boot.serialno ${ro.boot.serialno}
+ setprop ro.vendor.zygote ${ro.zygote}
+
+on post-fs
+ mkdir /mnt/vendor/persist/camera 0755 vendor_tcmd vendor_tcmd
+ mkdir /mnt/vendor/persist/camera/dualcal 0775 camera vendor_tcmd
+ mkdir /mnt/vendor/persist/camera/focus 0775 camera vendor_tcmd
+ mkdir /mnt/vendor/persist/camera/ledcal 0775 camera vendor_tcmd
+ mkdir /mnt/vendor/persist/batt_health 0755 vendor_pwric vendor_pwric
+ mkdir /mnt/vendor/persist/mdm 0770 radio radio
+ mkdir /mnt/vendor/persist/factory 0755 vendor_tcmd vendor_tcmd
+ mkdir /mnt/vendor/persist/factory/audio 0755 vendor_tcmd system
+ mkdir /mnt/vendor/persist/factory/wlan 0755 vendor_tcmd vendor_tcmd
+ mkdir /mnt/vendor/persist/factory/regulatory 0755 vendor_tcmd system
+ mkdir /mnt/vendor/persist/public 0755 vendor_tcmd vendor_tcmd
+ mkdir /persist/public/atvc 0770 mot_atvc shell
+ mkdir /mnt/vendor/persist/public/att_dm 0775 radio vendor_tcmd
+ mkdir /mnt/vendor/persist/public/hiddenmenu 0775 radio vendor_tcmd
+ mkdir /mnt/vendor/persist/public/hiddenmenu/data 0775 system vendor_tcmd
+ mkdir /persist/public/locale 0700 system system
+ mkdir /persist/public/omadm 0700 radio radio
+ mkdir /persist/public/svcs 0770 system system
+ mkdir /mnt/vendor/persist/wifi 0755 vendor_tcmd vendor_tcmd
+ mkdir /mnt/vendor/persist/bt 0755 vendor_tcmd bluetooth
+ mkdir /persist/public/usc_dm 0775 radio radio
+ mkdir /persist/sds 0700 vold vold
+ mkdir /mnt/vendor/persist/rfs/msm/mpss/mot_rfs 0771 rfs system
+
+ # This dir is used to store any OMA(both DM and CP) files in persist partition
+ # Any app with radio UID or vendor_tcmd GID can read/write/execute files in this dir.
+ mkdir /mnt/vendor/persist/public/oma 0775 radio vendor_tcmd
+
+ chown vendor_tcmd vendor_tcmd /mnt/vendor/persist/factory/fti
+ chmod 0664 /mnt/vendor/persist/factory/fti
+ chown vendor_tcmd vendor_tcmd /mnt/vendor/persist/factory/byte
+ chmod 0660 /mnt/vendor/persist/factory/byte
+ chmod 0660 /mnt/vendor/persist/wifi/wlan_mac.bin
+ chown vendor_tcmd vendor_tcmd /mnt/vendor/persist/bt/bt_bdaddr
+ chmod 0664 /mnt/vendor/persist/bt/bt_bdaddr
+
+ # Set life_calls and life_timer file permissions
+ chown radio vendor_tcmd /mnt/vendor/persist/public/hiddenmenu/life_calls
+ chmod 0775 /mnt/vendor/persist/public/hiddenmenu/life_calls
+ chown radio vendor_tcmd /mnt/vendor/persist/public/hiddenmenu/life_timer
+ chmod 0775 /mnt/vendor/persist/public/hiddenmenu/life_timer
+
+ # sensorcal.json
+ mkdir /mnt/vendor/persist/sensor
+ chown root system /mnt/vendor/persist/sensor
+ chmod 0770 /mnt/vendor/persist/sensor
+ chown root system /mnt/vendor/persist/sensor/sensorcal.json
+ chmod 0660 /mnt/vendor/persist/sensor/sensorcal.json
+
+ swapon_all /vendor/etc/fstab.exynos9610
+
+ # Set dm-verity property for system partition
+# verity_update_state
+
+on post-fs-data
+ setprop ro.vendor.build.fingerprint ${ro.product.vendor.brand}/${ro.product.vendor.name}/${ro.product.vendor.device}:${ro.vendor.build.version.release}/${ro.vendor.build.id}/${ro.vendor.build.version.incremental}:${ro.vendor.build.type}/${ro.vendor.build.tags}
+
+ # Setup folders for security
+ mkdir /mnt/vendor/persist/security 02775 system vendor_tcmd
+ mkdir /mnt/vendor/persist/mobicore 0775 system system
+ mkdir /data/vendor/dbvc 0750 vendor_tcmd shell
+ mkdir /data/vendor/mcRegistry 0775 system drmrpc
+ chown system vendor_tcmd /mnt/vendor/persist/security
+ chmod 0644 /mnt/vendor/persist/security/attest_keybox.so
+ chmod 0644 /mnt/vendor/persist/security/wv.keys
+ symlink /mnt/vendor/persist/security/wv.keys /mnt/vendor/persist/wv.keys
+ symlink /mnt/vendor/persist/security/attest_keybox.so /mnt/vendor/persist/attest_keybox.so
+ symlink /mnt/vendor/persist/mobicore/00000000.authtokcont /data/vendor/mcRegistry/00000000.authtokcont.backup
+
+ # Setup folder for Pre-Activation Kill Switch app (PAKS)
+ mkdir /mnt/vendor/persist/paks 02770 vendor_tcmd vendor_tcmd
+
+ # Create directory used by power_supply_logger
+ mkdir /data/vendor/power_supply_logger 0750 vendor_pwric log
+ # Create directory power_supply_logger used by memtest and batt_health
+ mkdir /data/vendor_de/power_supply_logger 0770 root log
+
+ # Permissions for Factory Test of Charging Paths
+ chown vendor_pwric vendor_pwric /sys/class/power_supply/battery/device/force_chg_auto_enable
+ chown vendor_pwric vendor_pwric /sys/class/power_supply/battery/device/force_chg_ibatt
+ chown vendor_pwric vendor_pwric /sys/class/power_supply/battery/device/force_chg_itrick
+ chown vendor_pwric vendor_pwric /sys/class/power_supply/battery/device/force_chg_iusb
+ chown vendor_pwric vendor_pwric /sys/class/power_supply/battery/device/force_chg_idc
+ chown vendor_pwric vendor_pwric /sys/class/power_supply/battery/device/force_chg_usb_suspend
+ chown vendor_pwric vendor_pwric /sys/class/power_supply/battery/device/force_chg_fail_clear
+ chown vendor_pwric vendor_pwric /sys/class/power_supply/battery/device/force_chg_usb_otg_ctl
+
+
+ chown root vendor_mod /sys/class/power_supply/usb/usb_priority
+ chmod 0660 /sys/class/power_supply/usb/usb_priority
+ chown root vendor_mod /sys/module/dwc3_msm/parameters/usb_priority
+ chmod 0660 /sys/module/dwc3_msm/parameters/usb_priority
+
+ # Thermal charging limitation
+ chmod 0660 /sys/class/power_supply/battery/charge_control_limit
+
+ # Setup folder for native to transfer data to NativeDropBoxAgent
+ mkdir /data/vendor/dropbox-add 0730 log diag
+
+ # Create panic dump dir.
+ mkdir /data/vendor/dontpanic 0750 root log
+
+ # Create directory for cutback
+ mkdir /data/vendor/misc/cutback 0770 radio wifi
+
+ # Create directory for fm_radio
+ mkdir /data/misc/fm_radio 0770 system system
+
+ # mkdir IPLog folder
+ mkdir /data/vendor/misc/iplog 0770 system system
+
+
+ # Create bug2go folder
+ mkdir /data/vendor/bug2go 0770 log log
+
+ # Setup folder for aplogd
+ mkdir /data/vendor/aplogd 0750 log log
+
+ # Create directory used by chargeonlymode
+ mkdir /data/vendor/chargeonly 0750 root log
+
+ # Permissions for phone power off log
+ mkdir /data/vendor/power_log 0750 root log
+ chmod 0660 /sys/module/power_supply_log/parameters/log_file
+ write /sys/module/power_supply_log/parameters/log_file /data/vendor/power_log/power_off.log
+
+ # folder for Blueooth ramdump
+ mkdir /data/vendor/bt-ram-dumps 0750 bluetooth log
+
+ #Folder for hardware properties
+ mkdir /data/vendor/hardware_revisions 0755 system system
+
+ # Imager tuning data for camera subsystem
+ mkdir /data/vendor/misc/imager 0771 camera camera
+
+ # NFC vendor data
+ mkdir /data/vendor/nfc 0770 nfc nfc
+
+on boot
+ # restore default console_loglevel to KERN_DEBUG
+ # restore default_message_loglevel to KERN_WARNING
+ write /proc/sys/kernel/printk "7 4 1 7"
+
+ # MOTO, NJH348, IKHALFMWK-1864, change system max tcp buffer sizes based on RAT changes
+ # Define system changable TCP buffer max values
+ chown system system /proc/sys/net/core/rmem_max
+ chown system system /proc/sys/net/core/wmem_max
+
+ # Change ownership and permission for leds backlight
+ chmod 0664 /sys/class/leds/lcd-backlight/brightness
+ chown system system /sys/class/leds/charging/brightness
+ chmod 0664 /sys/class/leds/charging/brightness
+
+ # change permission of red leds
+ chown system system /sys/class/leds/red/brightness
+ chmod 0664 /sys/class/leds/red/brightness
+
+ # Change ownership and permission for vibrator
+ chown system system /sys/class/timed_output/vibrator/enable
+ chmod 0660 /sys/class/timed_output/vibrator/enable
+ chown system system /sys/class/leds/vibrator/state
+ chmod 0660 /sys/class/leds/vibrator/state
+ chown system system /sys/class/leds/vibrator/activate
+ chmod 0660 /sys/class/leds/vibrator/activate
+ chown system system /sys/class/leds/vibrator/duration
+ chmod 0660 /sys/class/leds/vibrator/duration
+ chown root vendor_mod /sys/bus/i2c/devices/2-005a/reduce
+
+ # Change ownership of aov related sysfs entries
+ chown audio audio /sys/kernel/aov/trigger
+ chown audio audio /sys/kernel/aov/register
+ chown audio audio /sys/kernel/aov/event
+
+ # Quiet binder logs
+ write /sys/module/binder/parameters/debug_mask 0x5
+
+ # Clear cooldown state
+ mkdir /mnt/vendor/persist/chargeonly 0770 system system
+ write /mnt/vendor/persist/chargeonly/cooldown n
+ chown system system /mnt/vendor/persist/chargeonly/cooldown
+ chmod 0660 /mnt/vendor/persist/chargeonly/cooldown
+
+ # Flashlight control for HAL3
+ chmod 0660 /sys/class/leds/fled-s2mu106/fled_mode
+ chown system camera /sys/class/leds/fled-s2mu106/fled_mode
+ chmod 0660 /sys/class/leds/fled-s2mu106/fled_torch_curr
+ chown system camera /sys/class/leds/fled-s2mu106/fled_torch_curr
+
+ chown system system sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq
+ chown system system sys/devices/system/cpu/cpufreq/policy4/scaling_max_freq
+ chmod 0666 sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq
+ chmod 0666 sys/devices/system/cpu/cpufreq/policy4/scaling_max_freq
+
+service vendor.mmi-block-perm /vendor/bin/init.mmi.block_perm.sh
+ class main
+ user root
+ oneshot
+
+
+service vendor.pstore_annotate /vendor/bin/pstore_annotate.sh build
+ class main
+ group log
+ oneshot
+
+service vendor.apanic_copy /vendor/bin/apanic_copy.sh
+ class late_start
+ group log
+ oneshot
+ disabled
+
+service vendor.bl_logs_copy /vendor/bin/apanic_copy.sh -i
+ class late_start
+ group log
+ oneshot
+ disabled
+
+on property:sys.boot_completed=1 && property:ro.bootmode=bp-tools
+ start VC-daemon
+
+on property:sys.boot_completed=1 && property:ro.bootmode=mot-factory
+ start VC-daemon
+
+# For not to impact boot completed broadcast, set cpusets after broadcast.
+on property:sys.bootbroadcast_completed=1
+ write /dev/cpuset/foreground/cpus 0-7
+ write /dev/cpuset/top-app/cpus 0-7
+ write /dev/cpuset/background/cpus 0-3
+ write /dev/cpuset/system-background/cpus 0-7
+ write /dev/cpuset/restricted/cpus 0-3
+
+on charger
+ trigger early-fs
+ trigger fs
+ trigger post-fs
+ trigger late-fs
+ trigger post-fs-data
+ trigger moto-charger
+ class_stop main
+ class_stop late_start
+
+on moto-charger
+ chown radio wakelock /sys/power/wake_lock
+ chown radio wakelock /sys/power/wake_unlock
+ chmod 0660 /sys/power/wake_lock
+ chmod 0660 /sys/power/wake_unlock
+# setprop ro.board.platform msm8953
+ load_system_props
+ trigger firmware_mounts_complete
+ setprop sys.usb.configfs 1
+ setprop sys.usb.config charging
+ start qcom-post-boot
+# start vendor.hvdcp_opti
+ start gbmodinstall
+ start system_suspend
+ start vendor.charge_only_mode
+ start batt_health
+ start thermal-com
+
+service vendor.apanic_annotate /vendor/bin/apanic_save.sh build
+ class late_start
+ group log
+ oneshot
+ disabled
+
+#service vendor.batt_health /vendor/bin/batt_health
+# class late_start
+# user vendor_pwric
+# group vendor_pwric cache net_admin log
+# disabled
+
+on property:ro.vendor.bootreason=coldboot
+ start vendor.apanic_copy
+
+on property:ro.vendor.bootreason=watchdog
+ stop surfaceflinger
+ stop zygote
+ stop zygote_secondary
+ stop sensors
+ start vendor.apanic_annotate
+
+on property:ro.vendor.bootreason=pmic_watchdog
+ stop surfaceflinger
+ stop zygote
+ stop zygote_secondary
+ stop sensors
+ start vendor.apanic_annotate
+
+on property:ro.vendor.bootreason=kernel_panic
+ stop surfaceflinger
+ stop zygote
+ stop zygote_secondary
+ stop sensors
+ start vendor.apanic_annotate
+
+on property:persist.vendor.log.aplogd.enable=1
+ start vendor.aplogd
+
+on property:persist.vendor.log.aplogd.enable=0
+ stop vendor.aplogd
+
+service vendor.aplogd /vendor/bin/aplogd
+ class late_start
+ #user log
+ #group log system sdcard_rw sdcard_r media_rw mount
+ # The user and group definitions above are intentionally disabled and left
+ # only as documentation. It actually starts as root and immediately drops
+ # to log plus those groups after preserving CAP_SYS_ADMIN, which is required
+ # for kernel logging.
+ disabled
+
+# from P onwards aplogd cannot read vold.post_fs_data_done so a new property
+# shall be used to allow aplogd checking if FBE has finished /data decryption
+on property:vold.post_fs_data_done=*
+ setprop vendor.vold.post_fs_data_done ${vold.post_fs_data_done}
+
+service vendor.mmi-boot-sh /vendor/bin/init.mmi.boot.sh
+ class core
+ user root
+ oneshot
+
+on property:ro.vendor.hw.dualsim=true
+ setprop persist.radio.multisim.config dsds
+
+on property:ro.vendor.hw.dualsim=false
+ setprop persist.radio.multisim.config ""
+
+service vendor.mbm_spy /vendor/bin/mbm_spy
+ class late_start
+ user system
+ group system
+ oneshot
+ disabled
+
+on property:sys.boot_completed=1
+ start vendor.mbm_spy
+
+service dropboxd /vendor/bin/dropboxd
+ class late_start
+ user diag
+ group diag
+
+service vendor.hw_revs /vendor/bin/hardware_revisions.sh
+ class late_start
+ user system
+ group system
+ oneshot
+
+service vendor.mmi-touch-sh /vendor/bin/init.mmi.touch.sh
+ class core
+ user root
+ oneshot
+
+service vendor.oem-hw-sh /vendor/bin/init.oem.hw.sh
+ class core
+ user root
+ oneshot
+ disabled
+
+#service vendor.touch-dead-sh /vendor/bin/init.oem.hw.sh -f
+# class main
+# user root
+# oneshot
+# disabled
+
+#service vendor.touch-ready-sh /vendor/bin/init.oem.hw.sh -r
+# class main
+# user root
+# oneshot
+# disabled
+
+#service vendor.oem-hw-config-sh /vendor/bin/init.oem.hw.sh -p
+# class main
+# user root
+# oneshot
+# disabled
+
+#on property:vendor.hw.touch.status="dead"
+# start vendor.touch-dead-sh
+
+#on property:vendor.hw.touch.status="ready"
+# start vendor.touch-ready-sh
+
+service vendor.charge_only_mode /vendor/bin/charge_only_mode
+ user root
+ group graphics system input
+ disabled
+
+#service vendor.thermal-com /vendor/bin/thermal-engine --minimode
+# class main
+# user root
+# disabled
+
+
+# bugreport is triggered by holding down volume down, volume up and power
+service bugreport /system/bin/dumpstate -d -p -B -z \
+ -o /data/user_de/0/com.android.shell/files/bugreports/bugreport
+ class main
+ disabled
+ oneshot
+ keycodes 114 115 116
+
+
+#on property:vendor.wifi.tethering=false
+# write /sys/module/wlan/parameters/fwpath apdown
+
+# Override the AOSP sensor HAL service definition to add input group access
+#service vendor.sensors-hal-1-0 /vendor/bin/hw/android.hardware.sensors@1.0-service
+# class hal
+# user system
+# group system input wakelock
+# capabilities BLOCK_SUSPEND
+# rlimit rtprio 10 10
+
+#Override fwpath string when wpa_supplicant server was killed
+#on property:init.svc.wpa_supplicant=running
+# write /sys/module/wlan/parameters/fwpath sta
+
+#on property:init.svc.wpa_supplicant=stopped
+# write /sys/module/wlan/parameters/fwpath wpadown
+
+# androidboot.hardware.sku represents the SKU name being used for Regulatory approval (e.g. XT1101-01).
+# This property is used in AOSP for the Settings app to display an appropriate Regulatory E-Label
+# androidboot.product.hardware.sku represents a SKU name to assist the vendor image in determining
+# a unique HW form factor for purposes of determining a unique VINTF manifest
+#on property:ro.boot.hardware.sku=*
+# setprop ro.boot.product.hardware.sku ${ro.boot.hardware.sku}
--- /dev/null
+
+on early-init && property:ro.bootmode=mot-factory
+ mkdir /mnt/vendor/efsbk 0755 root system
+
+on fs && property:ro.bootmode=mot-factory
+ mount_all /vendor/etc/fstab.mptool
+
+on post-fs-data && property:ro.bootmode=mot-factory
+ restorecon_recursive /mnt/vendor/efsbk
+ chmod 750 /mnt/vendor/efsbk
+
+on boot && property:ro.bootmode=mot-factory
+ class_start factory
+
+
--- /dev/null
+on boot
+
+# NFC permission
+ chown nfc nfc /dev/sec-nfc
+ chmod 0770 /dev/sec-nfc
+
--- /dev/null
+on late-fs
+ export MC_AUTH_TOKEN_PATH /mnt/vendor/persist/mobicore
+ start mobicore
+
+on nonencrypted
+ mkdir /mnt/vendor/persist/mobicore 0775 system system
+ mkdir /data/vendor/mcRegistry 0775 system drmrpc
+
+on property:vold.decrypt=trigger_restart_framework
+ mkdir /mnt/vendor/persist/mobicore 0775 system drmrpc
+ mkdir /data/vendor/mcRegistry 0775 system drmrpc
+
+service mobicore /vendor/bin/mcDriverDaemon -r FFFFFFFF000000000000000000000001 -r /vendor/app/mcRegistry/FFFFFFFFD00000000000000000000016.tlbin
+ user drmrpc
+ group system drmrpc
+ class core
--- /dev/null
+
+##off = 0
+##on = 1
+##default 0
+on property:persist.mptool.dumplog.on=*
+ setprop mptool.dumplog.on ${persist.mptool.dumplog.on}
+
+#default 1024
+on property:persist.mptool.log.buffer.size=*
+ setprop mptool.log.buffer.size ${persist.mptool.log.buffer.size}
+
+#verbose - 0
+#debug - 1
+#info - 2
+#warn - 3
+##default 2
+on property:persist.mptool.log.severity=*
+ setprop mptool.log.severity ${persist.mptool.log.severity}
+
+##off = 0
+##on = 1
+#default 0
+on property:persist.mptool.log.on=*
+ setprop mptool.log.on ${persist.mptool.log.on}
+
+#smcd 0x00010000
+#swcnd 0x00001000
+#spad 0x00000010
+#sctd 0x00000001
+#sfmd 0x00000100
+on property:persist.mptool.log.catgory=*
+ setprop mptool.log.catgory ${persist.mptool.log.catgory}
+
+
--- /dev/null
+# RFS daemon
+ service RFS-daemon /vendor/bin/rfsd -d
+ class main
+ user root
+ group radio cache inet misc audio sdcard_rw log
+ seclabel u:r:rfsd:s0
--- /dev/null
+service ril-daemon /vendor/bin/hw/rild_exynos
+ class main
+ user radio
+ group radio cache inet misc audio log readproc wakelock
+ capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW
+ seclabel u:r:rild:s0
+
+on property:vendor.sys.rild_reset=1
+ setprop vendor.sys.rild_reset 0
+
+on property:vendor.sys.modem_reset=1
+ stop cpboot-daemon
+ setprop vendor.sys.modem_reset 0
+ start cpboot-daemon
--- /dev/null
+service SCE-daemon /vendor/bin/sced
+ class main
+ user system
+ group system
+ capabilities NET_ADMIN NET_RAW
+ seclabel u:r:sced:s0
--- /dev/null
+
+service sctd /vendor/bin/sctd --json "/vendor/etc/sctd.json"
+ class factory
+ user root
+ group root system bluetooth radio misc
+
--- /dev/null
+service smcd /vendor/bin/smcd -m ${mptool.smcd.mode:-vcd} -t ${mptool.smcd.timeout:-60}
+ class factory
+ user system
+ group system radio
+
--- /dev/null
+service SPA-daemon /vendor/bin/spad
+ class factory
+ group system root radio cache inet misc audio log
+ user root
+
--- /dev/null
+on post-fs-data && property:ro.bootmode=sfactory
+ setprop sys.boot_completed 1
+
+service swcnd /vendor/bin/swcnd --json "/vendor/etc/swcnd.json"
+ class factory
+ user root
+ group system bluetooth radio misc
+
--- /dev/null
+service TCMDReceiver /vendor/bin/tcmd_receiver
+ class factory
+ user root
+ group system
+
--- /dev/null
+
+service tcmd_simulater /vendor/bin/tcmd_simulater
+ class simulater
+ user root
+ group root system bluetooth radio misc
+
--- /dev/null
+/dev/mali0 0666 system system
+/dev/ion 0666 system system
+/dev/ump 0666 system graphics
+/dev/exynos-mem 0660 system graphics
+/dev/video0 0660 system camera
+/dev/video1 0660 system camera
+/dev/video2 0660 system camera
+/dev/video3 0660 system camera
+/dev/video20 0660 system system
+# media0 is used for GSC, DECON, etc
+/dev/media0 0660 system camera
+# media1 is used for DECON Ext WB
+/dev/media1 0660 system graphics
+# Various devices use the v4l-subdev interface
+# We declare all such nodes simultaneously here
+/dev/v4l-subdev0 0660 system camera
+/dev/v4l-subdev1 0660 system camera
+/dev/v4l-subdev2 0660 system camera
+/dev/v4l-subdev3 0660 system camera
+/dev/v4l-subdev4 0660 system camera
+/dev/v4l-subdev5 0660 system camera
+/dev/v4l-subdev6 0660 system camera
+/dev/v4l-subdev7 0660 system camera
+/dev/v4l-subdev8 0660 system camera
+/dev/v4l-subdev9 0660 system camera
+/dev/v4l-subdev10 0660 system camera
+/dev/v4l-subdev11 0660 system camera
+/dev/v4l-subdev12 0660 system camera
+/dev/v4l-subdev13 0660 system camera
+/dev/v4l-subdev14 0660 system camera
+/dev/v4l-subdev15 0660 system camera
+/dev/v4l-subdev16 0660 system camera
+/dev/v4l-subdev17 0660 system camera
+/dev/v4l-subdev18 0660 system camera
+/dev/v4l-subdev19 0660 system camera
+# v4l-subdev20 is used for DECON Ext WB
+/dev/v4l-subdev20 0660 system graphics
+/dev/v4l-subdev21 0660 system graphics
+/dev/v4l-subdev32 0660 system graphics
+
+# gscalers
+/dev/video23 0660 media graphics
+/dev/video26 0660 media graphics
+/dev/video24 0660 media graphics
+/dev/video27 0660 media graphics
+/dev/video29 0660 media graphics
+/dev/video30 0660 media graphics
+# video31 is used for DECON Ext WB
+/dev/video31 0660 media graphics
+
+# mscalers
+/dev/video50 0660 mediacodec drmrpc
+/dev/m2m1shot_scaler0 0660 mediacodec drmrpc
+
+/dev/video55 0666 system graphics
+/dev/g2d 0660 system graphics
+/dev/fimg2d 0666 system graphics
+/dev/i2c-2 0660 system system
+/dev/HPD 0660 system system
+
+# mfc
+/dev/video6 0660 mediacodec mediadrm
+/dev/video7 0660 mediacodec mediadrm
+/dev/video8 0660 mediacodec mediadrm
+/dev/video9 0660 mediacodec mediadrm
+/dev/video10 0660 mediacodec mediadrm
+/dev/video11 0660 mediacodec mediadrm
+
+# camera
+/dev/video101 0660 cameraserver camera
+/dev/video102 0660 cameraserver camera
+/dev/video103 0660 cameraserver camera
+/dev/video104 0660 cameraserver camera
+/dev/video107 0660 cameraserver camera
+/dev/video109 0660 cameraserver camera
+/dev/video110 0660 cameraserver camera
+/dev/video111 0660 cameraserver camera
+/dev/video112 0660 cameraserver camera
+/dev/video120 0660 cameraserver camera
+/dev/video121 0660 cameraserver camera
+/dev/video122 0660 cameraserver camera
+/dev/video130 0660 cameraserver camera
+/dev/video131 0660 cameraserver camera
+/dev/video132 0660 cameraserver camera
+/dev/video140 0660 cameraserver camera
+/dev/video141 0660 cameraserver camera
+/dev/video142 0660 cameraserver camera
+/dev/video148 0660 cameraserver camera
+/dev/video150 0660 cameraserver camera
+/dev/video151 0660 cameraserver camera
+/dev/video152 0660 cameraserver camera
+/dev/video153 0660 cameraserver camera
+/dev/video154 0660 cameraserver camera
+/dev/video155 0660 cameraserver camera
+/dev/video156 0660 cameraserver camera
+/dev/video157 0660 cameraserver camera
+/dev/video160 0660 cameraserver camera
+/dev/video161 0660 cameraserver camera
+/dev/video170 0660 cameraserver camera
+/dev/video171 0660 cameraserver camera
+/dev/video172 0660 cameraserver camera
+/dev/video173 0660 cameraserver camera
+/dev/video174 0660 cameraserver camera
+/dev/video175 0660 cameraserver camera
+/dev/video180 0660 cameraserver camera
+/dev/video190 0660 cameraserver camera
+/dev/video191 0660 cameraserver camera
+/dev/video192 0660 cameraserver camera
+/dev/video193 0660 cameraserver camera
+/dev/video210 0660 cameraserver camera
+/dev/video211 0660 cameraserver camera
+/dev/video212 0660 cameraserver camera
+/dev/video213 0660 cameraserver camera
+/dev/video214 0660 cameraserver camera
+/dev/video215 0660 cameraserver camera
+/dev/video216 0660 cameraserver camera
+/dev/video217 0660 cameraserver camera
+/dev/video218 0660 cameraserver camera
+/dev/video219 0660 cameraserver camera
+/dev/video220 0660 cameraserver camera
+/dev/video221 0660 cameraserver camera
+/dev/video222 0660 cameraserver camera
+/dev/video223 0660 cameraserver camera
+/dev/video224 0660 cameraserver camera
+/dev/video225 0660 cameraserver camera
+/dev/video240 0660 cameraserver camera
+/dev/video241 0660 cameraserver camera
+/dev/media2 0660 media media
+/dev/hdcp2 0660 media media
+
+# jpeg
+/dev/m2m1shot_jpeg 0660 media media
+/dev/video12 0660 cameraserver media
+
+# audio
+/dev/seiren 0660 system audio
+
+# Mobicore
+/dev/mobicore 0600 drmrpc drmrpc
+/dev/mobicore-user 0666 drm drmrpc
+
+# Secure MEM driver
+/dev/s5p-smem 0660 drm drmrpc
+
+#temporary
+/data/modem.bin 0400 radio system
+
+# Diag and AT
+/dev/umts_dm0 0660 system system
+/dev/umts_router 0660 system system
+/dev/ttyGS0 0660 system system
+/dev/ttyGS1 0660 system system
+/dev/ttyGS2 0660 system system
+
+# IPC RIL
+/dev/umts_boot0 0660 radio system
+/dev/umts_ipc0 0660 radio radio
+/dev/umts_ipc1 0660 radio radio
+/dev/umts_rfs0 0660 radio radio
+/dev/block/platform/13520000.ufs/by-name/frp 0660 root system
+# interactive governor parameters
+/sys/devices/system/cpu/cpu* cpufreq/interactive/timer_rate 0660 system system
+/sys/devices/system/cpu/cpu* cpufreq/interactive/timer_slack 0660 system system
+/sys/devices/system/cpu/cpu* cpufreq/interactive/min_sample_time 0660 system system
+/sys/devices/system/cpu/cpu* cpufreq/interactive/hispeed_freq 0660 system system
+/sys/devices/system/cpu/cpu* cpufreq/interactive/target_loads 0660 system system
+/sys/devices/system/cpu/cpu* cpufreq/interactive/go_hispeed_load 0660 system system
+/sys/devices/system/cpu/cpu* cpufreq/interactive/above_hispeed_delay 0660 system system
+/sys/devices/system/cpu/cpu* cpufreq/interactive/boost 0660 system system
+/sys/devices/system/cpu/cpu* cpufreq/interactive/boostpulse 0200 system system
+/sys/devices/system/cpu/cpu* cpufreq/interactive/input_boost 0660 system system
+/sys/devices/system/cpu/cpu* cpufreq/interactive/boostpulse_duration 0660 system system
+/sys/devices/system/cpu/cpu* cpufreq/interactive/io_is_busy 0660 system system
+
+# Vision
+/dev/vertex0 0660 cameraserver camera
+/dev/vertex1 0660 media media
+/dev/vipx 0660 cameraserver camera
+
+#SCSC Bluetooth
+/dev/scsc_h4_0 0660 bluetooth bluetooth
+
+# SCSC WLAN
+/dev/mx_0_r4_gdb 0660 wifi wifi
+/dev/mx_0_m4_gdb 0660 wifi wifi
+/dev/mx_0_mmap 0660 wifi wifi
+/dev/mx_client_test_0 0660 wifi wifi
+/dev/mx_0_debug_sampler 0660 wifi wifi
+/dev/mx140_usb_clk_test_0 0660 wifi wifi
+/dev/scsc_log_collector_0 0660 wifi wifi
+
+# Add device block for FRP
+/dev/block/platform/13520000.ufs/by-name/frp 0600 system system
--- /dev/null
+# VC daemon
+ service VC-daemon /vendor/bin/vcd
+ class late_start
+ user system
+ group system
+ seclabel u:r:vcd:s0
+ disabled
--- /dev/null
+on fs && property:ro.boot.carrier=amxmx
+ setprop persist.vendor.radio.suppress_ussd_rel 1
+
+on fs && property:ro.boot.carrier=reteu
+ setprop persist.vendor.radio.suppress_ussd_rel 1
+
+on fs && property:ro.boot.carrier=reteu2
+ setprop persist.vendor.radio.suppress_ussd_rel 1
+
+on fs && property:ro.boot.carrier=amxbr
+ setprop persist.vendor.radio.use_se_table_only 1
+
+on fs && property:ro.boot.carrier=wndca
+ setprop persist.vendor.radio.process_sups_ind 1
+
+on fs && property:ro.boot.carrier=retca
+ setprop persist.vendor.radio.process_sups_ind 1
+
+on property:ro.vendor.product.display=* && property:ro.boot.carrier=tracfone
+ setprop ro.build.tf_modelnumber ${ro.boot.hardware.sku}
+ setprop ro.build.sw_version ${ro.build.display.id}