定制ROM教程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

如何定制默认桌面主题的
方法是:
1、首先你要选择一个你喜欢的桌面主题,打算将其定制为桌面默认主题,用软件ResHacker.exe或exescope.exe或
CeCabManager.exe(任何一个都可以,这些软件通过网上搜索可以找到)将主题×××.stk里图片××.jpg提取出来。

2、将自己需要的桌面主题文件×××.stk放到SYS\Base_Lang_0804_DPI_96_RESH_240_RESV_320里;并将桌面主题的图片
××.jpg放到SYS\base_dpi_96_resh_240_resv_320里。

3、修改SYS\Shell里的mxipcold_wpc_2.provxml参数:
(1)<parm name="Skin" value="\Windows\×××.tsk" datatype="string"/>,这个参数是你自己的主题文件名×××.tsk。

(2)<parm name="BaseHue" value="××××××" datatype="integer"/>,这个参数是你主题上下栏颜色十进制数码。

这个参数可以事先将要改的主题×××.stk放到设备上,并设为设备的桌面主题,然后查看注册表可以得到,注册表上下栏颜色参数的位置是:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Color]
"BaseHue"=dword:××××××。

定制ROM之前,确认自己电脑装好了 Framework 2.0 这个东东
普及脚本知识
---------------------
很多人还不会使用脚本。

如果会编程的朋友应该很容易上手了。

现在说一些常用的命令和语法。

run("程序路径") #这句是运行一个程序,而不等待就执行下一句命令。

如果是一个文件,则会用相应程序打开。

runwait("程序路径") #运行并等待一个程序结束,再执行下一句命令。

copy("源文件","目标文件"[,true|false]) #会DOS命令的都很熟悉了,复制文件。

后面的参数是覆盖开关
xcopy("源目录","目标目录") #复制多个文件,可以使用通配符
Delete("目标文件") #删除文件,可以使用通配符
mkdir("目标目录") #创建目录
CreateShortcut( "快捷方式文件名","目标程序" ) #创建快捷方式
unzipall("源ZIP压缩文档","目标目录") #解压缩所有打包文件到这定目录,压缩包内可以包含目录,文件名不能使用中文。

我现在万年历,来电精灵,都是用这钟方法来解压到主内存中。

而不用再一一建立目录和复制.
RegWriteString ("根","主键","键","值") #写?胱⒉岜碜址?
RegWriteBinary ("根","主键","键","值") #写入二进制值
RegWriteDWord("根","主键","键","值") #写入双字节值
RegDelete("根","主键","键") #删除键
RegDeleteKey("根","主键",true,true) #删除主键下所有东西
Reset #软启手机
x=DirExists("目录") #判断目录是否存在
x=FileExists("文件") #判断文件是否存在
if (表达式)
#条件判断语句,如果表达式为真,则执行这些语句
....
else #否则
#执行这里的语句
endif #结束
变量使用
x=100 #使x的值等于100
使用变量在,变量字母两侧加上%
y=%x% # y值等于x的值
优化脚本中有大量涉及到注册表的功能键值,大家可以用记事本打开参考下。

将那些有用的代码放到你的用户脚本中去,你就不必依靠优化脚本来设置了。

比如,如果你安装了雅黑字体,那么你希望打开clearType 。

那么你可以在脚本中加入这句,
就可以自动打开clearType :
RegWriteString("HKLM","\System\GDI\CLEARTYPE","","")
有朋友喜欢用TrayLaunch把图标放在托盘上,但是显示的图标都是一样的就区分不开来了。

那么如何更换图标呢?为每一脚
本生成一快捷方式,再打开这个快捷方式,如:
23#\windows\abc.mscr
试着在后面添加?pword.exe,0 ,这将使用Word的程序图标。

其实一些图标库(DLL)也可以使用,比如系统的图标库
23#\windows\abc.mscr?pword.exe,0
定制ROM教程
---------------
以后不再作更新了。

因为觉得没什么可以更新也没时间再去搞这些了。

我把这个ROM需要添加删除的文件都上传了上来,喜
欢这个ROM的朋友可以自行定制。

定制这个ROM需要的文件:
需要添加的文件
/biaosoft/nkaddto.rar
需要删除的文件
/biaosoft/nkremoved.rar
你制作ROM还需要下载的工具有:
BS ROM 原版BS ROM
RoomEditor 定制ROM工具
另建议的工具:
WinMerge-2.7.6 文件对比工具
RAMDiskXPV20 内存盘工具,加快添加删除文件
没有上传的,请自行搜索下载。

基础的定制ROM教程请参考?厶衬诘奶印?
彩信补丁是如何集成的。

其实集成彩信补丁最大问题,在于彩信帐户问题,就是说,注册表信息虽加进去了,但是邮件中并没有出现彩信帐户。

仔细看一下你的彩信补丁包,有个XML文件,里面有段内容,也许你知道,但是你不知道怎么加进去。

其实再留意一下,ROM 文件中有个defaultconfig.xml文件,这个文件就启到默认配置的作用,把那些信息加到这里就解决了。

另?猓琧mwap,cmnet
等网络配置信息,也可以在这个文件中加入.
另外,哪些文件可以删除,哪些文件不能删除呢?
这就要你自己去分析了,但是你可以用上面我推荐的对比工具,用别人的ROM来对比一下,缩小一下范围来进一步分析哪些文件可以删除,哪些文件不可以删除。

一般分析后,都较为固定,不用动它了。

添加文件就比较简单了,主要是要分析软件的注册表的相关位置。

以SPB plus4 来说,注册表信息很多。

不过还好,一般软件注册表关键位置很少。

如果简单加入一个单EXE的可执行文件,那么可以,将它加入ROM中,再在分发表创建快捷方式
就可以了。

为了进一步利用ROM空间,在定制ROM中,大量使用了UPX加壳压缩程序,这个软件可以使一般程序压缩至原大小的一半左右。

这就是为什么一些软件很小的原因了。

使用UPX过程中要注意一些相关问题。

至于UPX压缩后对速度的影响,经本人测试,影响很微小,一般小程序的运行前解压缩根本没有感觉。

修改的ROM都是大同小异,本人粗制的ROM中,使用了脚本,把部分文件压缩在一个包中放在ROM中(特别是那些要分发到非windows目录的文件,因为它们本身要占内存),在硬启后解压缩到其它目录,占用一定的主内存。

这个方法主要是为了节约ROM空间,尽量集成到ROM中,而牺牲一定的RAM内存。

这也是本人粗制ROM的特别之处。

集成更多的软件和有限的空间是矛盾的。

我经常为了很多优秀软件没有集成进去感到可惜。

有几乎没有多余可间的ROM中修改是很艰苦的事情。

因为只有你添加进去了之后,你才知道空间够不够。

而删除添加一次是够折腾的。

建议大家从BS ROM 修改,这才是最干净的!且没那么容易遇到ROM碎片问题
定制过程中出错分析
一般出错主要都是ROM空间不足造成的。

试着删除一个大文件来尝试添加,你会找到感觉,如何去处理这些问题。

另一个出错可能是,路径问题。

因为可能程序调用rommaster.exe 时没有加双引号,造成如果路径中出现空格,将导致参数
错误。

因此建议你把所有文件放C:\一个目录下。

另一个是文件格式的问题,RGU注册表文件要使用unicode格式,initobj.dat 文件要去掉文件头部两字节。

不过用定制工具自带的那个文本编辑器,把文件拖放进去修改就可以了。

不要自行新建文件,这样可以少很多麻烦。

ROM 中几个重要文件
initobj.dat 文件发放表,可在这里修改快捷方式和复制文件
defaultconfig.xml 默认配置文件,彩信服务帐号在这里添加
*.RGU 注册表文件,可以在这里修改注册表文件。

mxip_KERNEL_100.rgu 很有可能是最后添加的注册表文件,它的数据
将覆盖前面的重复项目。

添加文件全部都在Windows 目录。

