从Kernel启动到Android系统整个过程源码分析

news2024/11/26 0:46:24

1、 第一阶段:

对于ARM的处理器,内核第一个启动的文件是arc/arm/kernel下面的head.S文件。当然arc/arm/boot/compress下面也有这个文件,这个文件和上面的文件略有不同,当要生成压缩的内核时zImage时,启动的是后者,后者与前者不同的时,它前面的代码是做自解压的,后面的代码都相同。我们这里这分析arc/arm/kernel下面的head.S文件。
代码片段如下:

在这里插入图片描述
在这里插入图片描述

2、 第二阶段:进入__mmap_switched

在这里插入图片描述

3、 第三阶段:进入start_kernel

在这里插入图片描述
在函数后面包含有下列代码片段:
在这里插入图片描述

4、 第四阶段:进入rest_init

在这里插入图片描述

5、 第五阶段:进入kernel_init

在这里插入图片描述
在函数后面包含有下列代码片段:
在这里插入图片描述

6、 第六阶段:init_post

在这里插入图片描述

7、 第七阶段:

看到上面代码run_init_process(“/etc/init”)很熟悉了吧(如果不熟悉的话,就赶紧去研究下Android frameworks层的代码哦),启动第一个init进程,进入Android世界…

init位置:
在这里插入图片描述

觉得本文对你有用,麻烦点赞或关注或收藏,你的肯定是我创作的无限动力,谢谢!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1632380.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

企业如何保证内部传输文件使用的工具是安全的?

企业内部文件的频繁交换成为了日常运营不可或缺的一环。然而,随着数据量的爆炸式增长和网络攻击手段的日益复杂,内网文件传输的安全隐患也日益凸显,成为企业信息安全的薄弱环节。本文将探讨内网文件传输的安全风险、企业常用的防护措施。 内网…

《Fundamentals of Power Electronics》——Buck、Boost、Buck-Boost三个电路的CCM-DCM工作特性总结

Buck、Boost、Buck-Boost这三个电路的CCM-DCM工作特性总结如下表所示: Buck、Boost、Buck-Boost这三个电路工作在DCM模式下电压传输比的对比图如下所示: 由上图可知,Buck-Boost电路的工作特性是一条斜率为的直线,Buck电路和Boost电…

小长假来临,企业借助巡检系统做好安全巡查工作

节前节后是安全隐患事故多发期,小长假来了,企业面临着员工离岗、生产活动减少等特殊情况,这可能导致一些安全隐患被忽视。因此,借助巡检系统做好全面安全巡查工作显得尤为重要。巡检系统可以帮助企业实现巡检工作的规范化、标准化…

八_实验1:创建 VLAN 和划分端口

1、实验目的 通过本实验可以掌握: VLAN的概念。创建VLAN的方法。把交换机端口划分到VLAN中的方法。 2、实验​​​​​​拓扑 创建 VLAN 和划分端口的实验拓扑如下图所示。 图8-5 创建 VLAN 和划分端口的实验拓扑 3、实验步骤 (1)实验准…

C++:map和set的封装

关于红黑树的模拟实现,大家不清楚的先去看看博主的博客再来看这篇文章,因为set和map的封装底层都是利用用的红黑树。所以这里不会过多介绍红黑树的相关内容,而更多的是去为了契合STL中的红黑树去进行改造,让封装的set和map能够去复…

第二篇:Python环境搭建:从初学者到专家

Python环境搭建:从初学者到专家 在编程的世界里,准备好一个高效而舒适的开发环境是走向成功的第一步。在这篇博客文章中,我们将一起探索如何为Python编程搭建一个理想的环境。无论你是完全的新手还是希望提升现有的技能,本文都会…

常用图像加密技术-流密码异或加密

异或加密是最常用的一种加密方式,广泛的适用于图像处理领域。这种加密方式依据加密密钥生成伪随机序列与图像的像素值进行异或操作,使得原像素值发生变化,进而使得图像内容发生变化,达到保护图像内容的目的。 该加密方法是以图像…

C语言程序设计(一)

1、指令、程序、软件 2、计算机语言:机器语言、汇编语言、高级语言 高级语言的发展:非结构化语言(FORTRAN)、结构化语言(C语言)、面向对象的语言(C、面向对象) 3、源程序、二进制…

