分区android恢复出厂设置以及系统升级流程

三星手机恢复出厂设置密码  时间:2021-01-23  阅读:()

anroid恢复出厂设置以及系统升级流程

ndo  恢复出厂设臵以及系统升级流程 1 -12-0 1 :14

654人阅读

评论  

收藏

举报adr  dcache  readul uisstem

复制代码

====================恢复出厂设臵流程概括

一 设臵模块中进行恢复出厂设臵操作系统一共做了两件事:   往cace/ ecov  /cmand文件中写入命令字段:2。 重启系统二 重启系统会必须进入 rovery模式进入 recove y模式的几种方式1. 通过读取/cache分区中文件ache/reove y/cmad内容进入.通过按键操作进入 (G1通过同时按HOE和

挂断键 以上两种方式进入都需要 lob的支持三. 所以恢复出厂设臵进入recovery模式必须做以下几件事情

1.b lb必须能从 r eo vry分区中装载内核和文件系统

2。 f a 必须有cch 分区和reovery分区 必须编译提供re covery。 mg烧录到 eo ry分区reover  i解析  理解recovery.img在制作 ecovery 镜像之前,我们必须理解什么是recovery以及它有哪些内容,这里省略文章: t;&l   recover 。 ig与 o  g简单对比分析gt;gt 对rcvry做了很好的解释,地址:  制作 ecovery。im因为在文件 。/vnor/mare  ll  ttletn/BoarCnig。mk 中有:TARGTN O_KERNEL : tre导致我们目前在编译cucak 的时候,默认没有生成  eoe y mg要生成recovry.ig必须屏蔽 TARET_N_KERE : true创建目录: ve no /m  el  /li  tl on/recoer/res拷贝编译好的内核到目录 vendo  /marve l/l  ttle  n t ven do marvelllitt  eton/kerne如果不创建res目录和拷贝内核将会出现以下错误 oprivate  ecvery resources for TARGE_DECE  ttl oae   没有规则可以创建

“out/target/pro c  /li   lton/krel"需要的目标

“vndr/marve  l/lit  leton/kernel”命令:make r

coverimae 单独生成 eovr。 imgu /ho t/liux-86/bink otimg ——kern  o ut gt/product/littleton/ere  \——rmdi    ttarget/prodct/li  tle on/rmd skrecoery. g\\-- tput out/ a  et/prodct/  ittletn/recoe y.img恢复出厂设臵内核相关部分2  年12月2 日fals 分区情况0x0000000-   1 00   \"Boo lo  r\" -—1 M0x0100 0-0x00000 : \ Ke nl”

-4M 0x 0000x05000-0x06 000 : \ sy tem” —9M 0x6000000x0650000—x09500000  ” use  at\”-48M 0x300000 0x950000-00f500000  \” sytmack \” --9 x0f500 00fd00000  \ masss    ge\”

——M 0xfd000 -00ff00000  \"ssstor  2\  ——2M

0x0ff0000—x1 00000  \"ms   torae3\”—- M 在目前的内核中我们还没有使用cach分区和rc e ry 分区所以修改内核配臵文件 ar c hrm/acx/include/ach/par _tab  e。 h把以下分区 00900000xf50000  ” s y s te mb a c kup\"

-6M 0x0  00 0—0x0fd0000  \"mssstorage\

50000—0x 500 0  \” cache"

-—96 0 f50000 0f 000 :\  recover” -8 让nroi系统能正常挂载和使用 a e reco r分区。烧写编译好的rc ove ry ig到 reovry分区;烧写地址已经更新具体参考文件 ====================烧写cce 分区nanerase-z 0 9500000x6000000t—y x808000000x0500   & t cc . m actua  legthgt;烧写recovery 分区naderas  0xf0000 0

80000 - 0x8800000 0xf5000 lt;rc ery。 mg actual lengthg  =============恢复模式流程分析完成了以上准备工作当我们按特定的组合键或者恢复出厂设臵那么就会进入 recover 模式从recoe ry模式的ini   rc 文件可以看出,它仅仅启动了几个服务service  ecvery/sbinrecover  rice adbd/sin/dbd reco ry以下是r   ery 流程分析,主函数在文件 bootable/ ecve yrecove y. intai(int arg  har *rg 。 .  ui_ini  )  //初始化i 

 _args(am  a gc,&arv)   . .void i_ini (void { gr_init( ; ev_init   。   pthreadc eate&t NULL pogrss_thrad,NUL pthead_create(&am;t, NL, inpthrea NUL)  }  ecov y模式有简单的交互式界面它是通过i_init( ,v_ii  (等一些列操作完成字符i界面和按键事件等初始化。 inpu_ rad线程里面处理按键事件。函数 gt_rgs会读取/cace/recoe y/ and 文件,并根据命令字段进行相应操作,因为进行恢复出厂设臵的时候 /c he/rcover/command的内容为-wip-data所以它会擦除dat和cce分区 era eroot \ AT:\")eraserot ” CACHE \” 分区擦除后,系统重启然后进入正常开机流程重新使用 s  tem分区的内容完成开机初始化,此过程跟我们第一次烧写软件过程一致.如果是按hme键和挂机键开机,那么进入字符选择界面函数为 s  tic  iprompt_and_wait )  c r*haders= reed_ itle MNUDR   r ( ;{ inishrecove y(NULL); ui_re  et_rgress(  in chos  te =get_m u elec  ion  adrs,ENU_TMS,0 ;/ device—seific cod my t e some ct  o

    e. Itay //return one o  the oreactins hand ed   te s  h //s atement below. chose  m_action(chosenitem); sitch(hsen_ tem  case ITM_EBOO

//系统重启 et   case ITE_W EDATA 擦除数据分区b e  cse IEM_PE_CCH: //擦除 cace分区 b eak;ase ITE_PLY_SDCR /通过防止pat. p包到 s dcard根目录实现系统升级

rea} } ================

一、应用层流程分析

设臵模块中恢复出厂设臵不管是否删除SD卡最终都会执行如下两步

1、 往/ca   /recov y/command文件中写入命令字段

2、 重启系统进入e c overy模式

具体可参考frewor/ase/cor /j ava/an oi/oeove   ystem。 j ava文件代码片段如下

在rebootipeUserta方法中方法,并传入参数—ip_dat命令字段,重启进入recover模式后,rc overy服务会通过读取此参数来擦除dt和ace分区详细流程见下文.

二、恢复模式流程分析

重启后从recvry模式的init。 r c文件中可以看到启动eo  y服务,具体可参考    a  e/ ecove  e   /  it.rc文件代码片段如下:rcovery服务的主函数在boo abl /rcoe y/rec e ry.c文件中 m ai n函数的分析如下ui_ini   

说明初始化u  rc overy模式的交互界面

et_a g &amp  gc amp argv 

说明读取/cace/ eovery/ommad文件并根据命令字段进行相应操作因为恢复出厂设臵的时候/cce/recve y/command的内—wip_dat 所以它会擦除dat和cahe分区代码片段如下

分区擦除后系统重启然后进正常开机流程重新使用system分区的内容完成开机初始化代码片段如下:

至此恢复出厂设臵流程完毕。 ====================

[开发经验 recovery.ig与oot。 img简单对比分析recovery,boot

今天对比分析了一下r overy.im g和bo .i的结构,从中粗略知道了Adri手机中的恢复模式是怎么回事.以下是文件结构的对比图从中我们知道

(  )recove y. m其实已经是进入了Linux系统。 ()rcovery.ig为了具有恢复系统的能力,比普通的boo  img目录结构中

1、多了rs/imaes目录在这个目录下的图片都是恢复时我们看到的背景画面。

2、多了s bine vry二进制程序,这个就是恢复用的程序。

 、 /s bn/db不一样应该和恢复有关。 3)A  oid系统中的初始化程序init和初始化配臵文件e  ult p  、 init.  rout rc、 nit rc、 init gldfis.r 、 都不一样。这就是系统没有进入图形界面而进入了类似文本界面并可以通过简单的组合

键进行恢复的原因。通过查阅相关资料,对an drid的reovery模式有了一定的了解:An  id可以通过ecoery模式,实现恢复出厂设臵、 OA升级、 pa h升级及irmre升级。在关机后 同时按下home

+ powe 键可以进入rcoery模式。

大部分升级包括刷机都可以通过一个SD卡中的up datazip"文件升级包进行傻瓜式升级步骤简单的升级 。而这一过程就是在系统进入e v e ry模式后通过升级程序运行升级包中“META-INF/cm/o o g e/an dri dup da e—s c rip t脚本来执行各种不同的自定义升级脚本中是一组re c ery模式下系统能识别的U控制命令和文件

Sharktech:鲨鱼机房1Gbps无限流量美国服务器;丹佛$49/月起,洛杉矶$59/月起

sharktech怎么样?sharktech鲨鱼机房(Sharktech)我们也叫它SK机房,是一家成立于2003年的老牌国外主机商,提供的产品包括独立服务器租用、VPS主机等,自营机房在美国洛杉矶、丹佛、芝加哥和荷兰阿姆斯特丹等,主打高防产品,独立服务器免费提供60Gbps/48Mpps攻击防御。机房提供1-10Gbps带宽不限流量服务器,最低丹佛/荷兰机房每月49美元起,洛杉矶机房最低59美元...

PIGYUN:美国联通CUVIPCUVIP限时cuvip、AS9929、GIA/韩国CN2机房限时六折

pigyun怎么样?PIGYunData成立于2019年,2021是PIGYun为用户提供稳定服务的第三年,目前商家提供香港CN2线路、韩国cn2线路、美西CUVIP-9929、GIA等线路优质VPS,基于KVM虚拟架构,商家采用魔方云平台,所有的配置都可以弹性选择,目前商家推出了七月优惠,韩国和美国所有线路都有相应的促销,六折至八折,性价比不错。点击进入:PIGYun官方网站地址PIGYUN优惠...

hostodo:美国大流量VPS,低至$3,8T流量/月-1.5G内存/1核/25gNVMe/拉斯维加斯+迈阿密

hostodo从2014年年底运作至今一直都是走低价促销侧率运作VPS,在市场上一直都是那种不温不火的品牌知名度,好在坚持了7年都还运作得好好的,站长觉得hostodo还是值得大家在买VPS的时候作为一个候选考虑项的。当前,hostodo有拉斯维加斯和迈阿密两个数据中心的VPS在促销,专门列出了2款VPS给8T流量/月,基于KVM虚拟+NVMe整列,年付送DirectAdmin授权(发ticket...

三星手机恢复出厂设置密码为你推荐
视频剪辑软件哪个好常见好用的视频剪辑软件都有哪些?迈腾和帕萨特哪个好新迈腾和新帕萨特哪个更好一点·哪个更实用一点 ···明白人给解释一下·朗逸和速腾哪个好朗逸跟速腾的最大区别在哪朗逸跟速腾买那个好核芯显卡与独立显卡哪个好核心显卡和独立显卡哪个好看书软件哪个好推荐几个好用的手机看书软件辽宁联通营业厅辽宁移动网上营业厅进入办法东莞电信网上营业厅东莞电信网上营业厅是不是有个宽带团购活动?网通dns服务器地址湖北省鄂州市葛店镇DNS服务器IP地址是多少dns服务器什么意思DNS服务器是什么意思啊?是指路由器吗?360云盘登陆首页怎样进入360的网络硬盘
万网域名查询 香港ufo 腾讯云盘 秒解服务器 国外idc 美元争夺战 流媒体服务器 idc评测网 国外bt 中国特价网 警告本网站美国保护 爱奇艺vip免费领取 国外ip加速器 360云服务 华为云建站 沈阳idc nano 国外bt下载网站 web服务器搭建软件 dell服务器论坛 更多