initrd.img上的Android初始化中包含什么?



我用cat initrd.img | gunzip | cpio -vid解包了initrd.img,然后有一个名为init的可执行文件,我认为这是内核运行的第一件事。然而,它有什么作用?有没有一个例子,我可以在谷歌AOSP源代码上查找,这样我就有了一个想法?这个可能是小米修改的

以下是对android启动和init 的简要解释

  • 在android引导程序上,引导加载程序定位并加载linux内核linux内核从内核空间使用内核中的initramfs功能
  • ramdisk本质上是一个包含所有内容的磁盘映像与设备的根文件系统关联,本质上是/'目录。initramfs将ramdisk装入内存(a临时文件系统(
  • 稍后,initramfs查看内存并加载并执行init二进制文件。ramdisk.img有C文件,用于配置确实如此
  • Init是在用户空间中执行的第一个进程负责提升核心用户空间功能正在运行
  • initrc文件,负责配置实际上有一组指令和运行在某些事件触发器(如init、fs和boot(
  • init保持运行并监视系统中的某些更改属性(触发器(。与这些相关的说明触发器在属性发生变化时执行。(如USB调试开/关(
  • 此外,init执行称为服务的本机进程,这些进程本质上是守护进程,如installd、logd、ueventd等。init还重新启动可能退出/终止的服务。守护进程相互通信和使用本地设备的能力有限从中读取和写入数据的套接字

要进一步阅读,您可以参考此处和此youtube视频

最新更新