Linux - Optical Disk HOWTO

Skip Rye, abr@preferred.com

v1.6, 11 December 1998


This document describes the installation and configuration of optical disk drives for Linux. Please, if any one has experiences with optical storage under Linux, send it and I will update it in SGML and forward it to the Linux community. Please let me know if it's OK to include your E-mail address!

1. Disclaimer

2. Copyright

3. Phase Change Optical Technology

4. Magneto Optical Technology

5. Optical jukeboxes


1. Disclaimer

Neither the author nor the distributors, or any other contributor of this HOWTO are in any way responsible for physical, financial, moral or any other type of damage incurred by following the suggestions in this text.


2. Copyright

The "Optical Disk-HOWTO" and "LF1000 mini-HOWTO" are copyrighted.

2.1 LF1000 mini-HOWTO

(C) 1996,1997 by Skip Rye, abr@brspc_0064.msd.ray.com

2.2 Optical Disk-HOWTO

(C) 1997,1998 by Skip Rye, abr@preferred.com

Linux HOWTO documents may be reproduced and distributed in whole or in part, in any medium physical or electronic, as long as this copyright notice is retained on all copies. Commercial redistribution is allowed and encouraged. The author, however, would like to be notified of any such distributions. All translations, derivative works, or aggregate works incorporating any Linux HOWTO documents must be covered under this copyright notice. In other words, you may not produce a derivative work from a HOWTO and impose additional restrictions on its distribution. Exceptions to these rules may be granted under certain conditions. In short we wish to promote dissemination of this information through as many channels as possible. However, we do wish to retain copyright on the HOWTO documents, and would like to be notified of any plans to redistribute the HOWTOs. Should you have any questions, please contact Greg Hankins, the Linux HOWTO coordinator, at gregh@sunsite.unc.edu. You may finger his address for phone number and additional contact information.


3. Phase Change Optical Technology

3.1 Introduction

Optical Phase Change technology is used to create "In Phase" or "Out of Phase" bits on a special media for phase change writing. The drive uses a LASER of different power levels or LASER intensities to produce this effect. One power level allows the media to flow into a crystalline form while the other creates an "Out of Phase" condition. The crystallized areas reflect the read Lasers beam with a different coefficient of reflectivity than the non-crystallized areas. Thus, data can be read from the disk.

What makes the phase change optical disk special is that it the disk is formated with concentric cylinders or tracks with each track being sectored much like a magnetic disk or read/write optical disk. The tracks are very close so a lot of data can be stored on a disk. This is different from a CD-ROM in that it gives your system the look and feel of a magnetic disk. CD-ROMs have a spiraling track much like a audio record. Having tracks and sectors alone would not make the phase change drive special from optical disk but the drive has some very special properties; The phase change drive allows for direct overwrite of data which magneto optical can't do inexpensively and the media has the very special property of NOT being susceptible to magnetic fields or as sensitive to static discharge which gives the media a very long shelf life.

3.2 Panasonic LF1000

POINTS OF INTEREST

THINGS YOU SHOULD KNOW

Installation

The LF1000 is SCSI-2 compatible device. It features a block size of 512 bytes and is compatible with the Linux SCSI drivers. This drive was installed on a PC compatible AMD 100MHZ 486 with an Adaptec 1542C SCSI bus-master controller. To install and mount a disk the following steps were taken;

Installation steps

Your ready to "Rock'n'Roll"

Usage hints

3.3 Additional Configuration concerns by Jeff Rooze

Hello,

I read your article on configuring the Panasonic LF-1000 for Linux. I have configured my system so that the optical drive has its own device name and the CD-ROM has its own device name. This has allowed me to mount either media at any time. I do not require any media in the drive when I boot Linux. Also I am using the optical drive as an ext2 formatted media.

I had a couple of minor difficulties in doing so.

