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
root@android:/ # pstree
init-+-adbd-+-sh---pstree
| `-4*[{adbd}]
|-bluetoothd
|-brcm_patchram_p
|-dbus-daemon
|-debuggerd
|-drmserver---{Binder_1}
|-geomagneticd
|-installd-+-shelld-+-{Binder_1}
| | `-{Binder_2}
| |-{Binder_1}
| |-{Binder_2}
| `-2*[{installd}]
|-keystore
|-mediaserver-+-3*[{.vorbis.decode}]
| |-{ApmCommand}
| |-{AudioCommand}
| |-{AudioOut_2}
| |-2*[{Binder_1}]
| |-{Binder_2}
| |-{Binder_3}
| |-{FastMixer}
| |-3*[{OMXCallbackDis}]
| `-3*[{TimedEventQueu}]
|-netd---7*[{netd}]
|-rild---4*[{rild}]
|-servicemanager
|-sh---sh---sh---toolbox
|-surfaceflinger-+-{Binder_1}
| |-{Binder_2}
| |-{Binder_3}
| |-{Binder_4}
| |-{Binder_5}
| |-{Binder_6}
| |-{Binder_7}
| |-{DisplayEventTh}
| |-{EventThread}
| `-2*[{SurfaceFlinger}]
|-tvoutserver---{Binder_1}
|-ueventd
|-vold---2*[{vold}]
|-wdaemon1
`-zygote-+-ceassist:remote-+-{Binder_1}
| |-{Binder_2}
| |-{Compiler}
| |-{FinalizerDaemo}
| |-{FinalizerWatch}
| |-{GC}
| |-{JDWP}
| |-{ReferenceQueue}
| |-{Signal Catcher}
| |-{SynthThread}
| |-{Thread-2031}
| `-{oPlaybackThrea}
|-com.android.mms-+-{AsyncQueryWork}
| |-{AsyncTask #1}
| |-{AsyncTask #2}
| |-{AsyncTask #3}
| |-{AsyncTask #4}
| |-{AsyncTask #5}
| |-{Binder_1}
| |-{Binder_2}
| |-{Binder_3}
| |-{Compiler}
| |-{FileObserver}
| |-{FinalizerDaemo}
| |-{FinalizerWatch}
| |-{GC}
| |-{JDWP}
| |-{ReferenceQueue}
| |-{Signal Catcher}
| |-{SingleContactL}
| |-{ent.InfoHandle}
| `-{nt.EventHandle}
|-com.baidu.input-+-{Binder_1}
| |-{Binder_2}
| |-{Compiler}
| |-{FinalizerDaemo}
| |-{FinalizerWatch}
| |-{GC}
| |-{JDWP}
| |-{ReferenceQueue}
| `-{Signal Catcher}
|-com.miui.home-+-{AsyncQueryWork}
| |-{Binder_1}
| |-{Binder_2}
| |-{Binder_3}
| |-{Compiler}
| |-{FileObserver}
| |-{FinalizerDaemo}
| |-{FinalizerWatch}
| |-{GC}
| |-{JDWP}
| |-{MAML RenderThr}
| |-{ReferenceQueue}
| |-{Signal Catcher}
| `-{launcher-loade}
|-com.miui.player-+-{Binder_1}
| |-{Binder_2}
| |-{Compiler}
| |-{FinalizerDaemo}
| |-{FinalizerWatch}
| |-{GC}
| |-{JDWP}
| |-{ReferenceQueue}
| `-{Signal Catcher}
|-d.process.acore-+-{AccountChangeL}
| |-{ApplicationsPr}
| |-{AsyncQueryWork}
| |-{AsyncTask #1}
| |-{AsyncTask #2}
| |-{AsyncTask #3}
| |-{AsyncTask #4}
| |-{AsyncTask #5}
| |-{Binder_1}
| |-{Binder_2}
| |-{Binder_3}
| |-{Binder_4}
| |-{Binder_5}
| |-{Binder_6}
| |-{Binder_7}
| |-{Binder_8}
| |-{Binder_9}
| |-{Binder_A}
| |-{Binder_B}
| |-{Binder_C}
| |-{Binder_D}
| |-{Binder_E}
| |-{Compiler}
| |-{ContactPhotoLo}
| |-{ContactsProvid}
| |-{FinalizerDaemo}
| |-{FinalizerWatch}
| |-{GC}
| |-{JDWP}
| |-{PackageMonitor}
| |-{ReferenceQueue}
| |-{Signal Catcher}
| |-{YellowPageProv}
| `-{pool-2-thread-}
|-d.process.media-+-{Binder_1}
| |-{Binder_2}
| |-{Binder_3}
| |-{Binder_4}
| |-{Compiler}
| |-{FinalizerDaemo}
| |-{FinalizerWatch}
| |-{GC}
| |-{JDWP}
| |-{ReferenceQueue}
| |-{Signal Catcher}
| `-{thumbs thread}
|-droid.provision-+-{Binder_1}
| |-{Binder_2}
| |-{Compiler}
| |-{FinalizerDaemo}
| |-{FinalizerWatch}
| |-{GC}
| |-{JDWP}
| |-{ReferenceQueue}
| `-{Signal Catcher}
|-e.process.gapps-+-{AsyncTask #1}
| |-{AsyncTask #2}
| |-{AsyncTask #3}
| |-{AsyncTask #4}
| |-{Binder_1}
| |-{Binder_2}
| |-{Binder_3}
| |-{Compiler}
| |-{FinalizerDaemo}
| |-{FinalizerWatch}
| |-{GC}
| |-2*[{Gservices}]
| |-{JDWP}
| |-{MCS WorkerThre}
| |-{NLP Client}
| |-2*[{NetworkLocatio}]
| |-2*[{RefQueueWorker}]
| |-{ReferenceQueue}
| |-{Signal Catcher}
| |-{Thread-2021}
| |-{Thread-2022}
| |-{Thread-2023}
| |-{Thread-2024}
| |-{gmmInternalNlp}
| `-{pool-1-thread-}
|-e.security.miui-+-{Binder_1}
| |-{Binder_2}
| |-{Compiler}
| |-{FinalizerDaemo}
| |-{FinalizerWatch}
| |-{GC}
| |-{JDWP}
| |-{ReferenceQueue}
| `-{Signal Catcher}
|-etworkassistant-+-{Binder_1}
| |-{Binder_2}
| |-{Binder_3}
| |-{Compiler}
| |-{FinalizerDaemo}
| |-{FinalizerWatch}
| |-{GC}
| |-{JDWP}
| |-{ReferenceQueue}
| `-{Signal Catcher}
|-explorer:remote-+-{Api common Thr}
| |-{Binder_1}
| |-{Binder_2}
| |-{Compiler}
| |-{FinalizerDaemo}
| |-{FinalizerWatch}
| |-{GC}
| |-{JDWP}
| |-{KscService Eve}
| |-{KscTransportSe}
| |-{KssFile DB Han}
| |-{ReferenceQueue}
| |-2*[{Service - File}]
| |-{Signal Catcher}
| `-{log_thread}
|-id.thememanager-+-{.DispatchThrea}
| |-{Binder_1}
| |-{Binder_2}
| |-{Compiler}
| |-{FinalizerDaemo}
| |-{FinalizerWatch}
| |-{GC}
| |-{JDWP}
| |-{ReferenceQueue}
| |-{Signal Catcher}
| `-{ice.QueryThrea}
|-m.android.phone-+-{.ProcessManage}
| |-{AsyncQueryWork}
| |-{AsyncTask #1}
| |-{AsyncTask #2}
| |-{AsyncTask #3}
| |-{AsyncTask #4}
| |-{AsyncTask #5}
| |-{AudioTrack}
| |-{Binder_1}
| |-{Binder_2}
| |-{Binder_3}
| |-{Binder_4}
| |-{Binder_5}
| |-{Binder_6}
| |-{Binder_7}
| |-{Binder_8}
| |-{Binder_9}
| |-{Binder_A}
| |-{Binder_B}
| |-{BluetoothHands}
| |-{Cat Icon Loade}
| |-{Cat Telephony }
| |-{Compiler}
| |-{ContactsAsyncW}
| |-{FinalizerDaemo}
| |-{FinalizerWatch}
| |-{GC}
| |-{JDWP}
| |-{MakeMmsPreview}
| |-{RILReceiver}
| |-{RILSender}
| |-{ReferenceQueue}
| |-{RilMessageDeco}
| |-{Signal Catcher}
| |-{Stk App Servic}
| |-{er$SensorThrea}
| |-{ervice.Executo}
| `-{pool-1-thread-}
|-m.miui.weather2-+-{AsyncTask #1}
| |-{AsyncTask #2}
| |-{AsyncTask #3}
| |-{AsyncTask #4}
| |-{AsyncTask #5}
| |-{Binder_1}
| |-{Binder_2}
| |-{Binder_3}
| |-{Compiler}
| |-{FinalizerDaemo}
| |-{FinalizerWatch}
| |-{GC}
| |-{JDWP}
| |-{ReferenceQueue}
| `-{Signal Catcher}
|-miui.yellowpage-+-{Binder_1}
| |-{Binder_2}
| |-{Binder_3}
| |-{Compiler}
| |-2*[{CookieSyncMana}]
| |-{FinalizerDaemo}
| |-{FinalizerWatch}
| |-{GC}
| |-{JDWP}
| |-{ReferenceQueue}
| |-{Signal Catcher}
| `-2*[{pool-1-thread-}]
|-ndroid.calendar-+-{AlertReceiver }
| |-{AsyncQueryWork}
| |-{AsyncTask #1}
| |-{AsyncTask #2}
| |-{Binder_1}
| |-{Binder_2}
| |-{Compiler}
| |-{FinalizerDaemo}
| |-{FinalizerWatch}
| |-{GC}
| |-{JDWP}
| |-{ReferenceQueue}
| |-{Signal Catcher}
| `-{pool-1-thread-}
|-ndroid.settings-+-{Binder_1}
| |-{Binder_2}
| |-{Binder_3}
| |-{Compiler}
| |-{FileObserver}
| |-{FinalizerDaemo}
| |-{FinalizerWatch}
| |-{GC}
| |-{JDWP}
| |-{ReferenceQueue}
| |-{Signal Catcher}
| |-{WorkHandlerThr}
| `-{pool-1-thread-}
|-ndroid.systemui-+-{AsyncQueryWork}
| |-{AsyncTask #1}
| |-{AsyncTask #2}
| |-{AsyncTask #3}
| |-{AsyncTask #4}
| |-{Binder_1}
| |-{Binder_2}
| |-{Binder_3}
| |-{Binder_4}
| |-{Binder_5}
| |-{Binder_6}
| |-{Binder_7}
| |-{Binder_8}
| |-{Binder_9}
| |-{Binder_A}
| |-{Binder_B}
| |-{Binder_C}
| |-{Binder_D}
| |-{Binder_E}
| |-{Compiler}
| |-{FileObserver}
| |-{FinalizerDaemo}
| |-{FinalizerWatch}
| |-{GC}
| |-{JDWP}
| |-{MAML RenderThr}
| |-{ReferenceQueue}
| |-{Signal Catcher}
| |-{SystemUI Stora}
| `-{pool-1-thread-}
|-om.miui.gallery-+-{Binder_1}
| |-{Binder_2}
| |-{Compiler}
| |-{FinalizerDaemo}
| |-{FinalizerWatch}
| |-{GC}
| |-{JDWP}
| |-{ReferenceQueue}
| |-{Signal Catcher}
| `-{SingleContactL}
|-oviders.datahub-+-{Binder_1}
| |-{Binder_2}
| |-{Binder_3}
| |-{Compiler}
| |-{FinalizerDaemo}
| |-{FinalizerWatch}
| |-{GC}
| |-{JDWP}
| |-{ReferenceQueue}
| `-{Signal Catcher}
|-oviders.weather-+-{Binder_1}
| |-{Binder_2}
| |-{Binder_3}
| |-{Binder_4}
| |-{Binder_5}
| |-{Binder_6}
| |-{Binder_7}
| |-{Compiler}
| |-{FinalizerDaemo}
| |-{FinalizerWatch}
| |-{GC}
| |-{JDWP}
| |-{ReferenceQueue}
| `-{Signal Catcher}
|-system_server-+-{.ProcessManage}
| |-{AccountManager}
| |-{ActivityManage}
| |-{AlarmManager}
| |-{AsyncQueryWork}
| |-{AudioService}
| |-{AudioTrack}
| |-{Binder_10}
| |-{Binder_1}
| |-{Binder_2}
| |-{Binder_3}
| |-{Binder_4}
| |-{Binder_5}
| |-{Binder_6}
| |-{Binder_7}
| |-{Binder_8}
| |-{Binder_9}
| |-{Binder_A}
| |-{Binder_B}
| |-{Binder_C}
| |-{Binder_D}
| |-{Binder_E}
| |-{Binder_F}
| |-2*[{BluetoothAdapt}]
| |-3*[{BluetoothProfi}]
| |-3*[{CallbackHandle}]
| |-{ClearNotificat}
| |-{Compiler}
| |-{ConnectivitySe}
| |-{CountryDetecto}
| |-{FileObserver}
| |-{FinalizerDaemo}
| |-{FinalizerWatch}
| |-{GC}
| |-{GpsLocationPro}
| |-{InputDispatche}
| |-{InputReader}
| |-{JDWP}
| |-{LocationManage}
| |-{MAML RenderThr}
| |-{MountService}
| |-{NetdConnector}
| |-{NetworkPolicy}
| |-{NetworkStats}
| |-{NetworkTimeUpd}
| |-{NsdService}
| |-{PackageManager}
| |-{PackageMonitor}
| |-{PowerManagerSe}
| |-{ProcessStats}
| |-{ReferenceQueue}
| |-{SensorService}
| |-{Signal Catcher}
| |-2*[{SoundPoolThrea}]
| |-2*[{SoundPool}]
| |-{SyncHandler-0}
| |-{SyncHandlerThr}
| |-{Tethering}
| |-{ThrottleServic}
| |-{Timer-10}
| |-{Timer-9}
| |-{UEventObserver}
| |-{UpdateMagnifie}
| |-{UsbDeviceManag}
| |-{VoldConnector}
| |-{WifiP2pService}
| |-{WifiService}
| |-{WifiStateMachi}
| |-{WifiWatchdogSt}
| |-{WindowManagerP}
| |-{WindowManager}
| |-{backup}
| |-{er$SensorThrea}
| |-{er.ServerThrea}
| |-{gps_s5pc110}
| |-{mDnsConnector}
| |-{mScreenBrightn}
| |-{pool-1-thread-}
| `-{watchdog}
|-ty.miui:service-+-{Binder_1}
| |-{Binder_2}
| |-{Binder_3}
| |-{Compiler}
| |-{FinalizerDaemo}
| |-{FinalizerWatch}
| |-{GC}
| |-{JDWP}
| |-{ReferenceQueue}
| |-{Signal Catcher}
| |-{Thread-38}
| |-{Thread-39}
| `-{Thread-40}
|-viders.calendar-+-{Binder_1}
| |-{Binder_2}
| |-{Binder_3}
| |-{Binder_4}
| |-{Compiler}
| |-{FinalizerDaemo}
| |-{FinalizerWatch}
| |-{GC}
| |-{JDWP}
| |-{ReferenceQueue}
| `-{Signal Catcher}
|-{FinalizerDaemo}
|-{FinalizerWatch}
`-{ReferenceQueue}
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
8 Android系统封装库
root@android:/ # find /system/lib/ /system/lib/ /system/lib/bluez-plugin /system/lib/bluez-plugin/audio.so /system/lib/bluez-plugin/bluetooth-health.so /system/lib/bluez-plugin/input.so /system/lib/bluez-plugin/network.so /system/lib/content-types.properties /system/lib/drm /system/lib/drm/libfwdlockengine.so /system/lib/egl /system/lib/egl/egl.cfg /system/lib/egl/libGLES_android.so /system/lib/hw /system/lib/hw/audio.a2dp.default.so /system/lib/hw/audio.primary.aries.so /system/lib/hw/audio.primary.default.so /system/lib/hw/audio.usb.default.so /system/lib/hw/audio_policy.aries.so /system/lib/hw/audio_policy.default.so /system/lib/hw/camera.aries.so /system/lib/hw/gps.goldfish.so /system/lib/hw/gralloc.default.so /system/lib/hw/hwcomposer.s5pc110.so /system/lib/hw/keystore.default.so /system/lib/hw/lights.aries.so /system/lib/hw/local_time.default.so /system/lib/hw/power.default.so /system/lib/hw/power.s5pc110.so /system/lib/hw/sensors.aries.so /system/lib/hw/sensors.goldfish.so /system/lib/libEGL.so /system/lib/libETC1.so /system/lib/libFFTEm.so /system/lib/libFreqFilter.so /system/lib/libGLES_trace.so /system/lib/libGLESv1_CM.so /system/lib/libGLESv2.so /system/lib/libMiuiGalleryJNI.so /system/lib/libOMX.SEC.AVC.Decoder.so /system/lib/libOMX.SEC.AVC.Encoder.so /system/lib/libOMX.SEC.M4V.Decoder.so /system/lib/libOMX.SEC.M4V.Encoder.so /system/lib/libOpenMAXAL.so /system/lib/libOpenSLES.so /system/lib/libRS.so /system/lib/libSEC_OMX_Core.so /system/lib/libSR_AudioIn.so /system/lib/lib_tvoutengine.so /system/lib/libaah_rtp.so /system/lib/libandroid.so /system/lib/libandroid_runtime.so /system/lib/libandroid_servers.so /system/lib/libandroidfw.so /system/lib/libaudioeffect_jni.so /system/lib/libaudioflinger.so /system/lib/libaudiofp.so /system/lib/libaudioutils.so /system/lib/libbcc.so /system/lib/libbcc.so.sha1 /system/lib/libbcinfo.so /system/lib/libbinder.so /system/lib/libbluedroid.so /system/lib/libbluetooth.so /system/lib/libbluetoothd.so /system/lib/libbtio.so /system/lib/libc.so /system/lib/libc_malloc_debug_leak.so /system/lib/libc_malloc_debug_qemu.so /system/lib/libcamera_client.so /system/lib/libcameraservice.so /system/lib/libchromium_net.so /system/lib/libclcore.bc /system/lib/libclcore_neon.bc /system/lib/libcommon_time_client.so /system/lib/libcorkscrew.so /system/lib/libcrypto.so /system/lib/libctest.so /system/lib/libcutils.so /system/lib/libdbus.so /system/lib/libdefcontainer_jni.so /system/lib/libdiskconfig.so /system/lib/libdl.so /system/lib/libdrm1.so /system/lib/libdrm1_jni.so /system/lib/libdrmframework.so /system/lib/libdrmframework_jni.so /system/lib/libdvm.so /system/lib/libeffects.so /system/lib/libemoji.so /system/lib/libexif.so /system/lib/libexif_jni.so /system/lib/libexpat.so /system/lib/libext2_blkid.so /system/lib/libext2_com_err.so /system/lib/libext2_e2p.so /system/lib/libext2_profile.so /system/lib/libext2_uuid.so /system/lib/libext2fs.so /system/lib/libext4_utils.so /system/lib/libffmpeg_xm.so /system/lib/libffplayer_jni.so /system/lib/libfilterfw.so /system/lib/libfilterpack_imageproc.so /system/lib/libgabi++.so /system/lib/libgccdemangle.so /system/lib/libglib.so /system/lib/libgui.so /system/lib/libhardware.so /system/lib/libhardware_legacy.so /system/lib/libharfbuzz.so /system/lib/libhwui.so /system/lib/libicui18n.so /system/lib/libicuuc.so /system/lib/libimageprocessor_jni.so /system/lib/libimageutilities_jni.so /system/lib/libinput.so /system/lib/libiprouteutil.so /system/lib/libjackpal-androidterm4.so /system/lib/libjavacore.so /system/lib/libjni_eglfence.so /system/lib/libjni_eglfence_ml.so /system/lib/libjni_filtershow_filters_ml.so /system/lib/libjni_latinime.so /system/lib/libjni_mosaic.so /system/lib/libjni_mosaic_ml.so /system/lib/libjni_resource_drm.so /system/lib/libjni_resource_patcher.so /system/lib/libjnigraphics.so /system/lib/libjpeg.so /system/lib/libkeygen_jni.so /system/lib/libkeystore_client.so /system/lib/liblbesec.so /system/lib/liblocSDK_2.5OEM.so /system/lib/liblocSDK_2_5OEM.so /system/lib/liblog.so /system/lib/liblzo.so /system/lib/libm.so /system/lib/libmdnssd.so /system/lib/libmedia.so /system/lib/libmedia_jni.so /system/lib/libmedia_native.so /system/lib/libmediaplayerservice.so /system/lib/libmp3lame.so /system/lib/libmtp.so /system/lib/libnativehelper.so /system/lib/libncurses.so /system/lib/libnetlink.so /system/lib/libnetutils.so /system/lib/libnfc_ndef.so /system/lib/libpagemap.so /system/lib/libpatcher_jni.so /system/lib/libphotocli.so /system/lib/libpixelflinger.so /system/lib/libpng.so /system/lib/libpower.so /system/lib/libpowermanager.so /system/lib/libreference-ril.so /system/lib/libril.so /system/lib/librs_jni.so /system/lib/librtp_jni.so /system/lib/libs3cjpeg.so /system/lib/libsec-ril.so /system/lib/libsecril-client.so /system/lib/libsensorservice.so /system/lib/libshell.so /system/lib/libshell_jni.so /system/lib/libshellservice.so /system/lib/libskia.so /system/lib/libsonivox.so /system/lib/libsoundpool.so /system/lib/libspeexresampler.so /system/lib/libsqlite.so /system/lib/libsqlite_jni.so /system/lib/libsrec_jni.so /system/lib/libssh.so /system/lib/libssl.so /system/lib/libstagefright.so /system/lib/libstagefright_amrnb_common.so /system/lib/libstagefright_avc_common.so /system/lib/libstagefright_enc_common.so /system/lib/libstagefright_foundation.so /system/lib/libstagefright_omx.so /system/lib/libstagefright_soft_aacdec.so /system/lib/libstagefright_soft_aacenc.so /system/lib/libstagefright_soft_amrdec.so /system/lib/libstagefright_soft_amrnbenc.so /system/lib/libstagefright_soft_amrwbenc.so /system/lib/libstagefright_soft_flacenc.so /system/lib/libstagefright_soft_g711dec.so /system/lib/libstagefright_soft_h264dec.so /system/lib/libstagefright_soft_h264enc.so /system/lib/libstagefright_soft_mp3dec.so /system/lib/libstagefright_soft_mpeg4dec.so /system/lib/libstagefright_soft_mpeg4enc.so /system/lib/libstagefright_soft_rawdec.so /system/lib/libstagefright_soft_vorbisdec.so /system/lib/libstagefright_soft_vpxdec.so /system/lib/libstagefright_yuv.so /system/lib/libstagefrighthw.so /system/lib/libstdc++.so /system/lib/libstlport.so /system/lib/libsurfaceflinger.so /system/lib/libsuspend.so /system/lib/libsystem_server.so /system/lib/libsysutils.so /system/lib/libthread_db.so /system/lib/libtinyalsa.so /system/lib/libttscompat.so /system/lib/libttspico.so /system/lib/libtvout.so /system/lib/libtvout_jni.so /system/lib/libtvoutfimc.so /system/lib/libtvouthdmi.so /system/lib/libtvoutservice.so /system/lib/libui.so /system/lib/libusbhost.so /system/lib/libutils.so /system/lib/libvariablespeed.so /system/lib/libvideoeditor_core.so /system/lib/libvideoeditor_jni.so /system/lib/libvideoeditor_osal.so /system/lib/libvideoeditor_videofilters.so /system/lib/libvideoeditorplayer.so /system/lib/libvorbisidec.so /system/lib/libwebcore.so /system/lib/libwebrtc_audio_preprocessing.so /system/lib/libwilhelm.so /system/lib/libwpa_client.so /system/lib/libxml2.so /system/lib/libz.so /system/lib/modules /system/lib/modules/ansi_cprng.ko /system/lib/modules/cfq-iosched.ko /system/lib/modules/cifs.ko /system/lib/modules/configs.ko /system/lib/modules/cpufreq_conservative.ko /system/lib/modules/cpufreq_interactive.ko /system/lib/modules/cpufreq_smartass2.ko /system/lib/modules/deadline-iosched.ko /system/lib/modules/fuse.ko /system/lib/modules/gspca_main.ko /system/lib/modules/joydev.ko /system/lib/modules/logger.ko /system/lib/modules/md4.ko /system/lib/modules/mousedev.ko /system/lib/modules/nls_utf8.ko /system/lib/modules/radio-si4709-i2c.ko /system/lib/modules/scsi_wait_scan.ko /system/lib/modules/sema_autobr.ko /system/lib/modules/sio-iosched.ko /system/lib/modules/tun.ko /system/lib/modules/xpad.ko /system/lib/soundfx /system/lib/soundfx/libaudiopreprocessing.so /system/lib/soundfx/libbundlewrapper.so /system/lib/soundfx/libcyanogen-dsp.so /system/lib/soundfx/libdownmix.so /system/lib/soundfx/libreverbwrapper.so /system/lib/soundfx/libvisualizer.so /system/lib/ssl /system/lib/ssl/engines /system/lib/ssl/engines/libkeystore.so