下一步 上一步 目录

3. 设置 ZIP 磁盘

(Red Hat 和 Slackware 发行版的通用步骤。)开始之前,请确保您可以访问 ZIP 驱动器;这可以通过内核中内置 ppa 或加载 ppa 模块来实现。 要确定是否可以访问,一个简单的方法是检查 dmesg 命令的输出

==> dmesg

您可能需要将此输出管道到 more 命令,因为 dmesg 的输出往往很长。 这是我输出的片段:


scsi0 : PPA driver version 0.26 using 4-bit mode on port 0x3bc.
scsi : 1 host.
  Vendor: IOMEGA    Model: ZIP 100           Rev: D.08
  Type:   Direct-Access                      ANSI SCSI revision: 02
Detected scsi removable disk sda at scsi0, channel 0, id 6, lun 0
SCSI device sda: hdwr sector= 512 bytes. Sectors= 196608 [96 MB] [0.1 GB]
 sda: Write Protect is off
 sda: sda1 sda2

如果您只看到类似以下内容:


   scsi : 0 hosts.
   scsi : detected total.

那么您有 SCSI 支持,但未找到 ZIP 驱动器。

3.1 分区 ZIP 磁盘

要分区 ZIP 磁盘,请运行 fdisk 命令

==> fdisk /dev/sda/

这是我设置的分区表快照


 Disk /dev/sda: 64 heads, 32 sectors, 96 cylinders
 Units = cylinders of 2048 * 512 bytes

    Device Boot   Begin    Start      End   Blocks   Id  System
 /dev/sda1            1        1       81    82928   83  Linux native
 /dev/sda2           82       82       96    15360   82  Linux swap

我决定使用交换分区,因为我希望能够在任何机器上使用它。

3.2 格式化和挂载 ZIP 磁盘

运行 fdisk 后,格式化新分区

==> mke2fs -c /dev/sda1

然后,创建交换分区:(从 fdisk 获取的 15360 个块)

==> mkswap -c /dev/sda2 15360

最后,您需要挂载 ZIP 磁盘

==> mount /dev/sda1 /iomega -t ext2

3.3 创建启动盘

由于 ppa 版本的 ZIP 驱动器不是真正的 SCSI 设备,因此它不是可启动设备,因此需要启动盘,该启动盘的内核中包含了 ppa,而不是作为模块。

配置和编译内核

首先,您需要配置和编译一个内核,该内核启用了 ppa 支持,而不是作为可加载模块。 为了找到 ppa 选项,请选择 SCSI 支持

SCSI 支持 (CONFIG_SCSI) [Y/m/n/?]

以及 SCSI 磁盘支持

SCSI 磁盘支持 (CONFIG_BLK_DEV_SD) [Y/m/n/?]

最后,在 SCSI 低级驱动程序下,是 ppa 支持

IOMEGA 并行端口 ZIP 驱动器 SCSI 支持 (CONFIG_SCSI_PPA) [Y/m/n/?]

再次强调,请务必不要将 ppa 作为模块包含,而是包含在内核中。 到目前为止,在不使用并行端口内核补丁(参见 1.4)的情况下,ppa 驱动程序不允许将 ZIP 驱动器的被动端口用于打印机,因此您可能需要对并行打印机支持说“否”

并行打印机支持 (CONFIG_PRINTER) [N/y/m/?]


  NOTE: For more information concerning the ppa driver, please
        refer to the ZIP-Drive mini-HOWTO.

配置内核后,编译内核

==> make dep; make clean; make zImage

新内核应位于 arch/i386/boot/zImage 中。

将内核放到软盘上

由于需要 4 个单独的软盘才能适应不同的内核和不同的参数,(加上我收到的一封很棒的电子邮件,告诉我如何做到这一点)我包含了一个关于 LILO 的章节,作为创建可启动软盘的方法之一。

LILO 安装

对于那些必须或只是想在一个软盘上安装多个内核(现在,我的内核太大了)或者只是想传递参数(例如单用户模式)的人,我收到了关于如何在软盘上安装 LILO 的电子邮件。

创建 ext2 文件系统

要在软盘上创建 ext2 文件系统,只需执行与 ZIP 磁盘相同的命令

==> mke2fs -t /dev/fd0

复制必要的文件

接下来,确保有一个用于挂载点的目录,并挂载软盘(我使用了 /mnt/floppy)

==> mount /dev/fd0 /mnt/floppy -t ext2

为了正确启动,您需要与 LILO 在当前 Linux 安装中使用的相同文件。


    NOTE: The file locations here are from my machine
          and may not be the same for everyone.

==> cp /boot/boot.b /mnt/floppy

==> cp /boot/map /mnt/floppy

==> cp /usr/src/linux/arch/i386/boot/zImage /mnt/floppy/vmlinuzDESK

现在创建 LILO 的配置文件,我现在想念 liloconfig 程序了... (感谢 Javier Rodriguez 提供此信息)首先,为 ZIP 磁盘的内核创建 LILO 配置文件 /mnt/floppy/lilo.conf。 这是我使用的配置,以便我可以拥有不同的内核进行测试


boot=/dev/fd0
map=/mnt/floppy/map
install=/mnt/floppy/boot.b
prompt
compact
timeout=50
image=/mnt/floppy/vmlinuzLAP
   label=Laptop
   root=/dev/sda1
   read-only
image=/mnt/floppy/vmlinuzDESK
   label=Desktop
   root=/dev/sda1
   read-only
image=/mnt/floppy/vmlinuzDESK
   label=rescue
   root=/dev/hdc1
   read-only

我有两个内核,一个用于我的 486 笔记本电脑,它需要在内核中进行数学协处理器仿真,另一个用于我的台式机。 rescue 允许我紧急启动到硬盘。

最后但并非最不重要的一点是,在软盘仍然挂载的情况下,运行 LILO 以使用以下命令将其安装到软盘上

==> lilo -C /mnt/floppy/lilo.conf

一旦 LILO 安装到软盘上,请跳过接下来的两个步骤,除非您喜欢一遍又一遍地这样做 :)

仅内核安装


   NOTE: This does not pertain for the LILO install.

将新编译的内核复制到软盘

==> cp arch/i386/boot/zImage /dev/fd0

==> cat arch/i386/boot/zImage > /dev/fd0

是的,有很多方法可以将内核复制到软盘,但最后一种方法,我最喜欢的方法,稍微加密了一些。 尽量不要忘记 >,除非您喜欢查看二进制文件 :)

在软盘上设置根和交换分区


   NOTE: This does not pertain for the LILO install.

将内核放到软盘上后,您需要将根设备设置为 ZIP 磁盘: ==> rdev /dev/fd0 /dev/sda1 我不确定是否需要下一个选项,但我还是做了。 设置交换分区

==> rdev -s /dev/fd0 /dev/sda2


下一步 上一步 目录