[syslinux] localboot.lua: a lua.c32 script that uses DMI data to decide between localboot/chainloading

Martin von Wittich martin.von.wittich at iserv.eu
Thu Sep 25 02:36:18 PDT 2014


Hi,

we use PXELINUX in our product to show a boot menu on client computers,
with options like "Boot from local hard disk", "Install Windows", etc.
Unfortunately, a lot of computers seem to have broken BIOSes and won't
boot with the LOCALBOOT command, and need to be booted with chain.c32
instead. We also have encountered some computers where it works only the
other way - chainloading does not work, while LOCALBOOT works fine.

To solve this issue, we have written a Lua script that uses the DMI data
of the computer to decide whether it should be booted with LOCALBOOT or
chain.c32. The scripts defaults to LOCALBOOT, but has a list of
exceptions for computers that require chainloading. Over the past few
years, we've collected quite a few of these exceptions, and I thought
that other users might benefit from our work, so I've published the
script on github:

https://github.com/martinvonwittich/localboot.lua

Just use the script instead of the LOCALBOOT command in your pxelinux.cfg:

kernel lua.c32
append localboot.lua


I'm looking forward to feedback.

Also, can someone give me edit permissions in the wiki so I can add it
there as well? My username is "Martin von Wittich".

-- 
Mit freundlichen Grüßen,
Martin v. Wittich

IServ GmbH
Bültenweg 73
38106 Braunschweig

Telefon:   0531-2243666-0
Fax:       0531-2243666-9
E-Mail:    info at iserv.eu
Internet:  iserv.eu

USt-IdNr. DE265149425 | Amtsgericht Braunschweig | HRB 201822
Geschäftsführer: Benjamin Heindl, Jörg Ludwig


More information about the Syslinux mailing list