hackedteam/core-android-audiocapture

View on GitHub
dbi_release/hijack/init_note2.rc

Summary

Maintainability
Test Coverage
# Copyright (C) 2012 The Android Open Source Project
#
# IMPORTANT: Do not create world writable files or directories.
# This is a common source of Android security bugs.
#

import /init.${ro.hardware}.rc
import /init.usb.rc
import /init.trace.rc

on early-init
    # Set init and its forked children's oom_adj.
    write /proc/1/oom_adj -16

    symlink /efs /factory
    start ueventd

# create mountpoints
    mkdir /mnt 0775 root system



on init

sysclktz 0

loglevel 3

# setup the global environment
    export PATH /sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
    export LD_LIBRARY_PATH /vendor/lib:/system/lib
    export ANDROID_BOOTLOGO 1
    export ANDROID_ROOT /system
    export ANDROID_ASSETS /system/app
    export ANDROID_DATA /data
    export ASEC_MOUNTPOINT /mnt/asec
    export LOOP_MOUNTPOINT /mnt/obb
    export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/framework2.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/sec_edm.jar:/system/framework/seccamera.jar
#WTL_EDM
# Backward compatibility
    symlink /system/etc /etc
    symlink /sys/kernel/debug /d


# Right now vendor lives on the same filesystem as system,
# but someday that may change.
    symlink /system/vendor /vendor

# Create cgroup mount point for cpu accounting
    mkdir /acct
    mount cgroup none /acct cpuacct
    mkdir /acct/uid

    mkdir /system
    mkdir /data 0771 system system
    mkdir /cache 0770 system cache
    mkdir /config 0500 root root

    # Directory for putting things only root should see.
    mkdir /mnt/secure 0700 root root

    # Directory for staging bindmounts
    mkdir /mnt/secure/staging 0700 root root

    # Directory-target for where the secure container
    # imagefile directory will be bind-mounted
    mkdir /mnt/secure/asec  0700 root root

    # Secure container public mount points.
    mkdir /mnt/asec  0700 root system
    mount tmpfs tmpfs /mnt/asec mode=0755,gid=1000

    # Filesystem image public mount points.
    mkdir /mnt/obb 0700 root system
    mount tmpfs tmpfs /mnt/obb mode=0755,gid=1000

    write /proc/sys/kernel/panic_on_oops 1
    write /proc/sys/kernel/hung_task_timeout_secs 0
    write /proc/cpu/alignment 4
    write /proc/sys/kernel/sched_latency_ns 10000000
    write /proc/sys/kernel/sched_wakeup_granularity_ns 2000000
    write /proc/sys/kernel/sched_compat_yield 1
    write /proc/sys/kernel/sched_child_runs_first 0
    write /proc/sys/kernel/randomize_va_space 2
    write /proc/sys/kernel/kptr_restrict 2
    write /proc/sys/kernel/dmesg_restrict 1
    write /proc/sys/vm/mmap_min_addr 32768
    write /proc/sys/kernel/sched_rt_runtime_us 950000
    write /proc/sys/kernel/sched_rt_period_us 1000000

# Create cgroup mount points for process groups
    mkdir /dev/cpuctl
    mount cgroup none /dev/cpuctl cpu
    chown system system /dev/cpuctl
    chown system system /dev/cpuctl/tasks
    chmod 0660 /dev/cpuctl/tasks
    write /dev/cpuctl/cpu.shares 1024
    write /dev/cpuctl/cpu.rt_runtime_us 950000
    write /dev/cpuctl/cpu.rt_period_us 1000000

    mkdir /dev/cpuctl/apps
    chown system system /dev/cpuctl/apps/tasks
    chmod 0666 /dev/cpuctl/apps/tasks
    write /dev/cpuctl/apps/cpu.shares 1024
    write /dev/cpuctl/apps/cpu.rt_runtime_us 800000
    write /dev/cpuctl/apps/cpu.rt_period_us 1000000

    mkdir /dev/cpuctl/apps/bg_non_interactive
    chown system system /dev/cpuctl/apps/bg_non_interactive/tasks
    chmod 0666 /dev/cpuctl/apps/bg_non_interactive/tasks
    # 5.0 %
    write /dev/cpuctl/apps/bg_non_interactive/cpu.shares 52
    write /dev/cpuctl/apps/bg_non_interactive/cpu.rt_runtime_us 700000
    write /dev/cpuctl/apps/bg_non_interactive/cpu.rt_period_us 1000000

