【UEFI基础】EDK网络框架(环境配置)

环境配置

为了能够让使用测试BIOS的QEMU与主机(就是指普通的Windows系统,我们使用它来编译BIOS和启动QEMU虚拟机)通过网络连接,需要额外的配置。

  1. 首先是下载和安装OpenVPN(这里安装的是OpenVPN-2.5.5-I601-amd64.msi),安装之后会多出来若干虚拟的网卡:

【UEFI基础】EDK网络框架(环境配置)_第1张图片

  1. 将OpenVPN TAP-Windows6改名为tap0,方便后续使用。
  2. 将虚拟网卡tap0和实际网卡桥接:

【UEFI基础】EDK网络框架(环境配置)_第2张图片

  1. 桥接之后会多出来一个设备:

【UEFI基础】EDK网络框架(环境配置)_第3张图片

注意此时tap0是“网络电缆被拔出”的状态,因为此时QEMU还没有启动。另外还需要保证在网桥的属性中,tap0是被选中的(桥接成功之后默认就是选中的,如果有异常,可能这里会没有选中,此时通信会有问题):

【UEFI基础】EDK网络框架(环境配置)_第4张图片

  1. 启动QEMU,主要参数:
qemu-system-x86_64 -usb -bios OVMF.fd -serial stdio -drive format=raw,file=disk.img -net nic -net tap,ifname=tap0

其中-net nic -net tap,ifname=tap0是网络相关的,QEMU使用的就是前面提到的虚拟网卡tap0。此时可以看到tap0已经连接了:

【UEFI基础】EDK网络框架(环境配置)_第5张图片

  1. 然后在QEMU启动的BIOS Shell下配置网络:
ifconfig -s eth0 static 192.168.3.128 255.255.255.0 192.168.3.1
  1. 配置完成之后可以使用BIOS下的ping命令进行测试:
ping 192.168.3.20

这里的192.168.3.20是测试主机的网络IP,前面配置QEMU网卡的IP时使用了相同网段的IP,注意两者必须要在用一个网段,UEFI网络似乎还不支持跨网段。测试的结果如下:

【UEFI基础】EDK网络框架(环境配置)_第6张图片

到这里网络环境设置基本上OK,如果发现ping不通的问题,有可能是测试主机开了防火墙的关系,关闭即可(注意关闭防火墙可能带来风险,建议只在测试时使用,平常还是开着比较好):

【UEFI基础】EDK网络框架(环境配置)_第7张图片

到这里网络测试环境就已经准备完成了,不过在后续的测试过程中还会用到其它的工具,比如Wireshark、tftp等,在具体使用时会进一步说明。

接下来将介绍UEFI网络协议栈以及相关的实现模块。

你可能感兴趣的:(UEFI开发基础,网络,uefi)