X-CD-Roast 0.95c Manual

02.03.97 Thomas Niederreiter

tn@mailserv.rz.fh-muenchen.de

Table of contents:


1) DISCLAIMER

I am not responsible for any damage to your hardware or software caused by this program. The use of the program can be dangerous. If you don't know what you are doing, don't do it. I am also not responsible for any misuse of the program by creating copies of CDs without permission.

 

USE IT AT OWN RISK !

2) Introduction

X-CD-Roast is full X based CD-Writer-Program, and it is the successor of the cdwtools-0.93. It is a frontend for some CD related programs like cdwrite-2.1 and mkisofs-1.05. With some simple mouse-clicks you can copy or create your own CDs, without long study of any commandline-parameters.

Feature-list:

It is not possible to copy or create multisession-CDs! To copy a multisession CD, you have to mount it, copy all files to HD and master them.

3) Software-Requirements

This program is a mixture of C and Tcl-programs. I included all necessary source-code, except the Tcl/TK-package with the Tix-Extension. But I included a precompiled binary of a working version of Tcl/Tk/Tix. You therefore don't need to get and install Tcl/Tk/Tix yourself!

You need:

Where can I get this files?

Here some example-sites. (Please search a mirror if these sites are too slow for you)
	Kernel: ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/v2.0
	        ftp://ftp.leo.org/pub/comp/os/Linux/Linus/v2.0
	Tcl+Tk: ftp://ftp.neosoft.com/pub/tcl
		ftp://ftp.smli.com/pub/tcl
	Tix:	ftp://ftp.xpi.com/pub/	

Software included in this package not written by me:

For more information about these included programs look at the README-file in the src-directory.

4) Hardware-Requirements

To use this program you need the following hardware:

Optional hardware supported:

5) Installation

  1. Unpack this package to a directory of your choice.

    I recommend something like /usr/local/lib/xcdroast-0.95c

    Note: I am not providing a install-script at the moment, so pick yourself a good place for the files.
  2. Type make to build all programs in the src-directory. The generated binaries are moved automatically in the bin-directory.
  3. You can optionally move the xcdroast-start-script to a directory in your path (e.g. /usr/local/bin), but then you must edit the script so that the cd-command points to the directory where you installed the xcdrlib. (In our example, this would be

    cd /usr/local/lib/xcdroast-0.95c/xcdrlib).

    Now check if your system is configured ok:

  4. Check whether /dev/sr0 and /dev/sr1 exist. If not, create them by linking them to /dev/scd0 and /dev/scd1.

    (do: ln -s /dev/scd0 /dev/sr0; ln -s /dev/scd1 /dev/sr1 )

  5. Check whether Tix is installed properly: Type tixwish in the shell. If a grey window pops up and there is a % displayed in your shell and they were no error-messages displayed, all is well. Then type exit to leave tixwish.

    For a better system-check run the script ./syscheck and follow the instructions on the screen. The generated output is also a good base for bug-reports!


6) First start

You must be user "root" to run this program. Just setting the setuid bit won't work. (You can't give a script the setuid bit)

Type xcdroast to start the program. Then you should see the title-screen and a message that no configuration-file was found. Click on Ok to enter the setup menu.

Note: If you can't start xcdroast, it is perhaps not in your path. Go in the directory where you installed xcdroast and type "./xcdroast" in this case.

7) Setup Menu

In the setup menu you specify all your hardware settings, all other program modules will use the devices you set here.