# Allow everybody to read the xt_qtaguid resource tracking misc dev.
# This is needed by any process that uses socket tagging.
    chmod 0644 /dev/xt_qtaguid

# ko files for exfat
    insmod /lib/modules/exfat_core.ko
    insmod /lib/modules/exfat_fs.ko

on fs
# mount mtd partitions
    # Mount /system rw first to give the filesystem a chance to save a checkpoint
    mount yaffs2 mtd@system /system
    mount yaffs2 mtd@system /system ro remount
    mount yaffs2 mtd@userdata /data nosuid nodev
    mount yaffs2 mtd@cache /cache nosuid nodev

on post-fs
    # once everything is setup, no need to modify /
    mount rootfs rootfs / ro remount

    # We chown/chmod /cache again so because mount is run as root + defaults
    chown system cache /cache
    chmod 0770 /cache

    # This may have been created by the recovery system with odd permissions
    chown system cache /cache/recovery
    chmod 0770 /cache/recovery

    #change permissions on vmallocinfo so we can grab it from bugreports
    chown root log /proc/vmallocinfo
    chmod 0440 /proc/vmallocinfo

    #change permissions on kmsg & sysrq-trigger so bugreports can grab kthread stacks
    chown root system /proc/kmsg
    chmod 0440 /proc/kmsg
    chown root system /proc/sysrq-trigger
    chmod 0220 /proc/sysrq-trigger

    # create the lost+found directories, so as to enforce our permissions
    mkdir /cache/lost+found 0770 root root

on post-fs-data
    # We chown/chmod /data again so because mount is run as root + defaults
    chown system system /data
    chmod 0771 /data

    # Create dump dir and collect dumps.
    # Do this before we mount cache so eventually we can use cache for
    # storing dumps on platforms which do not have a dedicated dump partition.
    mkdir /data/dontpanic 0750 root log

    # Collect apanic data, free resources and re-arm trigger
    copy /proc/apanic_console /data/dontpanic/apanic_console
    chown root log /data/dontpanic/apanic_console
    chmod 0640 /data/dontpanic/apanic_console

    copy /proc/apanic_threads /data/dontpanic/apanic_threads
    chown root log /data/dontpanic/apanic_threads
    chmod 0640 /data/dontpanic/apanic_threads

    write /proc/apanic_console 1

    # create basic filesystem structure
    mkdir /data/misc 01771 system misc
    mkdir /data/misc/bluetoothd 0770 bluetooth bluetooth
    mkdir /data/misc/bluetooth 0770 system system
    mkdir /data/misc/keystore 0700 keystore keystore
    mkdir /data/misc/keychain 0771 system system
    mkdir /data/misc/vpn 0770 system vpn
    mkdir /data/misc/systemkeys 0700 system system
    mkdir /data/misc/radio 0775 radio system
    # give system access to wpa_supplicant.conf for backup and restore
    mkdir /data/misc/wifi 0770 wifi wifi
    chmod 0660 /data/misc/wifi/wpa_supplicant.conf
    mkdir /data/local 0751 root root

    # For security reasons, /data/local/tmp should always be empty.
    # Do not place files or directories in /data/local/tmp
    mkdir /data/local/tmp 0771 shell shell
    mkdir /data/data 0771 system system
    mkdir /data/app-private 0771 system system
    mkdir /data/app-asec 0700 root root
    mkdir /data/app 0771 system system
    mkdir /data/property 0700 root root
    mkdir /data/ssh 0750 root shell
    mkdir /data/ssh/empty 0700 root root

    # SA, System SW, SAMSUNG create log directory
    mkdir /data/log 0775 system log
    chown system log /data/log

    chmod 0775 /data/log
    chmod 0775 /data/anr


    # create dalvik-cache, so as to enforce our permissions
    mkdir /data/dalvik-cache 0771 system system

    # create resource-cache and double-check the perms
    mkdir /data/resource-cache 0771 system system
    chown system system /data/resource-cache
    chmod 0771 /data/resource-cache

    # create the lost+found directories, so as to enforce our permissions
    mkdir /data/lost+found 0770 root root

    # create directory for DRM plug-ins - give drm the read/write access to
    # the following directory.
    mkdir /data/drm 0770 drm drm


