Hey Folks, Sorry if this has been asked before; hard to get a usable search on 'isolinux OR syslinux pxe-boot' with just the info I need! 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 ? In a nearly-related question, does menu.c32 allow machine::pxelinux.0 redirection in the sense that pxelinux.0 does? I can't get it go, and not for lack of trying! Thanks guys, for (pxe|iso|sys)linux and for any help you can provide. - bish
Bishop wrote:> > 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 ? >No, it doesn't, but what you *can* do is have a floppy or CD with gPXE on it, see http://www.rom-o-matic.net/ -- there is also a CD with all the drivers floating around, but I can't remember where.> In a nearly-related question, does menu.c32 allow machine::pxelinux.0 > redirection in the sense that pxelinux.0 does? I can't get it go, and not > for lack of trying!It does, but only when running on top of pxelinux.0. -hpa
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>
On Tue, Jul 22, 2008 at 07:08:12PM +0400, Sergey Vlasov wrote:> ----------------------------------------------------------------------- > #!gpxe > set filename tftp://10.0.0.1/boot/pxelinux.0 > kernel tftp://10.0.0.1/boot/pxelinux.0 > boot > -----------------------------------------------------------------------[...]> 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.There is yet another way to handle a DHCP server sending the boot filename, which does not break with multiple network cards - you can set a PXELINUX-specific DHCP option: ----------------------------------------------------------------------- #!gpxe set 210:string tftp://10.0.0.1/boot/ kernel tftp://10.0.0.1/boot/pxelinux.0 boot ----------------------------------------------------------------------- Option 210 is "Path Prefix Option", described in RFC 5071 (doc/rfc5071.txt in syslinux sources). This option overrides the guessing of prefix from boot filename in pxelinux. This gpxe script will also work only if the DHCP server does not send the option 210 itself (if it does, the only solution is to set net0.dhcp/210:string instead, which hardcodes the net0 interface). -------------- 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/20080723/a423c0c8/attachment.sig>