/rootdir/init.qcom.rc
Windows Resource File | 744 lines | 621 code | 123 blank | 0 comment | 0 complexity | a92057ca8c6497b900bb53c9d8483c8c MD5 | raw file
- #
- # Copyright 2012 The Android Open Source Project
- # Copyright (C) 2013 The CyanogenMod Project
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- #
- import init.device.rc
- import init.sony.usb.rc
- on early-init
- write /sys/block/mmcblk0/queue/scheduler noop
- mount debugfs debugfs /sys/kernel/debug
- chown system system /sys/kernel/debug/kgsl/proc
- on init
- mkdir /mnt/shell/emulated 0700 shell shell
- mkdir /storage/emulated 0555 root root
- mkdir /mnt/media_rw/sdcard1 0700 media_rw media_rw
- mkdir /mnt/media_rw/usbdisk 0700 media_rw media_rw
- mkdir /storage/sdcard1 0775 system system
- mkdir /storage/usbdisk 0775 system system
- export EXTERNAL_STORAGE /storage/emulated/legacy
- export SECONDARY_STORAGE /storage/sdcard1
- export EMULATED_STORAGE_SOURCE /mnt/shell/emulated
- export EMULATED_STORAGE_TARGET /storage/emulated
- # for backwards compatibility
- symlink /storage/emulated/legacy /sdcard
- symlink /storage/emulated/legacy /mnt/sdcard
- symlink /storage/emulated/legacy /storage/sdcard0
- symlink /mnt/shell/emulated/0 /storage/emulated/legacy
- symlink /storage/sdcard1 /ext_card
- symlink /storage/sdcard1 /mnt/ext_card
- symlink /storage/usbdisk /usbdisk
- symlink /storage/usbdisk /mnt/usbdisk
- mkdir /tmp
- mount tmpfs tmpfs /tmp nosuid mode=0755,uid=0,gid=0
- chmod 0664 /proc/rdtag
- chown root system /proc/rdtag
- mkdir /dev/bus 0755 root root
- mkdir /dev/bus/usb 0755 root root
- # create directory for scd
- mkdir /dev/socket/scd 0755 system system
- # Enable ramdumps from subsystems to dump
- # Should be initialized during init
- write /sys/bus/msm_subsys/devices/subsys0/restart_level "RELATED"
- write /sys/bus/msm_subsys/devices/subsys1/restart_level "RELATED"
- write /sys/bus/msm_subsys/devices/subsys2/restart_level "RELATED"
- write /sys/bus/msm_subsys/devices/subsys3/restart_level "RELATED"
- # Enable panic on out of memory
- write /proc/sys/vm/panic_on_oom 2
- # Create a tmpfs for dynamic network mounting
- mkdir /storage/removable/remote 0700 root system
- mount tmpfs tmpfs /storage/removable/remote mode=0755,uid=0,gid=0
- # Set the property to indicate type of virtual display to 0
- # 0 indicates that virtual display is not a Wifi display and that the
- # session is not exercised through RemoteDisplay in the android framework
- setprop persist.sys.wfd.virtual 0
- on fs
- mount_all ./fstab.qcom
- setprop ro.crypto.fuse_sdcard true
- mkdir /lta-label 0555 system system
- wait /dev/block/platform/msm_sdcc.1/by-name/LTALabel
- mount ext4 /dev/block/platform/msm_sdcc.1/by-name/LTALabel /lta-label nosuid nodev noatime noexec ro barrier=0
- chown system system /lta-label
- chmod 0555 /lta-label
- on early-boot
- # set RLIMIT_MEMLOCK to 64MB
- setrlimit 8 67108864 67108864
- write /sys/kernel/boot_adsp/boot 1
- # Run pre_hw_config.sh before entering charge only mode.
- exec /system/bin/sh /system/etc/pre_hw_config.sh
- exec /system/bin/sh /system/etc/init.qcom.wifi.sh
- on boot
- # bring CPUs online
- write /sys/module/msm_thermal/core_control/enabled 0
- write /sys/devices/system/cpu/cpu1/online 1
- write /sys/devices/system/cpu/cpu2/online 1
- write /sys/devices/system/cpu/cpu3/online 1
- write /sys/module/msm_thermal/core_control/enabled 1
- write /sys/module/qpnp_power_on/parameters/forcecrash_on 1
- exec /system/bin/btnvtool -O
- chown bluetooth bluetooth /sys/module/bluetooth_power/parameters/power
- chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type
- chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
- chown bluetooth bluetooth /proc/bluetooth/sleep/proto
- chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_lpm
- chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_btwrite
- chown system system /sys/module/sco/parameters/disable_esco
- chown bluetooth bluetooth /sys/module/hci_smd/parameters/hcismd_set
- chmod 0660 /sys/module/bluetooth_power/parameters/power
- chmod 0660 /sys/module/hci_smd/parameters/hcismd_set
- chmod 0660 /sys/class/rfkill/rfkill0/state
- chmod 0660 /proc/bluetooth/sleep/proto
- chown bluetooth bluetooth /dev/ttyHS0
- chmod 0660 /sys/module/hci_uart/parameters/ath_lpm
- chmod 0660 /sys/module/hci_uart/parameters/ath_btwrite
- chmod 0660 /dev/ttyHS0
- chown bluetooth bluetooth /sys/devices/platform/msm_serial_hs.0/clock
- chmod 0660 /sys/devices/platform/msm_serial_hs.0/clock
- chmod 0660 /dev/ttyHS2
- chown bluetooth bluetooth /dev/ttyHS2
- # Create QMUX deamon socket area
- mkdir /dev/socket/qmux_radio 0770 radio radio
- chmod 2770 /dev/socket/qmux_radio
- mkdir /dev/socket/qmux_audio 0770 media audio
- chmod 2770 /dev/socket/qmux_audio
- mkdir /dev/socket/qmux_bluetooth 0770 bluetooth bluetooth
- chmod 2770 /dev/socket/qmux_bluetooth
- mkdir /dev/socket/qmux_gps 0770 gps gps
- chmod 2770 /dev/socket/qmux_gps
- setprop ro.telephony.call_ring.multiple false
- # Remove SUID bit for iproute2 ip tool
- chmod 0755 /system/bin/ip
- # port-bridge
- chmod 0660 /dev/smd0
- chown system system /dev/smd0
- # BT DUN port-bridge
- chmod 0660 /dev/smd7
- chown bluetooth bluetooth /dev/smd7
- chmod 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state
- # MDP idle notifier
- chown system graphics /sys/class/graphics/fb0/idle_time
- chmod 0664 /sys/class/graphics/fb0/idle_time
- # Remove write permissions to video related nodes
- chown system graphics /sys/class/graphics/fb1/hpd
- chown system system /sys/class/graphics/fb1/hdcp/tp
- chown system graphics /sys/class/graphics/fb1/vendor_name
- chown system graphics /sys/class/graphics/fb1/product_description
- chmod 0664 /sys/class/graphics/fb1/hpd
- chmod 0664 /sys/class/graphics/fb1/hdcp/tp
- chmod 0664 /sys/class/graphics/fb1/vendor_name
- chmod 0664 /sys/class/graphics/fb1/product_description
- chmod 0664 /sys/class/graphics/fb1/video_mode
- chmod 0664 /sys/class/graphics/fb1/format_3d
- # create symlink for fb1 as HDMI
- symlink /dev/graphics/fb1 /dev/graphics/hdmi
- # Change owner and group to get adopter/device ids from MHL driver
- chown system system /sys/class/mhl/sii8334/adopter_id
- chown system system /sys/class/mhl/sii8334/device_id
- # Change permissions for fps_level nodes
- chown system graphics /sys/class/graphics/fb0/msm_fb_fps_level
- chown system graphics /sys/class/graphics/fb1/msm_fb_fps_level
- chown system graphics /sys/class/graphics/fb2/msm_fb_fps_level
- chmod 644 /sys/class/graphics/fb0/msm_fb_fps_level
- chmod 400 /sys/class/graphics/fb1/msm_fb_fps_level
- chmod 400 /sys/class/graphics/fb2/msm_fb_fps_level
- # Dynamic fps
- chmod 644 /sys/devices/virtual/graphics/fb0/dynamic_fps
- chown system graphics /sys/devices/virtual/graphics/fb0/dynamic_fps
- # For bridgemgr daemon to inform the USB driver of the correct transport
- chown radio radio /sys/class/android_usb/f_rmnet_smd_sdio/transport
- # For setting tcp delayed ack
- chown system system /sys/kernel/ipv4/tcp_delack_seg
- chown system system /sys/kernel/ipv4/tcp_use_userconfig
- # Define TCP delayed ack settings for WiFi & LTE
- setprop net.tcp.delack.default 1
- setprop net.tcp.delack.wifi 20
- setprop net.tcp.delack.lte 8
- setprop net.tcp.usercfg.default 0
- setprop net.tcp.usercfg.wifi 1
- setprop net.tcp.usercfg.lte 1
- # Assign TCP buffer thresholds to be ceiling value of technology maximums
- # Increased technology maximums should be reflected here.
- write /proc/sys/net/core/rmem_max 2097152
- write /proc/sys/net/core/wmem_max 2097152
- chmod 660 /dev/rtc0
- chown system system /dev/rtc0
- chown root system /proc/net/ip_conntrack
- # Enable DEBUG_SUSPEND, DEBUG_EXIT_SUSPEND, and DEBUG_WAKEUP
- write /sys/module/wakelock/parameters/debug_mask 7
- #To allow interfaces to get v6 address when tethering is enabled
- write /proc/sys/net/ipv6/conf/rmnet0/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet1/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet2/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet3/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet4/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet5/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet6/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet7/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_sdio0/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_sdio1/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_sdio2/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_sdio3/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_sdio4/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_sdio5/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_sdio6/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_sdio7/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_usb0/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_usb1/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_usb2/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_usb3/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_usb0/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_usb1/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_usb2/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_usb3/accept_ra 2
- # To prevent out of order acknowledgements from making
- # connection tracking to treat them as not belonging to
- # the connection they belong to.
- # Otherwise, a weird issue happens in which some long
- # connections on high-throughput links get dropped when
- # an ack packet comes out of order
- write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1
- # Set the console loglevel to < KERN_INFO
- # Set the default message loglevel to KERN_INFO
- write /proc/sys/kernel/printk "6 6 1 7"
- chown system /sys/devices/virtual/timed_output/vibrator/vtg_level
- # charger
- chown root system /sys/module/qpnp_charger/parameters/charger_monitor
- chown root system /sys/class/power_supply/battery/input_current_max
- chown root system /sys/class/power_supply/battery/input_current_trim
- chown root system /sys/class/power_supply/battery/voltage_min
- chmod 0644 /sys/module/qpnp_charger/parameters/charger_monitor
- chmod 0644 /sys/class/power_supply/battery/input_current_max
- chmod 0644 /sys/class/power_supply/battery/input_current_trim
- chmod 0644 /sys/class/power_supply/battery/voltage_min
- chown system system /sys/devices/virtual/graphics/fb0/rgb
- chmod 0660 /sys/devices/virtual/graphics/fb0/rgb
- on post-fs
- exec /system/bin/chargemon
- write /sys/class/power_supply/battery/enable_stop_charging_at_low_battery 1
- # Change to socket location on libkeyctrl/suntory for /data encryption
- mkdir /dev/socket/suntory 0755 system system
- # msm specific files that need to be created on /data
- on post-fs-data
- mkdir /data/media 0770 media_rw media_rw
- # Create the directories used by the Wireless subsystem
- mkdir /data/misc/wifi 0770 wifi wifi
- mkdir /data/misc/wifi/sockets 0770 wifi wifi
- mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi
- mkdir /data/misc/dhcp 0770 dhcp dhcp
- # to observe dnsmasq.leases file for dhcp information of soft ap.
- chown dhcp dhcp /data/misc/dhcp
- # Update WIFI MAC address
- mkdir /data/misc/wifi/prima 0775 wifi wifi
- mkdir /data/credmgr 0700 system system
- mkdir /data/tombstones 0755 system system
- mkdir /data/tombstones/vendor 0755 system system
- mkdir /data/pc 0700 radio radio
- mkdir /data/persist 0770 system system
- # Create directory used by audio subsystem
- mkdir /data/misc/audio 0770 audio audio
- # IR Blaster
- chown system system /dev/ttyHSL2
- chmod 0660 /dev/ttyHSL2
- chown system system /sys/devices/platform/ir_remote_control/enable
- chmod 0220 /sys/devices/platform/ir_remote_control/enable
- chmod 0664 /sys/devices/platform/msm_sdcc.1/polling
- chmod 0664 /sys/devices/platform/msm_sdcc.2/polling
- chmod 0664 /sys/devices/platform/msm_sdcc.3/polling
- chmod 0664 /sys/devices/platform/msm_sdcc.4/polling
- # NFC local data and nfcee xml storage
- mkdir /data/nfc 0770 nfc nfc
- mkdir /data/nfc/param 0770 nfc nfc
- # QCOM Sensors
- mkdir /data/system 0775 system system
- mkdir /data/system/sensors 0775 system system
- mkdir /data/misc/sensors 0775 system system
- write /data/system/sensors/settings 1
- chmod 664 /data/system/sensors/settings
- chown system /data/system/sensors/settings
- # Chown polling nodes as needed from UI running on system server
- chown system system /sys/devices/platform/msm_sdcc.1/polling
- chown system system /sys/devices/platform/msm_sdcc.2/polling
- chown system system /sys/devices/platform/msm_sdcc.3/polling
- chown system system /sys/devices/platform/msm_sdcc.4/polling
- chown system system /sys/devices/platform/kgsl-3d0.0/kgsl/kgsl-3d0/pwrscale/policy
- # Create directories for gpsone_daemon services
- mkdir /data/misc/gpsone_d 0770 system gps
- # Create directories for QuIPS
- mkdir /data/misc/quipc 0770 gps system
- # Create directories for Location services
- mkdir /data/misc/location 0770 gps gps
- mkdir /data/misc/location/mq 0770 gps gps
- mkdir /data/misc/location/xtwifi 0770 gps gps
- # Provide the access to hostapd.conf only to root and group
- chmod 0660 /data/hostapd/hostapd.conf
- mkdir /data/audio 0770 media audio
- # Create /data/time folder for time-services
- mkdir /data/time 0700 system system
- # Enable Power save functionality for modem
- setprop persist.radio.add_power_save 1
- chown system /dev/block/platform/msm_sdcc.1/by-name
- setprop vold.post_fs_data_done 1
- rm /data/local/tmp/adreno_config.txt
- # communicate with mpdecision and thermald
- mkdir /dev/socket/mpdecision 0770 system system
- chmod 2770 /dev/socket/mpdecision
- # SONY: Camera
- mkdir /data/camera 0770 media camera
- chown media camera /sys/devices/sony_camera_0/info
- chmod 0770 /sys/devices/sony_camera_0/info
- chown media camera /sys/devices/sony_camera_1/info
- chmod 0770 /sys/devices/sony_camera_1/info
- # Used by taimport for MAC addresses
- mkdir /data/etc
- on charger
- # Enable Power modes and set the CPU Freq Sampling rates
- write /sys/module/lpm_levels/enable_low_power/l2 4
- write /sys/module/msm_pm/modes/cpu0/retention/idle_enabled 1
- write /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled 1
- write /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled 1
- write /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled 1
- write /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled 1
- write /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled 1
- write /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled 1
- write /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled 1
- write /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled 1
- write /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled 1
- write /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled 1
- write /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled 1
- write /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled 1
- write /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled 1
- write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "powersave"
- write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "powersave"
- write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor "powersave"
- write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor "powersave"
- write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 300000
- write /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq 300000
- write /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq 300000
- write /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq 300000
- write /sys/devices/system/cpu/cpu1/online 0
- write /sys/devices/system/cpu/cpu2/online 0
- write /sys/devices/system/cpu/cpu3/online 0
- start mpdecision
- on property:init.svc.bootanim=running
- # Clear Sony boot splash
- write /sys/class/graphics/fb0/blank 1
- write /sys/class/graphics/fb0/blank 0
- on property:service.bootanim.exit=1
- # Enable Power modes and set the CPU Freq Sampling rates
- write /sys/module/lpm_levels/enable_low_power/l2 4
- write /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled 1
- write /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled 1
- write /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled 1
- write /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled 1
- write /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled 1
- write /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled 1
- write /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled 1
- write /sys/module/msm_pm/modes/cpu3/power_collapse/idle_enabled 1
- write /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled 1
- write /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled 1
- write /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled 1
- write /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled 1
- write /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled 1
- write /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled 1
- write /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled 1
- write /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled 1
- write /sys/module/msm_pm/modes/cpu0/retention/idle_enabled 1
- write /sys/module/msm_pm/modes/cpu1/retention/idle_enabled 1
- write /sys/module/msm_pm/modes/cpu2/retention/idle_enabled 1
- write /sys/module/msm_pm/modes/cpu3/retention/idle_enabled 1
- # Set the CPU Freq Sampling rates
- setprop sys.perf.profile 1
- write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 300000
- write /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq 300000
- write /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq 300000
- write /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq 300000
- chown system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
- chown system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
- chown root system /sys/devices/system/cpu/mfreq
- chmod 220 /sys/devices/system/cpu/mfreq
- chown root system /sys/devices/system/cpu/cpu1/online
- chown root system /sys/devices/system/cpu/cpu2/online
- chown root system /sys/devices/system/cpu/cpu3/online
- chmod 664 /sys/devices/system/cpu/cpu1/online
- chmod 664 /sys/devices/system/cpu/cpu2/online
- chmod 664 /sys/devices/system/cpu/cpu3/online
- write /dev/cpuctl/apps/cpu.notify_on_migrate 1
- # Switch to ROW after boot for better UX
- write /sys/block/mmcblk0/queue/scheduler row
- on property:init.svc.wpa_supplicant=stopped
- stop dhcpcd
- # Update Wi-Fi MAC address
- service mac-update /system/bin/mac-update
- class late_start
- user wifi
- oneshot
- service hciattach /system/bin/sh /system/etc/init.qcom.bt.sh
- class late_start
- user bluetooth
- group qcom_oncrpc bluetooth net_bt_admin system
- disabled
- oneshot
- on property:bluetooth.hciattach=true
- start hciattach
- on property:bluetooth.hciattach=false
- setprop bluetooth.status off
- # QMUX must be in multiple groups to support external process connections
- service qmuxd /system/bin/qmuxd
- class main
- user radio
- group radio audio bluetooth gps qcom_diag
- # SONY: TrimArea Daemon
- # Last 2 args: start block(blk size 128k), number of blocks(partitionsize(kb)/128(kb))
- service tad_static /system/bin/tad_static /dev/block/mmcblk0 1,16
- user root
- group root
- socket tad stream 0660 system system
- class core
- service taimport /system/bin/taimport
- class main
- user root
- group system
- service netmgrd /system/bin/netmgrd
- class main
- # start GNS/Sensor interface daemon
- service gsiff_daemon /system/bin/gsiff_daemon
- class late_start
- user gps
- group gps net_raw misc
- on property:sys.boot_completed=1
- write /sys/block/mmcblk0/bdi/read_ahead_kb 512
- service qseecomd /system/bin/qseecomd
- class core
- user root
- group root
- service hw_config /system/bin/sh /system/etc/hw_config.sh
- class main
- user root
- oneshot
- service wpa_supplicant /system/bin/wpa_supplicant \
- -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
- -I/system/etc/wifi/wpa_supplicant_overlay.conf \
- -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0
- # we will start as root and wpa_supplicant will switch to user wifi
- # after setting up the capabilities required for WEXT
- # user wifi
- # group wifi inet keystore
- class main
- socket wpa_wlan0 dgram 660 wifi wifi
- disabled
- oneshot
- service p2p_supplicant /system/bin/wpa_supplicant \
- -ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf \
- -I/system/etc/wifi/p2p_supplicant_overlay.conf -N \
- -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
- -I/system/etc/wifi/wpa_supplicant_overlay.conf \
- -puse_p2p_group_interface=1 \
- -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0
- # we will start as root and wpa_supplicant will switch to user wifi
- # after setting up the capabilities required for WEXT
- # user wifi
- # group wifi inet keystore
- class main
- socket wpa_wlan0 dgram 660 wifi wifi
- disabled
- oneshot
- service dhcpcd_wlan0 /system/bin/dhcpcd -aABDKL
- class main
- disabled
- oneshot
- service dhcpcd_p2p /system/bin/dhcpcd -aABKL
- class main
- disabled
- oneshot
- service iprenew_wlan0 /system/bin/dhcpcd -n
- class main
- disabled
- oneshot
- service iprenew_p2p /system/bin/dhcpcd -n
- class main
- disabled
- oneshot
- service dhcpcd_bt-pan /system/bin/dhcpcd -BKLG
- disabled
- oneshot
- service iprenew_bt-pan /system/bin/dhcpcd -n
- disabled
- oneshot
- on property:ro.data.large_tcp_window_size=true
- # Adjust socket buffer to enlarge TCP receive window for high bandwidth (e.g. DO-RevB)
- write /proc/sys/net/ipv4/tcp_adv_win_scale 2
- # virtual sdcard daemon running as media_rw (1023)
- service sdcard /system/bin/sdcard -u 1023 -g 1023 -l /data/media /mnt/shell/emulated
- class late_start
- service fuse_sdcard1 /system/bin/sdcard -u 1023 -g 1023 -w 1023 /mnt/media_rw/sdcard1 /storage/sdcard1
- class late_start
- disabled
- service fuse_usbdisk /system/bin/sdcard -u 1023 -g 1023 -w 1023 /mnt/media_rw/usbdisk /storage/usbdisk
- class late_start
- disabled
- service mpdecision /system/bin/mpdecision --avg_comp
- class main
- user root
- disabled
- # Start suntrold
- service suntrold /system/bin/suntrold
- user system
- group system
- oneshot
- class main
- # bugreport is triggered by holding down volume down, volume up and power
- service bugreport /system/bin/dumpstate -d -p -B \
- -o /data/data/com.android.shell/files/bugreports/bugreport
- class main
- disabled
- oneshot
- keycodes 114 115 116
- service fm_dl /system/bin/sh /system/etc/init.qcom.fm.sh
- class late_start
- user root
- group system qcom_oncrpc
- disabled
- oneshot
- service scd /system/bin/scd
- class main
- user system
- group system
- # Secure Config Transfer service
- service sct_service /system/bin/sct_service
- user root
- class main
- # Trim Area QMI service
- service ta_qmi_service /system/bin/ta_qmi_service
- user root
- class main
- # Thermal Manager service
- service thermanager /system/bin/thermanager /system/etc/thermanager.xml
- class main
- user root
- group root
- service rmt_storage /system/bin/rmt_storage
- class core
- user root
- service irsc_util /system/bin/irsc_util "/etc/sec_config"
- class main
- user root
- oneshot
- service qcamerasvr /system/bin/mm-qcamera-daemon
- class late_start
- user camera
- group camera system inet input
- service sensors /system/bin/sensors.qcom
- class main
- user root
- group sensors radio system
- service wcnss-service /system/bin/wcnss_service
- class late_start
- user system
- group system wifi
- disabled
- oneshot
- service time_daemon /system/bin/time_daemon
- class late_start
- user root
- group root radio qcom_diag
- service ptt_socket_app /system/bin/ptt_socket_app
- class main
- user system
- group system
- oneshot
- # create filesystem if necessary
- service setup_fs /system/bin/setup_fs /dev/block/platform/msm_sdcc.1/by-name/userdata
- class core
- user root
- group root
- oneshot
- service charger /sbin/healthd -c
- class charger
- seclabel u:r:healthd:s0
- # Powersave
- on property:sys.perf.profile=0
- stop mpdecision
- write /sys/module/msm_thermal/core_control/enabled 0
- write /sys/devices/system/cpu/cpu0/online 1
- write /sys/devices/system/cpu/cpu1/online 1
- write /sys/devices/system/cpu/cpu2/online 1
- write /sys/devices/system/cpu/cpu3/online 1
- write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "conservative"
- write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "conservative"
- write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor "conservative"
- write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor "conservative"
- write /sys/class/kgsl/kgsl-3d0/devfreq/governor "msm-adreno-tz"
- write /sys/module/msm_thermal/core_control/enabled 1
- start mpdecision
- # Balanced
- on property:sys.perf.profile=1
- stop mpdecision
- write /sys/module/msm_thermal/core_control/enabled 0
- write /sys/devices/system/cpu/cpu0/online 1
- write /sys/devices/system/cpu/cpu1/online 1
- write /sys/devices/system/cpu/cpu2/online 1
- write /sys/devices/system/cpu/cpu3/online 1
- write /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay "20000 1400000:40000 1700000:20000"
- write /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load 90
- write /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq 1497600
- write /sys/devices/system/cpu/cpufreq/interactive/io_is_busy 1
- write /sys/devices/system/cpu/cpufreq/interactive/target_loads "85 1500000:90 1800000:70"
- write /sys/devices/system/cpu/cpufreq/interactive/min_sample_time 40000
- write /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor 100000
- write /sys/module/cpu_boost/parameters/boost_ms 20
- write /sys/module/cpu_boost/parameters/sync_threshold 1728000
- write /sys/module/cpu_boost/parameters/input_boost_freq 1497600
- write /sys/module/cpu_boost/parameters/input_boost_ms 40
- write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "interactive"
- write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "interactive"
- write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor "interactive"
- write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor "interactive"
- write /sys/class/kgsl/kgsl-3d0/devfreq/governor "msm-adreno-tz"
- write /sys/module/msm_thermal/core_control/enabled 1
- start mpdecision
- # High performance
- on property:sys.perf.profile=2
- stop mpdecision
- write /sys/devices/system/cpu/cpu0/online 1
- write /sys/devices/system/cpu/cpu1/online 1
- write /sys/devices/system/cpu/cpu2/online 1
- write /sys/devices/system/cpu/cpu3/online 1
- write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "performance"
- write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "performance"
- write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor "performance"
- write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor "performance"
- write /sys/class/kgsl/kgsl-3d0/devfreq/governor "performance"