Android启动过程深入解析

Android启动过程深入解析,第1张

用NFS作为rootfs来启动内核在开发中的必备的,用nfs启动android,也就免去频繁的对nand烧写 *** 作。网上有很多文章,可惜都是互相copy,参考性不强。下面来说明如何用NFS来启动android,具体的 *** 竖搜作就不细说了。通常的嵌入式linux使用NFS启动,需要启动NFS的文件系统和相关网络支持,这是第一步,至少内核在最后阶段能mount到FS,而mount之前网络协议也必须是支持的。

内核启用NFS文件系统支持,网络里面支持IP_PNP下御仿的BOOTP,DHCP,RARP

android内核在最后阶段,是执行RAMDISK中的init进程来remount分余拆历区,system和data也是在这个时候才挂载上的。使用NFS启动时,要关闭内核中的ramdisk功能。这样,内核启动后,mount到NFS的目录,然后直接执行NFS目录下的init进程

准备android的文件系统。编译aosp代码,最终生成system, data, root目录,分别copy到NFS目录下,配置NFS允许网络访问该目录。在nfsroot目录下,需要修改init.rc文件。里面会对system重新挂载,可以注释掉该内容,修改如下:

#on fs

# mount mtd partitions

# Mount /system rw first to give the filesystem a chance to save a checkpoint

#mount yaffs2 mtd@system /system

#mount yaffs2 mtd@system /system ro remount

#mount yaffs2 mtd@userdata /data nosuid nodev

#mount yaffs2 mtd@cache /cache nosuid nodev

on post-fs

# once everything is setup, no need to modify /

mount rootfs rootfs / rw remount

这里,关闭也on fs的action *** 作,记得把on fs也注释掉

什么是fastboot?

Android

定义的一种简单的

刷机

协议,各类手机厂商不会直接开放在此模式下刷机

但此模式下,一般可以对recovery、内核等分区进行刷写,部分机型Fastboot模式是隐藏的

我们常见的汪弊厅有三星Odin、摩托Rsd等等,其工作原理大致都是在类Fastboot状态(比如Download模式、Rsd模式)下刷机

直接开放Fastboot协议刷机的有小米、google

nexus等等,可直接使用命令,如fastboot

flash

system

system.img。

比如目前华为的机器,很多都是安全线刷,其实就是在fastboot模式下使用命令来刷机的。

Fastboot模式进入方法:

不同机型进入fastboot模式的方法不同,详情请参考对应机型的教程

此处只以HTC以及三星一般方法为例

HTC手机

安卓手机

怎么进入fastboot模式

同时按住

音量键下+电源键,进入hboot模式,再选择fastboot,(即再按一次电源键)。即可进入fastboot模式,如下图

三星手机

安卓手机怎么进入fastboot模式

同时按住

音量键下+

HOME键

+电源键,即可进入(部分机型需要再按一次音量键上)

小米手机

安卓手机怎么进入fastboot模式

电源键+音量下+

米键

索尼手机:

安卓手机怎么进入fastboot模式

按住音量上键,用USB线连接电脑,待LED变为蓝色后,松开手,即可进入Fastboot模式

华为手机

安卓手机怎么进入fastboot模式

按住“音量减键”不放开

按住红色“挂断键”不放开(请一直不要放开按住的“音量减键”)

按住“电源键”不放开(请一直不要放开按住的“音量减键”与红色“挂断键”)

持续按住大约五秒钟(三键同时按住)

手机显示停顿在华为Logo画面(手机主界面并没有继续启动,即一直停顿在华为Logo开机画面),即表示手机进入Fastboot模式

nexus手机

安卓手机怎么进入fastboot模式

1、下载并安装

AndroidSDK

,其实也就是安装

Nexus5

的驱动程序,如果电脑上已经安装有驱动程序的话,这一步就可以略过了

2、下载Fastboot引导程序(存储在任意

磁盘根目录

下,方便下面 *** 作调用)

3、将下载的文件

解压缩

,这时候你就可以看到一个名为Fastboot的文件夹

4、将Nexus5关机,关机之后再同时按住减音量和电源键,直到屏幕上出现绿色的“Start”字样为止

5、此时使用数据线将Nexus5连接到电脑,等待Windows自动安装驱动

6、以管理员权限运行Command程序(命令提示符)。PC端 *** 作:开始-运行-CMD-确定,在打开的窗口键入“cdX:\Fastboot”(注意不含

引号

与括弧,cd后面有空格,X为之前下载Fastboot引导程序的磁盘名称,存储在D盘就敲D,建议存储在

C盘

根目录下)然后回车继续键入“fastbootdevice”(注意不含引号与括弧,fastboot与device之间有空格)然后回车

7、键入Fastbootoemunlock命令,然后回车,此时手机会出现解锁选择画卜配面,选择【Yes】,确认之后就解锁成功了。

Fastboot模式的退出方法:

一般的情况下,在fastboot模式中选择Power

down(关机),即可退出该模式

无法退出的,请拔除电池,强行退出。内置电池的,可以尝试按住电源键强制退出

卡困隐在Fastboot的解决方法:

1.如果卡在fastboot模式下,可以尝试拔插电池,重启手机。内置电池的,可以尝试按住电源键

10s

,强制重启

2.如果拔除电池依然卡在fastboot模式下,请重新刷官方

底包

以上就是安卓手机进入fastboot模式的方法,刷机需要耐心与细心不可超之过急,以免带来不必要的麻烦。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12385460.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存