大家一起来做ROM.docx

上传人:b****3 文档编号:11088049 上传时间:2023-05-29 格式:DOCX 页数:61 大小:52.81KB
下载 相关 举报
大家一起来做ROM.docx_第1页
第1页 / 共61页
大家一起来做ROM.docx_第2页
第2页 / 共61页
大家一起来做ROM.docx_第3页
第3页 / 共61页
大家一起来做ROM.docx_第4页
第4页 / 共61页
大家一起来做ROM.docx_第5页
第5页 / 共61页
大家一起来做ROM.docx_第6页
第6页 / 共61页
大家一起来做ROM.docx_第7页
第7页 / 共61页
大家一起来做ROM.docx_第8页
第8页 / 共61页
大家一起来做ROM.docx_第9页
第9页 / 共61页
大家一起来做ROM.docx_第10页
第10页 / 共61页
大家一起来做ROM.docx_第11页
第11页 / 共61页
大家一起来做ROM.docx_第12页
第12页 / 共61页
大家一起来做ROM.docx_第13页
第13页 / 共61页
大家一起来做ROM.docx_第14页
第14页 / 共61页
大家一起来做ROM.docx_第15页
第15页 / 共61页
大家一起来做ROM.docx_第16页
第16页 / 共61页
大家一起来做ROM.docx_第17页
第17页 / 共61页
大家一起来做ROM.docx_第18页
第18页 / 共61页
大家一起来做ROM.docx_第19页
第19页 / 共61页
大家一起来做ROM.docx_第20页
第20页 / 共61页
亲,该文档总共61页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

大家一起来做ROM.docx

《大家一起来做ROM.docx》由会员分享,可在线阅读,更多相关《大家一起来做ROM.docx(61页珍藏版)》请在冰点文库上搜索。

大家一起来做ROM.docx

大家一起来做ROM

大家一起来做ROM吧——模板制作初级教程

第零章  前言

我会尝试将我所有懂的都写出来,包括ROM的制作、汉化、优化、celecmd、mortscrtip、马尼拉基本修改等等。

不过我是超级懒的人,所以别期待近期能写完,也因为这个原因,所以才决定连载算了,等我写完再放出来说不定要一年半载……

我也是只会做体力活的菜鸟一只,所以别期待能看到什么让你惊喜的东西……

1、这个世界上没有小白,只有懒白。

2、做ROM是体力活。

3、此教程适合钻石以后的机型,之前的旧机型可能有部分内容有所不同,请自行研究。

4、此教程的模板工具以btxakita的BTBuildOS为例,若使用其他制作工具请参照自行研究(ROM的制作过程大同小异)。

5、谢谢所有帮助过我的人……(大多人要感谢的了,生怕忘了列在其内,先保留……)

6、本人水平有限,有错误之处还望高人指点。

7、首发于DFT及XBETA。

第一章  模板与ROM的简略说明

我们升级手机系统,是下载一个ROM,再通过电脑刷进手机或者直接复制到手机存储卡里卡刷进去。

那么一个ROM是怎样制作出来的呢?

最方便的方法莫过于使用模板制作了。

而模板是什么呢?

又是怎样来的呢?

英文里制作ROM叫做cookrom,为什么这样叫呢?

顾名思义,就是一个ROM其实是煮出来的。

如果我们已经有了一个模板,那么制作出一个ROM对于我们来说,其实就相当于跟煮饭、炒菜一样简单,我们只需把材料(OEM包等)扔进去,然后很简单的(点击一下鼠标)就可以煮出来。

(当然煮的好不好吃是另外一回事,呵呵)

因此,模板可以看成是非常简单就能制作出ROM的软件,对于我的模板,只需点击一下BTBuildOS.exe,再勾上/去掉你所需要/不需要的OEM软件,点击开始,过几分钟就会自动做好ROM并弹出刷机软件,呵呵,够简单吧。

而模板的来源,可以利用工具将官方发布的ROM反向分解形成(或者下载别人制作好的)。

那么我们先来讲讲如何形成一个标准的模板吧。

第二章将官方ROM转化成标准的模板结构

一、必要软件

1、安装.net3.5(win7可跳过)

下载:

2、安装VC2008(win7可跳过)

下载:

