
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.
- The recording will be readable on Linux., Unix, Windows, Apple systems with original long file names
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
- either
- If mkisofs is on different machine than the CD writer and cdrecord
- 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
- On a Linux system
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
Source: http://www.math.nyu.edu/aml/CDwrite.html





August 22, 2008 at 8:33 am
[...] Original post by frozenade [...]