1) Download TWRP auto port util from here:
http://forum.xda-developers.com/showthread.php?t=2798257
2) Download bootimg unpacker from here:
http://en.miui.com/thread-27657-1-1.html
3) Make an ext4 partition on your sdcard. I'll assume you will move system to the 3rd partition. It'll work even on a slow class 4 card.
4) Extract bootimg.exe, and put your stock boot.img in the same folder as bootimg.exe. Hold shift and right click on an empty space in that folder, and select, "open command window here". In the window, type "bootimg --unpack-bootimg".
5) Open the new "initrd" folder that appears. Open "init.rc" present there with notepad++. DON'T USE notepad!! Download Notepad++.
6) search for "ubifs". You'll see something like, "on fs_property=ubifs". A little below that line, there will be something like "mount ubifs ubi@system /system". Change that to, "mount ext4 /dev/block/mmcblk0p3 /system". Don't change the whole line, just replace the "ubifs" with "ext4" and "ubi@system" with "/dev/block/mmcblk0p3". Don't change the "on fs_property" line. If you use the sdcard 3rd partition as the new system partition, use "/dev/block/mmcblk0p3". For 2nd partition, it is "/dev/block/mmcblk0p2" and so on.
7) A few lines later, there will be "mount ubifs ubi@system /system ro remount". Again replace "ubifs" with "ext4" and "ubi@system" with "/dev/block/mmcblk0p3" (use your partition number).
8) On the command prompt window you opened earlier, type, "bootimg --repack-bootimg". It will make a boot-new.img. You'll have to flash it later.
9) Open the TWRP magic port tool. Choose "unpack/repack" then "unpack". Put your custom recovery.img in the TWRP folder it will mention.
10) Open "/ramdisk/etc/recovery.fstab". Under the partition column, there will be a "system" or "android" entry. Beside that, under "type", change "ubifs" to "ext4". Change "device" from "ubi@android" or "ubi@system" to "/dev/block/mmcblk0p3". Repack recovery with the TWRP tool. Install it.
11) Unzip any rom you want to use, and delete all "mount" "umount" and "format" lines from /zip/META-INF/com/google/android/updater-script". Flash the modified zip with the modified recovery. If you want to use the stock rom, copy all files from /system first, and make a flashable zip from them, using the updater-script of some simple, near-stock rom. I use Sudhansu's Supernova script.
12) Flash the modified boot-new.img. Done.
As system is now located on the sdcard, the internal system partition is free. If you move data to the internal system partition, you will get 2x larger data partition, without getting lags. To do that, repeat steps 3-10, but this time, change "ubi@userdata".
The following is my init.rc. If you copy-paste that, you will get:
1) /system on sdcard partition 2
2) /data on original internal system partition
3) dalvik-cache on sdcard part 3
4) /data/app on original internal data partition.
5) Init.d support (install busybox in /system/bin)
Right before flashing a boot img with this .rc, clear the contents of the internal /data and/system partitions.
This particular .rc will probably break nandroid backup/restore of the data partition. After using this, do not restore your old nandroid backup of /data. Use Titanium Backup instead.
# Copyright (C) 2012 The Android Open Source Project
#
# IMPORTANT: Do not create world writable files or directories.
# This is a common source of Android security bugs.
#
#import /init.${ro.hardware}.rc
import /init.usb.rc
import /init.trace.rc
import init.xlog.rc
on early-init
# Set init and its forked children's oom_adj.
write /proc/1/oom_adj -16
# Set the security context for the init process.
# This should occur before anything else (e.g. ueventd) is started.
setcon u:r:init:s0
start ueventd
# create mountpoints
mkdir /mnt 0775 root system
on early_property:ro.build.type=user
write /proc/bootprof "INIT: user build setting"
export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/secondary-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-op.jar
on early_property:ro.build.type=userdebug
write /proc/bootprof "INIT: userdebug build setting"
export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/secondary-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-op.jar
on early_property:ro.build.type=eng
write /proc/bootprof "INIT: eng build setting"
export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/secondary-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-op.jar:/system/framework/emma.jar
on early_property:ro.hardware=mt6589
setprop ro.mtk.hardware mt6589
on init
sysclktz 0
loglevel 5
write /proc/bootprof "INIT: on init start"
# setup the global environment
export PATH /sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
export LD_LIBRARY_PATH /vendor/lib:/system/lib
export ANDROID_BOOTLOGO 1
export ANDROID_ROOT /system
export ANDROID_ASSETS /system/app
export ANDROID_DATA /data
export ANDROID_STORAGE /storage
export ASEC_MOUNTPOINT /mnt/asec
export LOOP_MOUNTPOINT /mnt/obb
# Backward compatibility
symlink /system/etc /etc
symlink /sys/kernel/debug /d
# Right now vendor lives on the same filesystem as system,
# but someday that may change.
symlink /system/vendor /vendor
# Create cgroup mount point for cpu accounting
mkdir /acct
mount cgroup none /acct cpuacct
mkdir /acct/uid
mkdir /system
mkdir /data 0771 system system
mkdir /cache 0770 system cache
mkdir /config 0500 root root
# See storage config details at http://source.android.com/tech/storage/
mkdir /mnt/shell 0700 shell shell
# mkdir /storage 0050 root sdcard_r
mkdir /storage 0055 root sdcard_r
mkdir /mnt/cd-rom 0000 system system
# Directory for putting things only root should see.
mkdir /mnt/secure 0700 root root
# Create private mountpoint so we can MS_MOVE from staging
mount tmpfs tmpfs /mnt/secure mode=0700,uid=0,gid=0
# Directory for staging bindmounts
mkdir /mnt/secure/staging 0700 root root
# Directory-target for where the secure container
# imagefile directory will be bind-mounted
mkdir /mnt/secure/asec 0700 root root
# Secure container public mount points.
mkdir /mnt/asec 0700 root system
mount tmpfs tmpfs /mnt/asec mode=0755,gid=1000
# Filesystem image public mount points.
mkdir /mnt/obb 0700 root system
mount tmpfs tmpfs /mnt/obb mode=0755,gid=1000
write /proc/sys/kernel/panic_on_oops 1
write /proc/sys/kernel/hung_task_timeout_secs 0
write /proc/cpu/alignment 4
write /proc/sys/kernel/sched_latency_ns 10000000
write /proc/sys/kernel/sched_wakeup_granularity_ns 2000000
write /proc/sys/kernel/sched_compat_yield 1
write /proc/sys/kernel/sched_child_runs_first 0
write /proc/sys/kernel/randomize_va_space 2
write /proc/sys/kernel/kptr_restrict 2
write /proc/sys/kernel/dmesg_restrict 1
write /proc/sys/vm/mmap_min_addr 32768
write /proc/sys/kernel/sched_rt_runtime_us 950000
write /proc/sys/kernel/sched_rt_period_us 1000000
# Create cgroup mount points for process groups
mkdir /dev/cpuctl
mount cgroup none /dev/cpuctl cpu
chown system system /dev/cpuctl
chown system system /dev/cpuctl/tasks
chmod 0660 /dev/cpuctl/tasks
write /dev/cpuctl/cpu.shares 1024
write /dev/cpuctl/cpu.rt_runtime_us 950000
write /dev/cpuctl/cpu.rt_period_us 1000000
mkdir /dev/cpuctl/apps
chown system system /dev/cpuctl/apps/tasks
chmod 0666 /dev/cpuctl/apps/tasks
write /dev/cpuctl/apps/cpu.shares 1024
write /dev/cpuctl/apps/cpu.rt_runtime_us 800000
write /dev/cpuctl/apps/cpu.rt_period_us 1000000
mkdir /dev/cpuctl/apps/bg_non_interactive
chown system system /dev/cpuctl/apps/bg_non_interactive/tasks
chmod 0666 /dev/cpuctl/apps/bg_non_interactive/tasks
# 5.0 %
write /dev/cpuctl/apps/bg_non_interactive/cpu.shares 52
write /dev/cpuctl/apps/bg_non_interactive/cpu.rt_runtime_us 700000
write /dev/cpuctl/apps/bg_non_interactive/cpu.rt_period_us 1000000
# Allow everybody to read the xt_qtaguid resource tracking misc dev.
# This is needed by any process that uses socket tagging.
chmod 0644 /dev/xt_qtaguid
# Change ION driver permission
chmod 0644 /dev/ion
# Change MMP driver permission
chmod 0644 /dev/mmp
# change lk_env permission
chown root system /proc/lk_env
chmod 0660 /proc/lk_env
# mount different fs start
on fs_property:ro.mount.fs=YAFFS
# mount mtd partitions
# Mount /system rw first to give the filesystem a chance to save a checkpoint
write /proc/bootprof "INIT:NAND:Mount_START"
mount yaffs2 mtd@system /system
chmod 0750 /system/etc/partition_permission.sh
# via: set ril and pppd
chown root /system/bin/pppd
chmod 4755 /system/bin/pppd
chown root /system/etc/ppp/ip-up-cdma
chmod 4755 /system/et/ppp/ip-up-cdma
chown root /system/etc/ppp/ipv6-up-cdma
chmod 4755 /system/etc/ppp/ipv6-up-cdma
chown root /system/etc/ppp/link-down-cdma
chmod 4755 /system/etc/ppp/link-down-cdma
mount yaffs2 mtd@system /system ro remount
mount yaffs2 mtd@userdata /data nosuid nodev
mount yaffs2 mtd@cache /cache nosuid nodev
write /proc/bootprof "INIT:NAND:Mount_END"
on fs_property:ro.mount.fs=EXT4
write /proc/bootprof "INIT:eMMC:Mount_START"
exec /sbin/e2fsck -p /emmc@android
# Mount /system rw first to give the filesystem a chance to save a checkpoint
#mount ext4 emmc@android /system wait commit=1,data=journal,noauto_da_alloc
mount ext4 /emmc@android /system wait commit=1,noauto_da_alloc
chmod 0750 /system/etc/partition_permission.sh
# RIL need to do this before the folder /system changed to read only
chown radio system /system/etc/ril
chmod 0770 /system/etc/ril
chmod 0444 /system/etc/ril/oper.lis
# Wifi thermal need to chmod before system is changed to read only
chown root system /system/etc/throttle.sh
chmod 0750 /system/etc/throttle.sh
mount ext4 /emmc@android /system noatime ro remount wait
exec /sbin/e2fsck -pfD /emmc@usrdata
exec /sbin/tune2fs -O has_journal /emmc@usrdata
exec /system/bin/ext4_resize
mount ext4 /emmc@usrdata /data noatime nosuid nodev wait noauto_da_alloc,discard
exec /sbin/e2fsck -p /emmc@cache
exec /sbin/tune2fs -O has_journal /emmc@cache
mount ext4 /emmc@cache /cache noatime nosuid nodev wait noauto_da_alloc,discard
write /proc/bootprof "INIT:eMMC:Mount_END"
on fs_property:ro.mount.fs=UBIFS
write /proc/bootprof "INIT:NAND:Mount_START"
mount ext4 /dev/block/mmcblk0p2 /system
chmod 0750 /system/etc/partition_permission.sh
# via: set ril and pppd
chown root /system/bin/pppd
chmod 4755 /system/bin/pppd
chown root /system/etc/ppp/ip-up-cdma
chmod 4755 /system/et/ppp/ip-up-cdma
chown root /system/etc/ppp/ipv6-up-cdma
chmod 4755 /system/etc/ppp/ipv6-up-cdma
chown root /system/etc/ppp/link-down-cdma
chmod 4755 /system/etc/ppp/link-down-cdma
# Wifi thermal need to chmod before system is changed to read only
chown root system /system/etc/throttle.sh
chmod 0750 /system/etc/throttle.sh
#system partition
mount ext4 /dev/block/mmcblk0p2 /system noatime ro remount wait
#data partition
mount ubifs ubi@system /data nosuid nodev
#for symlinked dalvik-cache
mkdir /data/sdext3 0777 root root
#for dalvik-cache
mount ext4 /dev/block/mmcblk0p3 /data/sdext3
#for dalvik-cache
mkdir /data/sdext3/dalvik-cache 0777 root root
mkdir /data/sdext3/dalvik-cache/placeholder
#for symlinked /data/app
mkdir /mnt/intdata 0777 root root
#for /data/app
mount ubifs ubi@userdata /mnt/intdata
#for /data/app
mkdir /mnt/intdata/app 0771 system system
mkdir /mnt/intdata/app/placeholder
mount ubifs ubi@cache /cache nosuid nodev wait
#for /data/app
symlink /mnt/intdata/app /data/app
#for dalvik-cache
symlink /data/sdext3/dalvik-cache /data/dalvik-cache
write /proc/bootprof "INIT:NAND:Mount_END"
# mount different fs end
on fs
mount iso9660 loop@/system/mobile_toolkit/iAmCdRom.iso /mnt/cd-rom ro
on post-fs
# once everything is setup, no need to modify /
mount rootfs rootfs / ro remount
# mount shared so changes propagate into child namespaces -> move to init.ssd.rc
# mount rootfs rootfs / shared rec
# mount tmpfs tmpfs /mnt/secure private rec
# 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 /cache
# This may have been created by the recovery system with odd permissions
mkdir /cache/recovery 0770 system cache
chown system cache /cache/recovery
chmod 0770 /cache/recovery
# This may have been created by the recovery system with the wrong context.
restorecon /cache/recovery
#change permissions on vmallocinfo so we can grab it from bugreports
chown root log /proc/vmallocinfo
chmod 0440 /proc/vmallocinfo
#change permissions for mediaserver
chown root media /proc/clkmgr/mipi_test
#change permission for engineer mode
chown radio system /proc/clkmgr/clk_test
chown radio system /proc/clkmgr/pll_test
chown radio system /proc/clkmgr/pll_fsel
chown radio system /proc/clkmgr/subsys_test
#change permission for engineer mode
chown radio system /proc/fhctl/dbg
chown radio system /proc/fhctl/dumpregs
chown radio system /proc/fhctl/help
chown radio system /proc/dcm/dbg
chown radio system /proc/dcm/dumpregs
chown radio system /proc/dcm/help
chown radio system /proc/lpm/dbg
chown radio system /proc/lpm/dumpregs
chown radio system /proc/lpm/help
#change permission for engineer mode
chown radio system /proc/spm_fs/suspend
chown radio system /proc/spm_fs/suspend_mode
chown radio system /proc/spm_fs/suspend_timer
chown radio system /proc/spm_fs/dpidle_level
chown radio system /proc/spm_fs/dpidle_timer
chown radio system /proc/spm_fs/dpidle_mode
chown radio system /proc/spm_fs/dpidle
chown radio system /proc/spm_fs/mcdi_timer
chown radio system /proc/spm_fs/mcdi_mode
chown radio system /proc/spm_fs/mcdi
#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
# create the lost+found directories, so as to enforce our permissions
mkdir /cache/lost+found 0770 root root
#change partition permission
exec /system/etc/partition_permission.sh
# change owner
chown root system /proc/bootprof
chown root system /proc/mtprof/cputime
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
# Create dump dir and collect dumps.
# Do this before we mount cache so eventually we can use cache for
# storing dumps on platforms which do not have a dedicated dump partition.
mkdir /data/dontpanic 0750 root log
# Collect apanic data, free resources and re-arm trigger
copy /proc/apanic_console /data/dontpanic/apanic_console
chown root log /data/dontpanic/apanic_console
chmod 0640 /data/dontpanic/apanic_console
copy /proc/apanic_threads /data/dontpanic/apanic_threads
chown root log /data/dontpanic/apanic_threads
chmod 0640 /data/dontpanic/apanic_threads
write /proc/apanic_console 1
# create basic filesystem structure
mkdir /data/nvram 0770 root nvram
mkdir /data/misc 01771 system misc
mkdir /data/misc/adb 02750 system shell
mkdir /data/misc/bluedroid 0770 bluetooth net_bt_stack
#need to check
# 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/sms 0770 system radio
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-lib 0771 system system
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
#give system access to rfkill device node
chmod 0660 /dev/rfkill
# create dalvik-cache, so as to enforce our permissions
mkdir /data/dalvik-cache 0771 system system
# create resource-cache and double-check the perms
mkdir /data/resource-cache 0771 system system
chown system system /data/resource-cache
chmod 0771 /data/resource-cache
# create the lost+found directories, so as to enforce our permissions
mkdir /data/lost+found 0770 root root
# create for muxd pts device node , to operate without root
mkdir /dev/radio 0770 radio radio
# create directory for DRM plug-ins
mkdir /data/drm 0774 drm system
mkdir /data/drm/wv 0770 drm system
# 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
# -----------------------
# Add by MTK
# dhcp server
mkdir /data/misc/dhcp 0770 dhcp wifi
chown dhcp wifi /data/misc/dhcp
# radvd
mkdir /data/misc/radvd 0770 system system
chmod 444 /etc/radvd/radvd.conf
# SGX
insmod /system/lib/modules/pvrsrvkm.ko
insmod /system/lib/modules/mtklfb.ko
# Permissions for System Server and daemons.
chown root radio /sys/class/leds/lcd-backlight/brightness
chown root radio /sys/class/leds/lcd-backlight/duty
chown root radio /sys/class/leds/lcd-backlight/div
# Touch Panel
chmod 0664 /dev/touch
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
# zhaozongyun add start
chown system system /sys/bus/platform/drivers/Accdet_Driver/factory_flag
chown system system /proc/ctp_upgrade
# zhaozongyun add end
chmod 0660 /dev/pmem_multimedia
chown system media /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
# M4U
#insmod /system/lib/modules/m4u.ko
#mknod /dev/M4U_device c 188 0
chmod 0444 /dev/M4U_device
#chown system media /dev/M4U_device
# Sensor
chmod 0660 /dev/hwmsensor
chmod 0660 /dev/gyroscope
chmod 0660 /dev/msensor
chmod 0660 /dev/gsensor
chmod 0660 /dev/alsps
chmod 0660 /sys/devices/platform/msensor/driver/cpsopmode
chmod 0660 /sys/devices/platform/msensor/driver/cpsreptxy
chmod 0660 /sys/devices/platform/msensor/driver/cpsreptz
chown system system /dev/hwmsensor
chown system system /dev/gyroscope
chown system system /dev/msensor
chown system system /dev/gsensor
chown system system /dev/alsps
#Accdet
chown root radio /sys/devices/platform/Accdet_Driver/driver/accdet_call_state
#VideoCodec
insmod /system/lib/modules/vcodec_kernel_driver.ko
mknod /dev/Vcodec c 160 0
chmod 0660 /dev/Vcodec
chown system media /dev/Vcodec
#kpd
chown radio radio /sys/devices/platform/mtk-kpd/driver/kpd_call_state
#Charging Battery
chown radio radio /sys/devices/platform/battery/Charging_CallState
mkdir /data/amit/ 0770 system system
mkdir /data/misc/sensors 0664 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/class/input/input5/enable
chown system /sys/class/input/input5/delay
chown system /sys/class/input/input5/wake
chown system /sys/class/input/input3/enable
chown system /sys/class/input/input3/wake
chown system /sys/class/input/input4/offsets
chown system /sys/class/input/input4/dynamic_matrix
chown system /sys/devices/platform/msensor/driver/cpsopmode
chown system /sys/devices/platform/msensor/driver/cpsreptxy
chown system /sys/devices/platform/msensor/driver/cpsreptz
mkdir /data/data/mcube 0664 system system
# GPIO
chmod 0664 /dev/mtgpio
# SPM SODI Enable
chown media /proc/mcdi/sodi_en
chmod 0664 /proc/mcdi/sodi_en
#EM eint
chown root diag /sys/bus/platform/drivers/eint/current_eint
chmod 0660 /dev/graphics/fb0
chown system graphics /dev/graphics/fb0
chmod 0660 /dev/mtkfb_vsync
chown system graphics /dev/mtkfb_vsync
chmod 0660 /dev/sw_sync
chown system graphics /dev/sw_sync
# EM baseband file
chown root diag /system/bin/baseband_regdump
chmod 4750 /system/bin/baseband_regdump
#pmu
chown root radio /sys/devices/platform/mt-pmic/pmic_access
chmod 0664 /sys/devices/platform/mt-pmic/pmic_access
# EM CPU Speed Stress
chown root radio /proc/cpu_ss/cpu_ss_debug_mode
chown root radio /proc/cpu_ss/cpu_ss_mode
chown root radio /proc/cpu_ss/cpu_ss_period
chown root radio /proc/cpu_ss/cpu_ss_period_mode
chmod 0664 /proc/cpu_ss/cpu_ss_debug_mode
chmod 0664 /proc/cpu_ss/cpu_ss_mode
chmod 0664 /proc/cpu_ss/cpu_ss_period
chmod 0664 /proc/cpu_ss/cpu_ss_period_mode
#EM eint
chown root diag /sys/bus/platform/drivers/eint/current_eint
# for ppp options file
mkdir /data/misc/ppp 0770 bluetooth net_bt
# Android SEC related device nodes
insmod /system/lib/modules/sec.ko
mknod /dev/sec c 182 0
chmod 0660 /dev/sec
chown root system /dev/sec
# FM Radio device node
mknod /dev/fm c 193 0;
chmod 0660 /dev/fm
chown system media /dev/fm
# device apc settings
insmod /system/lib/modules/devapc.ko
# device info /proc interface
insmod /system/lib/modules/devinfo.ko
mknod /dev/devmap c 196 0;
chmod 0444 /dev/devmap
chown root media /dev/devmap
# bluetooth
mkdir /data/@btmtk 0770 bluetooth net_bt
chown bluetooth bluetooth /dev/hid-keyboard
chmod 0660 /dev/hid-keyboard
chown bluetooth bluetooth /dev/btn
chmod 0660 /dev/btn
#Use uinput's default permission
chown system net_bt_admin /dev/uinput
#TV-out
chmod 0664 /dev/TV-out
#HDMI
chmod 0664 /dev/hdmitx
# JPEG
chmod 0444 /dev/mtk_jpeg
chmod 0444 /dev/mtk_gdma
chmod 0444 /dev/mtk_gfmt
chmod 0444 /dev/mtk_almk
# DISP
chmod 0444 /dev/mtk_disp
#Camera
chmod 0664 /dev/camera-sysram
chmod 0664 /dev/camera-isp
chmod 0664 /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/FM50AF
chmod 0660 /dev/CAM_CAL_DRV
chmod 0660 /sys/camera_pip/ov5645pip
chown system camera /dev/camera-sysram
chown system camera /dev/camera-isp
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/FM50AF
chown system camera /dev/CAM_CAL_DRV
chown media camera /sys/camera_pip/ov5645pip
#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
# G2D
chmod 0660 /dev/mtkg2d
chown system media /dev/mtkg2d
#for eng mode
chmod 0664 /dev/misc-sd
chmod 0660 /sys/bus/platform/drivers/mem_bw_ctrl/concurrency_scenario
chown system media /sys/bus/platform/drivers/mem_bw_ctrl/concurrency_scenario
# SMI
chmod 0660 /dev/MTK_SMI
chown system media /dev/MTK_SMI
#mtk_sched
chmod 0660 /dev/mtk_sched
chown system media /dev/mtk_sched
# For 6572 Mali400MP1 GPU kernel driver
#chmod 666 /dev/ump
#chown system.graphics /dev/ump
chmod 666 /dev/mali
chown system graphics /dev/mali
#BT SCO CVSD, for MT6572 and MT6582 CVSD codec on AP
chmod 0660 /dev/ebc
chown system media /dev/ebc
chmod 0666 /dev/uio0
exec 0666 /system/xbin/autosanity
# End of adding by MTK drivers
# -----------------------
on boot
chown root /remount.sh
chmod 700 /remount.sh
exec /remount.sh
# xlog
start xlogboot
# basic network init
ifup lo
hostname localhost
domainname localdomain
# set RLIMIT_NICE to allow priorities from 19 to -20
setrlimit 13 40 40
# Memory management. Basic kernel parameters, and allow the high
# level system server to be able to adjust the kernel OOM driver
# parameters to match how it is managing things.
write /proc/sys/vm/overcommit_memory 1
write /proc/sys/vm/min_free_order_shift 4
chown root system /sys/module/lowmemorykiller/parameters/adj
chmod 0664 /sys/module/lowmemorykiller/parameters/adj
chown root system /sys/module/lowmemorykiller/parameters/minfree
chmod 0664 /sys/module/lowmemorykiller/parameters/minfree
chown root system /sys/module/page_alloc/parameters/dump_order_threshold
chmod 0664 /sys/module/page_alloc/parameters/dump_order_threshold
chown root system /sys/module/page_alloc/parameters/log_order_threshold
chmod 0664 /sys/module/page_alloc/parameters/log_order_threshold
# Tweak background writeout
write /proc/sys/vm/dirty_expire_centisecs 200
write /proc/sys/vm/dirty_writeback_centisecs 300
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 system /sys/power/wake_lock
chown radio system /sys/power/wake_unlock
chmod 0660 /sys/power/autosleep
chmod 0660 /sys/power/state
chmod 0660 /sys/power/wake_lock
chmod 0660 /sys/power/wake_unlock
chmod 0664 /sys/class/leds/lcd-backlight/brightness
chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_rate
chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_rate
chown system system /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
chown system system /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
chown system system /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
chown system system /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
chown system system /sys/devices/system/cpu/cpufreq/interactive/boost
chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost
chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse
chown system system /sys/devices/system/cpu/cpufreq/interactive/input_boost
chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/input_boost
chown system system /sys/devices/system/cpu/cpufreq/hotplug/cpu_num_base
chmod 0660 /sys/devices/system/cpu/cpufreq/hotplug/cpu_num_base
# 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
chmod 0664 /sys/class/leds/lcd-backlight/brightness
chown system system /sys/class/timed_output/vibrator/enable
chown system system /sys/class/leds/keyboard-backlight/brightness
chown system radio /sys/class/leds/lcd-backlight/brightness
chown system system /sys/class/leds/button-backlight/brightness
chown system system /sys/class/leds/jogball-backlight/brightness
chown system system /sys/class/leds/red/brightness
chown system system /sys/class/leds/green/brightness
chown system system /sys/class/leds/blue/brightness
chown system system /sys/class/leds/red/device/grpfreq
chown system system /sys/class/leds/red/device/grppwm
chown system system /sys/class/leds/red/device/blink
chown system system /sys/class/leds/red/brightness
chown system system /sys/class/leds/green/brightness
chown system system /sys/class/leds/blue/brightness
chown system system /sys/class/leds/red/device/grpfreq
chown system system /sys/class/leds/red/device/grppwm
chown system system /sys/class/leds/red/device/blink
chown system system /sys/class/timed_output/vibrator/enable
chown system system /sys/module/sco/parameters/disable_esco
chown system system /sys/kernel/ipv4/tcp_wmem_min
chown system system /sys/kernel/ipv4/tcp_wmem_def
chown system system /sys/kernel/ipv4/tcp_wmem_max
chown system system /sys/kernel/ipv4/tcp_rmem_min
chown system system /sys/kernel/ipv4/tcp_rmem_def
chown system system /sys/kernel/ipv4/tcp_rmem_max
chown root system /sys/kernel/debug/binder/transaction_log_enable
chown root radio /proc/cmdline
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
# 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
# AGPS
mkdir /data/agps_supl 0771 gps system
## Thermal
#change permissions on thermal devices
chown root system /proc/mtktscpu/mtktscpu
chmod 0660 /proc/mtktscpu/mtktscpu
chown root system /proc/mtktsabb/mtktsabb
chmod 0660 /proc/mtktsabb/mtktsabb
chown root system /proc/mtktscpu/mtktscpu_cooler
chmod 0660 /proc/mtktscpu/mtktscpu_cooler
chown root system /proc/mtktsbattery/mtktsbattery
chmod 0660 /proc/mtktsbattery/mtktsbattery
chown root system /proc/mtktspa/mtktspa
chmod 0660 /proc/mtktspa/mtktspa
chown root system /proc/mtktspmic/mtktspmic
chmod 0660 /proc/mtktspmic/mtktspmic
chown root system /proc/driver/mtk_thermal_monitor
chmod 0660 /proc/driver/mtk_thermal_monitor
chown root radio /proc/driver/mtm_scen_call
chmod 0660 /proc/driver/mtm_scen_call
chown system system /proc/driver/mtk_cl_sd_pid
chmod 0660 /proc/driver/mtk_cl_sd_pid
chown root system /proc/wmt_tm/wmt_tm
chown system system /proc/wmt_tm/tm_pid
chown system system /proc/wmt_tm/tx_thro
chown system system /proc/wmt_tm/wmt_val
chown system system /proc/wmt_tm/wfd_stat
## Initd
chmod 755 /system/etc/init.d/*
##Netlog tool
#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
chown radio system /proc/cpufreq/cpufreq_cur_freq
chown radio system /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
# WMT proc
chown shell system /proc/driver/wmt_dbg
chown shell system /proc/driver/wmt_aee
# Define TCP buffer sizes for various networks
# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
setprop net.tcp.buffersize.default 4096,87380,524288,4096,16384,524288
setprop net.tcp.buffersize.wifi 524288,1048576,2097152,262144,524288,1048576
setprop net.tcp.buffersize.lte 524288,1048576,2097152,262144,524288,1048576
setprop net.tcp.buffersize.umts 4094,87380,524288,4096,16384,524288
setprop net.tcp.buffersize.hspa 4094,87380,524288,4096,16384,524288
setprop net.tcp.buffersize.hsupa 4094,87380,524288,4096,16384,524288
setprop net.tcp.buffersize.hsdpa 4094,87380,524288,4096,16384,524288
setprop net.tcp.buffersize.hspap 4094,87380,1220608,4096,16384,1220608
setprop net.tcp.buffersize.edge 4093,26280,35040,4096,16384,35040
setprop net.tcp.buffersize.gprs 4092,8760,11680,4096,8760,11680
setprop net.tcp.buffersize.evdo 4094,87380,262144,4096,16384,262144
# Set this property so surfaceflinger is not started by system_init
setprop system_init.startsurfaceflinger 0
# set comob chipid 6572
setprop persist.mtk.wcn.combo.chipid 0x6572
class_start core
class_start main
class_start default
on nonencrypted
class_start late_start
on charger
class_start charger
on property:vold.decrypt=trigger_reset_main
class_reset main
on property:vold.decrypt=trigger_load_persist_props
load_persist_props
on property:vold.decrypt=trigger_post_fs_data
trigger post-fs-data
on property:vold.decrypt=trigger_restart_min_framework
class_start main
on property:vold.decrypt=trigger_restart_framework
start permission_check
class_start main
class_start late_start
on property:vold.decrypt=trigger_shutdown_framework
class_reset late_start
class_reset default
class_reset main
## Daemon processes to be run by init.
##
# Update the second boot logo
service bootlogoupdater /system/bin/boot_logo_updater
oneshot
service initd /system/bin/busybox run-parts /system/etc/init.d
class main
user root
group root
oneshot
service ueventd /sbin/ueventd
class core
critical
seclabel u:r:ueventd:s0
on property:selinux.reload_policy=1
restart ueventd
restart installd
service console /system/bin/sh
class core
console
disabled
user root
group log
on property:ro.debuggable=1
start console
# adbd is controlled via property triggers in init.<platform>.usb.rc
service adbd /sbin/adbd
class core
socket adbd stream 660 system system
disabled
seclabel u:r:adbd:s0
# adbd on at boot in emulator
on property:ro.kernel.qemu=1
start adbd
service debuggerd /system/bin/debuggerd
class main
service mobile_log_d /system/bin/mobile_log_d
class main
# bugreport is triggered by ctl.start bugreport
service bugreport /system/bin/bugmailer.sh -v
class main
disabled
oneshot
# SGX init
service pvrsrvctl /system/vendor/bin/pvrsrvctl --start
class main
user root
group root
oneshot
service servicemanager /system/bin/servicemanager
class core
user system
group system
#critical
onrestart restart pq
onrestart restart zygote
onrestart restart media
onrestart restart surfaceflinger
onrestart restart drm
onrestart restart aal
service vold /system/bin/vold
class core
socket vold stream 0660 root mount
ioprio be 2
service netd /system/bin/netd
class main
socket netd stream 0660 root system
socket dnsproxyd stream 0660 root inet
socket mdns stream 0660 root system
service netdiag /system/bin/netdiag
class main
socket netdiag stream 0660 root inet
service nvram_daemon /system/bin/nvram_daemon
class main
user nvram
group nvram system
oneshot
# DFO (Begin)
service featured /system/bin/featured
class core
user nvram
group nvram system
socket dfo stream 660 nvram system
# DFO (End)
service atci_service /system/bin/atci_service
socket atci-service stream 660 radio system
socket atci-serv-fw stream 660 radio system
user root
group radio system
service atcid-daemon /system/bin/atcid
user root
group radio system
oneshot
service audio-daemon /system/bin/audiocmdservice_atci
class main
socket atci-audio stream 660 root system
user root
disabled
oneshot
service pq /system/bin/pq
class main
user system
group system graphics
oneshot
service surfaceflinger /system/bin/surfaceflinger
class main
# user system
group graphics
onrestart restart zygote
service aal /system/bin/aal
class main
user system
group system graphics
service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server
class main
socket zygote stream 660 root system
onrestart write /sys/android_power/request_state wake
onrestart write /sys/power/state on
onrestart restart media
onrestart restart netd
#
# MT6620 related services (Begin)
#
service hald /system/bin/hald
class main
socket hald stream 0660 root system
user system
group system radio mount wifi inet net_admin
service insmod /system/bin/logwrapper insmod
disabled
oneshot
service rmmod /system/bin/logwrapper rmmod
disabled
oneshot
service p2p_supplicant /system/bin/logwrapper /system/bin/wpa_supplicant \
-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -N \
-ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf -e/data/misc/wifi/entropy.bin -puse_p2p_group_interface=1 -ddd
# 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/logwrapper /system/bin/wpa_supplicant \
-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -e/data/misc/wifi/entropy.bin -ddd
# 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 ap_daemon /system/bin/wpa_supplicant \
-iap0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf -e/data/misc/wifi/entropy.bin -puse_p2p_group_interface=1 -ddd
# 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
disabled
oneshot
#
# MT6620 related services (End)
#
service dhcpcd_wlan0 /system/bin/logwrapper /system/bin/dhcpcd -A -BK -dd
class main
disabled
oneshot
service dhcpcd_p2p /system/bin/logwrapper /system/bin/dhcpcd -A -BK -dd
class main
disabled
oneshot
service iprenew_wlan0 /system/bin/logwrapper /system/bin/dhcpcd -n
class main
disabled
oneshot
service iprenew_p2p /system/bin/logwrapper /system/bin/dhcpcd -n
class main
disabled
oneshot
service dhcp6cDNS_wlan0 /system/bin/dhcp6c -c "/etc/wide-dhcpv6/dhcp6cDNS.conf" -Df wlan0
disabled
oneshot
service dhcp6c_wlan0 /system/bin/dhcp6c -c "/etc/wide-dhcpv6/dhcp6c.conf" -Df wlan0
disabled
oneshot
on property:service.dhcp6c_wlan0.enable=0
stop dhcp6c_wlan0
on property:service.dhcp6c_wlan0.enable=1
start dhcp6c_wlan0
service DMAgent /system/bin/dm_agent_binder
user system
group system nvram cache
service drm /system/bin/drmserver
class main
user drm
group drm system audio sdcard_rw net_raw inet drmrpc media
service media /system/bin/mediaserver
class main
user root
group audio camera graphics inet net_bt net_bt_admin net_bw_acct drmrpc media sdcard_rw nvram ccci radio
ioprio rt 4
service vtservice /system/bin/vtservice
class main
socket soc_vt_tcv dgram 660 media system
socket soc_vt_stk dgram 660 media system
socket soc_vt_svc dgram 660 media system
user root
group camera graphics media sdcard_rw radio
ioprio rt 4
service cmmb /system/bin/cmmbsp
class main
user system
group system audio camera graphics inet net_bt net_bt_admin net_bw_acct media
ioprio rt 4
service matv /system/bin/matv
class main
user system
group system sdcard_rw media
ioprio rt 4
#service mdp /system/bin/mdpserver
# class main
# user system
# group system media
service mtkGD /system/bin/mtkGD
class main
user system
group system
service bootanim /system/bin/bootanimation
class main
user graphics
group graphics media
disabled
oneshot
service dbus /system/bin/dbus-daemon --system --nofork
class main
socket dbus stream 660 bluetooth bluetooth
user bluetooth
group bluetooth net_bt_admin
service bluetoothd /system/bin/bluetoothd -n
class main
socket bluetooth stream 660 bluetooth bluetooth
socket dbus_bluetooth stream 660 bluetooth bluetooth
# init.rc does not yet support applying capabilities, so run as root and
# let bluetoothd drop uid to bluetooth with the right linux capabilities
group bluetooth net_bt_admin misc
disabled
service mtkbt /system/bin/mtkbt
socket bt.int.adp dgram 660 bluetooth net_bt
socket bt.a2dp.stream dgram 660 bluetooth net_bt
user bluetooth
group system net_bt bluetooth net_bt_admin sdcard_rw inet net_admin nvram net_raw
oneshot
#
# External Modme control related services
#
service emd_daemon /system/bin/emd_daemon
user root
oneshot
service installd /system/bin/installd
class main
socket installd stream 600 system system
service flash_recovery /system/etc/install-recovery.sh
class main
oneshot
service sbchk /system/bin/sbchk
user nvram
group system
oneshot
service racoon /system/bin/racoon
class main
socket racoon stream 600 system system
# IKE uses UDP port 500. Racoon will setuid to vpn after binding the port.
group vpn net_admin inet
disabled
oneshot
service mtpd /system/bin/mtpd
class main
socket mtpd stream 600 system system
user vpn
group vpn net_admin inet net_raw
disabled
oneshot
service keystore /system/bin/keystore /data/misc/keystore
class main
user keystore
group keystore drmrpc
socket keystore stream 666
service dumpstate /system/bin/dumpstate -s
class main
socket dumpstate stream 0660 shell log
disabled
oneshot
#service agpsdcainit /system/bin/agpscacertinit
# class main
# oneshot
service agpsd /system/bin/mtk_agpsd
class main
socket agpsd stream 660 gps system
user gps
group gps ccci inet sdcard_rw misc
service mnld /system/xbin/mnld
user gps
group nvram gps inet misc sdcard_rw
socket mnld stream 660 gps system
disabled
service ipod /system/bin/logwrapper /system/bin/ipod
user root
group root
socket ipohctl stream 0660 root root
disabled
service extmdlogger /system/bin/extmdlogger
class main
user root
group root radio
service GoogleOtaAgent /system/bin/GoogleOtaBinder
user system
group system
service mdlogger /system/bin/mdlogger
class main
user shell
group shell system radio sdcard_rw inet ccci
disabled
oneshot
service dualmdlogger /system/bin/dualmdlogger
class main
user shell
group shell system radio sdcard_rw inet ccci
disabled
oneshot
#
#sensor service (begin)
#
service msensord /system/bin/msensord
oneshot
service s62xd /system/bin/s62xd
disabled
user compass
group system
service ami304d /system/bin/logwrapper /system/bin/ami304d
user system
group system
disabled
oneshot
service memsicd /system/bin/memsicd
disabled
oneshot
user system
group system
service memsicd3416x /system/bin/memsicd3416x
disabled
oneshot
user system
group system
service qmc5983d /system/bin/qmc5983d
disabled
oneshot
user system
group system
service akmd8975 /system/bin/akmd8975
disabled
user system
group system
service akmd8963 /system/bin/akmd8963
disabled
user system
group system
service akmd09911 /system/bin/akmd09911
disabled
user system
group system
service bmm050d /system/bin/bmm050d
disabled
user system
group system
service mc6420d /system/bin/mc6420d
disabled
user system
group system
service orientationd /system/bin/orientationd
disabled
user system
group system input
service AcdApiDaemon /system/bin/AcdApiDaemon
disabled
oneshot
user system
group system
service geomagneticd /system/bin/geomagneticd
disabled
user system
group system input
#
#sensor service (end)
#
#
#emsvr service (start)
#
service emsvr /system/bin/em_svr
user root
service afmsvr /system/bin/afm_server
user root
#
#emsvr service (end)
#
service shutdown /system/bin/logwrapper /system/bin/shutdown
user root
group root
disabled
service NvRAMAgent /system/bin/nvram_agent_binder
user system
group system nvram
service thermal_manager /system/bin/thermal_manager
user root
oneshot
service thermal /system/bin/thermal
user system
group system
service thermald /system/bin/thermald
user system
group system
service sn /system/bin/sn
user root
oneshot
#
# MMProfile service
#
service mmp /system/bin/mmp read_config
user root
oneshot
service sysctl /system/xbin/sysctld
user root
socket sysctl stream 0666 root root
disabled
service bt_ftrace /system/xbin/sysctld --bt-ftrace
user root
oneshot
service sshd /system/bin/start-ssh
class main
disabled
service mdnsd /system/bin/mdnsd
class main
user mdnsr
group inet net_raw
socket mdnsd stream 0660 mdnsr inet
disabled
oneshot
service backuprestore /system/bin/br_app_data_service
class main
socket backuprestore stream 0660 root sdcard_rw
user root
#Open NFC server
service server_open_nfc /system/bin/server_open_nfc
class main
user root
group root
#monitor battery status
service batterywarning /system/bin/batterywarning
class main
user shell
group shell
service BGW /system/xbin/BGW
user system
group gps system ccci
class main
http://forum.xda-developers.com/showthread.php?t=2798257
2) Download bootimg unpacker from here:
http://en.miui.com/thread-27657-1-1.html
3) Make an ext4 partition on your sdcard. I'll assume you will move system to the 3rd partition. It'll work even on a slow class 4 card.
4) Extract bootimg.exe, and put your stock boot.img in the same folder as bootimg.exe. Hold shift and right click on an empty space in that folder, and select, "open command window here". In the window, type "bootimg --unpack-bootimg".
5) Open the new "initrd" folder that appears. Open "init.rc" present there with notepad++. DON'T USE notepad!! Download Notepad++.
6) search for "ubifs". You'll see something like, "on fs_property=ubifs". A little below that line, there will be something like "mount ubifs ubi@system /system". Change that to, "mount ext4 /dev/block/mmcblk0p3 /system". Don't change the whole line, just replace the "ubifs" with "ext4" and "ubi@system" with "/dev/block/mmcblk0p3". Don't change the "on fs_property" line. If you use the sdcard 3rd partition as the new system partition, use "/dev/block/mmcblk0p3". For 2nd partition, it is "/dev/block/mmcblk0p2" and so on.
7) A few lines later, there will be "mount ubifs ubi@system /system ro remount". Again replace "ubifs" with "ext4" and "ubi@system" with "/dev/block/mmcblk0p3" (use your partition number).
8) On the command prompt window you opened earlier, type, "bootimg --repack-bootimg". It will make a boot-new.img. You'll have to flash it later.
9) Open the TWRP magic port tool. Choose "unpack/repack" then "unpack". Put your custom recovery.img in the TWRP folder it will mention.
10) Open "/ramdisk/etc/recovery.fstab". Under the partition column, there will be a "system" or "android" entry. Beside that, under "type", change "ubifs" to "ext4". Change "device" from "ubi@android" or "ubi@system" to "/dev/block/mmcblk0p3". Repack recovery with the TWRP tool. Install it.
11) Unzip any rom you want to use, and delete all "mount" "umount" and "format" lines from /zip/META-INF/com/google/android/updater-script". Flash the modified zip with the modified recovery. If you want to use the stock rom, copy all files from /system first, and make a flashable zip from them, using the updater-script of some simple, near-stock rom. I use Sudhansu's Supernova script.
12) Flash the modified boot-new.img. Done.
As system is now located on the sdcard, the internal system partition is free. If you move data to the internal system partition, you will get 2x larger data partition, without getting lags. To do that, repeat steps 3-10, but this time, change "ubi@userdata".
The following is my init.rc. If you copy-paste that, you will get:
1) /system on sdcard partition 2
2) /data on original internal system partition
3) dalvik-cache on sdcard part 3
4) /data/app on original internal data partition.
5) Init.d support (install busybox in /system/bin)
Right before flashing a boot img with this .rc, clear the contents of the internal /data and/system partitions.
This particular .rc will probably break nandroid backup/restore of the data partition. After using this, do not restore your old nandroid backup of /data. Use Titanium Backup instead.
# Copyright (C) 2012 The Android Open Source Project
#
# IMPORTANT: Do not create world writable files or directories.
# This is a common source of Android security bugs.
#
#import /init.${ro.hardware}.rc
import /init.usb.rc
import /init.trace.rc
import init.xlog.rc
on early-init
# Set init and its forked children's oom_adj.
write /proc/1/oom_adj -16
# Set the security context for the init process.
# This should occur before anything else (e.g. ueventd) is started.
setcon u:r:init:s0
start ueventd
# create mountpoints
mkdir /mnt 0775 root system
on early_property:ro.build.type=user
write /proc/bootprof "INIT: user build setting"
export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/secondary-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-op.jar
on early_property:ro.build.type=userdebug
write /proc/bootprof "INIT: userdebug build setting"
export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/secondary-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-op.jar
on early_property:ro.build.type=eng
write /proc/bootprof "INIT: eng build setting"
export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/secondary-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-op.jar:/system/framework/emma.jar
on early_property:ro.hardware=mt6589
setprop ro.mtk.hardware mt6589
on init
sysclktz 0
loglevel 5
write /proc/bootprof "INIT: on init start"
# setup the global environment
export PATH /sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
export LD_LIBRARY_PATH /vendor/lib:/system/lib
export ANDROID_BOOTLOGO 1
export ANDROID_ROOT /system
export ANDROID_ASSETS /system/app
export ANDROID_DATA /data
export ANDROID_STORAGE /storage
export ASEC_MOUNTPOINT /mnt/asec
export LOOP_MOUNTPOINT /mnt/obb
# Backward compatibility
symlink /system/etc /etc
symlink /sys/kernel/debug /d
# Right now vendor lives on the same filesystem as system,
# but someday that may change.
symlink /system/vendor /vendor
# Create cgroup mount point for cpu accounting
mkdir /acct
mount cgroup none /acct cpuacct
mkdir /acct/uid
mkdir /system
mkdir /data 0771 system system
mkdir /cache 0770 system cache
mkdir /config 0500 root root
# See storage config details at http://source.android.com/tech/storage/
mkdir /mnt/shell 0700 shell shell
# mkdir /storage 0050 root sdcard_r
mkdir /storage 0055 root sdcard_r
mkdir /mnt/cd-rom 0000 system system
# Directory for putting things only root should see.
mkdir /mnt/secure 0700 root root
# Create private mountpoint so we can MS_MOVE from staging
mount tmpfs tmpfs /mnt/secure mode=0700,uid=0,gid=0
# Directory for staging bindmounts
mkdir /mnt/secure/staging 0700 root root
# Directory-target for where the secure container
# imagefile directory will be bind-mounted
mkdir /mnt/secure/asec 0700 root root
# Secure container public mount points.
mkdir /mnt/asec 0700 root system
mount tmpfs tmpfs /mnt/asec mode=0755,gid=1000
# Filesystem image public mount points.
mkdir /mnt/obb 0700 root system
mount tmpfs tmpfs /mnt/obb mode=0755,gid=1000
write /proc/sys/kernel/panic_on_oops 1
write /proc/sys/kernel/hung_task_timeout_secs 0
write /proc/cpu/alignment 4
write /proc/sys/kernel/sched_latency_ns 10000000
write /proc/sys/kernel/sched_wakeup_granularity_ns 2000000
write /proc/sys/kernel/sched_compat_yield 1
write /proc/sys/kernel/sched_child_runs_first 0
write /proc/sys/kernel/randomize_va_space 2
write /proc/sys/kernel/kptr_restrict 2
write /proc/sys/kernel/dmesg_restrict 1
write /proc/sys/vm/mmap_min_addr 32768
write /proc/sys/kernel/sched_rt_runtime_us 950000
write /proc/sys/kernel/sched_rt_period_us 1000000
# Create cgroup mount points for process groups
mkdir /dev/cpuctl
mount cgroup none /dev/cpuctl cpu
chown system system /dev/cpuctl
chown system system /dev/cpuctl/tasks
chmod 0660 /dev/cpuctl/tasks
write /dev/cpuctl/cpu.shares 1024
write /dev/cpuctl/cpu.rt_runtime_us 950000
write /dev/cpuctl/cpu.rt_period_us 1000000
mkdir /dev/cpuctl/apps
chown system system /dev/cpuctl/apps/tasks
chmod 0666 /dev/cpuctl/apps/tasks
write /dev/cpuctl/apps/cpu.shares 1024
write /dev/cpuctl/apps/cpu.rt_runtime_us 800000
write /dev/cpuctl/apps/cpu.rt_period_us 1000000
mkdir /dev/cpuctl/apps/bg_non_interactive
chown system system /dev/cpuctl/apps/bg_non_interactive/tasks
chmod 0666 /dev/cpuctl/apps/bg_non_interactive/tasks
# 5.0 %
write /dev/cpuctl/apps/bg_non_interactive/cpu.shares 52
write /dev/cpuctl/apps/bg_non_interactive/cpu.rt_runtime_us 700000
write /dev/cpuctl/apps/bg_non_interactive/cpu.rt_period_us 1000000
# Allow everybody to read the xt_qtaguid resource tracking misc dev.
# This is needed by any process that uses socket tagging.
chmod 0644 /dev/xt_qtaguid
# Change ION driver permission
chmod 0644 /dev/ion
# Change MMP driver permission
chmod 0644 /dev/mmp
# change lk_env permission
chown root system /proc/lk_env
chmod 0660 /proc/lk_env
# mount different fs start
on fs_property:ro.mount.fs=YAFFS
# mount mtd partitions
# Mount /system rw first to give the filesystem a chance to save a checkpoint
write /proc/bootprof "INIT:NAND:Mount_START"
mount yaffs2 mtd@system /system
chmod 0750 /system/etc/partition_permission.sh
# via: set ril and pppd
chown root /system/bin/pppd
chmod 4755 /system/bin/pppd
chown root /system/etc/ppp/ip-up-cdma
chmod 4755 /system/et/ppp/ip-up-cdma
chown root /system/etc/ppp/ipv6-up-cdma
chmod 4755 /system/etc/ppp/ipv6-up-cdma
chown root /system/etc/ppp/link-down-cdma
chmod 4755 /system/etc/ppp/link-down-cdma
mount yaffs2 mtd@system /system ro remount
mount yaffs2 mtd@userdata /data nosuid nodev
mount yaffs2 mtd@cache /cache nosuid nodev
write /proc/bootprof "INIT:NAND:Mount_END"
on fs_property:ro.mount.fs=EXT4
write /proc/bootprof "INIT:eMMC:Mount_START"
exec /sbin/e2fsck -p /emmc@android
# Mount /system rw first to give the filesystem a chance to save a checkpoint
#mount ext4 emmc@android /system wait commit=1,data=journal,noauto_da_alloc
mount ext4 /emmc@android /system wait commit=1,noauto_da_alloc
chmod 0750 /system/etc/partition_permission.sh
# RIL need to do this before the folder /system changed to read only
chown radio system /system/etc/ril
chmod 0770 /system/etc/ril
chmod 0444 /system/etc/ril/oper.lis
# Wifi thermal need to chmod before system is changed to read only
chown root system /system/etc/throttle.sh
chmod 0750 /system/etc/throttle.sh
mount ext4 /emmc@android /system noatime ro remount wait
exec /sbin/e2fsck -pfD /emmc@usrdata
exec /sbin/tune2fs -O has_journal /emmc@usrdata
exec /system/bin/ext4_resize
mount ext4 /emmc@usrdata /data noatime nosuid nodev wait noauto_da_alloc,discard
exec /sbin/e2fsck -p /emmc@cache
exec /sbin/tune2fs -O has_journal /emmc@cache
mount ext4 /emmc@cache /cache noatime nosuid nodev wait noauto_da_alloc,discard
write /proc/bootprof "INIT:eMMC:Mount_END"
on fs_property:ro.mount.fs=UBIFS
write /proc/bootprof "INIT:NAND:Mount_START"
mount ext4 /dev/block/mmcblk0p2 /system
chmod 0750 /system/etc/partition_permission.sh
# via: set ril and pppd
chown root /system/bin/pppd
chmod 4755 /system/bin/pppd
chown root /system/etc/ppp/ip-up-cdma
chmod 4755 /system/et/ppp/ip-up-cdma
chown root /system/etc/ppp/ipv6-up-cdma
chmod 4755 /system/etc/ppp/ipv6-up-cdma
chown root /system/etc/ppp/link-down-cdma
chmod 4755 /system/etc/ppp/link-down-cdma
# Wifi thermal need to chmod before system is changed to read only
chown root system /system/etc/throttle.sh
chmod 0750 /system/etc/throttle.sh
#system partition
mount ext4 /dev/block/mmcblk0p2 /system noatime ro remount wait
#data partition
mount ubifs ubi@system /data nosuid nodev
#for symlinked dalvik-cache
mkdir /data/sdext3 0777 root root
#for dalvik-cache
mount ext4 /dev/block/mmcblk0p3 /data/sdext3
#for dalvik-cache
mkdir /data/sdext3/dalvik-cache 0777 root root
mkdir /data/sdext3/dalvik-cache/placeholder
#for symlinked /data/app
mkdir /mnt/intdata 0777 root root
#for /data/app
mount ubifs ubi@userdata /mnt/intdata
#for /data/app
mkdir /mnt/intdata/app 0771 system system
mkdir /mnt/intdata/app/placeholder
mount ubifs ubi@cache /cache nosuid nodev wait
#for /data/app
symlink /mnt/intdata/app /data/app
#for dalvik-cache
symlink /data/sdext3/dalvik-cache /data/dalvik-cache
write /proc/bootprof "INIT:NAND:Mount_END"
# mount different fs end
on fs
mount iso9660 loop@/system/mobile_toolkit/iAmCdRom.iso /mnt/cd-rom ro
on post-fs
# once everything is setup, no need to modify /
mount rootfs rootfs / ro remount
# mount shared so changes propagate into child namespaces -> move to init.ssd.rc
# mount rootfs rootfs / shared rec
# mount tmpfs tmpfs /mnt/secure private rec
# 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 /cache
# This may have been created by the recovery system with odd permissions
mkdir /cache/recovery 0770 system cache
chown system cache /cache/recovery
chmod 0770 /cache/recovery
# This may have been created by the recovery system with the wrong context.
restorecon /cache/recovery
#change permissions on vmallocinfo so we can grab it from bugreports
chown root log /proc/vmallocinfo
chmod 0440 /proc/vmallocinfo
#change permissions for mediaserver
chown root media /proc/clkmgr/mipi_test
#change permission for engineer mode
chown radio system /proc/clkmgr/clk_test
chown radio system /proc/clkmgr/pll_test
chown radio system /proc/clkmgr/pll_fsel
chown radio system /proc/clkmgr/subsys_test
#change permission for engineer mode
chown radio system /proc/fhctl/dbg
chown radio system /proc/fhctl/dumpregs
chown radio system /proc/fhctl/help
chown radio system /proc/dcm/dbg
chown radio system /proc/dcm/dumpregs
chown radio system /proc/dcm/help
chown radio system /proc/lpm/dbg
chown radio system /proc/lpm/dumpregs
chown radio system /proc/lpm/help
#change permission for engineer mode
chown radio system /proc/spm_fs/suspend
chown radio system /proc/spm_fs/suspend_mode
chown radio system /proc/spm_fs/suspend_timer
chown radio system /proc/spm_fs/dpidle_level
chown radio system /proc/spm_fs/dpidle_timer
chown radio system /proc/spm_fs/dpidle_mode
chown radio system /proc/spm_fs/dpidle
chown radio system /proc/spm_fs/mcdi_timer
chown radio system /proc/spm_fs/mcdi_mode
chown radio system /proc/spm_fs/mcdi
#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
# create the lost+found directories, so as to enforce our permissions
mkdir /cache/lost+found 0770 root root
#change partition permission
exec /system/etc/partition_permission.sh
# change owner
chown root system /proc/bootprof
chown root system /proc/mtprof/cputime
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
# Create dump dir and collect dumps.
# Do this before we mount cache so eventually we can use cache for
# storing dumps on platforms which do not have a dedicated dump partition.
mkdir /data/dontpanic 0750 root log
# Collect apanic data, free resources and re-arm trigger
copy /proc/apanic_console /data/dontpanic/apanic_console
chown root log /data/dontpanic/apanic_console
chmod 0640 /data/dontpanic/apanic_console
copy /proc/apanic_threads /data/dontpanic/apanic_threads
chown root log /data/dontpanic/apanic_threads
chmod 0640 /data/dontpanic/apanic_threads
write /proc/apanic_console 1
# create basic filesystem structure
mkdir /data/nvram 0770 root nvram
mkdir /data/misc 01771 system misc
mkdir /data/misc/adb 02750 system shell
mkdir /data/misc/bluedroid 0770 bluetooth net_bt_stack
#need to check
# 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/sms 0770 system radio
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-lib 0771 system system
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
#give system access to rfkill device node
chmod 0660 /dev/rfkill
# create dalvik-cache, so as to enforce our permissions
mkdir /data/dalvik-cache 0771 system system
# create resource-cache and double-check the perms
mkdir /data/resource-cache 0771 system system
chown system system /data/resource-cache
chmod 0771 /data/resource-cache
# create the lost+found directories, so as to enforce our permissions
mkdir /data/lost+found 0770 root root
# create for muxd pts device node , to operate without root
mkdir /dev/radio 0770 radio radio
# create directory for DRM plug-ins
mkdir /data/drm 0774 drm system
mkdir /data/drm/wv 0770 drm system
# 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
# -----------------------
# Add by MTK
# dhcp server
mkdir /data/misc/dhcp 0770 dhcp wifi
chown dhcp wifi /data/misc/dhcp
# radvd
mkdir /data/misc/radvd 0770 system system
chmod 444 /etc/radvd/radvd.conf
# SGX
insmod /system/lib/modules/pvrsrvkm.ko
insmod /system/lib/modules/mtklfb.ko
# Permissions for System Server and daemons.
chown root radio /sys/class/leds/lcd-backlight/brightness
chown root radio /sys/class/leds/lcd-backlight/duty
chown root radio /sys/class/leds/lcd-backlight/div
# Touch Panel
chmod 0664 /dev/touch
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
# zhaozongyun add start
chown system system /sys/bus/platform/drivers/Accdet_Driver/factory_flag
chown system system /proc/ctp_upgrade
# zhaozongyun add end
chmod 0660 /dev/pmem_multimedia
chown system media /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
# M4U
#insmod /system/lib/modules/m4u.ko
#mknod /dev/M4U_device c 188 0
chmod 0444 /dev/M4U_device
#chown system media /dev/M4U_device
# Sensor
chmod 0660 /dev/hwmsensor
chmod 0660 /dev/gyroscope
chmod 0660 /dev/msensor
chmod 0660 /dev/gsensor
chmod 0660 /dev/alsps
chmod 0660 /sys/devices/platform/msensor/driver/cpsopmode
chmod 0660 /sys/devices/platform/msensor/driver/cpsreptxy
chmod 0660 /sys/devices/platform/msensor/driver/cpsreptz
chown system system /dev/hwmsensor
chown system system /dev/gyroscope
chown system system /dev/msensor
chown system system /dev/gsensor
chown system system /dev/alsps
#Accdet
chown root radio /sys/devices/platform/Accdet_Driver/driver/accdet_call_state
#VideoCodec
insmod /system/lib/modules/vcodec_kernel_driver.ko
mknod /dev/Vcodec c 160 0
chmod 0660 /dev/Vcodec
chown system media /dev/Vcodec
#kpd
chown radio radio /sys/devices/platform/mtk-kpd/driver/kpd_call_state
#Charging Battery
chown radio radio /sys/devices/platform/battery/Charging_CallState
mkdir /data/amit/ 0770 system system
mkdir /data/misc/sensors 0664 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/class/input/input5/enable
chown system /sys/class/input/input5/delay
chown system /sys/class/input/input5/wake
chown system /sys/class/input/input3/enable
chown system /sys/class/input/input3/wake
chown system /sys/class/input/input4/offsets
chown system /sys/class/input/input4/dynamic_matrix
chown system /sys/devices/platform/msensor/driver/cpsopmode
chown system /sys/devices/platform/msensor/driver/cpsreptxy
chown system /sys/devices/platform/msensor/driver/cpsreptz
mkdir /data/data/mcube 0664 system system
# GPIO
chmod 0664 /dev/mtgpio
# SPM SODI Enable
chown media /proc/mcdi/sodi_en
chmod 0664 /proc/mcdi/sodi_en
#EM eint
chown root diag /sys/bus/platform/drivers/eint/current_eint
chmod 0660 /dev/graphics/fb0
chown system graphics /dev/graphics/fb0
chmod 0660 /dev/mtkfb_vsync
chown system graphics /dev/mtkfb_vsync
chmod 0660 /dev/sw_sync
chown system graphics /dev/sw_sync
# EM baseband file
chown root diag /system/bin/baseband_regdump
chmod 4750 /system/bin/baseband_regdump
#pmu
chown root radio /sys/devices/platform/mt-pmic/pmic_access
chmod 0664 /sys/devices/platform/mt-pmic/pmic_access
# EM CPU Speed Stress
chown root radio /proc/cpu_ss/cpu_ss_debug_mode
chown root radio /proc/cpu_ss/cpu_ss_mode
chown root radio /proc/cpu_ss/cpu_ss_period
chown root radio /proc/cpu_ss/cpu_ss_period_mode
chmod 0664 /proc/cpu_ss/cpu_ss_debug_mode
chmod 0664 /proc/cpu_ss/cpu_ss_mode
chmod 0664 /proc/cpu_ss/cpu_ss_period
chmod 0664 /proc/cpu_ss/cpu_ss_period_mode
#EM eint
chown root diag /sys/bus/platform/drivers/eint/current_eint
# for ppp options file
mkdir /data/misc/ppp 0770 bluetooth net_bt
# Android SEC related device nodes
insmod /system/lib/modules/sec.ko
mknod /dev/sec c 182 0
chmod 0660 /dev/sec
chown root system /dev/sec
# FM Radio device node
mknod /dev/fm c 193 0;
chmod 0660 /dev/fm
chown system media /dev/fm
# device apc settings
insmod /system/lib/modules/devapc.ko
# device info /proc interface
insmod /system/lib/modules/devinfo.ko
mknod /dev/devmap c 196 0;
chmod 0444 /dev/devmap
chown root media /dev/devmap
# bluetooth
mkdir /data/@btmtk 0770 bluetooth net_bt
chown bluetooth bluetooth /dev/hid-keyboard
chmod 0660 /dev/hid-keyboard
chown bluetooth bluetooth /dev/btn
chmod 0660 /dev/btn
#Use uinput's default permission
chown system net_bt_admin /dev/uinput
#TV-out
chmod 0664 /dev/TV-out
#HDMI
chmod 0664 /dev/hdmitx
# JPEG
chmod 0444 /dev/mtk_jpeg
chmod 0444 /dev/mtk_gdma
chmod 0444 /dev/mtk_gfmt
chmod 0444 /dev/mtk_almk
# DISP
chmod 0444 /dev/mtk_disp
#Camera
chmod 0664 /dev/camera-sysram
chmod 0664 /dev/camera-isp
chmod 0664 /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/FM50AF
chmod 0660 /dev/CAM_CAL_DRV
chmod 0660 /sys/camera_pip/ov5645pip
chown system camera /dev/camera-sysram
chown system camera /dev/camera-isp
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/FM50AF
chown system camera /dev/CAM_CAL_DRV
chown media camera /sys/camera_pip/ov5645pip
#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
# G2D
chmod 0660 /dev/mtkg2d
chown system media /dev/mtkg2d
#for eng mode
chmod 0664 /dev/misc-sd
chmod 0660 /sys/bus/platform/drivers/mem_bw_ctrl/concurrency_scenario
chown system media /sys/bus/platform/drivers/mem_bw_ctrl/concurrency_scenario
# SMI
chmod 0660 /dev/MTK_SMI
chown system media /dev/MTK_SMI
#mtk_sched
chmod 0660 /dev/mtk_sched
chown system media /dev/mtk_sched
# For 6572 Mali400MP1 GPU kernel driver
#chmod 666 /dev/ump
#chown system.graphics /dev/ump
chmod 666 /dev/mali
chown system graphics /dev/mali
#BT SCO CVSD, for MT6572 and MT6582 CVSD codec on AP
chmod 0660 /dev/ebc
chown system media /dev/ebc
chmod 0666 /dev/uio0
exec 0666 /system/xbin/autosanity
# End of adding by MTK drivers
# -----------------------
on boot
chown root /remount.sh
chmod 700 /remount.sh
exec /remount.sh
# xlog
start xlogboot
# basic network init
ifup lo
hostname localhost
domainname localdomain
# set RLIMIT_NICE to allow priorities from 19 to -20
setrlimit 13 40 40
# Memory management. Basic kernel parameters, and allow the high
# level system server to be able to adjust the kernel OOM driver
# parameters to match how it is managing things.
write /proc/sys/vm/overcommit_memory 1
write /proc/sys/vm/min_free_order_shift 4
chown root system /sys/module/lowmemorykiller/parameters/adj
chmod 0664 /sys/module/lowmemorykiller/parameters/adj
chown root system /sys/module/lowmemorykiller/parameters/minfree
chmod 0664 /sys/module/lowmemorykiller/parameters/minfree
chown root system /sys/module/page_alloc/parameters/dump_order_threshold
chmod 0664 /sys/module/page_alloc/parameters/dump_order_threshold
chown root system /sys/module/page_alloc/parameters/log_order_threshold
chmod 0664 /sys/module/page_alloc/parameters/log_order_threshold
# Tweak background writeout
write /proc/sys/vm/dirty_expire_centisecs 200
write /proc/sys/vm/dirty_writeback_centisecs 300
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 system /sys/power/wake_lock
chown radio system /sys/power/wake_unlock
chmod 0660 /sys/power/autosleep
chmod 0660 /sys/power/state
chmod 0660 /sys/power/wake_lock
chmod 0660 /sys/power/wake_unlock
chmod 0664 /sys/class/leds/lcd-backlight/brightness
chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_rate
chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_rate
chown system system /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
chown system system /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
chown system system /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
chown system system /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
chown system system /sys/devices/system/cpu/cpufreq/interactive/boost
chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost
chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse
chown system system /sys/devices/system/cpu/cpufreq/interactive/input_boost
chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/input_boost
chown system system /sys/devices/system/cpu/cpufreq/hotplug/cpu_num_base
chmod 0660 /sys/devices/system/cpu/cpufreq/hotplug/cpu_num_base
# 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
chmod 0664 /sys/class/leds/lcd-backlight/brightness
chown system system /sys/class/timed_output/vibrator/enable
chown system system /sys/class/leds/keyboard-backlight/brightness
chown system radio /sys/class/leds/lcd-backlight/brightness
chown system system /sys/class/leds/button-backlight/brightness
chown system system /sys/class/leds/jogball-backlight/brightness
chown system system /sys/class/leds/red/brightness
chown system system /sys/class/leds/green/brightness
chown system system /sys/class/leds/blue/brightness
chown system system /sys/class/leds/red/device/grpfreq
chown system system /sys/class/leds/red/device/grppwm
chown system system /sys/class/leds/red/device/blink
chown system system /sys/class/leds/red/brightness
chown system system /sys/class/leds/green/brightness
chown system system /sys/class/leds/blue/brightness
chown system system /sys/class/leds/red/device/grpfreq
chown system system /sys/class/leds/red/device/grppwm
chown system system /sys/class/leds/red/device/blink
chown system system /sys/class/timed_output/vibrator/enable
chown system system /sys/module/sco/parameters/disable_esco
chown system system /sys/kernel/ipv4/tcp_wmem_min
chown system system /sys/kernel/ipv4/tcp_wmem_def
chown system system /sys/kernel/ipv4/tcp_wmem_max
chown system system /sys/kernel/ipv4/tcp_rmem_min
chown system system /sys/kernel/ipv4/tcp_rmem_def
chown system system /sys/kernel/ipv4/tcp_rmem_max
chown root system /sys/kernel/debug/binder/transaction_log_enable
chown root radio /proc/cmdline
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
# 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
# AGPS
mkdir /data/agps_supl 0771 gps system
## Thermal
#change permissions on thermal devices
chown root system /proc/mtktscpu/mtktscpu
chmod 0660 /proc/mtktscpu/mtktscpu
chown root system /proc/mtktsabb/mtktsabb
chmod 0660 /proc/mtktsabb/mtktsabb
chown root system /proc/mtktscpu/mtktscpu_cooler
chmod 0660 /proc/mtktscpu/mtktscpu_cooler
chown root system /proc/mtktsbattery/mtktsbattery
chmod 0660 /proc/mtktsbattery/mtktsbattery
chown root system /proc/mtktspa/mtktspa
chmod 0660 /proc/mtktspa/mtktspa
chown root system /proc/mtktspmic/mtktspmic
chmod 0660 /proc/mtktspmic/mtktspmic
chown root system /proc/driver/mtk_thermal_monitor
chmod 0660 /proc/driver/mtk_thermal_monitor
chown root radio /proc/driver/mtm_scen_call
chmod 0660 /proc/driver/mtm_scen_call
chown system system /proc/driver/mtk_cl_sd_pid
chmod 0660 /proc/driver/mtk_cl_sd_pid
chown root system /proc/wmt_tm/wmt_tm
chown system system /proc/wmt_tm/tm_pid
chown system system /proc/wmt_tm/tx_thro
chown system system /proc/wmt_tm/wmt_val
chown system system /proc/wmt_tm/wfd_stat
## Initd
chmod 755 /system/etc/init.d/*
##Netlog tool
#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
chown radio system /proc/cpufreq/cpufreq_cur_freq
chown radio system /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
# WMT proc
chown shell system /proc/driver/wmt_dbg
chown shell system /proc/driver/wmt_aee
# Define TCP buffer sizes for various networks
# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
setprop net.tcp.buffersize.default 4096,87380,524288,4096,16384,524288
setprop net.tcp.buffersize.wifi 524288,1048576,2097152,262144,524288,1048576
setprop net.tcp.buffersize.lte 524288,1048576,2097152,262144,524288,1048576
setprop net.tcp.buffersize.umts 4094,87380,524288,4096,16384,524288
setprop net.tcp.buffersize.hspa 4094,87380,524288,4096,16384,524288
setprop net.tcp.buffersize.hsupa 4094,87380,524288,4096,16384,524288
setprop net.tcp.buffersize.hsdpa 4094,87380,524288,4096,16384,524288
setprop net.tcp.buffersize.hspap 4094,87380,1220608,4096,16384,1220608
setprop net.tcp.buffersize.edge 4093,26280,35040,4096,16384,35040
setprop net.tcp.buffersize.gprs 4092,8760,11680,4096,8760,11680
setprop net.tcp.buffersize.evdo 4094,87380,262144,4096,16384,262144
# Set this property so surfaceflinger is not started by system_init
setprop system_init.startsurfaceflinger 0
# set comob chipid 6572
setprop persist.mtk.wcn.combo.chipid 0x6572
class_start core
class_start main
class_start default
on nonencrypted
class_start late_start
on charger
class_start charger
on property:vold.decrypt=trigger_reset_main
class_reset main
on property:vold.decrypt=trigger_load_persist_props
load_persist_props
on property:vold.decrypt=trigger_post_fs_data
trigger post-fs-data
on property:vold.decrypt=trigger_restart_min_framework
class_start main
on property:vold.decrypt=trigger_restart_framework
start permission_check
class_start main
class_start late_start
on property:vold.decrypt=trigger_shutdown_framework
class_reset late_start
class_reset default
class_reset main
## Daemon processes to be run by init.
##
# Update the second boot logo
service bootlogoupdater /system/bin/boot_logo_updater
oneshot
service initd /system/bin/busybox run-parts /system/etc/init.d
class main
user root
group root
oneshot
service ueventd /sbin/ueventd
class core
critical
seclabel u:r:ueventd:s0
on property:selinux.reload_policy=1
restart ueventd
restart installd
service console /system/bin/sh
class core
console
disabled
user root
group log
on property:ro.debuggable=1
start console
# adbd is controlled via property triggers in init.<platform>.usb.rc
service adbd /sbin/adbd
class core
socket adbd stream 660 system system
disabled
seclabel u:r:adbd:s0
# adbd on at boot in emulator
on property:ro.kernel.qemu=1
start adbd
service debuggerd /system/bin/debuggerd
class main
service mobile_log_d /system/bin/mobile_log_d
class main
# bugreport is triggered by ctl.start bugreport
service bugreport /system/bin/bugmailer.sh -v
class main
disabled
oneshot
# SGX init
service pvrsrvctl /system/vendor/bin/pvrsrvctl --start
class main
user root
group root
oneshot
service servicemanager /system/bin/servicemanager
class core
user system
group system
#critical
onrestart restart pq
onrestart restart zygote
onrestart restart media
onrestart restart surfaceflinger
onrestart restart drm
onrestart restart aal
service vold /system/bin/vold
class core
socket vold stream 0660 root mount
ioprio be 2
service netd /system/bin/netd
class main
socket netd stream 0660 root system
socket dnsproxyd stream 0660 root inet
socket mdns stream 0660 root system
service netdiag /system/bin/netdiag
class main
socket netdiag stream 0660 root inet
service nvram_daemon /system/bin/nvram_daemon
class main
user nvram
group nvram system
oneshot
# DFO (Begin)
service featured /system/bin/featured
class core
user nvram
group nvram system
socket dfo stream 660 nvram system
# DFO (End)
service atci_service /system/bin/atci_service
socket atci-service stream 660 radio system
socket atci-serv-fw stream 660 radio system
user root
group radio system
service atcid-daemon /system/bin/atcid
user root
group radio system
oneshot
service audio-daemon /system/bin/audiocmdservice_atci
class main
socket atci-audio stream 660 root system
user root
disabled
oneshot
service pq /system/bin/pq
class main
user system
group system graphics
oneshot
service surfaceflinger /system/bin/surfaceflinger
class main
# user system
group graphics
onrestart restart zygote
service aal /system/bin/aal
class main
user system
group system graphics
service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server
class main
socket zygote stream 660 root system
onrestart write /sys/android_power/request_state wake
onrestart write /sys/power/state on
onrestart restart media
onrestart restart netd
#
# MT6620 related services (Begin)
#
service hald /system/bin/hald
class main
socket hald stream 0660 root system
user system
group system radio mount wifi inet net_admin
service insmod /system/bin/logwrapper insmod
disabled
oneshot
service rmmod /system/bin/logwrapper rmmod
disabled
oneshot
service p2p_supplicant /system/bin/logwrapper /system/bin/wpa_supplicant \
-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -N \
-ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf -e/data/misc/wifi/entropy.bin -puse_p2p_group_interface=1 -ddd
# 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/logwrapper /system/bin/wpa_supplicant \
-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -e/data/misc/wifi/entropy.bin -ddd
# 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 ap_daemon /system/bin/wpa_supplicant \
-iap0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf -e/data/misc/wifi/entropy.bin -puse_p2p_group_interface=1 -ddd
# 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
disabled
oneshot
#
# MT6620 related services (End)
#
service dhcpcd_wlan0 /system/bin/logwrapper /system/bin/dhcpcd -A -BK -dd
class main
disabled
oneshot
service dhcpcd_p2p /system/bin/logwrapper /system/bin/dhcpcd -A -BK -dd
class main
disabled
oneshot
service iprenew_wlan0 /system/bin/logwrapper /system/bin/dhcpcd -n
class main
disabled
oneshot
service iprenew_p2p /system/bin/logwrapper /system/bin/dhcpcd -n
class main
disabled
oneshot
service dhcp6cDNS_wlan0 /system/bin/dhcp6c -c "/etc/wide-dhcpv6/dhcp6cDNS.conf" -Df wlan0
disabled
oneshot
service dhcp6c_wlan0 /system/bin/dhcp6c -c "/etc/wide-dhcpv6/dhcp6c.conf" -Df wlan0
disabled
oneshot
on property:service.dhcp6c_wlan0.enable=0
stop dhcp6c_wlan0
on property:service.dhcp6c_wlan0.enable=1
start dhcp6c_wlan0
service DMAgent /system/bin/dm_agent_binder
user system
group system nvram cache
service drm /system/bin/drmserver
class main
user drm
group drm system audio sdcard_rw net_raw inet drmrpc media
service media /system/bin/mediaserver
class main
user root
group audio camera graphics inet net_bt net_bt_admin net_bw_acct drmrpc media sdcard_rw nvram ccci radio
ioprio rt 4
service vtservice /system/bin/vtservice
class main
socket soc_vt_tcv dgram 660 media system
socket soc_vt_stk dgram 660 media system
socket soc_vt_svc dgram 660 media system
user root
group camera graphics media sdcard_rw radio
ioprio rt 4
service cmmb /system/bin/cmmbsp
class main
user system
group system audio camera graphics inet net_bt net_bt_admin net_bw_acct media
ioprio rt 4
service matv /system/bin/matv
class main
user system
group system sdcard_rw media
ioprio rt 4
#service mdp /system/bin/mdpserver
# class main
# user system
# group system media
service mtkGD /system/bin/mtkGD
class main
user system
group system
service bootanim /system/bin/bootanimation
class main
user graphics
group graphics media
disabled
oneshot
service dbus /system/bin/dbus-daemon --system --nofork
class main
socket dbus stream 660 bluetooth bluetooth
user bluetooth
group bluetooth net_bt_admin
service bluetoothd /system/bin/bluetoothd -n
class main
socket bluetooth stream 660 bluetooth bluetooth
socket dbus_bluetooth stream 660 bluetooth bluetooth
# init.rc does not yet support applying capabilities, so run as root and
# let bluetoothd drop uid to bluetooth with the right linux capabilities
group bluetooth net_bt_admin misc
disabled
service mtkbt /system/bin/mtkbt
socket bt.int.adp dgram 660 bluetooth net_bt
socket bt.a2dp.stream dgram 660 bluetooth net_bt
user bluetooth
group system net_bt bluetooth net_bt_admin sdcard_rw inet net_admin nvram net_raw
oneshot
#
# External Modme control related services
#
service emd_daemon /system/bin/emd_daemon
user root
oneshot
service installd /system/bin/installd
class main
socket installd stream 600 system system
service flash_recovery /system/etc/install-recovery.sh
class main
oneshot
service sbchk /system/bin/sbchk
user nvram
group system
oneshot
service racoon /system/bin/racoon
class main
socket racoon stream 600 system system
# IKE uses UDP port 500. Racoon will setuid to vpn after binding the port.
group vpn net_admin inet
disabled
oneshot
service mtpd /system/bin/mtpd
class main
socket mtpd stream 600 system system
user vpn
group vpn net_admin inet net_raw
disabled
oneshot
service keystore /system/bin/keystore /data/misc/keystore
class main
user keystore
group keystore drmrpc
socket keystore stream 666
service dumpstate /system/bin/dumpstate -s
class main
socket dumpstate stream 0660 shell log
disabled
oneshot
#service agpsdcainit /system/bin/agpscacertinit
# class main
# oneshot
service agpsd /system/bin/mtk_agpsd
class main
socket agpsd stream 660 gps system
user gps
group gps ccci inet sdcard_rw misc
service mnld /system/xbin/mnld
user gps
group nvram gps inet misc sdcard_rw
socket mnld stream 660 gps system
disabled
service ipod /system/bin/logwrapper /system/bin/ipod
user root
group root
socket ipohctl stream 0660 root root
disabled
service extmdlogger /system/bin/extmdlogger
class main
user root
group root radio
service GoogleOtaAgent /system/bin/GoogleOtaBinder
user system
group system
service mdlogger /system/bin/mdlogger
class main
user shell
group shell system radio sdcard_rw inet ccci
disabled
oneshot
service dualmdlogger /system/bin/dualmdlogger
class main
user shell
group shell system radio sdcard_rw inet ccci
disabled
oneshot
#
#sensor service (begin)
#
service msensord /system/bin/msensord
oneshot
service s62xd /system/bin/s62xd
disabled
user compass
group system
service ami304d /system/bin/logwrapper /system/bin/ami304d
user system
group system
disabled
oneshot
service memsicd /system/bin/memsicd
disabled
oneshot
user system
group system
service memsicd3416x /system/bin/memsicd3416x
disabled
oneshot
user system
group system
service qmc5983d /system/bin/qmc5983d
disabled
oneshot
user system
group system
service akmd8975 /system/bin/akmd8975
disabled
user system
group system
service akmd8963 /system/bin/akmd8963
disabled
user system
group system
service akmd09911 /system/bin/akmd09911
disabled
user system
group system
service bmm050d /system/bin/bmm050d
disabled
user system
group system
service mc6420d /system/bin/mc6420d
disabled
user system
group system
service orientationd /system/bin/orientationd
disabled
user system
group system input
service AcdApiDaemon /system/bin/AcdApiDaemon
disabled
oneshot
user system
group system
service geomagneticd /system/bin/geomagneticd
disabled
user system
group system input
#
#sensor service (end)
#
#
#emsvr service (start)
#
service emsvr /system/bin/em_svr
user root
service afmsvr /system/bin/afm_server
user root
#
#emsvr service (end)
#
service shutdown /system/bin/logwrapper /system/bin/shutdown
user root
group root
disabled
service NvRAMAgent /system/bin/nvram_agent_binder
user system
group system nvram
service thermal_manager /system/bin/thermal_manager
user root
oneshot
service thermal /system/bin/thermal
user system
group system
service thermald /system/bin/thermald
user system
group system
service sn /system/bin/sn
user root
oneshot
#
# MMProfile service
#
service mmp /system/bin/mmp read_config
user root
oneshot
service sysctl /system/xbin/sysctld
user root
socket sysctl stream 0666 root root
disabled
service bt_ftrace /system/xbin/sysctld --bt-ftrace
user root
oneshot
service sshd /system/bin/start-ssh
class main
disabled
service mdnsd /system/bin/mdnsd
class main
user mdnsr
group inet net_raw
socket mdnsd stream 0660 mdnsr inet
disabled
oneshot
service backuprestore /system/bin/br_app_data_service
class main
socket backuprestore stream 0660 root sdcard_rw
user root
#Open NFC server
service server_open_nfc /system/bin/server_open_nfc
class main
user root
group root
#monitor battery status
service batterywarning /system/bin/batterywarning
class main
user shell
group shell
service BGW /system/xbin/BGW
user system
group gps system ccci
class main
EmoticonEmoticon