# create data/gps for GPS daemon
    chown root system /dev/ttySAC1
    chmod 0660 /dev/ttySAC1
    chown root system /sys/class/sec/gps/GPS_PWR_EN/value
    chmod 0664 /sys/class/sec/gps/GPS_PWR_EN/value
    chown root system /sys/class/sec/gps/GPS_nRST/value
    chmod 0664 /sys/class/sec/gps/GPS_nRST/value
    mkdir /data/gps 771 system system
    chown system system /data/gps

# 3LM settings
    setprop ro.3lm.production 1
    setprop ro.3LM.extended 1

#[ SEC_MM_DRM

    # [ save OMA DB, when upgrading from GB to ICS
    mkdir /data/system/databases 0771 system system
    copy /data/data/com.sec.android.providers.drm/databases/drmdatabase.db /data/system/databases/drmdatabase.db
    chown system system /data/system/databases/drmdatabase.db
    chmod 0774 /data/system/databases/drmdatabase.db
    # ]

    # DRM directory creation
    mkdir /system/etc/security/.drm 0775
    chown root root /system/etc/security/.drm
    chmod 0775 /system/etc/security/.drm

    # Added for Playready DRM Support
    mkdir /data/data/.drm 0775
    chown drm system /data/data/.drm
    chmod 0775 /data/data/.drm
    mkdir /data/data/.drm/.playready 0775
    chown drm system /data/data/.drm/.playready
    chmod 0775 /data/data/.drm/.playready

    # TZPR 1
    mkdir /system/etc/security/.drm/ext1 0775
    chown root root /system/etc/security/.drm/ext1
    chmod 0775 /system/etc/security/.drm/ext1

    # TZPR 2
    mkdir /efs/drm 0775
    chown drm system /efs/drm
    chmod 0775 /efs/drm
    mkdir /efs/drm/playready 0775
    chown drm system /efs/drm/playready
    chmod 0775 /efs/drm/playready

    # Added drm folder to copy drm plugins
    mkdir /system/lib/drm 0775
    chown root root /system/lib/drm
    chmod 0775 /system/lib/drm

    # DivX DRM
    mkdir /efs/.files 0775
    mkdir /efs/.files/.dx1 0775
    mkdir /efs/.files/.dm33 0775
    mkdir /efs/.files/.mp301 0775
    chown media system /efs/.files/.dx1
    chown media system /efs/.files/.dm33
    chown media system /efs/.files/.mp301
    chmod 0775 /efs/.files/.dx1
    chmod 0775 /efs/.files/.dm33
    chmod 0775 /efs/.files/.mp301
#]
    # If there is no fs-post-data action in the init.<device>.rc file, you
    # must uncomment this line, otherwise encrypted filesystems
    # won't work.
    # Set indication (checked by vold) that we have finished this action
    #setprop vold.post_fs_data_done 1

# MTP permission
    chmod 0660 /dev/usb_mtp_gadget
    chown system system /dev/usb_mtp_gadget

# terminal mode
    chmod 0660 /sys/class/android_usb/android0/terminal_version
    chown system system /sys/class/android_usb/android0/terminal_version

on boot
    mount debugfs /sys/kernel/debug /sys/kernel/debug

# Camera
    mkdir /data/cfw 0775 system system
# basic network init
    ifup lo
    hostname localhost
    domainname localdomain

# set RLIMIT_NICE to allow priorities from 19 to -20
    setrlimit 13 40 40