First, I had configured my hard drive at SCSI ID 6 and my PD at SCSI ID 4. (I wanted to have the hard drive at a higher priority that the PD). This caused a problem with the Linux SCSI driver. The driver scans the SCSI devices from the Lower SCSI id's to the higher (eg: 0 .. 6). Consequently my logical device names were assigned differently depending on which type of media was installed in the PD drive. This caused a big problem. My Linux partition is on my SCSI hard drive and the root device name would change! I corrected this problem by modifying the software in the kernel SCSI driver to scan the devices in reverse order.

Second, the distribution Linux kernel does not scan all SCSI LUNS. The PD/CD drive has a mode that establishes the CD-ROM at LUN 1 and the PD at LUN 0. This mode is selected by the configuration switches on the PD/CD drive. Switch #2 should be down (off?). If this switch is up (on?), the signature of the device is dependent upon the media that is installed and it only reports this device on LUN 0. If no media is installed I think it defaults to CD-ROM. I am using an Future Domain 16-xx SCSI interface card and the software in Linux kernel driver supports an optical device signature when scanning the LUNS. I assume that this is standard for most of the SCSI drivers. I reconfigured the kernel to enable the "scan all LUNS" switch. The kernel then assigns different device names for each device. The following is an excerpt from by boot log. You will note a series of errors in this log. This is because I did not have the optical media installed in the drive and the driver was attempting to look at the partition table to determine the block size. Fortunately it defaults to 512. I am planning on modifying the Future Domain SCSI driver to not do this when it detects the optical device.

>  scsi0 <fdomain>: BIOS version 3.2 at 0xde000 using scsi id 7
>  scsi0 <fdomain>: TMC-18C50 chip at 0x140 irq 12
>  scsi0 : Future Domain TMC-16x0 SCSI driver, version 5.28
>  scsi : 1 host.
>    Vendor: CONNER    Model: CP30545 545MB3.5  Rev: A9AF
>    Type:   Direct-Access                      ANSI SCSI revision: 02
>  Detected scsi disk sda at scsi0, id 6, lun 0
>    Vendor: MATSHITA  Model: PD-1 LF-1000      Rev: A109
>    Type:   Optical Device                     ANSI SCSI revision: 02
>  Detected scsi disk sdb at scsi0, id 4, lun 0
>    Vendor: MATSHITA  Model: PD-1 LF-1000      Rev: A109
>    Type:   CD-ROM                             ANSI SCSI revision: 02
>  Detected scsi CD-ROM sr0 at scsi0, id 4, lun 1
>  fdomain: Selection failed
>  scsi : detected 1 SCSI cdrom 2 SCSI disks total.
>  SCSI Hardware sector size is 512 bytes on device sda
>  fdomain: REQUEST SENSE Key = 2, Code = 3a, Qualifier = 0
>  last message repeated 3 times
>  sdb : READ CAPACITY failed.
>  sdb : status = 0, message = 00, host = 0, driver = 28
>  sdb : extended sense code = 2
>  sdb : block size assumed to be 512 bytes, disk size 1GB.
>  .
>  .
>  .
>  Partition check:
>    sda: sda1 sda2 sda3
>  scsidisk I/O error: dev 0810, sector 0
>    unable to read partition table of device 0810

Third, I modified my file system table (/etc/fstab) to list each device but do not attempt to auto mount when booting. I have included an excerpt from my fstab. The most important options are the noauto, rw(ro), and the checkpass flag.

To create a ext2 file system on the PD, I used the command "mkfs.ext2 -i 2048 /dev/sdb".

# fstab - List of file systems
#
# device  mount   type          options              dumpfrequency
checkpass
/dev/sdb /optd    ext2   rw,user,suid,noauto,sync,exec,dev,umask=0 0 2
/dev/sr0 /dist  iso9660  ro,user,suid,noauto,sync,exec,dev 0 2

After making these changes, I have had no problems with mounting either media. All I need to do is to load the media and type "mount /optd" or "mount /dist" and the system does all the rest.

I hope this information is useful.

