设为首页收藏本站

移动叔叔

搜索
查看: 2874|回复: 8
打印 上一主题 下一主题

手把手教你使用 OsBuilder

[复制链接]
跳转到指定楼层
楼主
发表于 2010-10-28 13:10:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手把手教你使用 OsBuilder

看到有很多会员在本论坛下载了我发布的ROM定制工具--OsBuilder,但也有很多会员提出了这样那样的问题。为了让大家更好地使用本工具,少走弯路,特将自己的使用经验写出来,供各位参考。
如果这中间有什么错误的地方,还请及时更贴指正。
废话不说,还是直奔主题吧。
一、准备工作
1. 安装程序及汉化补丁
首先,请移步此处下载OSBuilder的安装文件和我的汉化补丁。
由于下载的OsBuilder是.msi格式的安装包,所以我们需要先安装(怎么安装,我想就不用啰嗦了)。安装完成后,请将下载的汉化补丁解压缩后直接覆盖程序所在目录的en-US子目录下的同名文件。
2. 找一个您要移植的机型的官方ROM,并用其它工具提取nb0或payload文件。为什么要官方的ROM,因为我们需要其中的OEMXIPKernel、OEMDrivers等该机型的OEMXIP和驱动。可能有人会问,为什么不可以用其他民间高手定制的ROM呢?答案很简单,现在好多民间高手做的ROM都是加密的,我们没法提取到其中的OEMXIP和驱动。
3. 新建一个您要放置核心和OEM组件的文件夹(名称就随意了)。在该文件夹下,新建一个SYS子目录,然后将需要移植的新核心的组件全部复制到该子目录下。PS,如果您需要多核心定制,那么您还需要在SYS子目录下新建一个SYS_XXXXX(XXXXX是指新的需要移植的核心版本号,如SYS_21911)的子目录,并将新核心的组件全部复制到该子目录下。好了,这一步完成后,请再次新建两个子目录:OEM和ROM(注意,这两个子目录必须和SYS子目录同级)。呵呵,如果您需要多核心定制的话,还需要新建一个Donor的目录,并在该目录下新建一个XXXXX(此处的XXXXX和刚才的XXXXX必须相同,如21911)。
4. 从官方ROM中提取所有的OEM组件并复制到OEM文件夹。当然,您也可以用您想要的OEM组件,但这个组件不能是EXT格式的,且该组件中必须有DSM文件存在。这一点非常重要,切记!
好了,现在可以正式开始我们的OsBuilder之旅了。

