@oro-oro
2016-01-13T08:17:38.000000Z
字数 2607
阅读 2530
Flash
partition
类似Linux,每台手机都会有自己的分区,不同的ROM的分区可能不一样,如果ROM的分区表跟手机上的分区不一样的话,肯定刷不进去的。所以,要刷CM的话,得确保其分区跟手机上的分区是否一致。
譬如,motorola moto XT1085国行 要刷CM12的话,那么就需要先刷国外的基带VICTARA_USC_XT1093_5.1_LPE23.32-21.3_cid9_CFC,因为国行跟国外的ROM的分区不一样,而CM则是基于国外的ROM做出来的。
fastboot flash partition gpt.bin 分区
logo
开机画面,fastboot flash logo logo.bin。
boot
system/core/mkbootimg/bootimg.h:
struct boot_img_hdr{unsigned char magic[BOOT_MAGIC_SIZE];unsigned kernel_size; // kernelunsigned kernel_addr;unsigned ramdisk_size; // ramdiskunsigned ramdisk_addr;unsigned second_size; // second stage loaderunsigned second_addr;unsigned tags_addr;unsigned page_size;unsigned unused[2];unsigned char name[BOOT_NAME_SIZE]unsigned char cmdline[BOOT_ARGS_SIZE]unsigned id[8]; //存放时间戳,校验和,SHA加密等内容}
/system/core/mkbootimg/mkbootimg.c:
int usage(void){fprintf(stderr,"usage: mkbootimg\n"" --kernel <filename>\n"" --ramdisk <filename>\n"" [ --second <2ndbootloader-filename> ]\n"" [ --cmdline <kernel-commandline> ]\n"" [ --board <boardname> ]\n"" [ --base <address> ]\n"" [ --pagesize <pagesize> ]\n"" -o|--output <filename>\n");return 1;}
boot.img 的结构主要包含了 kernel 和 ramdisk。
ramdisk 是一个最基础的小型文件系统,它包括了初始化系统所需要的全部核心文件,以下是一个典型的ramdisk中包含的文件列表:
将 boot.img 刷入 boot 分区的命令:
fastboot flash boot boot.img
recovery
要刷CM ROM,必须先刷CM的Recovery,再通过这个去更新boot.img和system.img。
fastboot flash recovery recovery.img
进 Recovery 的方法,不同的厂商的手机,可能会不一样,具体的话,需要上网查。
通常进Factory模式的方式都一样,【电源键】+【音量-】,如果里面有Recovery选项,则可以考虑从里面进入;否则,需要开机后,使用特定组合的按键才可以进入。
譬如:
XT1085,在Factory模式中,【音量-】移动,【音量+】确认。
【音量-】移动到Recovery,【音量+】确认,黑屏,看到一个倒地机器人。
按住【音量增大键】 再按【开关机键】一下,松开【开关机键】,最后才进入Recovery模式。
刷入新ROM的方法有2:
1、SDCARD
2、adb sideload
system
fastboot flash system system.img
系统更新主要是这个。
modem
fastboot flash modem NON-HLOS.bin
modem(网络)相关的东西,wifi、sim卡信号问题,都可能跟这个有关。
XT1085刷VICTARA_USC_XT1093_5.1_LPE23.32-21.3_cid9_CFC完整的刷机脚本如下:
fastboot getvar max-sparse-sizefastboot oem fb_mode_setfastboot flash partition gpt.binfastboot flash motoboot motoboot.imgfastboot flash logo logo.binfastboot flash boot boot.imgfastboot flash recovery recovery.imgfastboot flash system system.img_sparsechunk.0fastboot flash system system.img_sparsechunk.1fastboot flash system system.img_sparsechunk.2fastboot flash system system.img_sparsechunk.3fastboot flash system system.img_sparsechunk.4fastboot flash system system.img_sparsechunk.5fastboot flash system system.img_sparsechunk.6fastboot flash system system.img_sparsechunk.7fastboot flash system system.img_sparsechunk.8fastboot flash modem NON-HLOS.binfastboot erase modemst1fastboot erase modemst2fastboot flash fsg fsg.mbnfastboot erase customizefastboot erase clogofastboot oem fb_mode_clearfastboot -wfastboot reboot