Initial common device tree

This commit is contained in:
Astrako 2019-11-17 18:53:04 +01:00
commit 765503ce5e
71 changed files with 22665 additions and 0 deletions

88
rootdir/Android.mk Normal file
View file

@ -0,0 +1,88 @@
#
# Copyright (C) 2019 The LineageOS Project
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := fstab.samsungexynos7870
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/fstab.samsungexynos7870
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.baseband.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.baseband.rc
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.rilchip.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.rilchip.rc
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.rilcommon.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.rilcommon.rc
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.samsung.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.samsung.rc
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.samsungexynos7870.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.samsungexynos7870.rc
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.samsungexynos7870.usb.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.samsungexynos7870.usb.rc
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.wifi.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.wifi.rc
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := ueventd.samsungexynos7870.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_STEM := ueventd.rc
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/ueventd.samsungexynos7870.rc
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)
include $(BUILD_PREBUILT)

View file

@ -0,0 +1,21 @@
# 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/platform/13540000.dwmmc0/by-name/BOOT /boot emmc defaults defaults
/dev/block/platform/13540000.dwmmc0/by-name/RECOVERY /recovery emmc defaults defaults
/dev/block/platform/13540000.dwmmc0/by-name/SYSTEM /system ext4 ro,errors=panic wait,recoveryonly
/dev/block/platform/13540000.dwmmc0/by-name/VENDOR /vendor ext4 ro,errors=panic wait,recoveryonly
/dev/block/platform/13540000.dwmmc0/by-name/CACHE /cache ext4 nosuid,nodev,noatime,noauto_da_alloc,discard,journal_async_commit,errors=panic wait,check
/dev/block/platform/13540000.dwmmc0/by-name/CACHE /cache f2fs nosuid,nodev,noatime,rw,inline_xattr wait,check,formattable
/dev/block/platform/13540000.dwmmc0/by-name/USERDATA /data ext4 nosuid,nodev,noatime,noauto_da_alloc,discard,journal_async_commit,errors=panic wait,check,formattable,encryptable=footer,length=-16384
/dev/block/platform/13540000.dwmmc0/by-name/USERDATA /data f2fs nosuid,nodev,noatime,rw,inline_xattr wait,check,formattable,encryptable=footer,length=-16384
/dev/block/platform/13540000.dwmmc0/by-name/EFS /efs ext4 nosuid,nodev,noatime,noauto_da_alloc,discard,journal_async_commit,errors=panic wait,check
/dev/block/platform/13540000.dwmmc0/by-name/CPEFS /cpefs ext4 noatime,nosuid,nodev,noauto_da_alloc,discard,journal_async_commit,errors=panic wait,check
# VOLD
/dev/block/platform/13540000.dwmmc0/by-name/HIDDEN /preload ext4 defaults voldmanaged=preload:auto
/devices/13560000.dwmmc2/mmc_host/mmc* auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata
/devices/13600000.usb/13600000.dwc3/xhci-hcd.2.auto/usb* auto auto defaults voldmanaged=usb:auto

View file

@ -0,0 +1,21 @@
# 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/platform/13540000.dwmmc0/by-name/BOOT /boot emmc defaults defaults
# /dev/block/platform/13540000.dwmmc0/by-name/RECOVERY /recovery emmc defaults defaults
# /dev/block/platform/13540000.dwmmc0/by-name/SYSTEM /system ext4 ro,errors=panic wait,recoveryonly
# /dev/block/platform/13540000.dwmmc0/by-name/VENDOR /vendor ext4 ro,errors=panic wait,recoveryonly
/dev/block/platform/13540000.dwmmc0/by-name/CACHE /cache ext4 nosuid,nodev,noatime,noauto_da_alloc,discard,journal_async_commit,errors=panic wait,check
/dev/block/platform/13540000.dwmmc0/by-name/CACHE /cache f2fs nosuid,nodev,noatime,rw,inline_xattr wait,check,formattable
/dev/block/platform/13540000.dwmmc0/by-name/USERDATA /data ext4 nosuid,nodev,noatime,noauto_da_alloc,discard,journal_async_commit,errors=panic wait,check,formattable,encryptable=footer,length=-16384
/dev/block/platform/13540000.dwmmc0/by-name/USERDATA /data f2fs nosuid,nodev,noatime,rw,inline_xattr wait,check,formattable,encryptable=footer,length=-16384
/dev/block/platform/13540000.dwmmc0/by-name/EFS /efs ext4 nosuid,nodev,noatime,noauto_da_alloc,discard,journal_async_commit,errors=panic wait,check
/dev/block/platform/13540000.dwmmc0/by-name/CPEFS /cpefs ext4 noatime,nosuid,nodev,noauto_da_alloc,discard,journal_async_commit,errors=panic wait,check
# VOLD
/dev/block/platform/13540000.dwmmc0/by-name/HIDDEN /preload ext4 defaults voldmanaged=preload:auto
/devices/13560000.dwmmc2/mmc_host/mmc* auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata
/devices/13600000.usb/13600000.dwc3/xhci-hcd.2.auto/usb* auto auto defaults voldmanaged=usb:auto

View file

