Android系统启动流程

2019-07-14 03:43发布

1.Android系统启动流程

那么结合本篇以及本系列的前三篇文章,我们就可以得出Android系统启动流程,如下所示。 
1.启动电源以及系统启动 
当电源按下时引导芯片代码开始从预定义的地方(固化在ROM)开始执行。加载引导程序Bootloader到RAM,然后执行。 
2.引导程序BootLoader 
引导程序BootLoader是在Android操作系统开始运行前的一个小程序,它的主要作用是把系统OS拉起来并运行。 
3.Linux内核启动 
内核启动时,设置缓存、被保护存储器、计划列表、加载驱动。当内核完成系统设置,它首先在系统文件中寻找init.rc文件,并启动init进程。 
4.init进程启动 
初始化和启动属性服务,并且启动Zygote进程。 
5.Zygote进程启动 
创建JavaVM并为JavaVM注册JNI,创建服务端Socket,启动SystemServer进程。 
6.SystemServer进程启动 
启动Binder线程池和SystemServiceManager,并且启动各种系统服务。 
7.Launcher启动 
被SystemServer进程启动的ActivityManagerService会启动Launcher,Launcher启动后会将已安装应用的快捷图标显示到界面上。 结合上面的流程,给出Android系统启动流程图:  这里写图片描述

2.开机动画所处的位置

由surfacefinger启动,不由原来init.rc直接启动 https://blog.csdn.net/u010753159/article/details/51325500

3.开机启动prof Log

