洒家的窝~~

博客园 首页 联系 订阅 管理

一、模板是什么

WM的模板是和微软的Platform Builder基本上是一类的,

而我们用的都是第三方制作的

二、模板的好处

比dump方式更好、更快、更干净的定制ROM,文件多而不杂,方便添加软件

四、模板的三个文件夹说明

模板必须有的三个文件夹是 ROM 、OEM和SYS,缺一不可!!

1、ROM文件夹:

ROM文件夹下有XIP文件夹,这个是模板必须的!

而XIP文件夹下必须有boot.rgu这个文件

Boot.rgu是创建*.hv注册表文件的基础

boot.rgu文件可以在XIP里提取,

或者在刷好的机子上提取boot.hv,再转换成RGU格式的

HV转换TXT 工具下载 HV转成TXT.rar

使用方法:把boot.hv托到HV转成TXT.bat 上就会自动生成boot.txt,

(或用命令行方式 即CMD 来运行,运行命令是HV转成TXT.bat boot.hv)

再把boot.txt改名成boot.rgu 且编码格式必须是 Unicode

建议使用Notepad2 来编辑 ,请不要使用系统自带的笔记本!!

2、OEM文件夹:

(OEM可为空)

OEM即 原始设备制造商 的缩写,OEM文件夹下是放厂商程序的,比如驱动之类的

即OEMDrivers 是驱动文件夹,而通常这个文件夹是放在SYS文件夹里的,

OEM类型的文件夹通常是OEM开头命名的文件夹

这个文件夹可以拿来放自己制作的OEM的软件包(如何制作请看第五)

3、SYS文件夹:

SYS里必须有的是

.ROM文件夹

.VM文件夹

以上两个文件夹是存放SLOT0和SLOT1的值,一定要自己机型原版的!

OEMDrivers文件夹(此文件夹可以放在OEM里面)

PS:对于移植来说只有这三个文件夹是必须的!其他都是不必须的,对了,还有一些厂商的OEM程序也就是文件夹名为OEMAPPS,有时候相机之类的程序会放在这里面的。

三、制作模板(对于已经有模板的机型可以跳过^_^)

1、首先找到机型对应的解包工具

PS:最好要官方的ROM来制作模板^_^

2、把ROM解成dump文件夹后使用PKGTool.exe 或DMP2PKG.exe 分解成 OEM和SYS

两个文件夹,(PKGTool.exe 或DMP2PKG.exe是有区别的,在下面有说明)

(问:怎么没有ROM文件夹呢?答:ROM文件夹需自行建立,ROM文件夹里的XIP文件夹亦是, boot.rgu请自行复制进XIP文件夹里)

注意以下几点:

第一点:*.DSM是一个文件分类表文件,用来记录一个文件夹里的文件,*.DSM文件里也记录着系统的版本号。

例子:DSM的名称是42dff48a-939a-457b-ada7-3098c46cdb61.dsm 这种类型

.dsm的前面42dff48a-939a-457b-ada7-3098c46cdb61是GUID即全球唯一标识符

*.RGU是注册表文件(详细的在下面)

第二点:对于某些ROM 出于某些原因,把DSM文件做ALL IN ONE 处理了(即只有一个DSM文件),导致不能分类成三个文件夹,所以就不能制作成模板!如真的要做的话要复制同一版本号的DSM文件,并一一对照着做。

第三点:对于某些ROM 出于某些原因,如果ROM里没有*.rgu文件(即注册表文件),也是不能制作成模板的,

