[syslinux] Using syslinux to boot xen without initrd

Ady ady-sf at hotmail.com
Fri Sep 11 03:11:47 PDT 2015


> Erwan, I'm using syslinux v3.85
> 
 
 (snip) 
 
> I 've already tried stuff such as:
> 
> 1)
> LABEL Xen Hypervisor
>      MENU DEFAULT
>      KERNEL ../xen-4.3.2.gz
>      APPEND root=/dev/sda1 console=tty0 console=ttyS0,9600 rw loglevel=5
> 
> and
> 
> 2)
> 
> LABEL Xen Hypervisor
>      MENU DEFAULT
>      KERNEL ../vmlinuz-2.6.31.8
>      APPEND ../xen-4.3.2.gz root=/dev/sda1 console=tty0 console=ttyS0,9600
> rw loglevel=5
> 
> But none of this have worked. Hope you guys can help me figure out what I'm
> doing wrong.
 
I have not tested Xen (with or without mboot.c32), but there are a 
couple of simple tests you could try.

First, Syslinux versions prior to 4.06 were not so happy with the "../" 
notation in some circumstances. Moreover, there is always a chance that 
some inadequate mangling of the path and file names could be not 
completely successful (or, at least, the behavior or parsing might not 
be as the user expects it). As of v.3.85, SYSLINUX _is supposed_ to 
parse VFAT correctly (but not the "../" notation, at least in some 
cases, or at all), and yet, I would suggest a first simple test.

1_ Change the names and location of your files, so they will all be 
together in the same directory as SYSLINUX (ldlinux.sys), using the 
"DOS 8.3" file name format (no multiple dots, no hyphens, at most 8 
plain English letters or numbers plus one dot plus 3 English letters, 
not more, and nothing else).

2_ Change the content of your syslinux.cfg so it refers to the new file 
names, which should be now located in the same directory as the 
bootloader file(s) and its configuration file (so, no "../" nor other 
paths).

For example:

DEFAULT xen
LABEL xen
KERNEL xen432.gz
APPEND root=/dev/sda1 console=tty0 console=ttyS0,9600 rw loglevel=5

3_ Note also that LABELs shall not use space characters (e.g. "Xen 
Hypervisor"). In the same line of my prior suggestions, avoid mixing 
special characters, limit their length to 8 characters, and don't use a 
mix of uppercase with lowercase for them. In other words, treat the 
LABELs as "DOS 8.3" filenames.

4_ Please use unique LABELs. If you have multiple (menu) entries, avoid 
using the same LABEL more than once.

5_ Try an updated version of Syslinux, such as 3.86, 4.05, or 4.07. 
Please keep in mind that you shall not mix versions, i.e. if you use / 
install version 3.86 for the bootloader file, you shall also use the 
same exact version for all Syslinux-related files (such as mboot.c32), 
from the same build.

For troubleshooting, KISS.

Regards,
Ady.



More information about the Syslinux mailing list