Configuring the RARP Daemon
The Reverse Address Resolution Protocol daemon, rarpd, maps a hardware-defined hexadecimal Ethernet (MAC) address to a specific IP-format address. This service also integrates with the TFTP daemon to deliver bootable images via TFTP based on the IP address for which a lookup was requested. The executable for this daemon is the binary /usr/sbin/rarpd on most Linux systems.
The rarpd uses the configuration file /etc/ethers to map hexadecimal MAC addresses to IP addresses. In order to boot boards that use rarpd, you must do the following:
- Create an entry in the /etc/ethers file that maps the hexadecimal
MAC address of the target to the desired decimal IP address. For example,
to assign the IP address 10.0.0.10 to a board with the MAC address
00:80:B6:03:24:92, the entry in /etc/ethers would look
like the following:
00:80:B6:03:24:92 10.0.0.10
The two entries can be supported by any number of Tab or Space characters.
- Copy the bootable kernel for the board to the directory used by your
system’s TFTP server (usually /tftpboot). The name that you
give the copy of the kernel in this directory must be same as the IP address
assigned to the board, except that it must be expressed in hexadecimal and
composed entirely of upper-case characters with no punctuation. Therefore,
if the assigned IP address is 10.0.0.10, the name of the bootable
kernel file must be 0A00000A.
# cp \ <kernel_image> \ /tftpboot/0A00000A
- You must start the rarpd manually (in most cases) by executing
the command /usr/sbin/rarpd. If you are using a secondary interface
for communicating with the embedded board (for example, the discussion of
DHCP assumed that the interface eth1 was being used), you need
to start the rarpd daemon specifically for that interface. For example:
# /usr/sbin/rarpd eth1