作者:Kyle Dansie
[email protected] 譯者:楊尚峰
[email protected] 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,
[email protected] Scot Wilcoxon,
[email protected] Joe Mack,
[email protected] Byron Jeff,
[email protected] 我非常感謝他們的重要貢獻以及指正我所犯的錯誤。 特別感謝完成 0.26 版的 ppa 驅動程式以及這個 HOWTO 的原始版本作者 Grant Guenther 。如果發現本文件有任何錯誤或疏失,請讓我知道:
[email protected] 如果有任何翻譯上的錯誤或疏失,也請讓譯者知道:
[email protected] 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