[syslinux] pxelinux and WDS

Julien Garet julien.garet at inria.fr
Fri Jan 22 07:46:01 PST 2010


Le 22 janv. 2010 à 01:09, Julien Garet a écrit :

> Le 21 janv. 2010 à 23:26, Erwan <erwan at seanodes.com> a écrit :
> 
>> Julien Garet a écrit :
>>> Hello,
>>> 
>>> We are trying to set up a configuration with pxelinux on a linux machine and WDS, allowing us to be free to boot linux netboot installers from the tftp server. We have validated that pointing our dhcp server to the wds server works perfectly. Our idea was to use pxechain.com to launch the wdsnbp.com kernel as below :
>>> label windows
>>>       KERNEL pxechain.com
>>>       APPEND <ip address>::\Boot\x86\wdsnbp.com
>>> 
>>> wdsnbp.com loads perfectly from the WDS server but our problem is that WDS uses dhcp to find which is the next server to load the next part of the WDS boot process (pxeboot.com) and as the dhcp next-server points to our linux server it does not work, there's a loop. I thought that it was the work of pxechain (i.e. rewrite the next server in memory to prevent making those kinds of loops).
>>> 
>>> We have seen that this set up as been reported successful by some people over the internet. Have we missed an option in the dhcpd config or elsewhere to allow this configuration to work ?
>>> 
>> Hey florent,
>> 
>> That's very surprising as I did exactly the same for installing Windows 2008 servers and it worked very nice.
> 
> Yes I read it on your blog. That's why I was surprised it didn't work for us.
> 
>> Are you sure that pxechain.com is coming from the same version as your pxelinux.0 ?
> 
> Yes, it is, both are taken from the same package. Do you think it might help if I recompile a spefic version of syslinux ?
> 
> 
>> If yes, what release are you using ?
>> 
>> Another question about your DHCP. Does the dhcp server runs on a linux host or on the windows one ? If its running under linux, what product/release are you using ?
>> Could you show us its configuration ?
>> 
>> Erwan,
> 
> We are running dhcp and pxelinux on centos 5 boxes, package is from rpmforge repo and version is 3.84, I think (centos official repos contain 3.11 version)
> 
> I will post configuration related to pxe in dhcpd.conf as soon as I get to the office.
> 
> Julien

We have tried to do some debugging with the support of the IRC Channel but we are still blocked at the same point :

the summary is : 
We are trying to do pxechain from a pxelinux linux box to a WDS server. The pxechain seems to work, we are correctly downloading the wdsnbp.com file from the wds server, client machine and wds server talk well together and at a time, client machine tells something like :

"WDSNBP started using DHCP referral
Contacting Server: <IP @ of pxelinux> (Gateway: <IP @ of gateway>..
No response from Windows Deployment Services server.
Launching pxeboot.com"

and then it is trying to download pxeboot.com from the pxelinux server instead of the WDS server so that fails.

- we have tried different versions of syslinux
- we have tried different options in dhcpd.conf
- we have tried copying pxeboot.com and bootmgr.exe from wds to pxelinux server but it fails later and does seem to us just moving the problem
- we have had helper-address to our router to allow broadcasting dhcp requests to WDS server (DHCP service is shut down on WDS server, as well as firewall)
Now, our main clue is, perhaps the problem is due to Windows 2K8 R2, so we are trying to build a W2K8 (I don't if R1 name would be correct) server.

a capture of what is happening on the 3 machines is available here : http://www.youpistyle.info/pxechain_problem.tgz
IP adresses : 
linux box with pxelinux : 193.50.111.183, name is install
windows server with WDS role : 193.50.111.144, name is svmwds1
client machine : 193.50.110.144, no name given
be careful, wds server adress and client machine IP adresses are really close (but on a different subnet), thank dhcp for that...

here is the dhcpd.conf PXE part :

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.mtftp-ip 0.0.0.0;
option PXE.discovery-control code 6 = unsigned integer 8;
option PXE.discovery-mcast-addr code 7 = ip-address;

#Modif 1
option PXE.class-identifier code 60 = string;

#
# pxelinux options
option space pxelinux;
option pxelinux.magic      code 208 = string;
option pxelinux.configfile code 209 = text;
option pxelinux.pathprefix code 210 = text;
option pxelinux.reboottime code 211 = unsigned integer 32;
site-option-space "pxelinux";
option pxelinux.magic f1:00:74:7e;
option pxelinux.reboottime 30;


class "PXE" {
    match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
    filename "/pxelinux.0";
    next-server 193.50.111.183;
    vendor-option-space PXE;
    option PXE.class-identifier = PXEClient;
    
}   

Here is the complete pxe default file :
display  installoulive.txt
PROMPT 1
TIMEOUT 100
default local
kbdmap standard.kbd
LABEL local
LOCALBOOT 0
 
LABEL live
        kernel images/live-ubuntu/vmlinuz
        append boot=casper netboot=nfs nfsroot=193.50.111.132:/vol/bor1_live/livecd initrd=images/live-ubuntu/initrd.gz locale=fr_FR setup/layoutcode=fr_FR console-setup/layoutcode=fr --
 
label windows
        KERNEL pxechain.com
        APPEND 193.50.111.144::\Boot\x86\wdsnbp.com

We are really in a dead end, any help would be greatly appreciated.

Julien

> 
>> 
>> _______________________________________________
>> Syslinux mailing list
>> Submissions to Syslinux at zytor.com
>> Unsubscribe or set options at:
>> http://www.zytor.com/mailman/listinfo/syslinux
>> Please do not send private replies to mailing list traffic.
>> 
> 
> _______________________________________________
> Syslinux mailing list
> Submissions to Syslinux at zytor.com
> Unsubscribe or set options at:
> http://www.zytor.com/mailman/listinfo/syslinux
> Please do not send private replies to mailing list traffic.
> 




More information about the Syslinux mailing list