wiki:PxeInstallation

Version 17 (modified by bas, 13 years ago) (diff)

--

Installation

First get the latest stable source of the package from:

Then unpack the package. There are 2 methods to build the package:

  • Debian package
  • Manual installation

Debian package

How to build a debian package:

  • debian/rules binary
  • dpkg -i <packagename>

The debian package determines if inetd or xinetd configuration must be used.

Manual installation

How to install the package:

  • ./configure (default install directory = /usr/local)
  • make install

How to configure the daemon (pxeconfigd)

To activate the pxeconfigd daemon utility on other platforms use this procedure:

  • edit '/etc/services', eg:
          pxeconfigd      6611/tcp                       # pxe config daemon
    
  • Install the server, the server can ONLY be started from inetd or xinetd:
        a) inetd.conf
          - edit '/etc/inetd.conf', eg:
            pxeconfigd stream  tcp nowait  root.sys /usr/sbin/tcpd \
              /usr/local/sbin/pxeconfigd
    
          - /etc/init.d/inetd reload
    
        b) xinetd
          - cp examples/pxeconfigd.xinetd /etc/xinetd.d/pxeconfigd
          - /etc/init.d/xinetd reload
    

Test the setup

You can test it by:

  • telnet localhost pxeconfigd (or port number)
         output:
           Trying 127.0.0.1...
           Connected to localhost.
           Escape character is '^]'.
           ip = 127.0.0.1, hex = 7F000001
           file = /tftpboot/pxelinux.cfg/7F000001
           Connection closed by foreign host.
    

In syslog a line will be added if the removal is succesful:

      Feb 20 09:32:40 test pxeconfigd: /tftpboot/pxelinux.cfg/7F000001

Configuration

The pxeconfig and pxeconfigd utility can be configured with a configuration file:

  • pxeconfig.conf (usually located in /usr/local/etc or /etc)

The following options are supported:

pxe_config_dir::

Specify which tftpboot directory must be used, default: /tftpboot/pxelinux.cfg

client_script_hook::

This option is used by the client program pxeconfig it executes a script before a host link is created with the host ip-address as first argument. We use this to open ports on our firewall to allow the host to use rsync or bittorrent protocol.

daemon_script_hook::

This option is used by the daemon program pxeconfigd it executes a script before a host link is removed with the host ip-address as first argument. We use this to close ports on our firewall for the specified IP-address/host.

arp_command::

This command must be set if site use the mac address for pxe booting, default: /usr/sbin/arp -n

Host labels

Is is difficult to remember mac-addresses. So you can specify a host label with a mac address in pxeconfig.conf, eg:

[bas]
mac_address: 00:19:b9:de:21:40

Now you can use use bas as name for pxeconfig instead of the mac-address