diff options
| author | Mister Oyster <oysterized@gmail.com> | 2017-02-05 19:57:35 +0100 |
|---|---|---|
| committer | Mister Oyster <oysterized@gmail.com> | 2017-02-05 19:57:35 +0100 |
| commit | 16e6bbbc2e3ddea8ec8d229767cc45121fd8cd82 (patch) | |
| tree | 1ff10d387c0efab7ca16d3e8d9ad232823c33f33 /rootdir | |
initial commit
Diffstat (limited to 'rootdir')
| -rw-r--r-- | rootdir/factory_init.project.rc | 60 | ||||
| -rw-r--r-- | rootdir/factory_init.rc | 580 | ||||
| -rw-r--r-- | rootdir/fstab.mt6735 | 15 | ||||
| -rw-r--r-- | rootdir/fstab.swap | 1 | ||||
| -rwxr-xr-x | rootdir/init.modem.rc | 121 | ||||
| -rwxr-xr-x | rootdir/init.mt6735.rc | 902 | ||||
| -rwxr-xr-x | rootdir/init.mt6735.usb.rc | 727 | ||||
| -rwxr-xr-x | rootdir/init.project.rc | 181 | ||||
| -rw-r--r-- | rootdir/init.rc | 674 | ||||
| -rw-r--r-- | rootdir/init.recovery.mt6735.rc | 9 | ||||
| -rw-r--r-- | rootdir/init/audioserver.rc | 7 | ||||
| -rw-r--r-- | rootdir/init/cameraserver.rc | 6 | ||||
| -rw-r--r-- | rootdir/meta_init.modem.rc | 42 | ||||
| -rw-r--r-- | rootdir/meta_init.project.rc | 46 | ||||
| -rw-r--r-- | rootdir/meta_init.rc | 460 | ||||
| -rw-r--r-- | rootdir/recovery.fstab | 19 | ||||
| -rw-r--r-- | rootdir/ueventd.mt6735.rc | 245 |
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 |
