[syslinux] ISOLinux, menu.c32 and PXE handoff?

Sergey Vlasov vsu at altlinux.ru
Tue Jul 22 08:08:12 PDT 2008


On Fri, Jul 18, 2008 at 02:20:30PM -0700, Bishop wrote:
> I work in a large organization, and the group which manages the network may
> not be the guys managing the hosts.  I have a network and dhcp server, and
> pxelinux is working very well on that net.  I want to make my net-install
> resources available to machines on another network, one which is already
> served by a DHCPd I cannot change nor supplement with another system on that
> network -- union rules are involved, sadly.
> 
> My current plan involves a boot CD which can hand off to
> pxeboot.me.org::/pxelinux.0
> .  Does isolinux (or syslinux if that's more applicable) allow a
> host::boot.0 kind of reference, and can a syslinux CD booting on the machine
> provide the required glue to get this machine access to the resources on the
> pxe server?  If so, can someone provide me an example of how it'd be set up
> in the .cfg ?

A workaround with gPXE is possible - you can embed a script into a
gPXE image and specify your options in that script.

1) Get current gPXE sources from http://www.etherboot.org (the
   version included within syslinux sources has some bugs in DHCP
   option overriding).

2) Create the script file "boot.script" with gPXE commands:

-----------------------------------------------------------------------
#!gpxe
set filename tftp://10.0.0.1/boot/pxelinux.0
kernel tftp://10.0.0.1/boot/pxelinux.0
boot
-----------------------------------------------------------------------

   Replace the server address and path with your values (you need to
   specify the same path twice).  You can also use http: or ftp:
   URLs instead of tftp:, if you configure gPXE appropriately (by
   default HTTP is enabled, but not FTP).

3) Build gPXE in the src/ subdirectory with a command like

	make bin/gpxe.iso bin/gpxe.lkrn EMBEDDED_IMAGE=boot.script

   (you can pass a full path to boot.script if it is not in the same
   directory).

This would work if the problematic DHCP server does not send the
boot filename at all.  If the server sends the boot filename, that
filename would still be used instead of the name specified in the
script - in this case you can try

set net0.dhcp/filename tftp://10.0.0.1/boot/pxelinux.0

The above command will override the filename in the DHCP response,
but it would work only for booting from the first network card -
boot attempts from subsequent interfaces will fail.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://www.zytor.com/pipermail/syslinux/attachments/20080722/ed40835b/attachment.sig>


More information about the Syslinux mailing list