MIUI V5 在老机三星 T959 上的第一眼
来自Jack's Lab
目录 |
1 Basic System
root@android:/ # cat /proc/version Linux version 3.0.52-Semaphore_JB_2.6.1sv (stratosk@semaphore.gr) (gcc version 4.7.3 20121001 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2012.10-20121022 - Linaro GCC 2012.10) ) #313 PREEMPT Sun Nov 25 20:47:09 EET 2012 root@android:/ # cat /proc/cpuinfo Processor : ARMv7 Processor rev 2 (v7l) BogoMIPS : 99.26 Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x2 CPU part : 0xc08 CPU revision : 2 Hardware : aries Revision : 0030 Serial : 32334071da1d00ec root@android:/ # free total used free shared buffers Mem: 401084 395532 5552 0 1648 -/+ buffers: 393884 7200 Swap: 0 0 0
2 IRQ
root@android:/ # cat /proc/interrupts CPU0 16: 604 s3c-uart s5pv210-uart 18: 9522 s3c-uart s5pv210-uart 22: 2631 s3c-uart 28: 7 s3c-uart 30: 4123 s3c-uart 34: 74 s5p_vic_eint proximity_int 38: 2 s5p_vic_eint sec_headset_detect 39: 26 s5p_vic_eint max8998-charger 43: 28036 s5p_vic_eint onedram 47: 3 s5p_vic_eint phone_active 50: 0 VIC s3c-pl330.0 51: 0 VIC s3c-pl330.1 52: 0 VIC s3c-pl330.2 58: 124 VIC System timer 61: 4985456 VIC rtc-tick 78: 1290 VIC s3c2440-i2c.0 83: 630627 VIC s3c2440-i2c.2 88: 71957 VIC s3c-udc 90: 416927 VIC mmc0 91: 23220 VIC mmc1 92: 0 VIC mmc2 95: 108527 VIC onenand 97: 249086 VIC s3cfb, s3cfb 101: 181 VIC s3c-fimc0 102: 0 VIC s3c-fimc1 103: 0 VIC s3c-fimc2 104: 0 VIC s3c-jpg 106: 1872958 VIC pvrsrvkm 107: 0 VIC s5p-tvout 108: 0 VIC s5p-tvout 109: 0 VIC s3c2440-i2c.1 110: 0 VIC s3c-mfc 111: 0 VIC s5p-tvout 112: 57451 VIC 157: 0 VIC debug-signal 164: 1294 s5p-eint bcmsdh_sdmmc 165: 27 s5p-eint bt_host_wake_irq_handler 166: 917 s5p-eint gpio_keys 167: 12 s5p-eint fsa9480 micro USB 169: 56 s5p-eint gpio_keys 170: 35 s5p-eint gpio_keys 171: 1 s5p-eint sim_ndetect 172: 0 s5p-eint s3c-sdhci.2 308: 48480 s5pv210-eint-group mxt224_ts 334: 1358 s5pv210-eint-group cypress-touchkey FIQ: fiq_glue Err: 0
3 MEM Map
root@android:/ # cat /proc/iomem 30000000-344fffff : System RAM 30342000-30cd1fff : Kernel text 30cd2000-30d41357 : Kernel data 35000000-35ffffff : onedram 35000000-35ffffff : onedram 40000000-4d1d0fff : System RAM 50000000-57efffff : System RAM 57f00000-57ffefff : ram_console b0000000-b001ffff : s5pc110-onenand b0000000-b001ffff : s5pc110-onenand b0600000-b0601fff : s5pc110-onenand b0600000-b0601fff : s5pc110-onenand e0900000-e0901000 : s3c-pl330.1 e0900000-e0901000 : s3c-pl330 e0a00000-e0a01000 : s3c-pl330.2 e0a00000-e0a01000 : s3c-pl330 e1700000-e1700fff : s3c-adc e1800000-e1800fff : s3c2440-i2c.0 e1800000-e1800fff : s3c2440-i2c e1a00000-e1a00fff : s3c2440-i2c.2 e1a00000-e1a00fff : s3c2440-i2c e2700000-e2700400 : s3c2410-wdt e2800000-e28000ff : s3c2410-rtc e2800000-e28000ff : s3c2410-rtc e2900000-e29000ff : s5pv210-uart.0 e2900000-e29000ff : s5pv210-uart e2900400-e29004ff : s5pv210-uart.1 e2900400-e29004ff : s5pv210-uart e2900c00-e2900cff : s5pv210-uart.3 e2900c00-e2900cff : s5pv210-uart eb000000-eb000fff : s3c-sdhci.0 eb000000-eb000fff : mmc0 eb100000-eb100fff : s3c-sdhci.1 eb100000-eb100fff : mmc1 eb200000-eb200fff : s3c-sdhci.2 eb200000-eb200fff : mmc2 ec000000-ec0fffff : s3c-usbgadget ec000000-ec0fffff : dwc_otg ec000000-ec0fffff : s3c_otghcd eee30000-eee300ff : samsung-i2s.0 eee30000-eee300ff : s3c64xx-i2s f1700000-f17fffff : s3c-mfc f1700000-f17fffff : s3c-mfc f8000000-f80fffff : s3cfb f8000000-f80fffff : s3cfb f8200000-f8207fff : ielcd f9000000-f90fffff : s5p-tvout f9000000-f90fffff : s5p-tvout f9100000-f91fffff : s5p-tvout f9100000-f91fffff : s5p-tvout f9200000-f92fffff : s5p-tvout f9200000-f92fffff : s5p-tvout fa100000-fa1fffff : s5p-tvout fa100000-fa1fffff : s5p-tvout fa200000-fa201000 : s3c-pl330.0 fa200000-fa201000 : s3c-pl330 fa900000-fa9003ff : s5p-tvout fa900000-fa9003ff : s5p-tvout fab00000-fab00fff : s3c2440-i2c.1 fab00000-fab00fff : s3c2440-i2c fae00000-fae00fff : mdnie fb200000-fb2fffff : s3c-fimc.0 fb200000-fb2fffff : s3c-fimc fb300000-fb3fffff : s3c-fimc.1 fb300000-fb3fffff : s3c-fimc fb400000-fb4fffff : s3c-fimc.2 fb400000-fb4fffff : s3c-fimc fb600000-fb6fffff : s3c-jpg fb600000-fb6fffff : s3c-jpg
4 Storage
root@android:/ # cat /proc/partitions major minor #blocks name 31 0 7680 mtdblock0 31 1 7680 mtdblock1 31 2 432128 mtdblock2 31 3 17920 mtdblock3 31 4 12800 mtdblock4 31 5 16384 mtdblock5 31 6 11264 mtdblock6 179 0 15630336 mmcblk0 179 1 13402104 mmcblk0p1 179 2 1966080 mmcblk0p2 179 3 262144 mmcblk0p3 254 0 409600 dm-0 254 1 1552384 dm-1 root@android:/ # cat /proc/mtd dev: size erasesize name mtd0: 00780000 00040000 "boot" mtd1: 00780000 00040000 "recovery" mtd2: 1a600000 00040000 "datadata" mtd3: 01180000 00040000 "cache" mtd4: 00c80000 00040000 "efs" mtd5: 01000000 00040000 "radio" mtd6: 00b00000 00040000 "reservoir" root@android:/ # df Filesystem Size Used Free Blksize /dev 195M 48K 195M 4096 /mnt/asec 195M 0K 195M 4096 /mnt/obb 195M 0K 195M 4096 /cache 17M 2M 14M 4096 /radio 16M 14M 1M 4096 /datadata 422M 97M 324M 4096 /system 393M 222M 171M 4096 /data 1G 213M 1G 4096 /efs 12M 6M 5M 4096 root@android:/ # mount rootfs / rootfs ro,relatime 0 0 tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0 devpts /dev/pts devpts rw,relatime,mode=600 0 0 proc /proc proc rw,relatime 0 0 sysfs /sys sysfs rw,relatime 0 0 none /acct cgroup rw,relatime,cpuacct 0 0 tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0 tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0 none /dev/cpuctl cgroup rw,relatime,cpu 0 0 /dev/block/mtdblock3 /cache yaffs2 rw,nosuid,nodev,relatime 0 0 /dev/block/mtdblock5 /radio yaffs2 rw,relatime 0 0 /dev/block/mtdblock2 /datadata yaffs2 rw,relatime 0 0 /dev/lvpool/system /system ext4 rw,relatime,barrier=1,data=ordered 0 0 /dev/lvpool/userdata /data ext4 rw,nosuid,nodev,noatime,errors=panic,barrier=1,nomblk_io_submit,data=ordered 0 0 /dev/block/mtdblock4 /efs yaffs2 rw,relatime 0 0
5 Processes
root@android:/ # ps USER PID PPID VSIZE RSS WCHAN PC NAME root 1 0 384 244 c041c070 0000e894 S /init root 2 0 0 0 c039094c 00000000 S kthreadd root 3 2 0 0 c0378c04 00000000 S ksoftirqd/0 root 6 2 0 0 c03bc89c 00000000 S rcu_kthread root 7 2 0 0 c038a4f4 00000000 S khelper root 8 2 0 0 c038a4f4 00000000 S suspend root 9 2 0 0 c03e5780 00000000 S sync_supers root 10 2 0 0 c03e6120 00000000 S bdi-default root 11 2 0 0 c038a4f4 00000000 S kblockd root 12 2 0 0 c06279a0 00000000 S khubd root 14 2 0 0 c038a4f4 00000000 S cfg80211 root 15 2 0 0 c03dd8d8 00000000 S kswapd0 root 16 2 0 0 c0447c00 00000000 S fsnotify_mark root 17 2 0 0 c038a4f4 00000000 S crypto root 30 2 0 0 c055d8c4 00000000 S kapmd root 31 2 0 0 c038a4f4 00000000 S pvr_timer root 32 2 0 0 c038a4f4 00000000 S sec_jack_wq root 33 2 0 0 c03b8a3c 00000000 S irq/38-sec_head root 34 2 0 0 c03b8a3c 00000000 S irq/167-fsa9480 root 35 2 0 0 c038a4f4 00000000 S svnetd root 36 2 0 0 c05c2ea8 00000000 S mtdblock0 root 37 2 0 0 c05c2ea8 00000000 S mtdblock1 root 38 2 0 0 c05c2ea8 00000000 S mtdblock2 root 39 2 0 0 c05c2ea8 00000000 S mtdblock3 root 40 2 0 0 c05c2ea8 00000000 S mtdblock4 root 41 2 0 0 c05c2ea8 00000000 S mtdblock5 root 42 2 0 0 c05c2ea8 00000000 S mtdblock6 root 43 2 0 0 c038a4f4 00000000 S spi_gpio.3 root 52 2 0 0 c038a4f4 00000000 S f_mtp root 53 2 0 0 c066d600 00000000 S file-storage root 54 2 0 0 c03b8a3c 00000000 S irq/308-mxt224_ root 55 2 0 0 c03b8a3c 00000000 S irq/34-proximit root 56 2 0 0 c038a4f4 00000000 S gp2a_wq root 58 2 0 0 c03b8a3c 00000000 S irq/172-s3c-sdh root 59 2 0 0 c038a4f4 00000000 S binder root 60 2 0 0 c08972cc 00000000 S krfcommd root 61 2 0 0 c0710f88 00000000 S mmcqd/0 root 62 2 0 0 c0396cdc 00000000 S dhd_cfg80211_ev root 63 2 0 0 c0396cdc 00000000 S dhd_watchdog root 64 2 0 0 c0396cdc 00000000 S dhd_dpc root 65 2 0 0 c0396cdc 00000000 S dhd_sysioc root 66 2 0 0 c03b8a3c 00000000 S irq/334-cypress root 67 2 0 0 c038a4f4 00000000 S max8998-charger root 68 2 0 0 c03b8a3c 00000000 S irq/39-max8998- root 98 2 0 0 c038a4f4 00000000 S kdmflush root 99 2 0 0 c038a4f4 00000000 S kdmflush root 147 1 372 184 c041c070 0000e894 S /sbin/ueventd root 148 2 0 0 c04b8228 00000000 S yaffs-bg-1 root 151 2 0 0 c04b8228 00000000 S yaffs-bg-1 root 152 2 0 0 c04b8228 00000000 S yaffs-bg-1 root 154 2 0 0 c049fab4 00000000 S jbd2/dm-0-8 root 155 2 0 0 c038a4f4 00000000 S ext4-dio-unwrit root 156 2 0 0 c049fab4 00000000 S jbd2/dm-1-8 root 157 2 0 0 c038a4f4 00000000 S ext4-dio-unwrit root 158 2 0 0 c04b8228 00000000 S yaffs-bg-1 system 180 1 11240 1448 c0720c44 4014eb94 S /system/bin/servicemanager root 181 1 4204 536 ffffffff 400f8320 S /system/bin/vold root 183 1 9916 824 ffffffff 400df320 S /system/bin/netd root 184 1 1044 360 c0768738 4009d624 S /system/bin/debuggerd system 185 1 48564 22160 ffffffff 40111b94 S /system/bin/surfaceflinger root 186 1 278504 14968 ffffffff 400f7cb8 S zygote drm 187 1 8868 1056 ffffffff 40199b94 S /system/bin/drmserver media 188 1 41504 3344 ffffffff 40136b94 S /system/bin/mediaserver bluetooth 189 1 1476 316 c041c070 40012ae8 S /system/bin/dbus-daemon root 190 1 6744 692 ffffffff 4007095c S /system/bin/installd keystore 191 1 2028 564 c0768738 4011f624 S /system/bin/keystore compass 193 1 948 228 c067ace4 400ed95c S /system/vendor/bin/geomagneticd system 194 1 13212 1428 ffffffff 400f3b94 S /system/bin/tvoutserver root 215 2 0 0 c038a4f4 00000000 S pvr_workqueue system 225 190 14124 1456 ffffffff 40075b94 S /system/xbin/shelld radio 359 1 9788 1372 ffffffff 40099320 S /system/bin/rild system 376 186 411692 52192 ffffffff 400f7b94 S system_server system 462 186 347072 52632 ffffffff 400f8a70 S com.android.systemui u0_a53 523 186 299996 28740 ffffffff 400f8a70 S com.baidu.input radio 536 186 341380 43912 ffffffff 400f8a70 S com.android.phone u0_a22 543 186 287740 15816 ffffffff 400f8a70 S com.lbe.security.miui u0_a30 565 186 327144 52640 ffffffff 400f8a70 S com.miui.home u0_a22 601 186 293948 23292 ffffffff 400f8a70 S com.lbe.security.miui:service u0_a1 622 186 339904 40392 ffffffff 400f8a70 S android.process.acore u0_a47 962 186 296864 17100 ffffffff 400f8a70 S com.miui.providers.weather u0_a51 8752 1 808 220 c041b34c 40036cb8 S wdaemon bluetooth 10264 1 928 268 c0383d08 400d5320 S /system/bin/brcm_patchram_plus root 10276 2 0 0 c038a4f4 00000000 S hci0 bluetooth 10277 1 2296 500 c041c070 400feae8 S /system/bin/bluetoothd u0_a14 10792 186 300368 26312 ffffffff 400f8a70 S android.process.media u0_a58 15009 1 856 248 c034c04c 40032500 S /system/bin/sh root 15011 15009 852 244 c034c04c 400da500 S /system/bin/sh root 15014 15011 864 260 c034c04c 40073500 S /system/bin/sh root 15138 15014 1064 312 c0373dac 4007195c S toolbox system 18976 186 323376 52088 ffffffff 400f8a70 S com.android.settings root 19366 2 0 0 c038b840 00000000 S kworker/0:2 root 21882 1 4484 212 ffffffff 0001327c S /sbin/adbd u0_a29 22008 186 291212 30752 ffffffff 400f8a70 S com.miui.gallery u0_a9 22023 186 314008 34340 ffffffff 400f8a70 S com.google.process.gapps u0_a17 22051 186 297652 29932 ffffffff 400f8a70 S com.android.fileexplorer:remote u0_a46 22064 186 293864 27728 ffffffff 400f8a70 S com.miui.weather2 u0_a33 22080 186 288796 24000 ffffffff 400f8a70 S com.miui.player u0_a32 22120 186 314936 45412 ffffffff 400f8a70 S com.android.mms u0_a52 22138 186 291912 25564 ffffffff 400f8a70 S com.miui.voiceassist:remote 9801 22166 186 292076 20620 ffffffff 400f8a70 S com.android.thememanager u0_a11 22183 186 288184 24136 ffffffff 400f8a70 S com.miui.providers.datahub u0_a1 22210 186 292792 25720 ffffffff 400f8a70 S com.miui.yellowpage u0_a6 22232 186 293208 25536 ffffffff 400f8a70 S com.android.calendar u0_a7 22248 186 289936 25400 ffffffff 400f8a70 S com.android.providers.calendar root 22393 2 0 0 c038b840 00000000 S kworker/0:1 root 22401 21882 872 484 c034c04c 4007f500 S /system/bin/sh root 22445 2 0 0 c038b840 00000000 S kworker/u:0 root 22449 2 0 0 c038b840 00000000 S kworker/u:1 root 22499 2 0 0 c043137c 00000000 S flush-31:2 root 22503 22401 1064 412 00000000 4009c95c R ps
6 Baseband device
root@android:/ # ls /sys/class/modemctl/xmm/ control device/ power/ status uevent debug phoneactive sim subsystem/ root@android:/ # cat /sys/class/modemctl/xmm/status 1 root@android:/ # cat /sys/class/modemctl/xmm/sim 3 root@android:/ # cat /sys/class/modemctl/xmm/control on off reset boot_on root@android:/ # echo on >/sys/class/modemctl/xmm/control root@android:/ # echo reset >/sys/class/modemctl/xmm/control root@android:/ # echo off >/sys/class/modemctl/xmm/control
7 init.rc
root@android:/ # cat init.rc # Copyright (C) 2012 The Android Open Source Project # # IMPORTANT: Do not create world writable files or directories. # This is a common source of Android security bugs. # import /init.${ro.hardware}.rc import /init.usb.rc import /init.trace.rc on early-init # Set init and its forked children's oom_adj. write /proc/1/oom_adj -16 start ueventd # create mountpoints mkdir /mnt 0775 root system on init sysclktz 0 loglevel 3 # setup the global environment export PATH /sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin export LD_LIBRARY_PATH /vendor/lib:/system/lib export ANDROID_BOOTLOGO 1 export ANDROID_CACHE /cache export ANDROID_ROOT /system export ANDROID_ASSETS /system/app export ANDROID_DATA /data export ASEC_MOUNTPOINT /mnt/asec export LOOP_MOUNTPOINT /mnt/obb export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/framework2.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar export TERMINFO /system/etc/terminfo export TERM linux # 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 0771 system cache mkdir /config 0500 root root # Directory for putting things only root should see. mkdir /mnt/secure 0700 root root # Directory for staging bindmounts mkdir /mnt/secure/staging 0700 root root # Directory-target for where the secure container # imagefile directory will be bind-mounted mkdir /mnt/secure/asec 0700 root root # Secure container public mount points. mkdir /mnt/asec 0700 root system mount tmpfs tmpfs /mnt/asec mode=0755,gid=1000 # Filesystem image public mount points. mkdir /mnt/obb 0700 root system mount tmpfs tmpfs /mnt/obb mode=0755,gid=1000 write /proc/sys/kernel/panic_on_oops 1 write /proc/sys/kernel/hung_task_timeout_secs 0 write /proc/cpu/alignment 4 write /proc/sys/kernel/sched_latency_ns 10000000 write /proc/sys/kernel/sched_wakeup_granularity_ns 2000000 write /proc/sys/kernel/sched_compat_yield 1 write /proc/sys/kernel/sched_child_runs_first 0 write /proc/sys/kernel/randomize_va_space 2 write /proc/sys/kernel/kptr_restrict 2 write /proc/sys/kernel/dmesg_restrict 1 write /proc/sys/vm/mmap_min_addr 32768 write /proc/sys/kernel/sched_rt_runtime_us 950000 write /proc/sys/kernel/sched_rt_period_us 1000000 # Create cgroup mount points for process groups mkdir /dev/cpuctl mount cgroup none /dev/cpuctl cpu chown system system /dev/cpuctl chown system system /dev/cpuctl/tasks chmod 0660 /dev/cpuctl/tasks write /dev/cpuctl/cpu.shares 1024 write /dev/cpuctl/cpu.rt_runtime_us 950000 write /dev/cpuctl/cpu.rt_period_us 1000000 mkdir /dev/cpuctl/apps chown system system /dev/cpuctl/apps/tasks chmod 0666 /dev/cpuctl/apps/tasks write /dev/cpuctl/apps/cpu.shares 1024 write /dev/cpuctl/apps/cpu.rt_runtime_us 800000 write /dev/cpuctl/apps/cpu.rt_period_us 1000000 mkdir /dev/cpuctl/apps/bg_non_interactive chown system system /dev/cpuctl/apps/bg_non_interactive/tasks chmod 0666 /dev/cpuctl/apps/bg_non_interactive/tasks # 5.0 % write /dev/cpuctl/apps/bg_non_interactive/cpu.shares 52 write /dev/cpuctl/apps/bg_non_interactive/cpu.rt_runtime_us 700000 write /dev/cpuctl/apps/bg_non_interactive/cpu.rt_period_us 1000000 # Allow everybody to read the xt_qtaguid resource tracking misc dev. # This is needed by any process that uses socket tagging. chmod 0644 /dev/xt_qtaguid on fs # mount mtd partitions # Mount /system rw first to give the filesystem a chance to save a checkpoint mount yaffs2 mtd@system /system #mount yaffs2 mtd@system /system ro remount #mount yaffs2 mtd@userdata /data nosuid nodev mount yaffs2 mtd@cache /cache nosuid nodev on post-fs # once everything is setup, no need to modify / mount rootfs rootfs / ro remount # We chown/chmod /cache again so because mount is run as root + defaults chown system cache /cache chmod 0771 /cache # This may have been created by the recovery system with odd permissions chown system cache /cache/recovery chmod 0770 /cache/recovery #change permissions on vmallocinfo so we can grab it from bugreports chown root log /proc/vmallocinfo chmod 0440 /proc/vmallocinfo #change permissions on kmsg & sysrq-trigger so bugreports can grab kthread stacks chown root system /proc/kmsg chmod 0440 /proc/kmsg chown root system /proc/sysrq-trigger chmod 0220 /proc/sysrq-trigger # create the lost+found directories, so as to enforce our permissions mkdir /cache/lost+found 0770 root root on post-fs-data # We chown/chmod /data again so because mount is run as root + defaults chown system system /data chmod 0771 /data # Create dump dir and collect dumps. # Do this before we mount cache so eventually we can use cache for # storing dumps on platforms which do not have a dedicated dump partition. mkdir /data/dontpanic 0750 root log # Collect apanic data, free resources and re-arm trigger copy /proc/apanic_console /data/dontpanic/apanic_console chown root log /data/dontpanic/apanic_console chmod 0640 /data/dontpanic/apanic_console copy /proc/apanic_threads /data/dontpanic/apanic_threads chown root log /data/dontpanic/apanic_threads chmod 0640 /data/dontpanic/apanic_threads write /proc/apanic_console 1 # create basic filesystem structure mkdir /data/misc 01771 system misc mkdir /data/misc/bluetoothd 0770 bluetooth bluetooth mkdir /data/misc/bluetooth 0770 system system mkdir /data/misc/keystore 0700 keystore keystore mkdir /data/misc/keychain 0771 system system mkdir /data/misc/vpn 0770 system vpn mkdir /data/misc/systemkeys 0700 system system # give system access to wpa_supplicant.conf for backup and restore mkdir /data/misc/wifi 0770 wifi wifi chmod 0660 /data/misc/wifi/wpa_supplicant.conf mkdir /data/local 0751 root root # For security reasons, /data/local/tmp should always be empty. # Do not place files or directories in /data/local/tmp mkdir /data/local/tmp 0771 shell shell mkdir /data/data 0771 system system mkdir /data/app-private 0771 system system mkdir /data/app-asec 0700 root root mkdir /data/app 0771 system system mkdir /data/property 0700 root root mkdir /data/ssh 0750 root shell mkdir /data/ssh/empty 0700 root root mkdir /data/radio 0770 radio radio # create dalvik-cache and double-check the perms, so as to enforce our permissions mkdir /data/dalvik-cache 0771 system system chown system system /data/dalvik-cache chmod 0771 /data/dalvik-cache mkdir /cache/dalvik-cache 0771 system system chown system system /cache/dalvik-cache chmod 0771 /cache/dalvik-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 # 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 insmod /data/local/logger.ko # Include extra init file import /system/etc/init.local.rc on boot # basic network init ifup lo hostname localhost domainname localdomain # set RLIMIT_NICE to allow priorities from 19 to -20 setrlimit 13 40 40 # Memory management. Basic kernel parameters, and allow the high # level system server to be able to adjust the kernel OOM driver # parameters to match how it is managing things. write /proc/sys/vm/overcommit_memory 1 write /proc/sys/vm/min_free_order_shift 4 chown root system /sys/module/lowmemorykiller/parameters/adj chmod 0664 /sys/module/lowmemorykiller/parameters/adj chown root system /sys/module/lowmemorykiller/parameters/minfree chmod 0664 /sys/module/lowmemorykiller/parameters/minfree # Tweak background writeout write /proc/sys/vm/dirty_expire_centisecs 200 write /proc/sys/vm/dirty_background_ratio 5 # Permissions for System Server and daemons. chown radio system /sys/android_power/state chown radio system /sys/android_power/request_state chown radio system /sys/android_power/acquire_full_wake_lock chown radio system /sys/android_power/acquire_partial_wake_lock chown radio system /sys/android_power/release_wake_lock chown 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/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/min_sample_time chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/min_sample_time chown system system /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq chown system system /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load chown system system /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay chown system system /sys/devices/system/cpu/cpufreq/interactive/boost chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse chown system system /sys/devices/system/cpu/cpufreq/interactive/input_boost chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/input_boost # Assume SMP uses shared cpufreq policy for all CPUs chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor chmod 0664 /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq chmod 0664 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq chmod 0664 /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq chown system system /sys/block/mmcblk0/queue/scheduler chmod 0664 /sys/block/mmcblk0/queue/scheduler chown system system /sys/class/timed_output/vibrator/enable chown system system /sys/class/leds/keyboard-backlight/brightness chown system system /sys/class/leds/lcd-backlight/brightness chown system system /sys/class/leds/button-backlight/brightness chown system system /sys/class/leds/jogball-backlight/brightness chown system system /sys/class/leds/red/brightness chown system system /sys/class/leds/green/brightness chown system system /sys/class/leds/blue/brightness chown system system /sys/class/leds/red/device/grpfreq chown system system /sys/class/leds/red/device/grppwm chown system system /sys/class/leds/red/device/blink chown system system /sys/class/leds/red/brightness chown system system /sys/class/leds/green/brightness chown system system /sys/class/leds/blue/brightness chown system system /sys/class/leds/red/device/grpfreq chown system system /sys/class/leds/red/device/grppwm chown system system /sys/class/leds/red/device/blink chown system system /sys/class/timed_output/vibrator/enable chown system system /sys/module/sco/parameters/disable_esco chown system system /sys/kernel/ipv4/tcp_wmem_min chown system system /sys/kernel/ipv4/tcp_wmem_def chown system system /sys/kernel/ipv4/tcp_wmem_max chown system system /sys/kernel/ipv4/tcp_rmem_min chown system system /sys/kernel/ipv4/tcp_rmem_def chown system system /sys/kernel/ipv4/tcp_rmem_max chown root radio /proc/cmdline # Define TCP buffer sizes for various networks # ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax, setprop net.tcp.buffersize.default 4096,87380,110208,4096,16384,110208 setprop net.tcp.buffersize.wifi 524288,1048576,2097152,262144,524288,1048576 setprop net.tcp.buffersize.lte 524288,1048576,2097152,262144,524288,1048576 setprop net.tcp.buffersize.umts 4094,87380,110208,4096,16384,110208 setprop net.tcp.buffersize.hspa 4094,87380,262144,4096,16384,262144 setprop net.tcp.buffersize.hsupa 4094,87380,262144,4096,16384,262144 setprop net.tcp.buffersize.hsdpa 4094,87380,262144,4096,16384,262144 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 # allow system to modify ksm control files chown root system /sys/kernel/mm/ksm/pages_to_scan chmod 0664 /sys/kernel/mm/ksm/pages_to_scan chown root system /sys/kernel/mm/ksm/sleep_millisecs chmod 0664 /sys/kernel/mm/ksm/sleep_millisecs chown root system /sys/kernel/mm/ksm/run chmod 0664 /sys/kernel/mm/ksm/run write /sys/kernel/mm/ksm/sleep_millisecs 1500 write /sys/kernel/mm/ksm/pages_to_scan 256 # Set this property so surfaceflinger is not started by system_init setprop system_init.startsurfaceflinger 0 # Run sysinit exec /system/bin/sysinit start semaboot class_start core class_start main on nonencrypted class_start late_start on charger class_start charger on property:vold.decrypt=trigger_reset_main class_reset main on property:vold.decrypt=trigger_load_persist_props load_persist_props on property:vold.decrypt=trigger_post_fs_data trigger post-fs-data on property:vold.decrypt=trigger_restart_min_framework class_start main on property:vold.decrypt=trigger_restart_framework class_start main class_start late_start on property:vold.decrypt=trigger_shutdown_framework class_reset late_start class_reset main ## Daemon processes to be run by init. ## # Semaphore boot patch service semaboot /sbin/boot-patch.sh user root oneshot disabled service ueventd /sbin/ueventd class core critical service console /system/bin/sh class core console disabled user shell 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 disabled # adbd on at boot in emulator on property:ro.kernel.qemu=1 start adbd service servicemanager /system/bin/servicemanager class core user system group system critical onrestart restart zygote onrestart restart media onrestart restart surfaceflinger onrestart restart drm service vold /system/bin/vold class core socket vold stream 0660 root mount ioprio be 2 service netd /system/bin/netd class main socket netd stream 0660 root system socket dnsproxyd stream 0660 root inet socket mdns stream 0660 root system service debuggerd /system/bin/debuggerd class main service ril-daemon /system/bin/rild class main socket rild stream 660 root radio socket rild-debug stream 660 radio system user root group radio cache inet misc audio sdcard_r sdcard_rw qcom_oncrpc qcom_diag log service surfaceflinger /system/bin/surfaceflinger class main user system group graphics onrestart restart zygote service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server class main socket zygote stream 660 root system onrestart write /sys/android_power/request_state wake onrestart write /sys/power/state on onrestart restart media onrestart restart netd service drm /system/bin/drmserver class main user drm group drm system inet drmrpc sdcard_r service media /system/bin/mediaserver class main user media group audio camera inet net_bt net_bt_admin net_bw_acct drmrpc ioprio rt 4 service bootanim /system/bin/bootanimation class main user graphics group graphics disabled oneshot service dbus /system/bin/dbus-daemon --system --nofork class main socket dbus stream 660 bluetooth bluetooth user bluetooth group bluetooth net_bt_admin service bluetoothd /system/bin/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 installd /system/bin/installd class main socket installd stream 600 system system 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 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 # adb over network on property:service.adb.tcp.port=5555 stop adbd start adbd on property:service.adb.tcp.port=-1 stop adbd start adbd