Android 瑞芯微方案2818教程_第1页
Android 瑞芯微方案2818教程_第2页
Android 瑞芯微方案2818教程_第3页
Android 瑞芯微方案2818教程_第4页
Android 瑞芯微方案2818教程_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、原来一直在安卓网混,近期才转战imp3,平板还是人气高些。所以将抽空写的东东贴到这边来。希望大家能捧个场。前言:本文为locke原创文章,请尊重作者的劳动成果,转载请注明出处:;本文所涉及到的资源及工具均来源于网络,有需要的请自行Google。欢迎转发本文,转发时请保留本文的完整性并注明出处。谢谢!在这之前,还是要说一下那句话:DIY有风险,刷机需谨慎!建议最好在有机子官方固件的前提下再做DIY操作,以防变成砖头后还能用官方固件刷回去。刷机前请拔出TF卡并备份机子上所有自己有用的资料再刷机。目录:前言.篇前随语.一、无官方固件的系统文件提取、解包.二、有官方固件的系统文件解包.2-1Updat

2、e.img解包 .2-2System.img解密 .2-3system.img解包 .2-4Windows下的解包 .2-5打包 .2-6boot的解包、打包 .三、固件升级.篇前随语:   距离写第一篇2818的教程有一段时间了,在那之前几乎没有任何资料可找到或者说可供参考,所以写的东东都是灰常简单的。没想到短短的时间,各路高手都出招了,技术各有不同,玩法各有不同,能改动的不能改动的几乎都有人在研究,好不热闹。有不少网友让我多写一些这方面的教程,如果时间允许,我也想啊,但是,一来呢,本人时间有限,工作中杂事比较多,业余时间也比较少,再者也只是对有兴趣的东东才会有动力多下些

3、功夫去研究,还有就是,本人能力有也限,有些东东掌握的不全面,在一些高手前面就一菜鸟,所以不是比较有把握的都不敢放到上面来,以免误导别人。下面介绍的内容以及方法不一定适合所有的RK281x机型,不同的机型一些资源不一定会相同。这里只是提供一个修改思路,仅供参考。本文涉及到的一些东东有些来源于网络,有些是参考网友的方法,有些甚至直接“拿来”用的,在此,先感谢lajidong提供的一些资源和方法,让我受益不少,再者也感谢一下我不知道名字却在此借用了他们技术的网友。关于固件的修改,有些机子能找到相应的官方源文件,有些纯山寨机子,整个三无的产品,所以在这里,对这两种作简单介绍:一是无官方固件的情况下进行

4、文件提取;二是有官方固件的情况下进行解包、打包。一、无官方固件的系统文件提取、解包在无官方固件情况下,能得到固件方法也有很多种,比如直接从机子里拷贝出来、用本机终端、用adb等等。这里简单的介绍两种方法进行固件提取:一是可以用之前那篇教程的方法,用91助手将文件提取出来然后直接进行修改。二是通过本机安装终端,用终端来备份固件,不过前提是需要Root。 用91助手提取文件的方法就不介绍了,在之前那篇文章里有作介绍,这里着重介绍用终端来备份出系统文件。需准备的工具:Universal Androot.apk、ConnectBot_1.7.1_1.71gfy.apk、Superuser.apk先将三

