如何安装SPARC版本的NeXTSTEP 3.x与OPENSTEP 4.2
本教程将指导您如何在QEMU SPARC里安装NeXTSTEP 3.x与OPENSTEP 4.2,由于网络参考资料与系统架构的特殊性,本文章将只对Linux的QEMU做探讨,Windows用户可选择使用WSL2解决这一问题
# 准备工作
要安装操作系统,您只需要下载对应的安装光盘即可;值得注意的是:OPENSTEP的安装光盘User版尽管标有Intel架构,但是对于其他RISC架构来说仍然适用。
# 安装前须知
在QEMU项目Wiki里明确指出:sparc模拟NeXTSTEP(以下与OPENSTEP简称NeXT)会出现随机挂起问题。这是因为QEMU项目为了照顾Linux 2.x内核修改了ESP SCSI的源码,导致在安装NeXT时会出现DMA冲突从而挂起。
挂起的地方包括但不限于:初始化SCSI控制器,初始化安装程序,初始化以及格式化硬盘和复制文件。
除复制文件外,其他动作仅在第一阶段发生。
在海内外资料以及作者实测外,按以下方法安装可以大幅度缓解随机挂起问题,从而完成安装。
重要性:使用Linux作为主机 > 限制qemu单核运行 > 使用SS-20机型 > 设置磁盘缓存与PIO
# 安装步骤
-
在项目根目录创建大约2GB的磁盘,命名为hdd.<disk>(下文使用raw的img磁盘)
-
将安装光盘放到同一目录,命名为install.iso
-
进行第一阶段安装,输入以下命令即可从CDROM启动
1
taskset --cpu-list 1 qemu-system-sparc -M SS-20 -hda hdd.img -cdrom install.iso -m 128m -boot d
- 按照i386的安装过程安装即可,RISC版本与i386版的最大区别就是取消了手动选择SCSI驱动,因为机型所搭配的SCSI卡是固定的所以省略了。
提示:如果在第一阶段安装过程中在某个阶段等待大于一分钟仍没有反应,您需要重置模拟器。
-
文件复制完成后,按照屏幕上的说明重新启动,当显示openbios的米黄色界面时,关闭qemu。
-
键入下列命令进行第二阶段的安装。
1
taskset --cpu-list 1 qemu-system-sparc -M SS-20 -hda hdd.img -drive file=install.iso,bus=0,unit=6,media=cdrom -m 128m -boot c -vnc :1 -cdrom install.iso
挂载两遍install.iso的原因:使用参数挂载为了防止图形界面安装时找不到CDROM,而使用-cdrom参数则是为了防止在启动界面报错:Can't read label on /dev/rsd1a
-
在启动过程中系统会尝试联网,当内核输出到“Setting tape block size for /dev/nrst1”后没有新内容长达30秒,按^C(Ctrl+C)以取消联网,系统将继续工作。
-
在第二阶段复制过程中,仍有安装程序挂起的问题,如果遇到这种情况,重置qemu,当第二次来到图形界面复制文件选项后,按Install继续,安装程序会提示文件复制完成(其实并没有)。
-
重启模拟器,完成安装。