掌上帝国's Archiver

hanguohua 发表于 2009-4-2 23:44

OEM制作SYSXIP移植教程及工具集。

[font=微软雅黑][size=4]【一】SYS移植:
      首先,要了解SYS文件夹的模块见[/size][/font][url=http://www.it1862.com/viewthread.php?tid=13063&highlight=%2Bhanguohua][font=微软雅黑][size=4]http://www.it1862.com/viewthread.php?tid=13063&highlight=%2Bhanguohua[/size][/font][/url][font=微软雅黑][size=4];第二,找到你的机型的旧模板的SYS,下载新(你要升级的版本)模板的SYS;第三,使用工具Beyond Compare对照新旧SYS,旧SYS文件夹下除保留.ROM,.VM和Metadata文件夹里的packages.cif和packages.sof其他全部用新SYS替换,新6.5的SYS会比旧6.1的多一些模块如果不是核心必须的(如CHOME等)移不移自愿,旧SYS下与对应机型驱动相关的模块必须保留(原生SYS里也绝不会出现);第四,注册表工具UltraEdit的用途就是编辑RGU和provxml文件对SYS进行优化,SYS文件的模块除dpi***(Q屏的是dpi96,V屏的是dpi192)和Lang***(英文的是Lang0409,中文的是Lang0804)外是不分机型的,所以没有必要对SYS进行太多修改,注册表项一般加入OEM中即可(后面会谈OEM的制作),但要注意provxml比RGU优先控制注册表(同样优先于initflashfiles),如果定制时加入的注册表项无效的话就要修改或删除某个provxml文件对应的注册表项了。
      SYS移植用到的工具:[url=http://www.brsbox.com/filebox/down/fc/2aa28bd30cb8c5179b19c1cd6ebd68b4]http://www.brsbox.com/filebox/down/fc/2aa28bd30cb8c5179b19c1cd6ebd68b4[/url]
【二】OEM制作:
      首先,要用到CAB--OEM,把CAB转换成OEM,编辑option.xml将制成的OEM分类;第二,某些CAB内的文件是经过签名的,制作的OEM可能不可用,就要用到CELESIGN把.dll和.exe文件去掉签名。第三,如果想把dll或xex文件转换成模块要用到‘模块工具’RecMod.exe是模块转文件,reversmode.exe是文件转模块。第四,OEM制作完成,如果你更追求完美的话还可用Microangelo Explorer对其中的程序图标进行美化,使用Microangelo Explorer可以打开exe或dll文件进行ico图标替换,小诀窍如果ico替换不成功可以用WinHex(XIP移植要用到)打开exe文件后保存再替换图标。
      OEM制作用到的工具:[url=http://www.brsbox.com/filebox/down/fc/375cb245b0a132161578d1d65b9fdd0c]http://www.brsbox.com/filebox/down/fc/375cb245b0a132161578d1d65b9fdd0c[/url]
【三】XIP移植:
      首先,要提取旧ROM的XIP工具用RomTools,如果提取不出来你只能拿来主义用现成的了,提取或下载新XIP;第二,(1)解压XIPPort.rar得到XIPPort文件夹改名为XIPPortCK(即参考文件夹),将旧的xip.bin复制进XIPPortCK文件夹运行XIPPortCK文件夹下XIPPort.exe点击dump xip.bin点击make pkgs退出XIPPort.exe。(2)再次解压XIPPort.rar得到XIPPort文件夹改名为XIPPortYZ(即移植文件夹),将旧的xip.bin复制进XIPPortYZ文件夹运行XIPPortYZ文件夹下XIPPort.exe点击dump xip.bin点击write maps点击make pkgs,复制出MAP.txt和ROMHDR.txt备用,不要退出XIPPort.exe。(3)第三次解压XIPPort.rar得到XIPPort文件夹改名为XIPPortGX(即新版本XIP文件夹),将新的xip.bin复制进XIPPortGX文件夹运行XIPPortGX文件夹下XIPPort.exe点击dump xip.bin点击make pkgs,退出XIPPort.exe。第三,复制XIPPortGX文件夹FILES文件夹下MSXIPKernel和MSXIPKernelLTK两个文件夹内的文件到XIPPortYZ文件夹FILES文件夹下对应的文件夹内覆盖,复制XIPPortGX文件夹MODULES文件夹下MSXIPKernel文件夹内的文件到XIPPortYZ文件夹MODULES文件夹下MSXIPKernel文件夹内覆盖,如果有hd.dll,hd.dll.txt,osaxst0.dll,osaxst0.dll.txt全部删除。第四,点击还在运行的XIPPort.exe的undo点击realloc p点击write maps,如果一路顺利看新生成的map.tet如果没有“!!!!!!!!!!!!!!!!!”查看新旧map的rom_00 header那一行的开头如果不同比如新的是9adc04f8旧的是9adcb2a4,要用WinHex打开nk.exe文件夹下的S000十六进制搜索a4b2dc9a替换成f804dc9a保存,然后点击build xip_out.bin生成xip_out.bin移植成功。第五,报错。(1)在Realloc P 这里会报错,解决方法:打开  ROMHDR.txt  修改 physlast: 后面的值加大物理地址结束址。(2)Realloc P 再次报错或在MAP.txt文件发现“!!!!!!!!!!!!!!!!!”要运用强大的XIPAddrTools了,点击XIPAddrTools.exe设定工作目录为XIPPortYZ文件夹下的OUT文件夹,设定参考目录为XIPPortCK文件夹下的OUT文件夹,在一个个黄条上用键盘点击空格直到所以黄条消失,自动重排OK然后按步骤进行。(3)如果新map中End: highest physical address到了Start: start of RAM之后说明physlast物理地址增加太多,试着改小。
      XIP移植工具:[url=http://www.brsbox.com/filebox/down/fc/bb6666bb8596073ec1f3bed4ba852adf]http://www.brsbox.com/filebox/down/fc/bb6666bb8596073ec1f3bed4ba852adf[/url][/size][/font]

[[i] 本帖最后由 hanguohua 于 2009-4-3 00:05 编辑 [/i]]

anta12315 发表于 2009-4-3 01:03

不错~~~~支持:)

hanguohua 发表于 2009-4-4 10:19

这是老韩使用WM以来全部心血,要求长期置顶,希望高手补充完善。

jia_xuan 发表于 2009-4-6 17:38

强烈支持!学习中!看着头晕晕…

xhuanggl 发表于 2009-5-12 13:52

学习中!强烈支持!

ljp74717 发表于 2009-5-14 10:55

精品.........感谢...

jason_Lee 发表于 2009-5-19 09:09

呵呵!这个要顶!

tudou0001 发表于 2009-5-20 10:31

学习学习

cccppy 发表于 2009-5-28 13:45

顶了再看,感谢楼主分享

沧海轻帆 发表于 2009-5-31 00:41

很好,简单明了,对我有启发,谢谢!

wylmwjy 发表于 2009-6-1 12:29

这个要好好学习!

zwtdiy 发表于 2009-6-21 14:56

{:4_57:}值得学习啊

琼帆谋 发表于 2009-6-23 21:15

孩子们的*食物谱*

**** 该帖被屏蔽 ****

HZCC 发表于 2009-6-24 02:11

学习的路过
下来备用

szlza 发表于 2009-8-1 09:15

学习学习

panmei531 发表于 2009-8-3 02:00

不错~~~~支持

wan2398 发表于 2009-8-4 00:47

强烈支持!学习中

an-song 发表于 2009-8-17 09:14

好教程,学习!

slfbee 发表于 2009-8-28 09:34

感谢楼主分享

flowdream 发表于 2009-8-30 21:41

我也来学习学习

页: [1] 2

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.