Jeff
-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\ Jeff Rooze -- http://www.treknet.net/~jrooze -- jrooze@treknet.net /
/  If builders built buildings the way some programmers write        \
\  programs, then the first woodpecker that came along would destroy /
/  civilization.                                     GERALD WEINBERG \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

I tried Jeff's suggestion. Here are the steps I performed;

I did try moving my primary SCSI drive to 6 but experienced some difficulties. Can't remember exactly what it was but it may have been that my controller "Adaptec 1542" with "Corel SCSI" requires a bootable disk and SCSI 0 for the BIOS install to work properly with DOS. So I switched it back and enjoyed playing with my properly install PD drive! With this configuration "workman" - the audio CD player util - works fine.


4. Magneto Optical Technology

4.1 Introduction

Magneto optical drives use a "Far field" magnetic field and a laser to change polarization of a magnetic media. The media is of such a nature that it must be heated to the appropriate temperature before a polarization change can happen - this is where the laser comes into play. A high power write laser is used to heat the disk surface to the appropriate temperature at which time the "Far field" can set the polarization on the disk magnetic surface. After a short period of time the disk surface cools and "locks" the polarization into place. The read back I'm a little fuzzy on - someone please send me the proper wording. I think a low power laser is used for read back and the "H" field of the disk polarization interacts with the "E" and "H" field of the incident laser to produce a reflective polarization which will correspond to the disk bit polarization - I hope this is in the ball-park, it's certainly no home run. Maybe a total strike out.

The use of a laser for polarization change allows the disk bit and track densities to be higher than conventional "Flying" magnetic heads. The "far field" means no more "head crashes" - that is assuming your disk label doesn't peal off during the load or you don't leave one of those sticky pads on the disk cartridge. Most media allows 650 Megs per platter and on some models both sides of the media is used yielding 1.3Gig storage media - you must remove the media and flip it over to use the other 650Megs though.

4.2 Olympus, Epson, Mitsubishi MK230LK3 - Stephan Shuichi Haupt

Stephan Shuichi Haupt <stephan@bios.t.u-tokyo.ac.jp>

Hi

I have noticed that there is not much information about
magneto-optical disks in the howto, which may be due to the fact that
these are not very popular in general. In Japan, MO drives are very
common, especially the 3.5' variety with media in 128MB (maybe not
available anymore), 230MB, and recently 640MB sizes. I suppose there
is plenty of info on usage of these drives with Linux in Japanese -
but that does not help most people for some reason ;-) MODs can be
used very much like any removable media and are handy for smaller
backups as the media are relatively inexpensive (about 10US$ / 640MB
as of 10-98). I can only comment on the usage of 230MB drives with
SCSI interface.

Drives used: several, no problems encountered (Olympus, Epson, currently
Mitsubishi MK230LK3). Drives may have strange jumper setting like "Mac
Mode" or such - naturally, disable. 
If you decide to get a drive, pay attention the the
cache size - It can speed things up enormously, still speed will be
soso compared to hard disks, of course. 

SCSI controllers: NCR53C810-based (Asus PCI-200), Adaptec APA-1460A,
Adaptec AHA2940. 

Just install the drive as you would do with an additional SCSI hard
disk. It will show up as such. You don't need a disk in the drive when
booting. 

There are two ways to format the disks:
a) A bit like a floppy. Just run mkfs on the raw device i.e. something like
sdb or sdc. I don't recommend this in general (see below).
b) Like a hard disk. Do fdisk on the raw device and then mkfs on the
partition as you would for a hard disk (like sdc0, I have never made
multiple partitions on a MOD). 

What I have not tried is to boot from MOD, yet I cannot see why it
should not work. I would only recommend it for emergency system
recovery, however, due to MO drive performance.

