1:用Winhex打开Os.nb 设置镜像为磁盘
如下图, Os.nb 格式相当于硬盘,
Os.nb=启动扇区+分区1+ 分区2+分区3
60.0 MB (62,914,560 字节) =(1024字节)+5.31 MB (5,569,536 字节)+2.87 MB (3,014,656 字节)51.8 MB (54,329,344 字节)
分区1是XIP第一部分,我们表示为
XIP1 ,分区2是XIP第二部分,我们表示为
XIP2, 分区3为Dump的imgfs_raw_data.bin,
包含了系统文件
(实际上用PREPARE_IMGFS %1 -nosplit 生成的 imgfs_raw_data.bin 大小51.7MB,跟分区3(51.8M)只少了后面64KB的空字节)
2:修改分区表,从“分区表模板”进入
从下图我们可以看到
分区1 开始扇区 从1 ----10878 分区1扇区大小10878 ,换成字节就是10878*512=5569536字节/1024=5439kb/1024=5.31MB
分区2 开始扇区从10880 分区2扇区大小 5888 ,换成字节就是5888*512=3014656 字节/1024=2944kb/1024=2.875MB
分区3 开始扇区从16768 分区3扇区大小 106112, 换成字节就是106112*512=54329344字节/1024=53056kb/1024=51.8125MB
================================================================================
PPC的XIP大都有3.5M以上,而石墨XIP2最高只有2.87M,,如果要移植PPC的XIP 必须要扩大XIP2,
为什么我们不扩大XIP1呢?
因为XIP1作用暂不明晰,而且XIP的NK.exe文件都是放在XIP2里面.
通常我们所说的移植XIP,操作部分是指XIP2
首先OS.nb的大小是固定的,相对的扩大XIP2 必须减小XIP1的容量,
因为我们从XIP1里看到结尾有2.8M多的零字节和FFFF空字节,如果缩小XIP1容量(缩小的部分是零字节和空字节),扩大XIP2容量,让石墨
XIP2有2.87M+2.8M=5.6M,这样移植PPC的XIP不再为XIP容量所烦恼了
PS:通过研究1210的ROM后发现,1210的XIP2有3.1M,分区3 imgfs_raw_data.bin 有51.2M
石墨的XIP2有2.87M,分区3 imgfs_raw_data.bin 有51.7M
骗子兄说缩小XIP1扩大XIP2后无法开机,或许我们可以缩小分区3,不知行不行得通?
如下图,XIP2原始5888扇区 ,如果要扩大1024KB容量=2048扇区 ,就把5888修改为7936
相应的 XIP1 原始扇区 10878就要减去2048 ,10872-2048=8830
附加:石墨ROM结构跟P525差不多一样,在研究P525NB0_Kitchen后好像提到
系统会把XIP1也放到RAM中,如果删除或减小XIP1可以带来更多内存可用量,
把XIP1减小的部分分配到imgfs_raw_data.bin ,用户可用硬盘空间又加大一些。
所以我们在P525上经常看到
“[08年1月3日]华硕手机之家P525简体中文5.6版发布.大存储.大内存版”
“ROM空间增加到64M.程序内存增加到52.02M,开机剩余内存33M多点.”
不知道我理解的对不对??
另外P525 的NK.EXE 里可以调节CPU超频,把P525 PPC 的NK.EXE 移植到石墨上,不知道有问题不?