PXES Version 0.4By Diego Torres Milano <diego@in3.com.ar> |
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:
PXELinux to boot from network
XDM to obtain a graphical login
Rdesktop to access Microsoft Terminal Server® services
Busybox to reduce the footprint
RedHat 7.2 stock components to build the small distribution
GUI Configuration programs
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.
This are the steps to get PXES up and running:
Install PXES
Install and configure the DHCP server
Install and configure the TFTP server
Install and configure the XDM Server or
Install and configure the Microsoft Terminal Server (this step is not covered here)
Boot the PXE 2.x compliant client PC
and voila!
Copy and expand the distribution file. Edit the Makefile if necesary, and run
# make install
You should run this command as root.
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.
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 fromhttp://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:
And maybe you end up with the things working.
Server configuration is also included.
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.
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.
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.
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.
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
Wincor Nixdorf BEETLE
HP Vectra
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.
PXES V0.4 was tested on this cards
3Com 3C905 Tornado
Future version will provide
Xfree86 4.x
VNC client
boot menu
Dynamic DNS
http://www.kernel.org/pub/software/network/tftp