Note: Purchased disks for Doze or Windog may be formatted "like
floppies" and cannot be used with either O(gre)S right away while MODs
formatted under linux as hard disks (partition FAT16 / type 6 and
mkdosfs) will work fine (only tested with NT 3.5/4.0).  Fdisk will
issue a warning upon exit that concerned FAT16 partitions and you do
better to take it seriously (look at the fdisk man-page).  The sector
size will not be automatically set properly for mkdosfs. Use "mkdosfs
-s 8". That came from some Japanese Web site in mid 1995 (Thanks to Ken
Kawabata for finding and deciphering it). Using the vfat file-system
with the disks works fine. I have only used FAT/DOSfs or Linux/ext2
formatted disks so far.

Additional Note: The media are probably a bit sensitive. Of course to
magnetic fields, but also to mechanical stress, some formats seem
to be more fragile than others (Mac format seemingly worst, data loss has
occurred when dropping disks during sneaker net traffic).


Though this does not steer anyone through particularly dense
jungle, it may be nice for completeness. 


        Steve 

-- 
***********************cut*here*or*do*not********************************
        S. Shuichi Haupt
        email stephan@bios.t.u-tokyo.ac.jp
        http://www.bios.t.u-tokyo.ac.jp/~stephan/

---------------- December 11 1998 update from Steve -------------------

OK, some problems will arise with MO disks occasionally. the safest
way to avoid them is not to use the disks "off the shelf".  trying to
mount disks can even result in kernel panics. i accidentally tried to
mount a 640MB disk (format windows95 it said, so maybe FAT32) as -t
vfat, this is not a thing to try.

also, 2.0.x kernels don't support 2048b block size (also 640MB disks).
a patch for 2.0.3x kernels seems to float around somewhere in Japan,
but i have not yet gotten hold of it.  here a link that certainly has
an English description:
http://elektra.e-technik.uni-ulm.de/~mbuck/linux/patches.html
or search the u-tokyo.ac.jp domain. the page of the developers is
hidden somewhere. 

the best way to use these 640MB disks is therefore to do fdisk and
mkfs first. i have only done this with mke2fs on type 83 partitions:
mke2fs -b 2048 /dev/sdxy

i will check it out for FAT16 partitions and mkdosfs when i have some
spare time and disks. 

my kernel version used is 2.1.124 (for all of the above).

Steve
-- 
***********************cut*here*or*do*not********************************
        Stephan Shuichi 
office: Dept. for Mechano-Informatics, Yoshizawa Lab.
        Faculty for Engineering, University of Tokyo
        Tel 03-3812-2111 ext 6390, FAX 03-5802-2957
        email stephan@bios.t.u-tokyo.ac.jp
        http://www.bios.t.u-tokyo.ac.jp/~stephan/
private: --

4.3 Fujitsu DynaMO 640 - Phil Garcia

pgarcia@execpc.com

  You've probably already received a number of messages regarding the
Fujitsu DynaMO 640 - I have the 640SZI, which is the internal version;
the model number given in a SCSI probe is M2513-MCC3064SS.  I recently
installed this drive practically without a hitch.  I say practically
because the sector size of the 640 MB disks is 2048 bytes, which is
not supported in the Linux 2.0.x kernel but is supported in the
development kernels.  A patch for 2.0.x is available at
http://wwwcip.informatik.uni-erlangen.de/~orschaer/mo/
-- also at this site is a patched fdisk to use in conjunction with it.

Otherwise, installing the drive was no different from installing a
SCSI hard drive.  It runs well, and I'm very happy with it.

Phil Garcia

4.4 Panasonic LF-7010 - Philip Kerr

