<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:13px">Hello,</span><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">I got a problem of starting PXELINUX with gPXE using HTTP server. I am trying to setup a diskless system using gPXE. I intend for all the client machines to use static IP in the network, and our network already have a DHCP server which is difficult for me to modify. So I want to use gPXE to assign static IP for my client machine and obtain image from a HTTP server. </div>

<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">In gPXE, I can successfully load the pxelinux.0 file and execute it. However, PXELINUX then reported an error saying "Unable to locate configuration file". I tried with several versions but got similar problems. </div>

<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">In general, I want to set each client with static IP to get around the DHCP server, which seems to work for getting the images. I also tried to load the initrd image and vmlinuz kernel directly. But I got error saying the kernel cannot find ramdisk. I think I need to use the parameters such as 'initrd=' and 'root=' when booting the kernel. Is there a way to do that with gPXE along? I'm open to other alternatives, since my approach may be limited on my lack of knowledge.</div>

<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">My setup looks like this:</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div>

<div style="font-family:arial,sans-serif;font-size:13px">- On the HTTP server:</div><div style="font-family:arial,sans-serif;font-size:13px"><font face="courier new, monospace"><a href="http://xxxx.xxx.xxx/xxx/tftpboot/" target="_blank">http://xxxx.xxx.xxx/xxx/tftpboot/</a>   ~ this is the root directory for the pxelinux file</font></div>

<div style="font-family:arial,sans-serif;font-size:13px"><font face="courier new, monospace">./pxelinux.0</font></div><div style="font-family:arial,sans-serif;font-size:13px"><font face="courier new, monospace">./pxelinux.cfg/default</font></div>

<div style="font-family:arial,sans-serif;font-size:13px"><font face="courier new, monospace">./centos6/                          ~ this directory contains the ramdisk image and kernel</font></div><div style="font-family:arial,sans-serif;font-size:13px">

<br></div><div style="font-family:arial,sans-serif;font-size:13px">The pxelinux configure file looks something like this:</div><div style="font-family:arial,sans-serif;font-size:13px"><pre style="white-space:pre-wrap;word-wrap:break-word">

<font face="courier new, monospace">default rhel6
label rhel6
        kernel centos6/vmlinuz
        append initrd=centos6/diskless_initrd.img root=nfs:xxx.xxx.xxx.xxx:/diskless/x86_64/RHEL6/root/ rw</font></pre></div><div style="font-family:arial,sans-serif;font-size:13px"><div>- For my client, I embedded a static.gpxe script looks something like this:</div>

<div><font face="courier new, monospace">#! gpxe</font></div><div><font face="courier new, monospace">ifclose net0</font></div><div><font face="courier new, monospace">set net0/ip       xxx.xxx.xxx.xxx</font></div><div><font face="courier new, monospace">set net0/netmask  xxx.xxx.xxx.xxx</font></div>

<div><font face="courier new, monospace">set net0/gateway  xxx.xxx.xxx.xxx</font></div><div><font face="courier new, monospace">set net0/dns      xxx.xxx.xxx.xxx</font></div><div><font face="courier new, monospace">ifopen net0</font></div>

<div><font face="courier new, monospace">set 209:string pxelinux.cfg/default</font></div><div><font face="courier new, monospace">set 210:string <a href="http://xxx.xxx.xxx/xxx/tftpboot/" target="_blank">http://xxx.xxx.xxx/xxx/tftpboot/</a></font></div>

<div><font face="courier new, monospace">chain ${210:string}pxelinux.0</font></div><div><br></div><div>After this the PXELINUX is booted, but then failed on the error. I was using PXELINUX 4.02. For newer version, I also tried 5.10, but then PXELINUX stucks on the first line (version and copyright stuff). </div>

<div><br></div><div>I can attach some screenshot of the error message if needed. Please tell me if I need to provide more information.  </div><div><br></div><div>Thanks in advance!</div><div><br></div><div>Regards,</div>
</div>
<div>--<br>Di Wu (Allan)<br><a href="http://www.cdsc.ucla.edu/" target="_blank">Center of Domain-Specific Computing</a>,<br>Department of Computer Science, UC Los Angeles<br>Email: <a href="mailto:allwu@cs.ucla.edu" target="_blank">allwu@cs.ucla.edu</a><br>

</div>
</div>