在 Android 系统启动时,内核会读取设备的分区表 是怎么读取的
时间: 2024-04-21 14:27:40 浏览: 22
在 Android 系统启动时,内核会读取设备的分区表,通常是通过以下步骤完成的:
1. 在启动时,内核会加载一个名为 `boot.img` 的文件,其中包含了启动内核所需的所有文件和配置信息。
2. 当内核启动后,它会读取 `boot.img` 文件中的 `ramdisk` 镜像并将其解压缩到内存中。`ramdisk` 是一个包含了文件系统和启动脚本等文件的内存映像,它包含了启动 Android 系统所需的所有文件和配置信息。
3. 启动脚本会挂载设备的根文件系统,并加载一些必要的内核模块和驱动程序,其中包括了用于访问设备分区的驱动程序。
4. 驱动程序会读取设备的分区表,并将每个分区映射到一个块设备文件中,通常是 `/dev/block/mmcblk0pX`。
5. 最后,内核会在 `/dev/block/platform/soc/.../by-name` 目录中创建一个符号链接,链接到每个分区的块设备文件,并将其命名为分区的名称。
总之,内核通过读取 `boot.img` 文件中的 `ramdisk` 镜像,并挂载根文件系统和加载必要的驱动程序来访问设备的分区表。然后,内核会根据分区表中的信息将每个分区映射到一个块设备文件中,并在 `/dev/block/platform/soc/.../by-name` 目录中创建一个符号链接。
相关问题
安卓13分区表是怎么被编译进内核的
Android 系统的分区表是通过设备树(Device Tree)来描述的,而设备树是在内核编译时生成的。
设备树是一种描述硬件设备信息的文本格式,它将硬件设备的信息以树形结构组织起来,并提供了一种标准化的方式来描述硬件设备的特性和连接关系。Android 系统的设备树包括了硬件设备的信息,例如处理器、内存、存储设备、传感器等。
在 Android 系统中,分区表是作为设备树的一部分来描述的。分区表定义了设备的各个分区,例如 boot、system、cache、userdata 等。分区表中包含了每个分区的起始位置、大小、文件系统类型等信息。
在内核编译时,设备树会被编译成二进制格式,并打包进内核镜像中。在设备启动时,内核会解析设备树,读取分区表的信息,并将其映射到 `/dev/block/by-name` 目录下的设备节点中。
需要注意的是,不同的设备使用的分区表可能不同,所以在修改分区表时需要根据具体的设备进行操作。另外,修改分区表可能会导致设备无法启动或数据丢失,建议谨慎处理。
android系统启动过程中的执行文件顺序是如何的
Android 系统启动过程中的执行文件顺序可以大致分为以下几个步骤:
1. Bootloader:开机自检完成后,Bootloader 会加载并运行 Linux 内核。
2. Linux 内核:启动后首先运行 init 进程,负责启动系统中的其他进程。
3. init 进程:读取 `/init.rc` 脚本文件并执行其中的命令,启动系统中的各种服务和应用进程。
4. Zygote 进程:是 Android 应用程序的孵化器,当用户启动一个应用程序时,Zygote 进程会 fork 出一个新的进程来运行该应用程序。
5. System Server 进程:启动后负责管理系统中的各种服务,如 Activity Manager、Window Manager、PackageManager、Telephony Service、Notification Manager 等。
6. 应用程序进程:当用户启动一个应用程序时,Zygote 进程会 fork 出一个新的进程来运行该应用程序。
总之,Android 系统启动过程中的执行文件顺序是从 Bootloader 到 Linux 内核,再到 init 进程,然后启动 Zygote 进程和 System Server 进程,最后再启动各种应用程序进程。
相关推荐
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)