本帖隐藏的内容需要回复才可以浏览
二、创建模板
1. 双击桌面上OsBuilder的快捷方式,启动程序。
2. 此时,我们会发现,标题栏上的所有按钮都是灰色的,不可用。没关系,点击“文件”->“打开文件夹”。好了,选择您刚才所建的文件夹,确定。
3. 看一下,标题栏上的按钮是不是可用了?问题有来了,右侧窗口内有好多关于什么什么没找到的提示,没关系,暂时先别管它。
4. 点击标题栏中间的“附加工具”的图标,看到“创建模板”了吗?好,点击它。在弹出的TPL Builder界面中,点击“文件”->“打开”,告诉程序,您刚才准备的nb0或payload文件在哪里。PS,如果您准备的是payload文件,请在“打开”界面的右下角选择payload 文件(*.payload),程序默认是nb0文件。不然,找不到可别怪我哦。好了,点击“打开”。
5. 回到 TBL Builder 界面,仔细看看左上角,有什么变化?对了,假如程序至此您的设备的话,此时,会在左上角 TBL Builder 标头的左边括号内显示您设备的机型(如,我的是HTC-Topaz)。没有?也没关系,说明程序不支持您的设备,但我们还可以让OsBuilder做其它的事情。继续点击“文件”->“另存为”,在弹出的另存为对话框中,选择您刚才新建的ROM子目录,并输入文件名:ROM,点击“保存”。好了,模板文件ROM.tpl创建完成了,退出TPL Builder。
6. 呵呵,看看我们刚才的成果。点击标题栏上的“刷新”按钮刷新一下,怎么样,左边窗口中涉及模板的信息是不是都显示出来了?什么,还有错误提示?没关系,继续不睬它。
7. 点击“附加工具”,看看,下拉菜单中的“模板 (ROM\ROM.tpl)”,现在是不是可用了。好,选中它后,会出现三个子菜单项,我们选择其中的”提取XIP组件到ROM\XIP“。怎么样,要不要到ROM\XIP目录下去看看多了些什么?呵呵,您要移植的设备的OEMXIP都在里面了。
8. 用本论坛下载的新核心的MSXIPKernel、MSXIPKernelLTK替换刚才我们去看的XIP目录下的同名文件夹。PS,多核心的会员注意了,您不需要在这儿替换这两个MS打头的目录。您需要将新核心的这两个文件夹复制到您刚才新建的Donor\XXXXX目录下。
9. 这儿先做一件事吧,免得等下忘了。在程序主界面的标题栏上,有一个生成WM6.1内核的下拉列表,注意您刚才准备的官方ROM,是WM6.1还是WM6.5,两者必须一致。
10. 好像还有什么不对劲的地方?哈,对了,现在的界面缺了一个组件列表窗口。简单,点一下标题栏上的显示/隐藏其它组件按钮,行了。现在看看主界面,从左到右,应该有三个窗口了吧?
三、创建分组
1. 好多会员应该对 option.xml 这个文件很熟悉,确实,有了这个文件,我们对组件的选择是相当的方便了。那 OsBuilder 有没有这个功能呢?答案是肯定的,而且功能比 option.xml 强多了。下面,我们通过例子来具体说明。
2. 大家应该注意到了,主界面左边的窗口始终是空白的。那这个窗口是干什么的呢?呵呵,聪明的童鞋已经想到了,对,这儿就是创建、显示可选组件的窗口。
3. 点击标题栏上的新建根分组按钮,弹出分组属性界面,我们在名称栏输入SYS,类型默认不动,提示和描述随您心情填写。完成后点击OK退出。好了,一个分组创建成功。这时,展开中间窗口的SYS目录,拖曳AUTOUPDATE到左边窗口的SYS根分组上。怎么样?有什么变化吗?继续拖曳Autoupdate_Lang_0804到SYS根分组上。好了,两个组件已转移到左边窗口的SYS根分组内了。
4. 大家鼠标右键点击一下SYS根分组试试,有什么反应?哈,什么反应都没有。应该是有反应的,但可能是程序本身的Bug吧。怎么办呢?这样吧,我们点击标题栏最左边的配置菜单按钮,在弹出的下拉菜单上选择保存为默认配置,在提示是否要保存时点按是。好了,我们准备退出程序。什么?退出程序?没错,就是退出程序。
5. 重新启动程序,重新打开刚才的文件夹。是不是中间的那个窗口不见了?没关系,重新点下显示/隐藏其它组件按钮。点按标题栏上的展开按钮,展开左边窗口的SYS根分组。
6. 此时,我们鼠标右键轻击SYS根分组,看看有什么反应?哈,行了,出来三行上下文菜单。我们点击创建分组,在弹出的分组属性的名称栏内输入Autoupdate,类型还是不变,提示和描述还是随您的心情填写,点OK退出。看看SYS根分组下是不是多了个文件夹图标的Autoupdate?接下来,将SYS根分组内的AUTOUPDATE、Autoupdate_Lang_0804拖曳到分组Autoupdate上。怎么样?一个Autoupdate的分组是不是创建成功了?
7. 如果您还需要定制多语言的ROM,那么您可以将中间窗口SYS目录下的Autoupdate_Lang_0409(这个子目录怎么来的,就不要问我了吧?)拖曳到Autoupdate分组内,和刚才拖曳的那两个组件并存。只要您在标题栏上的Lang下拉列表中选择了什么语言,程序就会自动判别应该使用哪个语言的组件。注意,程序自动判断标题栏上Lang下拉列表中选中的语言并进行定制。
8. 有聪明的童鞋又要问了,假如我的OEM组件中有宋体和雅黑两种字体,但ROM中我只想集成一种字体,那么,分组中是不是可以做到我选了雅黑就自动不选宋体、选了宋体就自动不选雅黑了呢?答案显然又是肯定的。不知大家注意到没有,在前面出现过的分组属性界面上,有个类型的下拉列表框我们都是默认的。现在,我们就要通过这个类型来实现我们的这个单选功能。因为我手上没有这两种字体,所以只能假设一下。我们先创建一个名为Font的根分组,类型为强制性选择(为什么要强制性选择,不能选非强制性选择吗?呵呵,这是因为ROM中必须有一个字体,所以我选择了强制性)。然后在Font根分组中再分别创建两个名为宋体和雅黑的分组,属性均为常规分组。
试试,目的是不是达到了?注意,不管是根分组还是分组,所有分组中的对象不能少于两个。所以,您可能需要为宋体/雅黑每个字体都创建两个组件,哪怕一个组件中只有一个dsm文件,就像官方ROM提取的那样(如:PACKAGE_Arphic_CHS_Font和PACKAGE_Arphic_CHS_Font_0804,两个组件)。
9. 依此类推,发现大家的聪明才智,继续创建分组吧。全部完成后,千万记得要在配置菜单中点下保存为默认配置哦,不然全功尽弃了可别怪我哦。嘿嘿
四、设置RGU和PROVXML文件的写入顺序
1. 这一点,非常重要。还在用BuildOS的童鞋一定记得,每次移植核心以前必做的一件事就是复制原机型的packages.sof和packages.cif文件。但是从来没人告诉我们为什么要这么做。那么,我现在就可以告诉你,为什么要这么做。
2. 点击菜单上设置,打开设置界面,点击注册表预览页,选中导入 provxml 文件,点OK退出。
3. 点击附加工具按钮,点击下拉菜单中的编辑 packages.sof。
4. 打开Sof Cif Builder后,我们看到有两个窗口,两个窗口中都是GUID。这是怎么回事呢?原来,packages.sof里面就是我们所有组件(包括SYS和OEM的组件)的集合。这个集合的作用就是在编译.hv文件时注册表项写入的先后顺序!即左边窗口中下面组件的RGU覆盖上面组件的RGU。
5. 我们现在的任务就是将右边窗口中的GUID移到左边窗口中。然而,右边窗口中的哪个GUID应该移到左边窗口的哪个GUID的上面或下面,我现在却帮不了你了。因为这涉及到每个组件的.rgu文件的内容。但我可以告诉你一个大方向,即SYS组件基本在上面,OEM开头的组件紧跟在SYS组件的下面,PACKAGE开头的OEM组件又紧跟在OEM开头的组件的后面,PACKAGE开头的组件中,又可以将以_0804这类语言特征的OEM放在最后。实在无从着手的话,大家可以多看看官方ROM中的.sof文件,特别是LEO的英文ROM,它的排列顺序看着很整齐。
6. 当您将右边窗口中的GUID全部移到左边窗口后,您就可以点击文件->保存了。
7. 如果左边窗口中有红色的GUID,您可以不管它。这只是告诉您,该GUID的组件您的SYS或OEM中没有。没有的话,编译.hv文件时是会忽略的。
8. 再提供一个方法,附加工具中有一个很好的工具:注册表预览。您可以将调整packages.sof文件前后的注册表保存下来,然后用第三方工具进行比较,看看注册表有什么变化。
9. packages.sof文件调整完毕后,您点击附加工具中的编辑packages.cif,同样的,您需要将右边窗口的GUID移到左边窗口。但这个就简单多了,您只要将右边窗口中的GUID移到左边就行了,上下的顺序没有太多的区别。
10. 有关packages.sof,实际上就是RUG文件和PROVXML文件在编译.hv过程中的组件的先后顺序。顺序不同,最后注册表的项也会不同。举个最明显的例子,官方简中版的存储卡的名称,在OEMDrivers的RGU文件中是Storeage CARD,而在OEM_Lang_0804的RGU文件中被改成了存储卡。为什么?就是因为在packages.sof文件中,OEM_Lang_0804的GUID被排在了OEMDrivers的后面,编译时,OEM_Lang_0804的RGU文件覆盖了OEMDrivers的RGU文件。
五、菜单设置项的说明
1. 菜单设置项,我就不作太多的介绍了,自认汉化的还算可以,应该都能看懂,就自己去慢慢摸索吧。
2. 需要提醒的是,在设置的XIP页面,有移植/重建两个选项。这里怎么选呢?假如你是将新核心的MS开头的两个XIP目录替换到ROM\XIP目录下的,那么你需要选择重建,并且在重建的下拉列表中选择ROM\XIP 中的组件;假如你是将新核心复制到Donor下的,那么你需要选择移植,并且OEM XIP的下拉列表要选择ROM\XIP 中的组件,同时MS XIP的下拉列表要选择DONOR 中的组件,还有该下拉列表下的MSXIPKernel和MSXIPKernelLTK必须勾选。
3. 在设置的生成 Dump 和 ROM页面,如果您的设备不被支持,则不要勾选使用内置引擎生成 ROM 文件 (nb0 或 payload)。即让程序在生成imgfs-new.bin后结束。剩下的工作由第三方工具来完成。还有,此页面中的生成时使用的XIP的下拉列表,请选择移植/重建XIP。此行下的如果 .VM 或 .ROM 未找到,请选中依据XIP数据创建,这样您就不需要.VM和.ROM文件了。

六、结束语
罗哩罗嗦了这么些,不知大家现在会不会使用这个工具了。如您有更好的意见或建议以及还有什么问题,都希望能跟帖指正、提出。
sunjgjd 于 2010-7-15 夜
沙发
发表于 2017-1-29 23:11:34 | 只看该作者
感谢楼主的热心分享

 

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

© 2008-2025 移动叔叔. 版权所有,专业的网络售后平台 ( 闽ICP备18006692号-3 )

商务合作点击这里给我发消息|Email:service@mobileuncle.com|手机版|移动叔叔     

GMT+8, 2025-1-10 06:35 , Processed in 0.196580 second(s), 11 queries , Gzip On, Memcache On.

返回顶部