中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-17 00:41
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » [分享]把romos刷入网卡启动块的方法 查看 1,401 回复 2
楼 主 [分享]把romos刷入网卡启动块的方法 发表于 2008-04-04 22:08 ·  德国
初级用户
积分 48
发帖 19
注册 2008-03-31 14:37
UID 114539
性别 男
状态 离线
大家如果对romos 如果感兴趣的话可以看看这个

romos刷入 bios的文章较多,但是刷入网卡的文章较少,这里提供一个romos用于刷入网卡启动块。 此romos 暂时做的是intel e1000型号的。对于自己网卡的型号需要修改。
修改方法如下

首先ultraedit 之类的十六进制文件编辑器打开romos.bin 修改偏移量为0x0d 也就是第14个字节为0,然后修改偏移量为0x20的地方两字节填入网卡vendor id (little endian)
也就是说如果 id为0x8086 则填入0x20位置为0x86 0x21位置为0x80.
之后 在偏移量0x22也就是接下两个字节为网卡device id 同样是little endian. 网卡vendor id 以及 device id,可以用很多办法查到,最简单的是windows下设备管理器中选中网卡,看属性里的详细信息,里面ven_xxxxx 这个是vendor id dev_xxxxx这个是device id.

做好之后存盘,但是还不能直接刷入bios因为checksum不对了,那么运行这个程序修改romos.bin的checksum

romchk.exe romos.bin 13
为啥是13?这个是checksum的偏移量位置就是0x0d原来是0,这个程序根据计算出的checksum值,把反码填入0x0d这个位置,之后这个romos.bin文件就可以用了。
刷入网卡的办法就不介绍了,自己网上查看,各类网卡可能略有不同,不过网卡一定要支持64k的启动块空间,因为这个rom是64k的,如果你的网卡只能用16k,那么很抱歉,这个东西不适合你用。

总之romos刷入网卡启动块风险比刷入bios要小的多,最多网卡不能启动,只要刷回原来的网卡模块就行了。

之后会上传这个romos.bin 以及romchk.exe

不知道大家都懂了没有?可能说的简单了点,有问题请留言。
2 romos.bin文件以及checksum工具 发表于 2008-04-04 22:17 ·  德国
初级用户
积分 48
发帖 19
注册 2008-03-31 14:37
UID 114539
性别 男
状态 离线
romos.bin文件以及checksum工具


romos.bin 模块以及romchk.exe

romos的使用请参阅关于打造不死计算机这个帖子

[ Last edited by Farmer on 2008-4-4 at 10:43 PM ]
3 发表于 2008-04-05 03:04 ·  中国 北京 昌平区 联通
高级用户
★★
积分 506
发帖 187
注册 2005-12-04 22:41
UID 46500
性别 男
状态 离线
谢谢!看一下。
论坛跳转: