Tag Archives: dhcp

PXE Boot With Tomato

In an effort to consolidate some of the machines at home I have switched from using a 386 based pc with IPCop as the main router to using Tomato Firmware on the Linksys WRT54G(L) wireless router.

The Tomato firmware is a linux based, collection of router software that can be used to replace the firmware that ships with some models of the Linksys WRT54G and WRT54GL. There are a few features I really want in a router and one of the many great features of Tomato is support for PXE booting.

PXE is an environment used to load a computer’s operating system using a network adapter connected through the network to a TFTP server. This technique is used to load the operating system on diskless computers such as for Mythtv frontends (fat clients) or LTSP terminals (thin client). Some system admins also use it load system images and perform various maintenance tasks on the disk bearing machines on their networks as well.

PXE booting depends on the DHCP server to find the location of the TFTP server. You would do this with Tomato by adding an option in the Advanced -> DHCP/DNS -> Dnsmasq Custom Configuration part of the Tomato v1.21 configuration menus.

In my case PXE loads PXELINUX:


More generally:

dhcp-boot=/path_to/pxelinux.0,,ip address of TFTP server

The pxelinux.0 file is of course on the TFTP server and could be in one of the sub directories on that server.

By allowing the WRT54G and Tomato to take over as my main router as well as my wireless access point I have been able to shut off a machine that was using about $40.00 per year of power.

IPCop, Linux Firewall Distribution
Tomato Firmware
Linksys WRT54G(L)
Preboot Execution Environment (PXE)
Linux Terminal Server Project
Mythbuntu Diskless