5、个APK都安装上,然后运行Universal Androot,把Root temporary(Unroot after reboot前的勾选上,点击“Root:-”,完毕后退出,然后运行ConnectBot,在界面中点击左下角的SSH按钮,选择local,然后随便输入一个名字,出现的界面出现一个“$”和虚拟键盘,在界面中输入:cat /proc/mtd出现如下信息:        $ cat /proc/mtddev:    size   erasesize  namemtd

6、0: 00002000 00000010 "misc"mtd1: 00004000 00000010 "kernel"mtd2: 00002000 00000010 "boot"mtd3: 00004000 00000010 "recovery"mtd4: 00040000 00000010 "system"mtd5: 0003a000 00000010 "backup"mtd6: 0003a000 00000010 "cache"mtd7: 000800

7、00 00000010 "userdata"mtd8: 00178000 00000010 "user"mtd9: 00020000 00000010 "pagecache"mtd10: 00020000 00000010 "swap"列出了整机的分区信息,dev为分区设备号,显示共有11个分区,size为分区大小,name为分区名称。找到我们需要的分区的相息,比如我们此时需备份system的信息,那system的信息:mtd4: 00040000 00000010 "system",即,第五个

8、分区,大小为40000(16进制,换算成十进制=262144)。输入su切换到root下,此时提示是否取得root权限,选择“允许”,再输入dd if=/dev/block/mtdblock4 of=/flash/system.img count=262144,因备份的文件比较大,要等一会后才提示备份完成,即可在用户盘中将备份的文件拷到电脑上进行修改了。输入exit退出root,再次输入exit退出程序。        $ su        # dd if=/dev/blo

9、ck/mtdblock4 of=/flash/system.img count=262144        # exit        $ exit这样就将system的分区备份出来了,也可按上面的办法将boot分区备份出来,以备用。 在这里不做过多的介绍了,有需要的同鞋可以参考附档中的一篇关于“rk固件提取”的文章,因为是在网上找到的,所以原作者是哪个就不清楚了,在这里借用一下他的资源,希望他不要介意咯。二、有官方固件的系统文件解包2-1Update.img解包将updat

10、e.img放入“解包、打包工具”文件夹内然后在命令行模式输入:AFPTool.exe -unpack update.img Temp上述命令表示用AFPTool.exe将update.img解压至Temp文件夹下。2-2System.img解密将TempImage内的system.img拷到“解包、打包工具”文件夹下,然后输入:rkDecrypt system.img即可将system.img文件解密,不解密的情况下是不能对system.img进行解包的。 (或将system.img直接拖至rkDecrypt.exe上也可直接解包。解密之后才是标准的cramfs格式,才能用相应工具解包。2-3

11、system.img解包解密后的system.img现在可以用cramfsck进行解包了,在Linux下对工具包内的system.img进行解包:mkdir systemsudo mount -t cramfs -o loop system.img  systemtar cvzf system.tgz systemsudo umount systemrm -r systemtar xzvf system.tgz当然,也可用cramfsck来直接解包(cramfsck -x system system.img,但我以前在2808上测试时经常出现莫名的问题,所以后来已放弃这种解

12、包方式了。2-4Windows下的解包当然,现在也可以在Windows下也有工具可进行解包了,不过须在NTFS格式下才可以,且必须保证源文件是正确的,因为在WIN下的工具是不对system.img进行CRC校验的。通过上面的2-2的步骤将之解包后,在命令行中输入:pfn -p1 system.imgcramfsck_nocrc -x  system system.img 即可在WIN下将system.img解包到“解包、打包工具”的“system”文件夹下了。以上介绍了固件的解包工作的步骤,比较繁锁。在Win下我们可用批处理一键搞定所有操作:AFPTool.exe -unp

13、ack update.img Tempcopy TempImagesystem.img . rkDecrypt system.imgpfn -p1 system.imgrmdir /s /q system 2>nulcramfsck_nocrc -x system system.img以上那些内容为对文件的提取、解包工作。剩下的工作就是对system文件进行编辑,例如,精减固件、美化等,可按“瑞芯微RK2808_安卓(android系统固件包修改基础教程”中的方法进行修改即可。   2-5打包    玩过2808的人就知道,打包成cramfs格式的

14、img文件是非常简单的。所以,将system文件夹修改好了后,在 Linux系统下将之打包即可。代码:mkcramfs system system_Nwe.img为了便于区分,新生成的img为system_Nwe.img,将修改好的img改名为system.img后放入TempImage文件夹下,然后在命令行模式输入:AFPTool.exe -pack Temp update_new.img这样就将修改好的文件重新打包成升级包了。同样,在Win下也可以进行打包,在命令行模式输入:mkcramfs -q system system_new.imgcopy system_new.img .Temp

15、Imagesystem.imgpfn -p2 TempImagesystem.imgAFPTool.exe -pack Temp update_new.img2818的解包、打包的方法和2808完全一样,唯一不同的就是,2818的system.img进行了加密,需要解密后才能继续操作。对于不太懂的同鞋可看一下“瑞芯微RK2808_安卓(android系统固件包修改基础教程”,在这里只是增加了Windows下的相关操作,所以写的就比较简单了。上面的解包、打包着重在于介绍其操作方法,只是提供一种解决思路,有需要的同学可以跟据我提供的“一键操作.bat”、“system、boot解包打包.bat”进

16、行增、删,以便更适合自己使用。重要说明:在Windows下对system.img进行解包、打包还是存在很大的不稳定性,比如改好后发现程序崩溃、3G dingle不能开打等莫名的问题,很有可能就是在解、打包过程中造成的。所以,在此强烈建议对system.img的操作还是在Linux下进行,以减少出错的可能性。也许是我RP不咋滴,唉。 2-6boot的解包、打包Boot能修改的地方现在也越来越多了,故在此也放上其解包、打包的方法。 Boot.img也是cramfs格式,所以用2-3的方法就可以正常解包,这里就不作介绍了,请参考2-3   Win下的解包,在命令行模式:rmdir

17、 /s /q boot 2>nulcramfsck_nocrc -x  boot TempImageboot.img修改完boot后,打包稍麻烦些,要多增加一个步骤,要先将之打包成普通cramfs后再增加RK专门的CRC校验值,这样才能正常引导系统。   CRC的校验可以在Win下操作,在命令行模式:mkcramfs -q boot boot.tmprkcrc boot.tmp TempImageboot.imgdel /f /q boot.tmp三、固件升级固件升级,有三种方法:量产升级、用户升级和开发工具升级,前两种升级是将所有相关的文件打包成

18、update.img后用工具升级。后面一种,可单独升级某一个文件,对于没有官方固件的情况下提取出来的文件,因为缺少相关的文件,所以没办法打包成update.img,用量产工具和用户工具就没办法对其升级了。所以只能使用开发工具来升级。开发工具升级的好处就是,不用将全部文件都重新升一次,只需将其中修改过的文件重新升级即可,其它文件无需再将升级,比如,修改了boot.img后只升级它即可,修改了system.img后单独升级system.img即可。因为不用升级所有文件,对于修改后的固件测试,可大大的减少等待的时间。以下对其进行简单的补充,1用开发工具单独升级某个文件后有时也会出现莫名的问题,比如测试时好的,重新开机后或者还原出厂设置

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论