philip_kerr_at_wmc__brsf2@wmcmail.wmc.ac.uk

     Dear Skip
     
     In your Optical HOWTO, you asked for anyone else's experiences of 
     installing optical drives under Linux.
     
     Please find below details of how I managed to get a Panasonic LF-7010 
     (SCSI) working on my Sparc Classic.
     
     I'm using Redhat, 4.2 and 5.1
     
     Regards
     
     Philip Kerr
     philip.kerr@wmc.ac.uk
     
     
     ps I'm now trying to get the drive to work under Solaris 2.6... it's 
     not an easy a job as it was under Linux!! 
     ------------------------
     
     
     plugged the drive in (on id5)...
     
     powered up the Sparc...
     
     
     the following came up....
     
     scsi0 : Sparc ESP100A-FAST
     scsi : 1 host.
     Vendor: SAMSUNG   Model: WN32162U          Rev: 0100
     Type:   Direct-Access                      ANSI SCSI revision: 02
     
     Detected scsi disk sda at scsi0, channel 0, id 3, lun 0
     Vendor: MATSHITA  Model: LF-7010  (00:06)  Rev: 1.42
     Type:   Optical Device                     ANSI SCSI revision: 02
     Detected scsi removable disk sdb at scsi0, channel 0, id 5, lun 0 scsi 
     : detected 2 SCSI disks total.
     esp0: target 3 [period 100ns offset 15 10.00MHz FAST SCSI-II]
     SCSI device sda: hdwr sector= 512 bytes. Sectors= 4236661 [2068 MB] 
     [2.1 GB]
     esp0: target 5 [period 248ns offset 4 4.03MHz synchronous SCSI] sdb : 
     READ CAPACITY failed.
     sdb : status = 0, message = 00, host = 0, driver = 28 sdb : extended 
     sense code = 2 
     sdb : block size assumed to be 512 bytes, disk size 1GB.  
     sunlance.c:v1.9 21/Aug/96 Miguel de Icaza (miguel@nuclecu.unam.mx) 
     eth0: LANCE 08:00:20:04:3d:cf 
     eth0: using auto-carrier-detection.
     Partition check:
     sda: sda1 sda2 sda3 sda4 sda5 sda6 sda7 sda8
     sdb:scsidisk I/O error: dev 08:10, sector 0, absolute sector 0 unable 
     to read partition table
     
     I edited my fstab, adding the entry for the drive (on sdb)
     
     ==========
     /etc/fstab
     ==========
     /dev/sda1          /                       ext2    defaults        1 1 
     /dev/sda2          swap                    swap    defaults        0 0 
     /dev/fd0           /mnt/floppy             msdos   noauto,user     0 0 
     /dev/sr0           /mnt/cdrom              iso9660 noauto,ro,user  0 0 
     /dev/sdb           /mnt/optical            ext2    noauto,rw,user  0 0 
     none               /proc                   proc    defaults        0 0
     
     
     Then mkfs'ed a blank disc as follows...
     
     [root@localhost me]# /sbin/mkfs -t ext2 /dev/sdb
     
     mke2fs 1.10, 24-Apr-97 for EXT2 FS 0.5b, 95/08/09 /dev/sdb is entire 
     device, not just one partition! Proceed anyway? (y,n) y
     Linux ext2 filesystem format
     Filesystem label=
     118320 inodes, 472448 blocks
     23622 blocks (5.00%) reserved for the super user First data block=1
     Block size=1024 (log=0)
     Fragment size=1024 (log=0)
     58 block groups
     8192 blocks per group, 8192 fragments per group 2040 inodes per group
     Superblock backups stored on blocks: 
     8193, 16385, 24577, 32769, 40961, 49153, 57345, 65537, 73729, 81921, 
     90113, 98305, 106497, 114689, 122881, 131073, 139265, 
     147457, 
     155649, 163841, 172033, 180225, 188417, 196609, 204801, 
     212993, 221185, 
     229377, 237569, 245761, 253953, 262145, 270337, 278529, 
     286721, 294913, 
     303105, 311297, 319489, 327681, 335873, 344065, 352257, 
     360449, 368641, 
     376833, 385025, 393217, 401409, 409601, 417793, 425985, 
     434177, 442369, 
     450561, 458753, 466945
     
     Writing inode tables: done     
     Writing superblocks and filesystem accounting information: done
     
     rebooted...
     
     mounted the drive...
     
     I've since then edited the fstab, adding the following mount-point...
     
     /dev/sdb           /mnt/dostical          msdos   noauto,rw,user 0 0 
     
     I can now mount ext2 or dos formatted optical carts by mounting either 
     optical or dostical.


5. Optical jukeboxes

