Make Cisco NonBootable DVDs Bootable with Free Software - CUCM, UCCX, CUPS

By Aaron Harrison : Development Engineer at IPCommute UK

There are lots of scenarios I come up against where I need to quickly get a new lab system built, and don't have the correct bootable DVD to hand. For some versions of the applications I work with, I can use an older DVD to boot up, and then a downloaded ISO image to patch that version up to the version I need.

Sometimes it would be better to have a single DVD to boot from, and if I didn't have a backup copy of an older DVD, I would be stuck.

My inspiration for this came from here : http://htluo.blogspot.co.uk/2010/04/how-to-make-non-bootable-iso-image.html, but I wanted an option I could use without purchasing any extra software to set this up. I also found that the version of the DVD I took the boot sector from needed to be quite close to the version I wanted to boot, which wasn't always something I had to hand.

So - with no further ado, here is how I create myself a bootable DVD from a downloaded Cisco ISO image.

1) Obtain CDRT (some open source, free CDR tools)

Download cdrtools, latest stable from http://www.student.tugraz.at/thomas.plank/ (get the 'Latest Stable' release, dlls.zip and cygwin1.dll).

Extract all the files to a directory, e.g c:\cdrt so they are all in this root folder. It should look like so from a command prompt:
C:\cdrt>dir
 Volume in drive C is OSDisk
 Volume Serial Number is B435-7D0A

 Directory of C:\cdrt

22/10/2011  10:34              .
22/10/2011  10:34              ..
22/10/2011  10:11               892 1.txt
22/10/2011  10:11               548 2.txt
03/06/2010  16:17            10,752 align_test.exe
23/07/2010  11:43           132,728 AN-3.00.txt
03/06/2010  16:17             7,680 avoffset.exe
03/06/2010  16:17           120,320 btcflash.exe
03/06/2010  16:17           251,392 cdda2wav.exe
03/06/2010  16:17           382,976 cdrecord.exe
27/12/2006  19:16           999,424 cygiconv-2.dll
28/10/2006  20:35            31,744 cygintl-8.dll
29/03/2011  10:11         2,666,500 cygwin1.dll
03/06/2010  16:17            86,528 devdump.exe
03/06/2010  16:17            84,480 isodebug.exe
03/06/2010  16:17            89,600 isodump.exe
03/06/2010  16:17           100,352 isoinfo.exe
03/06/2010  16:17            91,136 isovfy.exe
03/06/2010  16:17           345,600 mkisofs.exe
03/06/2010  16:17           228,352 readcd.exe
03/06/2010  16:17            72,704 rscsi.exe
03/06/2010  16:17           122,880 scgcheck.exe
03/06/2010  16:17           117,760 scgskeleton.exe
              21 File(s)      5,944,348 bytes
               2 Dir(s)  40,008,544,256 bytes free

C:\cdrt>
From a command line you should be able to run mkisofs and see some help info. If you see the help info, you are probably good to go.

2) Obtain a Good Archive Manager - 7-ZIP

Download 7-zip (http://www.7-zip.org/) and install it if you don't already have it. You can use WinRAR if you like, but I like free stuff and find 7-zip has support for most types of archive I run into.

3) Obtain your Target DVD Image
 
Download a non-bootable Cisco image (CUCM, CUC, UCCX, whatever you have - anything based on the familiar Cisco linux OS).

Right click the file, and click '7-Zip\Extract files...' to extract the contents to a specified folder (not the c:\cdrt folder, but a new temporary folder such as c:\temp\dvdextract).

4) Create the Bootable ISO Image

Start a command prompt, and change to the directory into which you extracted the DVD, e.g. c:\temp\dvdextract.
C:\>cd temp

C:\temp>cd dvdextract

C:\temp\dvdextract>
Once there, copy isolinux.bin.orig over the current isolinux.bin. I'm no expert on Linux or isolinux, but I've noticed that the isolinux.bin file is modified when you run the command to create the ISO. Doing this means you are starting with an unmodified isolinux.bin.
C:\temp\dvdextract>copy isolinux\isolinux.bin.orig isolinux\isolinux.bin
Overwrite isolinux\isolinux.bin? (Yes/No/All): y
        1 file(s) copied.

C:\temp\dvdextract>
Finally, run the command to generate the bootable ISO image. This should all be typed continuously, any wrapping here is due to the display on this page.
C:\temp\dvdextract>c:\cdrt\mkisofs -o c:\temp\newbootable.iso -R -J -hide-rr-moved -v -d -N -no-emul-boot -boot-load-size 32 -boot-info-table -b isolinux/isolinux.bin .
A few minutes later, you should have the specified ISO image (c:\temp\newbootable.iso), and you can delete you c:\temp\dvdextract directory once you have verified it works.

Now - a couple of final warnings:

- I've heard rumours that it is possible to differentiate between systems built this way, and systems built using an 'official' bootable DVD. So I would recommend strongly that you do not do this on a production server in any scenario. Order the DVDs properly, and use official media. I maintain myself a library of images, and name those ISOs to indicate to mself that they are official bootable ISO images to differentiate those from the ones I have made bootable myself for lab and testing purposes.
- Some recent DVDs I have tried appear to work - they boot and install, but then once completed there are no installed services or management applications. This is odd, perhaps Cisco have done something new to prevent this working! But for most versions, it works just fine.

By Aaron Harrison : Development Engineer at IPCommute UK

Continue