home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 August / PCWorld_1999-08_cd.bin / doc / HOWTO / unmaintained / mini / Jaz-Drive < prev    next >
Text File  |  1998-01-05  |  15KB  |  404 lines

  1. [ 6 January 1998
  2.   The Linux JAZ-drive mini-HOWTO is not being maintained by 
  3.   the author any more.  If you are interested in maintaining the 
  4.   JAZ-drive mini-HOWTO, please get in touch with me at 
  5.   <gregh@sunsite.unc.edu>. ]
  6.  
  7.   JAZ-drive mini-HOWTO
  8.   Bob Willmot, bwillmot@cnct.com
  9.   v1.6, 04 June 1997
  10.  
  11.     
  12.   This HOWTO covers the configuration and use of the Iomega Jaz drive
  13.   under Linux and software tools available for the drive.
  14.  
  15.   1.  Introduction
  16.  
  17.   The Iomega Jaz drive is a removable media disk drive whose disks
  18.   have a capacity of 1021 megabytes. It is currently available in internal
  19.   and external SCSI configurations.  Iomega plans to release an internal 
  20.   IDE version.
  21.  
  22.   This document describes how to use the Jaz drive with Linux.  Since
  23.   this is a SCSI device, it is important for you to read the Drew Eckhardt's
  24.   SCSI HOWTO as well.  
  25.   http://sunsite.unc.edu/pub/Linux/docs/HOWTO/SCSI-HOWTO
  26.  
  27.   I'd like to thank the following people for their contributions and info
  28.   they've provived.
  29.  
  30.     * Grant Gunther, grant@torque.net
  31.     * Tom Poindexter, tpoindex@nyx.net
  32.     * Todd Woods, woods@cs.uiowa.edu
  33.     * Richard B. Melrose, rbm@math.mit.edu
  34.     * Phil Howard, phil@charon.milepost.com
  35.         * Rick Niess, rniess@ocean.st.usm.edu
  36.  
  37.   If you have any comments/suggestions/corrections please send them to:
  38.   Bob Willmot, bwillmot@cnct.com
  39.  
  40.  
  41.   2.  The Jaz disks
  42.  
  43.   The Jaz disks (cartridges) resemble a stack of three 3.5" floppy disks
  44.   that hold 1GB of data.  
  45.  
  46.   The drive has a motorized mechanism that can eject the disk via
  47.   a pushbutton on the from of the drive or through software (see 
  48.   below on info about the jaztools Linux software)
  49.  
  50.  
  51.   2.1.  The Jaz Jet host adapter
  52.  
  53.   Iomega markets a SCSI host adapter under the name Jaz Jet.  
  54.  
  55.   Aparently there are currently two versions of this controller available,
  56.   based on two difference SCSI chipsets.
  57.  
  58.   One is based on the Adaptec 7800 family of adapters, and is compatible
  59.   with the 2930/2940 host adapters. Linux 2.0 supports this adapter with 
  60.   the aic7xxx driver. (this driver was introduced in the 1.3.? version of 
  61.   the kernel).
  62.  
  63.   The other adapter is based on the Advanced Systems chipset.  At boot time
  64.   the board gives a message like
  65.     Jaz Jet PCI SCSI adapter Copyright Advanced Systems 1996    
  66.   Compile the kernel with the CONFIG_SCSI_ADVANSYS variable set. 
  67.  
  68.  
  69.   3.  Configuring a kernel for the Jaz drive
  70.  
  71.   To use the Jaz drive with Linux, you must have a kernel configured
  72.   for you SCSI adapter.
  73.  
  74.   Info on building the kernel can be found in the /usr/src/linux/README
  75.   file, or in /usr/src/linux/Documentation/ directory for the 2.x kernels.
  76.  
  77.   Also check out Brian Ward's Kernel-HOWTO
  78.   http://sunsite.unc.edu/pub/Linux/docs/HOWTO/Kernel-HOWTO
  79.   
  80.  
  81.   4.  Identifying the drive at boot time
  82.  
  83.   When your system boots it should display information about your adapter,
  84.   and any disks that arre attaced to the drive.
  85.  
  86.   Boot messages will vary depending on your SCSI adapter and are logged
  87.   to the /var/log/messages (or /var/adm/messages) file.  You can also
  88.   'replay' these messages from the command prompt with the dmesg command.
  89.  
  90.   Here's the kernel booting output from a 2.0.10 kernel with an 
  91.   Adaptec 2940 controller:
  92.  
  93.     aic7xxx: BurstLen = 8 DWDs, Latency Timer = 64 PCLKS
  94.     aic7xxx: AHA-2940 Ultra Rev B.
  95.     aic7xxx: devconfig = 0x580.
  96.     aic7xxx: Reading SEEPROM...done.
  97.     aic7xxx: Extended translation enabled.
  98.     aic7xxx: Using 16 SCB's after checking for SCB memory.
  99.     AHA-2940 Ultra (PCI-bus):
  100.         irq 11
  101.         bus release time 40 bclks
  102.         data fifo threshold 100%
  103.         SCSI CHANNEL A:
  104.             scsi id 7
  105.             scsi selection timeout 256 ms
  106.             scsi bus reset at power-on enabled
  107.             scsi bus parity enabled
  108.             scsi bus termination (low byte) enabled
  109.     aic7xxx: Downloading sequencer code...done.
  110.     aic7xxx: Resetting the SCSI bus...done.
  111.     scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 3.2/3.1/3.0
  112.     scsi : 1 host.
  113.     aic7xxx: Scanning channel A for devices.
  114.     aic7xxx: Target 4, channel A, now synchronous at 10.0MHz, offset(0xf).
  115.       Vendor: iomega    Model: jaz 1GB           Rev: G.60
  116.       Type:   Direct-Access                      ANSI SCSI revision: 02
  117.     Detected scsi removable disk sda at scsi0, channel 0, id 4, lun 0
  118.     scsi : detected 1 SCSI disk total.
  119.     SCSI device sda: hdwr sector= 512 bytes. Sectors= 2091050 [1021 MB] [1.0 GB]
  120.     sda: Write Protect is off
  121.  
  122.  
  123.   In the above log note the raw scsi device name (sda,sdb, etc).  
  124.   You'll need to use this to access the disk later.
  125.  
  126.   If these lines do not appear, then something is misconfigured in your
  127.   hardware or in the kernel.
  128.  
  129.   If the scsi0: line does not appear, then you have not configured your
  130.   host adapter and its driver correctly.  Some drivers will give you a
  131.   hint about what is wrong.   If your drive is not detected, you
  132.   probably have a cable problem.  If a drive name is not assigned, you
  133.   probably forgot to include SCSI disk support when you built the
  134.   kernel.
  135.  
  136.   Check the README files in drivers/scsi and the SCSI HOWTO for other
  137.   debugging hints.
  138.  
  139.   4.2.  Fdisk, mke2fs, mount, etc.
  140.  
  141.   Once you know the drive name for your Jaz drive, you are set.  You can
  142.   manipulate the drive with the normal Linux disk management commands,
  143.   fdisk, mke2fs, mount etc.  
  144.  
  145.   Refer to the manual pages for these programs.
  146.  
  147.  
  148.   4.2.1.  An existing DOS formatted disk
  149.  
  150.   Disks factory formatted from Iomega are partitioned with a single 
  151.   partition (for some unknown reason they use the 4th partition).
  152.  
  153.   You can mount this disk (assuming your jaz disk is the raw SCSI device
  154.   sda) with the commands 
  155.  
  156.        mkdir /jaz
  157.        mount -t msdos /dev/sda4 /jaz
  158.  
  159.   Or if you are using the 2.0 kernels and have compiled the kernel with
  160.   support for the Win95 VFAT support you can mount it with
  161.  
  162.        mkdir /jaz
  163.        mount -t vfat /dev/sda4 /jaz
  164.  
  165.   (this will allow you to read/write long filenames)
  166.  
  167.   Files from the disk will appear in /jaz. While the disk is
  168.   mounted, you will not be able to eject it.
  169.  
  170.   To unmount the drive you can issue the command:
  171.  
  172.        umount /dev/sda4
  173.  
  174.   Once you've made the /jaz mount point - you don't need to do it again,
  175.   (also make sure your not in the /jaz dir when you try to umount the 
  176.   drive)
  177.  
  178.  
  179.   4.2.2.  Re-format as a native Linux disk
  180.  
  181.   If you want to erase a Jaz disk and make a Linux native file system on
  182.   it.  you should use fdisk on the entire disk:
  183.  
  184.        fdisk /dev/sda
  185.  
  186.   and delete any existing partitions (with the d command).  Then create
  187.   a new partition with the n command, make it primary partition number
  188.   1, use w to write the partition table to disk, and quit with q.
  189.  
  190.   Format the partition
  191.  
  192.        mke2fs /dev/sda1
  193.  
  194.   (The 1 is the number that you gave this partition in fdisk).  Now you
  195.   can mount the disk:
  196.  
  197.        mount -t ext2 /dev/sda1 /jaz
  198.  
  199.   (re-using that mount point we created before).
  200.  
  201.   4.2.3.  The Jaz Tools disk
  202.  
  203.   There is some extra work to be done if you want to use the disk that
  204.   comes with the Jaz drive.  As shipped, the software controlled write
  205.   protection is enabled.  
  206.  
  207.   There are two options here: you can unlock the disk under DOS or
  208.   Windows with the "reclaime.exe" program (or by installing the tools
  209.   from the setup program) or you can unlock the disk with my jaztools
  210.   program (see section 5) with the command 
  211.  
  212.     jaztool /dev/sda rw
  213.  
  214.   (adjust the /dev/sda to your appropriate SCSI device) and when prompted
  215.   for the password enter
  216.  
  217.     APlaceForYourStuff
  218.  
  219.   5.  jaztools
  220.  
  221.   A native Linux program to support some of Iomega's special features 
  222.   (including software controlled ejection and write protection)
  223.   is available at 
  224.     
  225.     http://www.cnct.com/~bwillmot/jaztool/
  226.  
  227.   There should be a new version of jaztool available shortly that will
  228.   contain a GUI interface and support drive scanning and automated
  229.   mounting and unmounting of disks.
  230.  
  231.  
  232.   6.  Frequently asked questions
  233.  
  234.  
  235.   6.1.  I can only mount the Jaz tools disk read-only
  236.  
  237.   The tools disk is shipped in a special password-protected read-only 
  238.   mode.  To unlock the disk run the "reclaim.exe" program under 
  239.   DOS or Windows or use the native linix jaztools program (see section 5) 
  240.   with the command 
  241.  
  242.     jaztool /dev/sda rw
  243.  
  244.   (adjust the /dev/sda to your appropriate SCSI device) and when prompted
  245.   for the password enter
  246.  
  247.     APlaceForYourStuff
  248.   
  249.  
  250.   6.2.  The Jaz locks my system after it spins down ?
  251.  
  252.   I have a feeling that this may be related to the Jaz firmware.  Anyone
  253.   who has this problem, let me know what Revision your drive is.  To determine
  254.   Jaz rev check the output of the /etc/dmesg program for some lines like:
  255.  
  256.     scsi0: Target 4, channel A, now synchronous at 10.0MHz, offset 15.
  257.       Vendor: iomega    Model: jaz 1GB           Rev: G.60
  258.       Type:   Direct-Access                      ANSI SCSI revision: 02
  259.     
  260.   This apparently happens only under one specific circumstance that the 
  261.   average Linux user is unlikely to encounter.  When the Jaz drive has a 
  262.   partition/filesystem mounted, the drive spins down with the filesystem 
  263.   still mounted, and an attempt is made while the drive is still idle to 
  264.   read from the block device.  It appers that Linux attempts to read the MBR
  265.   again to restablish the partitions, but somehow this fails _sometimes_ and
  266.   leaves the device in an apparently busy state.  Both the kernel read for 
  267.   the MBR and the process device read will fail and this failure may be due 
  268.   to a lockout or busy status.   In this state it thinks it is still reading 
  269.   even though no I/O is pending or operating.  I've had this happen mostly when
  270.   block device reading the MBR itself
  271.  
  272.   6.3.  Can I boot from the Jaz drive ?
  273.  
  274.   The Jaz drive can select any SCSI target ID from 0-6.
  275.  
  276.   If the Jaz drive co-exists with other SCSI harddrives, most BIOSes will
  277.   want to boot the lowest SCSI id that is a disk.  Some detected and skip
  278.   removeable devices like the Jaz.
  279.  
  280.   If the Jaz drive co-exists with IDE harddrives, nearly every BIOS will
  281.   want to boot the first IDE harddrive.  Some BIOSes will allow removing
  282.   the first IDE device from the configuration and will assign the first
  283.   SCSI device as the boot device (Bios 0x80).  Others may require removing
  284.   all IDE devices from configuration.  Still others may require detaching
  285.   the IDE drives physically or disabling the IDE interface.
  286.  
  287.   6.4.  Why does Iomega use partition number 4 ?
  288.  
  289.   Partition 4 is the default partition used by Macintosh.  
  290.  
  291.   On a Mac, the first partition is reserved for boot info, the second for
  292.   system info, the third is the resource fork, and the fourth is the data
  293.   fork.
  294.  
  295.   Anyway, PCs and most other systems can deal with having to work on the 
  296.   4th partition whereas the Mac can't deal with anything else.  Iomega 
  297.   sends all their preformatted media with partition 4 used so that both 
  298.   PC's and Macs can read them and everyone avoids a big compatibility
  299.   headache. (PCs with mac-disk-reading software usually expect the data
  300.   to be on partition 4)
  301.  
  302.   6.5.  How can I have the disk mounted at boot time ?
  303.  
  304.   All you need to do is to add a line to your /etc/fstab file.  For
  305.   instance, if you will always have a DOS disk in the drive when you
  306.   boot, you could put
  307.  
  308.        /dev/sda4   /jaz  msdos  defaults  0 0
  309.  
  310.   in the fstab.  Depending on your distribution, the initialization
  311.   scripts might try to run fsck on partitions listed in your fstab.  Be
  312.   aware that this could cause problems if you forget to put the disk in
  313.   the drive when you boot, or have the wrong disk there.
  314.  
  315.   To eliminate these problems you can add a separate mount command in 
  316.   /etc/rc.d/rc.local to mount the Jaz drive.  This will avoid problems 
  317.   with the standard "mount -a" that takes place when there is no cartridge 
  318.   in the drive.
  319.  
  320.   6.6.  What happens if there is no disk inserted when I boot ?
  321.  
  322.   The kernel will try to read the partition table, but the operation
  323.   will (eventually) time out.
  324.  
  325.   When you change disks, it is a good idea always to use fsck to
  326.   check the partition structure on the new disk.
  327.  
  328.   The BIOS on some SCSI host adapters will attempt to read the partition
  329.   table on your disk during the system boot.  If you cannot disable this
  330.   check, you may be forced always to boot with a disk in the drive.
  331.  
  332.   6.7.  How can I make my Jaz cartridge self-bootable (assuming my BIOS 
  333.   is set up to allow it?)
  334.  
  335.   The Jaz drive/cartridge makes an excellent ERD (Emergency Repair Disk).
  336.   It's also fun to be able to just pop in some new Linux system or to try
  337.   Linux on someone else's Jaz-equipped machine.
  338.  
  339.   You could just follow the install procedure for your favorite distribution
  340.   with the Jaz drive being the only drive on the system.
  341.  
  342.   However if you want to do an "install" from your running system, you can
  343.   often succeed in "building" a self-bootable system on a Jaz cartridge.
  344.  
  345.   Step 1 - partition the drive and make the filesystems.  You probably
  346.   need to have a swap partition, too, but if you have lots of RAM then maybe
  347.   not.  Mount the new root as /jaz and any additional partitions within that
  348.   directory as appropriate.
  349.  
  350.   Step 2 - copy all the files into place.  Be sure all the /dev files
  351.   are copied.  Be sure all permissions, ownership and groupids are retained.
  352.  
  353.   Step 3 - modify the files on the Jaz cartridge to suit the circumstances
  354.   of booting from it.  In particular be sure to change /jaz/etc/fstab to mount
  355.   the Jaz cartridge partition(s) as appropriate.  Also change /jaz/etc/lilo.conf
  356.   to match as well.
  357.  
  358.   Step 4  - there are two alternatives:
  359.  
  360.     A: make a kernel image floppy and use "rdev" to make it mount the Jaz
  361.     cartridge as root.  Boot from the floppy when ready the first time
  362.     then run lilo to make the Jaz MBR bootable.
  363.  
  364.     B: you can run lilo from your non-Jaz root running system to install the
  365.     bootable MBR on the Jaz cartridge.  Add these lines (change "1" to your
  366.     root partition number and "sda" to your Jaz device name as appropriate)
  367.     to your /jaz/etc/lilo.conf file before the first system definition:
  368.  
  369.        drive = /dev/sda1
  370.        bios = 0x80
  371.  
  372.   When you are all ready to install the Jaz MBR, you run lilo with the
  373.   -r option to make it operate within the /jaz tree as if it is /.  The
  374.   command looks like:
  375.  
  376.      lilo -r /jaz
  377.  
  378.   Normally lilo searches for what the bios device number of the boot
  379.   device will be at boot time.  This needs to be overridden since the
  380.   Jaz drive is not currently the bootable one.  The 2 added lines do
  381.   this.
  382.  
  383.   There will be a number of error messages output by lilo and the kernel.
  384.   Lilo is warning you there may be problems which will not be in this
  385.   case.  The kernel reports problems related to /dev/hdc which are due
  386.   to probes for devices that lilo is doing trying to discover some things.
  387.   Lilo tries to make a device node for the old major/minor code for "hdc"
  388.   and the kernel is recognizing the attempt as an error.  These messages
  389.   can be ignored.  Watch the Jaz drive light to see it being written to.
  390.  
  391.   At this point your Jaz drive should be bootable.
  392.   
  393.  
  394.   7.  Getting more current information
  395.  
  396.   The most up-to-date version of this mini-HOWTO can be found at:
  397.  
  398.        http://www.cnct.com/~bwillmot/jaztool/
  399.  
  400.   Iomega's web pages are at
  401.  
  402.        http://www.iomega.com/
  403.  
  404.