# Memory management.  Basic kernel parameters, and allow the high
# level system server to be able to adjust the kernel OOM driver
# parameters to match how it is managing things.
    write /proc/sys/vm/overcommit_memory 1
    write /proc/sys/vm/min_free_order_shift 4
    chown root system /sys/module/lowmemorykiller/parameters/adj
    chmod 0664 /sys/module/lowmemorykiller/parameters/adj
    chown root system /sys/module/lowmemorykiller/parameters/minfree
    chmod 0664 /sys/module/lowmemorykiller/parameters/minfree

    # Tweak background writeout
    write /proc/sys/vm/dirty_expire_centisecs 200
    write /proc/sys/vm/dirty_background_ratio  5

    # Permissions for System Server and daemons.
    chown radio system /sys/android_power/state
    chown radio system /sys/android_power/request_state
    chown radio system /sys/android_power/acquire_full_wake_lock
    chown radio system /sys/android_power/acquire_partial_wake_lock
    chown radio system /sys/android_power/release_wake_lock
    chown radio system /sys/power/state
    chown system system /sys/power/wakeup_count
    chown radio system /sys/power/wake_lock
    chown radio system /sys/power/wake_unlock
    chmod 0660 /sys/power/state
    chmod 0660 /sys/power/wake_lock
    chmod 0660 /sys/power/wake_unlock

    chown radio system /sys/power/cpufreq_table
    chown radio system /sys/power/cpufreq_max_limit
    chown radio system /sys/power/cpufreq_min_limit
    chown radio system /sys/power/mali_lock
    chown radio system /sys/devices/system/cpu/cpufreq/pegasusq/max_cpu_lock
    chown radio system /sys/devices/system/cpu/cpufreq/pegasusq/min_cpu_lock
    chown radio system /sys/devices/system/cpu/cpufreq/pegasusq/hotplug_lock
    chown radio system /sys/devices/system/cpu/busfreq/curr_freq
    chown radio system /sys/devices/system/cpu/busfreq/dmc_max_threshold
    chown radio system /sys/module/mali/parameters/mali_dvfs_control
    chown system radio /sys/bus/platform/devices/s5p-tmu/lot_id
    chmod 0660 /sys/power/cpufreq_table
    chmod 0660 /sys/power/cpufreq_max_limit
    chmod 0660 /sys/power/cpufreq_min_limit
    chmod 0660 /sys/power/mali_lock
    chmod 0660 /sys/class/power_supply/battery/siop_activated
    chmod 0660 /sys/class/power_supply/battery/siop_level
    chmod 0660 /sys/devices/system/cpu/cpufreq/pegasusq/max_cpu_lock
    chmod 0660 /sys/devices/system/cpu/cpufreq/pegasusq/min_cpu_lock
    chmod 0660 /sys/devices/system/cpu/cpufreq/pegasusq/hotplug_lock
    chmod 0660 /sys/devices/system/cpu/busfreq/curr_freq
    chmod 0660 /sys/devices/system/cpu/busfreq/dmc_max_threshold
    chmod 0660 /sys/module/mali/parameters/mali_dvfs_control
    chmod 0664 /sys/bus/platform/devices/s5p-tmu/lot_id

    #chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_rate
    #chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_rate
    #chown system system /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
    #chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
    #chown system system /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
    #chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
    #chown system system /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
    #chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
    #chown system system /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
    #chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
    #chown system system /sys/devices/system/cpu/cpufreq/interactive/boost
    #chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost
    #chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse
    #chown system system /sys/devices/system/cpu/cpufreq/interactive/input_boost
    #chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/input_boost

    # Assume SMP uses shared cpufreq policy for all CPUs
    chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
    chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq

    chown system system /sys/class/timed_output/vibrator/enable
    chown system system /sys/class/leds/keyboard-backlight/brightness
    chown system system /sys/class/leds/lcd-backlight/brightness
    chown system system /sys/class/leds/button-backlight/brightness
    chown system system /sys/class/leds/jogball-backlight/brightness
    chown system system /sys/class/leds/red/brightness
    chown system system /sys/class/leds/green/brightness
    chown system system /sys/class/leds/blue/brightness
    chown system system /sys/class/leds/red/device/grpfreq
    chown system system /sys/class/leds/red/device/grppwm
    chown system system /sys/class/leds/red/device/blink
    chown system system /sys/class/leds/red/brightness
    chown system system /sys/class/leds/green/brightness
    chown system system /sys/class/leds/blue/brightness
    chown system system /sys/class/leds/red/device/grpfreq
    chown system system /sys/class/leds/red/device/grppwm
    chown system system /sys/class/leds/red/device/blink
    chown system system /sys/class/timed_output/vibrator/enable
    chown system system /sys/module/sco/parameters/disable_esco
    chown system system /sys/kernel/ipv4/tcp_wmem_min
    chown system system /sys/kernel/ipv4/tcp_wmem_def
    chown system system /sys/kernel/ipv4/tcp_wmem_max
    chown system system /sys/kernel/ipv4/tcp_rmem_min
    chown system system /sys/kernel/ipv4/tcp_rmem_def
    chown system system /sys/kernel/ipv4/tcp_rmem_max
    chown root radio /proc/cmdline