@ -0,0 +1,63 @@
on init
symlink /dev/block/platform/13540000.dwmmc0/by-name/RADIO /dev/mbin0
restorecon /dev/mbin0
write /sys/class/net/rmnet0/queues/rx-0/rps_cpus 6
write /sys/class/net/rmnet1/queues/rx-0/rps_cpus 6
write /sys/class/net/rmnet2/queues/rx-0/rps_cpus 6
write /sys/class/net/rmnet3/queues/rx-0/rps_cpus 6
write /sys/class/net/rmnet4/queues/rx-0/rps_cpus 6
write /sys/class/net/rmnet5/queues/rx-0/rps_cpus 6
write /sys/class/net/rmnet6/queues/rx-0/rps_cpus 6
write /sys/class/net/rmnet7/queues/rx-0/rps_cpus 6
on fs
chown radio system /efs
chmod 0771 /efs
chown radio radio sys/devices/virtual/misc/multipdp/waketime
chmod 0660 /sys/devices/virtual/misc/umts_dm0/dm_state
chown radio system /sys/devices/virtual/misc/umts_dm0/dm_state
# /efs/factory.prop for Dual / Single SIM settings
chown radio radio /efs/factory.prop
chmod 0600 /efs/factory.prop
on property:ril.clatd.v4-rmnet0=up
write /sys/class/net/rmnet0/queues/rx-0/rps_cpus 4
write /sys/class/net/v4-rmnet0/queues/rx-0/rps_cpus 2
on property:ril.clatd.v4-rmnet1=up
write /sys/class/net/rmnet1/queues/rx-0/rps_cpus 4
write /sys/class/net/v4-rmnet1/queues/rx-0/rps_cpus 2
on property:ril.clatd.v4-rmnet2=up
write /sys/class/net/rmnet2/queues/rx-0/rps_cpus 4
write /sys/class/net/v4-rmnet2/queues/rx-0/rps_cpus 2
on property:ril.clatd.v4-rmnet3=up
write /sys/class/net/rmnet3/queues/rx-0/rps_cpus 4
write /sys/class/net/v4-rmnet3/queues/rx-0/rps_cpus 2
on property:ril.clatd.v4-rmnet4=up
write /sys/class/net/rmnet4/queues/rx-0/rps_cpus 4
write /sys/class/net/v4-rmnet4/queues/rx-0/rps_cpus 2
on property:ril.clatd.v4-rmnet5=up
write /sys/class/net/rmnet5/queues/rx-0/rps_cpus 4
write /sys/class/net/v4-rmnet5/queues/rx-0/rps_cpus 2
on property:ril.clatd.v4-rmnet6=up
write /sys/class/net/rmnet6/queues/rx-0/rps_cpus 4
write /sys/class/net/v4-rmnet6/queues/rx-0/rps_cpus 2
on property:ril.clatd.v4-rmnet7=up
write /sys/class/net/rmnet7/queues/rx-0/rps_cpus 4
write /sys/class/net/v4-rmnet7/queues/rx-0/rps_cpus 2
service cpboot-daemon /vendor/bin/cbd -d -tss310 -bm -mm -P platform/13540000.dwmmc0/by-name/RADIO
class main
user root
group radio cache inet misc audio sdcard_rw log sdcard_r shell
# seclabel u:r:cbd:s0
on property:ro.multisim.simslotcount=*
write /sys/module/modem_ctrl_ss310ap/parameters/ds_detect ${ro.multisim.simslotcount}

22
rootdir/etc/init.rilchip.rc Executable file
View file

@ -0,0 +1,22 @@
# 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.
#
service ril-daemon /vendor/bin/hw/rild -l /vendor/lib64/libsec-ril.so
class main
user radio
group radio cache inet misc audio sdcard_r sdcard_rw log vpn system readproc wakelock
capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW SYS_ADMIN CHOWN SYS_TIME
socket sap_uim_socket1 stream 660 bluetooth bluetooth
onrestart restart cpboot-daemon
onrestart restart DIAG-daemon
service ril-daemon1 /vendor/bin/hw/rild -c 2 -l /vendor/lib64/libsec-ril-dsds.so
class main
user radio
group radio cache inet misc audio sdcard_r sdcard_rw log vpn system readproc wakelock
capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW SYS_ADMIN CHOWN SYS_TIME
onrestart restart cpboot-daemon
onrestart restart DIAG-daemon

20
rootdir/etc/init.rilcommon.rc Executable file
View file

@ -0,0 +1,20 @@
# 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.
#
# service can not be overwritten except SPRINT
# Thus, rilcarrier is imported before common rc, like init.rilchip.rc
on post-fs-data
mkdir /data/vendor/secradio 0770 radio radio
on property:ro.vendor.multisim.simslotcount=1
stop ril-daemon1
on property:hwservicemanager.ready=false
restart ril-daemon
on property:hwservicemanager.ready=false && property:ro.vendor.multisim.simslotcount=2
restart ril-daemon1

