rom定制教程手把手教你做_第1页
rom定制教程手把手教你做_第2页
rom定制教程手把手教你做_第3页
rom定制教程手把手教你做_第4页
rom定制教程手把手教你做_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一部分:ROM 基础知识A1. ROM,RAM,Flash Memory ROM(Read Only Memory)的全名为只读体,是 PPC 上的硬盘部分用来和保存数也能够保系统据。ROM 数据不能随意更新,但是在任何时候都可以。即使是断电,ROM留数据。但是资料一但写入后只能用特殊方法或根本无法更改,因此 ROM 常在中担任存放作业系统的用途RAM(Random Acs Memory)的全名为随机体,是 PPC 上的移动部分,用来和保存数据的。它在任何时候都可以读写,RAM 通常是作为操作系统或其他正在运行程序的临时介质(可称作系统内存)Flash Memory,由于 ROM 不易更改的

2、特性让更新资料变得相当麻烦,因此就有了 FlashMemory 的发展 ,Flash Memory 具有 ROM 不需电力维持资料的好处,又可以在需要的时候任意更改资料,常见的 FLASH Memory 有 TF 卡(全名:TransFLash 卡),SD 卡(全名:Secure Digital Memory Card),CF 卡(全名:Compact Flash 卡)等。2. XIP,IPL,SPL,RADIOXIP(Execute In Place)中文意:立即执行。XIP 所起到的作用是让操作系统内核直接在 Flash中运行,不需要拷贝到 RAM,即指操作系统或应用程序直接从非易失性器中

3、执行,这样减少了内核从闪速器拷贝到 RAM 的时间,其采用的非压缩映像也减少了内核自解压的时间,换句话说,XIP 直接决定了 PPC 系统运行和加载程序的时间,也就是直接决定了PPC 系统的运行速度。IPL(全称:InitialProgramLoader)中文意:首次装载系统,其负责主板,电源、硬件初始化程序,并把SPL 装入 RAM,如果 IPL 损坏,由于不能加载SPL,所以机器将不能装载任SPL 完成装载的 OS 系统。SPL(全称:SecondProgramLoader)中文意:第二次装系统,就是负责装载OS 操作系统到RAM 中,SPL 损坏了可以烧录机这样的设备来重新写入,或者还可

4、以通过刷入初始的ROM 版本来实现重写SPL,俗称“寻找原厂 ROM 救砖”RADIO,字面理解:无线电通讯,其负责着 PPC 作为功能的通讯功能方面,包括它的和上网功能,事实上,RADIO 硬件模块已经在出厂时已经内置,所刷入的不过是作为应用层面的东西,因为层面的东西决定了 RADIO 硬件模块接收和传递信号的频段分配,所以硬件 RADIO 的称谓已经被弱化,一律称为 RADIO。把这种 RADIO层面的东东3. 刷 ROM,刷 RADIO,刷 ROM,意指将新的 ROM 刷入 PPC,ROM 部分包含:IPL、SPL、OS、EXTROM、RADIO、STORAGE 等,目前来说,刷入的 R

5、OM 绝大多数只包含 OS 部分,OS 部分包含两个东东:XIP、 IMGFS,而这两个正是影响系统层面的主要,鉴于其他部分,因为涉及到层面的重新写入,可另行重写,所以在此进行了抛弃,为了省事,也降低了刷入的风险。刷 RADIO,简单的说就是刷入新的 RADIO 模块的应用,不同的地区不同的通讯服务网络,无线通讯在接收和发送无线信号上的频段各有不同,那么处于这个地区和这个通讯服务网络之内的 RADIO 硬件模块,在频段调整上越接近于本地,的通讯信号就会越好,信号接收和发送就会越完整越快速,信号搜索上也会越稳定,从而使的 PPC信号强劲又省电,运营商新的 RADIO 是根据其的新的频调整的,所以

6、随着时间的推移,当有所升级其频段有所调整的时候,新 RADIO 的刷入就很有必要了。,随便解释一下吧,PPC 机器在出厂的时候对机器上锁的原理是基于微软对于开放性的WM 系统所提供的一种的 CID 地址段进行了上锁,保护机制,该机制对应用程序能够的系统资源作了限制,而厂家正是利用这一点实现了对系统 ROM 的锁定,锁定的目的一方面是为了个不同机型间的区别和独立性,更大的原因是保障厂家对WM 系统推陈出新上的独立权,锁定被集中在机器CID 地址段上,不同CID 的ROM 相互之间不能进行交互性的替换,如果强行刷入CID 不同的ROM,将无法通过 CID 校验,严重的会出现系统无法修复的现象,由此

7、 PPC 玩机的江湖大侠们便做起了文章,衍生出一种通过CID 地址段对上锁的CID 进行,过的CID 刷入后,再刷入其他不同CID 的ROM 将极大可能地通过校验(但不是 100%都可行)从而将新的 ROM 写入机器.,江湖又称SuperCID,此种新的 CID 和上面的相比具备更大的优势在于新 ROM作刷入操作的时候,如若操作失败,原机系统将不会受到较大损伤,就算造成损伤也很容易被修复,所以常称此种能使 PPC“拥有不坏之身”。4. 重启,硬启,定屏,假死,死机,和 PC 重启的机制是一样的,ROM 中的数据全部保存完好,但是重启,人人都懂RAM 中的数据全部丢失,正因此,通过重启可以解决

