This is useful when you want to make a multiboot CD/DVD of several tools and linux distributions, but you want to use the most recent version of ISOLINUX.
Ubuntu for example uses ISOLINUX 3.63 (old version) with a gfxboot patch. Due the gfxboot patch, you can't mimic the layout of the original Ubuntu CD, when you use a new version of ISOLINUX (which doesn't have this patch).
The solution, chainload this old version of Ubuntu with the chain.c32 attached in this post, so you can use the newer version of ISOLINUX for your other tools:
HOW TO USE in your isolinux.cfg:
- with relative path:
LABEL chainisolinux COM32 chain.c32 APPEND isolinux=isolinu2.bin- with absolute path:
LABEL chainisolinux COM32 chain.c32 APPEND isolinux=/isolinux/isolinu2.binIf you use the menu system (menu.c32 or vesamenu.c32)
LABEL chainisolinux MENU LABEL Chainload another isolinux.bin like file COM32 chain.c32 APPEND isolinux=isolinu2.bin
ISOLINUX will first look if /boot/isolinux exists, then if /isolinux exists and finally in /.
Search the string /boot/isolinux with a hexeditor in the isolinux.bin file you want to chainload. You can change "boot" to another 4 character word and "isolinux" to another 8 character word (or less if you add zeros after the last character).
If you change "boot" to "boob", ISOLINUX will search for directories in the following order: /boob/isolinux, /isolinux, /
If you change "isolinux" to 'isolinuy", ISOLINUX will search for directories in the following order: /boot/isolinuy, /isolinuy, /
When you build this ISO, the isolinu2.bin (Ubuntu ISOLINUX)
Rename the isolinux.bin file of Ubuntu too isolinu2.bin (or another name).
Modify /boot/isolinux inside the isolinu2.bin file with a hexeditor to /boot/isolinub (or another name).
Copy the files inside the /isolinux dir of the original Ubuntu CD to /isolinub.
Rebuild the iso with mkisofs.