Note that, currently, only SCSI-Devices are displayed, IDE and other hardware is NOT SUPPORTED. (IDE will be supported in future versions.)
  1. CD-Setup:
    Source CD-ROM: This is the device that is used for all READ Operations on CD-ROMs. This includes also Audio Readback. You can even specify your CD-Writer as Read Device.
    Audio Read-Back Speed: This is the speed for reading audio data from the CD-ROM. Data is read always at maximum speed. When you set this to "Default" then no speed-select command will be sent to the read-device. Experiment with the other settings to find out which speed works best for you. This works only when you read Audio with the CD-Writer.
    CD-Writer Device: This is your CD-Writer.
    CD-Writer Mode: This is mode in which the writer is accessed. If you have a Philips/IMS/Kodak/HP/Yamaha/Sony writer, you should leave this set to "Autodetect", but If you have another brand you know it is compatible to one of the writers mentioned above, you can set the mode here.
    CD-Writer Speed: This is the speed at which the data is written. Don't specify a speed greater than the writer can handle.
  2. HD-Setup:
    Write-Protect (Lock) Partitions: This displays all partitions found on all connected SCSI-disks. Select here the partitions you want to be safe from being overwritten. Usually specify all partitions except the ones you want to use as a temporary image storage. (Like your system-partitions.)
    Image Partition: This is the HD-Partition where CD-Images will be stored. Should be about 800 MB in size when copying full CDs.
    Image Mountpoint: This is the mount point where the image partition will be mounted. This is needed when you copy the image to a file instead of copying it raw to a partition, or when copy Audio or non-ISO9660-CDs.
  3. Misc:
    Beep when ready: Here you set the events the program reacts to with a beep. This can be used to get your attention when e.g. the CD is is finished.

    There are three options:

    1. Never: No beeps.
    2. On Completion: Always when a read/verify/write operations is completed.
    3. On Warnings: When a warning window pops up.
    4. Always: On both events mentioned above.
    Logfile: Enter a filename in which all your actions will be logged. You also can disable logging.
    DSP-Device: This is your soundcard's dsp-device. You can use the soundcard to listen to audio-tracks. If don't have a soundcard that is able to play digital data at 44.1 kHz, 16-bit, stereo, set this to None

After you have finished set up, press Save to create a configuration file xcdroast.conf. Please note that your hardware settings, partitions and mount points are also saved in that file.

At each startup the settings in the file are compared to your current system settings and, if there are mismatches, you are forced to enter setup again.

Note: If you have been forced to enter setup, you can't exit with Cancel, because the program can't run without all settings specified.


8) Copy-CD-Menu

First the program checks in contents of your image partition and mounts it if it finds an ext2-filesystem on it.

The setup of your devices is diplayed at the top of the menu. To change any of the values, you must enter the setup menu again.

To the right you see a window titled CD-Information which identifies the CD in the read device. The window Image-Information gives you information about the contents of the image partition.

On the left, is the control panel where you choose whether you want to copy an audio/mixed-mode or an data CD. This is preselected according to the type of CD in the drive.

The button Rescan updates the two information windows. You should press this button after inserting a new CD.

Cancel quits to the main menu.


9) Quick Copy-CD

Quick Copy-CD allows copying of a pure ISO9660-Data-CD without the need of creating an image on HD. You need a seperate CD-ROM device in addition to your writer to utilize this feature. In this mode, data is read off the CD-ROM device and written immediately to the writer. Please note that your read device should be faster than your writer (alternatively, decrease write speed) - I recommend that the read device is twice as fast as the writer, but I successfully burned CDs with 4.4x read speed and writing with 4x speed - and that any errors (e.g., read errors) result in a wasted CR-R!

USE THIS FEATURE WITH CAUTION !!!!!

I strongly recommend experimenting with this option only with simulation write enabled. The write options have been already explained in the write-image section of this README file.

10) Master-CD

Contents of this section

  1. Set Master-Partition
  2. Set Master-Directory
  3. Set Image-Type
  4. Set ISO9660 Header-Strings
  5. Master Image
  6. Write Image
  7. Verify Burned Image
  8. Some notes about the ISO9660-Filesystem