<< /proc/bootprof >>: ---------------------------------------- 0 BOOT PROF (unit:msec) ---------------------------------------- 663 : preloader 2718 : lk (Start->Show logo: 744) ---------------------------------------- 27.566153 : ON 136.795307 : 1-swapper/0 : initcall: arm64_device_init 40.393846ms 157.571154 : 1-swapper/0 : initcall: param_sysfs_init 16.377846ms 214.686231 : 1-swapper/0 : initcall: ccci_util_init 40.666308ms 250.370154 : 1-swapper/0 : initcall: event_trace_init 26.059923ms 321.267769 : 1-swapper/0 : initcall: populate_rootfs 53.117231ms 391.744539 : 1-swapper/0 : probe: probe=platform_drv_probe drv=musb-hdrc(ffffff800946b840) 15.519077ms 391.800308 : 1-swapper/0 : initcall: musb_init 16.094000ms 425.951539 : 1-swapper/0 : probe: probe=platform_drv_probe drv=mtkfb(ffffff8009476c60) 27.151154ms 426.249385 : 1-swapper/0 : initcall: mtkfb_init 28.278385ms 458.749154 : 1-swapper/0 : initcall: modem_cd_init 15.351692ms 1437.226618 : 1-swapper/0 : probe: probe=spi_drv_probe drv=sunwave-fp(ffffff80094c6cb0) 919.970925ms 1437.332387 : 1-swapper/0 : initcall: sf_ctl_driver_init 920.152309ms 2072.525927 : 1-swapper/0 : initcall: mt_spm_init 554.895847ms 2078.197697 : 196-kworker/3:1 : probe: probe=mmc_bus_probe drv=mmcblk(ffffff80094d4110) 399.728539ms 3319.500084 : 1-swapper/0 : probe: probe=i2c_device_probe drv=ltr559(ffffff800945c488) 1245.203080ms 3319.807930 : 1-swapper/0 : initcall: alsps_init 1245.673080ms 3350.704469 : 1-swapper/0 : probe: probe=i2c_device_probe drv=bmp280(ffffff800945df30) 15.867539ms 3350.957930 : 1-swapper/0 : initcall: baro_init 16.650692ms 3915.435163 : 53-kworker/u8:1 : probe: probe=i2c_device_probe drv=ft6x06_new(ffffff80094c6600) 535.894924ms 3917.398009 : 53-kworker/u8:1 : probe: probe=platform_drv_probe drv=mtk-tpd(ffffff80094ba558) 539.099848ms 3920.459163 : 1-swapper/0 : initcall: mtk_charger_init 544.432924ms 3957.744240 : 1-swapper/0 : initcall: clk_debug_init 33.908846ms 3961.032009 : 1-swapper/0 : Kernel_init_done 5452.606166 : 1-init : INIT:early-init 6364.176707 : 1-init : INIT:late-init 6364.781168 : 1-init : INIT:Mount_START 8351.221558 : 1-init : INIT:Mount_END 8387.175404 : 1-init : start teei_daemon (on fs) 8390.148789 : 1-init : start teei_daemon end (on fs) 8492.065097 : 327-teei_daemon : TEEI WorkQueue Created 8492.109789 : 327-teei_daemon : TEEI VFS Buffer Created 8502.009635 : 1-init : INIT:post-fs 8856.556790 : 1-init : INIT:post-fs-data 8921.187328 : 1-init : post-fs-data: on modem start 8942.711021 : 1-init : start teei cfg (on post-fs-data) 8955.818867 : 1-init : start teei cfg end (on post-fs-data) 9452.177637 : 327-teei_daemon : TEEI BOOT Stage1 Completed 9453.333791 : 327-teei_daemon : TEEI BOOT CMD Buffer Created 9725.352330 : 1-init : INIT:boot 9918.550177 : 1-init : USB ready 9970.120639 : 390-vold : vold:cryptfs_enable_internal:START 9971.605869 : 370-ccci_mdinit : ccci_md3: md_init srv start 9986.179639 : 1-init : INIT:vold.decrypt=trigger_shutdown_framework 10047.415870 : 368-ccci_mdinit : ccci_md1: md_init srv start 10052.268100 : 368-ccci_mdinit : ccci_md1: init 10190.896408 : 327-teei_daemon : TEEI BOOT Stage2 Completed 10193.688870 : 327-teei_daemon : TEEI BOOT Service1 Inited 10193.742101 : 327-teei_daemon : TEEI BOOT Keymaster Unlocked 10284.522485 : 1-init : INIT:vold.decrypt=trigger_post_fs_data 10495.396024 : 1-init : INIT:post-fs-data 10547.657563 : 1-init : post-fs-data: on modem start 10567.273871 : 1-init : start teei cfg (on post-fs-data) 10584.649948 : 1-init : start teei cfg end (on post-fs-data) 10939.487333 : 426-SurfaceFlinger: : BOOT_Animation:START 12562.424722 : 390-vold : vold:encrypt_master_key:START 12562.657106 : 390-vold : vold:keymaster_create_key:START 15747.409345 : 390-vold : vold:keymaster_create_key:END 15747.498960 : 390-vold : vold:scrypt_keymaster:START 17311.102733 : 390-vold : vold:scrypt_keymaster:END 17960.590581 : 390-vold : vold:encrypt_master_key:END 17965.918965 : 390-vold : vold:decrypt_master_key:START 17966.003888 : 390-vold : vold:scrypt_keymaster:START 19513.749584 : 390-vold : vold:scrypt_keymaster:END 19513.848431 : 390-vold : vold:decrypt_master_key:END 19518.434046 : 390-vold : vold:cryptfs_enable_inplace:START 26403.858447 : 390-vold : vold:cryptfs_enable_inplace:END 26488.997370 : 390-vold : vold:decrypt_master_key:START 26489.086601 : 390-vold : vold:scrypt_keymaster:START 28037.866835 : 390-vold : vold:scrypt_keymaster:END 28037.964759 : 390-vold : vold:decrypt_master_key:END 28695.554837 : 390-vold : vold:cryptfs_restart_internal:START 28699.209760 : 1-init : INIT:vold.decrypt=trigger_reset_main 30837.402304 : 1-init : INIT:vold.decrypt=trigger_post_fs_data 31043.468458 : 1-init : INIT:post-fs-data 31107.979535 : 1-init : post-fs-data: on modem start 31125.586535 : 327-teei_daemon : TEEI BOOT Decrypt Unlocked 31125.755920 : 327-teei_daemon : TEEI BOOT Service2 Inited 31159.208304 : 1-init : start teei cfg (on post-fs-data) 31183.158074 : 1-init : start teei cfg end (on post-fs-data) 31519.435459 : 327-teei_daemon : TEEI BOOT Load TEES Completed 31519.478690 : 327-teei_daemon : TEEI BOOT All Completed 31519.490536 : 327-teei_daemon : TEEI_BOOT_OK 31702.189844 : 1-init : INIT:vold.decrypt=trigger_restart_framework 32116.520307 : 390-vold : vold:cryptfs_restart_internal:END 32116.635461 : 390-vold : vold:cryptfs_enable_internal:END, ret=0 32321.755461 : 482-zygote64 : boot_progress_start 33617.325926 : 368-ccci_mdinit : ccci_md1: decpyt ready 33619.063387 : 368-ccci_mdinit : ccci_md1: reset 33785.535388 : 368-ccci_mdinit : ccci_md1: bootup 38359.421014 : 482-main : Zygote:Preload Start 38677.507169 : 483-main : Zygote:Preload End 38849.372554 : 368-ccci_mdinit : ccci_md1: ready 40348.881865 : 482-main : Zygote:Preload 4715 classes in 1800ms 40536.839250 : 482-main : Zygote:Preload 64 obtain resources in 186ms 40571.867404 : 482-main : Zygote:Preload 41 resources in 34ms 41065.418020 : 482-main : Zygote:Preload End 41530.037329 : 1102-system_server : Android:SysServerInit_START 43077.210794 : 1102-system_server : Android:PackageManagerService_Start 43140.914102 : 1102-system_server : Android:PMS_scan_START 43143.757948 : 1102-system_server : Android:PMS_scan_data:/vendor/overlay 43221.506410 : 1102-system_server : Android:PMS_scan_data:/system/framework 43601.665719 : 1102-system_server : Android:PMS_scan_data:/vendor/framework 43611.346642 : 1102-system_server : Android:PMS_scan_data:/system/priv-app 46889.737573 : 1102-system_server : Android:PMS_scan_data:/system/app 52653.427356 : 1102-system_server : Android:PMS_scan_data:/vendor/app 52866.959587 : 1102-system_server : Android:PMS_scan_data:/system/presetapp 109655.541030 : 1102-system_server : Android:PMS_scan_END 109726.110492 : 1102-system_server : PMS:reconcileAppsDataLI 111146.830341 : 1102-system_server : Android:PMS_READY 114003.500964 : 483-main : Zygote:Preload 4715 classes in 2157ms 114256.658041 : 1102-system_server : PMS:performDexOpt:com.mediatek.ims 114289.513810 : 483-main : Zygote:Preload 64 obtain resources in 284ms 114331.412503 : 483-main : Zygote:Preload 41 resources in 41ms 114863.786812 : 1220-QkSp_performDex : PMS:performDexOpt:com.mediatek.ims 116049.856276 : 1102-system_server : PMS:performDexOpt:com.android.providers.settings 116052.011276 : 1220-QkSp_performDex : PMS:performDexOpt:com.android.providers.settings 116056.421122 : 1102-system_server : PMS:performDexOpt:com.android.inputdevices 116063.351584 : 1220-QkSp_performDex : PMS:performDexOpt:com.android.inputdevices 116070.269276 : 1102-system_server : PMS:performDexOpt:com.android.server.telecom 116073.287968 : 1220-QkSp_performDex : PMS:performDexOpt:com.android.server.telecom 116088.447892 : 1102-system_server : PMS:performDexOpt:com.android.inputmethod.latin 116091.869353 : 1220-QkSp_performDex : PMS:performDexOpt:com.android.inputmethod.latin 116157.704661 : 1102-system_server : PMS:performDexOpt:com.android.settings 116160.647507 : 1220-QkSp_performDex : PMS:performDexOpt:com.android.settings 116184.234661 : 1102-system_server : PMS:performDexOpt:com.qiku.android.configcenter 116186.145507 : 1220-QkSp_performDex : PMS:performDexOpt:com.qiku.android.configcenter 116200.713969 : 1102-system_server : PMS:performDexOpt:com.android.phone 116203.190507 : 1220-QkSp_performDex : PMS:performDexOpt:com.android.phone 116283.789431 : 1102-system_server : PMS:performDexOpt:com.android.location.fused 116292.689892 : 1220-QkSp_performDex : PMS:performDexOpt:com.android.location.fused 116306.726123 : 1102-system_server : PMS:performDexOpt:com.android.systemui 116357.545969 : 1220-QkSp_performDex : PMS:performDexOpt:com.android.systemui 116375.392431 : 1102-system_server : PMS:performDexOpt:com.android.providers.media 116385.881277 : 1220-QkSp_performDex : PMS:performDexOpt:com.android.providers.media 116393.848892 : 1102-system_server : PMS:performDexOpt:com.mediatek.location.lppe.main 116398.186815 : 1220-QkSp_performDex : PMS:performDexOpt:com.mediatek.location.lppe.main 117048.866355 : 1102-system_server : PMS:performDexOpt:com.android.providers.downloads 117052.288817 : 1220-QkSp_performDex : PMS:performDexOpt:com.android.providers.downloads 117085.277355 : 1102-system_server : PMS:performDexOpt:com.android.core.patchsystem 117087.844048 : 1220-QkSp_performDex : PMS:performDexOpt:com.android.core.patchsystem 117095.659509 : 1102-system_server : PMS:performDexOpt:com.qiku.android.safe 117098.175356 : 1220-QkSp_performDex : PMS:performDexOpt:com.qiku.android.safe 117108.529509 : 1102-system_server : PMS:performDexOpt:com.mediatek.bluetooth.dtt 117111.240817 : 1220-QkSp_performDex : PMS:performDexOpt:com.mediatek.bluetooth.dtt 117120.790433 : 1102-system_server : PMS:performDexOpt:com.qiku.android.contacts 117123.440356 : 1220-QkSp_performDex : PMS:performDexOpt:com.qiku.android.contacts 117132.767817 : 1102-system_server : PMS:performDexOpt:com.mediatek.providers.drm 117136.583202 : 1220-QkSp_performDex : PMS:performDexOpt:com.mediatek.providers.drm 117142.697509 : 1102-system_server : PMS:performDexOpt:com.mediatek.batterywarning 117144.452356 : 1220-QkSp_performDex : PMS:performDexOpt:com.mediatek.batterywarning 117185.831817 : 1102-system_server : PMS:performDexOpt:com.android.printspooler 117187.882740 : 1220-QkSp_performDex : PMS:performDexOpt:com.android.printspooler 117195.702894 : 1102-system_server : PMS:performDexOpt:com.android.sc 117198.046279 : 1220-QkSp_performDex : PMS:performDexOpt:com.android.sc 117208.492587 : 1102-system_server : PMS:performDexOpt:com.qiku.android.calendar 117210.520279 : 1220-QkSp_performDex : PMS:performDexOpt:com.qiku.android.calendar 117220.131817 : 1102-system_server : PMS:performDexOpt:com.qiku.android.launcher3 117223.655356 : 1220-QkSp_performDex : PMS:performDexOpt:com.qiku.android.launcher3 117233.032433 : 1102-system_server : PMS:performDexOpt:com.mediatek.duraspeed 117235.186740 : 1220-QkSp_performDex : PMS:performDexOpt:com.mediatek.duraspeed 117246.485279 : 1102-system_server : PMS:performDexOpt:com.android.keychain 117249.713664 : 1220-QkSp_performDex : PMS:performDexOpt:com.android.keychain 117297.598433 : 1102-system_server : PMS:performDexOpt:com.qiku.cardmanager2 117299.536048 : 1220-QkSp_performDex : PMS:performDexOpt:com.qiku.cardmanager2 117312.726818 : 1102-system_server : PMS:performDexOpt:com.android.osfota 117315.795048 : 1220-QkSp_performDex : PMS:performDexOpt:com.android.osfota 117323.138895 : 1102-system_server : PMS:performDexOpt:com.mediatek.thermalmanager 117325.636664 : 1220-QkSp_performDex : PMS:performDexOpt:com.mediatek.thermalmanager 117668.021511 : 1102-system_server : PMS:performDexOpt:com.mtk.telephony 117670.370665 : 1220-QkSp_performDex : PMS:performDexOpt:com.mtk.telephony 118040.469589 : 1102-system_server : PMS:performDexOpt:com.mediatek.mdmconfig 118042.794819 : 1220-QkSp_performDex : PMS:performDexOpt:com.mediatek.mdmconfig 118084.169896 : 1102-system_server : PMS:performDexOpt:com.android.wallpaperbackup 118087.126204 : 1220-QkSp_performDex : PMS:performDexOpt:com.android.wallpaperbackup 118092.179512 : 1102-system_server : PMS:performDexOpt:com.android.bluetooth 118094.256512 : 1220-QkSp_performDex : PMS:performDexOpt:com.android.bluetooth 118103.959358 : 1102-system_server : PMS:performDexOpt:com.android.providers.contacts 118105.985358 : 1220-QkSp_performDex : PMS:performDexOpt:com.android.providers.contacts 121384.339750 : 1102-system_server : AMS:systemReady 122448.832830 : 1102-system_server : AMS:AMS_READY 122579.516061 : 1102-system_server : AP_Init:[service]:[com.android.inputmethod.latin]:[com.android.inputmethod.latin/.LatinIME]:pid:1277 122719.523907 : 1102-system_server : AP_Init:[service]:[com.android.systemui]:[com.android.systemui/.SystemUIService]:pid:1295:(PersistAP) 122876.061677 : 1116-system-server-i : AP_Init:[]:[WebViewLoader-armeabi-v7a]:pid:1309 122913.863677 : 1116-system-server-i : AP_Init:[]:[WebViewLoader-arm64-v8a]:pid:1314 123057.271985 : 1102-system_server : SystemServer:NetworkStatsService systemReady 123279.157293 : 1102-system_server : SystemServer:ConnectivityService systemReady 123379.702217 : 1102-system_server : SystemServer:NetworkPolicyManagerServ systemReady 123814.363448 : 1102-system_server : SystemServer:PhaseThirdPartyAppsCanStart 123848.021064 : 1102-system_server : AP_Init:[added application]:[com.mediatek.ims]:[com.mediatek.ims]:pid:1369:(PersistAP) 123883.222372 : 1102-system_server : AP_Init:[added application]:[com.android.phone]:[com.android.phone]:pid:1374:(PersistAP) 123969.667064 : 1102-system_server : AP_Init:[activity]:[com.android.settings:CryptKeeper]:[com.android.settings/.CryptKeeper]:pid:1397 124048.761141 : 1102-system_server : Android:SysServerInit_END 124375.909604 : 1221-Binder:1102_3 : AP_Init:[activity]:[com.android.settings]:[com.android.settings/.FallbackHome]:pid:1431 125106.392990 : 1118-ActivityManager : AMS:ENABLE_SCREEN 125112.070605 : 1127-android.display : AP_Launch: com.android.settings/.FallbackHome 757ms 130481.581849 : 399-Binder:375_1 : BOOT_Animation:END 130481.626464 : OFF ---------------------------------------- ================ END of FILE ===============