I have no experience with optical jukeboxes with Linux!!!! I have had experiences with Optical jukeboxes under HP-UX. In this setup the the jukebox had a SCSI address of it's own. Each slot in the jukebox had an associated LUN number. A device name was assigned for each disk slot A side and B side. The mount command was run against the appropriate device name. I had a jukebox with just one drive and 16 optical disk slots - 20 Gig. I thought it was going to be a real hassle to write a disk mount manager to share this drive among users until I discovered you can mount as many disk as you want and the jukebox driver takes care of arbitration - what a nice feature. Granted, you only want archive type data here and your overall system configuration to be such that not too many processes will be accessing the jukebox at the same time. The disk spin down, carriage load, carriage move, carriage unload, carriage move to the next disk, carriage next disk load, carriage move, optical drive load, and spin up takes about 12 seconds - "seek-from-hell".

5.1 Maxoptix 520 - Zed Shaw

shawz@imap1.asu.edu

Zed's Origional E-Mail - Feb 13 1998

Hi,
   
I was reading your howto (a life saver, thanks) and I was wondering what
kind of jukebox you were running?  I have a Maxoptix 520 Jukebox (20
disks at 2.6G each, nice!) and I would like to connect it to a Linux box
and serve the drives up to my users, but I'm having problems accessing
the individual drives.   Currently I can only access the two drives and
something called MAXLYB which I think is a controller device of some
sort.
   
Basically, I'm wondering if the jukebox you had was the same or similar
and how you set it up.  I know that you did it under HP-UX, but any help
right now would be nice.  Hey, I'll even let you log into my linux
server if you want to take a look at the jukebox and see what it does.
You can't beat 52Gig of storage!

Anyway, I'd really appreciate your help.


Zed A. Shaw
Application Systems Analyst
Arizona State University

Corrospondance with Zed on Mon, 16 Feb 1998:

> It sounds like your Maxoptix 520 is a jukebox with two physical disk.
Yep, that's the one.

> 
> All jukeboxes have a carriage controller. This is probably your MAXLYB
> device.
> ...

What I've come to find out is that Maxoptix is pretty stingy when it 
comes to drivers.  Apparently, they don't make driver software for any of 
their Jukebox carriage controller interfaces!  I don't know how some of 
these companies stay in business.  I'm going to pester them again soon, 
but you are right, this thing will need a carriage controller driver to 
operate.  The cool thing is that this MX520 (that's the model number of 
the juke) emulates a whole slew of other carriage controllers, so maybe 
one of those other guys has a driver.  I'll be looking into that too.


> 
> You might want to get a-hold of Maxoptix and see if they have a install
> package for your linux kernel version. If not ask them for the programmers
> specification for the carriage controller and maybe we can write one!
> 

Hey, if I can't find any driver software, and I can convince Maxoptix to 
give me the specs, I'd be more than glad to write a driver.  I'd could 
sure use the help too since I haven't got enough time to do it on my 
own.  Also, do you know of anyone else doing this that we might be able 
to hack off of?


> Any information you find, let me know and we will roll the information
> into the Optical HOWTO, acknowledgments of course!
> 

Sure, but let me get some new information first.  So far things are 
looking pretty bleak.

> 
> >Basically, I'm wondering if the jukebox you had was the same or similar
> >and how you set it up.  I know that you did it under HP-UX, but any help
> >right now would be nice.  Hey, I'll even let you log into my linux
> >server if you want to take a look at the jukebox and see what it does.
> >You can't beat 52Gig of storage!
> 
> Nice. At home I can use PPP to mount my 84 platter HP-UX jukebox.
> It's slow though - I wish I had it at home.

Oh, I don't have this thing at home.  There's no way I could afford the 
$30,000 my boss paid for this thing.  But he's stuck with it and has had 
it sitting around collecting dust for a year, so he's letting me play 
with it and try to find a use for it.

I'll get back with you when I have some more information.  It should be 
sometime this week when I find out if I can get it to work or not.

Zed