Gphone文件系统镜像的制作以及刷机原理

今天对Gphone文件系统镜像的制作做一个简单的记录。

 

 

一、镜像的制作

 

 

     前两天对镜像进行了解包和简单的分析。然后把解包后的文件又压缩成了镜像刷会了我的G1手机。在这里我简单记录一下如何压缩镜像。

     压缩镜像其实比解压简单得多。只要将ramdisk的文件夹和内核的zImage放在同一个文件夹下。然后将以下工具也放入同个文件夹:mkbootimg 、repack-bootimg.pl 。(此处的 mkbootimg并不适合HTC版本的 G2  boot.img的制作、如需创建HTC版本的 G2  boot.img则要修改mkbootimg的源码,具体的修改方法我会在日后放出 )

     之后就打开shell,进入这个文件夹,然后执行:

    ./repack-bootimg.pl zImage ramdisk boot.img

 

      很快的,最后在文件夹下产生的 boot.img就是boot.img镜像。其实repack-bootimg.pl在这行过程中会调用同目录下的mkbootimg。而repack-bootimg.pl的使用格式是

repack-bootimg.pl <kernel> <ramdisk-directory> <outfile>

 

       repack-bootimg.pl具体的原理你可以看看这个脚本的代码。recovery.img的镜像制作也是一样的。

 

 

 

二、简单的刷机

 


在有了镜像之后,就可以刷机了。具体方法如下:

 

   (1)先在G1上插入SD卡,然后把G1和电脑通过USB相连。下载SDK,解包后,通过shell在tools目录下运行:

sudo ./adb kill-server

sudo./adb push (你的boot.img镜像路径) /sdcard

          这样,你的boot.img镜像就在Gphone的SD卡中了

 

   (2)然后,执行:

sudo ./adb kill-server

sudo ./adb shell
* daemon not running. starting it now *
* daemon started successfully *

#cat /dev/zero > /dev/mtd/mtd2
write: No space left on device
#flash_image boot /sdcard/(你的boot.img镜像名称)

 

这样,你就将新的boot.img镜像刷进了Gphone!可以启动看看了。

recovery.img的镜像刷写有点不同,明天再来记录。

你可能感兴趣的:(shell,image,脚本,Flash,HTC,tools)