Zip Drive Mini-HOWTO 作者:Kyle Dansie [1]dansie@ibm.net 译者:杨尚峰 [2]storm@chempro.che.ntu.edu.tw v2.4, 10 January 1999 翻译日期:8 June 1999 _________________________________________________________________ 这份文件提供你一个在 Linux 上设定与使用 Iomega ZIP 磁碟机的快速指引。 _________________________________________________________________ 1. 简介 * 1.1 本文件的发源地 2. 快速上手指引 3. 建立一个能使用 ZIP 磁碟机的核心 * 3.1 SCSI 版本 4. ZIP 磁碟机 * 4.1 并列埠版本的 ZIP 100 磁碟机 * 4.2 SCSI 外接式版本 * 4.3 SCSI 内接式版本 * 4.4 ZIP Plus - IMM 驱动程式 * 4.5 ATAPI 版本 * 4.6 IDE 版本 * 4.7 USB 版本 * 4.8 ZIP 250 版本 5. 使用 ZIP 磁碟机 * 5.1 Fdisk, mke2fs, mount, 等等 * 5.2 使用一片已经用 DOS 格式化好的磁片 * 5.3 重新将磁片格式化成 Linux 格式的磁片 * 5.4 fstab 档 * 5.5 ZIP Tools 工具磁片 6. 性能表现 7. 常见问答集 * 7.1 我能够将印表机串接在并列埠版本的 ZIP 磁碟机上吗? * 7.2 是否有计画在 ppa 中支援 EPP/ECP 模式的并列埠? * 7.3 我能够将 Linux 安装在 ZIP 磁碟机上,并由 ZIP 磁碟机上启动执行吗 ? * 7.4 我能用 ZIP 磁碟机开机吗? * 7.5 为何 Iomega 使用第 4 个分割区? * 7.6 我要怎样才能在开机时,自动将磁片挂载起来? * 7.7 如果当我开机时没有插磁片在磁碟机内,那麽会怎样呢? * 7.8 我能够把并列埠磁碟机当成真实的 SCSI 磁碟机来用吗? * 7.9 ppa 驱动程式能用在 Iomega 的并列埠磁带机上吗? * 7.10 ppa 驱动程式是否能在并列埠版的 SyQuest EZ135 上正常运作? 8. 取得更多最新资讯 _________________________________________________________________ 1. 简介 Iomega ZIP 磁碟机是一种很受欢迎的抽取式磁碟机。ZIP 磁碟机有很多不同的版 本: * 并列埠(Parallel Port) * SCSI * IDE - ATAPI * Plus 其中,最受欢迎的似乎是并列埠的版本,主要是因为并列埠版本的机器上市已有 一段不短的时间,并且价格低廉。 SCSI 版本的机器虽然也上市了一段时间了, 但是因为需要有 SCSI 配接卡,而 SCSI 卡并不是人人都有的,因此,并没有如 并列埠版本般流行。 ATAPI 版本的机器现在则似乎越来越常见了。 Plus 是一个 较新的 ZIP 磁碟机版本,它具有自动侦测磁碟机是连接在并列埠或者 SCSI 介面 的能力。 本文件主要会将焦点放在并列埠的版本上,然而也会提供一些其他版本 机器的提示。 本文件包含了一些其他人所收集及发表的资讯,尤其是: * Grant Guenther, grant@torque.net * Scot Wilcoxon, sewilco@fielday.mn.org * Joe Mack, mack@ncifcrf.gov * Byron Jeff, byron@cc.gatech.edu 我非常感谢他们的重要贡献以及指正我所犯的错误。 特别感谢完成 0.26 版的 ppa 驱动程式以及这个 HOWTO 的原始版本作者 Grant Guenther 。 如果发现本文件有任何错误或疏失,请让我知道: [3]dansie@ibm.net 如果有任何翻译上的错误或疏失,也请让译者知道: [4]storm@chempro.che.ntu.edu.tw 1.1 本文件的发源地 本文件的最新原文版本可以在这里取得: [5]http://www.njtcom.com/dansie/zip-drive.html 2. 快速上手指引 现在,你买了一台新的 ZIP 磁碟机,而你想要使用它。 有些 Linux 的发行版本 (Distribution)已经建好了 ppa 模组。 你可以试著以 insmod ppa 指令来载 入 ppa 模组以使用 ZIP 磁碟机。(请确定你有把 ZIP 磁碟机安装妥当,并且在 磁碟机内插有磁片。) 如果发现系统中没有 ppa 模组,那麽你必须要调整核心 组态设定。 我的机器上有两个并列埠,一个接 ZIP 磁碟机,而另一个接印表机 。 这样可以免去切换与插拔电缆线的麻烦。 设定系统核心(kernel)组态: * 切换路径至 /usr/src/linux * make xconfig * 选择 scsi support = Y * 选择 scsi disk support = Y * 选择 Iomega zip support as a module * 选择 printer support as a module * 结束并储存设定 * make dep * make clean * make zImage 或 zlilo 或 zdisk * make modules * make modules_install 接下来,要使用 ppa 驱动程式: * 载入 ppa 模组: insmod ppa * 建立一个挂载点(mounting point): mkdir /zip * 插入一片已经以 Windows 档案系统格式格式化好的 ZIP 磁片到 ZIP 磁碟机 中。 * 将 ZIP 磁片挂载(mount)起来: mount -t vfat /dev/sda4 /zip * 使用任何标准的档案指令,例如 l /zip, ls /zip, df, cp, * 当你工作完成以後: umount /zip 如果你在上面的操作步骤中遇到任何问题,请参考接下来的各章节以获得更详细 的说明。 3. 建立一个能使用 ZIP 磁碟机的核心 要在 Linux 下使用 ZIP 磁碟机,你必须要有一个支援 SCSI 装置,支援 SCSI 磁碟,以及支援你所用的主配接器(Host Adapter)的核心。 如果你对於如何建 立核心并不熟悉,你可以由 [6]Linux Kernel HOWTO 获得相关资讯[译者注]。 [译者注] 中文化的 Linux Kernel HOWTO 可以在 [7]CLDP Linux Kernel HOWTO 中找到。 建立核心的第一步是设定核心组态。下面会告诉你哪些核心设定选项必须要选定 。 首先, cd /usr/src/linux。有许多方法可以进行组态设定。 在 X window 下我用 make xconfig。 此外,在命令列下,还可以用 make menuconfig 或 make config。然而,最简单的方法是用 xconfig。 在 SCSI Support 组态群组中,选定 SCSI support = Y。另外也要选定 SCSI disk support = Y。 在 SCSI low-level drivers 组态群组中,你要选定 IOMEGA Parallel Port ZIP drive SCSI support = M。 "M" 代表设定成模组。 在 Character Devices 组态群组中,找到并选定 Parallell Printer support = M。 如果你对上面的步骤感到任何一点点的不确定,那麽在编译核心时,请使用 make zdisk 的编译方式。 这样会建立并安装核心到软碟机上。如此一来,如果 你因为某些原因而搞砸了,在硬碟上你仍然还有一个可以正常开机的系统。 现在,以下列的步骤建立核心: * make dep * make clean * make zImage 或 zlilo 或 zdisk * make modules * make mdoules_install [小提示] 如果你想记录在 make zImage 过程中的萤幕输出的话,你可以用下列 指令: make zImage 2>&1 | tee zImage.out 十分建议你将编译过程记录下来,尤其是当编译过程有发生错误,或者核心组态 设定有错的时候, 你可以在记录档中找到相关的错误讯息。这样会方便你在向别 人求助时能提供相关讯息。 此外,你必须将模组载入。在我的系统上,我只是在 boot.local 中加了下面几 行: * insmod ppa * insmod lp 我的系统是 SuSE 5.3 ,而这个档案在 /etc/rc.d 下。 这个档案的名称和路径 在每个发行版本中都会略有不同,但总会有一个这样的档案,用来纪录一些你自 己希望在系统启动时,自动执行的命令。 你应该找到并使用你所安装的发行版本 中相对应的档案[译者注]。 [译者注] 在 RedHat 和 Slackware 这两个发行版本中,这个档案是 /etc/rc.d/rc.local。 现在,关闭系统并重新启动。 你也可以将全部或者部分的 SCSI 装置设定建成模组。 如果你这样做,在你试著 使用 ZIP 磁碟机前,记得要先确定载入 scsi.o ,接下来载入 sd.o ,最後载入 你的主配接器的模组。 3.1 SCSI 版本 如果你已经有一台 SCSI 硬碟,而且你将 ZIP 磁碟机接在同一个 SCSI 控制器上 ,那麽你不需要变更核心的组态设定;否则,你很可能必须建立一个新的核心。 如果你在建立一个可以使用 SCSI ZIP 磁碟机的核心,你应该要开启支援 SCSI 以及 SCSI 磁碟机的设定选项。 此外,你也必须选择一个支援你所用的 SCSI 配 接卡的驱动程式。如果你有 ZIP Zoom SCSI 配接卡,请选择 aha152x 这个驱动 程式。 请务必读过在 SCSI HOWTO 文件中,有关你所使用的 SCSI 配接卡的相关资讯, 并且务必读过在 Linux 核心原始程式码目录下,drivers/scsi 目录下所有的 README 档。 请特别注意是否有必须传给核心以驱动你的 SCSI 配接卡的相关核 心启动参数。 例如,如果你是用 ZIP Zoom 介面卡,你将必须在开机出现 boot: 提示符号时, 输入类似 aha152x=0x340,11,7,1 的核心参数(或者将这段参数加在你的 /etc/lilo.conf 中的 append 命令中) 。 这列参数告诉驱动程式有关你的 ZIP Zoom 卡的输出入埠位址以及中断(IRQ )- 务必确定所用的数值与你卡上的硬体跳线器(Jumper)设定相符。 你也该看看 Paul Gortmaker 的 [8]BootPrompt HOWTO 以获得更多有关如何设定 与使用 LILO 或 LOADLIN[译者注]。 [译者注] 中文化的 BootPrompt HOWTO 可以在 [9]CLDP BootPrompt HOWTO 中找 到。 4. ZIP 磁碟机 Iomega ZIP 100 磁碟机最少有五种或六种不同版本。 Iomega 网站上有关这些磁 碟机的部分在 [10]http://www.iomega.com/zip/。 所有的机种都能使用容量为 100 MB 的特殊 3.5" 磁片匣。 这种磁片实际上有 96 个磁柱(Cylinder),每 个磁柱有 2048 个磁区,每个磁区有 512 位元组。这种磁片的实际容量通常为 96 MB。 外接式的机种有: * 并列埠 * SCSI * Plus 内接式的机种有: * SCSI * IDE * ATAPI 内接式的机种能够装在电脑机壳的 3.5 或 5.25 □磁碟机槽。 外接式的机种则 是装在一个蓝色小塑胶机壳中[译者注],并由外部的电源供应器供应电源。 [译者注] 早期曾有一段时间,EPSON 有代理外接式并列埠 ZIP 磁碟机,EPSON 所代理的机器的机壳颜色是白色的。 不管是哪一种机型,每部 ZIP 磁碟机的前面板都会有一个按钮。那是退片钮。 当 ZIP 磁碟机被使用时,Linux 会锁住磁片,然而若在此时按下了退片钮,ZIP 磁碟机会『记起来』退片要求,并且在系统解除锁定磁片後,立刻将磁片退出来 。 4.1 并列埠版本的 ZIP 100 磁碟机 这个版本的 ZIP 磁碟机相关资讯可以在这里找到: [11]http://www.iomega.com/zip/products/parallel_port.html Linux 的 ZIP 驱动程式有几个不同的版本。在 2.0.x 的核心附的是 0.26 版的 ppa.c 驱动程式。 如果你的核心版本低於 2.0.35,那麽你有一个老旧版本的驱 动程式。 到 [12]David Campbell's page 来找找比较新的版本。在写这篇 mini-Howto 时,最新的版本是 1.42 版[译者注]。 [译者注] 在我翻译这篇 mini-Howto 时(May 1999),最新的版本仍是 1.42 版 。 1.4x 版驱动程式的自动硬体组态侦测功能实在太棒了。 你不需要告诉驱动程式 你的并列埠的基底记忆体位置,驱动程式会自动侦测并列埠的标准基底位址,如 果侦测到 ZIP 磁碟机的话,还会自动连接磁碟机。 最常遇到的错误是在载入 ppa 驱动程式前,先载入了 lp 印表机模组。ppa 驱动 程式必须在 lp 模组之前载入。 ppa 驱动程式之所以必须先载入的原因是因为 lp 模组会占用 ZIP 磁碟机所用的输出入埠。 另外也请确定所有电缆都有稳固的连接妥当。 如果你一切都做对了 :) 你会在开机时看到类似这样的讯息: VFS: Mounted root (ext2 filesystem) readonly. Adding Swap: 102528k swap-space (priority -1) ppa: Version 1.42 ppa: Probing port 03bc ppa: Probing port 0378 ppa: SPP port present ppa: EPP 1.9 with hardware direction protocol ppa: Found device at ID 6, Attempting to use EPP 32 bit ppa: Communication established with ID 6 using EPP 32 bit ppa: Probing port 0278 ppa: SPP port present scsi0 : Iomega parport ZIP drive scsi : 1 host. Vendor: IOMEGA Model: ZIP 100 Rev: D.09 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: sda4 lp2 at 0x0278, (polling) 你能够用 dmesg | more 指令来查看开机讯息。 你也可以用 dmesg > dmesg.txt 指令将开记讯息存到档案中。 当你试著找出安装上的错误时,这个档 常常十分有用。 此外,也请看看 " [13]取得更多最新资讯" 这个章节。 4.2 SCSI 外接式版本 Iomega 网站上有关这种磁碟机的部分在 [14]http://www.iomega.com/zip/products/scsi.html。 SCSI 介面的外接式 ZIP 磁碟机有两个 DB25F 接头及两个设定开关。 其中一个 开关是用来设定磁碟机的标的位址[译者注]。能够选择的值限制在 5 或 6。 另 一个开关是当 ZIP 磁碟机是 SCSI 电缆上串接的最後一个装置时,用来开启内部 终端电阻用的。 25 针的 SCSI 接头是采用类似麦金塔(Macintosh)电脑所用的 配线方式。 购买磁碟机时,会随货附一条麦金塔的 SCSI 电缆线,然而,若你的 SCSI 配接卡是用 Centronics 接头或者高密度接头的话,标准 SCSI 电缆线以及 转换接头应该很容易取得。 [译者注] 原文是 target address,由语意判断,应该是指 SCSI ID。 我没看过内接式的 SCSI ZIP 磁碟机,但我猜应该也有一个 50 针 DIP SCSI 接 头以及两个一样的设定开关。 请确定你所设定的标的位址没有和在同一个汇流排上的其他 SCSI 装置相冲突。 也请确定在 SCSI 电缆线上穿接的最後一个装置有启动内部终端电阻,或者装上 一个外部终端电阻。 如果你有内接式的 SCSI 硬碟或光碟机,并且你将你的 ZIP 磁碟机接在同一个 SCSI 配接卡上,你应该检查看看是否有必须要移除的终端电阻。 只有 SCSI 汇 流排上最末两端必须接上终端电阻。 如果你的 SCSI 汇流排上同时有内接式以及 外接式的 SCSI 装置,那麽最後的一个内接以及外接装置上必须接上终端电阻, 但是 SCSI 配接卡本身不需要终端电阻。 请确定所有的电缆线都有紧紧地接好。 核心的组态设定和设定内接式版本时一样。请参考下面 SCSI 内接式版本章节中 的设定□例。 ZIP ZOOM 主配接卡 ZIP Zoom 是 Iomega 卖的 SCSI 主配接卡。 这块卡的设计实际上是基於 Adaptec AHA1520 系列配接卡。 这块卡上有一个与随 ZIP 磁碟机附赠的电缆线 相容的,Macintosh 用的 DB25F 外接接头。 支援这块配接卡的 Linux 驱动程式是 aha152x。 4.3 SCSI 内接式版本 硬体的安装请见『安装与参考指引』。请注意所使用的 SCSI ID,IRQ 及 I/O 埠 位址(稍後你将会需要这些资讯)。 请小心 ZIP Zoom 这块卡在硬体线路上直接设定了使用 SCSI ID 7。 在接下来的 命令列中所提到的 SCSI ID 是指 SCSI 卡的 ID ,而不是磁碟机的。 卡和磁碟 机必须使用不同的 SCSI ID。例如,如果卡的 ID 是 7,则磁碟机使用 5 或其他 的 ID。 在开启了支援 『SCSI』,『SCSI disk』及『AHA152X/2825』等的组态设定後, 重新编译核心,并请安装新的核心 :-( 请决定适合你的系统的核心启动参数: aha152x=[I/O Port][,IRQ][,SCSI ID][,RECONNECT][,PARITY] 例如: aha152x=0x140,10,7,1 如果你是使用 LILO,将核心启动参数加到 lilo.conf 的 append 命令中。 (例如将 append = "aha152x=0x140,10,7,1" 加到 lilo.conf 中) 如果你是用 LOADLIN,那麽将你的核心启动参数加到你用来启动 loadin 的命令 中。 (例如 loadlin c:\vmlinuz root=/dev/hda3 aha152x=0x140,10,5,1 ro) 4.4 ZIP Plus - IMM 驱动程式 这是一种比较新的外接式 ZIP 磁碟机。 Zip Plus 不是用 ppa 驱动程式, 而是 使用 imm 驱动程式。 [15]Philippe Andersson 提供了这段有关 ZIP Plus 的 imm 驱动程式的说明。谢谢 Philippe。 首先,重建一个包含下列组态的核心: * modules support * SCSI support * SCSI Disk support * lp 建成模组 (如果你需要的话) 你应该有注意到我们并没有选择任何低阶的 SCSI 驱动程式。这没关系 -- 我们 将在稍後另外建立它。 接下来,你要到 Dave Campbell 的网站取得驱动程式的原始程式码 ( [16]http://www.torque.net/~campbell/imm.tar.gz)。0.18 版是在写这份文件 时(Aug. '98)的最新版本[译者注]。 将档案解压缩到某目录下(例如解到 /usr/src 下面)。接下来执行 make。 你就会得到 imm 驱动程式模组(imm.o) 。将该模组复制到 /lib/modules/$(uname -r)/scsi 下。 [译者注] 在我翻译这篇 mini-Howto 时(Jun. 1999),最新的版本仍是 0.18 版 。 如果你已经载入 lp 模组(可以使用 lsmod(1) 命令检查),先卸除 lp 模组 (rmmod lp),然後载入 imm.o 模组(insmod imm)。 到这里,你已经完成了 基本的设定。 如果你在载入 imm 模组时, ZIP 磁碟机并没有连接好或者没有打开电源,你会 看到 "init_module: Device or resource busy" 的错误讯息,而无法载入模组 。(附带一提,当你要连接 ZIP 磁碟机到电脑主机时,似乎不需要将电脑关机 -- 只要确定 imm 模组没有载入,而且磁碟机的电源是关的,接著只要将电缆线 插好,打开电源,并载入模组就可以了。) 如果 ZIP 磁碟机已经接好而且也打开电源了,但是没有插磁片在里面,那麽 imm 模组还是会载入,但是你会看到无法读取磁碟分割表的错误讯息。 这没关系 ,因为当你在磁碟机内插入磁片,系统会自动读取分割表。 若你在载入模组时,ZIP 磁碟机内有插磁片,那你会看到该磁片的分割区列表以 及写入保护状态等等的完整资讯。 下面是一个载入模组时所看到的磁片资讯的例 子: vger:~# insmod imm imm: Version 0.18 imm: Probing port 03bc imm: Probing port 0378 imm: SPP port present imm: ECP with a 16 byte FIFO present imm: PS/2 bidirectional port present imm: Passed Intel bug check. imm: Probing port 0278 scsi0 : Iomega ZIP Plus drive scsi : 1 host. Vendor: IOMEGA Model: ZIP 100 PLUS Rev: J.66 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 vger:~# 最後值得一提的是,当磁片被挂载以後,这版的驱动程式会将磁片锁住。 如果在 这时按下退片钮,磁片并不会退出来,但是磁碟机会『记得』你的退片要求,并 在你卸载(umount)磁片後立刻退片。 4.5 ATAPI 版本 有关这种机型的资讯可以在这里找到: [17]http://www.iomega.com/zip/products/insider.html 之前有一小段时间还有一种 IDE 版本的磁碟机。不过我想现在绝大部分都已经被 ATAPI 版本的机器所取代。 Donald Stidwell 提供我下面这些有关 ATAPI 版本的说明。谢谢 Don。 我有一台 ATAPI ZIP 磁碟机,而且在 2.0.32 及 2.0.33 版的核心下都能正常运 作。 我在 RH 5.0 及 OpenLinux 1.2 (我现在在使用的发行版本)下都测试 过[译者注]。 我所需要做的只是开启 ATAPI floppy support 的核心组态设定 。OpenLinux 的核心并没有内定开启这个功能。 [译者注] 我本身在 Slackware 3.3/3.6 以及 RedHat 5.2 下都能正常使用 ATAPI ZIP,测试过的核心版本有 2.0.35, 2.0.36, 2.2.1, 2.2.2 等。 不需要其他额外的驱动程式。ZIP 磁片会以延伸分割区(Extended Partition)的 形式挂载在第 4 个分割区。 例如,我的状况是挂载 HDB4。我以 noauto 的挂载 选项将 ZIP 磁片挂载於 /mnt/zip,但是我想用自动挂载应该也不会有问题。 我 想唯一可能的问题是退片。我总是在要退片前,先卸载磁片。 在 1998 年五月号的 Linux Gazette 中,有对於在 Linux 下安装 ATAPI ZIP 的 更详细介绍。 请参考 2 cent tip 的部分。 [18]http://www.linuxgazette.com/issue28/lg_tips28.html#atapi 4.6 IDE 版本 我没用过 IDE 版本的 ZIP。Eric Backus 提供下面这些说明。谢谢 Eric。 我有一台 IDE ZIP 磁碟机,是在一年前随著我的 Gateway 2000 电脑一起买来的 。 我想这种机型绝大部分都是在 ATAPI 版本的 ZIP 发行前,由这类的大型 OEM 公司随货卖出的。 好消息是:要支援这种磁碟机,不需要额外的核心模组或者核心组态变更。 这种 机型对核心而言,就跟 IDE 硬碟一样。 我能在 2.0.31 及 2.0.32 版的核心上 直接使用。 而坏消息是:因为不是使用 ATAPI 协定,所以你无法启动使用 SCSI 转 ATAPI 的核心组态, 也就是说,你不能用 mtools 来开启磁片的防写功能以及退片[译 者注]。 [译者注] 请参考 mzip(1) 指令以及 mtools 的 man page 说明。 4.7 USB 版本 这台磁碟机的资料可以在这里找到: [19]http://www.iomega.com/zip/products/usb.html 这种磁碟机看起来很酷,而且 USB 介面也看起来很棒。 唯一的问题是目前 Linux 对 USB 介面的驱动程式还在发展中。 因此,就目前而言,这种 ZIP 磁碟 机无法在 Linux 下使用。 看看这个网站以取得最新资讯: [20]http://peloncho.fis.ucm.es/~inaky/USB/news.html 4.8 ZIP 250 版本 这种机型是 1999 年 1 月推出的新机型。我买了一台,而且在 Linux 下使用非 常良好。 所要做的只有使用由 [21]http://www.torque.net/~campbell/imm.tar.gz 取得的 imm 驱动程式。 设 定上和 ZIP Plus 相同。简单的说,先取得驱动程式原始码,解压缩,然後执行 make。 接著复制 imm.o 到存放核心模组的目录下,例如 /lib/modules/2.0.35/scsi(2.0.35 是你的核心版本号码)。 如果你不确定你 的核心版本号码是多少,可以用 uname -r 指令查询。 5. 使用 ZIP 磁碟机 如果你已经建立好所有需要的元件,那麽核心应该能在开机时辨识出你的配接卡 以及磁碟机。 如果你是用可载入式模组的方式建立驱动程式的话,接下来的讨论 仅适用於模组以载入後的情形。 在大部分情形下,SCSI 和 并列埠版本的磁碟机表现相同,除了并列埠版本的比 较慢以外。 5.1 Fdisk, mke2fs, mount, 等等 一旦你知道你的 ZIP 磁碟机所属的磁碟装置名称,你就已经准备就绪。 你能够 使用 Linux 的磁碟管理命令来对该磁碟装置进行操作。 fdisk(或者 cfdisk) 是用来规划磁碟的分割表。 mke2fs 能用来将分割区格式化(Format)成 ext2 档案系统 -- 这是 Linux 下最常使用的档案系统。 mount 则是用来将格式化好 的分割区连接到你的目录体系中。 如果你对这些工具并不熟悉,你应该研读一下这些工具的手册。 请小心注意 fdisk 程式现在有许多十分不一样的版本 - 请务必小心。 我将陈述两个常见的案例。 5.2 使用一片已经用 DOS 格式化好的磁片 如果你有一张原本由 Iomega 的工具程式格式化成 DOS 档案结构的 ZIP 磁片, 那麽扫瞄分割表时应该会发现磁片上有一个分割区 /dev/sda4。 你应该先建立一个用来挂载 ZIP 磁片的目录,例如 /zip,然後以 MS-DOS 档案 系统格式将磁片挂载起来: mkdir /zip mount -t vfat /dev/sda4 /zip 你也可以用 msdos 来取代上面的 vfat。两者的差别在於, vfat 支援长档名, 而 msdos 不支援。 现在,磁片上的档案应该会出现在 /zip 目录下。 当磁片被 挂载了,你将无法由磁碟机中将磁片退出。 当你完成了对磁片的存取,你可以卸 载磁片来切断磁片和目录体系的连接,并取出磁片: umount /zip 一旦你已经建好 /zip 这个挂载点 - 你不需要再建立一次。 所以稍後你能再将 另一片磁片挂载在那儿。 5.3 重新将磁片格式化成 Linux 格式的磁片 如果你想要消去 ZIP 磁片上原有的档案系统,并建立 Linux 的档案系统,你应 该使用 fdisk 来重新规划整片磁片的分割区: fdisk /dev/sda 并且删除所有已存在的分割区(用 fdisk 的 d 命令)。 接著,用 n 命令建立 一个新的分割区,选择主分割区号码 1 ,用 w 命令将分割表写到磁片上,然後 用 q 命令离开 fdisk 程式。 接著格式化分割区: mke2fs /dev/sda1 (数字 1 就是你在 fdisk 中给定该分割区的分割区编号)。 现在,你可以将磁 片挂载起来: mount -t ext2 /dev/sda1 /zip (再次使用我们之前建立的挂载点)。 5.4 fstab 档 /etc/fstab 能让你对 mount 命令进行设定。 我希望系统上登录的任何使用者都 能挂载及写入 ZIP 磁片,因此我在 fstab 的档案结尾加了两列像这样的内容: /dev/sda1 /zip ext2 noauto,rw,user,nosuid,sync /dev/sda4 /zipdos vfat noauto,rw,user,nosuid,sync,mode =0777 这里假设你有一个 /zip 目录和一个 /zipdos 目录。 如果你要所有使用者都能 够读写 ZIP 磁片,请确定你设定了适当的存取权限,例如 chmod 666 /zip。 你 必须以 root 的身份执行 chmod 命令。 上面 fstab 的内容也假设了你的 DOS 格式 ZIP 磁片的分割区编号是 4 (在我的系统是 sda4),以及 ext2(Linux) 格式的磁片分割区编号是 1(sda1)。 你可以用 man mount 找到更多 fstab 档 案的设定选项资料。 如果你在 fstab 档案中加入上面两列设定,那麽你可以用 mount /zipdos 挂载 DOS 格式磁片。 如果你要挂载 Linux ext2 格式的磁片,那麽命令是 mount /zip 。 5.5 ZIP Tools 工具磁片 如果你想使用随 ZIP 磁碟机附赠的磁片,还有一点额外的工作要做。 这些磁片 在出货时,软体控制的写入保护功能是被开启的。 大部分的人在要在 Linux 下 使用 ZIP 磁片时,会先在 DOS 下将写入保护功能关闭。 Linux 无法存取被写入 保护锁定的磁片,所以必须先用 Iomega 的工具程式来解除锁定。 相信在 Linux 下,能用来管理磁片的写入保护以及其他功能的程式,将在不久的 将来发展完成[译者注]。 [译者注] 现在已经有一些工具程式可以用来控制 ZIP 磁片的各种状态,计有 mtools 中的 mzip(1) ,以及现在由 Mirko Kraft 所发展维护的 ziptool 等等 。 6. 性能表现 标准 2.0.x 版的核心原始程式中所附的 ppa.c 驱动程式码是 0.26 版的。 这是 一个非常可靠的简单程式,因此被大量而广泛的使用。 这个程式唯一的缺点是速 度不是很快。 在我自己的机器上,我是用 2.0.30 版的核心,而且有两个并列埠 。 这也是一台低价位的机器:pentium 133 - 16 MB 记忆体,5 GB Maxter EIDE 硬碟。 机器花了我 500 元美金,而 ZIP 磁碟机则花了 250 元。 我用的 都是廉价品,但那有什麽关系。 我将 ZIP 磁碟机装在第二个并列埠,而将印表机装在第一个。 第二个并列埠是 一张旧式的并列埠扩充卡,没有 EPP 模式。 因此 ZIP 磁碟机只能在 4 位元标 准并列埠模式下运作。 测试性能表现的基准方法是,我由硬碟复制一个 Netscape 的 tar 压缩档到 ZIP 磁碟机。 这个档大约是 10.6 MB,所花的时间是 7 分 15 秒。 而由 ZIP 磁碟机将同一个档案复制到硬碟上,则大约花了 7 分钟。 接著我做了两项改变。首先,我将 ZIP磁碟机接到第一个并列埠,并开启 BIOS 中的 EPP 模式选项。 另外,我将印表机接到第二个并列埠。 其次,我由 [22]David Campbell 的网页下载新的 PPA 驱动程式。 我安装驱动 程式,并阅读随程式所附的 readme 档。 然後我再次进行相同的测试,复制 Netscape tar 档到 ZIP 上,以及由 ZIP 上 复制出来。 由 ZIP 上复制到 C 磁碟花了 1 分 55 秒。而由硬碟复制到 ZIP 磁 碟机则花了 1 分钟整。 这相较於使用旧版驱动程式的 7:15 以及 7:00 来说, 新版程式的效能大幅提升,远远超越了 0.26 版程式的效能。 这些测试是在 ZIP 磁碟机也使用 vfat 档案系统格式的情况下进行的。 接著,我重新将 ZIP 磁碟机格式化成 ext2 档案系统格式。并再次进行同样的测 试。 由 ZIP 磁碟机上复制到硬碟只花了 50 秒。而由硬碟复制到 ZIP 磁碟机则 只花了 40 秒。 性能表现摘要 在搬移一个 10.6 MB 档案的测试中,在使用 4 位元标准并列埠模式以及 0.26 版 ppa 驱动程式的情况下,速度最慢,时间是 7:00 及 7:15。 在使用新版(1.41 版)驱动程式,EPP 并列埠模式,并使用 ext2 档案系统的情 况下,速度最快,时间是 50 秒和 40 秒。 7. 常见问答集 这里是一些我常被问到的问题。请在再次发问前,先找找看这里的答案! 7.1 我能够将印表机串接在并列埠版本的 ZIP 磁碟机上吗? 可以,但是就目前而言,你不能在同一个并列埠上同时挂载启动 lp 及 ppa 驱动 程式模组。 目前正在设计以及开始实做一个资源分享协定,但在 Linux 2.0 释 出前不会正式发行[译者注]。 [译者注] 不太清楚原作者所指的 Linux 2.0 是什麽,怀疑指是 Kernel 2.2.0 (2.2.0 版的核心)。 如果你喜欢冒险,那麽取得并安装 2.1.x 版的核心,你就能使并列埠资源共享。 请参考 [23]http://www.cyberelk.demon.co.uk/parport.html 在 2.0.x 的核心下最简单的解决办法是使用两个不同的并列埠。 我花了 15 美 元买了第二个并列埠介面,而且运作得很好。 你可以一个用来接 ZIP 磁碟机, 另一个接印表机。 所要做的只有建立一个支援 lp 和 ppa 模组的核心,以及这 两个模组。 我用的是比较新(1.41 版)的 ppa 驱动程式,所以我先载入 ppa 模组(insmod ppa)。 ppa 驱动程式会侦测到在第一个并列埠上的 ZIP 磁碟机 。 接著我再载入 lp 模组(insmod lp)来驱动第二个并列埠上的印表机。 如果你是用 0.26 版的 ppa 驱动程式,那麽请更新到 1.41 版或更新的版本。 如果你在使用 ppa 驱动程式时遇到任何问题,唯一的解答是请更新 ppa 到更新 的版本。 7.2 是否有计画在 ppa 中支援 EPP/ECP 模式的并列埠? 0.26 版的程式并不支援 EPP。而 1.41 版则有支援 EPP。 这版的程式也比旧版 快多了。更详细的资讯请参考" [24]性能表现"的部分。 7.3 我能够将 Linux 安装在 ZIP 磁碟机上,并由 ZIP 磁碟机上启动执行吗? 已经有人这麽做了。这种安装方式是制作一个急救磁片或者测试安装时的好方法 。 [25]http://metalab.unc.edu/LDP/HOWTO/mini/ZIP-Install.html[译者注] [译者注] 中文化的 ZIP Install mini-HOWTO 可以在 [26]CLDP ZIP Install mini-HOWTO 中找到。 7.4 我能用 ZIP 磁碟机开机吗? 这要视你所使用的主配接器种类而定。如果你的主配接器的 BIOS ROM 允许你由 SCSI ID 为 5 或 6 的装置上开机,那麽你就能用 SCSI ZIP 磁碟机开机。 并列 埠版本的 ZIP 磁碟机无法用来开机。 如果你的硬碟上有装 DOS,而你想要启动在 ZIP 磁片上的 Linux 系统,那麽你 可以用 LOADLIN 。 你必须复制一份核心影像档到 DOS 的硬碟上,而完整的 Linux 系统则需装在 ZIP 磁片上。 请确定你所复制的核心档的相关驱动程式组 态设定是对的。 据我所知,目前常见的发行版本中,没有任何一个有提供用来安装於并列埠版本 ZIP 上的可开机安装磁片。 7.5 为何 Iomega 使用第 4 个分割区? 这是最常见到的问题,但我想没有人知道确实的答案。 可能是他们头脑不清楚吧 ?也许没有特别的原因。 7.6 我要怎样才能在开机时,自动将磁片挂载起来? 你所要做的只有在你的 /etc/fstab 档内加一行设定。 举例来说,如果你开机时 总会插一片 DOS 格式的磁片在 ZIP 磁碟机内,那你可以将 /dev/sda4 /zip vfat defaults 0 0 加到你的 fstab 档案中。 随你所使用的发行版本而略有不同,但开机时,通常 负责系统初始化的命令稿(Script)会试著在 fstab 内有纪录的分割区上执行 fsck。 请注意,如果开机时你忘了放磁片或者放了错误格式的磁片,这样可能会 造成问题。 7.7 如果当我开机时没有插磁片在磁碟机内,那麽会怎样呢? 系统核心会试著读取磁片的分割表,但是会作业逾时。 然而,这没什麽好担心的 。 一旦当你插了一片磁片到磁碟机内,并且试著进行读写等动作时,核心会重新 读取分割表。 提示:当你抽换磁片时,最好能够用 fdisk 检查一下新插入的磁片上的分割表结 构。 某些 SCSI 主配接器上的 BIOS 会在系统开机期间试著读取你的磁片上的分割表 。 如果你不能将 SCSI 卡的这项功能关掉,那麽你可能会被迫在开机时,必须插 一片磁片在磁碟机内。 7.8 我能够把并列埠磁碟机当成真实的 SCSI 磁碟机来用吗? PPA-3 并列埠转 SCSI 转接器是被实做成一个 Iomega 称为 VPI0 的 ASIC 单晶 片。 这片晶片被内嵌於 ZIP 磁碟机控制卡上。 实际上是有一个 SCSI 汇流排存 在,但是不是在能使用的形式下。 虽然我还没比较过这两种卡,逻辑上似乎 VPI0 取代了传统的 SCSI 汇流排外接 延伸装置所需要的电子缓冲电路。 7.9 ppa 驱动程式能用在 Iomega 的并列埠磁带机上吗? 不能。这些磁带机是软碟式磁带机(floppy-tape drive),跟 SCSI 无关。 有些人表示对於应用我的方法,来试著找出传输协定,及发展这些磁带机的驱动 程式感到兴趣。 第一步是要先让 DOS 下的驱动程式能在 DOSemu 下使用。 到目 前为止,我还没听说有成功的案例。 7.10 ppa 驱动程式是否能在并列埠版的 SyQuest EZ135 上正常运作? 不能。 EZ135 是一个内建 ShuttlePort 并列埠转 IDE 转换器的 IDE 磁碟机。 然而,这台磁碟机的驱动程式发展也已经有一些成果。到这儿瞧瞧: [27]http://www.torque.net/linux-pp.html 8. 取得更多最新资讯 最新版本的并列埠 ZIP 驱动程式(ppa.c)以及关於该驱动程式的技术资讯可以 在下面 URL 找到: [28]http://www.torque.net/~campbell/ 许多并列埠外接装置驱动程式的资讯可以在下面 URL 找到: [29]http://www.torque.net/linux-pp.html 并列埠共享(Parallel Port sharing)的相关资讯可以在下面 URL 找到: [30]http://www.cyberelk.demon.co.uk/parport.html 由 ZIP 磁碟机安装 Linux(对於没有 CD-ROM 的机器)的相关讯息可以在下面的 mini HOWTO 找到: [31]http://metalab.unc.edu/mdw/HOWTO/mini/Install-From-ZIP.html ziptool 程式的 X 前端介面可以在下面 URL 找到: [32]http://www.scripps.edu/~jsmith/jazip/ 关於 LILO 的设定相关资讯可以在下面的 mini HOWTO 中找到: [33]http://metalab.unc.edu/mdw/HOWTO/mini/LILO.html 关於 BootPrompt 的使用资讯可以在下面的 HOWTO 文件中找到: [34]http://metalab.unc.edu/mdw/HOWTO/BootPrompt-HOWTO.html 如果你想要把 Linux 安装在 ZIP 磁碟机上,并且由 ZIP 磁碟机执行 Linux 的 话, 下面的 mini HOWTO 文件将提供你相关讯息: [35]http://metalab.unc.edu/LDP/HOWTO/mini/ZIP-Install.html Iomega 的网页在: [36]http://www.iomega.com/. 此外,如果你想寻找在 PC 上写并列埠应用程式的相关资讯的话,也许你会想看 看下面这个网页: [37]http://www.lvr.com/parport.htm References 1. mailto:dansie@ibm.net 2. mailto:storm@chempro.che.ntu.edu.tw 3. mailto:dansie@ibm.net 4. mailto:storm@chempro.che.ntu.edu.tw 5. http://www.njtcom.com/dansie/zip-drive.html 6. http://metalab.unc.edu/mdw/HOWTO/Kernel-HOWTO.html 7. http://www.linux.org.tw/CLDP/Kernel-HOWTO.html 8. http://metalab.unc.edu/mdw/HOWTO/BootPrompt-HOWTO.html 9. http://www.linux.org.tw/CLDP/BootPrompt-HOWTO.html 10. http://www.iomega.com/zip/ 11. http://www.iomega.com/zip/products/parallel_port.html 12. http://www.torque.net/~campbell/ 13. file://localhost/tmp/zh-sgmltools.9317/ZIP-Drive.txt.html#sec-more-info 14. http://www.iomega.com/zip/products/scsi.html 15. mailto:Philippe_Andersson@ste.scitex.com 16. http://www.torque.net/~campbell/imm.tar.gz 17. http://www.iomega.com/zip/products/insider.html 18. http://www.linuxgazette.com/issue28/lg_tips28.html#atapi 19. http://www.iomega.com/zip/products/usb.html 20. http://peloncho.fis.ucm.es/~inaky/USB/news.html 21. http://www.torque.net/~campbell/imm.tar.gz 22. http://www.torque.net/~campbell/ 23. http://www.cyberelk.demon.co.uk/parport.html 24. file://localhost/tmp/zh-sgmltools.9317/ZIP-Drive.txt.html#sec-performance 25. http://metalab.unc.edu/LDP/HOWTO/mini/ZIP-Install.html 26. http://www.linux.org.tw/CLDP/mini/ZIP-Install.html 27. http://www.torque.net/linux-pp.html 28. http://www.torque.net/~campbell/ 29. http://www.torque.net/linux-pp.html 30. http://www.cyberelk.demon.co.uk/parport.html 31. http://metalab.unc.edu/mdw/HOWTO/mini/Install-From-ZIP.html 32. http://www.scripps.edu/~jsmith/jazip/ 33. http://metalab.unc.edu/mdw/HOWTO/mini/LILO.html 34. http://metalab.unc.edu/mdw/HOWTO/BootPrompt-HOWTO.html 35. http://metalab.unc.edu/LDP/HOWTO/mini/ZIP-Install.html 36. http://www.iomega.com/ 37. http://www.lvr.com/parport.htm