1892
rootdir/etc/init.samsung.rc Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,566 @@
import /vendor/etc/init/hw/init.samsungexynos7870.usb.rc
import /vendor/etc/init/hw/init.baseband.rc
import /vendor/etc/init/hw/init.wifi.rc
import /vendor/etc/init/hw/init.wifi_device.rc
import /vendor/etc/init/hw/init.rilchip.rc
import /vendor/etc/init/hw/init.rilcommon.rc
# Samsung stock init.rc additions
import /vendor/etc/init/hw/init.samsung.rc
on early-init
mount debugfs /sys/kernel/debug /sys/kernel/debug
on init
start watchdogd
# See storage config details at http://source.android.com/tech/storage/
mkdir /mnt/shell/emulated 0700 shell shell
mkdir /storage/emulated 0555 root root
# Support legacy paths
symlink /sdcard /mnt/sdcard
export EXTERNAL_STORAGE /sdcard
symlink /data/app /factory
symlink /dev/block/platform/13540000.dwmmc0/by-name/PERSISTENT /dev/block/persistent
symlink /dev/block/platform/13540000.dwmmc0/by-name/STEADY /dev/block/steady
on post-fs-data
# Log data folder
# mkdir /data/log 0771 radio system
# C-STATE
chown system system /sys/module/cpuidle/parameters/off
chmod 0660 /sys/module/cpuidle/parameters/off
# CPU Idle
chown system system /sys/module/cpuidle_exynos64/parameters/enable_mask
# Audio I2C node for TFA amp
chmod 0660 /dev/i2c-20
chown audio audio /dev/i2c-20
setprop vold.post_fs_data_done 1
# /efs/factory.prop for Dual / Single SIM settings
chown radio radio /efs/factory.prop
chmod 0600 /efs/factory.prop
restorecon /sys/kernel/debug/tracing/trace_marker
on boot
# override init.rc to keep plenty of large order chunks around
# to improve allocation times
# write /proc/sys/vm/min_free_kbytes 32768
# write /proc/sys/vm/min_free_order_shift 1
# SSWAP
write /proc/sys/vm/swappiness 130
# mount debugfs /sys/kernel/debug /sys/kernel/debug
# Allow to access debugfs for system:system
chmod 755 /sys/kernel/debug
chown system system /sys/kernel/debug
# setprop ro.radio.noril yes
# 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 4194304
write /proc/sys/net/core/wmem_max 4194304
# 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
# sec_log
chown system log /proc/sec_log
# EFS permissions
chown system radio /efs/nv_data.bin
chown system radio /efs/nv_data.bin.md5
chown system radio /cpefs/.nv_core.bak
chown system radio /efs/.nv_core.bak
# Permissions for NAD
symlink /dev/block/platform/13540000.dwmmc0/by-name/NAD_REFER /dev/block/NAD_REFER
chown system radio /sys/class/sec/sec_nad/nad_stat
chmod 0664 /sys/class/sec/sec_nad/nad_stat
chown system radio /sys/class/sec/sec_nad/nad_erase
chmod 0664 /sys/class/sec/sec_nad/nad_erase
chown system radio /sys/class/sec/sec_nad/nad_acat
chmod 0664 /sys/class/sec/sec_nad/nad_acat
chown system radio /sys/class/sec/sec_nad/nad_dram
chmod 0664 /sys/class/sec/sec_nad/nad_dram
chown system radio /sys/class/sec/sec_nad/nad_all
chmod 0664 /sys/class/sec/sec_nad/nad_all
chown system radio /dev/block/NAD_REFER
chmod 0664 /dev/block/NAD_REFER
# 1-key hard reset
chown system system /sys/power/reset_enabled
chmod 0660 /sys/power/reset_enabled
# CPU hotplug
chown system system /sys/power/cpuhotplug/enabled
chmod 0660 /sys/power/cpuhotplug/enabled
chown system system /sys/power/cpuhotplug/min_online_cpu
chmod 0664 /sys/power/cpuhotplug/min_online_cpu
chown system system /sys/power/cpuhotplug/max_online_cpu
chmod 0664 /sys/power/cpuhotplug/max_online_cpu
# GPU dvfs node
chown radio system /sys/devices/11400000.mali/dvfs_table
chmod 0664 /sys/devices/11400000.mali/dvfs_table
chown radio system /sys/devices/11400000.mali/dvfs_min_lock
chmod 0664 /sys/devices/11400000.mali/dvfs_min_lock
chown radio system /sys/devices/11400000.mali/dvfs_max_lock
chmod 0664 /sys/devices/11400000.mali/dvfs_max_lock
# mif, int
chown radio system /sys/class/devfreq/17000010.devfreq_mif/min_freq
chmod 0664 /sys/class/devfreq/17000010.devfreq_mif/min_freq
chown radio system /sys/class/devfreq/17000010.devfreq_mif/max_freq
chmod 0664 /sys/class/devfreq/17000010.devfreq_mif/max_freq
chown radio system /sys/class/devfreq/17000010.devfreq_mif/available_frequencies
chmod 0644 /sys/class/devfreq/17000010.devfreq_mif/available_frequencies
chown radio system /sys/class/devfreq/17000020.devfreq_int/min_freq
chmod 0664 /sys/class/devfreq/17000020.devfreq_int/min_freq
chown radio system /sys/class/devfreq/17000020.devfreq_int/max_freq
chmod 0664 /sys/class/devfreq/17000020.devfreq_int/max_freq
chown radio system /sys/class/devfreq/17000020.devfreq_int/available_frequencies
chmod 0664 /sys/class/devfreq/17000020.devfreq_int/available_frequencies
# 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
# RTC status
chown system system /sys/power/rtc_status
chmod 0444 /sys/power/rtc_status
chown system system /efs/FactoryApp/rtc_status
chmod 0664 /efs/FactoryApp/rtc_status
chown bluetooth bluetooth /dev/ttySAC0
chmod 0660 /dev/ttySAC0
# sem_daemon permission
chown system system /efs/sec_efs/ssp_data
chmod 0644 /efs/sec_efs/ssp_data
#MST HW Support
setprop ro.mst.support 1
#Secure OS migration
chown radio system /sys/devices/system/sec_os_ctrl/migrate_os
chmod 664 /sys/devices/system/sec_os_ctrl/migrate_os
# permissions for bluetooth.
setprop ro.bt.bdaddr_path "/efs/bluetooth/bt_addr"
chown bluetooth bluetooth ro.bt.bdaddr_path
chown radio bluetooth /efs/bluetooth/bt_addr
chmod 0640 /efs/bluetooth/bt_addr
chmod 0660 /sys/class/rfkill/rfkill0/state
chmod 0660 /sys/class/rfkill/rfkill0/device/extldo
chown bluetooth net_bt /sys/class/rfkill/rfkill0/state
chown bluetooth net_bt /sys/class/rfkill/rfkill0/type
chown bluetooth net_bt /sys/class/rfkill/rfkill0/device/extldo
# MOBEAM
chown system radio /sys/class/sec/sec_barcode_emul/vendor
chown system radio /sys/class/sec/sec_barcode_emul/name
chown system radio /sys/class/sec/sec_barcode_emul/barcode_send
chown system radio /sys/class/sec/sec_barcode_emul/barcode_led_status
chown system radio /sys/class/sec/sec_barcode_emul/barcode_ver_check
#Meta event
chown system radio /sys/class/sensors/sensor_dev/flush
# 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
# Support DM logging
# chmod 0770 /system/bin/dmd
# Support DM logging
chmod 0770 /system/bin/diagexe
# terminal mode
chmod 0660 /sys/class/android_usb/android0/terminal_version
chown system system /sys/class/android_usb/android0/terminal_version
# 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
# Support Virtual Com
chmod 0770 /system/bin/vcd
# Support AP/CP log dump
chmod 0770 /system/bin/sced
# Switch Device
chown system radio /sys/class/sec/switch/vbus_value
# LPM mode for ccic
chown system radio /sys/class/sec/ccic/lpm_mode
chown system radio /sys/class/sec/ccic/ccic_control_option
# IPSec for VOLTE
chown root system /dev/socket
chmod 0775 /dev/socket
on fs
mount_all /vendor/etc/fstab.samsungexynos7870
setprop ro.crypto.fuse_sdcard true
chown radio system /efs
# 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
chown system system /sys/class/backlight/panel/brightness
# Permissions for LCD
chown system radio /sys/class/lcd/panel/manufacture_code
chown system radio /sys/class/lcd/panel/lcd_type
chown system system /sys/class/lcd/panel/siop_enable
chown system system /sys/class/lcd/panel/temperature
chown system radio /sys/class/lcd/panel/power_reduce
chown system system /sys/class/lcd/panel/lux
chown system system /sys/class/lcd/panel/adaptive_control
chown system system /sys/class/lcd/panel/alpm
chown system system /sys/class/lcd/panel/dpui
chown system system /sys/class/lcd/panel/dpui_dbg
chown system system /sys/devices/svc/OCTA/SVC_OCTA
# Permissions for MDNIE
chown system media_rw /sys/class/mdnie/mdnie/mode
chown system media_rw /sys/class/mdnie/mdnie/scenario
chown system media_rw /sys/class/mdnie/mdnie/outdoor
chown system system /sys/class/mdnie/mdnie/accessibility
chown system media_rw /sys/class/mdnie/mdnie/rgb_adj_enable
chown system media_rw /sys/class/mdnie/mdnie/r_adj
chown system media_rw /sys/class/mdnie/mdnie/g_adj
chown system media_rw /sys/class/mdnie/mdnie/b_adj
chown system media_rw /sys/class/mdnie/mdnie/tuning
chown system system /sys/class/mdnie/mdnie/sensorRGB
chown system system /sys/class/mdnie/mdnie/mdnie_ldu
chown system system /sys/class/mdnie/mdnie/night_mode
chown system system /sys/class/mdnie/mdnie/whiteRGB
write /sys/class/mdnie/mdnie/scenario 0
write /sys/class/mdnie/mdnie/outdoor 0
write /sys/class/mdnie/mdnie/mode 1
write /sys/class/mdnie/mdnie/accessibility 0
write /sys/class/mdnie/mdnie/rgb_adj_enable 1
write /sys/class/mdnie/mdnie/r_adj 255
write /sys/class/mdnie/mdnie/g_adj 255
write /sys/class/mdnie/mdnie/b_adj 255
write /sys/class/mdnie/mdnie/tuning 0
chown system system /sys/class/lcd/panel/hmt_on
chmod 0660 /sys/class/lcd/panel/hmt_on
chown system system /sys/class/lcd/panel/hmt_bright
chmod 0660 /sys/class/lcd/panel/hmt_bright
chown system system /sys/class/mdnie/mdnie/hmt_color_temperature
chmod 0660 /sys/class/mdnie/mdnie/hmt_color_temperature
# Copy DRM Key
copy /system/app/wv.keys /factory/wv.keys
# Permission for DRM Key
chmod 0644 /factory/wv.keys
# Permissions for System LSI NFC
# NFC : Permissions for NFC
chmod 0660 /dev/sec-nfc
chown nfc nfc /dev/sec-nfc
# Permissions for S.LSI ESE
chmod 0660 /dev/p3
chown system system /dev/p3
# Permission for flashlight control for HAL3.3
chmod 0660 /sys/class/camera/flash/rear_torch_flash
chown media system /sys/class/camera/flash/rear_torch_flash
chmod 0660 /sys/class/camera/flash/front_torch_flash
chown media system /sys/class/camera/flash/front_torch_flash
# Permissions for TouchScreen
chown system radio /sys/class/sec/tsp/cmd
chown system system /sys/class/sec/tsp/input/enabled
chown system system /sys/class/sec/tsp/ito_check
chown system system /sys/class/sec/tsp/raw_check
chown system system /sys/class/sec/tsp/module_id
chown system system /sys/class/sec/tsp/multi_count
chown system system /sys/class/sec/tsp/wet_mode
chown system system /sys/class/sec/tsp/comm_err_count
# Permissions for Touchkey
chown system radio /sys/class/sec/sec_touchkey/brightness
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/glove_mode
chown system radio /sys/class/sec/sec_touchkey/flip_mode
chown system radio /sys/class/sec/sec_touchkey/sar_enable
chown system radio /sys/class/sec/sec_touchkey/sw_reset
chown system radio /sys/class/sec/sec_touchkey/touchkey_earjack
chown system system /sys/class/sec/sec_touchkey/input/enabled
chown system radio /sys/class/sec/sec_touchkey/touchkey_light_version
chown system radio /sys/class/sec/sec_touchkey/touchkey_light_update
chown system radio /sys/class/sec/sec_touchkey/touchkey_light_id_compare
chown system radio /sys/class/sec/sec_touchkey/touchkey_light_table_write
# Permissions for gpio_keys
chown radio system /sys/class/sec/sec_key/wakeup_keys
write /sys/class/sec/sec_key/wakeup_keys 116,172
# Permissions Camera
mkdir /data/camera 0770 cameraserver system
chown system radio /sys/class/camera/rear/rear_camfw
chown system radio /sys/class/camera/rear/rear_camfw_full
chown system radio /sys/class/camera/rear/rear_checkfw_user
chown system radio /sys/class/camera/rear/rear_checkfw_factory
chown system radio /sys/class/camera/rear/rear_sensor_standby
chown system radio /sys/class/camera/rear/rear_camtype
chown system radio /sys/class/camera/rear/rear_companionfw
chown system radio /sys/class/camera/rear/rear_companionfw_full
chown system radio /sys/class/camera/rear/rear_calcheck
chown system radio /sys/class/camera/rear/rear_caminfo
chown system radio /sys/class/camera/rear/rear_sensorid
chown system radio /sys/class/camera/rear/from_write
chown system radio /sys/class/camera/rear/isp_core
chown system radio /sys/class/camera/rear/fw_update
chown system radio /sys/class/camera/flash/rear_flash
chown system radio /sys/class/camera/flash/front_flash
chown cameraserver system /sys/class/camera/flash/rear_torch_flash
chown cameraserver system /sys/class/camera/flash/front_torch_flash
chown system radio /sys/class/camera/front/front_camfw
chown system radio /sys/class/camera/front/front_camfw_full
chown system radio /sys/class/camera/front/front_checkfw_factory
chown system radio /sys/class/camera/front/front_camtype
chown system radio /sys/class/camera/front/front_moduleid
chown system radio /sys/class/camera/front/front_caminfo
chown system radio /sys/class/camera/front/front_sensorid
chown system radio /sys/class/camera/ois/selftest
chown system radio /sys/class/camera/ois/ois_power
chown system radio /sys/class/camera/ois/ois_rawdata
chown system radio /sys/class/camera/ois/oisfw
chown system radio /sys/class/camera/ois/ois_diff
chown system radio /sys/class/camera/ois/fw_update
chown system radio /sys/class/camera/ois/ois_exif
chown system system /sys/devices/svc/Camera/SVC_rear_module
chown system system /sys/devices/svc/Camera/SVC_front_module
# FM Radio
chown system audio /dev/radio0
chmod 0660 /dev/radio0
#ARGOSD network_throughput
chown system system /dev/network_throughput
# ARGOSD
service argos-daemon /system/bin/argosd
class main
user system
group system radio
# LPM
service lpm /vendor/bin/lpm
class charger
critical
seclabel u:r:charger:s0
# Bluetooth
on property:wc_transport.start_hci=true
start start_hci_filter
on property:wc_transport.start_hci=false
stop start_hci_filter
service start_hci_filter /vendor/bin/wcnss_filter
class late_start
user bluetooth
group bluetooth
disabled
# RPMB daemon
service rpmbd /system/bin/rpmbd
user root
group drmrpc
class main
on property:sys.mobicoredaemon.enable=true
start cs_service
write /proc/iccc_ready 1
on property:ro.multisim.simslotcount=1
setprop persist.radio.multisim.config ss
on property:ro.multisim.simslotcount=2
setprop persist.radio.multisim.config dsds
# Modem boot daemon
# service cpboot-daemon /system/bin/cbd -d
# class main
# user root
# group radio cache inet misc audio sdcard_rw log
# DM daemon
# service DM-daemon /system/bin/dmd
# class main
# user root
# group system
# SCE daemon
# service SCE-daemon /system/bin/sced
# class main
# user root
# group system
# diag daemon
# service DM-daemon /system/bin/diagexe
# class main
# user root
# group system
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
# IPSec for VOLTE
service ipsec-daemon /system/bin/IPSecService
class main
socket ipsec_socket stream 660 system net_admin
user system
group system net_raw inet net_admin
# 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
seclabel u:r:watchdogd: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
service prepare_param /system/bin/prepare_param.sh /dev/block/platform/13540000.dwmmc0/by-name/PARAM
class core
user root
group root
seclabel u:r:prepare_param:s0
oneshot
# Secure Storage startup
service secure_storage /system/bin/secure_storage_daemon
class core
user system
group system
disabled
on property:ro.securestorage.knox=true
mkdir /dev/.secure_storage
chmod 0711 /dev/.secure_storage
chown system system /dev/.secure_storage
restorecon -R /dev/.secure_storage
start secure_storage
on property:ro.securestorage.support=true
mkdir /dev/.secure_storage
chmod 0711 /dev/.secure_storage
chown system system /dev/.secure_storage
restorecon -R /dev/.secure_storage
start secure_storage
# umount service
service umount_service /system/bin/umount -D /preload
disabled
oneshot
# Support Preload install apks
on property:persist.sys.storage_preload=1
mount ext4 /dev/block/platform/13540000.dwmmc0/by-name/HIDDEN /preload nosuid nodev ro barrier=1
setprop storage.preload.complete 1
on property:persist.sys.storage_preload=0
start umount_service
# SSWAP
service sswap /vendor/bin/sswap -s
class core
user root
group root
oneshot
# sem_daemon
service sem_daemon /system/bin/sem_daemon
class core
user system
group system nfc
disabled
on property:sys.boot_completed=1
setprop security.semdaemonfinish 0
start sem_daemon
on property:security.semdaemonfinish=1
stop sem_daemon

