准备环境:
开始:
/ # cat /proc/cpuinfo Processor : ARMv7 Processor rev 1 (v7l) processor : 0 BogoMIPS : 1592.52 processor : 1 BogoMIPS : 2786.91 Features : swp half thumb fastmult vfp edsp neon vfpv3 tls CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x2 CPU part : 0xc09 CPU revision : 1 Hardware : SMDK4210 #机器的Hardware名 Revision : 0008 Serial : 304d19b10777263f
查看Android下的设备列表
/ # cd /dev/ /dev # ls HPD ptmx tty48 accelerometer pts tty49 akm8975 random tty5 alarm rfkill tty50 android_adb rtc0 tty51 ashmem rtc1 tty52 binder#binder在这里 s3c-mem tty53 block s3c-mfc tty54 bus s5p-jpeg tty55 bus_dma_throughput snd tty56 console socket tty57 cpu_dma_latency srp tty58 cpuctl srp_ctrl tty59 device-mapper tspdrv tty6 display_frequency tty tty60 dun tty0 #开机的时候就是访问这个设备 tty61 dvfs_response_latency tty1 tty62 ecryptfs tty10 tty63 exynos-mem tty11 tty7 fimg2d tty12 tty8 fmradio tty13 tty9 full tty14 ttyGS0 fuse tty15 ttyGS1 graphics tty16 ttyGS2 i2c-0 tty17 ttyGS3 i2c-1 tty18 ttyS0 i2c-11 tty19 ttyS1 i2c-12 tty2 ttyS2 i2c-14 tty20 ttyS3 i2c-15 tty21 ttySAC0 i2c-16 tty22 ttySAC1 i2c-19 tty23 ttySAC2 i2c-3 tty24 ttySAC3 i2c-5 tty25 tun i2c-6 tty26 uinput i2c-7 tty27 ump i2c-8 tty28 umts_boot0 i2c-9 tty29 umts_csd input tty3 umts_ipc0 k3g tty30 umts_loopback0 keychord#如果keychord设备初始化成功,则init也会关注来自这个设备的事件 tty31 umts_ramdump0 kmem tty32 umts_rfs0 kmsg tty33 umts_router light tty34 urandom link_pm tty35 usb_accessory log tty36 usb_mtp_gadget mali tty37 vcs mem tty38 vcs1 modem_br tty39 vcsa multipdp tty4 vcsa1 network_latency tty40 video0 network_throughput tty41 video1 null tty42 video14 pipes tty43 video2 pmem tty44 video21 pmem_gpu1 tty45 video3 pn544 tty46 xt_qtaguid ppp tty47 zero
查看android下的配置文件和根目录
/dev # cd / / # ls acct init res cache init.goldfish.rc sbin config init.rc#所有的linux平台都有这个配置文件,这个是init进程首先调用的,是系统相关的配置文件 sdcard customkernel init.smdk4210.rc #这也是init进程首先解析的两个文件中的一个,不同的设备平台下中间的名字不同,因为smdk4210是硬件平台的名称 sys d init.smdk4210.usb.rc system data lib tmp default.prop lpm.rc ueventd.goldfish.rc dev #系统有哪些硬件也是内核态首先检查然后回写在目录树下的 mnt ueventd.rc efs preload ueventd.smdk4210.rc etc proc #这个文件夹是init进程运行时,从内核态回写的数据,存在的都是内核态的状态数据 vendor fota.rc recovery.rc / #
/data/data/berserker.android.apps.sshdroid/home # getprop #查看属性服务维护的所有键值对信息(如同windows的注册表) [audio.country]: [0] [audio.stub]: [0] [audioflinger.bootsnd]: [1] [dalvik.vm.dexopt-flags]: [m=y] [dalvik.vm.heapgrowthlimit]: [64m] [dalvik.vm.heapsize]: [256m] [dalvik.vm.heapstartsize]: [8m] [dalvik.vm.stack-trace-file]: [/data/anr/traces.txt] [dev.bootcomplete]: [1] [dev.powersave_fps]: [0] [dev.sfbootcomplete]: [1] [dhcp.ip6tnl0.reason]: [CARRIER] ...
参考资料:
Android的init过程(二):初始化语言(init.rc)解析
从linux看Android--init进程,布布扣,bubuko.com
原文:http://www.cnblogs.com/zhanghaiyublog/p/3613609.html