Master a CD means that you setup a directory tree containing up to 650 MB of data that is to be burned on a CD. Because the filesystem on a CD is completely different from a filesystem on the harddrive, we must convert the data to the CD-ROM format ISO9660. This takes quite some time.

  1. Set Master-Partition:

  2. Here you specify which partition the data to master is in. If you don't have the data on a special partition, you can specify here that it is in a premounted directory. If you want to master from a NFS-mounted directory you have to mount the directory yourself and choose premounted directory.

  3. Set Master-Directory:

  4. This is the directory that contains the directory tree you want to master.

    After you set this dir, the HD-Content Preview-window displays its contents. Use this to check if you have choosen the right directory. The files displayed in this window are the files that will be in the root directory of the CD.

  5. Set Image-Type:

  6. Here you define how the data should be mastered. This is done by setting the target system on which the CD will be used.

    You can choose:

  7. Set ISO9660 Header-Strings:

  8. Here we prepare the ISO9660-Header-Strings.

  9. Master Image:

  10. Here you set where the image should be generated (just as with "Read-Image").

    With the Calculate Size button you can find out the approximate size of the image before you master it.

    After mastering the Image-Content-Preview is updated and shows the contents of the image. Use this to check whether the correct files have been mastered. The way filenames are displayed can differ a little on other systems.

  11. Write Image:
  12. See Write-Image on the copy dialog.

  13. Verify Burned Image:
  14. See Verify Burned Image on the copy dialog.

  15. Some notes about the ISO9660-Filesystem:
  16. Please consider that the ISO9660 standard does not allow more than 8 directory levels. If you have more than that, a directory "RR_MOVED" will be created in the root of your CD containing all the files that are beyond the eighth directory level.

    If you enabled Rock Ridge on the CD, then this directory will be invisible mapped back at the correct position when you mount the CD on Rock-Ridge capable systems (Unix).

    When you see a directory "rr_moved" in the Image-Content preview window and Rock-Ridge was not enabled, you had more than 8 directory levels.


11) Useful Information

READ THIS - It will help!

  1. Timing is critical while writing a CD. Be sure that nobody starts heavy-loaded processes. (Perhaps by shutting down the network.) You must maintain a steady data flow. If the CD-Writer "runs dry", the resulting disc may be unreadable. The more cache the CD-Writer has, the likelihood of missing data drops.

    I was able to write a CD successfully with 4x-speed, on a Yahama Writer with an ISA-Adaptec 1542B, 486/50. So there is enough power in Linux. Don't worry. But do user simulation writes to play safe.

  2. The next hints are taken from the cdwrite manpage:

    Unless your SCSI controller and driver support discon- nect/reconnects, you will probably not be able to write a CD correctly if the CD writer and hard disk are on the same SCSI bus. It is not recommended that IDE drives are used on CD-writing system; if they are, it is imperative that interruptible operation is enabled using the hdparm command.

    It is not recommended to use more than single speed when reading data off a filesystem (as opposed to a raw disk partition).

    cdwrite does not verify that the input data will fit on the media. In the case of media overrun, the resulting disc is usually unreadable.

    A Compact Disc can have no more than 100 tracks.

    When creating a disc with both audio and data tracks, it is conventional to place the data on track 1. Some CD players or CD-ROM drives may respond incorrectly to any other arrangement, although the specifications permit it.

    Many systems are not able to read more than a single data track, or need special software to do so.

    Some CD players have problems reading "gold" CD's, and some have problems reading the outermost tracks (i.e. very long CD's).

  3. I encountered a slightly unstable writing behavior when writing CDs with a lot of tracks. (Audio or Mixed-Mode). After I upgraded the firmware of my writer, it worked perfectly. ALWAYS use the simulation-write mode to check out whether your writer <-> SCSI controller combination works stable. (You can also experiment with the SCSI-Setup in your SCSI-Bios... disabling disconnect may help.)
  4. If cdwrite crashes while writing, the resulting CD is usually totally unreadable.
  5. Mounting an ISO-Image was dangerous with old kernels, if you use a new kernel, you can do this. If you mastered a CD to a partition, just mount this partition, if you created a image in a file, you can use the new loopback mount to mount it.
  6. When you read digital audio tracks of a CD, check the quality of the sound-files before you write them. Many CD-ROMs I tested support digital access to the tracks, but the resulting quality is noisy or "scattered".

    It is best to use your CD-Writer for audio read. They should all perform perfectly.

  7. You can create your own audio tracks. Use the program "sox" (not included) to convert any sound-format to the CDDA-Format. If you do that on a little-endian-machine like a 386/486/Pentium you have to reverse the byte order to big endian with the "-x" switch. Yamaha writers, on the other hand, want their data little-endian, omit the -x in this case.

    Example: To convert a file "sound.wav" (44.1kHz, 16-bit, Stereo) to CDDA do this:

    sox sound.wav -x sound.cdda

    Hint: After creating your own audio-tracks and copying them to the image directory, use the "Play Audio-Tracks"-Option to listen to your track. If it plays ok, you made everything right. (The audio-files must have a ".cdda"-extension to be recognized by X-CD-Roast)