8、RAM 中运行不正常的现象,比如系统运行中的死机,比如程序模块找不到等问题,大部分的机器都会在一定时间内做重启操作,不是因为断电,而是由于机器运行一段时间之后会有相当一部分的缓存在 RAM 中,这是由于频繁操作机器造成的,众所周知,RAM 剩余得越少,机器运行可用的运行空间就越小,机器的速度也会越慢,耗电量也会增大,那么重启机器在关机的一瞬间 RAM 里的所有数据全部丢失,包括系统,在重新开机之后,系统会重新加载应用程序,这时候RAM 是一个相对干净的空间。重启的方式大家都知道,连我地球人也知道了,通过电源键,通过系统应用程序,通过桶 PP。硬启,和重启一样都需要重新启 器,所不同的是硬启将丢

9、失所有 ROM 和 RAM 中的数据,而重启只丢失 RAM,硬启后系统会自动还原为初始状态,所有的设定要重新来做,所有的资料要重新拷贝进去,貌似 PC 上的一键还原机制;硬启的原理是利用机器自身进行了格式化,所不同的是格式化之后机器 ROM 里的初始数据将被重新调出,这个初值数据一直都存在于 ROM 之中,你无法删除,纵使你作了替换修改等操作,貌似已经修改了数据,其实不然,只是被系统暂时隐藏了,那么在实行硬启格式化 ROM 之后,重启机器初始数据会被调处进行加载。硬启操作一般大家不常用,除非系统 ROM 里出现了无法修复的错误导致机器不能正常运行,那就只能通过硬启来修复系统,硬启的方式地球人都

10、知道,按住挂断和接听两个硬按键桶 PP,或者 1234 清除内存。定屏,顾名思义,就是屏幕定住不动不理会你的操作,PPC 中的定屏现象主要指的是在开机三屏(或者两屏)上,正常情况下开机之后随着系统的加载,开机屏幕会逐步跳过直到出现调整的界面,但是因为 ROM 制作中出现错误或者遗漏,导致新 ROM 刷入之后开机屏幕跳不过去了,无论你等待多长时间,屏幕定格在那不动了,无法进入系统,导致刷机失败,之所以解释定屏是因为在后面的解决疑难杂症里会用到这个词。假死,又称睡死,非真正的死机现象,假死现象指的是机器表面上运行正常,但是的部分应用程序不能被激发,比如在待机模式下呼入屏幕无显示无铃声,比如在操作某

11、项程序的时候出现激发暂时性无反应或者反应延时过长。死机,人人都知道,这个就不说了。5. 三色屏三色屏,因该模式下屏幕上呈现三种色彩而得名,三色屏模式最直接的作用是用于查看机器IPL 值和 SPL 值,以识别是否成功,间接作用是在模式下可以进行刷机操作。所有的刷机操作必定要在三色屏模式下实现,不论你是直刷还是卡刷;手动进入三色屏的方法是按住相机键捅 PP 重启,至于其他关于三色屏的内容留到后面再讲。B 系统原理微软的 WM 系统和其 PC 系统有着惊人的相似性,而 IPL 与 SPL 实质为 WM 的Bootloader 里的两大组成部份,前面说了,IPL 负责主板,电源、硬件初始化程序、并把

12、SPL装入 RAM 的,SPL 则是负责装载 OS 操作系统中的,所以开机启动顺序是 IPLSPLOS,SPL 还提供检测硬件、寻找系统启动分区、启动操作系统为系统的基本提供操作界面以及检测SD 卡等,像步,进入三色等。执行刷机操作的时候,也是 SPL 在发挥作用,比如连接电脑同在 SPL 装载 OS 的时候,前面提到 OS 分区又分为 XIP、 IMGFS 两部分,系统启动时SPL 加载OS 分区的XIP 到 RAM 执行,XIP 就是 WINCE XIP KERNEL,是 CE部分,XIP 是为 eXecute In Place 的缩写,在微软的 CE 定义中,这块区域存放的是以非压缩格式

13、存放,不需加载,由 Bootloader 直接调用执行。XIP 部分大约 3MB,包括 nk.exe、device.exe等程序,就像 PC 上的 ntoskrnl.exe 等。IMGFS 就像一个压缩的 GHOST 文件,包括了WM 的所有系统文件。CE启动后就可以IMGFS 文件系统上的 OS 需要的所有文件上面的文件会自动解压到 RAM。因为普通了,IMGFS 是 XPR 或 LZX 压缩格式,系统PE 文件调入 RAM 执行要进行地址重定位,为了提高效率,IMGFS 中的文件可以是重定位好的模块形式,这些程序运行就不用再重定位了,直接调入 RAM 中保留的 PagePool(缓冲池)执

14、行。刷机就是重写 OS 分区了,用 PDOCREAD 可以把整个 OS 分区读成一个 NB 镜象文件,然后把镜象解开到 DUMP 文件夹,就是所有 ROM 的文件了。文件分 2 种,一种是普通文件,另一种是XIP(ExecInPlace)模块,这是为了加快 OS 运行设计的,就是这些文件可以不调入 RAM 而直接在 ROM 执行,但因为现在都是 NAND ROM,所以XIP 模块其实还是要调入 RAM 的 PAGEPOOL 执行。但是由于XIP 模块有很多地址信息,所以移植OS 最难的就是这了。第二部分:ROM 制作工具介绍A ROM 工具简介ROM 文件系统的架构基于 WM,的系统层面的东西

15、实质上是编译不了的,ROM 制作其实上只是一种组件模块的重新排列组合的过程,先解包,然后添加删除或者替换,再进行打包以及转换,完全是“拿来主义”的做法 ,除了微软能对系统层做改变之目前尚力进行实质性的改动,其中包括部分 PPC 厂商对基于WM 系统外,任何第层面的 UI 再造。正因此,ROM 制作的难易程度和整体性能 90%取决于 ROM 制作工具,一个好的制作工具不仅事半功倍,还能最大可能减少制作过程产生的错误和麻烦,当然,对 WM之下的PPC 基本的掌握也是必不可少的;否则,只知其然而不知其所以然,在稍有低级错误出现的情况下,在 ROM 的制作上显得非常的脆弱,这也是本人为何出出得像教课书