View file

@ -0,0 +1,302 @@
on init
write /sys/class/android_usb/android0/iSerial $ro.serialno
write /sys/class/android_usb/android0/f_rndis/manufacturer Samsung
write /sys/class/android_usb/android0/f_rndis/vendorID 04e8
write /sys/class/android_usb/android0/f_rndis/wceis 1
on post-fs
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
write /sys/class/android_usb/android0/f_ffs/aliases adb
on boot
write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer}
write /sys/class/android_usb/android0/iProduct ${ro.product.model}
write /sys/class/android_usb/android0/iSerial ${ro.serialno}
write /sys/class/android_usb/android0/f_mass_storage/inquiry_string "Samsung"
on property:sys.usb.config=mtp
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04e8
write /sys/class/android_usb/android0/idProduct 6860
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=adb
start adbd
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=adb
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04e8
write /sys/class/android_usb/android0/idProduct 6860
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=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 /sys/class/android_usb/android0/idVendor 04e8
write /sys/class/android_usb/android0/idProduct 6860
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=midi
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04e8
write /sys/class/android_usb/android0/idProduct 686C
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=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 /sys/class/android_usb/android0/idVendor 04e8
write /sys/class/android_usb/android0/idProduct 686C
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=ncm
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/functions ncm
write /sys/class/android_usb/android0/bDeviceClass 2
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=ncm,adb
start adbd
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=ncm,adb
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/functions ncm,adb
write /sys/class/android_usb/android0/bDeviceClass 2
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 /sys/class/android_usb/android0/idVendor 04e8
write /sys/class/android_usb/android0/idProduct 6863
write /sys/class/android_usb/android0/functions ${sys.usb.config}
write /sys/class/android_usb/android0/bDeviceClass 224
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 /sys/class/android_usb/android0/idVendor 04e8
write /sys/class/android_usb/android0/idProduct 6864
write /sys/class/android_usb/android0/functions ${sys.usb.config}
write /sys/class/android_usb/android0/bDeviceClass 224
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=ptp
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04e8
write /sys/class/android_usb/android0/idProduct 6865
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=ptp,adb
start adbd
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=ptp,adb
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04e8
write /sys/class/android_usb/android0/idProduct 6866
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,dm
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/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,dm
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/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,dm,adb
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/idVendor 04e8
write /sys/class/android_usb/android0/idProduct 6862
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=acm,dm,adb
start adbd
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=acm,dm,adb
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/functions ${sys.usb.config}
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=acm,dm
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/functions ${sys.usb.config}
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=sec_charging
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04E8
write /sys/class/android_usb/android0/idProduct 6860
write /sys/class/android_usb/android0/functions mtp
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=sec_charging,adb
start adbd
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=sec_charging,adb
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04E8
write /sys/class/android_usb/android0/idProduct 6860
write /sys/class/android_usb/android0/functions mtp,adb
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=vzw_charging
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04E8
write /sys/class/android_usb/android0/idProduct 6860
write /sys/class/android_usb/android0/functions mtp
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=vzw_charging,adb
start adbd
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=vzw_charging,adb
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04E8
write /sys/class/android_usb/android0/idProduct 6860
write /sys/class/android_usb/android0/functions mtp,adb
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=mass_storage
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04e8
write /sys/class/android_usb/android0/idProduct 685B
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 /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}
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=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/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=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=mtp,conn_gadget
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04e8
write /sys/class/android_usb/android0/idProduct 6860
write /sys/class/android_usb/android0/functions ${sys.usb.config}
write /sys/class/android_usb/android0/bDeviceClass 0
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=mtp,conn_gadget,adb
start adbd
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mtp,conn_gadget,adb
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04e8
write /sys/class/android_usb/android0/idProduct 6860
write /sys/class/android_usb/android0/functions ${sys.usb.config}
write /sys/class/android_usb/android0/bDeviceClass 0
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}

