介绍——修改recovery.img(刷机镜像)
介绍——修改recovery.img(刷机镜像)
Recovery镜像只⽤于刷机,通常的镜像⽂件名为:receovery.img,其实制作ROM并不⼀定要制作Recovery镜像。因为有很多现成好⽤的Recovery,例如,Clockworkmod Recovery就是其咋红的佼佼者。尽管有很多Recovery可以不同,不过有时由于特殊的需要或显⽰⾃⼰更加geek。想定制⾃⼰的Recovery。本节将详细介绍如何定制recovery.img,不过事先说明⼀点,定制recovery.img的⽅法只是在已经有recovery 镜像⽂件的前提下完成的。关于如何更深⼊定制recovery和修改recovery的源代码。
十大不能买的烂车在学习定制Recovery.img之前,先清楚recovery.img到底是个什么东西。从本质上说,recovery.img和boot.img⾼达90%是⼀样的。这就意味着,recovery.img也是Linux内核(zImage)和内存磁盘镜像(ramdisk.img)组成的。这两个镜像中的Linux内核是完全⼀样的,区别只是ramdisk.img中的少部分⽂件存在差异。其中最主要的差异是recovery.img和ramdisk.img中的sbin⽬录中多了⼀个recovery命令进⼊Recovery主界⾯,⽽不会正常启动Android系统。实现的原理是Recovery.img和boot.img在⾃⼰的分区各⾃有⼀个Linux内核(zImage),尽管Linux内核都⼀样,但Linux内核调⽤的init命令解析的及其相关⽂件的内容有⼀定的差异。⽽Bootloader根据⽤户的选择决定使⽤
boot.img中Linux内核,还是使⽤Recovery.img中的Linux内核启动系统。如果使⽤前者,Android系统就会正常启动,如果使⽤后者,就会进⼊Recovery选择菜单,所以recovery.img和boot.img的第⼆个差异就是其中的及其相关配置⽂件的内容略有不同。
从前⾯的描述还可以看出,recovery.img和boot.img其实都是⼀个最⼩的运⾏系统,也就是说他们都各⾃带⼀个满⾜最低要求的运⾏环境(ramdisk.img)。boot.img利⽤这个运⾏环境监理更⼤的运⾏环境(system.img) ,⽽recovery.img就直接使⽤了这个运⾏环境进⾏基本的操作(复制⽂件、删除⽂件、加压⽂件、mount等),这些操作也就是Recovery模式下刷机要进⾏的⼀些操作。
既然了解了recovery.img是什么东西,那么就可以解压recovery.img,并且重写⽣成recovery.img⽂件。
我不陪假设recovery.img⽂件在当前⽬录下,具体的解压和打包命令如下。
qq注册账号不要手机验证解压recovery.img
mkdir recovery
cd recovery
uppackbootimg -i ../recovery.img
执⾏下⾯的命令会在recovery⽬录下⽣成如下5个⽂件。
recovery.img-zImage
recovery.img-cmdline
recovery.img-pagesize
recovery.img-base
其中前两个分别为recovery.img中的Linux内核和内存磁盘镜像。可以使⽤下⾯的命令解压⽂件。
解压⽂件
mkdir ramdisk
cd ramdisk
gunzip -c ../ | cpio -i
现在回到上⼀层⽬录,最后按着4.2.4⼩节的⽅法重新⽣成内存镜像⽂件(这⾥为w),并使⽤下⾯的命令重新⽣成Recovery镜像(这⾥为w )。
九阳电磁炉故障代码重新⽣成Recovery镜像⽂件麦芽糖的做法
mkbootimg --kernel recovery.img-zImage --ramdisk w -o w 现在可以使⽤下⾯的命令重新刷Recovery(加上Android 处在正常启动状态),并进⼊Recovery模式。
刷Recovery镜像
adb reboot bootloader
fastboot flash recovery w
fastboot reboot
adb reboot recovery祝福母亲

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。