12) Known Bugs

  1. When using a Yamaha-Writer and X-CD-Roast prompts for inserting a CD-Recordable, and you press "Ok" too fast (before the flashing leds on the writer go out) you get a error-message. Just wait long enough so that the writer can initialize the CD-R before pressing "Ok".
  2. Copying non-ISO9660 CDs is a little tricky. At the moment, I am skipping the last two blocks of such a CD to ensure that I don't reach an "unwritten" area, which can cause the kernel to crash. If you know a better way, I'd appreciate hearing from you.
  3. Sometimes the program freezes when trying to read from the CD-ROM or writer when its tray is open. This looks like a hardware bug to me. If this happens, you have to restart the program.
  4. In some cases you can click on buttons, which should be "locked" (when the watch mouse cursor is active). This is due the complex grabbing code in Tk and is a generally known problem. This behavior may be different in different Tk-versions.
  5. Some version combinations of Tcl/Tk/Tix behave strangely. If you have very weird menu-layouts, you should upgrade or downgrade your Tcl/Tk versions. I know that tcl-7.5b1/tk-4.1b1/tix-4.0.3 do not work very well. On the other hand, tcl-7.5a2/tk-4.1a2/tix-4.0.3 are ok.
  6. When you press on "cancel" while reading or verifying an image, you have to wait some seconds until the button responds. This is because the program waits until the working process terminated.

13) Frequently Asked Questions and Problem-solver

Q: I am using the predecessor of this program, "cdwtools-0.93", what is new with X-CD-Roast?

A: Really new is the much easier to use X-Interface, the automatic SCSI setup, better audio-track control and a log facility.

Q: Why do you only support SCSI-Hardware?

A: All SCSI-Hardware can be accessed in the same way, this is easier to code and avoids problems. IDE harddrive and non-SCSI CD-ROM support is in the work, and will be available in a future version.

Q: Is it safe to burn CDs under X?

A: Any 486 should be fast enough to handle this, but if you are in doubt try simulated writes to check if errors occur. -

Q: What about Multisession-support?

A: I am just supplying a frontend for existing programs like cdwrite-2.1 and mkisofs-1.05. As long this programs does not support multisession, I can't either. But multisession is in the works, and when it is ready, I will (hopefully) release a new version supporting it. -

Q: Hey, my backspace or delete key doesn't work in entry-fields. Is this a bug?

A: No, this is not a bug, it is just an incorrect key mapping in X11. You can fix it by putting this line in your .xinitrc (or if you have an Xmodmap-file, by changing the corresponding line.) xmodmap -e "keycode 22 = BackSpace"

-

Q: I fail to compile X-CD-Roast, all I get are error-messages.

A: You have probably a kernel that is too old. Install 1.99.6 or above.

-

Q: X-CD-Roast failed to detect any of my SCSI-Hardware, what can I do?

A: Check if you compiled generic SCSI support in the kernel, and if the generic devices exist. To create the generic devices run

./MAKEDEV.sg

in the xcdroast-0.95c directory. -

Q: I think I found a bug, what should I do?

A: Before you send me a bug-report, check to see whether I mentioned this behavior somewhere in the README file. Then check if all your software and hardware meet the requirements listed in the requirement section of the documentation.

Also check to see whether there is a new version of this program is available, look at the primary site:

http://www.fh-muenchen.de/

/home/ze/rz/services/projects/xcdroast/e_overview.html

Ok, you've done all this and the error persist.

Supply me with the following information:

  1. Your kernel version.
  2. Versions of Tcl/Tk/Tix. (Startup tixwish and enter: echo $tcl_patchLevel; echo $tk_patchLevel; echo $tix_patchLevel ) (Alternativly you can send me the output of the supplied "syscheck" program)
  3. A copy of your xcdroast.conf-file. (If you dont have one, mail me the list of your scsi-devices)
  4. An exact description of the error, what you have done and what happened. (If a error-window with a stack-trace button pops up, mail me the stack trace too. Older versions of Tk output the stack trace in the xterm where you started the program.)

14) Credits

Thanks go to:


15) Supported CD-Writers

These CD-Writers are known to work with this Version of X-CD-Roast. A lot more may work, but you have to try yourself.

These Writers are known NOT to work yet:
02.03.97 Thomas Niederreiter tn@mailserv.rz.fh-muenchen.de