<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d11356004\x26blogName\x3dxception\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dBLUE\x26layoutType\x3dCLASSIC\x26searchRoot\x3dhttp://openrent.blogspot.com/search\x26blogLocale\x3den_US\x26v\x3d2\x26homepageUrl\x3dhttp://openrent.blogspot.com/\x26vt\x3d-2179510228592399674', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe" }); } }); </script>

Create a CentOS DVD from CDROM iso images

I'm learning VMWare ESX server, and one of the best ways to install a virtual machine is by using an ISO image for the base OS installation. Today, CentOS 4.2 does not work in a VM session; a SCSI driver issue causes an unrecoverable crash at boot time.

To get around this, I wanted to use CentOS 4.1, the previous release. However, CentOS mirrors routinely remove old releases, including the DVD image, after a new release is shipped. I did manage, however, to download the four CDROM's that makeup the image in the CentoOS vault.

After downloading, I realized that unless I wanted to keep manually telling the VM to swap CD's at install time, I needed to build them into a DVD ISO image that could run unattended. Here's how I did it:

1) Mount each CD ISO image.
# mount -o loop CentOS-4.1-i386-bin1of4.iso /mnt
2) Copy the isolinux directory and the .discinfo from disc1 to the current directory.
#cp .discinfo /rootcp -Rp isolinux/ /root
3) Edit the .discinfo file so that the fourth line changes from "1" to "1,2,3,4"
4) Create a directory to hold the DVD image.
#mkdir /CENTDVD
5) Copy the files from the first CD to the DVD image directory.
# cp -a * /CENTDVD
6) Unmount the CD.
# cd /rootumount /mnt
7) Mount the second CD.
# mount -o loop CentOS-4.1-i386-bin2of4.iso /mnt
8) Copy only the RPMS directory to the proper place in the /CENTDVD directory.
#cp -a /mnt/CentOS/RPMS/* /CENTDVD/CentOS/RPMS/
9) Repeat steps 6-9 for the second, third, and fourth CDROM's.
10) Copy the edited .discinfo file to the /CENTDVD directory.
# cp .discinfo /CENTDVD/
11) Change to the root directory (where you copied the isolinux folder earlier)
# cd /root
12) Create the iso image.
# mkisofs -o /root/CentOS41_DVD.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T /CENTDVD/
13) Burn to a DVD
# cdrecord -v dev=ATA:1,0,0 driveropts=burnfree -eject -data /root/DVD.iso