How to record multiple session iso files on a CD or DVD

CDs will be readable in Unix, Linux, Windows, and MacOS with original file names

  • CDs recorded with the following options will be readable on all OS systems (Unix, Linux, Windows. MacOS) and have correct long file names in every OS.
  • The following procedures use cdrtools (mkisofs & cdrecord).
  • The procedures below work for single and multiple recording of iso images onto a single CD or DVD.
  • This note explains the procedures on Linux, Unix, Cygwin in Windows, and MacOSX systems.

Table of Contents

  • Information Common to the different systems
  • Linux, Unix, Windows/Cygwin Instructions
  • Apple MacOSX Instructions

Information common to the different systems

  • Directories to be backed-up should be placed in a common top directory.
    This directory’s name will not appear on the recorded CD.
  • CDs can contain a maximum of 600-700 Megabytes
    DVDs can contain 4.5 GigaBytes of information
  • mkisofs options for the recording
    • The recording will be readable on Linux., Unix, Windows, Apple systems with original long file names
      if the following options are used: -rJTV vol_name
      eg: /usr/bin/mkisofs -rJTV data0303 ./data > data.iso

      • r – is for rockridge extensions – long file names
      • T – sets up Translation Table – r & T for Unix/Linux systems
      • J – Joliet extensions – for Windows systems
      • V – creates a volume title which will appear on Windows/Mac/Solaris systems
        Keep the same title when recording multiple sessions – otherwise only the last title recorded will be used (on some operating systems).
      • Other useful options
        -a: Include all files – “~” “#” files
        -l: if very many files are in the directory, you might need this one – but it may cause problems on Windows
        Read the man page
    • You need a machine with a CD writer to find the information for the next mkisofs session (for a multi-session CD).
    • Use CD-R recording material instead of CD-RW. A CD-RW will be readable only on machines with a CD writer. This excludes all the CIMS Suns and SGIs.
    • On a CD-R, a multi-session recording will obscure older versions of the same file and add new files and directories to the disk.

Linux, Unix, Windows/Cygwin Instructions

  • In the following commands, I use “Data0303” for the volume name, and “data” for the top directory containing the directories to be recorded.
  • mkisofs can be used on any system having this command (Suns, SGIs)
    cdrecord has to be used on a system with a CD writer.
  • cdrecord -scanbus
    This only has to be done once on a system to obtain the device numbers
    On the Dell linux system in the AML lab the results of this command is:
    0,1,0 1) ‘SAMSUNG ‘ ‘CDRW/DVD SM-308B’ ‘xp01’ Removable CD-ROM
    This means: dev=0,1,0 or dev=ATA:0,1,0 will be used in subsequent commands.
    Some systems need the device to be specified with ATA: before the device numbers. (The reference to the CD/DVD player can be seen in the boot messages.)
  • create a top directory and move directories to be recorded into this directory on the machine where mkisofs is being used:
    mkdir data
    mv dataA dataB data
  • run mkisofs the first time
    /usr/bin/mkisofs -rJTV Data0303 ./data > data1.iso
  • Move directories dataA dataB back to their original places
  • cdrecord -v -eject dev=0,1,0 -multi speed=8 data1.iso
    (or if necessary: cdrecord -v -eject dev=ATA:0,1,0 -multi speed=8 data1.iso)
    speed is the speed of the CD recorder – in the ViSLab it’s 8x
  • All subsequent times mkisofs has to know where the free space begins.
    This is obtained with the CD inserted in the CD writer and the cdrecord command
    cdrecord -msinfo dev=0,1,0
    or cdrecord -msinfo dev=ATA:0,1,0
    The results of this command is then used with the -C option in mkisofs

    • If mkisofs is on different machine than the CD writer and cdrecord
      copy the info from: cdrecord -msinfo dev=0,1,0 and put it after the -C option in mkisofs
      /usr/bin/mkisofs -rJTV Data0303 -C {cdrecord info} -M /dev/cdrom ./data >data2.iso
    • If the mkisofs command is on the same machine as the cdrecord
      • either
        bash shell: NEXT_SESSION =`cdrecord -msinfo dev=0,1,0`
        tcsh or csh shell: set NEXT_SESSION =`cdrecord -msinfo dev=0,1,0`
        /usr/bin/mkisofs -rJTV Data0303 -C $NEXT_SESSION -M /dev/cdrom ./data >data2.iso
      • or combine these 2 commands
        /usr/bin/mkisofs -rJTV Data0303 -C `cdrecord -msinfo dev=0,1,0` -M /dev/cdrom ./data >data2.iso
  • Then record the iso file
    cdrecord -v -eject dev=0,1,0 -multi speed=8 data2.iso
  • When finished recording, eject the disk: eject or press the button on CD drive.
  • Re-insert the CDROM and check it
    • On a Linux system
      ls -F /mnt/cdrom
      dataA/ dataB/ dataC/ dataD/ …. TRANS.TBL
    • On a Sun: the disk is in /cdrom
    • on an SGI: the disk is in /CDROM
    • For further information on this and other types of CD burning,
      see the Linux:CD writing HowTo

Apple MacOSX instructions

  • Pre-Instructions and Comments
    • the MacOSX instructions are slightly different from those for the other OSs
    • the procedure has one peculiarity in that you have to use the command
      disktool -u disk1 0
      from time to time to disassociate the device with MacOSX without ejecting it.
      Below you’ll find this command listed each time I needed it during the test writing session on the G4 in the AML ViSLab.
      If you have any trouble issuing a command, use disktool first.
    • The G4 in the AML ViSLab is a SuperDrive and thus the device is called “IODVDServices” in the following instructions.
    • In the following, I will call the common top directory with the data to be recorded: data
      and the name of the CD: Data0303
  • Put your data directories to be recorded in the common top directory data
  • Create the first iso image
    mkisofs -rJTV Data0303 ./data >data1.iso
  • burn this first image
    cdrecord -v -multi -data dev=IODVDServices data1.iso
  • disktool -u disk1 0
  • Find the information locating the free space on the CD
    set NEXT_SESSION=`cdrecord -msinfo dev=IODVDServices`
  • disktool -u disk1 0
  • create next ( and subsequent) iso image
    mkisofs -rJTV Data0303 -M IODVDServices -C $NEXT_SESSION ./data >data2.iso
  • disktool -u disk1 0
  • burn the next( and subsequent) iso image
    cdrecord -v -multi -data dev=IODVDServices data2.iso
  • when finished eject the disk
    hdiutil eject disk1 or press the “triangle” button key at the top right.
  • Re-Insert the disk and type:
    ls /Volumes to see the results
  • For further information see Create single-volume multi session CD-Rs


One Response to How to record multiple session iso files on a CD or DVD

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: