PXES Version 0.4

By Diego Torres Milano <diego@in3.com.ar>
Copyright © 2001-2002. All rights reserved.
This software is free software under the GNU General Public License.

Instant thin client

PXES will boot a real thin client or will help to convert in minutes any compliant hardware (see list bellow) into a versatile thin client. They will be capable of accessing any XDM server presenting the graphical login screen or any Microsoft Terminal Server through RDP protocol. The actual configuration of clients is made with an easy to use graphical configuration tool, allowing the specification of clients parameters or the server to access to.
You can recover hardware that is useless running current desktop OS or office package and give it a second chance.

This thin client boots from the network with PXE (Intel Pre-Execution Environment specifications) so neither boot diskette nor boot eprom is needed. The linux kernel and an initial root filesystem is transmitted over the network (the compressed size as of version 0.4 is about 4M).

This version of PXES combines many things to achieve this:

After booting, the thin client is completely stand-alone, so no NFS server is needed. Of course if you want to access an XDM or Microsoft Terminal Server, this servers are required.


No local devices, such diskette or hard disks are used, the intention is to reduce the TCO with clients as thin as possible. But if you want to allow access to local devices you can change the configuration.

Installation

This are the steps to get PXES up and running:

and voila!

Server configuration

PXES Installation

Copy and expand the distribution file. Edit the Makefile if necesary, and run

# make install

You should run this command as root.

DHCP server

The package specification and the configuration needed by the DHCP server is included. You only need to adapt this configuration to your network environment, starting with the provided sample.

The tested dhcp server was a dhcp-2.0pl5-8 on Red Hat 7.2, but choose whatever you want.

It's not required that the DHCP server would be the same as the TFTP server.

During the setup you can run the server in debug mode to see what is happening.

# dhcpd -d

You should see the requests and responses.

TFTP server

The package specification for the TFTP server is also included. This is not the same as the standard Red Hat 7.2 installation, so you will need to remove the installed package (tftp-server) and install this new one.

# rpm -e tftp-server

# rpm -Uvh tftp-hpa-server*.rpm

You should install tftp-hpa-server-0.28-1 which can be downloaded from

http://www.kernel.org/pub/software/network/tftp/

or in RPM format from

http://www.fis.unipr.it/pub/linux/contrib/redhat/6.2/RPMS/i386/tftp-hpa-server-0.28-1.i386.rpm

http://etherboot.sourceforge.net/tftp-hpa/tftp-hpa-0.29-1.i386.rpm


This has not been tested on Microsoft Windows acting as a TFTP server, but accordingly to the SYSLINUX documentation:

If your boot server is running Windows (and you can't fix that), try tftpd32 by Philippe Jounin:

http://tftpd32.jounin.net/



And maybe you end up with the things working.

Server configuration is also included.

Initial ram disk creation or modification

A GUI will help you in the creation or modification of the initial ramdisk.

Running the pxesconfig (Tk 8.0 or greater required) command you will have the option of select the values that fit your environment.

If you are initializing the ram disk the -experimental option should be in the command line to enable the check button.

Boot the client

Set the BIOS or interrupt the normal boot process to boot from the network, usually pressing F8 or F12.

If everything goes well you will see it taking the IP address from the DHCP server and the graphical screen showing the PXES fish. At the bottom of the screen there will be a boot prompt

boot:

Just press enter. You can specify the time-out in the configuration.

After a few seconds the XDM or Microsoft Terminal Server login screen will appear.

Customization

Simplified kernel 2.4

Because the thin client doesn't need disk controllers, peripherals, etc., a simplified kernel 2.4 is used to boot.

You can use the kernel configuration included in the distribution source as a starting point to build your own kernel.

Components

Great flexibility of customization as this is build from stock Red Hat 7.2 components, so in the case that your hardware doesn't meet the requirements you can select the appropriate components and rebuild this mini-distribution.

Graphical boot screen

The tools needed to change the graphical boot screen are included, allowing you to select the image you want.

The standard distribution comes with this screen




Checked hardware

Thin Client

Personal Computer

Video card

PXES 0.4 includes the SVGA server from XFree86 V3.3.6 so the list and status of supported hardware is http://www.xfree86.org/current/Status.html

Note: Intel i810 is supported because the agpgart module is included too.

Network card

PXES V0.4 was tested on this cards

Future enhancements

Future version will provide

Resources

http://pxes.sourceforge.net

http://syslinux.zytor.com

http://www.busybox.net

http://www.rdesktop.org

http://www.redhat.com

http://www.kernel.org/pub/software/network/tftp

http://tftpd32.jounin.net