57
rootdir/etc/init.wifi.rc Normal file
View file

@ -0,0 +1,57 @@
# Wi-Fi init file
on post-fs-data
mkdir /data/vendor/conn 0771 wifi root
mkdir /data/vendor/wifi 0771 wifi wifi
mkdir /data/vendor/wifi/wpa 0770 wifi wifi
mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
mkdir /data/vendor/log/wifi 0770 wifi system
# for WIFI TRP/TIS
chown wifi root /data/vendor/conn/.psm.info
chmod 0660 /data/vendor/conn/.psm.info
# for WIFI Antenna Selection
chown wifi root /data/vendor/conn/.ant.info
chmod 0660 /data/vendor/conn/.ant.info
# for WIFI Version
chown wifi root /data/vendor/conn/.wifiver.info
chmod 0664 /data/vendor/conn/.wifiver.info
# for WIFI MEMDUMP
# The default value of below memdump file is set in SecProductFeature
#write /data/vendor/conn/.memdump.info 2
chown wifi root /data/vendor/conn/.memdump.info
chmod 0660 /data/vendor/conn/.memdump.info
# for WIFI hotspot
chown wifi root /data/vendor/conn/.softap.info
chmod 0664 /data/vendor/conn/.softap.info
chown system wifi /vendor/etc/wifi/indoorchannel.info
chmod 0664 /vendor/etc/wifi/indoorchannel.info
# for WIFI MAC
chown wifi root /sys/wifi/mac_addr
chmod 0660 /sys/wifi/mac_addr
on boot
setprop wifi.interface wlan0
service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
-O/data/vendor/wifi/wpa/sockets \
-g@android:wpa_wlan0
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
interface android.hardware.wifi.supplicant@1.3::ISupplicant default
class main
socket wpa_wlan0 dgram 660 wifi wifi
disabled
oneshot
service macloader /vendor/bin/hw/macloader
class main
oneshot
# end of WiFi MFG (TestMode)

