Framework启动流程(1) - init进程启动过程

关注重点:
     - init进程做了什么
     - ro.hardware 属性值是什么时候设置的
init进程简介
     是linux内核启动的第一个进程,进程号为1.
     6.0代码: android/system/core/init/init.cpp , main()函数为入口
init进程做了什么:
     大概了解下,并不是学习的重点
     - 创建和安装设备文件/进程文件/系统文件节点
     - 启动属性服务 property service
     - 解析并启动init.rc 
     - 初始化系统后, init进程进入循环,不断地检查是否有action要执行,是否要重启某项挂掉的服务

启动属性服务
     - 加载属性的默认值
          - property_load_boot_defaults();
               - 从PROP_PATH_RAMDISK_DEFAULT = /default.prop 文件去加载
          - load_system_props()
               - PROP_PATH_SYSTEM_BUILD = /system/build.prop
               - PROP_PATH_VENDOR_BUILD = /vendor/build.prop 
               - PROP_PATH_FACTORY = /factory/factory.prop
          - load_override_properties()
               - PROP_PATH_LOCAL_OVERRIDE = /data/local.prop
          - process_kernel_cmdline( )
               - 从 "proc/cmdline" 中读取androidboot. *的属性, 并保存到ro.boot.* 上去
                    - 例如: androidboot.hardware = qcom , 那么ro.boot.hardware = qcom
     - 启动了一个socket服务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值