定制你自己的wm5设备rom 为838加入WiFi

680seaman

普通会员
2005-06-22
504
0
0
首先要有 .nba 格式的OS ROM文件,用 aWizard 在正常的机器上导出.
http://forum.xda-developers.com/viewtopic.php?t=34171下载软件,有空可以浏览一下那里的讨论.上诉链接内的软件其实是为htc的ppcpe 699,700,838与900定制的。prepare_imgfs.exe
将*.nba的rom文件提取成imgfs_raw_data.bin和imgfs_removed_data.bin两个文件,-nosplit在838,900和980上是必须的,加上参数的结果,imgfs_removed_data.bin将是空文件,不过它还是必须存在. 而696,700的wm5 rom请不要使用该参数,使用prepare_imgfs.exe命令,输入prepare_imgfs chsnb -nosplit,回车,cmd将提取rom到imgfs_raw_data.bin和imgfs_removed_data.bin,第二个文件为0字节.
这里chsnb为你需要修改rom的文件名.

make_imgfs.exe
从imgfs_removed_data.bin文件合成*.nba的rom,如果你提成的时候加入了-nosplit参数,此时必须加此参数,最后一步就是从imgfs_raw_data.bin得到可刷的nba的rom.cmd输入make_imgfs chsnb -nosplit,回车,命令会将imgfs_raw_data.bin合成为chsnb,并自动覆盖原来的chsnb.
此处chsnb依然为你需要更改的rom的文件名,开始你使用的什么文件名就不要更改该文件的名字,并保证该文件存在于和dos软件们的同一目录下,否则命令会出错.这个过程和从nba的rom得到imgfs_raw_data.bin看起来差不多,只是dump提示变为fixing,fixing一会就done了


viewimgfs.exe
从第一个命令提取的imgfs_raw_data.bin文件释放rom内所有东西为文件形式,自动生成dump文件夹,rom所有文件将在此文件夹内.cmd输入viewimgfs imgfs_raw_data.bin从imgfs_raw_data.bin获得dump文件夹和文件,这个过程比较漫长,cmd的窗口可以监视到过程.

BuildImgfs.exe
从dump文件夹将所有文件组合出imgfs_raw_data.bin文件,组合时,原来的imgfs_raw_data.bin文件被自动覆盖,cmd内输入BuildImgfs,回车,命令自动从dump整合出 imgfs_raw_data.bin并自动覆盖掉原来的 imgfs_raw_data.bin.这个命令不需要任何的参数和文件名出现,只要dump文件夹和imgfs_raw_data.bin在该在的地方就可以.这个命令执行的过程也比较长,cmd表现和提取dump差不多
DelFile.exe
不使用释放imgfs_raw_data.bin为dump文件夹二直接使用该命令删除rom内文件
AddFile.exe
不使用释放imgfs_raw_data.bin为dump文件夹二直接使用该命令添加rom内文件
 

680seaman

普通会员
2005-06-22
504
0
0
所有加入文件必须是英文名,中文名文件会出错的。

首先你只能在dump文件夹内添加单个的文件,不能把文件夹放入dump文件夹内。
因为
在viewimgfs命令从imgfs_raw_data.bin得到dump文件夹的过程中cmd内可以看到,dump出来的东西有些是作为module有些是作为file。
反之在BuildImgfs命令,我们也可以看到dump文件夹内的文件有些作为file有些作为module整合到imgfs_raw_data.bin。
我们需要知道的就是文件夹会被认为是module,只有单个的文件才会被作为file,作为module的文件夹一般都是系统dll,mui,而且必须特殊处理过。

所以如果你把tcpmp文件夹复制粘帖到dump内,合成的过程是不会成功的,会卡在tcpmp,cmd会提示你tcpmp作为module写入失败。
简单来说如果你想在rom内加入一个梅花输入,是绝对可以的,但也是绝对麻烦的,它的文件夹结构太复杂,还要写很多注册表。
方案1
最简单的方案
替换水货wince.nls为中国的wince.nls,加入需要的字库,修改注册表指向新字库或者不修改注册表使用修改好硬启动后导入注册表.这样水货不需要安装中文之星就可以阅读中文,且没有ie和word,qq乱码问题.也不用忍受中文之星的不稳定与冲突问题.
此方案没有任何难度,只是简单的文件删除,添加,风险最小.不过对于不喜欢外语界面的用户来说不完美.

方案2
复杂但是完美的方案
提取水货rom的wifi驱动,无线管理器和相关注册表.搞清调用关系,整合成一个补丁或者直接写入rom.
虽然完美,但是难度在需要一定的技术,要很清楚整个wifi模块的运行原理,要找出所有相关的文件和注册表.
如果有遗漏可能导致系统一些功能失效.需要时间反复试验,技术去寻找相关文件,需要细心来完成。

如果你用第一种方法,虽然很直观方便,不过在处理module时候会有很大的不方便,特别是在添加自己想要文件的时候
其实第二种方法虽然麻烦,不过却非常稳定,您可以先用rdmsflsh.pl来解开msflsh5.0的文件,接着再按文件内容添加删除自定义的文件。
因为mamaich的这个工具只处理msflsh50格式文件,理论上是没有危险的,两个xip区域都无法用这个工具修改,不过请严格按照工具使用方法修改,尽量少手动二进制修改rom,因为如果修改了虚拟内存地址指向,很可能刷新的区块会覆盖掉你的bootloader
 

asdcxh

普通会员
2006-07-08
103
0
0
厉害 请问是不是可以把WIFI 的补丁直接加到ROM 就算硬启动也不会丢列