作者:Kyle Dansie dansie@ibm.net 译者:杨尚峰 storm@chempro.che.ntu.edu.tw v2.4, 10 January 1999 翻译日期:8 June 1999 -------------------------------------------------------------------------------- 这份文件提供你一个在 Linux 上设定与使用 Iomega ZIP 磁碟机的快速指引。 -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- 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@clearcase/" target="_blank" >cc.gatech.edu 我非常感谢他们的重要贡献以及指正我所犯的错误。 特别感谢完成 0.26 版的 ppa 驱动程式以及这个 HOWTO 的原始版本作者 Grant Guenther 。如果发现本文件有任何错误或疏失,请让我知道: dansie@ibm.net 如果有任何翻译上的错误或疏失,也请让译者知道: storm@chempro.che.ntu.edu.tw 1.1 本文件的发源地 本文件的最新原文版本可以在这里取得: 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)的核心。如果你对於如何建立核心并不熟悉,你可以由 Linux Kernel HOWTO 获得相关资讯[译者注]。 [译者注] 中文化的 Linux Kernel HOWTO 可以在 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 的 BootPrompt HOWTO 以获得更多有关如何设定与使用 LILO 或 LOADLIN[译者注]。 [译者注] 中文化的 BootPrompt HOWTO 可以在 CLDP BootPrompt HOWTO 中找到。 -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- 4. ZIP 磁碟机 Iomega ZIP 100 磁碟机最少有五种或六种不同版本。 Iomega 网站上有关这些磁碟机的部分在 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 磁碟机相关资讯可以在这里找到: http://www.iomega.com/zip/products/parallel_port.html Linux 的 ZIP 驱动程式有几个不同的版本。在 2.0.x 的核心附的是 0.26 版的 ppa.c 驱动程式。如果你的核心版本低於 2.0.35,那麽你有一个老旧版本的驱动程式。到 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 指令将开记讯息存到档案中。当你试著找出安装上的错误时,这个档常常十分有用。 此外,也请看看 " 取得更多最新资讯" 这个章节。 4.2 SCSI 外接式版本 Iomega 网站上有关这种磁碟机的部分在 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 驱动程式。 Philippe Andersson 提供了这段有关 ZIP Plus 的 imm 驱动程式的说明。谢谢 Philippe。 首先,重建一个包含下列组态的核心: modules support SCSI support SCSI Disk support lp 建成模组 (如果你需要的话) 你应该有注意到我们并没有选择任何低阶的 SCSI 驱动程式。这没关系 -- 我们将在稍後另外建立它。 接下来,你要到 Dave Campbell 的网站取得驱动程式的原始程式码 ( 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 版本 有关这种机型的资讯可以在这里找到: 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 的部分。 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 版本 这台磁碟机的资料可以在这里找到: http://www.iomega.com/zip/products/usb.html 这种磁碟机看起来很酷,而且 USB 介面也看起来很棒。唯一的问题是目前 Linux 对 USB 介面的驱动程式还在发展中。因此,就目前而言,这种 ZIP 磁碟机无法在 Linux 下使用。看看这个网站以取得最新资讯: http://peloncho.fis.ucm.es/~inaky/USB/news.html 4.8 ZIP 250 版本 这种机型是 1999 年 1 月推出的新机型。我买了一台,而且在 Linux 下使用非常良好。所要做的只有使用由 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 模式选项。另外,我将印表机接到第二个并列埠。 其次,我由 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 版的核心,你就能使并列埠资源共享。请参考 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。这版的程式也比旧版快多了。更详细的资讯请参考" 性能表现"的部分。 7.3 我能够将 Linux 安装在 ZIP 磁碟机上,并由 ZIP 磁碟机上启动执行吗? 已经有人这麽做了。这种安装方式是制作一个急救磁片或者测试安装时的好方法。 http://metalab.unc.edu/LDP/HOWTO/mini/ZIP-Install.html[译者注] [译者注] 中文化的 ZIP Install mini-HOWTO 可以在 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 磁碟机。 然而,这台磁碟机的驱动程式发展也已经有一些成果。到这儿瞧瞧: http://www.torque.net/linux-pp.html -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- 8. 取得更多最新资讯 最新版本的并列埠 ZIP 驱动程式(ppa.c)以及关於该驱动程式的技术资讯可以在下面 URL 找到: http://www.torque.net/~campbell/ 许多并列埠外接装置驱动程式的资讯可以在下面 URL 找到: http://www.torque.net/linux-pp.html 并列埠共享(Parallel Port sharing)的相关资讯可以在下面 URL 找到: http://www.cyberelk.demon.co.uk/parport.html 由 ZIP 磁碟机安装 Linux(对於没有 CD-ROM 的机器)的相关讯息可以在下面的 mini HOWTO 找到: http://metalab.unc.edu/mdw/HOWTO/mini/Install-From-ZIP.html ziptool 程式的 X 前端介面可以在下面 URL 找到: http://www.scripps.edu/~jsmith/jazip/ 关於 LILO 的设定相关资讯可以在下面的 mini HOWTO 中找到: http://metalab.unc.edu/mdw/HOWTO/mini/LILO.html 关於 BootPrompt 的使用资讯可以在下面的 HOWTO 文件中找到: http://metalab.unc.edu/mdw/HOWTO/BootPrompt-HOWTO.html 如果你想要把 Linux 安装在 ZIP 磁碟机上,并且由 ZIP 磁碟机执行 Linux 的话,下面的 mini HOWTO 文件将提供你相关讯息: http://metalab.unc.edu/LDP/HOWTO/mini/ZIP-Install.html Iomega 的网页在: http://www.iomega.com/. 此外,如果你想寻找在 PC 上写并列埠应用程式的相关资讯的话,也许你会想看看下面这个网页: http://www.lvr.com/parport.htm |