This data has been replaced by the version in the wiki at:
/Group/wiki/index.php/Burning_CDs/DVDs

Summary

There are several options maintained by the TCB Group which allow users to create, test and burn ISO images to a CD or DVD.

  • tripoli, a Sun Ultra 5 in 3157, attached 12x CD-RW drive + internal 4x DVD-RW drive (Preferred solution)
  • 21 Sun W2100z's are equipped with DVD-RW drives
  • All Apple G5 systems are equipped with DVD-R drives and all G4 desktops have CD-RW drives. The software used is different from the software used on Sun computers and is not covered in this documentation.

Making the filesystem

To make the appropriate filesystem you can use the program

mkisofs

which is available on several unix platforms in the group, to create an iso9660 filesystem with Rock Ridge attributes. You will need approximately 650MB (CD) or 4.3GB (DVD) of disk space to store the filesystem image which is generated.

The recommended format of the command is:

mkisofs -J -l -R -r -T -V volid -allow-multidot -o filename path

The exact options are explained below. Here is the least you need to know:

  • volid is the volume id for the disk you will make. This is the label the disk will have when automatically mounted on some operating systems.
  • filename is where the filesystem image will be output. The file may be as large as 650MB (CD) or 4.7GB (DVD), so use scratch space if possible.
  • path is the path of the directory tree to be copied onto the CD.

Alternately, you can use the command

mkiso

, which is a wrapper script for mkisofs that sets most of these options for you. Usage:

/usr/local/bin/mkiso volid filename path

(Note: While both should work in conjunction there had been reports that '-l' and '-T', might not always work together. You may want to experiment for yourself.)

Testing the ISO image

It's important to make sure your ISO image contains the data that you think it should contain before you actually burn it to a disk. This can be accomplished by copying the ISO image to

/Scr/7day-1/test.iso

if you are testing on tripoli or

/tmp/test.iso

on Linux boxes. Run

sudo testiso mount

and then check that

/mnt/test

contains the files you want to burn to disk. Once you're done, make sure you unmount the image:

sudo testiso unmount

Burning the CD/DVD