14
rootdir/etc/twrp.fstab Normal file
View file

@ -0,0 +1,14 @@
/boot emmc /dev/block/platform/13540000.dwmmc0/by-name/BOOT
/recovery emmc /dev/block/platform/13540000.dwmmc0/by-name/RECOVERY flags=backup=1
/system ext4 /dev/block/platform/13540000.dwmmc0/by-name/SYSTEM
/data ext4 /dev/block/platform/13540000.dwmmc0/by-name/USERDATA flags=encryptable=footer;length=-20480
/cache ext4 /dev/block/platform/13540000.dwmmc0/by-name/CACHE
/modem emmc /dev/block/platform/13540000.dwmmc0/by-name/RADIO flags=backup=1;display="Modem"
/modem-cdma emmc /dev/block/platform/13540000.dwmmc0/by-name/CDMA-RADIO flags=backup=1;display="CDMA Modem";subpartitionof=/modem
/efs ext4 /dev/block/platform/13540000.dwmmc0/by-name/EFS flags=backup=1;display="EFS"
/cpefs emmc /dev/block/platform/13540000.dwmmc0/by-name/CPEFS flags=backup=1;display="CPEFS";subpartitionof=/efs
/m9kefs1 emmc /dev/block/platform/13540000.dwmmc0/by-name/m9kefs1 flags=backup=1;subpartitionof=/efs
/m9kefs2 emmc /dev/block/platform/13540000.dwmmc0/by-name/m9kefs2 flags=backup=1;subpartitionof=/efs
/m9kefs3 emmc /dev/block/platform/13540000.dwmmc0/by-name/m9kefs3 flags=backup=1;subpartitionof=/efs
/external_sd vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1 flags=display="Micro SDcard";storage;wipeingui;removable
/usb-otg vfat /dev/block/sda1 /dev/block/sda flags=display="USB-OTG";storage;wipeingui;removable

