打印

如何定制G900/X01T的个性ROM

本主题由 tsinghe 于 2008-4-9 15:48 置顶

如何定制G900/X01T的个性ROM

仅在PDACLAN发文,转载请注明出处!
        想写这样一个教程很久了,原因是很多的。主要是觉得自己做rom太苦、太累,而众口又很难调,辛辛苦苦做出来的东西并不一定是别人想要的,没啥意思。所以还是教会大家怎么做好了。

       我去年12月G900到手,然后就开始折腾,到现在都rom移植算是刚入门。这个过程是痛苦的,当然也算是有点快乐的。不过这些早在我买G900以前就做好了思想准备,我就是要买他来折腾的......不过对于很多有和我一样想法的人,我想大家并不需要像我这样这么久的折腾才能入门。技术是应该共享的,因为技术是不断进步的,你知道的+我知道的=你我都不知道的。很多过内的高手对技术放开讳莫如深,生怕别人抢了自己的饭碗。何必呢,呵呵。

      言规正传:要定制g900的rom,请下载一下的东西。
      1. Super RUU:本来是有点机密的东西。不过有人做好事修改了,那就应该是合法的了(来自xbeta,详见http://bbs.xbeta.cn/thread-10296-1-1.html)。
      2. Rom kitchen: 用来定制你的个性rom,支持模版。最大的好处是一旦模版建立起来并可以运行,以后的系统升级都很容易。
      3. xip工具包:包括xipport, msflashtool, srpx tool等。
      4. 原始模版。这个大家可以用我的19202做原始模版。请见我的另外一个帖子:http://www.pdaclan.com/thread-9047-1-1.html

[ 本帖最后由 tsinghe 于 2008-4-3 15:03 编辑 ]
附件: 您所在的用户组无法下载或查看附件
本帖最近评分记录
  • star3000 智慧 +20 给渔了,呵呵。希望更多的XD加入到G900的rom ... 2008-4-3 13:02
  • star3000 部落币 +60 给渔了,呵呵。希望更多的XD加入到G900的rom ... 2008-4-3 13:02
  • star3000 +96 给渔了,呵呵。希望更多的XD加入到G900的rom ... 2008-4-3 13:02
  • 高飞 智慧 +10 授人以渔的典范! 2008-4-3 11:22
  • 高飞 部落币 +30 授人以渔的典范! 2008-4-3 11:22
  • 高飞 +60 授人以渔的典范! 2008-4-3 11:22

TOP

如何的解开模版

下载好我的模版后,可以这样来解开:
将下载好的文件改名为nk.nba,然后请romeditor4来代劳,呵呵。可以自己动手写bat,不过,我比较懒。

长期使用你会发现romeditor还是很有好处的,有几个傻瓜化的功能可圈可点:
1.解开nbf
2.dumpnba
3.合成nba
4.合成nbf
5.default.rgu<-->default.hv   user.rgu<-->user.hv

所以推荐用这个,至少不用自己来写那么多bat,呵呵。

解开后,你会看多了多了一个DUMP的文加夹。打开看看,里面有单独的文件,也有文件夹(模块)。还是比较乱的,可以运行PKG.bat来对他进行分类

[ 本帖最后由 tsinghe 于 2008-4-3 12:34 编辑 ]
附件: 您所在的用户组无法下载或查看附件

TOP

如何重新生成nb

要建立kitchen,请先解压,然后在根目录下建立这样的目录结构:
\rom\xip
\sys
\oem
其中sys和oem来自于上一步,直接copy过来就可以。在\rom\xip下一定要有boot.rgu,否则buildos不会运行。boot.rgu可以从手机中copy出来。也可以从xip中取出来。

sys顾名思义,是系统目录。因此可不随意删减,但有些还是可以精简的,如铃声、图片、update、welcome、remotedesktop等。

oem中OEMDrivers、OEMDriversHigh不要动,除非你有把握,这是手机的驱动。OEMMISC多是系统内置的一些程序,可酌情删减。OEM_Lang_0804理论上是系统的语言支持包,里面有很多.mui文件,可以对他们修改以达到汉化的目的。

其他的目录基本都是独立的一个个软件,喜欢的留着,不喜欢的整个目录删除就是。

如果某个目录内的文件增加了或减少了,最好重建议下dsm,很简单,将整个目录拖到builddsm上就可以了。

这样修改完了后,就运行buildos,在里面还可以对你的oem中的各个可选模块进行取舍。不要的不打对号,和从oem直接删除效果是一样的。

buildos运行结束后,会多出一个目录temp, 里面有一个dump,和用romeditor4解开的看起来差不多,但这个是经过你重新修改后的。

接下来的步骤可能会被人说麻烦,但是我自己是这样做的。我用bat将生成的这个目录移到romeditor4下面,替换原来解开的dump,然后直接运行romeditor4,点击“合成”,这个过程要确保nk.nba在romedor4根目下。不然会出错。

这个时候电脑屏幕会很快的翻屏,是不是有点《黑客帝国》的感觉?

如果提示BuildImgfs应用程序出错的话,可能是你塞了太多的东西了,请删减一些。

最后生成的nk.nba,看起来和原来的没有区别,甚至修改时间也没变,没关系,只要不出错就是对的。

[ 本帖最后由 tsinghe 于 2008-4-3 13:34 编辑 ]
附件: 您所在的用户组无法下载或查看附件

TOP

如何移植xip

这个应该是大家最头疼的,很多人都不敢说自己真的会,我更加是这样。之所以还是要斗胆写一下,一方面应召Star老大的说法,全面一点,一方面也是感谢曾将帮过我的N多技术狂人,star,小桥老师、秋天、T2、freepk,我献一下丑,希望能把他们的“玉"引出来,哈哈。

      首先需要将xip dump出来。g900的xip是这样提取的,现解压xip工具包,然后将nk.nba复制到该目录并改名为part2.nb0.payload,然后点击fenjie.cmd就可了,你会看到生成了两个文件,一个是part2.nb0.payload.part1,另一个是part2.nb0.payload.part1.xip,后者才是我们要的真正的xip,前者是什么么?是经过压缩的xip,真正存在flash.dio中的xip。

     将part2.nb0.payload.part1.xip重命名为xip.bin,运行xipport,依次点击dump xip--〉build maps--〉make package,你会发现多了一个out的目录,打开看看里面有files、modules文件夹还有map.txt、MAP.physical.txt等文件。将map.txt、romhdr.txt备份一下,以备以后需要。

     移植的本质就是替换文件。替换什么文件呢?你需要一个要移植的目标新版本,同样的方法解开它,建议使用Beyond Compare来对这两个揭开的目录进行对比,这个工具可以对文件夹和文件进行比较、移动,非常好用。将所有非oem开头的文件夹替换成目标新版本的,就完成了替换操作了。

     接下来是移植的重点和难点了。点击undo,将files和modules下的子目录去掉,然后点击reloc和build map。如果你运气不错的话,这两步应该没出什么错,那就用Beyond Compare同时打开新的map .txt和旧的map.txt来看看。先看看新的maps中有没有!!!!!!!!! 如果没有,恭喜你,你简直你买中彩票还幸运,呵呵。接下来搜索rom_00,看看新旧起始地址是否一致,如果是一致的,那你真的太走运了。直接build xip_out.bin吧。

      问题处理:
     A: 点击reloc提示"Not enough space",xip预留空间不够了。你需要修改romhdr.txt, 我一般的处理方法是,但修改phyfirst,适当提前一点,比如原来是80300000改成8020000,然后reloc看看如果还出错,那还得再改前一点。但是修改phyfirst是不能解决问题的,只是为了方便我们察看问题而已,buildmaps后看看End: highest physical address这里还有多少剩的,0x100000-剩的=你需要加大的xip空间。
    怎么加大呢?请先将phyfirst还原,然后同时修改physlast、ulRAMStart、ulRAMFree以保证他们同步后移,当然这个时候ram中的程序都必须后移了。
   B:点击buildmaps时提示“same entery already exist”,主要是第一段的地址冲突了。用Beyond Compare打开就的map.txt和目标新版本的map.txt,看看oem中的模块地址被谁占用了,赶走它,hoho,整个世界清静嗮......

  build xip_out.bin之后,对于生成的xip_out.bin还需要再进行srpx压缩,点击hebing.cmd就可以了。但这一步使用就srpx的很容易出错,请参考我的另外一个帖子说明http://www.pdaclan.com/thread-9242-1-1.html

[ 本帖最后由 tsinghe 于 2008-4-3 14:34 编辑 ]
附件: 您所在的用户组无法下载或查看附件

TOP

多谢老大!!!感激涕零啊

TOP

这个一定要顶了。
感谢TX分享。
希望更多的XD加入到G900rom定制行列。

TOP

呵呵,学习了,有空试下。

TOP

感激涕零 首页留名!

TOP

恩,抢个前排板凳,LZ的技术共享精神值得大家学习~~~

TOP

好东西,一定要好好看,并且理解楼主的话。是否有精减版的英文3.07下载?

TOP

学习中...................新手报到

TOP

顶下,这个教程不错,谢谢~

TOP

超感谢!tsinghe你真是太无私了!21世纪的雷锋啊!!!!!

TOP

每个步骤的衔接没说清楚啊,大侠,新手看得一头雾水

TOP

这里涵盖的东西确实有点多
如果没写清楚,可以开贴来问
也可以具体PM我

TOP

X01T 能用这刷吗

TOP

强帖留言,努力学习中..............

TOP

顶一下~~~

TOP

太专业了。我还没入门呢。只有慢慢学了~!

TOP

难得一见的好贴,值得好好学习!

TOP