在ubuntu 24.04 上安装vmware workstation 17.5.1

ubuntu安装在新组装的i9 14900机器上,用来学习笨叔的ARM64体系结构编程,也熟悉Linux的用法。但有时候写文档总是不方便,还是需要window来用。因此想在ubuntu 24.04上安装Linux版本的vmware worksation 17.5.1以虚拟机的方式安装windows 11。其…

Kubernetes学习笔记03

第八章、Kubernetes控制器Controller详解 Statefulset Statefulset主要是用来部署有状态应用 对于StatefulSet中的Pod,每个Pod挂载自己独立的存储,如果一个Pod出现故障,从其他节点启动一个同样名字的Pod,要挂载上原来Pod的存储…

Vitis HLS 学习笔记--AXI4 主接口

目录 1. 简介 2. 认识MAXI 3. MAXI突发操作 3.1 全局/本地存储器 3.2 MAXI优势与特点 3.3 查看MAXI报告 3.3.1 HW Interfaces 3.3.2 M_AXI Burst Information 3.4 MAXI 资源消耗 4. 理解 Volatile 4.1 标准C/C中的 volatile 4.2 HLS 中的 volatile 5. 总结 1. 简介…

CACTER AI实验室:AI大模型在邮件安全领域的应用

随着人工智能技术的飞速发展,AI已经深入到生活的各个领域。AI大模型在邮件安全领域展现出巨大潜力,尤其是反钓鱼检测上的应用,正逐渐展现出其独特的价值。 4月24日,CACTER AI实验室高级产品经理刘佳雄在直播交流会上分享了CACTER …

飞腾FT2000/4+银河麒麟全国产VPX架构 6U尺寸标准板卡,适用于船舶、交通等领域

XM-FT2000-VPX主板 XM-FT2000-VPX主板为VPX架构 6U尺寸标准板卡,提供的接口有DVI、USB、网络、UART、PCIE等接口。 处理器: FT2000/4四核国产处理器 芯片: 兆芯ZX-200芯片组 内存: 国产内存颗粒,双通道DDR4&#xff0…

应用场景:四大场景,用虚拟直播技术助力破圈

应用场景:四大场景用虚拟直播技术助力破圈 直播场景有四大类,看看你适合,哪一类场景的搭建: 1.教育型直播:寓教于货,文化浓厚; 人设:老师人设,以内容输出,“…

Python从0到100(十七):面向对象编程进阶

前言: 零基础学Python:Python从0到100最新最全教程。 想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…

AI Agent新对决:LangGraph与AutoGen的技术角力

AI Agent变革未来,LangGraph对抗AutoGen ©作者|Blaze 来源|神州问学 引言 比尔.盖茨曾在他的博客上发表一篇文章:《AI is about to completely change how you use computers》。在文章中,比尔盖茨探讨AI Agent对我们未来生活的巨大影…

hadoop命令

hadoop命令 目录 hadoop命令 1.查看文件下面有哪些文件和目录 2.获取文件信息 查看文件内容 3.创建一个文件夹 4.剪切 1)从本地hadoop剪切到hdfs并上传到hdfs 2)剪切 从hdfs剪切到本地hadoop目录上 5.删除 1)递归删除 2&#xff0…

HotSpot JVM 为啥要叫做 HotSpot JVM?

1. Java与编译相关的三个概念: 首先了解三个概念 前端编译解释执行编译执行 ▌1.1、前端编译 编译器(javac)将源文件(.java)编译成java字节码文件(.class)的步骤是前端编译。 ▌1.2、解释执…

开放创新:蓝牙墨水屏标签,API接口助力,共创智慧新生态!

在当今科技日新月异的时代,蓝牙技术的发展为物联网应用带来了新的可能性。本文将探讨蓝牙墨水屏标签与API接口的应用,重点关注于串口协议、信号强度与广播频率自定义、蓝牙信标动态更改、蓝牙广播协议和开放定位数据等方面。具体场景包括设备资产显示标签…

python:reportlab 生成pdf:基本用法。

1.首先,打开cmd,安装reportlab pip install -i https://pypi.tuna.tsinghua.edu.cn/simple reportlab #从清华镜像安装更快 然后就可以使用其基本用法。 from reportlab.lib.pagesizes import letter from reportlab.pdfgen import canvasdef genera…