ffos:init,b2g 启动过程

本文详细探讨了Firefox OS (ffos)中b2g进程的启动过程,从固件加载内核到kernel运行init,再到解析init.rc和init.b2g.rc。重点分析了b2g进程如何启动,包括b2g.sh脚本的作用,以及b2g进程如何执行libxul.so并加载b2g.js,最终进入Gaia系统服务的启动流程。
摘要由CSDN通过智能技术生成

try to analyze b2g ,nuwa and content process.

自我疑惑问题记录与解答。。。

系统物理按键按下,固件(firmware)bootloader按需加载文件到内存?(加载内核进内存),kernel run脚本?启动init进程,解析init.rc,init.b2g.rc, init进程启动b2g进程,init同时?启动一些守护进程(deamon :rild ,vold)(init启动的?),b2g?init?启动系统服务(system service)对核心服务进行启动和初始化.

进程user: root ,system ,rido?wifi ,media?不由b2g管?b2g管的是哪些???看ppid可知。。

system/core/rootdir/init.rc

gonk-misc/init.b2g.rc

gonk-misc/b2g.sh

 

init是init.cpp(system/core/init/init.cpp?)编译生成的二进制可执行文件?kernel 运行脚本(哪个?),执行init(可执行文件),解析init.rc

,init.b2g.rc(通过b2g.sh脚本,它做了很多事情,整体启动b2g进程),b2g.sh运行/system/b2g/b2g(可执行文件,由gecko/b2g/app/nsBrowserApp.cpp生成???也即是,哪里是b2g的入口)。b2g可执行文件运行libxul.so,(XPCOM初始化在哪做??b2g如何在哪里指定去运行libxul,以及如何去运行b2g.js),libxul里包含了b2g.js(它去打开shell.html),shell.html (body 的id 为container)包含了shell.js(进gaia了)它创建systemAppFrame(iframe),然后将blank.html填充进iframe去,进入了system app,system app 开始做一系列工作,如启动gaia的核心应用。gaia/apps/system。这是上层通路做的事情,底层从b2g进来之后做了哪些事情呢,如xpcom的初始化等以及后续的一系列是如何支持的?

3678:gecko/b2g/chrome/moz.build:8:DEFINES['PACKAGE'] = 'b2g'???

 

system/core/init/init.cpp:1104:    init_parse_config_file("/init.rc");

gonk-misc/Android.mk:31:    echo import /init.b2g.rc > $@

system app

 

 

https://www.cnblogs.com/jacklu/p/5317406.html

https://blog.csdn.net/qwe6112071/article/details/70473905

https://blog.csdn.net/MrDing991124/article/details/78660847

 

PID为0的进程为调度进程,该进程是内核的一部分,也称为系统进程;PID为1的进程为init进程,它是一个普通的用户进程,但是以超级用户特权运行;PID为2的进程是页守护进程,负责支持虚拟存储系统的分页操作。

Android 内核加载完成后,就会启

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值