View file

@ -0,0 +1,268 @@
# ueventd can only set permissions on device nodes and their associated
# sysfs attributes, not on arbitrary paths.
#
# format for /dev rules: devname mode uid gid
# format for /sys rules: nodename attr mode uid gid
# shortcut: "mtd@NN" expands to "/dev/mtd/mtdNN"
/dev/null 0666 root root
/dev/zero 0666 root root
/dev/full 0666 root root
/dev/ptmx 0666 root root
/dev/tty 0666 root root
/dev/random 0666 root root
/dev/urandom 0666 root root
# Make HW RNG readable by group system to let EntropyMixer read it.
/dev/hw_random 0440 root system
/dev/ashmem 0666 root root
/dev/binder 0666 root root
/dev/hwbinder 0666 root root
/dev/vndbinder 0666 root root
/dev/ovr* 0664 root system
/dev/tvr* 0664 root system
/dev/pmsg0 0222 root log
# the msm hw3d client device node is world writable/readable.
/dev/msm_hw3dc 0666 root root
# gpu driver for adreno200 is globally accessible
/dev/kgsl 0666 root root
# kms driver for drm based gpu
/dev/dri/* 0666 root graphics
# these should not be world writable
/dev/diag 0660 radio radio
/dev/diag_arm9 0660 radio radio
/dev/ttyMSM0 0600 bluetooth bluetooth
/dev/uhid 0660 uhid uhid
/dev/uinput 0660 system bluetooth
/dev/alarm 0664 system radio
/dev/power_on_alarm 0660 system radio
/dev/rtc0 0660 system system
/dev/tty0 0660 root system
/dev/ttySAC0 0660 root radio
/dev/graphics/* 0660 root graphics
/dev/msm_hw3dm 0660 system graphics
/dev/input/* 0660 root input
/dev/v4l-touch* 0660 root input
/dev/eac 0660 root audio
/dev/cam 0660 root camera
/dev/pmem 0660 system graphics
/dev/pmem_adsp* 0660 system audio
/dev/pmem_camera* 0660 system camera
/dev/oncrpc/* 0660 root system
/dev/adsp/* 0660 system audio
/dev/snd/* 0660 system audio
/dev/mt9t013 0660 system system
/dev/msm_camera/* 0660 system system
/dev/akm8976_daemon 0640 compass system
/dev/akm8976_aot 0640 compass system
/dev/akm8973_daemon 0640 compass system
/dev/akm8973_aot 0640 compass system
/dev/bma150 0640 compass system
/dev/cm3602 0640 compass system
/dev/akm8976_pffd 0640 compass system
/dev/lightsensor 0640 system system
/dev/msm_pcm_out* 0660 system audio
/dev/msm_pcm_in* 0660 system audio
/dev/msm_pcm_ctl* 0660 system audio
/dev/msm_snd* 0660 system audio
/dev/msm_mp3* 0660 system audio
/dev/audience_a1026* 0660 system audio
/dev/tpa2018d1* 0660 system audio
/dev/msm_audpre 0660 system audio
/dev/msm_audio_ctl 0660 system audio
/dev/htc-acoustic 0660 system audio
/dev/vdec 0660 system audio
/dev/q6venc 0660 system audio
/dev/snd/dsp 0660 system audio
/dev/snd/dsp1 0660 system audio
/dev/snd/mixer 0660 system audio
/dev/smd0 0640 radio radio
/dev/qmi 0640 radio radio
/dev/qmi0 0640 radio radio
/dev/qmi1 0640 radio radio
/dev/qmi2 0640 radio radio
/dev/bus/usb/* 0660 root usb
/dev/mtp_usb 0660 root mtp
/dev/usb_accessory 0660 root usb
/dev/tun 0660 system vpn
/dev/input/event* 0660 system input
# CDMA radio interface MUX
/dev/ts0710mux* 0640 radio radio
/dev/ppp 0660 radio vpn
# sysfs properties
/sys/devices/platform/trusty.* trusty_version 0440 root log
/sys/devices/virtual/input/input* enable 0660 system input
/sys/devices/virtual/input/input* poll_delay 0660 system input
/sys/devices/virtual/usb_composite/* enable 0664 root system
/sys/devices/system/cpu/cpu* cpufreq/scaling_max_freq 0664 system system
/sys/devices/system/cpu/cpu* cpufreq/scaling_min_freq 0664 system system
# MobiCore
/dev/mobicore 0700 system system
/dev/mobicore-user 0666 radio system
# Secure MEM driver
/dev/s5p-smem 0660 system system
# Fingerprint Sensor
/dev/vfsspi 0660 system system
/dev/esfp0 0660 system system
/dev/goodix_fp 0660 system system
/dev/qbt2000_fd 0660 system system
/dev/qbt2000_ipc 0660 system system
/dev/qbtspi 0660 system system
# DVB API device nodes
/dev/dvb* 0660 root system
# USB
/dev/ttyGS* 0660 system system
# MPSD
/dev/mpsd 0660 system system
/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
# 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/video51 0660 media graphics
/dev/m2m1shot_scaler0 0660 mediacodec drmrpc
/dev/m2m1shot_scaler1 0660 cameraserver cameraserver
/dev/video55 0666 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
# camera
/dev/video100 0660 cameraserver camera
/dev/video101 0660 cameraserver camera
/dev/video102 0660 cameraserver camera
/dev/video103 0660 cameraserver camera
/dev/video104 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/video150 0660 cameraserver camera
/dev/video151 0660 cameraserver camera
/dev/video152 0660 cameraserver camera
/dev/video160 0660 cameraserver camera
/dev/media2 0660 media media
# hevc
/dev/video10 0660 media media
/dev/video11 0660 media media
# jpeg
/dev/video12 0660 cameraserver media
# audio
/dev/seiren 0660 system audio
# Secure MEM driver
/dev/s5p-smem 0660 system system
# cbd modem block
/dev/block/mmcblk0p5 0400 radio system
# Modem Interface
/dev/block/platform/13540000.dwmmc0/by-name/RADIO 0660 system radio
/dev/block/platform/13540000.dwmmc0/by-name/CP_DEBUG 0660 radio system
/dev/umts* 0660 system radio
/dev/umts_csd 0660 system loop_radio
/dev/smd4 0660 system radio
/dev/umts_ciq* 0660 system bridge_rw
# SIPC RIL
/dev/umts_boot0 0660 radio radio
/dev/umts_ipc0 0660 radio radio
/dev/umts_ipc1 0660 radio radio
/dev/umts_rfs0 0660 radio radio
# 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
# Google FRP solution
/dev/block/platform/13540000.dwmmc0/by-name/PERSISTENT 0660 system system
# Reactivation Lock
/dev/block/platform/13540000.dwmmc0/by-name/STEADY 0660 system system