(问:不是有default.hv和user.hv这两个注册表吗?还需要*.rgu文件来干嘛?答:*.RGU文件是用来生成*.hv文件的,而*.hv并不能转成*.rgu,所以也不能制作成模板!当然是排除你手动制作。(汗,真是恐怖)

3、好的,已经分类成三个文件夹方式的,怎么dump文件夹里还有文件呢?因为 这个ROM已经被别人用dump方式(非模板方式定制)定制(修改)过了,并且没有对应的*.DSM文件

PKGTool.exe和DMP2PKG.exe的区别:

如用PKGTool.exe分类,有时遇到DSM出错就不能分类

而DMP2PKG.exe遇到DSM出错也能分类,但并不能完全分类。

所以出错的*.DSM文件就不能使用了,在解ROM时,会把*.DSM文件解成模块化的,所以就是出错了的*.DSM文件,还未搞懂是ROM的问题还是工具的问题

还有就是DMP2PKG.exe能把分类后残留在dump文件夹里的文件生成个Missing.txt文本文件,没有写入DSM 的文件在Missing.txt里是没有记录的

而PKGTool.exe会在程序里提示。

例:

T9

T9ImeRes.Dll.0419.mui (File)

T9RussianLdb.dll (File)

T9是文件夹

T9文件夹里缺少这两个文件

T9ImeRes.Dll.0419.mui (File)

T9RussianLdb.dll (File)

后面的(File)就是说明是个一般文件,非模块

如果是(Module) 就是和模块化的文件

把他们移动到相应的文件夹里就行了

如向第二次解包成模板而分类正确的就要重写*.DSM文件,

比如把42dff48a-939a-457b-ada7-3098c46cdb61.dsm需重写

把它删除,新建个文本文件并重命名为42dff48a-939a-457b-ada7-3098c46cdb61.dsm就行了

缺点是会把*.DSM文件里的版本说明去掉的,不过版本说明也没什么必要的。

PS:貌似MyBuildOS.exe有重写的功能?

五、OEM软件包的制作

制作请看 陈先生 写的教程,我就不重复了

系列4. 制作OEM包(OEM Package) Part1
http://www.thinkagain.cn/archives/412.html

制作好的OEM软件包放在OEM文件夹里就行了。

六、SYS部分的修改

重头戏~嘿嘿,貌似也没多少—_—~!!

首先说说修改SYS部分的技巧!

最好不要在系统原有的*.RGU文件里添加或者删除值!修改当然是可以的,是修改哦

(PS:也不要太信这句话,不过小心点总无大错,只要不删除系统的值就可以了。)

要不系统会发生各种各样的灵异事件,

比如OEMMISC里的RGU添加或者删除值的操作会导致刷机后第一次开机过慢。

(PS:这句话在只在SP上试验证实)

好,上面我已经说了

DSM是文件分类文件 不可删除

RGU是注册表文件,必须是REGEDIT4开头,且是Unicode编码。(在BuildOS后dump合成 如不需要可删除,可以省点空间。)

剩下的就是一般文件了

模板定制就是在这个条件上进行修改。

七、合成ROM

这里需要MyBuildOS.exe 独立小桥制作的,比原版BuildOS.exe好些,至少是中文版

运行MyBuildOS.exe必须 有pkgcommon.dll支持

把MyBuildOS.exe和 SYS文件夹放在同一级目录

运行MyBuildOS.exe点左上角那个绿色按钮 执行!

中途出错的话基本上都是文件重复照成的,删除一个即可。

执行完后会生成temp文件夹,里面有dump文件夹。

(MyBuildOS.exe就是把模板还原成dump方式)

在这里得用G'Reloc.exe来重新排列模块

把G'Reloc.exe复制到temp里,把dump文件夹改名成SYS,运行G'Reloc.exe

运行G'Reloc.exe后里面的数值不用管,直接点击Doit!按钮!

等进度条走完后再关闭G'Reloc.exe,再把SYS文件夹改名回dump

之后dump方式的合成就不用我说了吧

就用temp文件夹里的dump合成

其他问题解决:

1、使用MyBuildOS.exe后出现缺少文件,MyBuildOS.exe同级目录下必须有TOOLS文件夹

里面要有些工具在里面(至今搞不清楚为什么)

2、移植后OEMDrivers文件夹里的文件和SYS里有重复,优先考虑OEMDrivers的,删除SYS里的。虽然有些重复的文件貌似是通用的。比如蓝牙之类的文件。

3、……………..

posted on 2009-06-08 16:11  tianxu0836  阅读(2784)  评论(0编辑  收藏  举报