To create CDG images in Linux you will need

  • Burner that supports SUB CHANNELS
  • CDGTOOLS from https://sourceforge.net/p/cdgtools/
  • Music in MP3 Format
  • CDG files for the MP3 Above named as the same filename
  • cdrdao installed

**NOTE** Remember to have proper licensing in place when using commercial music!

Create a TOC (table of content) using CDG2BIN

You must pass the CDG or MP3 file of the songs you wish, the program will automatically find the companion file.

./cdg2bin -o MYMUSIC file1.cdg file2.cfg file3.cfg file4.cdg

You will see an output similar to this


Processing file1.cdg
Processing file2.cdg
Processing file3.cdg
Processing file3.cdg
Processing complete. Added 4 tracks.
Finished CD length is 2:20:17.

You will also find a 2 files MYMUSIC.toc and MYMUSIC.bin created after it is done

burn the cd using cdrdao

Write the TOC/BIN file to a disk using your burner
cdrdao write --device /dev/sr0 MYMUSIC.toc

This failed for me with the following output

# cdrdao write --device /dev/cdrom --speed 4 MYMUSIC.toc
Cdrdao version 1.2.3 - (C) Andreas Mueller
/dev/cdrom: ATAPI iHES208 2 Rev: 8L0C
Using driver: Generic SCSI-3/MMC - Version 2.0 (options 0x0000)

Starting write at speed 16...
Pausing 10 seconds - hit CTRL-C to abort.
Process can be aborted with QUIT signal (usually CTRL-\).
Turning BURN-Proof on
Enabling JustSpeed.
ERROR: Cannot set write parameters mode page.
ERROR: Cannot setup write parameters for session-at-once mode.
ERROR: Please try to use the 'generic-mmc-raw' driver.
ERROR: Writing failed.

I had to add the –driver generic-mmc-raw flag

cdrdao write --driver generic-mmc-raw --device /dev/sr0 MYMUSIC.toc

And then it worked


Cdrdao version 1.2.3 - (C) Andreas Mueller
/dev/sr0: ATAPI iHES208 2 Rev: 8L0C
Using driver: Generic SCSI-3/MMC (raw writing) - Version 2.0 (options 0x0000)

Starting write at speed 48...
Pausing 10 seconds - hit CTRL-C to abort.
Process can be aborted with QUIT signal (usually CTRL-\).
Turning BURN-Proof on
Enabling JustSpeed.
Using 96 byte packed P-W sub-channel data mode.
Executing power calibration...
Power calibration successful.
Writing lead-in and gap...
Writing track 01 (mode AUDIO/AUDIO RW)...
Writing track 02 (mode AUDIO/AUDIO RW)...
Writing track 03 (mode AUDIO/AUDIO RW)...
Writing track 04 (mode AUDIO/AUDIO RW)...
Wrote 40 of 40 MB (Buffers 100% 99%).
Wrote 1815 blocks. Buffer fill min 93%/max 100%.
Writing lead-out...
Wrote 15 of 15 MB.
Flushing cache...
Writing finished successfully.

PS Incase it disapears here is the CDGTOOLS
cdgtools-0.3.2.tar

Posted in Uncategorized

Leave a Reply

Your email address will not be published.