建立你自己的 NeXT

2021-08-09 20:57:14

1985 年,史蒂夫乔布斯从苹果公司辞职并创立了 NeXT 公司,以打造 NeXT 计算机。由于 NeXTSTEP 操作系统,它领先于时代并具有惊人的功能,最著名的是 Tim Berners-Lee 爵士在欧洲核子研究中心用于创建万维网。 NeXTSTEP 后来变成了 OPENSTEP,当 Apple 于 1997 年收购 NeXT 时,他们将其用作 Mac OS X 和 iOS 的基础。如果你做过任何 Mac 或 iOS 编程,你就会在类型名称中看到 NeXTSTEP 的呼应——NSObject、NSString、NSDictionary 和许多其他的都直接来自 NeXT (NS = NeXTSTEP)。这些电脑刚面世时的成本大约相当于一辆新车,因此对于大多数人来说是遥不可及的。在 90 年代初使用顶级系统是什么感觉?让我们建立自己的并找出答案! OPENSTEP ISO 和软盘映像,您可以在 http://openstep.bfx.re/ 找到它们。您需要英特尔的 OPENSTEP 4.2 用户、安装磁盘软盘映像、驱动程序软盘映像和网络驱动程序 + 补丁 4 包。 (可选)NeXT 键盘和鼠标,以及一个 USB 适配器 - 您可以使用此处的指南自行构建,或者从 Drakware 获取 NeXT2USB 适配器幸运的是,OPENSTEP 适用于包括 x86 在内的许多不同平台,这意味着我们可以运行它在现代 x86 系统(Mac 或 PC)上的虚拟机中。安装 Virtualbox 和扩展包,然后打开它并创建一个新的虚拟机。单击创建,它会询问您有关硬盘的更多问题。我们想要这些设置:

完成后,选择 VM 并单击设置以编辑一些更高级的设置。 OPENSTEP 已经很老了,所以它需要一些特定的更改才能工作。在右侧,将其从 IDE Secondary Master 更改为 IDE Primary Slave 现在单击带有箭头的 CD 图标以选择 CD 映像 接下来我们需要添加一个软盘控制器。是的,这是在从 CD 启动之前!它也不知道如何处理 USB,在引入 NeXTSTEP 时它甚至还没有出现。单击新控制器旁边带加号的磁盘,然后选择磁盘 单击添加,找到 4.2_Install_Disk.img 并添加它,然后在列表中选择它并单击选择您需要将软盘映像从 .floppyimage 重命名为 。 img 以便 Virtualbox 使用它们。如果您想尝试联网,请转到网络选项卡并选择附加到:桥接适配器。 VM 中的虚拟网卡将像真实的网卡一样运行,并在您的网络上显示为单独的设备。您还需要单击高级并选择适配器类型:PCnet-PCI II (Am79C970A)。

在 USB 页面上,您可以取消选中启用 USB 控制器,因为操作系统对此一无所知。我们的虚拟机已经设置好了,让我们安装 OPENSTEP!单击开始,它应该开始启动。首先,您需要移除安装盘,因此请转到“设备”菜单、“软盘驱动器”和“移除磁盘”。现在转到相同的菜单并选择磁盘映像,然后找到 4.2_Custom_Driver_Disk.img。 NeXTSTEP 最初只支持 SCSI 设备,但我们的 VM 使用的是 IDE。输入 7 并按 Enter 以查看更多驱动程序并找到我们需要的驱动程序。就在那里!数字 5 是 EIDE 和 ATAPI 设备控制器,这就是我们想要的。输入 5 并按回车键。您将再次看到相同的屏幕 - 我们只是设置了 CD 驱动器,这次它需要硬盘驱动器的驱动程序。是一样的,所以输入 7 并按 Enter,然后输入 5 并再次输入以选择 EIDE 驱动程序。我们已经完成了驱动程序,因此在出现提示时键入 1 以继续而不需要任何其他驱动程序。系统将引导至 Mach 内核并继续安装。

键入 1 并按 Enter 进行安装,然后键入 1 将整个磁盘用于 OPENSTEP。键入 1,按 Enter,然后等待它复制所需的所有文件。它会再次要求您提供驱动程序盘,因此挂载该软盘并继续。它将弹出几个警报以插入包含驱动程序的磁盘。我们已经把驱动软盘放进去了,所以只需点击OK就可以了。接下来我们将看到设备摘要。我们还不想更改任何内容,因为我们需要安装补丁,所以只需单击“保存”,然后单击“仍然保存”。您可以取消选中不需要的语言,但保留所有其他软件包以检查它们是值得的。对选择感到满意后,单击“安装”。底部的栏是您的磁盘空间,而不是进度条,所以如果它看起来需要一段时间,请不要担心。当它完成时,它会告诉你它安装成功。暂时不要重启。

