LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 959|回复: 3

这种调用BIOS功能的方法可行吗?

[复制链接]
发表于 2006-8-22 09:57:27 | 显示全部楼层 |阅读模式
想在linux下使用BIOS功能,以前知道DOS可以直接支持BIOS功能调用,但DOS运行在实模式。查下资料发现linux提供了vm86()系统调用,可以利用它完成某个BIOS功能调用吗?
现在转换思路了,打算采用nasm写16位dos程序,然后在linux下用dosemu加以调用。
发表于 2006-8-22 11:42:40 | 显示全部楼层
dosemu 属于虚拟机, 在虚拟机里调 BIOS 系统调用和在真实的系统中应该是不同的. 以前学微机原理时在 Linux 下用 dosbox 测试一些小程序, 比如修改系统定时器, 这样做虽然可以得到运行时的效果, 但这种效果应该是由软件虚拟出来的.

楼主有什么要求非要用 BIOS 调用不可?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-22 15:02:18 | 显示全部楼层
DoDo君说得有理。
Interrupt 0xA0 service 0x17: Get MAC address of the Ethernet interface
想用这个,用socket方式获得的mac地址很轻易的就被伪造。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-22 15:13:00 | 显示全部楼层
问题得到圆满解决,ethtool -e直接从网卡eeprom中读数据,其中就有mac地址,不用那么麻烦了。
另附上dosemu的使用方法:
wajig install dosemu dosemu-freedos
dosemu -C /usr/lib/freedos
然后就可以使用freedos提供的命令了。
回复 支持 反对

使用道具 举报

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

本版积分规则

快速回复 返回顶部 返回列表