因此尽量把一些软件的注册表位置修改为windows目录
先到下面下载了Rom_Kitchen_v1.1然后解压,进入目录
★★★★★★★★反编译ROM教程★★★★★★★★
★★★★★★★★编译ROM教程★★★★★★★★编译之前要把之前的NB文件放到"ROM"文件夹里面去...用来参照的...否则不能继续编译...
★★★★★★★★★修改PP教程(缓存)★★★★★★★★★
此方法只限于830的WM6_ROM,其他版本的ROM不能按照这里改
★★★★★★★★OEM组件定制★★★★★★★★
用“梅花5.02”做示例,其他软件都一样。

下面是步骤,再下面是图片流程,看得懂就懂,看不懂的就别勉强了。

1、用"WinCE CAB Manager"把"PlumSIP 5.0.2.CAB"中所有有用的文件提取出来,此目录下不能再有下级目录,如有,必须把下
级目录里面的文件提取到根目录下,并删除原下级目录。

2、把"PlumSIP 5.0.2.CAB"的注册表全部导出。

3、生成GUID码,分别在目录中新建两文本文件,分别改名为“GUID.rgu”和“GUID.dsm”,必须设置好显示“文件后缀名”
才能改成功。

4、把导出的注册表内容全部复制到“GUID.rgu”,然后另存为“Unicode 编码格式”。

(如无注册表文件可忽略此步骤)
5、新建文本文件,并命名为 "initflashfiles.txt" (保存为 Unicode 编码格式, 如无需复制文件去其他目录,可忽略此步
骤)
完成
★★★★★第一个工具WinCE CAB Manager★★★★★
WinCE CAB Manager.rar (941.55 KB) ★★★★★第一个工具GUID生成器★★★★★
GUID生成器.rar (17.01 KB)
QUOTE:
cht9000最基本的构成:
RAM,相当于电脑的内存。

wm5的ram已经和电脑内存的功能基本一致了,就是用来临时放置要处理的数据,不能用来存储。

软启动之后会清空。

开始-设置-系统-内存,右边的部分就是显示的ram。

但是ram会有一部分作为缓冲池,用来加速系统,启动的时候把rom部分的数据放到ram里面,这样以后再用到这些数据的时候,速度就很快了。

PS:因为ram的读写速度非常快,是rom和sd卡速度的10倍左右,这也是为什么2003se的速度要比wm5快一样,因为2003系统是用ram当作主内存的
缓冲池的大小是15M左右,因此我们看到程序内存的大小是49.08M左右,而不是标称的64M。

ROM,相当于电脑的硬盘,rom被分为3个区,为了便于理解,我这样比喻一下:
c盘,就是os部分,这一部分被锁定,要写进去内容的话必须刷机,这里面放着windows的文件。

文件全部在windows目录下,文件不能被删除,改名等操作。

d盘,Extended ROM部分,这一部分也被锁定,通过软件可以解开。

e盘,主内存部分,用户自由支配部分,开始-设置-系统-内存,左面的部分就是他了。

硬起动就是把这一部分清空。

ROM(用来刷机的文件):
一个完整的ROM包括操作系统部分,Radio部分和EXROM部分
ROM版本的标号一般是: 1.23.707.4
一个完整的ROM一般文件名是这样的:HER_DopodAsia_1237074_1060010_WWE_SHIP.exe
Extended ROM
Extended ROM是一个你看不见的ROM分区或者文件夹
你不可以修改它,但是可以通过软件来解开她
每一次硬启动之后都会自动安装里面的软件
里面大多数软件都和你的手机制定商有关系,通常包括系统补丁,彩信设置,视频电话和图片铃声等
Extended ROM的软件和你刷的ROM有直接关系,因为Extended ROM被包含在R完整的ROM里面
一个更高版本的Extended ROM并不意味着它是更好的.
QUOTE:
关于刷机nbh文件的说明(jacky_q_w的帖子)
/viewthread.php?tid=338362&highlight=9000
QUOTE:
分解nbh文件的工具:ROM tools
ROM tools使用方法
/thread-428475-1-1.html
QUOTE:
多平台ROM的PagePool缓冲池大小修改器汉化版(ROM的PP大小修改)如题,原理和功能介绍请参考转贴
前阵子Hermes Fan om-by在XDA上发布了他编写的pagepool changer工具,可以不用通过修改十六进制代码就可以很容易更改ROM Pagepool大小。

该免费工具可直接修改RUU_signed.nbh或OS.nb的Pagpool,可设置的Pagepool大小范围为1Mb~16Mb。

现在网上上发布的ROM大都标明了Pagepool的大小4Mb或8Mb,但什么是Pagepool,希望这篇文章能帮您解开这个惑。

1.什么是pagepool?
首先需要澄清下,实际上并不存在pagepool实体。

Pagepool是windows Mobile系统内置的一个内存管理机制。

如果ROM 中存在pagepool的话,那么系统会预先将读取的数据缓存在Pagepool中,且系统可以释放已加载在pagepool但没有使用代码。

而Pagepool大小代表了系统一次可加载多少程序代码在RAM里面。

也就是说系统可以加载程序代码大小是受Pagepool 大小约束的。

有点类似与Win系统中的Page file(页面缓存)一样。

但是如果ROM里面没有Pagepool的话,系统将直接加载代码到RAM,这样会提高系统性能。

众所周知,PPC上的存储分为ROM和RAM。

平常大家所刷的WM6.0 ROM指的就是这部分ROM。

Hermes系列的ROM 大小为128Mb。

RAM就是程序运行的内存,一般为64Mb。

如果增加了Pagepool大小,会相应减少程序用RAM大小。

同样,减少pagepool,会释放出相应空间给程序用RAM。

2.Pagepool大小对系统性能的影响?
是否pagepool越大,系统运行速度越高呢?也有网友说,如果将pagepool容量设置为0Mb,即取消pagepool,代码直接被加载到RAM,这样会提高系统运行速度。

但个人认为此法不妥当,不可否认没有Pagepool,代码直接加载到RAM的做法
会提高系统运行速度,但同样可能会减低系统的稳定性。

因为一旦程序出错而又系统无法释放相应代码时,就容易造成死机。

很遗憾,我并没有花时间去制作不同pagepool大小的ROM,并测试其系统运行速度。

一是目前手头没时间,二是我觉得我的目的并不是想提供个测试数据供网友参考,重点是想说明pagepool的原理,既然有了免费工具可方便更改,自己动手岂不是更有趣。

不过,POF用SPB Benchmark测试了4Mb~16Mb的Pagepool对WM5.0系统性能的影响。

这里借用其测试结果,以供参考。

Pagepool容量
可用程序存储容量
SPB Benchmark值
4Mb 50.68Mb 347.88
6Mb 48.68Mb 346.03
8Mb 46.67Mb 345.95
12Mb 42.66Mb 348.53
16Mb 39.64Mb 351.26
从上面可以看出,从4Mb到16Mb,pagepool容量越大,可用程序存储容量是越小的。

且pagepool的大小对系统性能的影响并不是想象中的那么大。

(注:SPB Benchmark值越大越好)。

但这只是WM5.0下的测试,有兴趣的网友可以测试下WM6.0下的情况。

那么Pagepool大小到底要设置多少比较合适?Dopod官方英文版WM6.0 ROM的Pagepool大小是6Mb。

而该官方版ROM 的稳定性是无可非议的,至少这个是我用过ROM中最稳定的,所以6Mb不妨可以作为参考。

3.如何查看ROM的pagepool大小?
Pagepool changer工具可直接查看被加载nbh或OS.nb的pagepool大小。

如下图是加载RUU_signed.nbh文件后,提示该ROM文件的Pagepool大小是6Mb,以及在内存中的偏移值3addd4。

用NBHtool解开RUU_signed.nbh,点此查看如何用NBHtool解nbh文件,然后用pagepool changer加载该Windows.nb (OS.nb),请注意提示pagepool大小是同样的6Mb,但内存偏移值3abcaa是不一样的。

也可以采用POF介绍的方法,通过用十六进制编辑软件,如winhex,直接开打Windows.nb文件来查看。

我推荐网友采用这种方法。

因为一味靠傻瓜式的工具反而会降低自己的动手能力。

用winhex加载windows.nb,按Ctrl+F搜索”NKKD8″字符串,如下图:
找到第二个”NKKD8″字符串,
然后下拉,寻找FFFF FFFF FFFF FFFF 9B4F FFFF 64B0 0000,该代码下面一行其中就包括pagepool的内存偏移值,如下图红色方框处。

这里6000代表Pagepool是6Mb。

而数字6所在偏移值就是3abcaa,和用工具查看的结果是一致。

1000~9000代表pagepool容量为1~9Mb。

A000~F000代表容量为10Mb~15Mb。

0001代表是16Mb Pagepool。

4.如何更改Pagepool大小?
用pagepool changer加载RUU_signed.nbh或OS.nb,然后可以在下图左边红色框框内选择拟修改的pagepool大小,或者在右边红色方框内自定义大小,1Mb~16Mb。

然后点击”Change to”就可以了。

点击”Change to”后,工具会将ROM文件的pagepool容量更改至所设定的大小。

状态栏显示”Ready”的话,代表已经修改完毕。

注:本文参考了XDA上POF的帖子和Windows Mobile Blog文章。

本文涉及软件下载:
winhex下载
pagepool_changer见附件2
QUOTE:
出自
授之以渔之:
系列1. 提取OS.nb、分解合成RUU_signed.nbh这是本系列第一篇文章,本文将介绍如何从Dopod官方WM6.0 ROM中提取OS.nb文件以及如何使用NBHtool分解及合成RUU_signed.nbh刷机文件,以及单独刷机原理和安全刷机方法。

首先请到Dopod官方站点或从本站”HTC Asia发布官方版WM6.0 ROM“文内链接下载官方版838Pro WM6.0 ROM。

下载后的文件是Zip压缩文件。

请用winrar解开:
Fig1 解开zip文件
解开后的目录里面包含一个名为“SEA”的子目录,目录下有2个文档,
070421_WM6_NewFeaturesGuide_PPC_Generic_English.pdf是升级指南,另一个是
RUU_Hermes_DOPODASIA_WWE_3.54.707.3_6275_1.47.00.10_108_Ship.exe升级文件。

Fig2 SEA目录下文件
请用Winrar将该exe文件解开。

将会获得如下8个文件。

Fig3 RUU_Hermes…_Ship.exe内包括文件
继续用winrar将RUU_Inside.exe解开,解开得到的7个文件中,其中包括RUU_signed.nbh文件。

Fig4 解开RUU_Inside得到的文件
RUU_signed.nbh就是该ROM的刷机文件了。

ROM里面含有的Radio,OS,extended_ROM等部分。

一个完整的RUU_signed.nbh 应该含有如下7个nb文件:
QUOTE:
IPL.nb,IPL文件
SPL.nb,SPL文件
Radio.nb,Radio文件
PrimarySplash.nb,第一开机画面
SecondarySplash.nb,第二开机画面
Herm_ExtendedRom.nb,extendedROM文件
Windows.nb,OS文件。

QUOTE:
单独刷机原理
一个完整的RUU_signed.nbh文件里面包括7个部分。

刷机的时候会自动将这7部分内容全部刷到你的hermes上。

如果一个RUU_signed.nbh文件只单独含有Radio文件,那么刷该nbh文件时,只会单单更新Hermes的Radio部分,而其它部分将保持不变。

也就是说,刷机时的ROM更新部分是基于nbh文件的所含内容。

进一步,我们可以通过制作含有不同部分的nbh文件,以达到单独刷某部分的ROM的目的。

如果我们制作的nbh文件含有PrimarySplash.nb和Windows.nb,那么将会更新原ROM 里面的PrimarySplash(第一开机画面)和系统部分,而Radio等均会保持不变。

这就是单独刷机原理。

提取nb或合成nbh工具最常用的就是Dutty’s NBHtool v1.1NBHtool。

NBHtool是个分解打包nbh文件的专用工具,利用该工具可很方便将nbh分解成nb文件,或者将nb文件合成为一个nbh刷机文件。

分解RUU_signed.nbh
下面我们就来用该工具分解RUU_signed.nbh文件。

双击nbhtool.exe运行软件。

Fig5 NBHtool主界面
点击Decompile NBH file,在打开的选择窗口中,选中刚才从Dopod官方ROM中解压得到的RUU_signed.nbh文件。

