[syslinux] Building a http query string including SMBIOS Serial Number to load a specific kernel

Leandro Becker stappers at stappers.nl
Tue Feb 23 10:36:05 PST 2016

On Mon, Feb 22, 2016 at 05:44:43PM +0100, Ferenc Wágner wrote:
> Works fine for me with lpxelinux.0.  String concatenation is .. though,
> so fix that mistake of mine like
> sl.run_command ("" . serial . "...")
> -- 
> Regards,
> Feri.

My mistake :(
I was using pxelinux.0 instead of lpxelinux.0
Is now working fine.

For reference, this is my lua script:

syslinux = require ("syslinux")
dmi = require ("dmi")

--get nice output
printf = function(s,...)
 return io.write(s:format(...))
end -- function

printf ("Getting SN from SMBIOS...\n")
dmi_table = dmi.gettable()
printf ("SN: %s\n", dmi_table.system.serial)

printf ("Loading kernel...\n")
kernel =
printf("Ok. Kernel file size %d\n", syslinux.filesize(kernel))

printf ("Loading initrd...\n")
initrdPath =

initrd = syslinux.loadfile(initrdPath)
printf("Ok. Initrd file size %d\n", syslinux.filesize(initrd))

printf ("Booting...\n")
initramfs = syslinux.initramfs_init()
syslinux.initramfs_load_archive(initramfs, initrdPath)
syslinux.boot_it(kernel, initramfs, "boot=live config union=overlayfs
noswap edd=on nomodeset keyboard-model=abnt2 keyboard-layouts=br
locales=en_US.UTF-8 nosplash noeject
video=uvesafb:mode_option=800x600-16 i915.blacklist=yes
radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=no
fetch= ocs_live_batch=\"no\"
ocs_prerun1=\"mount -t cifs // /home/partimag -o
user=cifsuser,password=cifspwd,sec=ntlm\" ocs_live_run=\"ocs-sr -g auto
-e1 auto -e2 -j2 -p true -batch restoredisk ask_user sda\"

Thank you and my best regards to all!

Leandro Becker

More information about the Syslinux mailing list