# Audio (Earjack)
    chown system radio /sys/class/audio/earjack/select_jack
    chown system radio /sys/class/audio/earjack/key_state
    chown system radio /sys/class/audio/earjack/state
    chown media system /sys/class/audio/earjack/reselect_jack

# Battery node
    chown system radio /sys/class/power_supply/battery/batt_charging_source
    chown system radio /sys/class/power_supply/battery/batt_error_test
    chown system radio /sys/class/power_supply/battery/batt_lp_charging
    chown system radio /sys/class/power_supply/battery/batt_read_adj_soc
    chown system radio /sys/class/power_supply/battery/batt_read_raw_soc
    chown system radio /sys/class/power_supply/battery/batt_reset_soc
    chown system radio /sys/class/power_supply/battery/batt_slate_mode
    chown system radio /sys/class/power_supply/battery/batt_temp_adc
    chown system radio /sys/class/power_supply/battery/batt_temp_adc_aver
    chown system radio /sys/class/power_supply/battery/batt_temp_adc_cal
    chown system radio /sys/class/power_supply/battery/batt_temp_aver
    chown system radio /sys/class/power_supply/battery/batt_type
    chown system radio /sys/class/power_supply/battery/batt_vf_adc
    chown system radio /sys/class/power_supply/battery/batt_vfocv
    chown system radio /sys/class/power_supply/battery/batt_vol_adc
    chown system radio /sys/class/power_supply/battery/batt_vol_adc_aver
    chown system radio /sys/class/power_supply/battery/batt_vol_adc_cal
    chown system radio /sys/class/power_supply/battery/batt_vol_aver
    chown system radio /sys/class/power_supply/battery/factory_mode
    chown system radio /sys/class/power_supply/battery/siop_activated
    chown system radio /sys/class/power_supply/battery/siop_level
    chown system radio /sys/class/power_supply/battery/update
    chown system radio /sys/class/power_supply/battery/wc_status
    chown system radio /sys/class/power_supply/battery/wpc_pin_state

# CTIA event
   chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/call
   chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/video
   chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/music
   chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/browser
   chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/hotspot
   chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/camera
   chown system radio /sys/class/power_supply/battery/talk_wcdma
   chown system radio /sys/class/power_supply/battery/talk_gsm
   chown system radio /sys/class/power_supply/battery/call
   chown system radio /sys/class/power_supply/battery/data_call
   chown gps radio /sys/class/power_supply/battery/gps
   chown system radio /sys/class/power_supply/battery/wifi
   chown system radio /sys/class/power_supply/battery/lte

# Thermistor node
    chown radio system /sys/devices/platform/sec-thermistor/temp_adc
    chown radio system /sys/devices/platform/sec-thermistor/temperature

# Permissions for touch
    chown system radio /sys/class/sec/tsp/cmd

# Permissions for WACOM
    chown system radio /sys/class/sec/sec_epen/epen_firm_update
    chown system radio /sys/class/sec/sec_epen/epen_rotation
    chown system radio /sys/class/sec/sec_epen/epen_hand
    chown system radio /sys/class/sec/sec_epen/epen_reset
    chown system radio /sys/class/sec/sec_epen/epen_reset_result
    chown system radio /sys/class/sec/sec_epen/epen_checksum
    chown system radio /sys/class/sec/sec_epen/epen_checksum_result
    chown system radio /sys/class/sec/sec_epen/epen_saving_mode
