Linux on the PS/2
由于 PS/2 系列历史上一直使用 Microchannel (MCA) 总线,因此无法运行 Linux。从 IBM 获取技术规范非常困难。自 1994 年左右以来,一直有支持在 MCA 机器上运行 Linux,但安装困难,并且需要用户进行大量修补。这种情况已经改变,MCA 机器相对容易安装。但请不要搞错,如果您计划在 PS/2 上运行 Linux,您仍然会面临挑战。
MCA 机器支持的硬件包括 3Com 和 SMC-WD 以太网卡、IBM 令牌环网卡、许多 SCSI 卡和各种其他卡。大多数低端 PS/2 都配备了 ESDI 驱动器控制器,标准 Linux 内核不支持这种控制器。此外,总线差异要求内核执行其他与定时相关的功能,而这些功能在 ISA 或 PCI 总线上是不必要的。
本文详细介绍了如何在带有 ESDI 驱动器的 PS/2 上安装 Slackware。它在我的 55SX 上进行了测试,该机器配备了 4MB 内存和 60MB 硬盘。Slackware CD 通过 SMC 以太网卡从另一台机器 NFS 挂载。
请注意,对于任何人来说,这可能都不是一个好的首次安装。它假定熟悉 Slackware,并且通常由安装程序执行的某些步骤必须手动完成。
首先,导出 Slackware 目录。
在开始之前,与任何正常的 Slackware 安装一样,您将需要一张启动盘、一张根磁盘和另一张带有设备文件、修改后的 fdisk 和修改后的 LILO 的磁盘。这些文件可在 ftp://glycerine.cetmm.uni.edu/pub/slackware/ 获取。
首先下载 ps2-boot.gz、color.gz 和 esdi_slack.tgz。ps2-boot 和 color 必须解压缩;否则,您可能会在启动时遇到一些错误。下一步
cat ps2-boot >/dev/fd0
然后,切换磁盘
cat color>/dev/fd0然后,切换磁盘
cat esdi_slack.tgz >/dev/fd0务必标记这些磁盘。
驱动器几何结构检测并不总是有效,因此您需要知道您的柱面数、磁头数和扇区数。下面是 IBM 驱动器的表格。
size command line 30 MB 60 MB ed=58,64,32
插入启动盘并打开机器。当您到达 LILO 提示符时,输入 ramdisk ed=58(或 64 或 32—选择合适的几何结构)。观察内核消息,看看您的硬件是否被正确检测到。您的机器在重置 ESDI 驱动器时可能会出现挂起,但这可能需要长达 15 秒。最终,您将获得登录提示符。以 root 身份登录。运行 fdisk /dev/eda(第一个 ESDI 设备)。删除驱动器上的所有分区。现在您需要创建一个根分区和一个交换分区。对于 60MB 驱动器,我建议根分区 50MB,交换分区 8MB。要设置分区,请选择:新建分区、主分区、第一个主分区、从柱面 1 开始、到柱面 50 结束。这是您的根分区。现在选择:再次新建、主分区、第二个主分区、从柱面 51 开始,到柱面 58 结束。还要选择“将分区 2 的类型更改为 82 (Linux Swap)”。打印分区表以确保没有明显的错误。检查交换分区中有多少块,因为稍后您将需要该信息。对于上面的数字,应该是 8192。继续并将其写入磁盘。
如果您的机器像我的一样,安装的内存不多。为了运行安装程序,您需要激活交换分区。为此,请运行 mkswap /dev/eda2(块数)。在进行一些磁盘活动后,运行 swapon /dev/eda2。现在您的机器已准备好运行安装程序。
运行 setup,Slackware 安装程序。选择添加交换分区。它将自行找到 /dev/eda2 分区。当询问是否运行 mkswap 或 swapon 时,请务必选择“否”。重复运行这些命令会导致问题。现在选择目标设备。一旦找到 /dev/eda1,您将需要格式化此分区。接受您获得的默认值。过一会儿,系统会询问安装介质。我选择了 NFS,因为我对更换软盘过敏,但如果您想尝试,也可以。
为了进行 NFS 安装,您将需要您的机器和装有 Slackware 磁盘的机器的 IP 地址。您还需要知道文件在挂载点上的位置。如果您已将包含 Slackware 的 CD 挂载到 /cdrom,并且磁盘位于 distributions/slackware 中,则您将导出 /cdrom/distributions/slackware 目录。如果您没有 CD,请期待下载。我建议现在安装 A 和 N 系列。没有必要安装任何内核或源代码,因为它们无法在这台机器上运行。在安装程序运行时,去休息一下—向您的朋友吹嘘您正在做的事情,喝点饮料等等。
当该步骤完成后,系统会询问您是否安装 LILO。暂时不要这样做。按照正常步骤操作,直到系统询问您是否要退出。继续退出。安装程序没有正确设置 /etc/fstab 和 /etc/lilo.conf 文件,因此您需要自己完成。下面打印的是在 shell 提示符下键入的正确命令。请注意,append 行是您首先使用启动盘键入的行。
cat <<EOF >/mnt/etc/lilo.conf append="ed=cyl,head,sec" boot=/dev/eda vga=normal ramdisk=0 timeout=50 prompt image=/vmlinuz root=/dev/eda1 label=linux read-only EOF
挂载您用于启动机器的启动盘。您可以使用 /cdrom 挂载点,例如
mount /dev/fd0 /cdrom将内核从软盘复制到硬盘驱动器
cp /cdrom/vmlinuz /mnt/vmlinuz安装程序安装的 LILO 无法识别 ESDI 驱动器使用的主设备号 36,因此此时,取出装有 esdi_slack.tar.gz 的磁盘,将其放入软驱并键入
cd /mnt tar zxvf /dev/fd0您会收到一些错误消息,但请忽略它们。要安装 LILO,请键入
lilo -r /mnt -C /etc/lilo.conf这些参数告诉 LILO 配置文件所在的磁盘挂载在 /mnt。
文件系统表 /etc/fstab 仍然没有正确设置,因此您还需要执行
cat <<EOF >/mnt/etc/fstab /dev/eda1 / ext2 defaults 1 1 /dev/eda2 none swap swap 0 0 none /proc proc defaults 0 0 EOF
此时系统已准备好重新启动。务必卸载软盘并按 CTRL-ALT-DEL。如果机器在一分钟左右后没有重新启动,您将需要自行循环供电。请对您的系统保持耐心。ESDI 驱动器非常慢。系统应该重新启动进入 LILO 并启动 Linux。
这仍然不是一门精确的科学。根据驱动器之前的格式化方式,您可能在分区方面遇到问题。我发现在其上安装 DOS 通常会使驱动器符合您在 append 行中输入的柱面数、磁头数和扇区数,而不是物理几何结构。