Fig6 选择RUU_signed.nbh文件
接着选择拟存放nb文件的文件夹,如下图是在C盘上建立一个838Pro_WWE目录,将nb文件夹解压到该目录中。

Fig7 指定存放nb文件的文件夹
点击OK后,nbhtool开始解开RUU_signed.nbh文件。

Fig8 nbh文件已分解
当出现Fig8提示时,说明nbhtool已将nbh文件分解完毕,注意共有7个文件写入到指定存放nb文件的文件夹
(C:\838Pro_WWE)。

文件的数量代表了该ROM nbh文件含有几部分内容。

Fig9 从官方版ROM提取的7个nb文件
其中Windows.nb就是Windows mobile 6.0系统文件。

这个Windows.nb就是我们今后要定制的东西,也是ROM kitchen的主要文件都将要从这个文件中提取。

这些内容将会在后续系列中介绍。

最后,顺便说下合成RUU_signed.nbh和介绍2种安全刷机方法。

合成RUU_signed.nbh
合成RUU_signed.nbh正好和分解相反,点击NBHTool上的“NB to NBH”标签,切换到合成RUU_signed.nbh界面。

窗口中分别提供了IPL,SPL,First Splash(第一开机画面),Second Splash(第二开机画面),OS(系统文件),Ext.Rom(Extended ROM),Radio的选择项。

点击各项边上的按钮,可添加对应文件。

通过添加指定文件,可制作ROM部分刷机的nbh文件
Fig10 NBHtool 合成nbh标签界面
如我们将制作一个只含有Primarysplash和secondarysplash以及Windows.nb 3个部分ROM的nbh。

Fig11 nb文件
首先点击First Splash边上的按钮,在弹出的窗口中,选中PrimarySplash.nb文件。

将该文件添加到First splash里面。

Fig12 添加PrimarySplash到First Splash
同样,将Secondarysplash.nb和windows.nb分别添加到Second Splash和OS里面。

此步骤很重要,切记不能选错,一个萝卜一个坑,不能将OS选到Radio里面,或者将OS选到Ext.Rom里面,否则在使用合成的nbh文件刷机时,将会出严重问题。

Fig13 添加nb文件
点击“Generate NBH file”,指定存放RUU_signed.nbh的文件夹。

如C:\838Pro_WWE。

Fig14 指定存放nbh的文件夹
点击OK后,开始制作nbh文件。

制作完毕后,RUU_signed.nbh会自动生成在指定的文件夹内。

Fig15 生成RUU_signed.nbh文件
基于RUU_signed.nbh的安全刷机方法
这里简要介绍下基于RUU_signed.nbh的2种安全刷机方法。

1. 用Olipro的Custom RUU进行刷机,此法可单刷Radio,OS,开机画面,Extended ROM等任意部分ROM,可将刷机风险降到最低,有效防止机子变砖头。

如果在刷机过程中出现意外,只需再次运行该软件就可以重新刷机。

2. 用Micro SD卡刷机,将RUU_signed.nbh改名为HERMIMG.nbh,然后格式化Micro SD卡,将单独将HERMIMG.nbh拷贝如卡内。

将卡插入Hermes内,然后按住电源键和OK键,用笔捅下reset,将会出现刷机界面,按下电源按钮就可以刷机了。

注意,刷机时间因刷机内容不同而不一样,单刷Radio需10-20min,刷OS需5-10min。

本文涉及软件下载
Winrar为通用软件,这里就不提供下载链接了
NBHtool v1.1见附件1
QUOTE:
授之以渔之:
系列2. 分解OS.nb文件,制作ROM kitchen所需的ROM文件
续上文,我们已经从Dopod官方WM6.0 ROM中提取出OS.nb文件。

本文将介绍如何分解OS.nb文件,制作ROM kitchen所需的ROM文件。

再次说明下,本系列所提的ROM kitchen,均指的是bepe的ROM kitchen,但原文链接提供的ROM kitchen是基于Universal ROM,而本系列所探讨的是,如何自己制作基于dopod官方WM6.0 ROM的ROM Kitchen。

