如何定制G900/X01T的个性ROM
[color=red]仅在PDACLAN发文,转载请注明出处![/color]想写这样一个教程很久了,原因是很多的。主要是觉得自己做rom太苦、太累,而众口又很难调,辛辛苦苦做出来的东西并不一定是别人想要的,没啥意思。所以还是教会大家怎么做好了。
我去年12月G900到手,然后就开始折腾,到现在都rom移植算是刚入门。这个过程是痛苦的,当然也算是有点快乐的。不过这些早在我买G900以前就做好了思想准备,我就是要买他来折腾的......不过对于很多有和我一样想法的人,我想大家并不需要像我这样这么久的折腾才能入门。技术是应该共享的,因为技术是不断进步的,你知道的+我知道的=你我都不知道的。很多过内的高手对技术放开讳莫如深,生怕别人抢了自己的饭碗。何必呢,呵呵。
言规正传:要定制g900的rom,请下载一下的东西。
1. Super RUU:本来是有点机密的东西。不过有人做好事修改了,那就应该是合法的了(来自xbeta,详见[url=http://bbs.xbeta.cn/thread-10296-1-1.html]http://bbs.xbeta.cn/thread-10296-1-1.html[/url])。
2. Rom kitchen: 用来定制你的个性rom,支持模版。最大的好处是一旦模版建立起来并可以运行,以后的系统升级都很容易。
3. xip工具包:包括xipport, msflashtool, srpx tool等。
4. 原始模版。这个大家可以用我的19202做原始模版。请见我的另外一个帖子:[url=http://www.pdaclan.com/thread-9047-1-1.html]http://www.pdaclan.com/thread-9047-1-1.html[/url]
[[i] 本帖最后由 tsinghe 于 2008-4-3 15:03 编辑 [/i]]
如何的解开模版
下载好我的模版后,可以这样来解开:将下载好的文件改名为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来对他进行分类
[[i] 本帖最后由 tsinghe 于 2008-4-3 12:34 编辑 [/i]]
如何重新生成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,看起来和原来的没有区别,甚至修改时间也没变,没关系,只要不出错就是对的。
[[i] 本帖最后由 tsinghe 于 2008-4-3 13:34 编辑 [/i]]
如何移植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的很容易出错,请参考我的另外一个帖子说明[url=http://www.pdaclan.com/thread-9242-1-1.html]http://www.pdaclan.com/thread-9242-1-1.html[/url]
[[i] 本帖最后由 tsinghe 于 2008-4-3 14:34 编辑 [/i]] 多谢老大!!!感激涕零啊:yct022: 这个一定要顶了。
感谢TX分享。
希望更多的XD加入到G900rom定制行列。 呵呵,学习了,有空试下。 感激涕零 首页留名! 恩,抢个前排板凳,LZ的技术共享精神值得大家学习~~~ 好东西,一定要好好看,并且理解楼主的话。是否有精减版的英文3.07下载? 学习中...................新手报到 顶下,这个教程不错,谢谢~ 超感谢!tsinghe你真是太无私了!21世纪的雷锋啊!!!!! 每个步骤的衔接没说清楚啊,大侠,新手看得一头雾水 这里涵盖的东西确实有点多
如果没写清楚,可以开贴来问
也可以具体PM我 X01T 能用这刷吗:yct037: :yct037: 强帖留言,努力学习中.............. 顶一下~~~ 太专业了。我还没入门呢。只有慢慢学了~! 难得一见的好贴,值得好好学习! 收益非浅,谢谢!
请问如何制作卡刷文件呢?我的G900的USB口线已经断裂,无法用USB同步,所以线刷是无法使用 弱弱的问一句,这个定制出来的rom怎么刷到机子里啊?x01t [quote]原帖由 [i]hero000ooo[/i] 于 2008-4-10 12:27 发表 [url=http://www.pdaclan.com/redirect.php?goto=findpost&pid=136580&ptid=9258][img]http://www.pdaclan.com/images/common/back.gif[/img][/url]
弱弱的问一句,这个定制出来的rom怎么刷到机子里啊?x01t [/quote]
线刷。
卡刷太危险,暂时不推荐 好东东,下来收藏下 精彩!实在是太精彩了! 菜鸟问题,如何线刷,能给教程不?
回LS
简单搜索一下就可以找到了,或者找找LZ的帖子 很白痴的问一下,运行RomEditor时候提示的dump目录应该是哪? 这个....需要什么电脑基础没啊? [quote]原帖由 [i]balsampear[/i] 于 2008-4-18 21:17 发表 [url=http://www.pdaclan.com/redirect.php?goto=findpost&pid=142772&ptid=9258][img]http://www.pdaclan.com/images/common/back.gif[/img][/url]很白痴的问一下,运行RomEditor时候提示的dump目录应该是哪? [/quote]
就在romeditor的根目录下 这么强的帖子,一定顶一下!
以后有不懂的要问t大师的! 我晕,第一步就搞不懂!
怎么我运行ROMEDITOR4就报错?!!! 第一步搞定,原来是没装mircsoft 。net
lz能否讲讲,如何在rom中加入想要的程序,或者删减某些程序?是否一定要更改注册表才能做到? 问问老大!这个kitchen_chs怎么用!是做什么的? 来学习一下高手的经验,谢谢! t老大不常来这里吗?:yct030: fasdfasdfasdfasdfasd :yct037: :yct037: :yct037: 好东。。。。。。。。。顶 非常感谢楼主,相信很多像我这样的新手就不大看得懂,如果有图文详细步骤就比较好了,全民定制 ROM ,呵呵 ... 有点离题了,想请问楼主哪里有资料介绍如果定制 nb0 格式的 ROM 的文章或者工具+教程么?比较简陋的都可以,以前定制 696 D700 多...蛮成功的.