# Firmware update
    write /sys/class/sec/sec_epen/epen_firm_update R

# Permissions for Touchkey
    chown system radio /sys/class/sec/sec_touchkey/enable_disable
    chown system radio /sys/class/sec/sec_touchkey/touchkey_brightness
    chown system radio /sys/class/sec/sec_touchkey/touchkey_menu
    chown system radio /sys/class/sec/sec_touchkey/touchkey_back
    chown system radio /sys/class/sec/sec_touchkey/touch_update
    chown system radio /sys/class/sec/sec_touchkey/touch_version
    chown system radio /sys/class/sec/sec_touchkey/touchkey_firm_version_panel
    chown system radio /sys/class/sec/sec_touchkey/touchkey_firm_version_phone
    chown system radio /sys/class/sec/sec_touchkey/touchkey_firm_update_status
    chown system radio /sys/class/sec/sec_touchkey/touchkey_firm_update
    chown system radio /sys/class/sec/sec_touchkey/touch_sensitivity
    chown system radio /sys/class/sec/sec_touchkey/touchkey_threshold
    chown system system /sys/devices/virtual/sec/sec_touchkey/brightness

# Permissions for gpio_keys
    chown radio system /sys/class/sec/sec_key/wakeup_keys
    write /sys/class/sec/sec_key/wakeup_keys 116,172,544

# Permissions for Camera
    chown system radio /sys/class/camera/rear/rear_camfw
    chown system radio /sys/class/camera/rear/rear_camtype
    chown system radio /sys/class/camera/rear/rear_flash
    chown system radio /sys/class/camera/rear/isp_core
    chown system radio /sys/class/camera/front/front_camfw
    chown system radio /sys/class/camera/front/front_camtype
    chown system radio /sys/class/camera/flash/rear_flash
    chown radio system /sys/devices/platform/samsung-pd.5/s3c-fimc.2/range_mode
    chmod 0660 /sys/devices/platform/samsung-pd.5/s3c-fimc.2/range_mode

# Switch Device
    chown system radio /sys/class/sec/switch/uart_sel
    chown system radio /sys/class/sec/switch/usb_sel

# Permissions for SVC LED
    chown system system /sys/class/sec/led/led_r
    chown system system /sys/class/sec/led/led_g
    chown system system /sys/class/sec/led/led_b
    chown system system /sys/class/leds/led_r/brightness
    chown system system /sys/class/leds/led_g/brightness
    chown system system /sys/class/leds/led_b/brightness
    chown system system /sys/class/leds/led_r/delay_on
    chown system system /sys/class/leds/led_g/delay_on
    chown system system /sys/class/leds/led_b/delay_on
    chown system system /sys/class/leds/led_r/delay_off
    chown system system /sys/class/leds/led_g/delay_off
    chown system system /sys/class/leds/led_b/delay_off
    chown system system /sys/class/leds/led_r/blink
    chown system system /sys/class/leds/led_g/blink
    chown system system /sys/class/leds/led_b/blink
    chown system system /sys/class/sec/led/led_pattern
    chown system system /sys/class/sec/led/led_blink
    chown system system /sys/class/sec/led/led_br_lev
    chown system system /sys/class/sec/led/led_lowpower

# Vibetonz
    chmod 0660 /dev/tspdrv
    chown root shell /dev/tspdrv

# for datarouter
    chown system system /dev/dun
    chown system system /dev/ttyGS0
    chown system system /dev/ttyGS1
    chown system system /dev/ttyGS2
    chown system system /dev/ttyGS3

