46|0

410

帖子

0

资源

一粒金砂(初级)

【教程1】手把手教你做平板电脑-Linux 引导过程 [复制链接]

Linux 引导过程
——疯壳·嵌入式平板开发

 

 

  Linux 内核与 Android 系统 linux 内核有什么区别? 
  什么是引导装载程序?
  什么是 Zygote? 
  什么是 init.rc?
  什么是系统服务?

第一节 Android 启动步骤

 

1.png
图1


第二节 引导程序 --- Boot Loader
  源代码目录:$(dir)\rk3128-source\u-boot

第三节 内核 --- Kernel
  Android 内核就是 Linux。内核启动时,设置硬件,挂载文件系统,执行第一个应用程序init。

第四节 Init 进程
  init 是第一个进程,可以说它是 root 进程或者所有进程的父进程。init 进程有两个责任, 一是挂载目录,比如/sys、/dev、/proc,二是运行 init.rc 脚本。对于 init.rc 文件,Android 中有特定的格式以及规则。在 Android 中,我们叫做 Android 初始化语言。
  init.rc 位于目录$(dir)\rk3128-source\device\rockchip\rksdk
  Android 初始化语言由四大类型的声明组成,即 Actions(动作)、Commands(命令)、Services(服务)、以及 Options(选项)。
  Action(动作):动作是以命令流程命名的,有一个触发器决定动作是否发生。
语法:
  on <trigger>

  <command>

  <command>

  <command>

  Service 是 init 加载的和是退出重启的(可选)程序。Service 具有如下格式:
  service <name> <pathname> [ <argument> ]*

  <option>

  <option>

  ...
  Options(选项)
  选项是对服务的描述,它们影响 init 进程如何以及何时启动服务。
  来看看默认的 init.rc 文件。这里只列出了主要的事件以及服务。
Table

 

2.png
图2
  在这个阶段你可以在设备的屏幕上看到“android”logo 了。


第五节 Zygote
  在 Java 中,不同的虚拟机实例会为不同的应用分配不同的内存。但如果 Android 系统为每一个应用启动不同的 Dalvik 虚拟机实例,就会消耗大量的内存以及时间。因此,为了克服这个问题,Android 系统创造了”Zygote”,Zygote 让 Dalvik 虚拟机共享代码、低内存占用以及最小的启动时间成为可能。


第六节 系统服务或服务
  完成了上面几步之后,运行环境请求 Zygote 运行系统服务。系统服务同时使用 native以及 java 编写,系统服务可以认为是一个进程,系统服务包含了所有的 System Services。
  Zygote 创建新的进程去启动系统服务,可以在 ZygoteInit 类的”startSystemServer”方法
中找到源代码。


第七节 引导完成
  一旦系统服务在内存中跑起来了, Android 就完成了引导过程。 在这个时候“ACTION_BOOT_COMPLETED”开机启动广播就会发出去。


第八节 实验
  init.rc 中增加一条启动参数 setprop fengke.test 100


第九节 实验现象
  系统启动后用 getprop fengke.test 来看是否这个值已经写入

 

3.png
图3

 

 

完整配套资料和对应开源套件地址:http://www.fengke.club


文件下载请点击: 1、Linux引导过程.pdf (409.72 KB, 下载次数: 0)

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

最新文章 更多>>
    关闭
    站长推荐上一条 1/10 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表