各位 Unix Stack Exchange 成员大家好
您能帮忙吗?我无法弄清楚 Xenix 的 Virtual Box 设置,因为它不是基于 DHCP 的。
我已经安装了 Xenix 和 TCP/IP 堆栈。我还对其进行了配置,以便能够 ping 环回。我还了解了如何分配默认网关,因此我将其设置为我的路由器,但是我无法 ping 8.8.8.8 或路由器 192.168.1.1,但我可以 ping 环回 127.0.0.1。
据我所知,Virtalbox 设置为桥接模式,因为 Xenix 无法使用 DHCP。在桥接模式下,我将 mkdev tcp 内部的 IP 地址设置为静态地址。我已经在路由器内部准备好这个 MAC 地址和静态 IP。然而,这是不行的。我还尝试过使用与 Windows 11 主机相同的 IP 地址,但这也是不行的。
您能否帮助指导我如何实现此功能,以便我可以使用 lynx 浏览器并查看是否可以使用 Xenix VM 访问 Google?据我所知,TCP 正在运行,因为我可以 ping 环回地址。
有任何想法吗?
23 年 1 月 27 日更新:我刚刚做了一些研究,发现 VirtualBox 确实有 Xenix 需要的 3com 适配器。它专门用于 Xenix 等 80 年代的操作系统,那么我如何才能访问此选项呢?几年前,当我担任基准技术人员时,我经常看到旧的 ISA 适配器。
https://www.virtualbox.org/svn/vbox/trunk/src/VBox/Devices/Network/Dev3C501.cpp
答案1
一般来说,你应该有更好的运气86盒和PCap 网络。我个人模拟了 3comB (Etherlink II) 或 WD8013EBT 卡 (这里您可以找到 SCO 支持哪些)。
说明如下:
- 安装Xenix
- 安装 TCP/IP 包(以及可选的维护更新)
mkdev 3comB
(或者mkdev wdn
,取决于您的模拟卡),安装该卡的驱动程序。确保使用正确的 IRQ 和 I/O 地址。下次重新启动时,您应该会在“启动屏幕”中看到识别出的设备 (3comB),并且您应该有 /dev/3comB0mkdev tcp
配置系统的主机名和 IP 地址。您的广播地址可能是 192.168.1.255,因此不要接受默认地址。- 检查 /etc/tcp 中的 ifconfig 设置是否按顺序排列(请参阅https://virtuallyfun.com/2019/01/15/virtual-xenix-the-internet-pt-2/)并向其中添加用于将网关设置为默认路由的命令。在你的情况下(正如你所做的那样)它应该是这样的
route add default 192.168.1.1 1
- 创建 /etc/resolv.conf 并添加 dns(例如
nameserver 8.8.8.8
,末尾带有换行符)
请注意,Xenix+TCP/IP 是一个非常喜怒无常的组合,我时不时地会遇到随机的内核恐慌......而且,使用 3com 卡时,我的性能很差,并且有很多“注意:tcp sum/src”内核消息垃圾邮件到控制台。问题是驾驶员无法很好地处理“现代”系统的速度;我们可以通过模拟较慢的机器或至少隐藏消息来解决这个问题。我适应了SCO的指示并执行以下操作来修改内核中的 tcpprintfs 参数:
# cd /
# adb -w xenix -
tcpprintfs/D
[should print _tcpprintfs: 1]
tcpprintfs/W 0
[should print _tcpprintfs: 0x1= 0x0]
$q
# reboot
请注意,每次重新链接内核时,您都需要重做该过程(或直接在 usr/sys/inet/libinet.a 中修补符号,但由于它是一个存档,因此需要一些额外的步骤)。