pxelinux dhcpd

Tom Diehl tdiehl at rogueind.com
Thu Jul 15 12:05:19 UTC 2004


On Thu, 15 Jul 2004, Chadley Wilson wrote:

> Ok its simple to understand but hard to explain I suppose :=}
> 
> I want to setup a pxelinux server for network installs of linux,

Save yourself a lot of pain, do not use the pxeserver, use the syslinux
package instead.

> in order for it to work you must setup the following three things:
> a dhcp server to assign address to the clients
> a pxe server
> and 
> a tftp or mtftp server.

No, you do not need mtftp.

> OK the PXE server can be started by running <service pxe start>,
> but the tftp server is part of the xinetd script.
> I have both running and it seems fine.
> 
> The problem is that the boot roms from all my network cards are not
> getting an IP from the dhcp server.
> I have tested the server with an ordinary workstation and it works.

Do they try to get an address? Are there any errors in the logs on the
dhcp server?

> I need my dhcp to assign the netboot clients an ip address. But I can't
> set it up to be work station specific, because this is a production line
> for computers, so we are not keeping the machine here forever. each
> machine that will boot on the network will be new.

Actually it is possible to assign static ip addresses via dhcp and still
let the other machines on the network get dynamic addresses but that is
unnecessary work in this case. I do this here for servers that normally
have static ip addresses, but when I install them I want them to use the
address they will be on once in production. Probably not necessary even
in this case but I do it anyway.

> In other words I need the dhcp server to dynamically assign a random ip
> to the pcs booted from net cards.

That works for me.

> here is my dhcpd.conf, I hope this explains what I am trying to do?
> 
> ==========================================================
> ddns-update-style interim;
> allow client-updates;
>         allow booting;
>         allow bootp;
>                                                                                 
>                                                                                 
>                                                                                 
> subnet 192.168.10.0 netmask 255.255.255.0 {
>                                                                                 
>         option domain-name              "pinteq.org";
>                                                                                 
>         range dynamic-bootp 192.168.10.128 192.168.10.255;
>         default-lease-time 21600;
>         max-lease-time 43200;
>                                                                                 
>         group {
>                 # PXE-specific configuration directives...
>                 next-server 192.168.10.2;
>                 filename "/tftpboot/pxelinux.0";

I do think you need the group directive, and I think your tftp-root 
might be wrong. Look and see what is in the /etc/xinetd.d.tftp.
In mine I have  a line like this:
server_args     = -vs /tftpboot which specifies the root of the
tftp-server.

Then in the dhcp.conf I have the following:
	allow bootp;
    allow booting;
    next-server 192.168.0.2;
    filename "/pxe/pxelinux.0";

IOW you do not want to specify the tftp-server root as part of the filename
in the dhcpd.conf.

So to summarize you need a working dhcp server, a working tftp-server with
files from the syslinux package installed (http://syslinux.zytor.com/)
and a client machine that knows how to pxe-boot. If your machine(s) is/are
not pxe-boot capable you can also look at the ether-boot project
(http://etherboot.sourceforge.net/).

HTH,

Tom





More information about the users mailing list