16、一样的原因。熟手建议飘过文字阶段,文字阶段的“废话”完全是为了照顾新手而生,请别扔砖,。PPC 在发展,PPC 的使用者也在进步,工具越人性化对使用者的操作要求就会越高,反之,工具越傻瓜对操作者的要求也就越低,江湖上于是出现了针对不同机型不同组件以及不同操作步骤的傻瓜式工具,乃至经常提到的一键定制模板。在这里,我只想通过定制 ROM组件的方式来介绍 ROM 定制工具,定制包实在太多,我不可能去一一枚举。BROM 结构及组件模块说了定制 ROM 实质上是对 ROM 进行解包转换然后对其组件进行添加删除和替换上面然后再封包转换,那么 ROM 定制工具包当然就是为了解决这个过程而生了。首先来看看一个

17、完整的 ROM 在解包后的几个组成部分:SPL IPLOS(Operating System )EXTROM RADIO STORAGE等上面的列表是对于一个完整 ROM 来说的,像这样的结构一般源于ROM,而实际上我们所需要进行刷新写入的部分只有操作系统 OS 部分,其他部分已经被开了。OS 组件:XIP SYSOEM包组件及驱动由上可以看出要做出新的 OS 需要准备XIP,SYS,OEM包,组件及驱动这几样材料,而这几样材料都可以是现成的做 ROM 其实就这么简单!所要做的只是想法通过定制工具将他们打包到一起,CROM 定制工具包的功能大部分的 ROM 采用的是 NBH 或者 NBF 文件

18、结构,因为才能在 WM之间层面的之下被,ROM的操作却是 PC,这就造成了两个识别并刷入,但是定制工具就是解决这种而生的。ROM 工具包要完成的使命有:转换文件格式解包文件为 PC 环境识别衔接动态数据库文件地址嵌入功能模块封包文件等上面的这些可以不用去管它到底是怎么意思以及怎么在现实只需要了解下定制工具这个大概的功能就行了。DROM 定制包的应用很多机油曾经也看过很多,但是在常试定制 ROM 上依然未取得较大的进展(当然使用傻瓜工具的除外),鉴于这种情况,知道心急是吃不了热豆腐滴!不妨采取化整为零的方式来一步步地解决问题。要通过了解其中一种操作的方式来举一反三地对其他操作实现无师自通,比方说

19、,你会解包,那么应该就会打包,你会增加应该也会删减,你会转换过来当然也该能转换过去,无非是点点鼠标,挪挪文件而已,如果你连 PC 上的基本操作都应付不了,那说这么多算错。下面来看看应用的例子:NBH 和 NB 之间的转换,使用工具:nbhtool.exe转换 NBH 为 NB 可以使一目了然地看清楚.NBH 的 ROM 文件中到底包含了哪几部分,这种转换对整个 NBH 文件是一种模块的拆分,如图双击打开 nbhtool.exe 后点一下“NBH 转换为 NB”,然后点一下中间的“解压 NBH 文件”弹出文件夹,选择要解包的 NBH 文件的正确路径找到后点中 RUU_Signed.nbh 文件,

20、弹出好后点“确定框,需要选中解包后的文件存放路径,找可以看见界面下方有文件在快速滚动,最后弹出“完成”的提示窗,说明文件解包成功!然后进入已经解包的文件夹看看,发现只有一个 NB 文件,名为 Windows.nb,从文件大小上看这就是的 OS.nb,说明这个 ROM 里只包含 OS 部分。同理,要把 NB 文件转换为 NBH 文件,可以如下操作:打开 nbhtool.exe,选中“NB 转换 NBH”见图看看上图,怎么一下多了这么多选择框?那是因为以NBH 为扩展名的 ROM 文件转换为 NB 文件是解包,而由 NB 文件转换为NBH文件实际上是打包,既然是打包,当然可以把很多项打包到一起啊。

21、大家可以看到,上面的选择框里有 IPL,SPL,Splash(开机第一屏) ,Second Splash(开机第二屏),OS,Radio等,这些文件如果要打包到 ROM 里,必须要全部是NB 文件,并且必须要和上面的选择框一一对应,不然就会出大问题。比如要选择把 RADIO 打包进 ROM,必须要在 Radio 那个框里选择 Radio.nb(文件名不一定非要叫 Radio,但是扩展名一定是.nb)文件在 PC 里的正确路径载入,如果在别的框比如说在 IPL 选择框里选择载入的文件为 Radio.nb 文件的话,那就会出大问题,至于问题会有多大,我可以至少保证你刷完机死活都进不了系统。并不打包

22、除 OS 之外的东西,毕竟包打得越大,一般情况下,性就越高,找对了 NB 文件的路径之后,就可以点击“生成 NBH 文件”了,这个时候照样会弹出框,需要选择所生成的 NBH 文件的存放路径,路径找好后点“确定”,就可以看见界面下方的文件在快速滚屏,直到提示“成功”那的 NBH 文件也就是 ROM 就生成了,余下的就是用刷机包把它刷入的 PPC。这种转换最大的好处是将所有的组件进行模块化打包到 ROM 里的,既然是模块化那么这些NB 组件是可以自行替换增减的,那在定制的时候就可以地更换这些“零”了。上面知道了 NBH 和 NB 之间的转换,但是貌似还是不能解决实际问题,ROM 文件 NBH是由

