In order to write data to a CD, you first need to create an ISO image. This can be done with mkisofs. In my example, we’ll work from the /home/recording directory. In this directory, I created a subdirectory called files. Here is what it contains:
# ls -l files
total 5280
-rw-r–r– 1 root wheel 2174400 Dec 12 10:56 freebsddiary.tif
-rw-r–r– 1 root wheel 2239494 Dec 12 10:57 freshports.tgz
-rw-r–r– 1 root wheel 956533 Dec 12 10:56 mycvs.tgz
From these files, I will create an ISO image:
# mkisofs -J -L -R -o cdimage.raw files
Total translation table size: 0
Total rockridge attributes bytes: 471
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used a164
2649 extents written (5 Mb)
Thanks to mikem for helping me with the following options. I use these on each CD I write. Note: if you don’t use the -J option, you may have problems if you use the CD under Windows (I know, my first CDR didn’t use this option).
-J Generate Joliet directory records in addition to
regular iso9660 file names. This is primarily use-
ful 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.
-L Allow ISO9660 filenames to begin with a period.
Usually, a leading dot is replaced with an under-
score in order to maintain MS-DOS compatibility.
This violates the ISO9660 standard, but it happens
to work on many systems. Use with caution.
-P publisher_id
Specifies a text string that will be written into
the volume header. This should describe the pub-
lisher of the CDROM, usually with a mailing address
and phone number. There is space on the disc for
128 characters of information. This parameter can
also be set in the file .mkisofsrc with PUBL=. If
specified in both places, the command line version
is used.
-p preparer_id
Specifies a text string that will be written into
the volume header. This should describe the pre-
parer of the CDROM, usually with a mailing address
and phone number. There is space on the disc for
128 characters of information. This parameter can
also be set in the file .mkisofsrc with PREP=. If
specified in both places, the command line version
is used.