Donate Bitcoins

mkisofs and cdrecord 2.01 for Windows (Cygwin) (Updated binaries)

Using the makefile cdrecord.mak, I compiled version 2.01 of cdrecord for Windows.

The resultant binaries (cdrecord, mkisofs, etc.) are available as

In order to compile under Cygwin 1.5.23, I applied the patch cdrtools-2.01.cygwin.patch.

You can use these without installing Cygwin, but you will need to have cygwin1.dll (included) in the same directory as the commands, or copy it to somewhere in your PATH.

If you have, or later install, Cygwin, you will need to delete the included cygwin1.dll, as Cygwin will not operate correctly if there two or more instances of cygwin1.dll.

Using the makefile cdrecord_dvdpatch.mak, I compiled a version of cdrecord that supports burning DVDs. The binaries are available as

This version was produced using the following patches:

  1. cdrtools-2.01.01-dvd.patch.bz2 (From Warly)
  2. cdrtools-2.01a27-o_excl.patch.bz2 (From Warly)
  3. cdrtools-2.01a27-writemode.patch.bz2 (From Warly)
  4. cdrtools-2.01a27-o_excl.patch..patch (From me)
  5. cdrtools-2.01-force_uppercase.patch. (From me. This patch is based on Bart Lagerweij's patch to mkisofs to allow one to burn a bootable Windows CD. Instead of changing the functionality (as Bart does), my patch adds two new options: -force-uppercase, and -no-iso9660-v2-warnings.)

See for more information about this patch.

A Win32 version (via MingW) that does not rely on cygwin1.dll is available at (currently not available, so download from here). This is the version that is included with PE Builder 3.13 and later.

A DOS version (via DJGPP) of cdrtools 2.01 is available at I have not tested this version.

To avoid having to specify the device on the command line, type the following:

$ cdrecord -scanbus

On my system, I get:

        1,0,0   100) 'SONY    ' 'DVD RW DRU-710A ' 'BY01' Removable CD-ROM
        1,1,0   101) 'LITE-ON ' 'LTR-48246S      ' 'SS08' Removable CD-ROM

So I created c:\cygwin\etc\default\cdrecord (with Unix line endings, unfortunately):

sony=1,0,0 -1 -1
liteon=1,1,0 -1	-1
dvd=1,0,0 -1 -1
cd=1,1,0 -1 -1

This allows me to leave off the -dev parameter, or to specify the device by name:

cdrecord -dev=dvd
cdrecord -dev=cd

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.


Can you try either or both of these, and see if you are able to reproduce the same issue with them?


The ISO9660 filesystem requires the filenames to be all uppercase. There is nothing stopping you from including other filesystems on a CD, that allow lower case characters, which I believe include all of the other filesystems: HFS (-h), Joliet (-J), RockRidge (-R), UDF (-udf).

The -allow-lowercase simply allows lowercase characters to exist in the ISO9660 filesystem. I know of no practical reason why this switch is provided.

A great tool to explore the filesystems on a CD is IsoBuster.


You listed:

mkisofs -b .. \floppy288.img -c catalog -o .. \mycd.iso .. \floppy288.img

You most likely mean:

mkisofs -b ..\floppy288.img -c catalog -o ..\mycd.iso ..\floppy288.img

If that doesn't work try:

cd ..
cdrtools\mkisofs -b floppy288.img -c catalog -o mycd.iso floppy288.img

I would start by applying this patch

Well, we know it can be done, as we have the binaries to prove it.

Searching Google for "cdrtools mingw patch", the first hit is, which, unfortunately, is for version 2.01.

I would start by applying this patch to 2.01, and see if it applies cleanly. If so, then I'd try it on 2.01.01a23. Let me know how it goes.


I spent hours trying to compile smake, cooresponding with the author, but I was never able to get it to compile in MinGW. I eventually gave up in disgust.

Sorry I can't be of more help.

Thanks for heads up

Seems I didn't catch the build error, due to the getdelim() function in cdrecord/cue.c conflicting with stdio.h, as the make process doesn't stop on errors, as most other builds do.

It's fixed and posted. Sorry for the inconvience.

2GB is a limitation of the ISO9660 file system

Try using just UDF, and you should be able to burn an image >2GB.

I don't have access to Windows 98 to test on


I have only tested the program on Windows XP SP1. I don't have access to any other flavor of Windows, so I can't test it to see why it's not working.

The syntax will be the same no matter what version of Windows you use.

Wish I could be of more help!

Works for me in Windows XP Pro SP1 w/ cmd.exe & bash

Here's my output from cmd.exe. Bash works similarly.

Are you sure you have 1 and only 1 cygwin1.dll in your PATH?

Z:\>for %i in (*.exe) do %i -version

Z:\>align_test.exe -version
 * This file has been generated automatically
 * by @(#)align_test.c  1.19 03/11/25 Copyright 1995 J. Schilling
 * do not edit by hand.

Z:\>avoffset.exe -version
 * This file has been generated automatically
 * by @(#)avoffset.c    1.24 04/05/09 Copyright 1987, 1995-2004 J. Schilling
 * do not edit by hand.

Z:\>cdda2wav.exe -version
cdda2wav version 2.01_cygwin32_nt_1.5.10-0.116-4-2-_i686_i686

Z:\>cdrecord.exe -version
Cdrecord-Clone 2.01-dvd (i686-pc-cygwin) Copyright (C) 1995-2004 Jörg Schilling
Note: This version is an unofficial (modified) version with DVD support
Note: and therefore may have bugs that are not present in the original.
Note: Please send bug reports or support requests to .

Z:\>devdump.exe -version
devdump 2.01 (i686-pc-cygwin)
Z:\>isodebug.exe -version
isodebug 2.01 (i686-pc-cygwin)

Z:\>isodump.exe -version
isodump 2.01 (i686-pc-cygwin)

Z:\>isoinfo.exe -version
isoinfo 2.01 (i686-pc-cygwin)

Z:\>isovfy.exe -version
isovfy 2.01 (i686-pc-cygwin)

Z:\>mkisofs.exe -version
mkisofs 2.01-ross (i686-pc-cygwin)

Z:\>readcd.exe -version
readcd 2.01 (i686-pc-cygwin) Copyright (C) 1987, 1995-2003 Jörg Schilling

Z:\>rscsi.exe -version
No such file or directory
Z:\>scgcheck.exe -version
scgckeck 2.01 (i686-pc-cygwin) Copyright (C) 1998-2002 Jörg Schilling

Z:\>skel.exe -version
scgskeleton 1.0 (i686-pc-cygwin) Copyright (C) 1987, 1995-2003 Jörg Schilling

Fixed binaries have been updated


You were right. I foolishly started passing -l to the zip command in my build script. This corrupted all of the .exe files. I just posted corrected binaries. In the process, I've renamed to just, and to

Thanks for the notice,




I cannot unpack it for some reason on my WinXP. I tried to do this by tar with Cygwin and Mingw32 - it hangs. Can you upload the unpacked patch?

Your car is great thing without any doubt.




The cdrtools-2.01a25-dvd.patch.bz2 file is not hosted by here.

Plus, it tar j's and bunzip2's just fine for me.

Try again, with cdrtools-2.01a27-dvd.patch.bz2.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Donate Bitcoins
Special thanks to Riester Rente Online for a generous donation!