23、OS 转换的,但是 OS 如何转换为XIP,SYS,以及 OEM 和相关组件及驱动呢,如果解决了这个问题,那菜”了。只需要找齐XIP,SYS,OEM 及其它一些材料便能做出一道“好OS.nb 要转换为最常见的材料一样需要再解包,称这种解包为DUMP(中文意:堆放,仓储),意思是将 OS.nb 里的文件一个个地拿出来进行重新转存,同样的,要解开 OS,需要OSDUMP 工具。DUMP OS.nb 文件 使用工具:ROMCMDROMCMD 是一款 ROM 制作的小工具,可以对 ROM 进行简单的解包,重组,和封包的操作,那在这里只利用它的DUM功能。打开解压后的 ROMCMD 文件夹,可以看到 O

24、SDUMP.bat 这个自动批处理文件然后刚才转换来的 windows.nb 文件进行改名为 OS.nb,对于大多数的批处理文件,对需要进行操作的文件名已经确定好了,所以如果不改名那这个 OSDUMP.bat 批处理文件是不认账的,因为它只默认处理文件名为OS.bat 的文件。接下来把改名后的 OS.nb 文件用鼠标拖动到这个OSDUNP.bat 文件上面,电脑上就会弹出一个 CMD 的会看到框里有文件在快速地滚屏,这表示 OS.nb框了,紧接着文件正在被解包,这个过程需要 3 到 10 分钟的时间,没关系,去喝杯茶或者点根烟。时间不用太长便会看到CMD 框最后自动了,那代表 OSDUMP 已

25、经完成了对OS.nb文件的解包了,下面打开原来存放 OS.nb 文件的文件夹察看一下,原来的 OS.nb 之外又多出了几个文件:发现文件夹里除从上图中可以看到多出的 3 个文件和一个 dump 文件夹,这 4 个就是由 OS.nb 解包而来的,其中有 2 个以.reg 为扩展名的表文件,1 个是.txt 文本文件,还有 1 个是 dump 文件夹。这里还是解释一下,2 个 reg 文件是原 OS 的表文件,user.reg 是对应表里的中的 ROOTUser 这一大项的,用于存放用户自定义的表项,而 default.reg 则是对应这一大项的,用于存放系统文件的表项,1 个 dump_Memo

26、ryMap.txt 文件是用来记录原 OS 文件的地址段的,最后的 Dump 文件夹是包括 XIP 的。OS 里的所有文件,当然这其中是不从上面可以了解到,OS 文件的原理不仅仅是将文件压缩到一起,它还把所有文件进行有机的排列组合,使各个文件之间互相衔接,以方便刷入机器以后能的调用,就像小孩在一样,不仅仅是将小朋友(所有文件)放进去就行了,还要为他们编排座位和床位(地址段),还要他们的名字他们的性格以及特长等(他们进行管理。表),然后才能更好地对好了,言归正传,通过 DUMP OS 文件得到了这么些东西,但是如果在这个基础上对OS 进行修改却不是个容易事情,如果要删除或者更改哪几个文件,那就不

27、仅仅只能挪动文件就行,还得改动他们的表,重组地址段,这个工程有点艰难,因为改动一旦出错那刷入机器之后就会出问题了,所以,的工作还得继续再继续处理这些文件之前,差点忘记了还有一个重要的事没做,那就是提取XIP.能需要用到提取 XIP 的工具 RomMaster,需要把 OS.nb 放进该文件夹:把 OS.nb 拖动到 BuildXIP.bin.bat 上,当然你也可以运行命令“RomMaster -w 5 OS.NB -x -oxip.bin”,程序执行后就会得到 xip.bin下面,需要把得到的 xip.bin 文件转换为文件的形式,使用 DUMP 命令,把 xip.bin拖动到 dumpro

28、m.bat 上滚屏后就得到XIP 文件XIP 部分已经出来了,接上面的工程,需要分解出 SYS 和OEM 部分,上面的步骤已经 DUMP 出了 OS.nb 文件并得到了 dump 文件夹,这里面包含了 SYS 和 OEM 部分,余下的工作需要把它拆分为SYS 和 OEM。在这里需要使用package_tool 工具,打开 package_tool 文件夹双击上图中最后的一个应用程序 PKGTool.exe 就会打开如下程序界面再点“FileOpen”,寻找先前的 dump 文件夹的路径,找到dump 文件夹,再点“确然后定”,Packages可以看到界面上有文件在执行,点完“确定”后,再点“T

29、oolsBuild等处理完成之后,进入 dump 文件夹看看至此,一个完整的 ROM 被分解完成。这里需明一下,并不是每个 ROM 组成部分都是相同的,分解后得到的组件也并非都是齐全的,所以过可能会出现无法分解或组合,根据每个 ROM 及每个工具的不同而异,此部分主要解释的是 ROM 编辑工具的用法,并非步骤性的东西。至于 ROM 的打包和制作过程,下部分具体一起讲吧以上用到的相关工具见:顺便对工具的搜集和提供者 xfr2002 兄弟表示感谢!. =ROM%2B%B9%A4%BE%DF第三部分:ROM 定制本来说稍写得详细点,把每个定制步骤拆开来写,以方便其他机型的暂时无定制包可用的朋友,后来

