Trey Blancher
2012-Jun-22 11:20 UTC
[syslinux] Custom CentOS DVD, isolinux.bin, and isohybrid...
I was given a custom CentOS 5.4 DVD, containing some Digium software for one of our customers. I need to turn this burned DVD into an image that can be written to a USB thumb drive. First, I ripped the DVD to an ISO image. That part works OK, my testing VM can load and run the custom kickstart script on the image. After totally frying my unetbootin install, I decided to try and use isohybrid on the ripped image so I can use dd to copy it to USB. Unfortunately the isolinux information on the ripped ISO is old enough (looks like it's from syslinux 3.11) so the isohybrid program on my Debian wheezy workstation doesn't work. It either doesn't like the boot catalog, or doesn't like the isolinux.bin binary. I replaced it with the isolinux.bin from the syslinux 4.0.5 install on my workstation, rebuilt the ISO, and successfully ran isohybrid. However, the kickstart file runs into a snag. When I load my rebuilt ISO image in my test VM, the image boots, and it finds the kickstart file. The problem is that for whatever reason, the installer cannot find the CentOS CD files. What's baffling is the only file I am changing for this stage is isolinux.bin (and rebuilding the boot catalog with genisoimage), so I wouldn't expect the process to be any different for the rebuilt ISO. I figure I must be missing something about how isolinux.bin works. It appears that the ripped ISO is using isolinux 3.11, and the version I'm trying load is 4.0.5. I'm guessing that there's something different enough about the environment set up by isolinux that it's causing this problem. Once I get the rebuilt image to load OK in my virtual machine, the next step is to configure isolinux.cfg and the kickstart.cfg to launch from the USB key, but that's not a question for this list. Trey Blancher Digium, Inc. | Technician II, Technical Support dCAP - Digium Certified Asterisk Professional 445 Jan Davis Drive NW - Huntsville, AL 35806 - USA toll-free: 1 877-DIGIUM-1 (1.877.344.4861) direct: +1 256-428-6161 fax: +1 256-864-0464 Check us out at: www.digium.com & www.asterisk.org
Thomas Schmitt
2012-Jun-22 13:05 UTC
[syslinux] Custom CentOS DVD, isolinux.bin, and isohybrid...
Hi, Trey Blancher <tblancher at digium.com> wrote:> The problem is that for whatever reason, the > installer cannot find the CentOS CD files.Maybe unrelated, but i would have described a problem of mine with similar words (and i did not even change isolinux.bin): I am currently re-packing a Fedora-LiveCD for test purposes. The result boots into a fallback shell and reports "/dev/disk/by-label/Fedora-LiveCD does not exist" The solution was to give the repacked image the same volume id as the original: -V "Fedora-LiveCD" Have a nice day :) Thomas
Bernd Blaauw
2012-Jun-22 18:10 UTC
[syslinux] Custom CentOS DVD, isolinux.bin, and isohybrid...
Op 22-6-2012 13:20, Trey Blancher schreef:> I was given a custom CentOS 5.4 DVD, containing some Digium software for one of our customers.I guess upgrading/replacing CentOS 5.4 is out of the question, even with 6.2 and 5.8 released. With recent Isolinux versions, an Isohybrid file doesn't care in which way it's booted (as CD, virtual CD or as raw harddisk image). The Linux kernel won't care much either, but any initrd or init scripts included with old distributions might not be able to handle booting from USB Flash Device. In other words, the script loads drivers for whatever interface an optical device would be connected to, then looks for the medium (CD/DVD/Bluray) to find its needed data. I suppose all of the following already worked for you: 1) ripping the disc 2) booting the disc 3) remastering the disc (contents) and verifying it's bootable 4) updating Isolinux and remastering + booting You might want to have a look at how a mini distro like PartedMagic handles booting and mounting ISO files from USB flash drive or even system memory (Syslinux's MEMDISK component). Or more recent CentOS incorporates these changes, perhaps allowing you to backport specific scripts.