iPXE discussion forum
wimboot from SYSLINUX menu? - Printable Version

+- iPXE discussion forum (https://forum.ipxe.org)
+-- Forum: iPXE user forums (/forumdisplay.php?fid=1)
+--- Forum: General (/forumdisplay.php?fid=2)
+--- Thread: wimboot from SYSLINUX menu? (/showthread.php?tid=5745)

wimboot from SYSLINUX menu? - mangeek - 2012-09-26 18:18

I work at a large university. We use iPXE to chainload to a SYSLINUX/PXELINUX menu via HTTP. From there, we usually use MEMDISK to load Linux or Windows installers.

What I'm hoping to do is change to booting the wims directly off the server. I can do it using the generic wimboot instructions, but not from the SYSLINUX menu. Any pointers on how to get that to work?

Here's our current process:

Native PXE pulls undionly.kpxe via TFTP (all DHCP points to load this iPXE binary)
(iPXE script embedded in undionly.kpxeSmile
set 210:string http://server/ipxe/
set 209:string http://server/ipxe/menus/default\
set filename \${210:string}pxelinux.0
chain ${filename}

Which brings us into the PXELINUX menu. Invoking MEMDISK from there loads the payload into RAM via HTTP and boots it. I want to wimboot, though.

RE: wimboot from SYSLINUX menu? - robinsmidsrod - 2012-09-28 08:57

You have two options.

You can either go with native iPXE text-based menus. See http://ipxe.org/cmd/menu for docs and https://gist.github.com/2234639 for an extensive example.

If you want to keep your PXELINUX-based menu you can run ipxe.lkrn from a normal PXELINUX menu (it looks like a Linux kernel) and make it run your specialized script. I think http://ipxe.org/ has some docs for that too (try to search for ipxe.lkrn). Be aware that this last option requires the client machine to have native iPXE drivers, as ipxe.lkrn will not reuse the UNDI/PXE stack currently loaded.

RE: wimboot from SYSLINUX menu? - mangeek - 2012-10-01 15:58


I actually tried to go from PXE -> iPXE -> PXELINUX -> iPXE.lkrn w/embedded wimboot script.

It sort of loaded most of the way, then it bailed out, but I think it was non-hardware specific.

I have a lot of different kinds of hardware in the field, is there a way to make an iPXE.lkrn that includes ALL hardware support?

RE: wimboot from SYSLINUX menu? - robinsmidsrod - 2012-10-02 11:18

The compilation targets named ipxe.* contain all drivers supported by iPXE. If it doesn't load, then you're either using unsupported hardware, or you've hit a bug in one of the drivers. You can use the tool util/niclist.pl to figure out what hardware is supported. The --format csv param is quite useful if you need to grep/search for your hardware id. If your hardware is not supported you'll have to use undionly.kpxe to take advantage of iPXE's UNDI support.

RE: wimboot from SYSLINUX menu? - Sedorox - 2012-11-02 01:22

Good News on this front!
Thanks to Shao Miller (sha0 on IRC), there were patches to both Wimboot and Syslinux to get this to work, and it does work well.

First, make sure you grab the latest Wimboot (Version 1.0.2).
If you are running Syslinux 4.06, there are patches here: http://www.syslinux.org/archives/2012-October/018383.html and you will also need to do this: http://www.syslinux.org/archives/2012-October/018406.html (fixes a typo in the patch).

With the patches, your menu option should look something like:
LABEL wimbootpe
    menu label ^2 Wimboot Ghost PE via Syslinux
    com32 linux.c32
    append wimboot initrdfile=winpe/bootmgr.exe,winpe/BCD,winpe/boot.sdi,winpe/boot.wim

With this, I have wimboot working through a vesamenu at my work.
Some notes, if you don't feel like using that version of Syslinux, or applying the patches, you will have to create a cpio archive yourself of the files, then reference that file as the initrd, but it _should_ work.

Once the patches get accepted into Syslinux (probably in the 5.00 branch), there will be documentation created for this, but for now we were holding off, since it's not in the offical tree yet.

RE: wimboot from SYSLINUX menu? - robinsmidsrod - 2013-05-04 16:32

It seems like the links above are broken. This link gives the start of the thread from October 2012 on the syslinux mailing-list. [syslinux] [PATCH] 4 Patches for initrd+= and initrdfile= Options

RE: wimboot from SYSLINUX menu? - KingBonecrusher - 2014-03-26 15:56

maybe someone need this....


Patch3 is already fixed [typo], just do:

patch -p1 < 0001....patch
patch -p1 < 0002....patch
patch -p1 < 0003....patch
patch -p1 < 0004....patch