[syslinux] Syslinux 5 (i)pxelinux.0 unnecessary PATH requests

Arends, R.R. r.r.arends at hr.nl
Tue Dec 11 08:37:24 PST 2012


Hi there,

i just build a new ipxelinux.0 with an EMBED=../../syslinux-5/core/pxelinux.0.
i'm trying to load up my vesamenu.c32 menu from http:.

and offcorse i want this as optimal as possible, with the least needed GET requests.

OLD situation with v4:
PXE ROM -> ipxelinux.0 (tftp) -> menu.php (http) -> vesamenu.c32 (http)

NEW situation with v5:
PXE ROM -> ipxelinux.0 (tftp) -> /ldlinux.c32 (http 404) -> //ldlinux.c32 (http 404) -> //boot/isolinux/ldlinux.c32 (http 404) -> //isolinux/ldlinux.c32 etc. etc. -> menu.php (http 200) -> /mods/vesamenu.c32 (http 200)
that can be fixed with adding ldlinux.c32 to the root of my webserver (ugly... but oke).
but then we still have the other libraries, which it tries to fetch in the same directories first, and yes we can add those to the root aswel as a work around.... but i'd love to have them seperate.

menu.php has the UI directive as /mods/vesamenu.c32 and the PATH as mods configured
but then still with that PATH directive in the menu it still tries to find the libraries in this order:

GET /libcom32.c32 (http 404)
GET //libcom32.c32 (http 404)
GET /mods//libcom32.c32 (http 200) < --- success!
GET /libutil_com.c32 (http 404)
GET //libutil_com.c32 (http 404)
GET /mods//libutil_com.c32 (http 200) <--- success!

in my opinion these are atleast 4 unnecessary requests to the webserver before finding the correct one.
and another thing the PATH directive can only be read after ldlinux.c32 is loaded, so ldlinux.c32 should always be in the root?

i'm looking for a way to configure this to only search the libs and ldlinux.c32 in ./mods/ to limit the needed GETs to the server, speed things up a bit and have a neat directory structure.

i was already found the 'search_directories' static const in load_env32.c, but after changing that to:
  static const char *search_directories[] = {
    "/mods",
    NULL
  };

it still does these requests:
GET /libcom32.c32
GET //libcom32.c32


Any help is appreciated.

Rgds,

Reni







More information about the Syslinux mailing list