aboutsummaryrefslogtreecommitdiff
path: root/rootdir
diff options
context:
space:
mode:
authorMister Oyster <oysterized@gmail.com>2017-02-05 19:57:35 +0100
committerMister Oyster <oysterized@gmail.com>2017-02-05 19:57:35 +0100
commit16e6bbbc2e3ddea8ec8d229767cc45121fd8cd82 (patch)
tree1ff10d387c0efab7ca16d3e8d9ad232823c33f33 /rootdir
initial commit
Diffstat (limited to 'rootdir')
-rw-r--r--rootdir/factory_init.project.rc60
-rw-r--r--rootdir/factory_init.rc580
-rw-r--r--rootdir/fstab.mt673515
-rw-r--r--rootdir/fstab.swap1
-rwxr-xr-xrootdir/init.modem.rc121
-rwxr-xr-xrootdir/init.mt6735.rc902
-rwxr-xr-xrootdir/init.mt6735.usb.rc727
-rwxr-xr-xrootdir/init.project.rc181
-rw-r--r--rootdir/init.rc674
-rw-r--r--rootdir/init.recovery.mt6735.rc9
-rw-r--r--rootdir/init/audioserver.rc7
-rw-r--r--rootdir/init/cameraserver.rc6
-rw-r--r--rootdir/meta_init.modem.rc42
-rw-r--r--rootdir/meta_init.project.rc46
-rw-r--r--rootdir/meta_init.rc460
-rw-r--r--rootdir/recovery.fstab19
-rw-r--r--rootdir/ueventd.mt6735.rc245
17 files changed, 4095 insertions, 0 deletions
diff --git a/rootdir/factory_init.project.rc b/rootdir/factory_init.project.rc
new file mode 100644
index 0000000..0982846
--- /dev/null
+++ b/rootdir/factory_init.project.rc
@@ -0,0 +1,60 @@
+mkdir /data/misc/sensors 0664 system system
+
+service msensord /system/bin/msensord
+ user system
+ group system
+ oneshot
+
+service akmd8963 /system/bin/akmd8963
+ disabled
+ user system
+ group system
+
+
+on post-fs
+#
+# Connectivity related modules and character device nodes (Begin)
+#
+ #for 662x_launcher
+ chmod 0660 /dev/ttyMT2
+ chown system system /dev/ttyMT2
+
+ # Create char device file for WMT, GPS, BT, FM, WIFI
+ mknod /dev/stpwmt c 190 0;
+ mknod /dev/stpgps c 191 0;
+ mknod /dev/stpbt c 192 0;
+ chmod 0660 /dev/stpwmt
+ chown system system /dev/stpwmt
+ chmod 0660 /dev/wmtdetect
+ chown system system /dev/wmtdetect
+
+ mknod /dev/wmtWifi c 153 0
+ chmod 0666 /dev/wmtWifi
+ chmod 0660 /dev/stpgps
+ chmod 0660 /dev/stpbt
+ chown bluetooth radio /dev/stpbt
+
+#
+# Connectivity related modules and character device nodes (Ends)
+#
+
+on boot
+
+#
+# Connectivity related services (Begin)
+#
+
+service wmtLoader /system/bin/wmt_loader
+ user root
+ group root
+ oneshot
+
+service conn_launcher /system/bin/6620_launcher -p /system/etc/firmware/
+ user system
+ group system
+
+
+#
+# Connectivity related services (End)
+#
+
diff --git a/rootdir/factory_init.rc b/rootdir/factory_init.rc
new file mode 100644
index 0000000..4cf6a90
--- /dev/null
+++ b/rootdir/factory_init.rc
@@ -0,0 +1,580 @@
+import /init.environ.rc
+import init.ssd.rc
+
+on early-init
+ # Set init and its forked children's oom_adj.
+ write /proc/1/oom_score_adj -1000
+
+ # Apply strict SELinux checking of PROT_EXEC on mmap/mprotect calls.
+ write /sys/fs/selinux/checkreqprot 0
+
+ # Set the security context for the init process.
+ # This should occur before anything else (e.g. ueventd) is started.
+ setcon u:r:init:s0
+
+ # Set the security context of /adb_keys if present.
+ restorecon /adb_keys
+
+ start ueventd
+
+ write /proc/bootprof "INIT: usr/eng build setting"
+# create mountpoints
+ mkdir /mnt 0775 root system
+
+on init
+
+sysclktz 0
+
+loglevel 5
+
+# Backward compatibility
+ symlink /system/etc /etc
+ symlink /sys/kernel/debug /d
+
+# Temp Backward compatibility
+ symlink /dev/block/platform/mtk-msdc.0/by-name/boot /dev/bootimg
+ symlink /dev/block/platform/mtk-msdc.0/by-name/recovery /dev/recovery
+ symlink /dev/block/platform/mtk-msdc.0/by-name/secro /dev/sec_ro
+ symlink /dev/block/platform/mtk-msdc.0/by-name/kb /dev/kb
+ symlink /dev/block/platform/mtk-msdc.0/by-name/dkb /dev/dkb
+ symlink /dev/block/platform/mtk-msdc.0/by-name/seccfg /dev/seccfg
+ symlink /dev/block/platform/mtk-msdc.0/by-name/proinfo /dev/pro_info
+ symlink /dev/block/platform/mtk-msdc.0/by-name/nvram /dev/nvram
+ symlink /dev/block/platform/mtk-msdc.0/by-name/para /dev/misc
+ symlink /dev/block/platform/mtk-msdc.0/by-name/logo /dev/logo
+ #create mountpoint for persist partition
+ mkdir /persist 0771 system system
+ #Create nvdata mount point
+ mkdir /nvdata 0771 system system
+
+
+# Link /vendor to /system/vendor for devices without a vendor partition.
+ 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
+ mkdir /protect_f 0771 system system
+ mkdir /protect_s 0771 system system
+
+ # See storage config details at http://source.android.com/tech/storage/
+ mkdir /mnt/shell 0700 shell shell
+ mkdir /mnt/media_rw 0700 media_rw media_rw
+ mkdir /storage 0751 root sdcard_r
+
+ # 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
+
+ # Healthd can trigger a full boot from charger mode by signaling this
+ # property when the power button is held.
+ on property:sys.boot_from_charger_mode=1
+ class_stop charger
+ trigger late-init
+
+ # Load properties from /system/ + /factory after fs mount.
+ on load_all_props_action
+ load_system_props
+ load_persist_props
+
+ # Mount filesystems and start core system services.
+ on late-init
+ trigger early-fs
+ trigger fs
+ trigger post-fs
+ trigger post-fs-data
+
+ # Load properties from /system/ + /factory after fs mount. Place
+ # this in another action so that the load will be scheduled after the prior
+ # issued fs triggers have completed.
+ trigger load_all_props_action
+
+ trigger early-boot
+ trigger boot
+
+on fs
+ write /proc/bootprof "INIT:Mount_START"
+ mount_all /fstab.mt6735
+
+ #change partition permissions
+ exec /system/bin/chmod 0640 /dev/block/platform/mtk-msdc.0/by-name/boot
+ exec /system/bin/chown root:system /dev/block/platform/mtk-msdc.0/by-name/boot
+ exec /system/bin/chmod 0640 /dev/block/platform/mtk-msdc.0/by-name/recovery
+ exec /system/bin/chown root:system /dev/block/platform/mtk-msdc.0/by-name/recovery
+ exec /system/bin/chmod 0640 /dev/block/platform/mtk-msdc.0/by-name/secro
+ exec /system/bin/chown root:system /dev/block/platform/mtk-msdc.0/by-name/secro
+ exec /system/bin/chmod 0660 /dev/block/platform/mtk-msdc.0/by-name/seccfg
+ exec /system/bin/chown root:system /dev/block/platform/mtk-msdc.0/by-name/seccfg
+ exec /system/bin/chmod 0660 /dev/block/platform/mtk-msdc.0/by-name/proinfo
+ exec /system/bin/chown root:system /dev/block/platform/mtk-msdc.0/by-name/proinfo
+ exec /system/bin/chmod 0660 /dev/block/platform/mtk-msdc.0/by-name/otp
+ exec /system/bin/chown root:system /dev/block/platform/mtk-msdc.0/by-name/otp
+ exec /system/bin/chmod 0660 /dev/block/platform/mtk-msdc.0/by-name/nvram
+ exec /system/bin/chown root:system /dev/block/platform/mtk-msdc.0/by-name/nvram
+ exec /system/bin/chmod 0660 /dev/block/platform/mtk-msdc.0/by-name/para
+ exec /system/bin/chown root:system /dev/block/platform/mtk-msdc.0/by-name/para
+ exec /system/bin/chmod 0660 /dev/block/platform/mtk-msdc.0/by-name/logo
+ exec /system/bin/chown root:system /dev/block/platform/mtk-msdc.0/by-name/logo
+ exec /system/bin/chown root:system /dev/block/platform/mtk-msdc.0/by-name/para
+ write /proc/bootprof "INIT:Mount_END"
+
+on post-fs
+ # once everything is setup, no need to modify /
+ mount rootfs rootfs / ro remount
+ chown system system /system/data
+ mkdir /system/cache 0770 system cache
+ # We restorecon /cache in case the cache partition has been reset.
+ restorecon_recursive /cache
+
+ # We chown/chmod /data again so because mount is run as root + defaults
+ chown system system /system/data
+ chmod 0777 /system/data
+ # We chown/chmod /data again so because mount is run as root + defaults
+ chown system system /data
+ chmod 0771 /data
+ # We restorecon /data in case the userdata partition has been reset.
+ restorecon /data
+
+ # Same reason as /data above
+ chown system cache /cache
+ chmod 0770 /cache
+
+ mkdir /cache/recovery 0770 system system
+ chown system system /protect_f
+ chmod 0770 /protect_f
+
+ chown system system /protect_s
+ chmod 0770 /protect_s
+
+ # 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
+
+ # make the selinux kernel policy world-readable
+ chmod 0444 /sys/fs/selinux/policy
+
+ # create the lost+found directories, so as to enforce our permissions
+ mkdir /cache/lost+found 0770 root root
+
+on post-fs-data
+
+#SeLinux
+ mkdir /data/ccci_cfg 0770 system radio
+ restorecon /data/ccci_cfg
+ restorecon_recursive /protect_f
+ restorecon_recursive /protect_s
+
+ # We chown/chmod /data again so because mount is run as root + defaults
+
+ chown root system /proc/sysrq-trigger
+ chmod 0220 /proc/sysrq-trigger
+
+ chown system system /persist
+ chmod 0771 /persist
+# create basic filesystem structure
+ #mkdir /data/nvram 2770 root system
+ # We chown/chmod /nvdata again so because mount is run as root + defaults
+ chown root system /nvdata
+ chmod 2770 /nvdata
+ symlink /nvdata /data/nvram
+ mkdir /nvdata/media 0771 media audio
+
+ # Set SELinux security contexts on upgrade or policy update.
+ restorecon_recursive /nvdata
+
+ 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
+ # give system access to wpa_supplicant.conf for backup and restore
+ 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/ethernet 0770 system system
+ mkdir /data/misc/dhcp 0770 dhcp dhcp
+ mkdir /data/misc/user 0771 root root
+ mkdir /data/misc/perfprofd 0775 root root
+ # give system access to wpa_supplicant.conf for backup and restore
+ chmod 0660 /data/misc/wifi/wpa_supplicant.conf
+ mkdir /data/local 0771 shell shell
+ mkdir /data/misc/media 0700 media media
+ mkdir /data/misc/vold 0700 root root
+ mkdir /data/local/tmp 0771 shell shell
+ mkdir /data/data 0771 system system
+ mkdir /data/app-private 0771 system system
+ mkdir /data/app 0771 system system
+ mkdir /data/property 0700 root root
+ mkdir /data/tombstones 0771 system system
+
+ # create the lost+found directories, so as to enforce our permissions
+ mkdir /data/lost+found 0770
+ mkdir /cache/lost+found 0770
+ mkdir /data/adb 0700 root root
+
+ # double check the perms, in case lost+found already exists, and set owner
+ chown root root /data/lost+found
+ chmod 0770 /data/lost+found
+ chown root root /cache/lost+found
+ chmod 0770 /cache/lost+found
+
+ # VIA flashlessd service
+ mkdir /data/flashless 0770 radio nvram
+ mkdir /data/nvram/md_via 0770 root nvram
+ chmod 0660 /dev/ttyMT4
+ chown radio radio /dev/ttyMT4
+ chmod 0660 /dev/vmodem
+ chown radio radio /dev/vmodem
+
+ #VIA pppd service
+ mkdir /data/pppd_via 0770 radio system
+
+ # md32 boot
+ chown root system /dev/md32
+ chmod 0440 /dev/md32
+ chown root system /sys/class/misc/md32/md32_mobile_log
+ chmod 0660 /sys/class/misc/md32/md32_mobile_log
+ write /sys/class/misc/md32/md32_boot 1
+
+ # dhcp server
+ mkdir /data/misc/dhcp 0770 dhcp dhcp
+ chown dhcp dhcp /data/misc/dhcp
+
+ # device info interface
+ chmod 0440 /dev/devmap
+ chown root system /dev/devmap
+
+
+
+ #change partition permission
+ exec /system/etc/partition_permission.sh
+
+## Custom pos-fs area (START)
+# Please add custom fs operation below
+
+ # Touch Panel
+ chown root diag /sys/module/tpd_setting/parameters/tpd_calmat
+ chown root diag /sys/module/tpd_setting/parameters/tpd_em_debounce_time
+ chown root diag /sys/module/tpd_debug/parameters/tpd_em_log
+ chown root diag /sys/module/tpd_debug/parameters/tpd_em_log_to_fs
+
+ chmod 0664 /dev/pmem_multimedia
+ chmod 0664 /dev/mt6516-isp
+ chmod 0664 /dev/mt6516-IDP
+ chmod 0664 /dev/mt9p012
+ chmod 0664 /dev/mt6516_jpeg
+
+ # RTC
+ mkdir /data/misc/rtc 0770 system system
+
+ # Modem related device nodes
+ mkdir /data/nvram/md 0770 root system
+ mkdir /data/nvram/md2 0770 root system
+
+ chown radio radio /sys/kernel/ccci/boot
+
+ # M4U
+ chmod 0444 /dev/M4U_device
+
+ #set mlock limit to infinate (for m4u operation)
+ setrlimit 8 -1 -1
+
+ # Sensor
+ chmod 0666 /dev/hwmsensor
+ chmod 0666 /dev/gyroscope
+ chmod 0666 /dev/msensor
+ chmod 0666 /dev/gsensor
+ chmod 0666 /dev/alsps
+
+ #VideoCodec
+ chmod 0666 /dev/Vcodec
+
+
+ mkdir /data/amit/
+
+ # GPIO
+ chmod 0666 /dev/mtgpio
+
+ chmod 0666 /dev/exm0
+
+ # TTY
+ # For BT relayer
+ chown bluetooth radio /dev/ttyGS2
+ chmod 0660 /dev/ttyGS2
+ # For MD Logger
+ chown system radio /dev/ttyGS3
+ chmod 0660 /dev/ttyGS3
+
+ #NFC
+ rm /data/mtknfc_server
+
+## Custom pos_fs area (END)
+
+ # Separate location for storing security policy files on data
+ mkdir /data/security 0711 system system
+
+ # Reload policy from /data/security if present.
+ setprop selinux.reload_policy 1
+
+ # Set SELinux security contexts on upgrade or policy update.
+ restorecon_recursive /data
+
+ # 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
+
+on boot
+
+ #VIA device property
+ setprop viatel.device.asci uart.4.ttyMT
+ setprop viatel.device.fls sdio.3.ttySDIO
+ setprop viatel.device.at sdio.4.ttySDIO
+ setprop viatel.device.data sdio.1.ttySDIO
+
+# basic network init
+ ifup lo
+ hostname localhost
+ domainname localdomain
+
+
+# Start default class, this line is very important!!
+ class_start default
+ class_start core
+
+on nonencrypted
+ class_start main
+ class_start late_start
+
+on property:vold.decrypt=trigger_default_encryption
+ start defaultcrypto
+
+on property:vold.decrypt=trigger_encryption
+ start surfaceflinger
+ start encrypt
+
+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
+ start nvram_daemon
+ class_start main
+ class_start late_start
+ start permission_check
+
+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
+ seclabel u:r:ueventd:s0
+
+service logd /system/bin/logd
+ class core
+ socket logd stream 0666 logd logd
+ socket logdr seqpacket 0666 logd logd
+ socket logdw dgram 0222 logd logd
+ seclabel u:r:logd:s0
+
+service console /system/bin/sh
+ class core
+ console
+ disabled
+ user shell
+ group shell log
+ seclabel u:r:shell:s0
+
+on property:sys.powerctl=*
+ powerctl ${sys.powerctl}
+
+on property:ro.debuggable=1
+ start console
+
+# adbd is controlled via property triggers in init.<platform>.usb.rc
+service adbd /sbin/adbd --root_seclabel=u:r:su:s0
+ class core
+ socket adbd stream 660 system system
+ disabled
+ seclabel u:r:adbd:s0
+
+service vold /system/bin/vold
+ class core
+ socket vold stream 0660 root mount
+ socket cryptd stream 0660 root mount
+ ioprio be 2
+
+# One shot invocation to deal with encrypted volume.
+service defaultcrypto /system/bin/vdc --wait cryptfs mountdefaultencrypted
+ disabled
+ oneshot
+ # vold will set vold.decrypt to trigger_restart_framework (default
+ # encryption) or trigger_restart_min_framework (other encryption)
+
+# One shot invocation to encrypt unencrypted volumes
+service encrypt /system/bin/vdc --wait cryptfs enablecrypto inplace default
+ disabled
+ oneshot
+ # vold will set vold.decrypt to trigger_restart_framework (default
+ # encryption)
+
+## Custom service area (START)
+# Please add custom service below
+
+service thermal_manager /system/bin/thermal_manager
+ user root
+ oneshot
+
+service permission_check /system/bin/permission_check
+ user root
+ group system radio
+ oneshot
+
+service ccci_fsd /system/bin/ccci_fsd 0
+ user radio
+ group radio system
+ oneshot
+
+service ccci_mdinit /system/bin/ccci_mdinit 0
+ user system
+ group radio system
+ oneshot
+
+service ccci_rpcd /system/bin/ccci_rpcd 0
+ user radio
+ group radio system
+ oneshot
+
+service nvram_daemon /system/bin/nvram_daemon
+ class main
+ user root
+ group system
+ oneshot
+
+service installd /system/bin/installd
+ class main
+ socket installd stream 600 system system
+
+service factory_no_image /system/bin/factory
+ disabled
+ oneshot
+
+service factory_with_image /sbin/factory
+ disabled
+ oneshot
+
+service mobile_log_d /system/bin/mobile_log_d
+ class main
+
+#
+# Connectivity related services (End)
+#
+#
+## Custom service area (END)
+
+
+#statusd service
+service statusd /system/bin/statusd -f [/system/bin/flashlessd -l -m 0]
+ socket statusd stream 660 radio radio
+ user radio
+ group radio cache inet misc system
+
+on property:sys.mtk.no.factoryimage=1
+ start factory_no_image
+
+on property:sys.mtk.no.factoryimage=0
+ start factory_with_image
+
+#mass_storage,adb,acm
+on property:ro.boot.usbconfig=0
+ write /sys/class/android_usb/android0/iSerial $ro.serialno
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 0e8d
+ write /sys/class/android_usb/android0/idProduct 2006
+ write /sys/class/android_usb/android0/f_acm/instances 1
+ write /sys/class/android_usb/android0/functions mass_storage,adb,acm
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.acm_idx 1
+
+#acm
+on property:ro.boot.usbconfig=1
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/iSerial " "
+ write /sys/class/android_usb/android0/idVendor 0e8d
+ write /sys/class/android_usb/android0/idProduct 2007
+ write /sys/class/android_usb/android0/f_acm/instances 1
+ write /sys/class/android_usb/android0/functions acm
+ write /sys/class/android_usb/android0/bDeviceClass 02
+ write /sys/class/android_usb/android0/enable 1
+
+#single modem comport for factory mode
+on property:sys.usb.config=gs3,dual_acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor $sys.usb.vid
+ write /sys/class/android_usb/android0/idProduct 202E
+ write /sys/class/android_usb/android0/f_acm/port_index 1,4
+ write /sys/devices/platform/mt_usb/saving 1
+ write /sys/class/android_usb/android0/functions mass_storage,adb,acm
+ write /sys/class/android_usb/android0/enable 1
+ chown system radio /dev/ttyGS3
+ chmod 0660 /dev/ttyGS3
+ start adbd
+ setprop sys.usb.state $sys.usb.config
+ setprop sys.usb.acm_idx 1,4
+
+#dual modem comport for factory mode
+on property:sys.usb.config=gs1gs3,dual_acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor $sys.usb.vid
+ write /sys/class/android_usb/android0/idProduct 202F
+ write /sys/class/android_usb/android0/f_acm/port_index 1,2,4
+ write /sys/devices/platform/mt_usb/saving 1
+ write /sys/class/android_usb/android0/functions adb,acm
+ write /sys/class/android_usb/android0/enable 1
+ chown system radio /dev/ttyGS3
+ chmod 0660 /dev/ttyGS3
+ chown system radio /dev/ttyGS1
+ chmod 0660 /dev/ttyGS1
+ start adbd
+ setprop sys.usb.state $sys.usb.config
+ setprop sys.usb.acm_idx 1,2,4
+
diff --git a/rootdir/fstab.mt6735 b/rootdir/fstab.mt6735
new file mode 100644
index 0000000..d0fd9ef
--- /dev/null
+++ b/rootdir/fstab.mt6735
@@ -0,0 +1,15 @@
+# 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/mtk-msdc.0/11230000.MSDC0/by-name/system /system ext4 ro wait
+/dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/userdata /data ext4 noatime,nosuid,nodev,noauto_da_alloc,discard wait,check,resize,encryptable=/dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/metadata
+/dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/cache /cache ext4 noatime,nosuid,nodev,noauto_da_alloc,discard wait,check
+/dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/protect1 /protect_f ext4 noatime,nosuid,nodev,noauto_da_alloc,commit=1,nodelalloc wait,check,autoformat
+/dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/protect2 /protect_s ext4 noatime,nosuid,nodev,noauto_da_alloc,commit=1,nodelalloc wait,check,autoformat
+/dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/nvdata /nvdata ext4 noatime,nosuid,nodev,noauto_da_alloc,discard wait,check,autoformat
+/dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/frp /persistent emmc defaults defaults
+
+/devices/mtk-msdc.0/11240000.MSDC1* auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata
+/devices/platform/mt_usb* auto vfat defaults voldmanaged=usb:auto
diff --git a/rootdir/fstab.swap b/rootdir/fstab.swap
new file mode 100644
index 0000000..fcbd8ff
--- /dev/null
+++ b/rootdir/fstab.swap
@@ -0,0 +1 @@
+/dev/block/zram0 none swap defaults zramsize=536870912,zramstreams=3
diff --git a/rootdir/init.modem.rc b/rootdir/init.modem.rc
new file mode 100755
index 0000000..af3b371
--- /dev/null
+++ b/rootdir/init.modem.rc
@@ -0,0 +1,121 @@
+# 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.
+#
+
+on post-fs-data
+
+ write /proc/bootprof "post-fs-data: on modem start"
+
+ # Modem related device nodes
+ mkdir /data/nvram/md 0770 root system
+ mkdir /data/nvram/md3 0770 root system
+ mkdir /data/md3 0770 root system
+ chown radio radio /sys/kernel/ccci/boot
+ chown radio radio /dev/ccci_fs
+ chown radio radio /dev/ccci_ioctl0
+ chown radio radio /dev/ccci_ioctl1
+ chown radio radio /dev/ccci_ipc_1220_0
+ chown radio radio /dev/ccci_monitor
+ chown media audio /dev/ccci_aud
+
+ # Selinux
+ mkdir /data/ccci_cfg 0770 system radio
+ restorecon /data/ccci_cfg
+ restorecon_recursive /protect_f
+ restorecon_recursive /protect_s
+
+ # ignore permission check
+ write /data/ccci_cfg/md_new_ver.1 "flag"
+ chmod 0660 /data/ccci_cfg/md_new_ver.1
+
+ setprop vold.post_fs_data_done 1
+
+ # clear the sim switch flag
+ setprop persist.radio.simswitch ""
+
+service gsm0710muxd /system/bin/gsm0710muxd -s /dev/ttyC0 -f 512 -n 8 -m basic
+ class core
+ user root
+ group radio cache inet misc
+ disabled
+ oneshot
+
+service gsm0710muxdmd2 /system/bin/gsm0710muxdmd2 -s /dev/ccci2_tty0 -f 512 -n 8 -m basic
+ class core
+ user root
+ group radio cache inet misc
+ disabled
+ oneshot
+
+service muxreport-daemon /system/bin/muxreport
+ class core
+ user radio
+ group radio cache inet misc
+ disabled
+ oneshot
+
+service_redefine ril-daemon /system/bin/mtkrild
+ disabled
+
+service ril-daemon-mtk /system/bin/mtkrild
+ class core
+ socket rild stream 660 root radio
+ socket rild2 stream 660 root radio
+ socket rild3 stream 660 root radio
+ socket rild4 stream 660 root radio
+ socket rild-ims stream 660 root radio
+ socket rild-debug stream 660 radio system
+ socket rild-oem stream 660 radio system
+ socket rild-mtk-ut stream 660 radio net_bt
+ socket rild-mtk-ut-2 stream 660 radio net_bt
+ socket rild-mtk-modem stream 660 radio system
+ socket rild-atci stream 660 root radio
+# socket rild-mal stream 660 radio system
+# socket rild-mal-at stream 660 radio system
+# socket rild-vsim stream 660 root radio
+ socket sap_uim_socket1 stream 660 bluetooth bluetooth
+ socket sap_uim_socket2 stream 660 bluetooth bluetooth
+ socket sap_uim_socket3 stream 660 bluetooth bluetooth
+ socket sap_uim_socket4 stream 660 bluetooth bluetooth
+ user root
+ group radio cache inet misc audio sdcard_r sdcard_rw log system
+ disabled
+ oneshot
+
+#
+# Modem related services (Begin)
+#
+
+service ccci_fsd /system/bin/ccci_fsd 0
+ user radio
+ group radio system
+ class core
+ oneshot
+
+service ccci_mdinit /system/bin/ccci_mdinit 0
+ user system
+ group radio system
+ class core
+ oneshot
+
+service ccci_rpcd /system/bin/ccci_rpcd 0
+ user radio
+ group radio system
+ class core
+ oneshot
+
+#
+# Modem related services (End)
+#
+
+service terservice /system/bin/terservice
+ class core
+ user radio
+ group radio cache inet misc
+ oneshot
+
+on property:ril.muxreport=1
+ start muxreport-daemon
+
diff --git a/rootdir/init.mt6735.rc b/rootdir/init.mt6735.rc
new file mode 100755
index 0000000..520eeaa
--- /dev/null
+++ b/rootdir/init.mt6735.rc
@@ -0,0 +1,902 @@
+import /init.project.rc
+import /init.modem.rc
+
+on early-boot
+ # NOTE: early-boot is AFTER even post-fs-data!
+ # damn this is so easily overlooked
+ mount debugfs debugfs /sys/kernel/debug
+ chmod 0755 /sys/kernel/debug
+
+on early-init
+ #TODO: selinux meizu
+ #restorecon /sys/class/meizu/ps/ps_calibration
+
+on init
+ export LD_PRELOAD "libmtk_symbols.so"
+
+ export LD_SHIM_LIBS "/system/bin/mtk_agpsd|libshim_agps.so:/system/lib/libMtkOmxVdec.so|libshim_omx.so"
+
+ # mount points
+ mkdir /protect_f 0771 system system
+ mkdir /protect_s 0771 system system
+ mkdir /persist 0771 system system
+ mkdir /nvdata 0771 system system
+ mkdir /custom
+
+
+ # ion device
+ chmod 0666 /dev/ion
+ chmod 0660 /sys/bus/platform/drivers/gsensor/cpsdata
+ chmod 0660 /sys/bus/platform/drivers/gsensor/cpsrange
+ chmod 0660 /sys/bus/platform/drivers/gsensor/cpsbandwidth
+ chmod 0660 /sys/bus/platform/drivers/gsensor/cpsopmode
+ chmod 0660 /sys/bus/platform/drivers/gsensor/fifo_mode
+ chmod 0660 /sys/bus/platform/drivers/gsensor/fifo_data_frame
+ chmod 0660 /sys/bus/platform/drivers/gsensor/fifo_framecount
+ chown system system /sys/bus/platform/drivers/gsensor/cpsdata
+ chown system system /sys/bus/platform/drivers/gsensor/cpsrange
+ chown system system /sys/bus/platform/drivers/gsensor/cpsbandwidth
+ chown system system /sys/bus/platform/drivers/gsensor/cpsopmode
+ chown system system /sys/bus/platform/drivers/gsensor/fifo_mode
+ chown system system /sys/bus/platform/drivers/gsensor/fifo_data_frame
+ chown system system /sys/bus/platform/drivers/gsensor/fifo_framecount
+ # add for mag
+ chmod 0660 /sys/bus/platform/drivers/msensor/rawdata
+ chown system system /sys/bus/platform/drivers/msensor/rawdata
+ chmod 0660 /sys/bus/platform/drivers/msensor/daemon
+ chown system system /sys/bus/platform/drivers/msensor/daemon
+ # add for gyro
+ chmod 0660 /sys/bus/platform/drivers/gyroscope/rawdata
+ chmod 0660 /sys/bus/platform/drivers/gyroscope/datarate
+ chmod 0660 /sys/bus/platform/drivers/gyroscope/range
+ chmod 0660 /sys/bus/platform/drivers/gyroscope/powermode
+ chmod 0660 /sys/bus/platform/drivers/gyroscope/fifo_mode
+ chmod 0660 /sys/bus/platform/drivers/gyroscope/fifo_data_frame
+ chmod 0660 /sys/bus/platform/drivers/gyroscope/fifo_framecount
+ chown system system /sys/bus/platform/drivers/gyroscope/rawdata
+ chown system system /sys/bus/platform/drivers/gyroscope/datarate
+ chown system system /sys/bus/platform/drivers/gyroscope/range
+ chown system system /sys/bus/platform/drivers/gyroscope/powermode
+ chown system system /sys/bus/platform/drivers/gyroscope/fifo_mode
+ chown system system /sys/bus/platform/drivers/gyroscope/fifo_data_frame
+ chown system system /sys/bus/platform/drivers/gyroscope/fifo_framecount
+
+ # change lk_env permission
+ chown root system /proc/lk_env
+ chmod 0660 /proc/lk_env
+
+ chown root system /dev/kmsg
+ chmod 0660 /dev/kmsg
+
+on charger
+ mkdir /dev/block/platform/mtk-msdc.0/by-name 0755 root system
+ symlink /dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/logo /dev/block/platform/mtk-msdc.0/by-name/logo
+ chown root system /dev/block/platform/mtk-msdc.0/by-name/logo
+ chmod 0770 /dev/block/platform/mtk-msdc.0/by-name/logo
+ mount ext4 /dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/system /system ro wait
+ start fuelgauged
+ start kpoc_charger
+ start servicemanager
+
+on fs
+ mount_all /fstab.mt6735
+
+on post-fs
+ write /sys/block/zram0/comp_algorithm lz4
+ swapon_all /fstab.swap
+ write /proc/sys/vm/page-cluster 0
+
+ #change permissions for mediaserver
+ chown root media /proc/clkmgr/mipi_test
+
+# change owner
+ chown system system /proc/bootprof
+ chown root system /proc/mtprof/cputime
+ chown root system /proc/mtprof/reboot_pid
+
+ chown system system /protect_f
+ chmod 0770 /protect_f
+
+ chown system system /protect_s
+ chmod 0770 /protect_s
+
+ chown system system /system/bin/sbchk
+ chmod 0771 /system/bin/sbchk
+
+ mkdir /nvdata/APCFG 0770 system camera
+ mkdir /nvdata/APCFG/APRDCL 0770 system camera
+ mkdir /nvdata/APCFG/APRDEB 0770 system camera
+ # allow BT to read mac address
+ chown root:net_bt_stack /data/nvram/APCFG/APRDEB/BT_Addr
+ chown root:net_bt_stack /nvdata/APCFG/APRDEB/BT_Addr
+ mkdir /nvdata/md 0770 system radio
+ mkdir /nvdata/md_cmn 0770 system radio
+ mkdir /nvdata/media 0770 media audio
+ restorecon_recursive /nvdata
+
+ # Workaround for old nvram blobs
+ mkdir /dev/block/platform/mtk-msdc.0/by-name 0755 root system
+ symlink /dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/nvram /dev/block/platform/mtk-msdc.0/by-name/nvram
+ symlink /dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/proinfo /dev/block/platform/mtk-msdc.0/by-name/proinfo
+
+ # Wifi
+ mknod /dev/wmtWifi c 153 0
+ chmod 0660 /dev/wmtWifi
+ chown system system /dev/wmtWifi
+
+ mknod /dev/stpwmt c 190 0
+ mknod /dev/stpgps c 191 0
+ mknod /dev/stpbt c 192 0
+
+ # BT
+ chmod 0660 /dev/stpbt
+ chown radio bluetooth /dev/stpbt
+
+ chmod 0660 /dev/stpwmt
+ chown system system /dev/stpwmt
+
+ chmod 0660 /dev/wmtdetect
+ chown system system /dev/wmtdetect
+
+ # GPS
+ chmod 0660 /dev/gps
+ chown system gps /dev/gps
+ chmod 0660 /dev/stpgps
+ chown gps gps /dev/stpgps
+
+ restorecon /dev/wmtWifi
+ restorecon /dev/stpwmt
+ restorecon /dev/stpbt
+ restorecon /dev/stpgps
+
+ chown system system /sys/block/mmcblk0/queue/scheduler
+
+on post-fs-data
+ # We chown/chmod /nvdata again so because mount is run as root + defaults
+ chown root system /nvdata
+ chmod 0771 /nvdata
+ symlink /nvdata /data/nvram
+ mkdir /nvdata/media 0771 media audio
+
+ # Set SELinux security contexts on upgrade or policy update.
+ restorecon_recursive /nvdata
+
+ chmod 0660 /data/misc/wifi/p2p_supplicant.conf
+
+ #give system access to rfkill device node
+ chmod 0660 /dev/rfkill
+
+ # create for muxd pts device node , to operate without root
+ mkdir /dev/radio 0770 radio radio
+
+ mkdir /data/drm/wv 0770 drm system
+
+ # GPS
+ mkdir /data/gps_mnl 0771 gps system
+ mkdir /data/misc/gps 0770 gps gps
+ chown gps gps /sys/class/gpsdrv/gps/pwrctl
+ chown gps gps /sys/class/gpsdrv/gps/suspend
+ chown gps gps /sys/class/gpsdrv/gps/state
+ chown gps gps /sys/class/gpsdrv/gps/pwrsave
+ chown gps gps /sys/class/gpsdrv/gps/status
+
+ # AGPS
+ mkdir /data/agps_supl 0771 gps system
+ restorecon_recursive /data/misc/gps
+
+ # md32 boot
+ chown root system /dev/md32
+ chmod 0440 /dev/md32
+ chown root system /sys/class/misc/md32/md32_mobile_log
+ chmod 0660 /sys/class/misc/md32/md32_mobile_log
+ write /sys/class/misc/md32/md32_boot 1
+
+ # radvd
+ mkdir /data/misc/radvd 0770 system system
+ chmod 444 /etc/radvd/radvd.conf
+
+ # Mali Graphics
+ chmod 666 /dev/mali0
+
+ # Touch Panel
+ chown root diag /sys/module/tpd_setting/parameters/tpd_calmat
+ chown root diag /sys/module/tpd_setting/parameters/tpd_em_debounce_time
+ chown root diag /sys/module/tpd_setting/parameters/tpd_mode
+ chown root diag /sys/module/tpd_setting/parameters/tpd_em_debounce_time0
+ chown root diag /sys/module/tpd_setting/parameters/tpd_em_debounce_time1
+ chown root diag /sys/module/tpd_setting/parameters/tpd_em_spl_num
+ chown root diag /sys/module/tpd_setting/parameters/tpd_em_pressure_threshold
+ chown root diag /sys/module/tpd_setting/parameters/tpd_em_auto_time_interval
+ chown root diag /sys/module/tpd_setting/parameters/tpd_em_sample_cnt
+ chown root diag /sys/module/tpd_setting/parameters/tpd_em_asamp
+ chown root diag /sys/module/tpd_debug/parameters/tpd_em_log
+ chown root diag /sys/module/tpd_debug/parameters/tpd_em_log_to_fs
+
+ chmod 0666 /dev/pmem_multimedia
+
+ # watch dog kicker
+ write /proc/wdk "0 20 30"
+
+ # set ptmx group to non-root
+ chown root radio /dev/ptmx
+
+ # RTC
+ mkdir /data/misc/rtc 0770 system system
+
+ # set mlock limit to infinate (for m4u operation)
+ setrlimit 8 -1 -1
+
+ # CMDQ
+ chmod 0640 /dev/mtk_cmdq
+ chown system system /dev/mtk_cmdq
+
+ # OFFLOAD SERVICE
+ chmod 0640 /dev/offloadservice
+ chown media media /dev/offloadservice
+
+ # Sensor
+ chmod 0660 /dev/hwmsensor
+ chmod 0660 /dev/msensor
+ chmod 0660 /dev/gsensor
+ chmod 0660 /dev/als_ps
+ chmod 0660 /dev/gyroscope
+ chmod 0660 /dev/aal_als
+
+ chmod 0660 /sys/devices/platform/msensor/driver/cpsopmode
+ chmod 0660 /sys/devices/platform/msensor/driver/cpsreptxy
+ chmod 0660 /sys/devices/platform/msensor/driver/cpsreptz
+ chmod 0660 /sys/devices/platform/gsensor/driver/cpsopmode
+ chmod 0660 /sys/devices/platform/gsensor/driver/cpsrange
+ chmod 0660 /sys/devices/platform/gsensor/driver/cpsbandwidth
+
+ chown system system /dev/hwmsensor
+ chown system system /dev/msensor
+ chown system system /dev/gsensor
+ chown radio system /dev/als_ps
+ chown system system /dev/gyroscope
+ chown system system /dev/aal_als
+
+ chmod 0660 /sys/class/misc/m_acc_misc/accenablenodata
+ chmod 0660 /sys/class/misc/m_acc_misc/accactive
+ chmod 0660 /sys/class/misc/m_acc_misc/accdelay
+ chmod 0660 /sys/class/misc/m_acc_misc/accbatch
+ chmod 0660 /sys/class/misc/m_acc_misc/accflush
+ chown system system /sys/class/misc/m_acc_misc/accenablenodata
+ chown system system /sys/class/misc/m_acc_misc/accactive
+ chown system system /sys/class/misc/m_acc_misc/accdelay
+ chown system system /sys/class/misc/m_acc_misc/accbatch
+ chown system system /sys/class/misc/m_acc_misc/accflush
+
+ #camera flashlight sysfs
+ chmod 0644 /sys/class/flashlightdrv/kd_camera_flashlight/flash1
+ chmod 0644 /sys/class/flashlightdrv/kd_camera_flashlight/flash2
+ chown media system /sys/class/flashlightdrv/kd_camera_flashlight/flash1
+ chown media system /sys/class/flashlightdrv/kd_camera_flashlight/flash2
+
+ chmod 0660 /sys/class/misc/m_mag_misc/magactive
+ chmod 0660 /sys/class/misc/m_mag_misc/magdelay
+ chmod 0660 /sys/class/misc/m_mag_misc/magbatch
+ chmod 0660 /sys/class/misc/m_mag_misc/magflush
+ chmod 0660 /sys/class/misc/m_mag_misc/magoactive
+ chmod 0660 /sys/class/misc/m_mag_misc/magodelay
+ chmod 0660 /sys/class/misc/m_mag_misc/magobatch
+ chmod 0660 /sys/class/misc/m_mag_misc/magoflush
+ chown system system /sys/class/misc/m_mag_misc/magactive
+ chown system system /sys/class/misc/m_mag_misc/magdelay
+ chown system system /sys/class/misc/m_mag_misc/magbatch
+ chown system system /sys/class/misc/m_mag_misc/magflush
+ chown system system /sys/class/misc/m_mag_misc/magoactive
+ chown system system /sys/class/misc/m_mag_misc/magodelay
+ chown system system /sys/class/misc/m_mag_misc/magobatch
+ chown system system /sys/class/misc/m_mag_misc/magoflush
+ chmod 0660 /sys/class/misc/m_batch_misc/batchactive
+ chmod 0660 /sys/class/misc/m_batch_misc/batchdelay
+ chmod 0660 /sys/class/misc/m_batch_misc/batchbatch
+ chmod 0660 /sys/class/misc/m_batch_misc/batchflush
+ chown system system /sys/class/misc/m_batch_misc/batchactive
+ chown system system /sys/class/misc/m_batch_misc/batchdelay
+ chown system system /sys/class/misc/m_batch_misc/batchbatch
+ chown system system /sys/class/misc/m_batch_misc/batchflush
+
+ chmod 0660 /sys/class/misc/m_gyro_misc/gyroenablenodata
+ chmod 0660 /sys/class/misc/m_gyro_misc/gyroactive
+ chmod 0660 /sys/class/misc/m_gyro_misc/gyrodelay
+ chmod 0660 /sys/class/misc/m_gyro_misc/gyrobatch
+ chmod 0660 /sys/class/misc/m_gyro_misc/gyroflush
+ chown system system /sys/class/misc/m_gyro_misc/gyroenablenodata
+ chown system system /sys/class/misc/m_gyro_misc/gyroactive
+ chown system system /sys/class/misc/m_gyro_misc/gyrodelay
+ chown system system /sys/class/misc/m_gyro_misc/gyrobatch
+ chown system system /sys/class/misc/m_gyro_misc/gyroflush
+
+ chmod 0660 /sys/class/misc/m_alsps_misc/alsactive
+ chmod 0660 /sys/class/misc/m_alsps_misc/alsdelay
+ chmod 0660 /sys/class/misc/m_alsps_misc/alsbatch
+ chmod 0660 /sys/class/misc/m_alsps_misc/alsflush
+ chmod 0660 /sys/class/misc/m_alsps_misc/psactive
+ chmod 0660 /sys/class/misc/m_alsps_misc/psdelay
+ chmod 0660 /sys/class/misc/m_alsps_misc/psbatch
+ chmod 0660 /sys/class/misc/m_alsps_misc/psflush
+ chown system system /sys/class/misc/m_alsps_misc/alsactive
+ chown system system /sys/class/misc/m_alsps_misc/alsdelay
+ chown system system /sys/class/misc/m_alsps_misc/alsbatch
+ chown system system /sys/class/misc/m_alsps_misc/alsflush
+ chown system system /sys/class/misc/m_alsps_misc/psactive
+ chown system system /sys/class/misc/m_alsps_misc/psdelay
+ chown system system /sys/class/misc/m_alsps_misc/psbatch
+ chown system system /sys/class/misc/m_alsps_misc/psflush
+
+ chmod 0660 /sys/class/misc/m_baro_misc/baroenablenodata
+ chmod 0660 /sys/class/misc/m_baro_misc/baroactive
+ chmod 0660 /sys/class/misc/m_baro_misc/barodelay
+ chmod 0660 /sys/class/misc/m_baro_misc/barobatch
+ chmod 0660 /sys/class/misc/m_baro_misc/baroflush
+ chown system system /sys/class/misc/m_baro_misc/baroenablenodata
+ chown system system /sys/class/misc/m_baro_misc/baroactive
+ chown system system /sys/class/misc/m_baro_misc/barodelay
+ chown system system /sys/class/misc/m_baro_misc/barobatch
+ chown system system /sys/class/misc/m_baro_misc/baroflush
+
+ #dixiaobing@wind-mobi.com 20150525
+ # ps cali
+ chown system system /sys/class/meizu/ps/ps_calibration
+ chown system system /sys/class/meizu/ps/ps_offset
+
+ # acc cali
+ chown system system /sys/class/meizu/acc/acc_calibration
+ chown system system /sys/class/meizu/acc/acc_x_offset
+ chown system system /sys/class/meizu/acc/acc_y_offset
+ chown system system /sys/class/meizu/acc/acc_z_offset
+
+ #duanzhanyang@wind-mobi.com 20150620
+ chown system system /sys/devices/mx_leds/leds_mode
+
+ #Accdet
+ chown root radio /sys/devices/platform/Accdet_Driver/driver/accdet_call_state
+
+ #VideoCodec
+ mknod /dev/Vcodec c 160 0
+ chmod 0660 /dev/Vcodec
+ chown media camera /dev/Vcodec
+
+ #MJC
+ chmod 0660 /dev/MJC
+ chown system media /dev/MJC
+
+ #kpd
+ chown radio radio /sys/devices/platform/mtk-kpd/driver/kpd_call_state
+
+ #Charging Battery
+ chown radio radio /sys/devices/platform/battery/Charging_CallState
+
+ # PMIC property
+ chown radio system /sys/devices/platform/mt-pmic/low_battery_protect_stop
+ chown radio system /sys/devices/platform/mt-pmic/low_battery_protect_ut
+
+ mkdir /data/amit 0770 system system
+ mkdir /data/misc/sensor 0774 system system
+ mkdir /data/misc/akmd 0770 system system
+ mkdir /data/misc/s62x 0771 compass compass
+ mkdir /data/acdapi/ 0770 system system
+ chmod 0666 /data/misc/acdapi/calib.dat
+ chmod 0666 /data/misc/acdapi/param.dat
+ chmod 0666 /data/misc/acdapi/sensors.dat
+ chown system /sys/devices/platform/msensor/driver/cpsopmode
+ chown system /sys/devices/platform/msensor/driver/cpsreptxy
+ chown system /sys/devices/platform/msensor/driver/cpsreptz
+ chown system /sys/devices/platform/gsensor/driver/cpsopmode
+ chown system /sys/devices/platform/gsensor/driver/cpsrange
+
+ chown system /sys/class/input/input1/enable
+ chown system /sys/class/input/input1/delay
+ chown system /sys/class/input/input1/wake
+ chown system /sys/class/input/input1/offsets
+ chown system /sys/class/input/input2/enable
+ chown system /sys/class/input/input2/delay
+ chown system /sys/class/input/input2/wake
+ chown system /sys/class/input/input2/offsets
+ chown system /sys/class/input/input3/enable
+ chown system /sys/class/input/input3/delay
+ chown system /sys/class/input/input3/wake
+ chown system /sys/class/input/input3/offsets
+ chown system /sys/class/input/input4/enable
+ chown system /sys/class/input/input4/delay
+ chown system /sys/class/input/input4/wake
+ chown system /sys/class/input/input4/offsets
+ chown system /sys/class/input/input5/enable
+ chown system /sys/class/input/input5/delay
+ chown system /sys/class/input/input5/wake
+ chown system /sys/class/input/input5/offsets
+ chown system /sys/class/input/input6/enable
+ chown system /sys/class/input/input6/delay
+ chown system /sys/class/input/input6/wake
+ chown system /sys/class/input/input6/offsets
+ chown system /sys/class/input/input7/enable
+ chown system /sys/class/input/input7/delay
+ chown system /sys/class/input/input7/wake
+ chown system /sys/class/input/input7/offsets
+ chown system /sys/class/input/input8/enable
+ chown system /sys/class/input/input8/delay
+ chown system /sys/class/input/input8/wake
+ chown system /sys/class/input/input8/offsets
+ chown system /sys/class/input/input9/enable
+ chown system /sys/class/input/input9/delay
+ chown system /sys/class/input/input9/wake
+ chown system /sys/class/input/input9/offsets
+ chown system /sys/class/input/input10/enable
+ chown system /sys/class/input/input10/delay
+ chown system /sys/class/input/input10/wake
+ chown system /sys/class/input/input10/offsets
+
+ #EM eint
+ chown root diag /sys/bus/platform/drivers/eint/current_eint
+
+ mkdir /data/data/mcube 0664 system system
+
+ # Display
+ chmod 0660 /dev/graphics/fb0
+ chown system graphics /dev/graphics/fb0
+
+ chmod 0660 /dev/mtk_disp_mgr
+ chown system graphics /dev/mtk_disp_mgr
+
+ chmod 0660 /sys/devices/platform/mtk_disp_mgr.0/rgb
+ chown system system /sys/devices/platform/mtk_disp_mgr.0/rgb
+
+ chmod 0660 /dev/mtkfb_vsync
+ chown system graphics /dev/mtkfb_vsync
+
+ chmod 0660 /dev/sw_sync
+ chown system graphics /dev/sw_sync
+
+ # pmu
+ chown root radio /sys/devices/platform/mt-pmic/pmic_access_bank0
+ chown root radio /sys/devices/platform/mt-pmic/pmic_access_bank1
+ chown root radio /sys/devices/platform/mt6311-user/mt6311_access
+ chown root radio /sys/devices/platform/mt-pmic/pmic_access
+ chmod 0664 /sys/devices/platform/mt-pmic/pmic_access_bank0
+ chmod 0664 /sys/devices/platform/mt-pmic/pmic_access_bank1
+ chmod 0664 /sys/devices/platform/mt6311-user/mt6311_access
+ chmod 0664 /sys/devices/platform/mt-pmic/pmic_access
+
+ # Android SEC related device nodes
+ chmod 0660 /dev/sec
+ chown root system /dev/sec
+
+ # device info /proc interface
+ mknod /dev/devmap c 196 0;
+ chmod 0440 /dev/devmap
+ chown system camera /dev/devmap
+
+ # BT relayer mode used VCOM
+ chown bluetooth radio /dev/ttyGS2
+ chmod 0660 /dev/ttyGS2
+
+ # bluetooth
+ mkdir /data/@btmtk 0770 bluetooth net_bt
+ chown bluetooth bluetooth /data/@btmtk/host_cache
+ chown bluetooth bluetooth /data/@btmtk/dev_cache
+ chown bluetooth bluetooth /dev/hid-keyboard
+ chmod 0660 /dev/hid-keyboard
+ #Use uinput's default permission
+ chown system net_bt_admin /dev/uinput
+
+ # UIBC
+ chown system media /dev/uibc
+ chmod 0660 /dev/uibc
+
+ #TV-out
+ chmod 0664 /dev/TV-out
+
+ #HDMI
+ chmod 0664 /dev/hdmitx
+
+ # JPEG
+ #chmod 0444 /dev/mtk_jpeg
+
+ # almk
+ chmod 0440 /dev/mtk_almk
+
+ # DISP
+ chmod 0444 /dev/mtk_disp
+
+ #Camera
+ chmod 0660 /dev/camera-sysram
+ chmod 0660 /dev/camera-isp
+ chmod 0660 /dev/camera-fdvt
+ chmod 0660 /dev/camera-pipemgr
+ chmod 0660 /dev/kd_camera_hw
+ chmod 0660 /dev/kd_camera_flashlight
+ chmod 0660 /dev/kd_camera_hw_bus2
+ chmod 0660 /dev/BU64245
+ chmod 0660 /dev/CAM_CAL_DRV
+ chmod 0660 /dev/CAM_CAL_DRV_SUB
+
+ chown system camera /dev/camera-sysram
+ chown system camera /dev/camera-isp
+ chown system camera /dev/camera-fdvt
+ chown system camera /dev/camera-pipemgr
+ chown system camera /dev/kd_camera_hw
+ chown system camera /dev/kd_camera_flashlight
+ chown system camera /dev/kd_camera_hw_bus2
+ chown system camera /dev/BU64245
+ chown system camera /dev/CAM_CAL_DRV
+ chown system camera /dev/CAM_CAL_DRV_SUB
+
+ #MATV
+ chmod 0660 /dev/MATV
+ chown system media /dev/MATV
+
+ # otg_test
+ chown root radio /dev/mt_otg_test
+ chmod 0660 /dev/mt_otg_test
+
+ # MDP
+ chmod 0660 /dev/mt-mdp
+ chown system media /dev/mt-mdp
+
+ # SMI
+ chmod 0660 /dev/MTK_SMI
+ chown system camera /dev/MTK_SMI
+
+ chown system camera /sys/bus/platform/drivers/mem_bw_ctrl/concurrency_scenario
+ chmod 0660 /sys/bus/platform/drivers/mem_bw_ctrl/concurrency_scenario
+
+ #change partition permission
+
+ chmod 0640 /mtd@sec_ro
+ chown root system /mtd@sec_ro
+
+ chmod 0640 /mtd@preloader
+ chown root system /mtd@preloader
+
+ chmod 0640 /mtd@pro_info
+ chown root system /mtd@pro_info
+
+ chmod 0640 /mtd@bootimg
+ chown root system /mtd@bootimg
+
+ chmod 0640 /mtd@recovery
+ chown root system /mtd@recovery
+
+ chmod 0660 /mtd@nvram
+ chown root system /mtd@nvram
+
+ chmod 0660 /mtd@seccfg
+ chown root system /mtd@seccfg
+
+ chmod 0660 /mtd@misc
+ chown root system /mtd@misc
+
+ # mtk_sched
+ chmod 0660 /dev/mtk_sched
+ chown system media /dev/mtk_sched
+
+ # BT SCO CVSD, for MT6572 and MT6582 CVSD codec on AP
+ chmod 0660 /dev/ebc
+ chown system media /dev/ebc
+
+ #otp
+ chmod 0660 /proc/driver/otp
+ chown root system /proc/driver/otp
+
+ # autok
+ chown root system /sys/autok/debug
+ chown root system /sys/autok/param_count
+ chown root system /sys/autok/ready
+ chown root system /sys/autok/ss_corner
+ chown root system /sys/autok/suggest_vol
+ chown root system /sys/autok/stage1/2/DONE
+ chown root system /sys/autok/stage1/2/PARAMS
+ chown root system /sys/autok/stage1/2/VOLTAGE
+ chown root system /sys/autok/stage1/2/LOG
+ chown root system /sys/autok/stage2/2
+
+ #sn
+ chmod 0664 /sys/class/android_usb/android0/iSerial
+ chown root system /sys/class/android_usb/android0/iSerial
+ chmod 0664 /sys/devices/platform/mt_usb/cmode
+ chown root system /sys/devices/platform/mt_usb/cmode
+
+ # Thermal
+ mkdir /data/.tp/ 0775 system system
+
+ chmod 0660 /dev/ttyC2
+ chown system gps /dev/ttyC2
+
+ # Add by MEIZU BSP
+ setprop ro.product.mobile.name m81
+
+ 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/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
+ chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
+ chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
+ chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
+
+on boot
+ # default is root radio 0440
+ chmod 0644 /proc/cmdline
+
+ write /proc/sys/vm/dirty_writeback_centisecs 300
+ chmod 0660 /sys/power/autosleep
+
+ chmod 0664 /sys/class/leds/lcd-backlight/brightness
+
+ chown system system /sys/bus/platform/drivers/gyroscope/gyro_orientation
+ chown system system /sys/devices/system/cpu/cpufreq/hotplug/cpu_num_base
+ chmod 0660 /sys/devices/system/cpu/cpufreq/hotplug/cpu_num_base
+ chown root system /sys/kernel/debug/binder/transaction_log_enable
+ chown root system /sys/kernel/debug/binder/perf_evalue
+
+ chown system /sys/module/mlog/parameters/do_mlog
+ chown system /sys/module/mlog/parameters/timer_intval
+
+ chown root radio /sys/class/leds/lcd-backlight/duty
+ chown root radio /sys/class/leds/lcd-backlight/div
+ chown system system /sys/class/leds/lcd-backlight/trigger
+ chown system system /sys/class/leds/button-backlight/trigger
+ chown system system /sys/class/leds/keyboard-backlight/trigger
+ chown system system /sys/class/leds/jogball-backlight/trigger
+ chown system system /sys/class/leds/red/trigger
+ chown system system /sys/class/leds/green/trigger
+ chown system system /sys/class/leds/blue/trigger
+ # Add by Meizu BSP@YinShunQing
+ chown system system /sys/class/leds/button-backlight/oneshot_blink
+
+ # Permission for hibernation
+ chown radio system /sys/power/tuxonice
+ chown radio system /sys/power/tuxonice/do_hibernate
+ chmod 0770 /sys/power/tuxonice
+ chmod 0220 /sys/power/tuxonice/do_hibernate
+
+ # Smartbook Handler Framework
+ chown system system /sys/power/sb_state
+ chmod 0660 /sys/power/sb_state
+
+ # HMP CPU hotplug strategy
+ chown system system /proc/hps/num_base_perf_serv
+ chmod 0660 /proc/hps/num_base_perf_serv
+ chown system system /proc/hps/num_limit_power_serv
+ chmod 0660 /proc/hps/num_limit_power_serv
+ chown system system /proc/hps/num_limit_ultra_power_saving
+ chmod 0660 /proc/hps/num_limit_ultra_power_saving
+ chown system system /proc/hps/down_threshold
+ chmod 0660 /proc/hps/down_threshold
+ chown system system /proc/hps/up_threshold
+ chmod 0660 /proc/hps/up_threshold
+
+ # CPU freq
+ chown system system /proc/cpufreq/cpufreq_limited_by_hevc
+ chmod 0660 /proc/cpufreq/cpufreq_limited_by_hevc
+ chown system system /proc/cpufreq/cpufreq_limited_max_freq_by_user
+ chmod 0660 /proc/cpufreq/cpufreq_limited_max_freq_by_user
+
+ # BW monitor
+ chown system system /proc/fliper
+ chmod 0664 /proc/fliper
+
+ #change permissions about terminal
+ chown root radio /proc/net/vlan/config
+ chmod 0640 /proc/net/vlan/config
+ chown root radio /proc/net/ip6_tables_matches
+ chown root radio /proc/net/ip6_tables_names
+ chown root radio /proc/net/ip6_tables_targets
+ chown root radio /proc/net/arp_tables_targets
+ chown root radio /proc/net/arp_tables_matches
+ chown root radio /proc/net/arp_tables_names
+ chown root radio /proc/net/ip_tables_targets
+ chown root radio /proc/net/ip_tables_matches
+ chown root radio /proc/net/ip_tables_names
+ chown root radio /proc/net/ip_conntrack_expect
+ chown root radio /proc/net/ip_conntrack
+ chown root radio /proc/net/nf_conntrack
+ chown root radio /proc/net/nf_conntrack_expect
+ chown root radio /proc/net/netfilter/nfnetlink_log
+ chown root radio /proc/net/netfilter/nfnetlink_queue
+
+ # WMT proc
+ chown shell system /proc/driver/wmt_dbg
+ chown shell system /proc/driver/wmt_aee
+
+ # /dev/ttyMT2 for Connectivity BT/GPS usage
+ chmod 0660 /dev/ttyMT2
+ chown system system /dev/ttyMT2
+
+on property:ro.board.platform=mt6753
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
+ chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
+ write /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq 1300000
+
+on property:vold.decrypt=trigger_reset_main
+ start stop_modem
+
+on property:vold.decrypt=trigger_restart_min_framework
+ start start_modem
+ start msensord
+ start permission_check
+
+on property:vold.decrypt=trigger_restart_framework
+ start nvram_daemon
+ start start_modem
+ start msensord
+ start permission_check
+
+on property:vold.decrypt=trigger_shutdown_framework
+ start stop_modem
+
+service stop_modem /system/bin/md_ctrl 0
+ class main
+ disabled
+ oneshot
+
+service start_modem /system/bin/md_ctrl 1
+ class main
+ disabled
+ oneshot
+
+service nvram_daemon /system/bin/nvram_daemon
+ class main
+ user root
+ group system
+ oneshot
+
+service pq /system/bin/pq
+ class main
+ user system
+ group system graphics
+ oneshot
+
+#
+# MTK Wi-Fi related services (Begin)
+#
+
+# monitor property and power on/off wlan
+on property:wlan.driver.status=ok
+ write /dev/wmtWifi "1"
+
+on property:wlan.driver.status=unloaded
+ write /dev/wmtWifi "0"
+
+service p2p_supplicant /system/bin/wpa_supplicant \
+ -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
+ -I/system/etc/wifi/wpa_supplicant_overlay.conf -N \
+ -ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf -e/data/misc/wifi/entropy.bin \
+ -I/system/etc/wifi/p2p_supplicant_overlay.conf \
+ -O/data/misc/wifi/sockets -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 wpa_supplicant /system/bin/wpa_supplicant \
+ -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -e/data/misc/wifi/entropy.bin \
+ -I/system/etc/wifi/wpa_supplicant_overlay.conf \
+ -O/data/misc/wifi/sockets -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
+
+#
+# MTK Wi-Fi related services (End)
+#
+
+service PPLAgent /system/bin/ppl_agent
+ class main
+ user system
+ group system cache
+
+# GPS
+service agpsd /system/bin/mtk_agpsd
+ class main
+ socket agpsd stream 660 gps system
+ socket agpsd2 stream 660 gps inet
+ socket agpsd3 stream 660 gps inet
+ user gps
+ group gps radio inet sdcard_r sdcard_rw misc
+
+service wifi2agps /system/bin/wifi2agps
+ class main
+ user wifi
+ group gps inet
+
+service mnld /system/xbin/mnld
+ class main
+ user gps
+ group gps inet misc sdcard_rw sdcard_r media_rw system
+ socket mnld stream 660 gps system
+
+# Sensors
+service msensord /system/bin/msensord
+ class main
+ oneshot
+
+service s62xd /system/bin/s62xd
+ disabled
+ user compass
+ group system
+ class main
+
+service ami304d /system/bin/ami304d
+ user system
+ group system
+ disabled
+ class main
+
+service akmd09911 /system/bin/akmd09911
+ disabled
+ user system
+ group system
+ class main
+
+service bmm050d /system/bin/bmm050d
+ disabled
+ user system
+ group system
+ class main
+
+service mc6420d /system/bin/mc6420d
+ disabled
+ user system
+ group system
+ class main
+
+service orientationd /system/bin/orientationd
+ disabled
+ user system
+ group system input
+ class main
+
+service geomagneticd /system/bin/geomagneticd
+ disabled
+ user system
+ group system input
+ class main
+
+#
+# emsvr service (start)
+#
+service emsvr /system/bin/em_svr
+ class main
+ user system
+ group system radio diag
+
+#
+# emsvr service (end)
+#
+
+# Thermal
+service thermal_manager /system/bin/thermal_manager
+ class main
+ user root
+ group system
+ oneshot
+
+service fuelgauged /system/bin/fuelgauged
+ class main
+ user system
+ group system
+
+service wmtLoader /system/bin/wmt_loader
+ user root
+ group root
+ class core
+ oneshot
+
+service conn_launcher /system/bin/6620_launcher -p /system/etc/firmware/
+ user system
+ group system
+ class core
+
+service kpoc_charger /system/bin/kpoc_charger
+ class charger
+
diff --git a/rootdir/init.mt6735.usb.rc b/rootdir/init.mt6735.usb.rc
new file mode 100755
index 0000000..d5f390c
--- /dev/null
+++ b/rootdir/init.mt6735.usb.rc
@@ -0,0 +1,727 @@
+on boot
+ setprop sys.usb.vid 2A45
+ write /sys/class/android_usb/android0/iManufacturer Meizu
+ write /sys/class/android_usb/android0/iProduct M81
+ write /sys/class/android_usb/android0/iSerial ${ro.serialno}
+ write /sys/class/android_usb/android0/f_rndis/wceis 1
+ write /sys/class/android_usb/android0/f_rndis/manufacturer Meizu
+ write /sys/class/android_usb/android0/f_rndis/vendorID ${sys.usb.vid}
+
+on charger
+ write /sys/class/android_usb/android0/enable 1
+
+on 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
+ chown system system /sys/class/android_usb/android0/f_acm/port_index
+ chmod 0660 /sys/class/android_usb/android0/f_acm/port_index
+
+
+on post-fs-data
+ chown radio system /sys/class/usb_rawbulk/data/enable
+ chmod 0660 /sys/class/usb_rawbulk/data/enable
+ chown radio system /sys/class/usb_rawbulk/ets/enable
+ chmod 0660 /sys/class/usb_rawbulk/ets/enable
+ chown radio system /sys/class/usb_rawbulk/atc/enable
+ chmod 0660 /sys/class/usb_rawbulk/atc/enable
+ chown radio system /sys/class/usb_rawbulk/pcv/enable
+ chmod 0660 /sys/class/usb_rawbulk/pcv/enable
+ chown radio system /sys/class/usb_rawbulk/gps/enable
+ chmod 0660 /sys/class/usb_rawbulk/gps/enable
+
+# Used to disable USB when switching states
+on property:sys.usb.config=none
+ stop adbd
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/bDeviceClass 0
+ write /sys/devices/platform/mt_usb/saving 0
+ setprop sys.usb.state ${sys.usb.config}
+
+#1.acm
+on property:sys.usb.config=acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 0006
+ write /sys/class/android_usb/android0/f_acm/instances 1
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /sys/class/android_usb/android0/bDeviceClass 02
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+#2.adb
+on property:sys.usb.config=adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 0C01
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+#3.adb,acm
+on property:sys.usb.config=adb,acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 200E
+ write /sys/class/android_usb/android0/f_acm/instances 1
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+#4.mass_storage
+on property:sys.usb.config=mass_storage
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 0001
+ 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}
+
+#5.mass_storage,adb
+on property:sys.usb.config=mass_storage,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 0C03
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+#6.mtp
+on property:sys.usb.config=mtp
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 2008
+ 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}
+
+#7.mtp,acm
+on property:sys.usb.config=mtp,acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 2012
+ write /sys/class/android_usb/android0/f_acm/instances 1
+ 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}
+
+#8.mtp,adb
+on property:sys.usb.config=mtp,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 0C02
+ write /sys/class/android_usb/android0/functions mtp,adb
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+#9.mtp,adb,acm
+on property:sys.usb.config=mtp,adb,acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 200A
+ write /sys/class/android_usb/android0/f_acm/instances 1
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+#10.mtp,mass_storage
+on property:sys.usb.config=mtp,mass_storage
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 2016
+ 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}
+
+#11.mtp,mass_storage,adb
+on property:sys.usb.config=mtp,mass_storage,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 2017
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+#12.ptp
+on property:sys.usb.config=ptp
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 200B
+ 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}
+
+#13.ptp,acm
+on property:sys.usb.config=ptp,acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 2013
+ write /sys/class/android_usb/android0/f_acm/instances 1
+ 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}
+
+#14.ptp,adb
+on property:sys.usb.config=ptp,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 200C
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+#15.ptp,adb,acm
+on property:sys.usb.config=ptp,adb,acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 200D
+ write /sys/class/android_usb/android0/f_acm/instances 1
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+#16.ptp,mass_storage
+on property:sys.usb.config=ptp,mass_storage
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 2015
+ 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}
+
+#17.ptp,mass_storage,adb
+on property:sys.usb.config=ptp,mass_storage,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 2014
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+#18.rndis
+on property:sys.usb.config=rndis
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 0003
+ 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}
+
+#19.rndis,acm
+on property:sys.usb.config=rndis,acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 2011
+ write /sys/class/android_usb/android0/f_acm/instances 1
+ 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}
+
+#20.rndis,adb
+on property:sys.usb.config=rndis,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 0004
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+#21.rndis,adb,acm
+on property:sys.usb.config=rndis,adb,acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 2010
+ write /sys/class/android_usb/android0/f_acm/instances 1
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+#22.mass_storage,acm
+on property:sys.usb.config=mass_storage,acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 200F
+ write /sys/class/android_usb/android0/f_acm/instances 1
+ 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}
+
+#23.mass_storage,adb,acm
+on property:sys.usb.config=mass_storage,adb,acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 0005
+ write /sys/class/android_usb/android0/f_acm/instances 1
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+#24.mtp,mass_storage,acm
+on property:sys.usb.config=mtp,mass_storage,acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 2018
+ write /sys/class/android_usb/android0/f_acm/instances 1
+ 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}
+
+#25.mtp,mass_storage,adb,acm
+on property:sys.usb.config=mtp,mass_storage,adb,acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 2019
+ write /sys/class/android_usb/android0/f_acm/instances 1
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+#26.ptp,mass_storage,acm
+on property:sys.usb.config=ptp,mass_storage,acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 201A
+ write /sys/class/android_usb/android0/f_acm/instances 1
+ 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}
+
+#27.ptp,mass_storage,adb,acm
+on property:sys.usb.config=ptp,mass_storage,adb,acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 201B
+ write /sys/class/android_usb/android0/f_acm/instances 1
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+# duplicate of init.usb.rc
+
+#28. USB accessory configuration
+#on property:sys.usb.config=accessory
+# write /sys/class/android_usb/android0/enable 0
+# write /sys/class/android_usb/android0/idVendor 18d1
+# write /sys/class/android_usb/android0/idProduct 2d00
+# 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}
+
+#39. USB accessory configuration, with adb
+#on property:sys.usb.config=accessory,adb
+# write /sys/class/android_usb/android0/enable 0
+# write /sys/class/android_usb/android0/idVendor 18d1
+# write /sys/class/android_usb/android0/idProduct 2d01
+# write /sys/class/android_usb/android0/functions ${sys.usb.config}
+# write /sys/class/android_usb/android0/enable 1
+# start adbd
+# setprop sys.usb.state ${sys.usb.config}
+
+#30. audio accessory configuration
+#on property:sys.usb.config=audio_source
+# write /sys/class/android_usb/android0/enable 0
+# write /sys/class/android_usb/android0/idVendor 18d1
+# write /sys/class/android_usb/android0/idProduct 2d02
+# 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}
+
+#31. audio accessory configuration, with adb
+#on property:sys.usb.config=audio_source,adb
+# write /sys/class/android_usb/android0/enable 0
+# write /sys/class/android_usb/android0/idVendor 18d1
+# write /sys/class/android_usb/android0/idProduct 2d03
+# write /sys/class/android_usb/android0/functions ${sys.usb.config}
+# write /sys/class/android_usb/android0/enable 1
+# start adbd
+# setprop sys.usb.state ${sys.usb.config}
+
+#32. USB and audio accessory configuration
+#on property:sys.usb.config=accessory,audio_source
+# write /sys/class/android_usb/android0/enable 0
+# write /sys/class/android_usb/android0/idVendor 18d1
+# write /sys/class/android_usb/android0/idProduct 2d04
+# 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}
+
+#33. USB and audio accessory configuration, with adb
+#on property:sys.usb.config=accessory,audio_source,adb
+# write /sys/class/android_usb/android0/enable 0
+# write /sys/class/android_usb/android0/idVendor 18d1
+# write /sys/class/android_usb/android0/idProduct 2d05
+# write /sys/class/android_usb/android0/functions ${sys.usb.config}
+# write /sys/class/android_usb/android0/enable 1
+# start adbd
+# setprop sys.usb.state ${sys.usb.config}
+
+#34.USB Charging Only configuration
+on property:sys.usb.config=charging
+ setprop sys.usb.state ${sys.usb.config}
+ setprop sys.usb.charging yes
+
+on property:sys.usb.charging=yes
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 2008
+ write /sys/class/android_usb/android0/functions mtp
+ write /sys/class/android_usb/android0/enable 1
+ write /sys/devices/platform/mt_usb/cmode 2
+
+on property:sys.usb.charging=no
+ write /sys/devices/platform/mt_usb/cmode 1
+
+#35.USB BICR configuration(mass_storage)
+on property:sys.usb.config=bicr
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 0001
+ write /sys/class/android_usb/android0/functions mass_storage
+ write /sys/class/android_usb/android0/f_mass_storage/bicr 1
+ write /sys/class/android_usb/android0/f_mass_storage/lun/file "/dev/block/loop0"
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+#36.USB BICR configuration(mass_storage+adb)
+on property:sys.usb.config=bicr,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 0C03
+ write /sys/class/android_usb/android0/functions mass_storage,adb
+ write /sys/class/android_usb/android0/f_mass_storage/bicr 1
+ write /sys/class/android_usb/android0/f_mass_storage/lun/file "/dev/block/loop0"
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+#37.USB BICR configuration(mass_storage+adb+acm)
+on property:sys.usb.config=bicr,adb,acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 0005
+ write /sys/class/android_usb/android0/f_acm/instances 1
+ write /sys/class/android_usb/android0/functions mass_storage,adb,acm
+ write /sys/class/android_usb/android0/f_mass_storage/bicr 1
+ write /sys/class/android_usb/android0/f_mass_storage/lun/file "/dev/block/loop0"
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+#38.USB BICR configuration(mass_storage+acm)
+on property:sys.usb.config=bicr,acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 200F
+ write /sys/class/android_usb/android0/f_acm/instances 1
+ write /sys/class/android_usb/android0/functions mass_storage,acm
+ write /sys/class/android_usb/android0/f_mass_storage/bicr 1
+ write /sys/class/android_usb/android0/f_mass_storage/lun/file "/dev/block/loop0"
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+#39.eem
+on property:sys.usb.config=eem
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 2026
+ 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}
+
+#40.eem,acm
+on property:sys.usb.config=eem,acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 2027
+ write /sys/class/android_usb/android0/f_acm/instances 1
+ 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}
+
+#41.eem,adb
+on property:sys.usb.config=eem,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 2028
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+#42.eem,adb,acm
+on property:sys.usb.config=eem,adb,acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 2029
+ write /sys/class/android_usb/android0/f_acm/instances 1
+ write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+#C2K bypass
+on property:sys.usb.config=via_bypass
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.config}
+ write /sys/class/android_usb/android0/idProduct 2031
+ write /sys/devices/platform/mt_usb/saving 1
+ write /sys/class/android_usb/android0/functions via_modem,via_ets,via_atc
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+#C2K bypass,adb
+on property:sys.usb.config=via_bypass,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.config}
+ write /sys/class/android_usb/android0/idProduct 2032
+ write /sys/devices/platform/mt_usb/saving 1
+ write /sys/class/android_usb/android0/functions via_modem,via_ets,via_atc,adb
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+#C2K bypass,acm
+on property:sys.usb.config=via_bypass,acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.config}
+ write /sys/class/android_usb/android0/idProduct 2033
+ write /sys/devices/platform/mt_usb/saving 1
+ write /sys/class/android_usb/android0/functions via_modem,via_ets,via_atc,acm
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+#C2K bypass,adb,acm
+on property:sys.usb.config=via_bypass,adb,acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.config}
+ write /sys/class/android_usb/android0/idProduct 2034
+ write /sys/devices/platform/mt_usb/saving 1
+ write /sys/class/android_usb/android0/functions via_modem,via_ets,via_atc,adb,acm
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+#C2K rndis,bypass
+on property:sys.usb.config=rndis,via_bypass
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.config}
+ write /sys/class/android_usb/android0/idProduct 2036
+ write /sys/devices/platform/mt_usb/saving 1
+ write /sys/class/android_usb/android0/functions rndis,via_ets
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+#C2K rndis,bypass,adb
+on property:sys.usb.config=rndis,via_bypass,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.config}
+ write /sys/class/android_usb/android0/idProduct 2037
+ write /sys/devices/platform/mt_usb/saving 1
+ write /sys/class/android_usb/android0/functions rndis,via_ets,adb
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+#C2K rndis,bypass,acm
+on property:sys.usb.config=rndis,via_bypass,acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.config}
+ write /sys/class/android_usb/android0/idProduct 2038
+ write /sys/devices/platform/mt_usb/saving 1
+ write /sys/class/android_usb/android0/functions rndis,via_ets,acm
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+#C2K rndis,bypass,adb,acm
+on property:sys.usb.config=rndis,via_bypass,adb,acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.config}
+ write /sys/class/android_usb/android0/idProduct 2039
+ write /sys/devices/platform/mt_usb/saving 1
+ write /sys/class/android_usb/android0/functions rndis,via_ets,adb,acm
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+#43.acm third port for bt
+on property:sys.usb.config=acm_third
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 0005
+ write /sys/class/android_usb/android0/f_acm/port_index 3
+ write /sys/class/android_usb/android0/functions mass_storage,adb,acm
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+#44.comport --> /dev/ttyGS3
+on property:sys.usb.config=gs3
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 0005
+ write /sys/class/android_usb/android0/f_acm/port_index 4
+ write /sys/class/android_usb/android0/functions mass_storage,adb,acm
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+ setprop sys.usb.acm_idx 4
+
+on property:sys.usb.config=gs3,dual_acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 202E
+ write /sys/class/android_usb/android0/f_acm/port_index 1,4
+ write /sys/devices/platform/mt_usb/saving 1
+ write /sys/class/android_usb/android0/functions mass_storage,adb,acm
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+ setprop sys.usb.acm_idx 1,4
+
+on property:sys.usb.config=gs1gs3
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 2029
+ write /sys/class/android_usb/android0/f_acm/port_index 2,4
+ write /sys/devices/platform/mt_usb/saving 1
+ write /sys/class/android_usb/android0/functions mass_storage,adb,acm
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+ setprop sys.usb.acm_idx 2,4
+
+on property:sys.usb.config=gs1gs3,dual_acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 202F
+ write /sys/class/android_usb/android0/f_acm/port_index 1,2,4
+ write /sys/devices/platform/mt_usb/saving 1
+ write /sys/class/android_usb/android0/functions adb,acm
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+ setprop sys.usb.acm_idx 1,2,4
+
+###############################################
+
+on property:sys.usb.config=mass_storage,dual_acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 202D
+ write /sys/devices/platform/mt_usb/saving 1
+ write /sys/class/android_usb/android0/functions mass_storage,acm
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=mtp,dual_acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 202A
+ write /sys/devices/platform/mt_usb/saving 1
+ write /sys/class/android_usb/android0/functions mtp,acm
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=ptp,dual_acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 202B
+ write /sys/devices/platform/mt_usb/saving 1
+ write /sys/class/android_usb/android0/functions ptp,acm
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=rndis,dual_acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 202C
+ write /sys/devices/platform/mt_usb/saving 1
+ write /sys/class/android_usb/android0/functions rndis,acm
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=mass_storage,adb,dual_acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 2029
+ write /sys/devices/platform/mt_usb/saving 1
+ write /sys/class/android_usb/android0/functions mass_storage,adb,acm
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=mtp,adb,dual_acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 2026
+ write /sys/devices/platform/mt_usb/saving 1
+ write /sys/class/android_usb/android0/functions mtp,adb,acm
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=ptp,adb,dual_acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 2027
+ write /sys/devices/platform/mt_usb/saving 1
+ write /sys/class/android_usb/android0/functions ptp,adb,acm
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=rndis,adb,dual_acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
+ write /sys/class/android_usb/android0/idProduct 2028
+ write /sys/devices/platform/mt_usb/saving 1
+ write /sys/class/android_usb/android0/functions rndis,adb,acm
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.bicr=yes
+ write /sys/class/android_usb/android0/f_mass_storage/bicr 1
+ write /sys/class/android_usb/android0/f_mass_storage/lun/file "/dev/block/loop0"
+
+on property:sys.usb.bicr=no
+ write /sys/class/android_usb/android0/f_mass_storage/bicr 0
+ write /sys/class/android_usb/android0/f_mass_storage/lun/file "0"
+
+on property:mediatek.usb.port.mode=usb
+ write /sys/devices/platform/mt_usb/portmode 0
+
+on property:mediatek.usb.port.mode=uart
+ write /sys/devices/platform/mt_usb/portmode 1
+
+on property:mediatek.em.usb.set=USB_DRIVING_CAPABILITY
+ write /sys/kernel/debug/usb20_phy/USB_DRIVING_CAPABILITY ${mediatek.em.usb.value}
+
+on property:mediatek.em.usb.set=RG_USB20_TERM_VREF_SEL
+ write /sys/kernel/debug/usb20_phy/RG_USB20_TERM_VREF_SEL ${mediatek.em.usb.value}
+
+on property:mediatek.em.usb.set=RG_USB20_HSTX_SRCTRL
+ write /sys/kernel/debug/usb20_phy/RG_USB20_HSTX_SRCTRL ${mediatek.em.usb.value}
+
+on property:mediatek.em.usb.set=RG_USB20_VRT_VREF_SEL
+ write /sys/kernel/debug/usb20_phy/RG_USB20_VRT_VREF_SEL ${mediatek.em.usb.value}
+
+on property:mediatek.em.usb.set=RG_USB20_INTR_EN
+ write /sys/kernel/debug/usb20_phy/RG_USB20_INTR_EN ${mediatek.em.usb.value}
diff --git a/rootdir/init.project.rc b/rootdir/init.project.rc
new file mode 100755
index 0000000..81a06c2
--- /dev/null
+++ b/rootdir/init.project.rc
@@ -0,0 +1,181 @@
+# MTK project .rc configure
+
+import init.mt6735.usb.rc
+
+on init
+ mkdir /mnt/media_rw/usbotg 0700 media_rw media_rw
+ mkdir /storage/usbotg 0700 root root
+
+on post-fs-data
+
+#
+# Connectivity related device nodes & configuration (begin)
+#
+
+#/dev/ttyMT2 for Connectivity BT/GPS usage
+ chmod 0660 /dev/ttyMT2
+ chown system system /dev/ttyMT2
+
+ mknod /dev/wmtWifi c 153 0
+ chmod 0660 /dev/wmtWifi
+ chown system system /dev/wmtWifi
+
+#Camera
+ chmod 0660 /dev/BU64245
+ chown system camera /dev/BU64245
+
+# GPS
+ chown gps gps /sys/class/gpsdrv/gps/pwrctl
+ chown gps gps /sys/class/gpsdrv/gps/suspend
+ chown gps gps /sys/class/gpsdrv/gps/state
+ chown gps gps /sys/class/gpsdrv/gps/pwrsave
+ chown gps gps /sys/class/gpsdrv/gps/status
+
+# WiFi
+ mkdir /data/misc/wifi 0770 wifi wifi
+ mkdir /data/misc/wifi/sockets 0770 wifi wifi
+ mkdir /data/misc/wpa_supplicant 0770 wifi wifi
+ chown wifi wifi /data/misc/wifi
+
+## Sensors
+# ltr559
+ chmod 0660 /sys/bus/i2c/devices/2-0023/als_data
+ chown system system /sys/bus/i2c/devices/2-0023/als_data
+
+ chmod 0660 /sys/bus/i2c/devices/2-0023/als_enable
+ chown system system /sys/bus/i2c/devices/2-0023/als_enable
+
+ chmod 0660 /sys/bus/i2c/devices/2-0023/ps_data
+ chown system system /sys/bus/i2c/devices/2-0023/ps_data
+
+ chmod 0660 /sys/bus/i2c/devices/2-0023/ps_enable
+ chown system system /sys/bus/i2c/devices/2-0023/ps_enable
+
+ chmod 0660 /sys/bus/i2c/devices/2-0023/ps_interrupt
+ chown system system /sys/bus/i2c/devices/2-0023/ps_interrupt
+
+ chmod 0660 /sys/bus/i2c/devices/2-0023/ps_offset
+ chown system system /sys/bus/i2c/devices/2-0023/ps_offset
+
+ chmod 0660 /sys/bus/i2c/devices/2-0023/reg
+ chown system system /sys/bus/i2c/devices/2-0023/reg
+
+ chmod 660 /sys/bus/i2c/devices/2-0023/self_test
+ chown system system /sys/bus/i2c/devices/2-0023/self_test
+
+# sensor st480 and ak09911
+ chmod 660 /sys/bus/i2c/devices/2-000c/self_test
+ chown system system /sys/bus/i2c/devices/2-000c/self_test
+
+# lsm6ds3
+ chown system system /dev/iio\:device0
+ chmod 0666 /dev/iio\:device0
+ chown system system /dev/iio\:device1
+ chmod 0666 /dev/iio\:device1
+ chown system system /dev/iio\:device2
+ chmod 0666 /dev/iio\:device2
+ chown system system /dev/iio\:device3
+ chmod 0666 /dev/iio\:device3
+ chown system system /dev/iio\:device4
+ chmod 0666 /dev/iio\:device4
+ chown system system /dev/iio\:device5
+ chmod 0666 /dev/iio\:device5
+ chown system system /dev/iio\:device6
+ chmod 0666 /dev/iio\:device6
+ chown system system /dev/iio\:device7
+ chmod 0666 /dev/iio\:device7
+ chown system system /dev/iio\:device8
+ chmod 0666 /dev/iio\:device8
+ chown system system /dev/iio\:device9
+ chmod 0666 /dev/iio\:device9
+
+
+# meizu sensor interfaces
+ chown system system /sys/class/meizu/acc/acc_calibration
+ chown system system /sys/class/meizu/acc/acc_enable
+ chown system system /sys/class/meizu/acc/acc_self_test
+ chown system system /sys/class/meizu/acc/acc_x_calibbias
+ chown system system /sys/class/meizu/acc/acc_y_calibbias
+ chown system system /sys/class/meizu/acc/acc_z_calibbias
+ chown system system /sys/class/meizu/acc/acc_x_offset
+ chown system system /sys/class/meizu/acc/acc_y_offset
+ chown system system /sys/class/meizu/acc/acc_z_offset
+ chown system system /sys/class/meizu/acc/acc_id
+ chown system system /sys/class/meizu/acc/acc_name
+
+ chown system system /sys/class/meizu/gyr/gyr_enable
+ chown system system /sys/class/meizu/gyr/gyr_self_test
+ chown system system /sys/class/meizu/gyr/gyr_id
+ chown system system /sys/class/meizu/gyr/gyr_name
+
+ chown system system /sys/class/meizu/ps/ps_enable
+ chown system system /sys/class/meizu/ps/ps_data
+ chown system system /sys/class/meizu/ps/ps_calibration
+ chown system system /sys/class/meizu/ps/ps_calibbias
+ chown system system /sys/class/meizu/ps/ps_offset
+ chown system system /sys/class/meizu/ps/ps_id
+ chown system system /sys/class/meizu/ps/ps_name
+ chown system system /sys/class/meizu/ps/ps_irq_gpio
+
+ chown system system /sys/class/meizu/als/als_enable
+ chown system system /sys/class/meizu/als/als_data
+ chown system system /sys/class/meizu/als/als_id
+ chown system system /sys/class/meizu/als/als_name
+
+ chown system system /sys/class/meizu/compass/compass_enable
+ chown system system /sys/class/meizu/compass/compass_self_test
+ chown system system /sys/class/meizu/compass/compass_id
+ chown system system /sys/class/meizu/compass/compass_name
+
+# Char device for BT 3.0 HS
+ mknod /dev/ampc0 c 151 0
+ chown bluetooth bluetooth /dev/ampc0
+ chmod 0660 /dev/ampc0
+
+# Add by Meizu BSP@YinShunQing for HALL
+ chown system system /sys/devices/platform/gpio-keys.0/key_hall_state
+ chmod 0440 /sys/devices/platform/gpio-keys.0/key_hall_state
+
+# Add by WuWeilin@BSP for power mode permission
+ chown system system /sys/power/power_mode
+# for Holster
+ chown system system /sys/devices/mx_tsp/hall_mode
+ chmod 0660 /sys/devices/mx_tsp/hall_mode
+
+# for Gesture
+ chown system system /sys/devices/platform/mx-gs/gesture_control
+ chmod 0660 /sys/devices/platform/mx-gs/gesture_control
+ chown system system /sys/devices/platform/mx-gs/gesture_data
+ chmod 0660 /sys/devices/platform/mx-gs/gesture_data
+
+# for notification leds
+ chmod 0660 /sys/class/leds/button-backlight/trigger
+ chmod 0660 /sys/class/leds/button-backlight/oneshot_blink
+ chmod 0660 /sys/class/leds/button-backlight/brightness
+
+#
+# Connectivity related device nodes & configuration (end)
+#
+
+# Encrypt phone function
+ setprop vold.post_fs_data_done 1
+
+#
+# Connectivity related services (Begin)
+#
+
+service wmtLoader /system/bin/wmt_loader
+ user root
+ group root
+ class core
+ oneshot
+
+service conn_launcher /system/bin/6620_launcher -p /system/etc/firmware/
+ user system
+ group system
+ class core
+
+#
+# Connectivity related services (End)
+#
+
diff --git a/rootdir/init.rc b/rootdir/init.rc
new file mode 100644
index 0000000..846ca1b
--- /dev/null
+++ b/rootdir/init.rc
@@ -0,0 +1,674 @@
+# 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.environ.rc
+import /init.usb.rc
+import /init.${ro.hardware}.rc
+import /init.usb.configfs.rc
+import /init.${ro.zygote}.rc
+
+on early-init
+ # Set init and its forked children's oom_adj.
+ write /proc/1/oom_score_adj -1000
+
+ # Disable sysrq from keyboard
+ write /proc/sys/kernel/sysrq 0
+
+ # Set the security context of /adb_keys if present.
+ restorecon /adb_keys
+
+ # Shouldn't be necessary, but sdcard won't start without it. http://b/22568628.
+ mkdir /mnt 0775 root system
+
+ # Set the security context of /postinstall if present.
+ restorecon /postinstall
+
+ start ueventd
+
+on init
+ sysclktz 0
+
+ # Mix device-specific information into the entropy pool
+ copy /proc/cmdline /dev/urandom
+ copy /default.prop /dev/urandom
+
+ # Backward compatibility.
+ symlink /system/etc /etc
+ symlink /sys/kernel/debug /d
+
+ # Link /vendor to /system/vendor for devices without a vendor partition.
+ symlink /system/vendor /vendor
+
+ # Mount cgroup mount point for cpu accounting
+ mount cgroup none /acct cpuacct
+ mkdir /acct/uid
+
+ # Create energy-aware scheduler tuning nodes
+ mkdir /dev/stune
+ mount cgroup none /dev/stune schedtune
+ mkdir /dev/stune/foreground
+ mkdir /dev/stune/background
+ mkdir /dev/stune/top-app
+ chown system system /dev/stune
+ chown system system /dev/stune/foreground
+ chown system system /dev/stune/background
+ chown system system /dev/stune/top-app
+ chown system system /dev/stune/tasks
+ chown system system /dev/stune/foreground/tasks
+ chown system system /dev/stune/background/tasks
+ chown system system /dev/stune/top-app/tasks
+ chmod 0664 /dev/stune/tasks
+ chmod 0664 /dev/stune/foreground/tasks
+ chmod 0664 /dev/stune/background/tasks
+ chmod 0664 /dev/stune/top-app/tasks
+
+ # Mount staging areas for devices managed by vold
+ # See storage config details at http://source.android.com/tech/storage/
+ mount tmpfs tmpfs /mnt mode=0755,uid=0,gid=1000
+ restorecon_recursive /mnt
+
+ mount configfs none /config
+ chmod 0775 /config/sdcardfs
+ chown system package_info /config/sdcardfs
+
+ mkdir /mnt/secure 0700 root root
+ mkdir /mnt/secure/asec 0700 root root
+ mkdir /mnt/asec 0755 root system
+ mkdir /mnt/obb 0755 root system
+ mkdir /mnt/media_rw 0750 root media_rw
+ mkdir /mnt/user 0755 root root
+ mkdir /mnt/user/0 0755 root root
+ mkdir /mnt/expand 0771 system system
+ mkdir /mnt/appfuse 0711 root root
+
+ # Storage views to support runtime permissions
+ mkdir /mnt/runtime 0700 root root
+ mkdir /mnt/runtime/default 0755 root root
+ mkdir /mnt/runtime/default/self 0755 root root
+ mkdir /mnt/runtime/read 0755 root root
+ mkdir /mnt/runtime/read/self 0755 root root
+ mkdir /mnt/runtime/write 0755 root root
+ mkdir /mnt/runtime/write/self 0755 root root
+
+ # Symlink to keep legacy apps working in multi-user world
+ symlink /storage/self/primary /sdcard
+ symlink /storage/self/primary /mnt/sdcard
+ symlink /mnt/user/0/primary /mnt/runtime/default/self/primary
+
+ # root memory control cgroup, used by lmkd
+ mkdir /dev/memcg 0700 root system
+ mount cgroup none /dev/memcg memory
+ # app mem cgroups, used by activity manager, lmkd and zygote
+ mkdir /dev/memcg/apps/ 0755 system system
+
+ write /proc/sys/kernel/panic_on_oops 1
+ write /proc/sys/kernel/hung_task_timeout_secs 0
+ write /proc/cpu/alignment 4
+
+ # scheduler tunables
+ # Disable auto-scaling of scheduler tunables with hotplug. The tunables
+ # will vary across devices in unpredictable ways if allowed to scale with
+ # cpu cores.
+ write /proc/sys/kernel/sched_tunable_scaling 0
+ write /proc/sys/kernel/sched_latency_ns 10000000
+ write /proc/sys/kernel/sched_wakeup_granularity_ns 2000000
+ 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/vm/mmap_min_addr 32768
+ write /proc/sys/net/ipv4/ping_group_range "0 2147483647"
+ write /proc/sys/net/unix/max_dgram_qlen 600
+ write /proc/sys/kernel/sched_rt_runtime_us 950000
+ write /proc/sys/kernel/sched_rt_period_us 1000000
+
+ # reflect fwmark from incoming packets onto generated replies
+ write /proc/sys/net/ipv4/fwmark_reflect 1
+ write /proc/sys/net/ipv6/fwmark_reflect 1
+
+ # set fwmark on accepted sockets
+ write /proc/sys/net/ipv4/tcp_fwmark_accept 1
+
+ # disable icmp redirects
+ write /proc/sys/net/ipv4/conf/all/accept_redirects 0
+ write /proc/sys/net/ipv6/conf/all/accept_redirects 0
+
+ # 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 0666 /dev/cpuctl/tasks
+ write /dev/cpuctl/cpu.rt_period_us 1000000
+ write /dev/cpuctl/cpu.rt_runtime_us 950000
+
+ mkdir /dev/cpuctl/bg_non_interactive
+ chown system system /dev/cpuctl/bg_non_interactive/tasks
+ chmod 0666 /dev/cpuctl/bg_non_interactive/tasks
+ # 5.0 %
+ write /dev/cpuctl/bg_non_interactive/cpu.shares 52
+ write /dev/cpuctl/bg_non_interactive/cpu.rt_period_us 1000000
+ # active FIFO threads will never be in BG
+ write /dev/cpuctl/bg_non_interactive/cpu.rt_runtime_us 10000
+
+ # sets up initial cpusets for ActivityManager
+ mkdir /dev/cpuset
+ mount cpuset none /dev/cpuset
+
+ # this ensures that the cpusets are present and usable, but the device's
+ # init.rc must actually set the correct cpus
+ mkdir /dev/cpuset/foreground
+ write /dev/cpuset/foreground/cpus 0
+ write /dev/cpuset/foreground/mems 0
+ mkdir /dev/cpuset/foreground/boost
+ write /dev/cpuset/foreground/boost/cpus 0
+ write /dev/cpuset/foreground/boost/mems 0
+ mkdir /dev/cpuset/background
+ write /dev/cpuset/background/cpus 0
+ write /dev/cpuset/background/mems 0
+
+ # system-background is for system tasks that should only run on
+ # little cores, not on bigs
+ # to be used only by init, so don't change system-bg permissions
+ mkdir /dev/cpuset/system-background
+ write /dev/cpuset/system-background/cpus 0
+ write /dev/cpuset/system-background/mems 0
+
+ mkdir /dev/cpuset/top-app
+ write /dev/cpuset/top-app/cpus 0
+ write /dev/cpuset/top-app/mems 0
+
+ # change permissions for all cpusets we'll touch at runtime
+ chown system system /dev/cpuset
+ chown system system /dev/cpuset/foreground
+ chown system system /dev/cpuset/foreground/boost
+ chown system system /dev/cpuset/background
+ chown system system /dev/cpuset/system-background
+ chown system system /dev/cpuset/top-app
+ chown system system /dev/cpuset/tasks
+ chown system system /dev/cpuset/foreground/tasks
+ chown system system /dev/cpuset/foreground/boost/tasks
+ chown system system /dev/cpuset/background/tasks
+ chown system system /dev/cpuset/system-background/tasks
+ chown system system /dev/cpuset/top-app/tasks
+
+ # set system-background to 0775 so SurfaceFlinger can touch it
+ chmod 0775 /dev/cpuset/system-background
+
+ chmod 0664 /dev/cpuset/foreground/tasks
+ chmod 0664 /dev/cpuset/foreground/boost/tasks
+ chmod 0664 /dev/cpuset/background/tasks
+ chmod 0664 /dev/cpuset/system-background/tasks
+ chmod 0664 /dev/cpuset/top-app/tasks
+ chmod 0664 /dev/cpuset/tasks
+
+
+ # qtaguid will limit access to specific data based on group memberships.
+ # net_bw_acct grants impersonation of socket owners.
+ # net_bw_stats grants access to other apps' detailed tagged-socket stats.
+ chown root net_bw_acct /proc/net/xt_qtaguid/ctrl
+ chown root net_bw_stats /proc/net/xt_qtaguid/stats
+
+ # 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
+
+ # Create location for fs_mgr to store abbreviated output from filesystem
+ # checker programs.
+ mkdir /dev/fscklogs 0770 root system
+
+ # pstore/ramoops previous console log
+ mount pstore pstore /sys/fs/pstore
+ chown system log /sys/fs/pstore/console-ramoops
+ chmod 0440 /sys/fs/pstore/console-ramoops
+ chown system log /sys/fs/pstore/pmsg-ramoops-0
+ chmod 0440 /sys/fs/pstore/pmsg-ramoops-0
+
+ # enable armv8_deprecated instruction hooks
+ write /proc/sys/abi/swp 1
+
+ # Linux's execveat() syscall may construct paths containing /dev/fd
+ # expecting it to point to /proc/self/fd
+ symlink /proc/self/fd /dev/fd
+
+ export DOWNLOAD_CACHE /data/cache
+
+ # set RLIMIT_NICE to allow priorities from 19 to -20
+ setrlimit 13 40 40
+
+# Healthd can trigger a full boot from charger mode by signaling this
+# property when the power button is held.
+on property:sys.boot_from_charger_mode=1
+ class_stop charger
+ trigger late-init
+
+# Load properties from /system/ + /factory after fs mount.
+on load_system_props_action
+ load_system_props
+
+on load_persist_props_action
+ load_persist_props
+ start logd
+ start logd-reinit
+
+# Indicate to fw loaders that the relevant mounts are up.
+on firmware_mounts_complete
+ rm /dev/.booting
+
+# Mount filesystems and start core system services.
+on late-init
+ trigger early-fs
+
+ # Mount fstab in init.{$device}.rc by mount_all command. Optional parameter
+ # '--early' can be specified to skip entries with 'latemount'.
+ # /system and /vendor must be mounted by the end of the fs stage,
+ # while /data is optional.
+ trigger fs
+ trigger post-fs
+
+ # Load properties from /system/ + /factory after fs mount. Place
+ # this in another action so that the load will be scheduled after the prior
+ # issued fs triggers have completed.
+ trigger load_system_props_action
+
+ # Mount fstab in init.{$device}.rc by mount_all with '--late' parameter
+ # to only mount entries with 'latemount'. This is needed if '--early' is
+ # specified in the previous mount_all command on the fs stage.
+ # With /system mounted and properties form /system + /factory available,
+ # some services can be started.
+ trigger late-fs
+
+ # Now we can mount /data. File encryption requires keymaster to decrypt
+ # /data, which in turn can only be loaded when system properties are present.
+ trigger post-fs-data
+
+ # Load persist properties and override properties (if enabled) from /data.
+ trigger load_persist_props_action
+
+ # Remove a file to wake up anything waiting for firmware.
+ trigger firmware_mounts_complete
+
+ trigger early-boot
+ trigger boot
+
+
+on post-fs
+ # once everything is setup, no need to modify /
+ mount rootfs rootfs / ro remount
+ # Mount shared so changes propagate into child namespaces
+ mount rootfs rootfs / shared rec
+ # Mount default storage into root namespace
+ mount none /mnt/runtime/default /storage slave bind rec
+
+ # Make sure /sys/kernel/debug (if present) is labeled properly
+ restorecon_recursive /sys/kernel/debug
+
+ # We chown/chmod /cache again so because mount is run as root + defaults
+ chown system cache /cache
+ chmod 0770 /cache
+ # We restorecon /cache in case the cache partition has been reset.
+ restorecon_recursive /cache
+
+ # Create /cache/recovery in case it's not there. It'll also fix the odd
+ # permissions if created by the recovery system.
+ mkdir /cache/recovery 0770 system cache
+
+ # Backup/restore mechanism uses the cache partition
+ mkdir /cache/backup_stage 0700 system system
+ mkdir /cache/backup 0700 system system
+
+ #change permissions on vmallocinfo so we can grab it from bugreports
+ chown root log /proc/vmallocinfo
+ chmod 0440 /proc/vmallocinfo
+
+ chown root log /proc/slabinfo
+ chmod 0440 /proc/slabinfo
+
+ #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
+ chown system log /proc/last_kmsg
+ chmod 0440 /proc/last_kmsg
+
+ # make the selinux kernel policy world-readable
+ chmod 0444 /sys/fs/selinux/policy
+
+ # 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
+ # We restorecon /data in case the userdata partition has been reset.
+ restorecon /data
+
+ # start debuggerd to make debugging early-boot crashes easier.
+ start debuggerd
+ start debuggerd64
+
+ # Make sure we have the device encryption key.
+ start vold
+ installkey /data
+
+ # Start bootcharting as soon as possible after the data partition is
+ # mounted to collect more data.
+ mkdir /data/bootchart 0755 shell shell
+ bootchart_init
+
+ # Avoid predictable entropy pool. Carry over entropy from previous boot.
+ copy /data/system/entropy.dat /dev/urandom
+
+ # create basic filesystem structure
+ mkdir /data/misc 01771 system misc
+ mkdir /data/misc/bluedroid 02770 bluetooth net_bt_stack
+ # Fix the access permissions and group ownership for 'bt_config.conf'
+ chmod 0660 /data/misc/bluedroid/bt_config.conf
+ chown bluetooth net_bt_stack /data/misc/bluedroid/bt_config.conf
+ mkdir /data/misc/bluetooth 0770 system system
+ mkdir /data/misc/keystore 0700 keystore keystore
+ mkdir /data/misc/gatekeeper 0700 system system
+ mkdir /data/misc/keychain 0771 system system
+ mkdir /data/misc/net 0750 root shell
+ mkdir /data/misc/radio 0770 system radio
+ mkdir /data/misc/sms 0770 system radio
+ mkdir /data/misc/zoneinfo 0775 system system
+ mkdir /data/misc/vpn 0770 system vpn
+ mkdir /data/misc/shared_relro 0771 shared_relro shared_relro
+ mkdir /data/misc/systemkeys 0700 system system
+ 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/ethernet 0770 system system
+ mkdir /data/misc/dhcp 0770 dhcp dhcp
+ mkdir /data/misc/user 0771 root root
+ mkdir /data/misc/perfprofd 0775 root root
+ # give system access to wpa_supplicant.conf for backup and restore
+ chmod 0660 /data/misc/wifi/wpa_supplicant.conf
+ mkdir /data/local 0751 root root
+ mkdir /data/misc/media 0700 media media
+ mkdir /data/misc/audioserver 0700 audioserver audioserver
+ mkdir /data/misc/cameraserver 0700 cameraserver cameraserver
+ mkdir /data/misc/vold 0700 root root
+ mkdir /data/misc/boottrace 0771 system shell
+ mkdir /data/misc/update_engine 0700 root root
+ mkdir /data/misc/trace 0700 root root
+ # profile file layout
+ mkdir /data/misc/profiles 0771 system system
+ mkdir /data/misc/profiles/cur 0771 system system
+ mkdir /data/misc/profiles/ref 0771 system system
+ mkdir /data/misc/profman 0770 system shell
+
+ # 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-ephemeral 0771 system system
+ mkdir /data/app-asec 0700 root root
+ mkdir /data/app-lib 0771 system system
+ mkdir /data/app 0771 system system
+ mkdir /data/property 0700 root root
+ mkdir /data/tombstones 0771 system system
+
+ # create dalvik-cache, so as to enforce our permissions
+ mkdir /data/dalvik-cache 0771 root root
+ # create the A/B OTA directory, so as to enforce our permissions
+ mkdir /data/ota 0771 root root
+
+ # create the OTA package directory. It will be accessed by GmsCore (cache
+ # group), update_engine and update_verifier.
+ mkdir /data/ota_package 0770 system cache
+
+ # 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 directory for MediaDrm plug-ins - give drm the read/write access to
+ # the following directory.
+ mkdir /data/mediadrm 0770 mediadrm mediadrm
+
+ mkdir /data/anr 0775 system system
+
+ # symlink to bugreport storage location
+ rm /data/bugreports
+ symlink /data/user_de/0/com.android.shell/files/bugreports /data/bugreports
+
+ # Separate location for storing security policy files on data
+ mkdir /data/security 0711 system system
+
+ # Create all remaining /data root dirs so that they are made through init
+ # and get proper encryption policy installed
+ mkdir /data/backup 0700 system system
+ mkdir /data/ss 0700 system system
+
+ mkdir /data/system 0775 system system
+ mkdir /data/system/heapdump 0700 system system
+ mkdir /data/system/users 0775 system system
+
+ mkdir /data/system_de 0770 system system
+ mkdir /data/system_ce 0770 system system
+
+ mkdir /data/misc_de 01771 system misc
+ mkdir /data/misc_ce 01771 system misc
+
+ mkdir /data/user 0711 system system
+ mkdir /data/user_de 0711 system system
+ symlink /data/data /data/user/0
+
+ mkdir /data/media 0770 media_rw media_rw
+ mkdir /data/media/obb 0770 media_rw media_rw
+
+ mkdir /data/cache 0770 system cache
+ mkdir /data/cache/recovery 0770 system cache
+ mkdir /data/cache/backup_stage 0700 system system
+ mkdir /data/cache/backup 0700 system system
+
+ init_user0
+
+ # Reload policy from /data/security if present.
+ setprop selinux.reload_policy 1
+
+ # Set SELinux security contexts on upgrade or policy update.
+ restorecon_recursive /data
+ restorecon /data/data
+ restorecon /data/user
+ restorecon /data/user/0
+
+ # Check any timezone data in /data is newer than the copy in /system, delete if not.
+ exec - system system -- /system/bin/tzdatacheck /system/usr/share/zoneinfo /data/misc/zoneinfo
+
+ # 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
+
+on boot
+ # basic network init
+ ifup lo
+ hostname localhost
+ domainname localdomain
+
+ # 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 system system /sys/power/autosleep
+ chown system system /sys/power/state
+ chown system system /sys/power/wakeup_count
+ chown radio wakelock /sys/power/wake_lock
+ chown radio wakelock /sys/power/wake_unlock
+ chmod 0660 /sys/power/state
+ chmod 0660 /sys/power/wake_lock
+ chmod 0660 /sys/power/wake_unlock
+
+ 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/timer_slack
+ chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_slack
+ 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/target_loads
+ chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/target_loads
+ 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
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration
+ chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
+ chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
+
+ # 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/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
+
+ # Define default initial receive window size in segments.
+ setprop net.tcp.default_init_rwnd 60
+
+ class_start core
+
+on nonencrypted
+ # A/B update verifier that marks a successful boot.
+ exec - root cache -- /system/bin/update_verifier nonencrypted
+ class_start main
+ class_start late_start
+
+on property:sys.init_log_level=*
+ loglevel ${sys.init_log_level}
+
+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
+ # A/B update verifier that marks a successful boot.
+ exec - root cache -- /system/bin/update_verifier trigger_restart_min_framework
+ class_start main
+
+on property:vold.decrypt=trigger_restart_framework
+ # A/B update verifier that marks a successful boot.
+ exec - root cache -- /system/bin/update_verifier trigger_restart_framework
+ class_start main
+ class_start late_start
+
+on property:vold.decrypt=trigger_shutdown_framework
+ class_reset late_start
+ class_reset main
+
+on property:sys.powerctl=*
+ powerctl ${sys.powerctl}
+
+# system server cannot write to /proc/sys files,
+# and chown/chmod does not work for /proc/sys/ entries.
+# So proxy writes through init.
+on property:sys.sysctl.extra_free_kbytes=*
+ write /proc/sys/vm/extra_free_kbytes ${sys.sysctl.extra_free_kbytes}
+
+# "tcp_default_init_rwnd" Is too long!
+on property:sys.sysctl.tcp_def_init_rwnd=*
+ write /proc/sys/net/ipv4/tcp_default_init_rwnd ${sys.sysctl.tcp_def_init_rwnd}
+
+on property:security.perf_harden=0
+ write /proc/sys/kernel/perf_event_paranoid 1
+
+on property:security.perf_harden=1
+ write /proc/sys/kernel/perf_event_paranoid 3
+
+## Daemon processes to be run by init.
+##
+service ueventd /sbin/ueventd
+ class core
+ critical
+ seclabel u:r:ueventd:s0
+
+service healthd /sbin/healthd
+ class core
+ critical
+ seclabel u:r:healthd:s0
+ group root system wakelock
+
+service console /system/bin/sh
+ class core
+ console
+ disabled
+ user shell
+ group shell log readproc
+ seclabel u:r:shell:s0
+
+on property:ro.debuggable=1
+ # Give writes to anyone for the trace folder on debug builds.
+ # The folder is used to store method traces.
+ chmod 0773 /data/misc/trace
+ start console
+
+service flash_recovery /system/bin/install-recovery.sh
+ class main
+ oneshot
+ disabled
diff --git a/rootdir/init.recovery.mt6735.rc b/rootdir/init.recovery.mt6735.rc
new file mode 100644
index 0000000..d5d7d5f
--- /dev/null
+++ b/rootdir/init.recovery.mt6735.rc
@@ -0,0 +1,9 @@
+on boot
+
+# Temp Backward compatibility
+ mkdir /dev/block/platform/mtk-msdc.0/by-name 0777 system system
+ symlink /dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/system /dev/block/platform/mtk-msdc.0/by-name/system
+ symlink /dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/userdata /dev/block/platform/mtk-msdc.0/by-name/userdata
+ symlink /dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/cache /dev/block/platform/mtk-msdc.0/by-name/cache
+ symlink /dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/boot /dev/block/platform/mtk-msdc.0/by-name/boot
+ symlink /dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/recovery /dev/block/platform/mtk-msdc.0/by-name/recovery \ No newline at end of file
diff --git a/rootdir/init/audioserver.rc b/rootdir/init/audioserver.rc
new file mode 100644
index 0000000..0d2f282
--- /dev/null
+++ b/rootdir/init/audioserver.rc
@@ -0,0 +1,7 @@
+service audioserver /system/bin/audioserver
+ class main
+ user audioserver
+ # media gid needed for /dev/fm (radio) and for /data/misc/media (tee)
+ group audio camera drmrpc inet media mediadrm net_bt net_bt_admin net_bw_acct qcom_diag system
+ ioprio rt 4
+ writepid /dev/cpuset/foreground/tasks
diff --git a/rootdir/init/cameraserver.rc b/rootdir/init/cameraserver.rc
new file mode 100644
index 0000000..cff9671
--- /dev/null
+++ b/rootdir/init/cameraserver.rc
@@ -0,0 +1,6 @@
+service cameraserver /system/bin/cameraserver
+ class main
+ user cameraserver
+ group audio camera drmrpc inet media mediadrm net_bt net_bt_admin net_bw_acct system
+ ioprio rt 4
+ writepid /dev/cpuset/foreground/tasks
diff --git a/rootdir/meta_init.modem.rc b/rootdir/meta_init.modem.rc
new file mode 100644
index 0000000..6bbadda
--- /dev/null
+++ b/rootdir/meta_init.modem.rc
@@ -0,0 +1,42 @@
+# 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.
+#
+
+on post-fs
+
+ write /proc/bootprof "post-fs: on meta modem start"
+
+ # Modem related device nodes
+ mkdir /data/nvram/md 0770 root system
+
+ chown radio radio /sys/kernel/ccci/boot
+
+service permission_check /system/bin/permission_check
+ user root
+ group system radio
+ oneshot
+
+service ccci_fsd /system/bin/ccci_fsd 0
+ user radio
+ group radio system
+ oneshot
+
+service ccci_mdinit /system/bin/ccci_mdinit 0
+ user system
+ group radio system
+ oneshot
+
+service ccci_rpcd /system/bin/ccci_rpcd 0
+ user radio
+ group radio system
+ oneshot
+
+on post-fs-data
+
+#SeLinux
+ mkdir /data/ccci_cfg 0770 system radio
+ restorecon /data/ccci_cfg
+ restorecon_recursive /protect_f
+ restorecon_recursive /protect_s
diff --git a/rootdir/meta_init.project.rc b/rootdir/meta_init.project.rc
new file mode 100644
index 0000000..e5ad6a7
--- /dev/null
+++ b/rootdir/meta_init.project.rc
@@ -0,0 +1,46 @@
+on post-fs
+#
+# Connectivity related modules and character device nodes (Begin)
+#
+ # for 662x_launcher
+ chmod 0660 /dev/ttyMT2
+ chown system system /dev/ttyMT2
+
+ # Create char device file for WMT, GPS, BT, WIFI
+ mknod /dev/stpwmt c 190 0;
+ mknod /dev/stpgps c 191 0;
+ mknod /dev/stpbt c 192 0;
+ chmod 0660 /dev/stpwmt
+ chown system system /dev/stpwmt
+ chmod 0660 /dev/wmtdetect
+ chown system system /dev/wmtdetect
+
+ mknod /dev/wmtWifi c 153 0
+ chmod 0666 /dev/wmtWifi
+ chmod 0660 /dev/stpgps
+ chmod 0660 /dev/stpbt
+ chown bluetooth radio /dev/stpbt
+
+#
+# Connectivity related modules and character device nodes (Ends)
+#
+
+on boot
+
+
+#
+# Connectivity related services (Begin)
+#
+
+service wmtLoader /system/bin/wmt_loader
+ user root
+ group root
+ oneshot
+
+service conn_launcher /system/bin/6620_launcher -p /system/etc/firmware/
+ user system
+ group system
+
+#
+# Connectivity related services (End)
+#
diff --git a/rootdir/meta_init.rc b/rootdir/meta_init.rc
new file mode 100644
index 0000000..179ce21
--- /dev/null
+++ b/rootdir/meta_init.rc
@@ -0,0 +1,460 @@
+# 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.environ.rc
+import init.ssd.rc
+import init.no_ssd.rc
+import init.ssd_nomuser.rc
+import init.fon.rc
+import init.trustonic.rc
+
+on early-init
+ # Set init and its forked children's oom_adj.
+ write /proc/1/oom_score_adj -1000
+
+ # Apply strict SELinux checking of PROT_EXEC on mmap/mprotect calls.
+ write /sys/fs/selinux/checkreqprot 0
+
+ # Set the security context for the init process.
+ # This should occur before anything else (e.g. ueventd) is started.
+ setcon u:r:init:s0
+
+ # Set the security context of /adb_keys if present.
+ restorecon /adb_keys
+
+ start ueventd
+
+# create mountpoints
+ mkdir /mnt 0775 root system
+
+on init
+ sysclktz 0
+
+loglevel 5
+
+ # Backward compatibility.
+ symlink /system/etc /etc
+ symlink /sys/kernel/debug /d
+
+ # Link /vendor to /system/vendor for devices without a vendor partition.
+ symlink /system/vendor /vendor
+
+# Temp Backward compatibility
+ symlink /dev/block/platform/mtk-msdc.0/by-name/boot /dev/bootimg
+ symlink /dev/block/platform/mtk-msdc.0/by-name/recovery /dev/recovery
+ symlink /dev/block/platform/mtk-msdc.0/by-name/secro /dev/sec_ro
+ symlink /dev/block/platform/mtk-msdc.0/by-name/kb /dev/kb
+ symlink /dev/block/platform/mtk-msdc.0/by-name/dkb /dev/dkb
+ symlink /dev/block/platform/mtk-msdc.0/by-name/seccfg /dev/seccfg
+ symlink /dev/block/platform/mtk-msdc.0/by-name/proinfo /dev/pro_info
+ symlink /dev/block/platform/mtk-msdc.0/by-name/nvram /dev/nvram
+ symlink /dev/block/platform/mtk-msdc.0/by-name/para /dev/misc
+ symlink /dev/block/platform/mtk-msdc.0/by-name/logo /dev/logo
+# 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
+ mkdir /protect_f 0771 system system
+ mkdir /protect_s 0771 system system
+ #create mountpoint for persist partition
+ mkdir /persist 0771 system system
+ #Create nvdata mount point
+ mkdir /nvdata 0771 system system
+
+ #Create CIP mount point
+ mkdir /custom
+
+ # See storage config details at http://source.android.com/tech/storage/
+ mkdir /mnt/shell 0700 shell shell
+ mkdir /mnt/media_rw 0700 media_rw media_rw
+ mkdir /storage 0751 root sdcard_r
+
+ mkdir /mnt/cd-rom 0000 system system
+
+ # 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
+
+# Healthd can trigger a full boot from charger mode by signaling this
+# property when the power button is held.
+on property:sys.boot_from_charger_mode=1
+ class_stop charger
+ trigger late-init
+
+# Load properties from /system/ + /factory after fs mount.
+on load_all_props_action
+ load_system_props
+ load_persist_props
+
+# Mount filesystems and start core system services.
+on late-init
+ trigger early-fs
+ trigger fs
+ trigger post-fs
+ trigger post-fs-data
+
+ # Load properties from /system/ + /factory after fs mount. Place
+ # this in another action so that the load will be scheduled after the prior
+ # issued fs triggers have completed.
+ trigger load_all_props_action
+
+ trigger early-boot
+ trigger boot
+
+on fs
+ write /proc/bootprof "INIT:Mount_START"
+ mount_all /fstab.mt6735
+
+ #change partition permissions
+ exec /system/bin/chmod 0640 /dev/block/platform/mtk-msdc.0/by-name/boot
+ exec /system/bin/chown root:system /dev/block/platform/mtk-msdc.0/by-name/boot
+ exec /system/bin/chmod 0640 /dev/block/platform/mtk-msdc.0/by-name/recovery
+ exec /system/bin/chown root:system /dev/block/platform/mtk-msdc.0/by-name/recovery
+ exec /system/bin/chmod 0640 /dev/block/platform/mtk-msdc.0/by-name/secro
+ exec /system/bin/chown root:system /dev/block/platform/mtk-msdc.0/by-name/secro
+ exec /system/bin/chmod 0660 /dev/block/platform/mtk-msdc.0/by-name/seccfg
+ exec /system/bin/chown root:system /dev/block/platform/mtk-msdc.0/by-name/seccfg
+ exec /system/bin/chmod 0660 /dev/block/platform/mtk-msdc.0/by-name/proinfo
+ exec /system/bin/chown root:system /dev/block/platform/mtk-msdc.0/by-name/proinfo
+ exec /system/bin/chmod 0660 /dev/block/platform/mtk-msdc.0/by-name/otp
+ exec /system/bin/chown root:system /dev/block/platform/mtk-msdc.0/by-name/otp
+ exec /system/bin/chmod 0660 /dev/block/platform/mtk-msdc.0/by-name/nvram
+ exec /system/bin/chown root:system /dev/block/platform/mtk-msdc.0/by-name/nvram
+ exec /system/bin/chmod 0660 /dev/block/platform/mtk-msdc.0/by-name/para
+ exec /system/bin/chown root:system /dev/block/platform/mtk-msdc.0/by-name/para
+ exec /system/bin/chmod 0660 /dev/block/platform/mtk-msdc.0/by-name/logo
+ exec /system/bin/chown root:system /dev/block/platform/mtk-msdc.0/by-name/logo
+ write /proc/bootprof "INIT:Mount_END"
+
+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
+ # We restorecon /cache in case the cache partition has been reset.
+ restorecon_recursive /cache
+
+ chown system system /protect_f
+ chmod 0770 /protect_f
+
+ chown system system /protect_s
+ chmod 0770 /protect_s
+
+ #change permissions on kmsg & sysrq-trigger so bugreports can grab kthread stacks
+ chown root system /proc/kmsg
+ chmod 0440 /proc/kmsg
+
+ # make the selinux kernel policy world-readable
+ chmod 0444 /sys/fs/selinux/policy
+
+ # 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
+ # We restorecon /data in case the userdata partition has been reset.
+ restorecon /data
+ chown system system /persist
+ chmod 0771 /persist
+
+ # create basic filesystem structure
+ #mkdir /data/nvram 2770 root system
+ # We chown/chmod /nvdata again so because mount is run as root + defaults
+ chown root system /nvdata
+ chmod 2770 /nvdata
+ symlink /nvdata /data/nvram
+
+ # Set SELinux security contexts on upgrade or policy update.
+ restorecon_recursive /nvdata
+
+ 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
+ # 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
+ chmod 0660 /data/misc/wifi/p2p_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
+
+ # create the lost+found directories, so as to enforce our permissions
+ mkdir /data/lost+found 0770
+
+ # double check the perms, in case lost+found already exists, and set owner
+ chown root root /data/lost+found
+ chmod 0770 /data/lost+found
+
+ # H264 Decoder
+ chmod 777 /dev/MT6516_H264_DEC
+
+ # Internal SRAM Driver
+ chmod 777 /dev/MT6516_Int_SRAM
+
+ # MM QUEUE Driver
+ chmod 777 /dev/MT6516_MM_QUEUE
+
+ # MPEG4 Decoder
+ chmod 777 /dev/MT6516_MP4_DEC
+
+ # MPEG4 Encoder
+ chmod 777 /dev/MT6516_MP4_ENC
+
+ # OpenCORE proxy config
+ chmod 0666 /data/http-proxy-cfg
+
+ # OpenCORE player config
+ chmod 0666 /etc/player.cfg
+
+ # WiFi
+ mkdir /data/misc/wifi 0770 system wifi
+ mkdir /data/misc/wifi/sockets 0770 system wifi
+ mkdir /data/misc/dhcp 0770 dhcp dhcp
+ chown dhcp dhcp /data/misc/dhcp
+ chmod 0660 /sys/class/rfkill/rfkill1/state
+ chown system system /sys/class/rfkill/rfkill1/state
+ # Turn off wifi by default
+ write /sys/class/rfkill/rfkill1/state 0
+
+ #otp
+ chmod 0660 /dev/otp
+ chown root system /dev/otp
+
+ # Touch Panel
+ chown system system /sys/touchpanel/calibration
+ chmod 0660 /sys/touchpanel/calibration
+
+ chmod 0664 /dev/pmem_multimedia
+ chmod 0664 /dev/mt6516-isp
+ chmod 0664 /dev/mt6516-IDP
+ chmod 0664 /dev/mt9p012
+ chmod 0664 /dev/mt6516_jpeg
+
+ # RTC
+ mkdir /data/misc/rtc 0770 system system
+
+
+ # M4U
+ #insmod /system/lib/modules/m4u.ko
+ #mknod /dev/M4U_device c 188 0
+ chmod 0444 /dev/M4U_device
+
+ # Sensor
+ chmod 0666 /dev/sensor
+
+ # GPIO
+ chmod 0666 /dev/mtgpio
+
+ # Android SEC related device nodes
+ chmod 0660 /dev/sec
+ chown root system /dev/sec
+
+ # device info interface
+ chmod 0440 /dev/devmap
+ chown root system /dev/devmap
+
+
+ #change partition permission
+ exec /system/etc/partition_permission.sh
+
+ chmod 0666 /dev/exm0
+
+ # Separate location for storing security policy files on data
+ mkdir /data/security 0711 system system
+
+ # Reload policy from /data/security if present.
+ setprop selinux.reload_policy 1
+
+ # Set SELinux security contexts on upgrade or policy update.
+ restorecon_recursive /data
+
+ # 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
+
+on boot
+
+
+# basic network init
+ ifup lo
+ hostname localhost
+ domainname localdomain
+
+ class_start default
+ class_start core
+
+on nonencrypted
+ class_start main
+ class_start late_start
+
+on property:vold.decrypt=trigger_default_encryption
+ start defaultcrypto
+
+on property:vold.decrypt=trigger_encryption
+ start surfaceflinger
+ start encrypt
+
+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
+ start nvram_daemon
+ class_start main
+ class_start late_start
+ start permission_check
+
+on property:vold.decrypt=trigger_shutdown_framework
+ class_reset late_start
+ class_reset main
+
+service ueventd /sbin/ueventd
+ class core
+ critical
+ seclabel u:r:ueventd:s0
+
+service logd /system/bin/logd
+ class core
+ socket logd stream 0666 logd logd
+ socket logdr seqpacket 0666 logd logd
+ socket logdw dgram 0222 logd logd
+ seclabel u:r:logd:s0
+
+service console /system/bin/sh
+ class core
+ console
+ disabled
+ user shell
+ group shell log
+ seclabel u:r:shell:s0
+
+on property:sys.powerctl=*
+ powerctl ${sys.powerctl}
+
+on property:ro.debuggable=1
+ start console
+
+# adbd is controlled via property triggers in init.<platform>.usb.rc
+service adbd /sbin/adbd --root_seclabel=u:r:su:s0
+ class core
+ socket adbd stream 660 system system
+ disabled
+ seclabel u:r:adbd:s0
+
+service vold /system/bin/vold
+ class core
+ socket vold stream 0660 root mount
+ ioprio be 2
+
+# One shot invocation to deal with encrypted volume.
+service defaultcrypto /system/bin/vdc --wait cryptfs mountdefaultencrypted
+ disabled
+ oneshot
+ # vold will set vold.decrypt to trigger_restart_framework (default
+ # encryption) or trigger_restart_min_framework (other encryption)
+
+# One shot invocation to encrypt unencrypted volumes
+service encrypt /system/bin/vdc --wait cryptfs enablecrypto inplace default
+ disabled
+ oneshot
+ # vold will set vold.decrypt to trigger_restart_framework (default
+ # encryption)
+
+service meta_tst /system/bin/meta_tst
+
+service nvram_daemon /system/bin/nvram_daemon
+ class main
+ user root
+ group system
+ oneshot
+
+service debuggerd /system/bin/debuggerd
+ class main
+
+service debuggerd64 /system/bin/debuggerd64
+ class main
+
+service mobile_log_d /system/bin/mobile_log_d
+ class main
+
+on property:ro.boot.mblogenable=0
+ stop mobile_log_d
+
+on property:ro.boot.mblogenable=1
+ start mobile_log_d
+
+#mass_storage,adb,acm
+on property:ro.boot.usbconfig=0
+ write /sys/class/android_usb/android0/iSerial $ro.serialno
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 0e8d
+ write /sys/class/android_usb/android0/idProduct 2006
+ write /sys/class/android_usb/android0/f_acm/instances 1
+ write /sys/class/android_usb/android0/functions mass_storage,adb,acm
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+
+#acm
+on property:ro.boot.usbconfig=1
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/iSerial " "
+ write /sys/class/android_usb/android0/idVendor 0e8d
+ write /sys/class/android_usb/android0/idProduct 2007
+ write /sys/class/android_usb/android0/f_acm/instances 1
+ write /sys/class/android_usb/android0/functions acm
+ write /sys/class/android_usb/android0/bDeviceClass 02
+ write /sys/class/android_usb/android0/enable 1
diff --git a/rootdir/recovery.fstab b/rootdir/recovery.fstab
new file mode 100644
index 0000000..27146ec
--- /dev/null
+++ b/rootdir/recovery.fstab
@@ -0,0 +1,19 @@
+# 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/mtk-msdc.0/by-name/boot /boot emmc defaults defaults
+/dev/block/platform/mtk-msdc.0/by-name/cache /cache ext4 noatime,nosuid,nodev,noauto_da_alloc,discard wait,check
+/dev/block/platform/mtk-msdc.0/by-name/lk /uboot emmc defaults defaults
+/dev/block/platform/mtk-msdc.0/by-name/logo /logo emmc defaults defaults
+/dev/block/platform/mtk-msdc.0/by-name/metadata /metadata emmc defaults defaults
+/dev/block/platform/mtk-msdc.0/by-name/nvdata /nvdata ext4 noatime,nosuid,nodev,noauto_da_alloc,discard wait,check,autoformat
+/dev/block/platform/mtk-msdc.0/by-name/nvram /nvram emmc defaults defaults
+/dev/block/platform/mtk-msdc.0/by-name/recovery /recovery emmc defaults defaults
+/dev/block/platform/mtk-msdc.0/by-name/system /system ext4 ro wait
+/dev/block/platform/mtk-msdc.0/by-name/userdata /data ext4 noatime,nosuid,nodev,noauto_da_alloc,discard wait,check,resize,encryptable=/dev/block/platform/mtk-msdc.0/by-name/metadata
+
+/devices/mtk-msdc.0/11240000.MSDC1/mmc_host/mmc1 auto vfat defaults voldmanaged=sdcard1:auto,noemulatedsd
+/devices/platform/mt_usb auto vfat defaults voldmanaged=usbotg:auto
+/dev/block/platform/mtk-msdc.0/by-name/frp /persistent emmc defaults defaults
diff --git a/rootdir/ueventd.mt6735.rc b/rootdir/ueventd.mt6735.rc
new file mode 100644
index 0000000..317a046
--- /dev/null
+++ b/rootdir/ueventd.mt6735.rc
@@ -0,0 +1,245 @@
+subsystem adf
+ devname uevent_devname
+
+/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
+
+# change partition permission
+/dev/block/mmcblk0 0660 root system
+/dev/block/mmcblk0boot0 0660 root system
+/dev/block/mmcblk0boot1 0660 root system
+/dev/misc-sd 0660 root system
+/dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/boot 0640 root system
+/dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/recovery 0640 root system
+/dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/secro 0640 root system
+/dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/seccfg 0660 root system
+/dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/proinfo 0660 root system
+/dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/nvram 0660 root system
+/dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/para 0660 root system
+/dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/logo 0660 root system
+/dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/frp 0660 root system
+
+# OTP
+/dev/otp 0660 system system
+
+# Connectivity
+/dev/stpwmt 0660 system system
+/dev/wmtdetect 0660 system system
+
+# BT
+/dev/stpbt 0660 bluetooth net_bt_stack
+
+# GPS
+/dev/stpgps 0660 gps gps
+/dev/gps 0660 gps system
+
+# WIFI
+/dev/wmtWifi 0660 system system
+
+# MTK BTIF driver
+/dev/btif 0600 system system
+
+# add the read write right of ttyUSB*
+/dev/bus/usb/* 0660 root usb
+/dev/ttyUSB0 0660 radio radio
+/dev/ttyUSB1 0660 radio radio
+/dev/ttyUSB2 0660 radio radio
+/dev/ttyUSB3 0660 radio radio
+/dev/ttyUSB4 0660 radio radio
+
+# Anyone can read the logs, but if they're not in the "logs"
+# group, then they'll only see log entries for their UID.
+/dev/xLog 0600 root root
+/dev/log/* 0666 root log
+/dev/log/ksystem 0600 root log
+
+# the msm hw3d client device node is world writable/readable
+/dev/msm_hw3dc 0666 root root
+
+# the DIAG device node is not world writable/readable.
+/dev/diag 0660 system qcom_diag
+
+# 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/android_adb 0660 adb adb
+/dev/android_adb_enable 0660 adb adb
+/dev/ttyMSM0 0600 bluetooth bluetooth
+/dev/uhid 0660 system net_bt_stack
+/dev/uinput 0660 system net_bt_stack
+/dev/alarm 0664 system radio
+/dev/rtc0 0640 system system
+/dev/tty0 0660 root system
+/dev/graphics/* 0660 system graphics
+/dev/msm_hw3dm 0660 system graphics
+/dev/input/* 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/ccci* 0660 radio radio
+/dev/ttyC* 0660 radio radio
+/sys/kernel/ccci modem_info 0644 radio radio
+/sys/kernel/ccci md1_postfix 0644 radio radio
+/sys/kernel/ccci md2_postfix 0644 radio radio
+/dev/eemcs* 0660 radio radio
+/dev/emd* 0660 radio radio
+/dev/ccci_pcm_rx 0660 audio audio
+/dev/ccci_pcm_tx 0660 audio audio
+/dev/ccci_aud 0660 audio audio
+/dev/ccci2_aud 0660 audio audio
+/dev/eemcs_aud 0660 audio audio
+
+# SGX device node
+/dev/pvrsrvkm 0666 root root
+/dev/pvr_sync 0666 root root
+
+/sys/devices/platform/leds-mt65xx/leds/green delay_on 0664 system system
+/sys/devices/platform/leds-mt65xx/leds/green delay_off 0664 system system
+/sys/devices/platform/leds-mt65xx/leds/red delay_on 0664 system system
+/sys/devices/platform/leds-mt65xx/leds/red delay_off 0664 system system
+/sys/devices/platform/leds-mt65xx/leds/blue delay_on 0664 system system
+/sys/devices/platform/leds-mt65xx/leds/blue delay_off 0664 system system
+/sys/devices/platform/leds-mt65xx/leds/yellow delay_on 0664 system system
+/sys/devices/platform/leds-mt65xx/leds/yellow delay_off 0664 system system
+/sys/devices/platform/leds-mt65xx/leds/white delay_on 0664 system system
+/sys/devices/platform/leds-mt65xx/leds/white delay_off 0664 system system
+/sys/devices/platform/leds-mt65xx/leds/cyan delay_on 0664 system system
+/sys/devices/platform/leds-mt65xx/leds/cyan delay_off 0664 system system
+/sys/devices/platform/leds-mt65xx/leds/violet delay_on 0664 system system
+/sys/devices/platform/leds-mt65xx/leds/violet delay_off 0664 system system
+
+# GPIO
+/dev/mtgpio 0600 radio root
+
+# FOR VIA MODEM
+/dev/ttySDIO* 0660 radio sdcard_rw
+/dev/ttyRB* 0660 radio radio
+
+# Mali node
+/dev/mali 0666 system graphics
+
+# Change ION driver permission
+/dev/ion 0666 system graphics
+
+# touch
+/dev/touch 0660 root system
+/dev/hotknot 0660 root system
+
+# hang_detect
+/dev/RT_Monitor 0600 system system
+/dev/kick_powerkey 0600 system system
+
+# MTK In-House TEE
+/dev/ttyACM0 0660 radio radio
+
+# for lsm6ds3
+
+#common sensors files
+/sys/devices/iio:device* buffer/enable 0666 system system
+/sys/devices/iio:device* buffer/length 0666 system system
+/sys/devices/iio:device* flush 0666 system system
+/sys/devices/iio:device* self_test 0666 system system
+/sys/devices/iio:device* sampling_frequency 0666 system system
+/sys/devices/iio:device* scan_elements/in_timestamp_en 0666 system system
+
+#accelerometer sensor
+/sys/devices/iio:device* scan_elements/in_accel_x_en 0666 system system
+/sys/devices/iio:device* scan_elements/in_accel_y_en 0666 system system
+/sys/devices/iio:device* scan_elements/in_accel_z_en 0666 system system
+/sys/devices/iio:device* in_accel_x_scale 0666 system system
+/sys/devices/iio:device* in_accel_y_scale 0666 system system
+/sys/devices/iio:device* in_accel_z_scale 0666 system system
+/sys/devices/iio:device* sensor_phone_calling 0666 system system
+
+#magnetometer sensor
+/sys/devices/iio:device* scan_elements/in_magn_x_en 0666 system system
+/sys/devices/iio:device* scan_elements/in_magn_y_en 0666 system system
+/sys/devices/iio:device* scan_elements/in_magn_z_en 0666 system system
+/sys/devices/iio:device* in_magn_x_scale 0666 system system
+/sys/devices/iio:device* in_magn_y_scale 0666 system system
+/sys/devices/iio:device* in_magn_z_scale 0666 system system
+
+#light sensor
+/sys/devices/iio:device* scan_elements/in_illuminance_x_en 0666 system system
+/sys/devices/iio:device* in_illuminance_x_scale 0666 system system
+
+#proximity sensor
+/sys/devices/iio:device* scan_elements/in_proximity_x_en 0666 system system
+/sys/devices/iio:device* in_proximity_x_scale 0666 system system
+
+#gyroscope sensor
+/sys/devices/iio:device* scan_elements/in_anglvel_x_en 0666 system system
+/sys/devices/iio:device* scan_elements/in_anglvel_y_en 0666 system system
+/sys/devices/iio:device* scan_elements/in_anglvel_z_en 0666 system system
+/sys/devices/iio:device* in_anglvel_x_scale 0666 system system
+/sys/devices/iio:device* in_anglvel_y_scale 0666 system system
+/sys/devices/iio:device* in_anglvel_z_scale 0666 system system
+
+#step counter sensor
+/sys/devices/iio:device* max_delivery_rate 0666 system system
+/sys/devices/iio:device* reset_counter 0666 system system
+/sys/devices/iio:device* scan_elements/in_step_counter_en 0666 system system
+
+#significant motion sensor
+/sys/devices/iio:device* scan_elements/in_sign_motion_en 0666 system system
+
+#step detector sensor
+/sys/devices/iio:device* scan_elements/in_step_detector_en 0666 system system
+
+#tilt sensor
+/sys/devices/iio:device* scan_elements/in_tilt_en 0666 system system