The attached zip file contains isolinux.bin v3.83 and chain.c32 that supports loading another isolinux.bin.
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:
CODE
LABEL chainisolinux
COM32 chain.c32
APPEND isolinux=isolinu2.bin
- with absolute path:
CODE
LABEL chainisolinux
COM32 chain.c32
APPEND isolinux=/isolinux/isolinu2.bin
If you use the menu system (menu.c32 or vesamenu.c32)
CODE
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.