First, obtain a CD-R or DVD-R from the sysadmin's office. Then go to the appropriate machine, make sure the burner isn't currently running (red lights should be off) and remove any disk still in the drive from the last user. Without touching either surface of the disk, place it in the previous user's jewel case which should be sitting near the burner. Place your new CD/DVD-R in the burner. Label your jewel case (turn the paper inside out) and leave it on top of the burner. If there was a disk in the burner and the jewel case was labeled, tell that person that you removed the disk on the way back to your office.

  • Put in a piece of media (obtain from the sysadmin, or buy them yourself).
  • Log into the appropriate machine (if you're not already there).
  • Run the appropriate burn commands.
    Linux Boxes:
    • Copy your file to /tmp
    • Run
      sudo cdrecord-prodvd -v -data /tmp/filename.iso
      for a DVD or
      sudo cdrecord -v -data /tmp/filename.iso
      for a CD.
    Tripoli:
    • Run
      sudo cdrecord-prodvd -v -data /path/to/my/filename.iso
      for a DVD or
      sudo cdrecord -v -data /path/to/my/filename.iso
      for a CD.
  • Make sure that nothing else is running on the system while you are burning the disk
  • Do not try to put the job into the background. You will get regular updates on the progress of the burn. Your disk is done when cdrecord-prodvd exits.

Note that you may use the same image to create multiple disks. This is a good idea for archival data.

Remove your disk from the burner in short order (i.e., after you get back from lunch is probably fine, after you get back from vacation isn't). Do not touch either surface of the disk with your hands. You will probably want to label the disk itself in addition to the case. DO NOT USE A BALL-POINT PEN! Your data is recorded on the underside of the thin metallic film on top of the disk. Scratching the top surface of the disk will destroy it. Use a permanent, felt-tipped pen like a Sharpie to write your name and label on the disk. Do not use self adhesive labels on the disk either (I'm not sure why exactly, but that's what the warning label on the back of the jewel case says.)

Test your new CD by mounting it somewhere and inspecting the contents. For tripoli, this is done with

sudo /usr/local/sbin/testdvd mount
sudo /usr/local/sbin/testdvd unmount
(the files are mounted in /mnt/cdrom). You can use "diff -r" to compare to your original directory if you are paranoid (ignore the TRANS.TBL files on the CD-ROM). Don't forget to remove the ISO image when you're done.

Store CD-R's away from heat and humidity.

Mounting your CDs/DVDs later

If you want to read your data back later, load your CD/DVD into an appropriate drive and mount the volume. As a quick reference:

  • Suns: generally only have one drive, is automounted at /cdrom. See above for special configuration for the DVD burner machine.
  • Linux: generally have two drives, either mounted at
    /media/cdrom
    or
    /media/cdrom1
    .

mkisofs option interpretations

mkisofs OPTIONS -o output.file files.path

From the Solaris man page:

     -J   Generate Joliet directory records in addition to  regu-
          lar  iso9660 file names.  This is primarily useful when
          the discs are to be used on  Windows-NT  or  Windows-95
          machines.    The  Joliet  filenames  are  specified  in
          Unicode and each path component can be up to 64 Unicode
          characters  long.   Note  that  Joliet is no standard -
          CD's that use only Joliet extensions  but  no  standard
          Rock  Ridge  extensions  may  usually  only  be used on
          Microsoft Win32 systems. Furthermore, the fact that the
          filenames  are  limited  to  64 characters and the fact
          that Joliet uses the UTF-16 coding for Unicode  charac-
          ters causes interoperability problems.

     -l   Allow  full  31  character  filenames.   Normally   the
          ISO9660 filename will be in an 8.3 format which is com-
          patible with MS-DOS, even though the  ISO9660  standard
          allows  filenames  of  up to 31 characters.  If you use
          this option, the disc may be difficult to use on a  MS-
          DOS  system, but this comes in handy on some other sys-
          tems (such as the Amiga).  Use with caution.

     -R   Generate SUSP and RR records using the Rock Ridge  pro-
          tocol  to  further  describe  the  files on the iso9660
          filesystem.

     -r   This is like the -R  option,  but  file  ownership  and
          modes  are  set to more useful values.  The uid and gid
          are set to zero, because they are usually  only  useful
          on  the  author's system, and not useful to the client.
          All the file read bits are set true, so that files  and
          directories  are  globally  readable on the client.  If
          any execute bit is set for a file, set all of the  exe-
          cute  bits, so that executables are globally executable
          on the client.  If any search bit is set for  a  direc-
          tory,  set  all of the search bits, so that directories
          are globally searchable on the client.  All write  bits
          are  cleared,  because the CD-Rom will be mounted read-
          only in any case.  If any of the special mode bits  are
          set, clear them, because file locks are not useful on a
          read-only file system, and set-id bits are  not  desir-
          able  for  uid  0  or  gid  0.  When used on Win32, the
          execute bit is set on all files. This is  a  result  of
          the  lack  of  file permissions on Win32 and the Cygwin
          POSIX emulation layer.  See also -uid -gid,  -dir-mode,
          -file-mode and -new-dir-mode.

     -T   Generate a file TRANS.TBL  in  each  directory  on  the
          CDROM, which can be used on non-Rock Ridge capable sys-
          tems to help establish the correct file  names.   There
          is  also information present in the file that indicates
          the major and minor numbers  for  block  and  character
          devices, and each symlink has the name of the link file
          given.

     -V volid
          Specifies the volume ID (volume name or  label)  to  be
          written into the master block.  This parameter can also
          be set in the file .mkisofsrc with VOLI=id.  If  speci-
          fied  in both places, the command line version is used.
          Note that if you assign a volume ID, this is  the  name
          that  will  be  used  as  the  mount  point used by the
          Solaris volume management system and the name  that  is
          assigned  to the disc on a Microsoft Win32 or Apple Mac
          platform.

     -allow-multidot
          This options allows more than  one  dot  to  appear  in
          iso9660  filenames.   A  leading dot is not affected by
          this option, it may be allowed separately using the  -L
          option.
          This violates the ISO9660 standard, but it  happens  to
          work on many systems.  Use with caution.

     -o filename
          is the name of the file to which the iso9660 filesystem
          image  should  be  written.  This can be a disk file, a
          tape drive, or it can correspond directly to the device
          name  of  the  optical  disc writer.  If not specified,
          stdout is used.  Note that the output  can  also  be  a
          block special device for a regular disk drive, in which
          case the disk partition can be mounted and examined  to
          ensure that the premastering was done correctly.

References

Contacts