# Define TCP buffer sizes for various networks
#   ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
    setprop net.tcp.buffersize.default 4096,87380,110208,4096,16384,110208
    setprop net.tcp.buffersize.wifi    524288,1048576,2097152,262144,524288,1048576
    setprop net.tcp.buffersize.lte     524288,1048576,2560000,262144,524288,1220608
    setprop net.tcp.buffersize.umts    4094,87380,110208,4096,16384,110208
    setprop net.tcp.buffersize.hspa    4092,87380,704512,4096,16384,262144
    setprop net.tcp.buffersize.hsupa   4092,87380,704512,4096,16384,262144
    setprop net.tcp.buffersize.hsdpa   4092,87380,704512,4096,16384,110208
    setprop net.tcp.buffersize.hspap   4092,87380,704512,4096,16384,262144
    setprop net.tcp.buffersize.edge    4093,26280,35040,4096,16384,35040
    setprop net.tcp.buffersize.gprs    4092,8760,11680,4096,8760,11680
    setprop net.tcp.buffersize.evdo_b  4094,87380,262144,4096,16384,262144

# wifi display
    write /proc/sys/net/core/wmem_max   2097152
    chmod 0666 /dev/graphics/fb5

# permission for HDMI audio path
    chown media audio /sys/class/hdmi_audio/hdmi_audio/hdmi_audio_set_ext

# Set this property so surfaceflinger is not started by system_init
    setprop system_init.startsurfaceflinger 0

# icd
    exec icd_check
    chown system system /dev/icd
    chmod 0644 /dev/icd
    write /dev/icdr 0
    chown system system /dev/icdr
    chmod 0644 /dev/icdr
    chown system system /dev/tzic

# HDCP 2.x
    mkdir /data/system/hdcp2 0775 system system

# h2k permission
    chown radio system /efs/redata.bin
    chmod 0644 /efs/h2k.dat
    mkdir /data/misc/radio/hatp 0775 radio system

    class_start core
    class_start main

# Init Compcache by taejin5.park
    chmod 0664 /sys/class/lmk/lowmemorykiller/lmk_state
    chown system system /sys/class/lmk/lowmemorykiller/lmk_state
    chmod 0664 /sys/block/zram0/disksize
    chown system system /sys/block/zram0/disksize
    write /sys/block/zram0/disksize 209715200
    chmod 0664 /sys/block/zram0/initstate
    chown system system /sys/block/zram0/initstate
    write /sys/block/zram0/initstate 1

on nonencrypted
    class_start late_start

on charger
    class_start charger

on property:vold.decrypt=trigger_reset_main
    class_reset main

on property:vold.decrypt=trigger_load_persist_props
    load_persist_props

on property:vold.decrypt=trigger_post_fs_data
    trigger post-fs-data

on property:vold.decrypt=trigger_restart_min_framework
    class_start main

on property:vold.decrypt=trigger_restart_framework
    class_start main
    class_start late_start

on property:vold.decrypt=trigger_shutdown_framework
    class_reset late_start
    class_reset main

## Daemon processes to be run by init.
##
service ueventd /sbin/ueventd
    class core
    critical

service console /system/bin/sh
    class core
    console
    disabled
    group log

service console_user /system/bin/sh
    class core
    console
    disabled
    user shell
    group shell log

on property:ro.debuggable=1
    start console

on property:ro.debuggable=0
    start console_user

# adbd is controlled via property triggers in init.<platform>.usb.rc
service adbd /sbin/adbd
    class core
    disabled

# adbd on at boot in emulator
on property:ro.kernel.qemu=1
    start adbd





service servicemanager /system/bin/servicemanager
    class core
    user system
    group system
    critical
    onrestart restart zygote
    onrestart restart media
    onrestart restart surfaceflinger
    onrestart restart drm

service vold /system/bin/vold
    class core
    socket vold stream 0660 root mount
    ioprio be 2
    socket dir_enc_report stream 0660 root mount

service netd /system/bin/netd
    class main
    socket netd stream 0660 root system
    socket dnsproxyd stream 0660 root inet
    socket mdns stream 0660 root system

service debuggerd /system/bin/debuggerd
    class main

service DR-daemon /system/bin/ddexe
    class main
    user root
    group system radio inet net_raw

service KIES-daemon /system/bin/kiesexe
    class main
    user root
    group system radio inet net_raw

service SMD-daemon /system/bin/smdexe
    class main
    user root
    group system radio inet net_raw

service DTT-daemon /system/bin/dttexe
    class main
    user root
    group system radio inet net_raw

