[syslinux] Cannot chain to another PXE server on the same subnet

Gene Cumm gene.cumm at gmail.com
Wed Mar 5 02:53:37 PST 2014


On Wed, Mar 5, 2014 at 1:55 AM, Vieri <rentorbuy at yahoo.com> wrote:
> Sorry for top-posting but my webmail forces me to.

Odd.  It's been a while since I used Yahoo but I didn't think I had
that issue.  GMail does default to top-posting but clicking the
ellipsis to look at the previous email is enough.

> I added -W to the APPEND line as suggested but I'm still getting the same result:
>
> Booting...
> Altiris, inc. X86PC PreBoot, PXE-2.x Enhanced
> Build ID=402
> PXEPreZero: Invalid PXE Server list format.
>
> and the client PC freezes right there.

Strange.  Only the ACK and REPLY packets have your TFTP's IP address.
This sounds like we'll likely need to force an option in to tell it
where to find the Altiris server.

Perhaps also try -o 43.x=01:04:0a:d7:90:3c:ff (which will set the
mtftp option) in addition to -W.
http://www.symantec.com/docs/TECH157601 didn't seem of any use.

Does the Altiris client do some sort of DHCP on its own?  A packet
capture of the client might be useful here.
http://www.syslinux.org/wiki/index.php/Debugging#PXE-Capture-Mirror
Seeing as your DHCP and TFTP services are on the same server,
capturing from that server likely will suffice.  It's also possible
the Altiris system may even do its own DHCP to test your DHCP service.

> Here's the full content of my dhcp.conf:

Thanks.  I'm guessing this is a lab or this is sanitized.

> max-lease-time 86400;
> ddns-update-style interim;
> ddns-domainname "mydomain.org.";
> ddns-rev-domainname "in-addr.arpa.";
> ignore client-updates;
> ddns-updates on;
> option space PXE;
> option PXE.mtftp-ip               code 1 = ip-address;
> option PXE.mtftp-cport            code 2 = unsigned integer 16;
> option PXE.mtftp-sport            code 3 = unsigned integer 16;
> option PXE.mtftp-tmout            code 4 = unsigned integer 8;
> option PXE.mtftp-delay            code 5 = unsigned integer 8;
> option PXE.discovery-control      code 6 = unsigned integer 8;
> option PXE.discovery-mcast-addr   code 7 = ip-address;
> zone mydomain.org. {
>   primary 10.215.144.31;
> }
> zone 215.10.in-addr.arpa. {
>   primary 10.215.144.31;
> }
> subnet 10.215.0.0 netmask 255.255.0.0 {
>   range 10.215.144.112 10.215.246.192;
>   option domain-name "mydomain.org";
>   default-lease-time 86400;
>   max-lease-time 86400;
>   option subnet-mask 255.255.0.0;
>   option routers 10.215.144.91;
>   option domain-name-servers 10.215.144.31, 10.215.144.35;
>   option netbios-name-servers 10.215.144.31;
>   option nntp-server 10.215.144.31;
>   option ntp-servers 10.215.144.31;
>   option time-servers 10.215.144.31;
>   option ip-forwarding off;
>   class "pxeclient" {
>     match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
>     vendor-option-space PXE;
>
>     option PXE.mtftp-ip 0.0.0.0;
>
>     next-server 10.215.144.7;
>     filename "/pxe/syslinux/pxelinux.0";
>   }
>   host 10.215.145.94 {
>     hardware ethernet   00:24:54:D9:D4:2F;
>     fixed-address      10.215.145.94;
> }
> }
> option option-150 code 150 = text ;

I presume changing only next-server and filename results in success to
boot the Altiris NBP?

> Note: the PXE client that I'm booting is 10.215.145.94.

Good to note.  Thanks

-- 
-Gene

> ----- Original Message -----
> From: Gene Cumm <gene.cumm at gmail.com>
> To: Vieri <rentorbuy at yahoo.com>; For discussion of Syslinux and tftp-hpa <syslinux at zytor.com>
> Cc:
> Sent: Tuesday, March 4, 2014 10:08 PM
> Subject: Re: [syslinux] Cannot chain to another PXE server on the same subnet
>
> On Tue, Mar 4, 2014 at 12:52 PM, Vieri <rentorbuy at yahoo.com> wrote:
>> Hi,
>>
>>
>> I have a Linux server at ip address 10.215.144.7 running DHCP, TFTP and syslinux.
>>
>> DHCP config contains the following:
>>
>> next-server 10.215.144.7;
>> filename "/pxe/syslinux/pxelinux.0";
>>
>> and the 'default' pxelinux.cfg contains:
>>
>> LABEL altiris
>>     MENU LABEL ^7. Altiris
>>     COM32 pxechn.c32
>>     APPEND 10.215.144.60::/BStrap/x86pc/BStrap.0
>>
>> When a PXE client boots in my network it loads the menu from 10.215.144.7.
>> However, when the user selects menu item 7 the following message is displayed right after the "greeting message" from the second PXE server at 10.215.144.60:
>>
>> PXEPreZero: Invalid PXE Server list format
>>
>> Note that the server at 10.215.144.60 is running a proprietary PXE software (Altiris).
>>
>> Any ideas?
>> How can I debug this?
>>
>> As a test, I modified my DHCP server at 10.215.144.7 and replaced the following line:
>> next-server 10.215.144.60;
>> (without specifying 'filename')
>> and the PXE client seems to boot the Altiris menu correctly.
>>
>> So I don't know what I'm missing.
>
> pxechn.c32 is documented in doc/pxechn.txt.  Its original impetus was
> Microsoft Windows Server 2008R2's Windows Deployment Services (WDS)
> that did not like being chainloaded.  It demanded that the PXE packets
> be modified as if the client was only booted from the WDS server.  See
> also doc/pxechn.txt under "NOTES".
>
> I'd suggest trying:
>
> LABEL altiris
>     MENU LABEL ^7. Altiris
>     COM32 pxechn.c32
>     APPEND 10.215.144.60::/BStrap/x86pc/BStrap.0 -W
>
> Otherwise, what other parameters are specified in your DHCP config
> that may point to your other PXE system?


More information about the Syslinux mailing list