Napęd Iomega Jaz jest przenośnym napędem którego dyski osiągają pojemność 1021 megabajtów. Obecnie jest on dostępny w wersji wewnętrznej i zewnętrznej SCSI. Iomega planuje wypuścić wewnętrzną wersję IDE. Dokument ten opisuje jak używać napędu Jaz z Linuxem. Przy wersji SCSI, ważną informacją dla Ciebie jest przeczytanie SCSI HOWTO Drew Eckhardt-a. http://sunsite.unc.edu/pub/Linux/docs/HOWTO/SCSI-HOWTO Chciałbym podziękować niżej wymienionym ludziom za ich wkład i informacje od nich.
* Grant Gunther, grant@torque.net
* Tom Poindexter, tpoindex@nyx.net
* Todd Woods, woods@cs.uiowa.edu
* Richard B. Melrose, rbm@math.mit.edu
* Phil Howard, phil@charon.milepost.com
* Rick Niess, rniess@ocean.st.usm.edu
Dyski Jaz-a przypominają ułożone trzy dyskietki 3.5" które przechowują 1GB danych. Napęd posiada zmotoryzowany mechanizm, który może wysuwać dysk poprzez naciśnięcie przycisku na napędzie lub poprzez oprogramowanie (zobacz poniższe informacje na temat linuxowego oprogramowania narzędziowego dla Jaz-a)
Iomega wyprodukowała SCSI host adapter pod nazwą Jaz Jet. Aktualnie osiągalne są dwie wersje kontrolera, oparte na dwóch różnych układach SCSI. Jeden oparty jest na Adaptec-u 7800 z rodziny sterowników i jest kompatybilny z 2930/2940. Linux 2.0 wspomaga ten kontroler sterownikiem aic7xxx. (sterownik ten był wprowadzony w wersji 1.3.? kernel-a). Inne kontrolery oparte są na Advanced Systems chipset. W czasie startowania systemu zgłaszają się jako Jaz Jet PCI SCSI adapter Copyright Advanced Systems 1996 Compile the kernel with the CONFIG_SCSI_ADVANSYS variable set.
Aby używać napędu Jaz z linux-em, musisz mieć skonfigurowany kernel z obsługą twojego kontrolera SCSI.
Informacje jak to zrobić możesz znaleźć w pliku /usr/src/linux/README, lub w katalogu /usr/src/linux/Documentation/ dla kernel-ów 2.x
Również sprawdź Kernel-HOWTO Brian-a Ward-a http://sunsite.unc.edu/pub/Linux/docs/HOWTO/Kernel-HOWTO
Kiedy twój system wystartuje powinien wyświetlić informacje o twoim kontrolerze i wszystkich dysków podłączonych do napędu. Informacje wyświetlane w czasie startu systemu będą zależne od twojego kontrolera i będą zapisane w pliku /var/log/messages (lub /var/adm/messages). Możesz również ponownie wyświetlić te informacje wydając komendę ze znaku zachęty dmesg.
Tutaj są informacje startowe z kernela 2.0.10 z kontrolerem Adaptec 2940:
aic7xxx: BurstLen = 8 DWDs, Latency Timer = 64 PCLKS
aic7xxx: AHA-2940 Ultra Rev B.
aic7xxx: devconfig = 0x580.
aic7xxx: Reading SEEPROM...done.
aic7xxx: Extended translation enabled.
aic7xxx: Using 16 SCB's after checking for SCB memory.
AHA-2940 Ultra (PCI-bus):
irq 11
bus release time 40 bclks
data fifo threshold 100%
SCSI CHANNEL A:
scsi id 7
scsi selection timeout 256 ms
scsi bus reset at power-on enabled
scsi bus parity enabled
scsi bus termination (low byte) enabled
aic7xxx: Downloading sequencer code...done.
aic7xxx: Resetting the SCSI bus...done.
scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 3.2/3.1/3.0
scsi : 1 host.
aic7xxx: Scanning channel A for devices.
aic7xxx: Target 4, channel A, now synchronous at 10.0MHz, offset(0xf).
Vendor: iomega Model: jaz 1GB Rev: G.60
Type: Direct-Access ANSI SCSI revision: 02
Detected scsi removable disk sda at scsi0, channel 0, id 4, lun 0
scsi : detected 1 SCSI disk total.
SCSI device sda: hdwr sector= 512 bytes. Sectors= 2091050 [1021 MB] [1.0 GB]
sda: Write Protect is off
Z powyższego log-u wynika, że urządzenie scsi nazywa się (sda, sdb, etc). Będziesz potrzebował tego aby dostać się później do dysku.
Jeżeli te linie nie ukazują się oznacza to że coś jest niedokonfigurowane w twoim sprzęcie lub kernelu.
Jeżeli linia scsi0: nie pokazuje się oznacza to że nie masz poprawnie skonfigurowanego kontrolera lub sterownika. Niektóre sterowniki będą wskazywać co jest źle. Jeżeli twój napęd nie zostanie wykryty, prawdopodobnie masz problemy z kablem. Jeżeli nazwa napędu nie jest przypisana, prawdopodobnie zapomniałeś włączyć wsparcie dla dysków SCSI w czasie konfiguracji kernela.
Sprawdź plik README w katalogu drivers/scsi i SCSI HOWTO aby poszukać wskazówek jak pozbyć się błędów.
Teraz kiedy znasz nazwę napędu Jaz, już jesteś w domu :-) Możesz operować teraz dyskiem jak normalnym twardym dyskiem używając komend, fdisk, mke2fs, mount etc.
Zajrzyj do instrukcji obsługi tych programów.
Producent dysków dla Iomeg-i zakłada pojedynczą partycję (z nieznanych przyczyn używają oni czwartej partycji).
Możesz podmontować ten dysk używając komend
mkdir /jaz
mount -t msdos /dev/sda4 /jaz
lub gdy używasz kernela 2.0 i masz skompilowany kernel z obsługa partycji Win95 VFAT możesz podmontować go w ten sposób
mkdir /jaz
mount -t vfat /dev/sda4 /jaz
(pozwoli Ci to na używanie długich nazw plików)
Pliki z dysku będą znajdować się w katalogu /jaz. W czasie kiedy dysk jest podmontowany nie będziesz w stanie go wyciągnąć z napędu.
Aby odmontować napęd musisz wydać komendę:
umount /dev/sda4
W czasie kiedy utworzyłeś mount point /jaz - nie potrzebujesz tworzyć go ponownie, (upewnij się, że nie jesteś w katalogu /jaz w czasie odmontowania dysku)
Jeżeli potrzebujesz skasować dysk Jaz-a i zrobić na nim linux-owy (ext2) system plików, powinieneś użyć fdisk-a na całym dysku:
fdisk /dev/sda
i usunąć wszystkie istniejące partycje (komenda d). Następnie utworzyć nową partycję komendą n, utworzyć podstawową partycję (primary) numer 1, użyć w aby zapisać tablicę partycji na dysku i wyjść komenda q
Formatowanie partycji
mke2fs /dev/sda1
(1 to numer jaki nadałeś partycji fdisk-iem). Teraz możesz podmontować dysk:
mount -t ext2 /dev/sda1 /jaz
(używając poprzednio utworzonego mount point-a)
Jeżeli chcesz używać dysku który dostałeś z Jaz-em, musisz wykonać dodatkową pracę. Dysk który jest dostarczany jest zabezpieczony przed zapisem.
Są dwie możliwości: możesz odblokować dysk pod DOS-em lub Windows-em programem "reclaime.exe" (lub poprzez instalację narzędzi z programu instalacyjnego) lub możesz odblokować dysk używając mojego programu narzędziowego (zajrzyj do sekcji 5) z linii komend
jaztool /dev/sda rw
(dostosuj /dev/sda do twoich ustawień kontrolera) i kiedy zostaniesz zapytany o hasło wprowadź
APlaceForYourStuff
Rodzimy program pod linux-a wspomagający specjalne funkcje Iomeg-i (zawiera oprogramowanie kontrolujące wysuwanie dysku i zabezpieczanie przed zapisem) dostępny jest pod
http://www.cnct.com/~bwillmot/jaztool/Powinna być tam niebawem nowa wersja narzędzi dla jaz-a zawierająca interfejs GUI i wspomagająca skanowanie napędu, automatyczne montowanie i odmontowanie dysków
6.1. Mogę tylko podmontować narzędziowy dysk jaz-a w trybie do odczytu
Dysk narzędziowy zabezpieczony jest fabrycznie z trybie do odczytu. Aby odblokować go trzeba uruchomić pod DOS-em lub Windows-em program "reclaim.exe" lub użyć programu napisanego pod linux-a jaztools (zobacz sekcje 5) z linii komend
jaztool /dev/sda rw
(dostosuj /dev/sda do twoich ustawień kontrolera) i kiedy zostaniesz zapytany o hasło wprowadź
APlaceForYourStuff
6.2. Jaz blokuje mój system po zatrzymaniu się ?
Mam wrażenie, że jest to związane z oprogramowaniem firmware Jaz-a. Ktokolwiek ma ten sam problem, niech prześle mi swój Revision. Aby go określić sprawdź programem dmesg linie:
scsi0: Target 4, channel A, now synchronous at 10.0MHz, offset 15.
Vendor: iomega Model: jaz 1GB Rev: G.60
Type: Direct-Access ANSI SCSI revision: 02
Zdarza się to tylko w określonych okolicznościach i jest bardzo mało prawdopodobne aby przeciętny użytkownik Linux-a spotkał się z tym. Kiedy napęd Jaz ma podmontowany system plików, napęd zatrzymuje się i następuje próba odczytania z urządzenia. Wydaje się że linux próbuje odczytać MBR aby ustabilizować partycje, ale jakoś to zawodzi czasami i zostawia urządzenie w stanie zajętym (busy). Kernel czyta MBR i proces urządzenia będzie zawodzić i to może powodować blokadę lub status zajętości (busy). W tym stanie myśli że nadal czyta nawet gdy nic nie przychodzi z I/O. U mnie zdarzyło się to gdy urządzenie samo czytało MBR.
6.3 Czy mogę wystartować system z napędu Jaz ?
Jaz potrafi wybrać jakikolwiek ID z przedziału 0-6.
Jeżeli Jaz istnieje obok innych dysków SCSI, większość BIOS-ów będzie potrzebowało do wystartowania aby urządzenie miało mniejszy SCSI id od dysku. Niektóre kontrolery wykrywają przenośne napędy takie jak Jaz i omijają je.
Jeżeli Jaz istnieje obok dysków IDE, prawie każdy BIOS będzie chciał wystartować system z pierwszego dysku IDE. Niektóre BIOS-y zezwalają usunąć pierwsze urządzenie IDE z konfiguracji i przypisać je dla urządzenia SCSI jako boot device (Bios 0x80). Inne mogą wymagać usunięcia wszystkich urządzeń IDE z konfiguracji, jeszcze inne mogą wymagać fizycznego odłączenia napędów IDE lub wyłączenie interfejsu IDE.
6.4. Dlaczego Iomega używa partycji numer 4 ?
Partycja 4 jest domyślnie używana przez Macintosh-a.
Na Mac-u, pierwsza partycja jest zarezerwowana dla informacji o starcie, druga dla informacji o systemie, trzecia jest rozszerzeniem zasobów, i czwarta jest rozszerzeniem danych.
W każdym razie, PC-ty i większość innych systemów mogą dogadać się i używać 4 partycji podczas gdy Mac nie dogada się z niczym innym. Iomega wysyła wszystkie dyski przeformatowane na partycje 4 aby PC-ty i Mac-i mogły odczytać je, w ten sposób każdy unika wielkiego bólu głowy jeżeli chodzi o kompatybilność.
6.5. Jak mogę montować dysk w czasie startu systemu ?
Wszystko co musisz zrobić to dodać linie do twojego pliku /etc/fstab. Na przykład, jeżeli zawsze będziesz miał włożony dosowy dysk w napędzie w czasie startu, powinieneś dopisać
/dev/sda4 /jaz msdos defaults 0 0
w fstab-ie. W zależności od twojej dystrybucji, skrypty inicjalizujące mogą próbować uruchomić fsck na partycjach wylistowanych w twoim fstab-ie. Bądź świadomy, że to może powodować problemy jeżeli zapomnisz włożyć dysku do napędu w czasie startu systemu, lub jeżeli będziesz miał zły dysk.
Aby wyeliminować te problemy możesz dodać osobną komendę podmontowującą w /etc/rc.d/rc.locac aby zamontować napęd Jaz. Będzie to rozwiązywało problemy ze standardową komendą "mount -a" która zabiera miejsce jeżeli nie ma dysku w napędzie.
6.6. Co stanie się jeżeli nie będzie dysku w czasie startu systemu ?
Kernel będzie próbował odczytać tablicę partycji, ale operacja przekroczy oczekiwany czas. Kiedy zmienisz dyski, dobrym pomysłem jest używanie zawsze fsck aby sprawdzić strukturę partycji na nowym dysku.
Na niektórych kontrolerach SCSI BIOS będzie próbował odczytać tablicę partycji twojego dysku w czasie startu systemu. Jeżeli nie możesz wyłączyć tej opcji, będziesz zmuszony zawsze trzymać dysk w napędzie w czasie startu.
6.7. Jak mogę zrobić startujący dysk Jaz-a ? (uwzględniając, że mój BIOS zezwala na to)
Napęd Jaz robi wspaniałe ERD (Emergency Repair Disk). Zabawna też jest możliwość wrzucenia nowego systemu linux-a lub wypróbowania go na innej maszynie z Jaz-em.
Możesz użyć poniższej procedury instalacyjnej do twojej ulubionej dystrybucji z napędem Jaz będącym jedynym napędem w systemie.
Aczkolwiek, jeżeli chcesz przeprowadzić "instalację" z twojego uruchomionego systemu będziesz miał powodzenie w "tworzeniu" samostartujących systemów na dysku Jaz.
Krok 1 - załóż partycję i stwórz system plików. Prawdopodobnie będziesz potrzebował również partycji swap, ale jeżeli posiadasz dużo pamięci RAM to może nie. Podmontuj nową partycję jako /jaz i jakiekolwiek partycje.
Krok 2 - skopiuj wszystkie pliki do /jaz. Upewnij się ze są skopiowane wszystkie pliki z /dev. Upewnij się, że wszystkie prawa i grupy są zachowane.
Krok 3 - zmodyfikuj pliki na dysku Jaz aby wskazywały że system będzie startowany z Jaz-a. W szczególności zmień /jaz/etc/fstab aby wszystkie partycje były podmontowywane z Jaz-a. Zmień również /jaz/etc/lilo.conf aby wszystko pasowało.
Krok 4 - są dwie alternatywy:
A: utworzyć obraz kernela na stacji dysków i wykorzystywać "rdev" aby zamontować napęd Jaz-a jako root. Wystartuj ze stacji dysków kiedy będzie już gotowa i przy pierwszym razie uruchom lilo aby zrobić startujący MBR na Jaz-ie.
B: możesz również uruchomić lilo z non-Jaz root (nie głównego katalogu Jaz-a) uruchomionego systemu aby zainstalować startujący MBR na Jaz-ie. Dodaj te linie ( zmień "1" na numer twojej root partycji i "sda" na nazwę urządzenia Jaz-a) do twojego pliku /jaz/etc/lilo.conf przed pierwsza definicją systemu:
drive = /dev/sda1
bios = 0x80
Kiedy jesteś już gotowy do zainstalowanie MBR-a na Jaz-ie, uruchom lilo z opcja -r aby zrobić drzewo /jaz jako /. Komenda wygląda tak:
lilo -r /jaz
Normalnie lilo szuka w biosie numeru urządzenia które będzie wykorzystane w czasie startu systemu. Należy nadpisać to dopóki napęd Jaz nie jest startującym napędem.
Lilo i kernel wyświetli kilka wiadomości o błędzie. Lilo ostrzega ciebie że mogą wystąpić problemy których w tym przypadku nie będzie. Kernel zgłasza problemy związane z /dev/hdc które powstają w wyniku prób dla urządzeń w których lilo próbuje odkryć kilka rzeczy. Lilo próbuje utworzyć urządzenie wiążące dla starej liczby głównej/liczby pobocznej kodu dla "hdc" i kernel rozpoznaje to jako błąd. Błędy te mogą być zignorowane. Obserwuj diody na napędzie aby zobaczyć że zostało zapisane.
W tym momencie twój napęd Jaz powinien móc startować
7. Więcej aktualnych informacji
Najbardziej aktualna wersja tego mini-HOWTO jest dostępna pod:
http://www.cnct.com/~bwillmot/jaztool/Strony Iomeg-i