中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » [分享]把romos刷入网卡启动块的方法
作者:
标题: [分享]把romos刷入网卡启动块的方法 上一主题 | 下一主题
Farmer
初级用户





积分 48
发帖 19
注册 2008-3-31
状态 离线
『楼 主』:  [分享]把romos刷入网卡启动块的方法

大家如果对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

不知道大家都懂了没有?可能说的简单了点,有问题请留言。

2008-4-4 22:08
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Farmer
初级用户





积分 48
发帖 19
注册 2008-3-31
状态 离线
『第 2 楼』:  romos.bin文件以及checksum工具

romos.bin文件以及checksum工具


romos.bin 模块以及romchk.exe

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

[ Last edited by Farmer on 2008-4-4 at 10:43 PM ]

2008-4-4 22:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zhgwbzhd
高级用户





积分 506
发帖 187
注册 2005-12-4
状态 离线
『第 3 楼』:  

谢谢!看一下。

2008-4-5 03:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: