Meaning of isolinux/* and syslinux/* files

If you have a tutorial or tip related to the UBCD, why not share it with other users here?

Moderators: Icecube, StopSpazzing

Locked
Message
Author
CrazyTerabyte
Posts: 7
Joined: Wed Mar 14, 2007 4:46 am
Contact:

Meaning of isolinux/* and syslinux/* files

#1 Post by CrazyTerabyte » Fri Aug 17, 2007 4:47 am

Hello! I'm a long-time user of UBCD (I've remixed version 2.4 before). Now I got the 4.1.1 version and I wanted to use the UBCD menu system for my own boot disk. This disk won't be based on UBCD, it will be just to boot an internal Linux version with different kernel parameters.

Well, looking at isolinux/ and syslinux/ directories, I got confused about their contents. And I think UBCD misses the documentation about this.

So, what I'm asking is:
  • What does each directory mean?
  • What does each file in isolinux/ and syslinux/ directories mean?
  • If on mkisofs command you put only isolinux as boot sector, why do you have syslinux too?
  • If you've written some of the tools there, it would be very nice to provide a documentation form them, and also source code.
Thanks.

CrazyTerabyte
Posts: 7
Joined: Wed Mar 14, 2007 4:46 am
Contact:

#2 Post by CrazyTerabyte » Fri Aug 17, 2007 5:07 am

Here are some things I've discovered:
isolinux/
  • chain.c32 - A COM32 binary that will boot from hard disk. Who wrote this? What is the license? Where is the source? (also available in syslinux/ dir)
  • isolinux.bin - The ISOLINUX binary.
  • isolinux.cfg - The ISOLINUX configuration file. It must be placed on /boot/isolinux/, /isolinux/ or /. No other directory will work. Check out the ISOLINUX documentation.
  • memdisk - I don't know. Maybe it is a standard linux kernel from which many utilities are booted. (also available in syslinux/ dir)
  • menu.c32 - The COM32 binary responsible for displaying and handling the menu. Who wrote this? What is the license? Where is the source? (also available in syslinux/ dir)
  • sbm.cbt - Smart Boot Manager. But why is it here? (also available in syslinux/ dir)
  • startup.msg - A small message shown by ISOLINUX. (also available in syslinux/ dir)
But I'm still waiting for answer for the first post questions, as well as clarification about these tools.

Victor Chew
Posts: 1368
Joined: Mon Feb 21, 2005 10:59 pm
Contact:

#3 Post by Victor Chew » Wed Aug 22, 2007 5:29 am

You can get documentation on syslinux/isolinux/memdisk here. These are open-source tools developed by H. Peter Anvin, with a huge following.

syslinux and isolinux are the same boot loaders for different media. syslinux is for floppies/USB memory sticks etc., while isolinux is for CD/DVD, but they understand the same .cfg files.

memdisk is a RAM-based floppy disk emulator.

The syslinux directory is required for booting UBCD from USB memory sticks (see tools\ubcd2usbubcd2usb.bat), while isolinux directory is required for booting UBCD from CD/DVD (see tools\ubcd2usbubcd2iso.bat), but they use the same set of .cfg files under "menus".

CrazyTerabyte
Posts: 7
Joined: Wed Mar 14, 2007 4:46 am
Contact:

#4 Post by CrazyTerabyte » Wed Aug 22, 2007 8:30 am

Thanks. That explained the need of both isolinux and syslinux directories, and explained memdisk. But how about chain.c32 and menu.c32?

And, why is sbm.cbt on that directory? Shouldn't it be placed somewhere else, like all other boot images?

Victor Chew
Posts: 1368
Joined: Mon Feb 21, 2005 10:59 pm
Contact:

#5 Post by Victor Chew » Sun Aug 26, 2007 5:08 am

chain.c32 and menu.c32 are comboot modules. They are written in a particular way so that they can be called by syslinux/isolinux in the cfg files.

Same with sbm.cbt. I had some problems booting the Smart Boot Manager floppy image, which was why I used the comboot module instead. You can find more info here. I will try the floppy image again in the next release.

Locked