Virtualbox 有一个名为 Snapshot 的有用功能,可以让您在任何时候拍摄机器的图像,然后再返回到它。我们可以在此时保存我们的进度,然后如果稍后出现问题,我们可以返回到新安装的系统而无需再次安装所有内容。您还可以使用快照作为另一个虚拟机的基础,因此您可以根据需要制作另一个 OPENSTEP 系统。转到机器菜单,然后拍摄快照。为其命名并单击“确定”。现在您将进入最终设置阶段,您可以在其中选择语言和键盘布局。对于标准的 qwerty 键盘,您需要美国布局。如果您使用带有适配器的 NeXT 键盘,您仍然需要美国布局,因为适配器将键映射到标准 USB 键。您可能会收到有关软盘无法读取的警告,只需单击弹出,然后在弹出的下一个警报中单击“确定”。我们稍后会解决这个问题。这很酷,但我们的屏幕很小而且是单色的。我们需要合适的司机。在我们开始之前,先来看看桌面是如何排列的。左侧有一个菜单,而不是像 macOS 那样的顶部菜单或像 Windows 那样的底部菜单。该菜单根据活动程序而变化,现在我们在工作区中。右侧的图标就像 macOS 中的 Dock,您可以添加您喜欢的程序并从那里启动它们。单击磁盘菜单,然后单击弹出以弹出我们的安装 CD。菜单保持打开状态,直到您再次单击“磁盘”。

现在进入virtualbox Devices菜单,光驱,选择磁盘镜像,找到ne2k+os42patch4+vmwarefb.iso镜像。您应该会看到 NEXT_STUFF CD 出现在文件查看器中。此时您可能想要调整文件查看器窗口的大小,以便我们可以看到所有内容。我们想要 os42machuserpatch.tar 文件,但我们需要在我们的系统上提取它。单击并将其拖动到我的图标以将其复制到主文件夹。没有显示进度的复制对话框,但您会在窗口右侧看到“复制”字样。复制完成后就会消失。转到 me 文件夹并双击 os42machuserpatch.tar。单击取消归档。这里也没有进度条,但它正在工作。您应该会看到一个带有问号的文件。完成后,它看起来像下图,带有一个漂亮的纸板箱图标。现在可以安全地关闭存档检查器(单击右上角的 X)。我们想运行补丁文件但等待,我们需要特权才能做到这一点。 OPENSTEP 基于 BSD Unix,因此它具有像现代系统一样的用户帐户和权限。要以 root 身份运行该文件,我们将使用 OpenSesame 服务。通过单击选择 OS42MachUserPatch4.pkg 文件,然后转到服务菜单、OpenSesame 和以 Root 身份打开。它会要求输入密码,但我们还没有设置密码,所以将其留空并按回车键。现在您可以单击安装开始安装补丁。当警报弹出时单击继续。一旦它说安装完成,您可以单击左侧的退出(或尝试键盘快捷键 Alt 或 Option+Q)。

现在单击注销,然后关闭电源。当它说可以安全关闭电源时,重置机器(Virtualbox Machine 菜单,Reset)。启动后,我们将再次收到烦人的软盘消息,单击“弹出”,然后单击“确定”进入下一个警报。通过单击计算机图标导航到配置应用程序,然后双击 NextAdmin 文件夹。双击 Configure.app 运行它。单击显示器,然后选择 VESA VBE 2.0 显示驱动程序并单击添加。在显示模式下,单击选择,然后找到 1024x768 RGB:888/32 显示模式。单击确定。现在让我们修复烦人的软盘消息。单击注销,然后关闭电源。一旦可以安全关闭电源,请转到“文件”菜单、“关闭”并关闭机器电源。转到 VM 的设置、存储,单击软盘控制器并将其删除。现在再次启动虚拟机。您应该会看到一个明亮的蓝色和更高分辨率的启动屏幕。那看起来更好!

不会有合适的 NeXT 网络,所以按 Ctrl+C 可以在没有它的情况下启动。再次转到 NextAdmin,然后运行 ​​SimpleNetworkStarter。选择使用网络,但不共享管理数据。选择网络上的主机名和静态 IP。让网络正常运行可能是另一个指南,因此请查看资源以获取更多信息。您可以通过双击 Dock 中的时钟和日历图标来调整首选项应用程序中的其他设置。您还可以设置时间和日期,它甚至支持 Y2K!除非您使用 NeXT 键盘和鼠标,否则鼠标可能不会感觉合适。 PS/2 和 USB 鼠标使用的移动值比 NeXTSTEP 和 OPENSTEP 习惯使用的值大得多,因此感觉非常快,您必须专注于缓慢移动它。从这里开始由你决定!查看应用程序和演示,四处看看,看看使用旧的(但当时是先进的)操作系统是什么感觉。如果您想尝试创建应用程序,您可以从开发人员 ISO 安装开发人员工具。看看您是否可以在网络上获取它并通过 NFS 共享文件。如果您设法在 Internet 上获得它,请注意安全性在那个年代并不是优先事项,因此不要将其用于任何敏感的事情并将其保留在路由器/防火墙之后。查看其中一些站点以获取有关 NeXT 和所有相关内容的更多信息。 NeXTComputers.org - NeXT 文件存档和论坛,NeXT 爱好者的活跃社区。大量关于旧硬件、软件和一些现代项目的信息。

带有 Arduino Micro 的 USB NeXT 键盘 - 构建您自己的适配器以通过 USB 使用 NeXT 键盘!尝试使用 Trinket M0 而不是 Micro for Native USB。 Drakware - 复古爱好者(和本指南的作者)为包括 NeXT 在内的旧系统构建现代适配器和部件。查看 NeXT2USB,了解通过 USB 使用 NeXT 键盘和鼠标的简单方法。 NeXT 非 ADB 键盘协议 - 我对旧 NeXT 系统的键盘协议的调查。如果您正在构建自己的适配器,则很有用。