[syslinux] help booting iso's?

James Miller gajs-f0el at dea.spamcon.org
Fri Jul 6 12:08:55 PDT 2018

Hi. I prefer using the syslinux boot loader and recently undertook a 
project of creating a multiboot USB drive that boots using syslinux. The 
aim is to create a medium from which various live linux environments can 
be run for things like system maintenance, installation, and perhaps 
demonstration. I anticipate using this multiboot USB drive on mostly 
legacy, BIOS systems, if that matters.

As many syslinux users would likely anticipate, some iso image files I've 
tested boot just fine using memdisk. For some other iso's, I found some 
directives on the web that advise loop-mounting the iso's, copying over to 
the multiboot USB certain files and folders, and crafting applicable 
syslinux.cfg stanzas. I've managed get a few more live environments 
booting already via those methods. But, since not all live-environment 
iso's are constructed in the same way, not all are readily susceptible to 
the same sorts of directives. One case in point is the Void Linux iso.

I'd first like to ask about something that was suggested as a possible 
solution but about which I could find no documentation. I was led to 
believe that it would be possible, using syslinux, to boot an iso image 
located within a partition by somehow specifying its address on disk. I 
see nothing in syslinux documentation, guidelines, or forum postings, that 
suggests that this is really possible. So, am I correct in assuming that 
the individual who suggested that is just plain wrong?

In order to succeed in booting into the the Void live environment the iso 
provides, what I wound up doing is creating some appropriately-sized 
partitions on my USB drive and dd'ing the iso image to one of them (I 
created an extended partition and included within it 6 logical 
partitions). I'd understood that syslinux would be capable of booting such 
a partition, and there even seem to be official directives on doing that 
sort of thing. But nothing I have tried so far will allow me, using 
syslinux, to boot the iso dd'd to that partition--regardless of whether I 
specify in the syslinux.cfg entry the address of the iso's mbr, or the 
partition's location (e.g., hd0, 5).

One point of confusion I have is how to specify the drive that syslinux is 
booted from, and thus the one on which the dd'd partition is located: it 
being a USB drive rather than the computer's hard drive, perhaps hd0 is 
not the correct specifier? Can anyone offer clarification on that issue?

Incidentally, I recently put grub4dos on this USB drive, since I'd 
understood it was more capable when it comes to booting iso's. Since it 
was already present, I decided, using a syslinux menu item that would 
invoke grub4dos, to try booting the partition with it. And, with an 
appropriate menu.lst item, the partition does, in fact, boot this way. The 
relevant entry is:

title Boot Void 64-bit dd'd to 1st logical partition
map --heads=0 --sectors-per-track=0 (hd0,4)0+716800 (0xff)
map --hook
chainloader (0xff)

Any assistance in getting such partitions to boot using syslinux will be 
much appreciated. Thanks.

PS Various syslinux.cfg entries I've tested in my attempts to boot the 
partition straight from the syslinux menu:

LABEL Void linux 64
MENU LABEL Void Linux x86_64
COM32 chain.c32
APPEND mbr:0x2addfccb

LABEL Void linux 64
MENU LABEL Void Linux x86_64
COM32 chain.c32
APPEND hd0 5

LABEL Void linux 64
MENU LABEL Void Linux x86_64
COM32 chain.c32 mbr=0x2addfccb

LABEL Void linux 64
MENU LABEL Void Linux x86_64
COM32 chain.c32 hd0, 5

LABEL Void linux 64
MENU LABEL Void Linux x86_64
COM32 chain.c32
APPEND hd1 5
# being unsure whether I'd specified correctly the USB drive as hd0

More information about the Syslinux mailing list