30、想想算了,本来就是写给初学者看的,谈到深一点的东西,熟手老手都可以做老师,时间关系,方便机油能尽快看到这个所谓的理一理,请见谅,呵呵!,所以直接把一键定制拿出来给大家A。准备工作PC 端需要安装两个支持VisualC+),一个是.ET(一,一个是(般机器都已自带),PC 端的XP,2000,98,VISTA 都支持,其他未知。安装成功后需要一套定制工具和OEM 模板,定制工具现在最前卫的为 myBUILDOS,貌似“独立小桥”在 07 年 11 月底发布的,这套工具可以说是完全抛弃了 DOS 环境操作,全 Windows 操作模式,人性化程度高,定制 ROM 只需要运行一个批处理然后按提示点“

31、下一步”就可完成整个制作过程,所以被称为一键傻瓜制作,在这个制作工具之下,完全不用担心被如此多的步骤搞得眼花缭乱,头昏脑胀。因原始的 myBUILDOS 工具是没有根据机型进行调整的,所以建议大家针对自己的机型下载对应的 myBUILDOS 工具,以免定制出的 ROM 不是自己机型的,搞得欲哭无泪。工具完了,成形的材料还需要 OEM 包,OEM 包是集成到 ROM 里的一些插件和,是必须的,如果定制包里没有 OEM 包或者 OEM 包里存在错误,那定制程序会报错,定制会进行不下去,这是 myBUILDOS 已经规定好的。另外还需要SYS 和XIP 部分,这也是必须的,系统的部分没有,定制程序也

32、会报错不让进行下去。貌似说了通废话,下面工具包来看看一个完整的定制包里有哪些东西:OEMSYS XIP看上图,很清楚地能看到整个定制包的结构,4 个文件夹和 4 个文件,4 个文件夹中没有 XIP,因为 XIP 是放在 ROM 文件夹中的,注意文件夹的名称一定要是这样的,如果改名或者名称里多个符号少个字母都是的,XIP 的名称建议大家直接写为“XIP”三个字母,当然也可以写为“XIP_ELF或者“XIP_ELFIN”,主要看你是加强版的 XIP 还是普通版的了,SYS 是通用的,不论定制加强的还是普通的。另外个文件看文件名大家应该可以猜到有个是批处理文件,分别对应 ELF 机型(普通 S1)和

33、 ELFIN 机型(加强 S1),另外两个是分别针对ELF 和 ELFIN 的匹配文件。好了,现在开工,找齐SYS,XIP,OEM 包,放到正确的位置(XIP 放到 ROM 文件夹里),可以开始定制了。开始定制如果你是定制加强版的,并且 XIP 也是加强版的,那么双击批处理文件 ELFIN_BuildNB.bat请注意上图,在整个过不要将它关闭,如果关闭,定制就不会成功。出现上图之后再稍等几秒就会出现这里面有一些是必选的,而多部分是备选的,必选的部分前面必须要都打上勾,备选的部分根据你的需要打勾,需要集成进去的就打勾,在这里,必选项除了在后面标出来的外,字体包和输入法也是必选内容,如果必选的忘

34、记选了,定制出来的 ROM 刷进机器后就会进不了系统或者进入系统后部分重要的功能用不了,比如功能。把所有必选择的打上勾,备选的根据自己的需要打勾,然后符号(见图中红圈),代表生成 ROM 文件就点击一下图中的那个三角点了之后可以看到定制程序开始处理文件了,并且进度条进,请注意红框的部分然后开始创建表最后提示完成然后关闭这个已经完成的界面,可以看到 CMD 窗口在快速滚屏(上面定制过要让这个窗口一直存在着)滚屏完之后会弹出这个界面上面的”OK(5)“可以直接点 OK,如果不点的话秒钟的倒计时完之后,会自动打开刷机的界面这时如果你想刷机就直接把空格里打上勾然后点“Next”,如果不想刷就直接点“C

35、ancel”终止。至此整个定制过程完成,新的 ROM 已经生成,普通版的 ROM 在 TOOLSRUU 之下,加强版的 ROM 在 TOOLSRUURUU 之下,是以 nbh 为扩展名的。这时候就可以把它拿出来发布到了,相当简单吧,当然比你自己拿筷子吃饭要难一点。那么这个工具会用了之后,就可以到网上去找新的 OEM包补充到的 OEM 文件夹里了,SYS 和 XIP 从何而来呢,熟手可以直接从原生 ROM 里移植过来,新手也很方便的,直接拿来主义,用各位大侠们移植好的,让他们发布到进工具包里定制属于自己的 ROM 了。就可以直接下来放这部分就介绍到这里,后面会具体说明一下在这种定制模式下会出现哪

36、些常见,包供我以及如何定制喜欢的界面,如何 DIY 自己喜欢的系统,又是如何制作 OEM们使用,尽量地做到万事不求人,岂不快哉!第四部分:ROM 定制 FAQROM 定制过会出现各种各样,不胜枚举,在此本人只结合自己曾经遇到过,以及根据自身浅薄的经验给出的分析和解决方法,希望给大家能带来点启发.A。开始运行 Buildos 导致的报错具体表现在下图报错原因大致有以下几点:1。缺少必要组件导致的报错比如:缺少SYS 文件夹,缺少 OEM 文件夹,缺少 ROM 文件夹等最常见的情况下,很多人在替换 SYS 和 XIP 部分时,把原来的 SYS 删除后忘记了放入新的 SYS 或者新的 SYS 没有放

37、到模板的根目录,导致 Buildos 找不到可用的 SYS,于是出现报错,见下图中,没有SYS 文件夹部分,于是 buildos 就出现报错了。完整的应该是:大家对比一下上面的 2就可以看出来了。2。新添加的OEM 包错误或者不兼容导致的报错在使用模板的时候,很多情况下都要集成自己喜欢的一些,但是模板里没有这些的 OEM 包,怎么办呢,最方便的方法是直接去网上找来,然后放入 OEM 文件夹里,部分 OEM 包因为有机型的限制,所以定制的时候容易出现 Builos 报错,还有部分OEM 可能本身存在错误,也导致 Buildos 出现报错。所以在添加 OEM 包的时候一定要注意:对于一次有很多 O

38、EM 包要添加到模板的 OEM文件夹的时候,最好采取谨慎的操作,一个个地添加,添加完后运行下 Buildos.bat 批处理,看看是否出现报错,然后再添加下一个,这样做能很好的避免添加后报错不知道错在哪个OEM 包上,导致又要从头来一个个地排查,工作量很大。对于报错的OEM 包,暂时弃用,或者另找别的版本的再试。B。运行 Buildos 过出现的报错具体表现在 Buildos 在生成文件的过跳出报错导致 Buildos 定制不能进行下去。例如:1。因存在重复文件导致的报错ROM 定制是不允许有两个完全同名的文件存在的,否则就会出现报错,如上图的提示,说明文件重复了。这是最常见的报错。在 bui

39、ldos 选择组件的时候,很多只能是“只选其一”的,比如拨号面板,同名的等,如果把只选其一的选了两个或以上,就会出现报错。不同版本的同名或者同功能两个,就出现报错,比如两个QCellCore 都选了,就出现报错。选了报错了,可用回头检查,重新检查 buildos 里是否选择了相同的或组件,如果有,请只留一个,其他的把前面的勾取消掉。部分同名文件存在于其他的文件中,而并不是由同名就可以去提示的文件夹中将其删除掉,见下图:红框中是该重复文件存在的路径造成的,记住重复的文件名,2。生成表过导致的报错同名文件的报错不存在了,buildos 就会开始生成表了,见下图:生成表过报错的情况比较多,并且从图中

40、是不容易让你看出错在哪的,那么可以进入 temp 文件夹的 log.txt 中来查询了:看红框看红框中的报错信息,蓝框中是报错所对应的 RGU如果你对整个 OEM 的 RGU 有 GUID 码的备份,那一眼就可以看出这个 RGU 存在于哪表指定的文件路径中不是以双杠个文件夹中,去对应的文件夹中找这个表项,可能来表示的,也可能是 RGU 尾部缺少空行,仔细检查后再重新运行一次 Buildos 即可。C。因定制过程出现问题导致 ROM 刷入机器后产生的错误这是大部分玩 ROM 定制的机油最容易出现,也是最难排解,定制过程都能顺利通过,但是定制出的 ROM 刷入机器后出现各种各样不正常的情况,导致机

41、器不能正常使用,大体可分为以下几种情况:1。开机卡屏ROM 刷入后重启进不了系统设置界面,直接被卡在第一二三屏的界面不能通过,这就是常说的定屏现象.卡屏现象分为两种:a.卡在第一屏已经学习了系统加载的顺序为 IPLSPLOS,IPL 是负责加载系统的底层应用程上面序,IPL 加载过后,SPL 将首先加载在系统中缓存的信息,比如拨号面板,字体包,输入法,而这两项加载过程如果出现不匹配或错误,将直接导致机器进入系统卡在第一屏.等,IPL,主要负责加载系统底层的驱动和硬件的应用程序,驱动不是通用的,绝大部分都会有机型的限制,如果应用程序的驱动不匹配,或者不能被正常调用,IPL 就不能实现正常的加载,

42、开机就会直接进入三色屏或者直接卡在第一屏.所以,一定要注意的是系统驱动程序以及与其匹配的源文件,包括 MUI 文件,DLL 文件等.SPL 在加载的顺序上是首先加载和底层驱动配套的应用程序以及需要缓存在系统中的信息文件,如果这些信息文件存在错误,比如字体包,输入法,在缓存过出错,就会直接导致卡在第一屏,至于错误出在哪,可能与系统底层的驱动不匹配,可能文件格式不正确,也可能是自带的DLL 源文件不能识别,比如很多安装过手写输入法的机油就出现过装完重启被卡在第一屏的情况,总之,错误的原因是多方面的,建议大家使用已经测试过的 OEM 包,并非OEM 包就是最好的,大家要注意这个问题.版本的另外,需移

43、植过明一下的是,对于自行移植 XIP 和 SYS 的朋友,如果 XIP 移植不完整或者SYS有部分文件未替换,一样会导致卡在第一屏,具体情况留到后面的移植部分中再详细说,所以卡第一屏的情况是比较复杂的,原因只能这么简略地谈谈,具体还在于大家在自己动手动脑地测试和排除才能找到实际原因所在。b.卡在第二(三)屏同理,卡在第二屏的情况指的是第二屏动画结束就定屏了,如同死机一般。这种情况一般是由于系统调用部分 DLL 出现错误导致的。SYS 移植后表项可能和系统驱动里底层的DLL 源文件名的定义或者路径的定义不一致,导致不能正常调用 DLL,这种情况下需要手动更改 DLL 的路径指向或者更改 DLL

44、在表里所定义的文件名,让表能正常调用DLL,另外动画的尺寸不正确也可能导致卡在第二屏,所以大家在自行移植的时候注意这个问题,特别是注意底层驱动对应的 DLL 文件名及路径。卡在第三屏也是同理,在这里有两种情况,一是进入第三屏直接卡住,一种是跳出调整界面的文字提醒的时候卡住,屏幕触摸无反应,前面一种情况可能和 Touch.dll 这个文件有关,表的定义可能会被定义为 Hwtouch.dll,文件名不能和部分表对应导致无法正常调表定义正确与否有关,用,后一种情况可能和触摸的 Touch.dll 有关,也可能和输入法的总之原因比较多,。一切在于靠自己的经验摸索着去解决。2。程序或不能正常调用表现在很

45、多方面,这里只举几个例子来说明a.该程序找不到相应的组件,或者其件这种情况一般为相应的 exe 程序没有被定制进去,或者缺少相应的 DLL 组件导致程序不能正常打开或运行。这个大家可以去 Windows 下找找,看有无源程序或相应的模块存在,如果没有则是未定制进去,如果存在源程序,就可以尝试点击它打开,如果依然打不开则说明该 OEM 包可能并不支持该机型,使用在该设备上不能生效。验证不能通过,或提示为一个非本设备可使用的组b.设备的“程序”或“设置”列表里未出现相关的快捷图标在排除 804MUI 文件出错的情况下,“程序”里未出现快捷方式和定制 ROM 时对该的快捷方式的定义有关,在该的所指定

46、的快捷方式不正确或者路径出错导致的,可以找到该OEM 包里的initflashfiles.txt,打开它查看一下所定义的快捷方式是否指向了“程序”文件夹;而“ 设置”缺少快捷方式则直接与表项的定义有关,看 所 定 义 的可以打开名 称 与HKEY_LOCAL_MachineControlPanel 下 , 看HKEY_LOCAL_MachineControlPanelMyCpl 下的名称是否一致,然后再查看下是否设置了隐藏,该字节值。的 Group 项的键值是否在 0 到 2 的范围内以及是否设置了Hide 为 1 的双3。程序界面出现显示错误一般出现在拨号面板,输入法,以及字体上面,部分正常

47、的现象。界面会出现界面大小及界面字体不拨号面板最容易出现的是显示错误,面板定制进去变成白板或者直接就打不开,这个原因也比较多,可以采取排除法来找原因要注意这个拨号面板是针对 VGA 还是 QVGA 的,因为显示屏的分辨率不首先,同会导致面板成为白板或出现其他显示不正常的情况;在此,还是对 VGA 和 QVGA 进行下简单解释吧:VGA(Graphics Array)全名图像阵列,是 IBM 在 1987 年一个使用模拟信号的电脑显示标准,这个标准对于现今的个人电脑市场已经十分过时了。即便如此,VGA仍然是大多制造商所共同支持的一个低标准,个人电脑在加载自己的独特驱动程式之前,都必须支援 VGA

48、 的标准,VGA 在指定色版颜色时,一个颜色频道有 6 个 bit,红、绿、蓝各种不同的变化,因此总共有 262,144 种颜色。在这其中的任何 256 种颜色可以被选为色版颜色,通常情况下,VGA 的分辨率点阵为 640480,但是由于采用了 Windows Mobile系统的缘故,致使VGA 的显示被限制在 65000 色(16 位色)之内。QVGA (Quarter VGA)意指四分之一的VGA图像阵列,VGA 的阵列为 640480,除以 4后得到的阵列模式为 320240,QVGA 的点阵数较 VGA 减少到了四分之一,换句话说,在同样尺寸的液晶屏上进行图像显示输自然就比不上 VGA

49、 细腻、清晰和 真了,但是,不管运用哪种显示分辨率都有其好处所在,VGA 分辨率高,但是因为其点阵队列较密集些,所以在显示图像上需要加载的时间也会较 QVGA 长很多,对 CPU 的处理频率也要求更高,在没有配备独立显卡的情况下,同样主频的 CPU 在同样尺寸的 VGA 和 QVGA 屏上处理图像显示的时候,QVGA 屏在收到指令后显示图像的速度较 VGA 屏快得多,这就是为什么HTC 在使用德州仪器 201 主频的 CPU 上只使用 QVGA 屏的原因,如果使用VGA 的话,打开或者图像文件的过程将会成为漫长的等待;而使用 VGA 屏的话,要想图像和显示速度提高,只能通过提高 CPU 的主频

50、,或者配备独立的硬件显卡,否则,就会如同“小牛拉大车”,所以,要华丽和眩目是需要硬件配备付出代价的,而这些代价的付出将直接连带着其他配件性能的相应提高,比如更强的电源管理能力和更大容量的电池续航能力。总而言之,使用 Q 屏最大的好处就是在较低的硬件配备上可以获得同样快速的操作体验,缺点就是屏幕色彩不够华丽和丰富。解释完这个之后,应该明白了一个道理,如果把 V 屏使用的拨号面板应用到Q 屏之上,就会出现显示不正常,因为它们的分辨率是完全不同的,所以大家一定要看清楚拨号面到底是 Q 屏之下的还是V 屏之下的。拨号面板出现不能正常显示的另外一个重要原因还和其搭配的 DLL 有关,众所周知,拨号面板的

51、“拨号”功能是通过调用 DLL 来实现的,如果 DLL 缺失或者 DLL 指向错误,拨号面板一样不能正常显示,因为缺乏必要的 DLL 的显示支持,所以可以经常看到部分拨号面是需要连带集成相应的智能拨号插件才能正常显示的,所以大家在集成拨号面板的时候也要注意这个问题。下面说说字体包字体包是系统调用的显示字体,有人喜欢宋体,有人喜欢雅黑,也有人使用别的字体,这里说一下,Q 屏之下宋体是最清晰的字体,因为它和屏幕的显示模式是相同的,同样使用了矢量点阵的模式在显示,所以宋体是不需要开启任何辅助就能直接显示的。而别的字体比如雅黑,这是微软根据其英文字母在 PC 环境之下的显示而创建的,对于汉字来说,显示

52、很模糊,纵然开启了所谓的效果渲染 ClearType,一样得不到改善,因为这种渲染同样是基于英文字母的,很遗憾,微软没有为Windows Mobile 系统研发专门的汉字效果渲染技术。闲话到此,来看看字体会出现哪些常见问题a。汉字字体显示为“口口”等方框模式这种情况应该是大家经常碰到的情况;大家知道,系统要调用一种字体是有几个前提条件的:系统里存在该字体文件,一般在 Windows 下,也可能可以放在 WindowsFont下该字体文件的路径是正确的,就是说系统能根据你指定的路径找到它,在你指定的路径之下找不到当然就无法调用了c.字体文件名是正确的,比如“msyh.ttf,不然找到了该路径找不

53、到这个文件名一样调用不了d.字体文件的字体名称是正确的,比如微软雅黑e.字体的是正确的,下面来看看:以“微软雅黑”为例,字体“微软雅黑”,比如你安装的就是把系统原来的汉字显示部分的字体或者全部字体改变为原本是宋体的,比如系统里的字母通常为Tahoma 字体,你需要把这些字体全部改为调用“微软雅黑”来显示,如果你不定义原来里宋体为调用“微软雅黑”,那么系统就会寻找宋体来显示,但此时你没有集成宋体,那该变成“口口”了。里的字体就会字体一般是字体显示为“口口”的最大病因,在集成字体之前,请打开你的字体 OEM 包里的 RGU表,请注意这项下面的内容:HKEY_LOCAL_MACHINESoftwar

54、eFontLinkSystemLink在这项之下会看到有很多字体,比如细明体、 新宋体、Times New Roman等,这些就是系统里可能出现的字体名,需要把这些字体全部换成调用你现在的新字体比如“微软雅黑”,在指定路径的时候请一定记得路径在 RGU 里是以双斜杠“”来表示的,集成到表里才会变成单斜杠 “ ,可 以 这 样 来 表 示 : Times NewRoman=Windowsmsyh.ttf,微软雅黑,意思是说,如果系统要调用Times New Roman这个字体的时候,它就会指向在 Windows这个路径之下的字体名为“微软雅黑”的“msyh.ttf”的这个字体文件来调用,如果你不

55、这样指定,那么系统在调用Times New Roman这个字体的时候会自动寻找这个字体的文件来调用,如果找不到,这部分的字体就会出现“口口”。OEM 包里的字体会默认为 “Tahoma,Tahoma 是系统里默认用来显示在通常的情况下英文字母的字体,如果显示在汉字上,就会出现大小不一甚至显示模糊线条发虚的情况,我们可以看到很多字体是被指定默认为调用“Tahoam”的,比如 :细明体=windowstahoma.ttf,Tahoma新细明体=windowstahoma.ttf,Tahoma 新宋体=windowstahoma.ttf,Tahoma那么在这种情况下, 只需要重新定义一下Tahoma

56、 这个字体就 OK 了,比如: Tahoma=Windowsmsyh.ttf,微软雅黑,那么在系统默认指定调用 细明体、 新细明体、 新宋体这些字体的时候,它会指向“Tahoma”这个字体,而“Tahoma”这个字体又指向了 msyh.ttf,微软雅黑,所以,实质上,中间转了一道弯,系统还是在调用“微软雅黑”这个字体。另外,还要注意这个表:HKEY_LOCAL_MACHINESoftwareInboxRichEditHostFontFace=微软雅黑这个表是定义系统里默认的字体的,大家一般喜欢把这个默认字体定义为你要装的新字体名比如“微软雅黑”,这样定义道理上来说是没错的,但是,在调节字体大小

57、的时候,实质上是以“Tahoma这个字体名来调节默认值的,如果指定系统字体为“微软雅黑”,那么部分字体的调节是不能生效的,换句话说,系统里会出现字体大小不一的现象,比如前两天有机油问到我关于 2DFLO“联系人里的字体很小,几乎缩到一起去了,还有部分界面里的字体看不清楚怎么调都调不大,所以请大家在定义这个默认字体键值的时候,最好定义为:RichEditHostFontFace=Tahoma这样,那么系统里的字体就不会出现大小不一模糊不清的情况了,并且如果你想改变字体的大小,直接可以去下面这个HKEY_LOCAL_MACHINESystemGDIV1FontAlias表路径里去修改就OK 了:具

58、 体 还 有 不 清 楚 的 请 直 接 去 看: 三 步 教 你 换 字 体,这个里有详细的关于字体映射和字体大小调节的说明。b。字体显示为乱码显示不是“口口”,出现诸如“-%&*#”这类的东东,甚至显示为日文符号或者不能显示是空白,这种情况是由于所定义的字体改变字型所导致的,当然在拨号面板里出现的例外(这是拨号面板),一般出现在部分的符号里,这种情况的原因是因为新装的字体包在定义字体调用的时候没注意到符号的调用,本人曾经碰到过安装雅黑粗体的一位机油有过这种情况。部分字体包不能自行加大字体和加粗字体,否则符号和部分字体将不能被识别,比如擅自改动了以下项:HKEY_LOCAL_MACHINES

59、ystemGDISYSFNTHt=dword:00000384 WT=dword:00000190HKEY_LOCAL_MACHINESYSTEMGWEOOMFntHt=dword:00000384 WT=dword:00000190HKEY_LOCAL_MACHINESYSTEMGWEHt=dword:00000384 WT=dword:00000190 HKEY_LOCAL_MACHINESYSTEMGWEHt=dword:00000384WT=dword:00000190PopFntBarFntPopFnt以上项是改动字型的高度和宽度的,汉字因为是笔画点阵结构,所以改动会生效,但是符号和

60、字母如果在调用相同的字体的时候就会出现显示为乱码,这是因为改动后在点阵上不能支持而导致的,所以请大家注意这个问题,擅自改动有可能会导致不能正常显示符号和字母。如果硬要改动不可,那么请将字母和符号到其他的字体上,字母和符号的在表里的具体项为:Arial=WindowsTahoma.ttf,TahomaMS Sans Serif=WindowsTahoma.ttf,Tahoam Courier New=WindowsTahoma.ttf,Tahoma Nina=WindowsTahoma.ttf,Tahoma或者直接在HKEY_LOCAL_MACHINESystemGDIV1FontAlias下进

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论