本节由 Leonard den Ottolander 编写
要通过 PLIP 安装 RedHat 7.0,最简单的方法是使用已打补丁的 bootnet.img 镜像,该镜像可通过以下网址获取:http://home.hetnet.nl/~ottolander。这省去了驱动盘的需求,这在安装到软驱在启动后停止工作的机器上可能很有用(我制作了这个 bootnet-plip.img 来安装到 Toshiba Libretto 30 上,它的 PCMCIA 软驱在启动后就不可用了)。
此磁盘是 RedHat 7.0 的完整 bootnet.img,其中添加了 PLIP 所需的模块。由于磁盘空间足够,因此无需删除任何模块。因此,您可以像使用完整功能的 bootnet.img 一样使用此镜像。无需使用不同的磁盘。
我不会详细介绍实际的安装过程,但有几点需要注意
parport 模块应在 PLIP 模块之前加载。插入并行端口模块时,请为并行端口指定 i/o 地址和 irq 参数。
插入 parport_pc 模块后,安装程序将第二次显示“安装方法”屏幕。这是预期行为。第二次选择 PLIP 模块。插入 PLIP 模块时,无需指定任何参数。
在指定网络参数时,请勿使用 255.255.255.255 的子网掩码,这可能是您通常为 PLIP 连接所做的。如果您不小心这样做了,您将必须重新启动才能成功挂载安装目录。返回并重新指定参数将无济于事。
当使用 RedHat 7.0 进行 NFS 安装时,请确保将两张 CD 中 RedHat 目录中的所有文件都复制到 NFS 挂载点 (对两张 CD 都执行 cp -a RedHat)。无法使用已挂载的 CD。
本节是对 Tilmann Bubeck 描述的为 RedHat 6.2 创建 bootnet-plip 镜像的步骤的略微修改后的副本。感谢 Tilmann!
1) 挂载标准 bootnet 磁盘的副本,并将所有文件复制到临时目录
mount -o loop -t vfat /tmp/bootnet.img /mnt/bootnet cp -a /mnt/bootnet /tmp
2) Gunzip 解压缩初始 ramdisk,挂载它,并将所有文件复制到临时目录
mv /tmp/bootnet/initrd.img /tmp/bootnet/initrd.gz gzip -d /tmp/bootnet/initrd.gz mount -o loop /tmp/bootnet/initrd /mnt/initrd cp -a /mnt/initrd /tmp
3) 使用以下命令 Gunzip 解压缩并提取 modules 目录
cd /tmp zcat /tmp/initrd/modules/modules.cgz | cpio -ivd
4) 安装 kernel-BOOT-2.2.16-22 rpm,并将模块 parport.o、parport_pc.o 和 plip.o 从 /lib/modules/2.2.16-22BOOT 复制到 /tmp/2.2.16-22BOOT,或者使用 Midnight Commander 从 rpm 中提取这些文件。在构建修改后的启动盘时,您始终需要来自 kernel-BOOT rpm 的模块。
5) 如果您的 bootnet-plip 磁盘上需要更多空间,请从 modules 目录中删除一个未使用的模块,例如
rm /tmp/2.2.16-22BOOT/old_tulip.o
请注意,这对于 RedHat 7.0 bootnet 磁盘不是必需的。剩余空间足够添加模块。 *不要* 删除 sunrpc.o、lockd.o、nfs.o、fat.o、vfat.o 等模块。这将使您的磁盘无用。请运用常识。
6) 重建模块存档
find /tmp/2.2.16-22BOOT | cpio -ov -H crc | gzip > \ /tmp/initrd/modules/modules.cgz
7) 在 modules.dep 中插入一个新的模块依赖行,说明模块 “parport_pc” 需要模块 “parport”
echo "parport_pc: parport" >> /tmp/initrd/modules/modules.dep
8) 在 module-info 中插入 parport_pc 和 plip 模块的条目。这些条目应如下所示
parport_pc plip "Parallel Port, Insert Before PLIP" io "Base I/O address" irq "IRQ level" plip plip "PLIP (Parallel Link Interface Protocol)" io "Base I/O address" irq "IRQ level"
对于 plip,您可能可以省略 io 和 irq 条目。另外,删除任何引用您从存档中删除的模块的条目(即之前示例中的 old_tulip)。
9) 将修改后的模块文件复制到初始 ramdisk
cp -a /tmp/initrd/modules/module* /mnt/initrd/modules
10) 卸载并 gzip 压缩初始 ramdisk,并将其复制到磁盘镜像
umount /mnt/initrd gzip -9 /tmp/bootnet/initrd cp /tmp/bootnet/initrd.gz /mnt/bootnet/initrd.img umount /mnt/bootnet
11) 文件 /tmp/bootnet.img 现在是您的新 bootnet-plip.img。您可能需要清理您的临时文件
rm -r /tmp/2.2.16-22BOOT rm -r /tmp/initrd rm -r /tmp/bootnet