I recently started playing around with puppy and syslinux. I've been trying to get a feel for how the boot process works and the one thing that's confusing me is this ldlinux.sys file. The only information I've been able to find on it is this: http://wiki.answers.com/Q/What_is_ldlinux.sys
ldlinux.sys is the name of the bootloader file used in SYSLINUX and ISOLINUX (used for booting Linux off of FAT32 and ISO9660 filesystems, respectively). It is loaded into memory by the BIOS on bootup. The loader then parses the configuration file (syslinux.cfg or isolinux.cfg) to know which kernel to launch, along with parameters to be passed to it.
I don't know if that's accurate, but I decided to try deleting the file from my usb boot disk and booting without it. I figured if it's really responsible for reading the syslinux.cfg file, then things should fail when I try to boot without it. However, everything still worked fine without ldlinux.sys. My logo image still loaded, the boot messages came up, I was even able to boot a kernel.
Can some knowledgeable person please tell me what the purpose of this file is and how it fits into the boot process? Does all of the important syslinux code come from the boot sector and if so, why is this ldlinux.sys necessary?