基于XDA论坛上的dump ROM工具和bepe的packagetool,我编制了一个Decompile_OS.bat批处理文件来自动分解OS.nb和生成ROM kitchen所需的OEM,ROM(含XIP)和SYS文件夹。

运行该批处理文件后,将会在该文件所在目录下生成
My_ROM_Kitchen目录,里面包括OEM,ROM和SYS目录,3个ROM Kitchen必需的文件夹。

请在下滚到页末从本站下载此批处理文件。

因Bepe的Packagetool的执行需.NET 2.0支持,所以请确保系统已安装Microsoft .NET Framework Version 2.0,或Microsoft 下载,并安装。

为了更好地查看ROM文件,请更改系统的文件夹选项,使资源管理器显示文件的扩展名和显示系统文件及隐藏文件。

1. 解压decompile_os.zip,得到Decompile_OS.bat批处理文件和Tools文件夹,批处理文件执行时调用的工具软件全部在Tools 文件夹内。

请将从Dopod官方WM6.0 ROM提取的Windows.nb文件复制到Decompile_OS.bat所在目录。

如图1。

Fig.1 将Windows.nb复制到文件夹
2. 双击Decompile_OS.bat,执行批处理文件。

将会提示“请将Windows.nb或者OS.nb复制到本文件夹”,如果你已经复制完毕,按任意键将开始分解OS文件。

如图2。

Fig.2 运行Decompile_OS.bat
3. 按任意键后,批处理文件将会将Windows.nb从命名为OS.nb,并开始分解OS.nb。

Fig.3 开始从OS.nb中提取ROM文件
4. 这时屏幕会滚动大量文件信息,不会理会。

Fig.4 Dump OS.nb
5. 出现图5提示说明,OS.nb分解完毕后,会生成dump目录和一些临时文件(OS.nb.extra,OS.nb.payload,imgfs.bin和dump_MemoryMap.txt)。

按任意键后,批处理会自动将dump文件夹改名为My_ROM_Kitchen,并调用PKGTool开始制作SYS 和OEM文件夹。

Fig.5 按任意键开始制作SYS和OEM
6. OEM和SYS文件夹制作完毕后,按任意键开始制作XIP文件夹。

如图6。

Fig.6 按任意键开始制作XIP
7. 请确保OS.nb文件在批处理文件目录下。

Fig.7 确保OS.nb在目录中
8. XIP制作完毕后,批处理会自动将原目录下的OS.nb移动到My_ROM_Kitchen/ROM/目录下。

至此Bepe的ROM Kitchen所需的OEM,SYS和ROM文件夹已全部制作完毕。

Fig.8 XIP文件夹制作完毕,将SYS,OEM和ROM复制到ROM kitchen
批处理运行完毕后,会在批处理所在目录下生成My_ROM_Kitchen文件夹。

如图9。

Fig.9 My_ROM_Kitchen已生成
My_ROM_Kitchen里面还有OEM,ROM和SYS 3个子目录。

如图10。

这3个目录就是从Dopod 官方版WM6.0 ROM中提取的ROM kitchen文件。

本批处理亦可以用于分解非官方版OS.nb文件,此时有可能Packagetool将会在本目录下生成很多该OS制作者自行添加的一些文件(如一些OEM软件等),请自行将这些文件复制到SYS文件夹下。

Fig.10 OEM,SYS和ROM文件夹
打开OEM文件夹,可以看到里面包括8个目录和OEM.cer文件。

其中OEMOPERATORS目录下的文件尤为重要,通过修改该目录下的Preconfig.txt可以设置第一次运行Windows mobile 6.0时的自动运行的配置。

OEMAPPS里面是一些系统自带的OEM的程序,如MMS程序,照相机(Camera.exe),ClearValuePDF程序等。

你可以将它们提取出来,制成ROM kitchen的可选项。

大部分的文件夹下面都含有*.rgu文件,这是注册表文件。

你可以用写字板(Notepad)编辑它们。

但为了保证ROM的完整性,不建议直接修改这些rgu文件,建议在制作ROM kitchen单独建立rgu文件,这些将在以后讨论。