[url=ftp:

//pcg@ftp.pcgpcg.net/ppc/VCredist%20x86.rar]ftp:

//pcg@ftp.pcgpcg.net/ppc/VCredistx86.rar

3、模板工具BTBUILD下载:

下载:

[url=ftp:

//pcg@ftp.pcgpcg.net/ppc/BT%20BuildOS.rar]ftp:

//pcg@ftp.pcgpcg.net/ppc/BTBuildOS.rar

3、模板分区剩余空间1.5G以上

4、建议在ntfs分区使用。

5、在文件夹选项里打开显示系统、隐藏文件,最好也显示扩展名。

二、下载官方ROM

1、可以去HTC官方网站下载,凭你的PPC机SN号下载,若没有适合的SN号可以去拜托GOOGLE大神。

2、一些论坛偶尔也会放出一些test、shiprom、chsrom。

三、ROM的最基本结构(头晕的可跳过)

从官方下载回来的ROM,是EXE格式,可以直接用winrar解压出来,其中RUU_signed.nbh是ROM,其余文件是刷机软件(注:

刷机软件一般是通用的)。

RUU_signed.nbh这个文件是由一个或多个NB文件合成的。

官方的RUU_signed.nbh通常由os.nb(系统)、ipl、spl(装载系统、CID检测等)、MainSplash(第一屏)、radio(通讯)等等组成。

而os.nb则是一个ROM主要部分,由os镜像+头部尾部组成(头部尾部不同机型不一定相同),纯os镜像由两部分组成:

xip和imgfs.bin,而imgfs.bin又可以分成两部分:

oem和sys,xip是系统首先装载的基本文件,oem是厂商定制的软件(其中除了驱动外90%以上是通用的),sys是微软的系统核心。

Nbh文件可以用NBHextract.exe这个文件来分解。

Os.nb文件可以用nbtool.exe来分离出纯os镜像,再解压出xip.bin、imgfs.bin

Imgfs.bin可以用ImgfsToDump解压出文件,再用PKGTool.exe根据里面的dsm整理成各个目录。

不过以上是旧的方法,bepe在09年末推出了新的dump工具xidump(原ImgfsToDump),可以直接从nbh等格式ROM分解出oem、sys、xip等(链接:

http:

//forum.xda-

1、简单的分解过程如下:

(1)NBH分解成各个nb。

(NBHextract.exe)

(2)os.nb分解成xip和imgfs。

(nbtool.exe)

(3)imgfs分解成oem、sys。

(imgfstodump.exe)

以上步骤现在可以直接用xidump全部代替。

2、简单的合成ROM过程如下:

(1)oem、sys、xip生成dump目录和xip.bin。

(platformrebuilder.exe)

(2)oem、sys合成imgfs.bin(imgfsformdump.exe)

(3)xip、imgfs.bin插进原来的os.nb里(imgfstonb.exe、implantxip.exe)

(4)os.nb签名成nbh。

四、将官方ROM整理成一个标准模板。

(一)BTBuildOS简略说明

1、BTBuildOS是由btxakita基于MyBuildOS(独立小桥)进行的拓展,以platformrebuilder(bepe)排序工具为核心的ROM制作工具。

2、因为BTBuildOS是以platformrebuilder来排序,因此HTC机型可以省却手工移植XIP的烦恼,并且支持原生6.5nk。

3、因为是基于MyBuildOS的拓展,所以可以读取OEM里的option.xml提供该OEM包的选择与说明等。

4、OEM目录支持分类,EXT目录支持ext格式的oem包,并且也支持分类以及可将目录名显示在buildos界面提供选择。

5、OEM、TOOLS、RUU支持自定义路径,可编辑rom\config.ini或在BTBuildOS的目录选择里选择。

6、支持自定义机型,请参考BTBuildOS\TOOLS\Devices.ini自行编写,我已经将常用机型列出来,不过未能一一测试,有错之处请反馈或自行修正。

7、xidump目录是我根据bepe的xidump.exe整理的分解ROM工具包,其中里面有三个BAT,可以把相关文件拖到那几个BAT上实现傻瓜分解。

其中Dump.bat可以解出oem+sys+xip(假如有的话),Dump_os.nb.payload.bat可以解出精简后的os.nb.payload,Dump_XIP.bat可以只解出xip。

8、BTBuildOS我设定的默认目录简略说明

BTBuildOS(这个是解压后出的目录)

      |

      |----EXT(EXT格式的OEM包扔到这里,里面还要进行分类)

      |    |----XXX1(分类目录1,会在BTBuildOS里显示出来)

      |    |  |----XXX(EXTOEM包)

      |    |

      |    |----XXX2(分类目录2,会在BTBuildOS里显示出来)

      |      |----XXX(EXTOEM包)

      |

      |----OEM(普通OEM包扔到这里,里面还要进行分类)

      |    |----XXX1(分类目录1,会在BTBuildOS里显示出来)

      |    |  |----XXX(普通OEM包)

      |    |

      |    |----XXX2(分类目录2,会在BTBuildOS里显示出来)

      |      |----XXX(普通OEM包)

      |

      |----ROM(os.nb.payload以及xip放在这里)

      |    |----os.nb.paylaod文件(相应机型的纯OS镜像)

      |    |

      |    |----XIP(XIP目录)

      |    |---OEM(XIP的不同机型专用的OEM部分放在这里)

      |    |  |---romhdr.bin文件

      |    |  |---OEMXIPKernel(XIP的OEMXIPKernel目录放在这里)

      |    |  |---WinCENLS_xxx(XIP的wincenls目录放在这里)

      |    |---XXX(XIP相应核心的目录)

      |        |---MSXIPKernel(XIP的OEMXIPKernel目录放在这里)

      |

      |----RUU(刷机软件及制作出来的ROM文件)

      |

      |----SYS(SYS核心放在这里,里面还要进行核心分类)

      |    |----XXX(以核心命名的目录)

      |

      |----TOOLS(模板制作过程所用到的工具软件)

      |

      |----xidump(分解ROM、XIP的工具包)

          |---Dump.bat(拖到上面可以分解出oem+sys+xip)

          |---Dump_os.nb.payload.bat(拖到上面可以分解出精简后的os.nb.payload)

          |---Dump_XIP.bat(拖到上面可以分解出XIP)

          |---bin(分解所用到的工具包)

(二)分解

以HD的RUU_BlackStone_hTC_Asia_TW_1.59.709.0_Radio_52.62.25.34_1.13.25.24_Ship.exe为例。

1、下载BTBuildOS.rar,解压。

将官方ROM里的除了RUU_signed.nbh以外的文件扔到RUU目录(刷机时用),将RUU_signed.nbh扔到xidump目录里,然后把nbh拖到dump.bat身上,就会自动分解xip、oem、sys,经过比较漫长的显示后,会提示请按任意键继续,此时按任意一键就会退出DOS窗口完成分解过程。

2、把nbh拖到Dump_os.nb.payload.bat身上,就会分解出精简后的os.nb.payload。

(如果你有未精简的os.nb.payload,也可以拖到BAT身上得到精简后的os.nb.payload)

3、现在多出了romhdr.bin、os.nb.payload文件和imgfs目录、xip目录。

我们先初步整理测试。

(三)初步整理

用BAT自动整理也不是不可以,不过为了让大家熟悉一下模板结构,这里就手动整理吧。

1、将os.nb.payload移到BTBuildOS\ROM里。

2、将romhdr.bin移到BTBuildOS\ROM\XIP\OEM里

3、将IMGFS目录里的OEM目录剪切到BTBuildOS\OEM目录(BTBuildOS\OEM\OEM)。

4、将IMGFS目录里的SYS目录剪切到BTBuildOS\SYS目录,并将这个SYS目录改名为相应的核心,这个ROM的核心是20769,因此将SYS目录名改成20769(BTBuildOS\SYS\20769)。

SYS的核心,可以用SYSVersion.exe查看。

5、进入XIP目录,会发生XIP目录里有5个目录,其中LangDB和MSXIPKernelLTK里面只有一个DSM文件,没什么作用可以删掉。

MSXIPKernel是微软的XIP核心,移植核心时就要移植这部分。

OEMXIPKernel是该机型的驱动,一般不通用(驱动的另外一部分在oem\oemdrivers里)。

WinCENLS_Lang_0404里是wince.nls,这个文件负责区域及文字显示等功能。

(注:

wince.nls的目录名视不同语言的ROM而不同,目前platformrebuilder有个BUG,英文200K的wince.nls有时会引起PRB报错)。

(1)在BTBuildOS\ROM\XIP下新建一个目录,目录名为XIP核心,即BTBuildOS\ROM\XIP\20769,然后将刚才分解的XIP目录里MSXIPKernel目录移过来。

(2)把OEMXIPKernel和WinCENLS_Lang_0404移到BTBuildOS\ROM\XIP\OEM里

(四)刷机测试

基本的模板已经初步整理好了,先刷机测试一下这个模板是否可用吧,没问题了再进行详细的整理及汉化、移植核心、移植OEM等工作。

1、确认你的PPC已经解锁,不解锁是刷不进非官方ROM的。

2、打开BTBuildOS.exe,左侧的机型选择,选择你的机型,这个是HDROM,所以选择HD。

(可以自己修改BTBuildOS\TOOLS\Devices.ini内容)

3、第二列是读取各个分类目录名,这里要勾上OEM这个目录,否则这个目录里的OEM包都不会定制的。

4、可以看到右侧并没有OEM选择,这是因为我们还没给每个OEM创建option.xml,所以默认就会全部定制而不提供选择。

5、点击工具/选项,其中有一项是“启用PRB原生6.5nk模式”,6.5nk比6.1nk多了两个slot,能容纳更多的模块,不过这个ROM是6.1的ROM,所以把这项去除吧。

(记住若你的NK是6.5的一定要勾上)

6、然后点击上方的绿色三角运行吧,会先弹出PRB窗口排序DUMP文件,再生成ROM,完成后会弹出刷机软件

7、试试刷机吧,祈祷能进入系统

注:

后期HTC官方ROM里的Notification_Enhancement里的NTFConfig.dll模块PRB处理有问题,不转换成文件的话会定在第一屏,请留意。

(五)刷机成功之后……

无意外的话,刷机应该能成功吧。

不过成功后我们还有很多事情要做,真正费体力的活现在才开始喔……开玩笑的,希望别被吓倒:

首先这个这是个繁体版ROM,所以我们先要把ROM改成简体。

不同语言的模板,有三部分不同,一部分是SYS核心,一部分是OEM官方集成软件部分,一部分是XIP里的wince.nls区域相关文件。

确切来讲,不同语言的模板,主要区别只在于注册表和MUI

核心部分可以直接移植一个简体的核心,这样就省下很多功夫。

嗯,我们先讲移植吧。

第三章移植核心

一、获得核心。

1、核心是WM系统通用部分,目前核心的更新只能刷ROM来解决。

2、目前核心基本来源方式有官方ROM提取、一些论坛发布。

目前论坛发布的,主要有DFT的mwang、XBETA的猴子及XDA的DA_G,可以自行下载自己喜欢的核心。

3、我们以目前HTC官方ROM版本最高旧特性WM65的21892核心为例来移植吧。

这个是猴子在XBETA发布的:

(fs2you:

//Y2FjaGVmaWxlMjYucmF5ZmlsZS5jb20vemgtY24vZG93bmxvYWQvMWFmNTcwNmM0YTlmMTUzNWE5YmE3MTYxNDliZDBjZDEvMjE4OTJfV1ZHQV9DSFMucmFyfDU3OTg0MDk3)

二、分解、整理核心。

核心有两部分,一部分是SYS,一部分是XIP,而猴子发布的一般是dio格式的ROM,我们先分解吧。

1、解压出FLASH.DIO文件,移到BTBuildOS\xidump目录里。

2、将FLASH.DIO拖到Dump.bat身上,几分钟后会提示请按任意键继续,此时按任意一键就会退出DOS窗口完成分解过程。

3、现在多出了romhdr.bin、imgfs目录、xip目录。

4、将IMGFS目录里的SYS目录剪切到BTBuildOS\SYS目录,并将这个SYS目录改名为相应的核心,这个ROM的核心是21892,因此将SYS目录名改成21892(BTBuildOS\SYS\21892)。

5、在BTBuildOS\ROM\XIP新建一个与SYS核心版本号相同的数字,即新建一个21892目录,然后将刚才分解的XIP目录里MSXIPKernel(BTBuildOS\xidump\XIP\MSXIPKernel)复制进去(BTBuildOS\ROM\XIP\21892\MSXIPKernel)。

6、移植结束,很简单吧。

不过SYS里有些地方我们还要调整一下的。

(1)Metadata这个目录最好使用自己机型里的,因为有些机型不保留这个的话,会有些奇怪的问题发生。

(2)gb18030目录里有个simsun.ac3新宋体字体,若你想使用其他字体,比如雅黑字体的话,那就要删掉这个simsun.ac3,否则一些软件的界面会出现两种字体,看上去很不美观。

(3)SampleMusic是范本音乐,里面有两首WMA文件,这个目录可以直接删掉。

(4)WinCENLS_Lang_0804是wince.nls文件,这个在XIP里已经有了,可以删掉(有些机型可以放在XIP也可以放在SYS,有些机型只能放在XIP里)。

(5)browsingie\mxip_wpclang_favorites_1000.provxml这个文件里有4个地方是"\Windows\Favorites",我们可以改成"\Windows\收藏夹",这样可以避免一些软件打不开收藏夹。

要注意修改后将这个文件保存为UTF-8格式。

7、移植结束~不过若是在DFT下载的核心,SYS是拆开各个不同的部分,就要自己手工整理成一个SYS目录。

比如DFT最新的核心,WVGA的要将以下目录放在一起才完整:

(1)COMMON

(2)COMMON_0804

(3)WVGA_COMMON

(4)WVGA_0804

第四章XIP及OEM处理

一、XIP的中文化处理

ROM\XIP\OEM里有WinCENLS_Lang_xxxx的目录,里面有个wince.nls,这个是负责系统的区域、语言显示相关内容,其中英文的是200K左右,简体中文的是800K左右,繁体中文的是1.4M左右。

我们将这个换成简体中文的,省点空间,将WinCENLS_Lang_0404替换成WinCENLS_Lang_0804(简体中文ROM里的XIP有,或者刚才移植的21892核心的SYS里也有)。

二、OEM的处理

(一)下载基本相关软件

1、文件对比软件:

BeyondCompare3

下载:

[url=ftp:

//pcg@ftp.pcgpcg.net/ppc/HA-BCompare316.exe]ftp:

//pcg@ftp.pcgpcg.net/ppc/HA-BCompare316.exe

2、搜索软件:

SearchAndReplace63_gnatix.rar

下载:

[url=ftp:

//pcg@ftp.pcgpcg.net/ppc/SearchAndReplace63_gnatix.rar]ftp:

//pcg@ftp.pcgpcg.net/ppc/SearchAndReplace63_gnatix.rar

3、汉化编辑软件:

Restorator2007

下载:

[url=ftp:

//pcg@ftp.pcgpcg.net/ppc/Restorator2007_1729_WestKing_HAP.exe]ftp:

//pcg@ftp.pcgpcg.net/ppc/Restorator2007_1729_WestKing_HAP.exe

4、CAB编辑软件:

WinCECabManagerv3.0.0.22汉化版

[url=ftp:

//pcg@ftp.pcgpcg.net/ppc/WinCECabManagerv3.0.0.22汉化版.rar]ftp:

//pcg@ftp.pcgpcg.net/ppc/WinCECabManagerv3.0.0.22汉化版.rar

5、CAB转OEM包软件:

package-creator-v2.7修正简体版

[url=ftp:

//pcg@ftp.pcgpcg.net/ppc/package-creator-v2.7修正简体版.rar]ftp:

//pcg@ftp.pcgpcg.net/ppc/package-creator-v2.7修正简体版.rar

(二)OEM基本说明

OEM可以简单理解为HTC官方集成的软件,而相近机型的大部分OEM都是通用的。

当然我们做ROM的时候一般也会加入自己所需要的OEM包,这样刷机后这个软件、功能就直接存在,不必刷机后再安装、调整。

官方的OEM,可以简单分为两部分,一部分是PACKAGE_xxxx(机型)_xxxx(软件名),例如PACKAGE_BlackStone_AdobePDF,这类软件大部分是通用的,另一部分就是剩下的oemxxxx和OperatorPkg等,通常要做一定修改。

我们将繁体系统修改成简体系统,顺便直接把新的OEM移植过来吧,我们就以rhodium的原生M25官方ROM里的OEM为例吧(RUU_Rhodium_S2_hTC_Asia_WWE_2.07.707.1_Radio_Rhodium_4.49.25.91_Signed_Ship.exe)。

一个标准的OEM包会分成两部分,一部分程序的主体部分(exe、dll、图片等),另一部分是语言包(mui文件、相关注册表、快捷方式),我们中文化的功能,主要就是将MUI的内容改成简体,并将相应的MUI改名,比如xxx.exe.0404.mui,改名为xxx.exe.0804.mui,系统会根据当前系统语言,自动读取相应的MUI,所以MUI不改名的话会不起效的。

我们可以使用Restorator2007来打开MUI文件进行汉化工作。

下载解压出NBH,扔进xidiump里分解吧。

不过我们先处理非通用OEM部分吧。

(三)处理非通用部分(以HD为例)

1、删掉无用目录

凡是目录里只有一个DSM的,都删掉吧,不起什么作用的。

BuildInfoPkg里有些TXT,是官方ROM的基本信息,也删掉。

ConfigAP里有个config_AP.txt,这个是第一次开机runcc调用的配置文件,以实现第一次开机时安装一些软件等,如果不需要用RUNCC的可以删掉。

此外还有ControlBlock、ExtendedPkg目录,以及OperatorPkg及OperatorPkg_PT里的configxxx.txt都是RUNCC相关的。

2、处理OEM_Lang_xxxx

这个目录,可以

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2