|
|
|
经过几日的折腾,终于成功把我的华硕tusl2-c,815ept的机子搞成了u启,略有心得,希望对有兴趣的朋友有所帮助。用网卡bootrom实现。模块为:uleak上传的plp的pcirom的文件头(锯下前1016字节),后面的部分用winimage打开,再用最新版的plpbt.bin(5.03,2009-03-28)把里面的5.0版替换掉,再把锯下来的头和这个img合并。下面的步骤最关键:用winhex或其他16进制编辑软件进行修改(我用的是dos版的hiew),改4各地方,就是把中断19h的向量地址改成18h的向量地址!(00000361:mov word ptr es:0064,0308改为mov word ptr es:0060,0308;00000368:mov es:[0066],cs改为mov es:[0062],cs;00000324:cmp es:[0066],ax改为 cmp es:[0062],ax;00000319:cmp word ptr es:[0064],0308改为cmp word ptr es:[0060],0308)然后用bromcfg进行检修,刷进网卡rom。上机测试,OK!!!!如果有最新romos的源码当然更好,就可以直接编译了,但我搞到的好像有问题,编译出来的rom总是在虚拟盘读入内存后就卡死了,要不就去直接读物理a盘,没办法,只能采取拼装的办法了。uleak提供的rom中的plpbt5.0和新版5.03也有很大差距,我的读卡器版winpe在5.0上启动不了,但在5.03上启动成功,但plpbt仍然需要进一步完善,在winpe启动过程中提示:an unexpected error (769) occured at line 709 in d:\srvrtm\base\boot\setup\setup.c,不知何故,但回车之后,顺利进入pe桌面。把19h改为18h得益于对网卡bootrom模块的分析,rtl8139的pxe模块启动时会有个选项 用int 18,还是int 19,也就是说,有的机器可能不支持其中的一项,我的华硕815就不支持int 19,在网卡boot代码调入内存后,机器会刷新int19h的向量地址,而18h则会保存。 |
|