Fig.11 OEM文件夹内容
ROM文件夹里面还有XIP子文件夹和OS.nb文件(从官方版ROM提取的OS.nb)
Fig.12 ROM文件夹内容
SYS文件夹内含的子目录比较多,主要是一些系统软件,如输入法,windows live等,通过编制option.xml,你亦可以将在ROM kitchen里面做成可选项。

Fig.13 SYS文件夹内容
在SYS下有一个WinCENLS_WWE文件夹,进入该目录后,可看见一个wince.nls文件。

该文件里面含有的是各个国家地区的语言,时间,货币,数字显示等,Dopod官方版默认的wince.nls里面没有包括中国(中华人民共和国)的设置内容。

本站提供的wince.nls里面含有中国,日本和韩国设置内容,但是有1.5Mb大,请在下面下载后替换原文件。

或者你也可以“拿来主义”,用本批处理分解其它网友制作的中文ROM,然后采用它们的wince.nls。

wince.nls是硬编码后的文件,所以目前为止我还不知道如何编辑它。

OK,本文到此为止,ROM kitchen所需的3个文件夹(OEM,SYS和ROM)均已搞定,下次,我们将开始建立ROM kitchen(基于Bepe ROM kitchen)。

本文涉及软件下载:
decompile_os见附件3
wince.nls
QUOTE:
授之以渔之:
系列3. 建立My_ROM_Kitchen(ROM模板)
这篇文章将介绍如何建立ROM kitchen。

如系列2中提到的,My_ROM_Kitchen是基于XDA上Bepe’s ROM Kitchen。

你可以直接从原发布页下载该ROM kitchen,请注意下载后,务必将压缩包里面的OEM,SYS和ROM文件夹替换成从Dopod官方WM6.0 ROM中提取的OEM,SYS和ROM(在系列2中制作的)。

或者你可以在本文末从本站下载My_ROM_Kitchen.zip,我在Tools 里面添加了NBHTool.exe,并修改了CreateROM.bat,使之能自动调用NBHTool制作RUU_signed.nbh刷机文件。

解开下载的My_ROM_Kitchen.zip,里面含TOOLS文件夹,和CreateROM.bat批处理,BuildOS.exe和pkgcommon.dll。

如图1。

BuildOS.exe用来定制并dump OS文件。

CreateROM.bat将会将重新Dump的OS文件制成os-new.nb。

Fig.1 My_ROM_Kitchen
将已从Dopod官方版WM6.0 ROM中提取的OEM,SYS和ROM文件夹复制到BuildOS.exe所在目录下。

如图2。

OEM,SYS和ROM文件夹内所含内容已大致在系列2中介绍过了。

在此略过。

Fig.2 将OEM,SYS和ROM文件夹复制到目录
双击运行BuildOS.exe,工具界面如图3。

因为我们到现在还没有制作任何OEM软件包,或者option.xml,所以Option下面是空空如也。

制作好OEM选项后的界面如图4和图5。

这个是我自己基于官方版ROM制作的Softbank ROM Kitchen,里面加入了SoftBank的一些专用设置,中日显示、输入,SMS、MMS等均没问题。

(PS.嘿嘿,SoftBank X01HT的朋友有福了)。

也就是在制作这个ROM Kitchen过程萌发了我写这系列教程。

吹牛一下:
采用Yahei字体,可正确显示日,简繁。

日文输入用Asukal的IME31J,中文输入用汉王马兰花。

MMS用MMSLite,可正常收发MMS和S!メール([url=mailto:***@softbank.ne.jp]***@softbank.ne.jp[/url])
增加Softbank的专用设置,如网络名称显示,系统信息为X01HT。

采用itamae的方法设定SoftBank的网络设置,可正常3G上网。

还有一些实用的系统工具如注册表优化之类等,不一一列出了。

稳定性方面很不错,至今未发生死机(这才是最爱)。

唯一缺点,通用问题,无法正常打开http://x-series.softbankmobile.co.jp。

我将在这个系列文章的最后发布这个ROM模板,但我还是希望Fans能自行制作自己的ROM,这也是本系列文章的初衷所在,因为制作ROM kitchen过程中享受到的乐趣却是无可比拟。

相关文档
最新文档