Fastboot具有以下方便的feature(如果启动自定义镜像失败,则设备将在下一次神奇地引导默认镜像,一切都会好起来的):



有人知道它的内部工作原理吗? 重新启动设备之前,内核是否已复制到特殊的引导分区? (更新:正如答案所指出的,没有重新启动,因为fastboot是启动过程中的一个步骤,这基本上使我的问题毫无意义。)我正在研究fastboot的源代码,但似乎它只包含发生的情况在主机端,而不是在设备上。

我的意思是,闪烁功能的工作原理非常简单,我可以通过将带有自定义内核的启动镜像复制到boot分区来模仿它,例如,通过:
dd if='<my_boot.img>' of='/dev/block/platform/msm_sdcc.1/by-name/boot'
顺便说一句:我要问的是因为我正在开发一个应用程序。我想直接从设备“无风险”启动自定义内核,并将其存储在该设备中。在SD卡上。

最佳答案



不,不会对任何分区进行修改。
引导内核意味着从存储设备加载(即读入内存)内核镜像。此快速启动类似于网络启动,例如内核镜像是使用TFTP通过以太网链接从服务器/主机加载的。如果唯一的目的是使用内核镜像引导系统,则根本没有理由将内核镜像也写入分区,尤其是在未明确指定分区的情况下。

该操作的可选根文件系统明确指定为ramdisk镜像,该镜像也不需要写入分区或存储在分区中。



快速启动程序是备用启动加载程序,在重新启动设备后执行。
内核通过USB从主机加载到内存中。也可以通过USB将可选的rootfs(虚拟磁盘或initramfs镜像)从主机加载到内存中。加载后,即可开始普通的内核引导。



您可能需要使用其他快速引导加载程序/方法,而不是此快速引导。

关于android - "fastboot boot <kernel>"在内部如何工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34667656/

10-10 15:00