service BCS-daemon /system/bin/connfwexe
    class main
    user root
    group system radio inet net_raw

service mobex-daemon /system/bin/npsmobex
    class main
    user system
    group system radio inet sdcard_rw

service surfaceflinger /system/bin/surfaceflinger
    class main
    user system
    group graphics
    onrestart restart zygote

service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server
    class main
    socket zygote stream 660 root system
    onrestart write /sys/android_power/request_state wake
    onrestart write /sys/power/state on
    onrestart restart media
    onrestart restart netd
    onrestart restart gsiff_daemon

service drm /system/bin/drmserver
    class main
    user drm
# [ SEC_MM_DRM
# fix
    group system drm inet drmrpc sdcard_rw media_rw sdcard_r radio
# org
#   group drm system inet drmrpc sdcard_r
# ]

service media /system/bin/mediaserver
    class main
    user media
    group system audio camera inet net_bt net_bt_admin net_bw_acct drmrpc sdcard_rw sdcard_r skt lgt_gid media_rw
    ioprio rt 4

service powersnd /system/bin/samsungpowersoundplay
    class main
    user media
    group system
    disabled
    oneshot

service bootanim /system/bin/bootanimation
    class main
    user graphics
    group graphics
    disabled
    oneshot

service samsungani /system/bin/samsungani
    class main
    user graphics
    group graphics
    disabled
    oneshot

service dbus /system/bin/dbus-daemon --system --nofork
    class main
    socket dbus stream 660 bluetooth bluetooth
    user bluetooth
    group bluetooth net_bt_admin

service bluetoothd /system/bin/logwrapper /system/bin/bluetoothd -n -d
    class main
    socket bluetooth stream 660 bluetooth bluetooth
    socket dbus_bluetooth stream 660 bluetooth bluetooth
    # init.rc does not yet support applying capabilities, so run as root and
    # let bluetoothd drop uid to bluetooth with the right linux capabilities
    group bluetooth net_bt_admin misc
    disabled

# Bluetooth PAN
service dhcpcd_bnep0 /system/bin/dhcpcd -ABKL
    class main
    disabled
    oneshot

service iprenew_bnep0 /system/bin/dhcpcd -n
    class main
    disabled
    oneshot

service installd /system/bin/installd
    class main
    socket installd stream 600 system system

service flash_recovery /system/etc/install-recovery.sh
    class main
    oneshot

service racoon /system/bin/racoon
    class main
    socket racoon stream 600 system system
    # IKE uses UDP port 500. Racoon will setuid to vpn after binding the port.
    group vpn net_admin inet
    disabled
    oneshot

service mtpd /system/bin/mtpd
    class main
    socket mtpd stream 600 system system
    user vpn
    group vpn net_admin inet net_raw
    disabled
    oneshot

service keystore /system/bin/keystore /data/misc/keystore
    class main
    user keystore
    group keystore drmrpc
    socket keystore stream 666

service dumpstate /system/bin/dumpstate -s
    class main
    socket dumpstate stream 0660 shell log
    disabled
    oneshot

# Vibetonz
service immvibed /system/bin/immvibed
    class core
    user shell
    group shell
    oneshot

# service for TZPR provisioning version check app
service scranton_RD /system/bin/scranton_RD
    class main
    user root
    disabled
    oneshot

# start for TZPR provisioning version check app
on property:sys.mobicoredaemon.enable=true
    start scranton_RD

service sshd /system/bin/start-ssh
    class main
    disabled

service mdnsd /system/bin/mdnsd
    class main
    user mdnsr
    group inet net_raw
    socket mdnsd stream 0660 mdnsr inet
    disabled
    oneshot

# SA, System SW, SAMSUNG
service bugreport /system/bin/bugmailer.sh -v
    class main
    disabled
    oneshot
    keycodes 114 115 116

# icd
service icd /system/bin/icd
    class main
    user system
    group system log
    onrestart exec icd_check
    oneshot

on property:ro.dumpstate.dmesg=1
    write /proc/sys/kernel/dmesg_restrict 0

on property:init.svc.media=restarting
    exec icd_check
    start icd