...making Linux just a little more fun! |
By Avinoam Levkovich |
version 1.0
The company I work for has
many old computers that are no longer suitable for the common application
today ( try Running Office XP/2k on a P-I 100MHZ with 32MB Ram, and you will
find out that this is not a pleasant experience ). We start looking for a
solution that will save the money of buying new computers or Brand
thin-clients. The goal was to use our old computer and still get good
performance . We find the Linux solution just great for my goals. we still use our old computer and the only investment we will have to make is buying the Windows 2K/2003 licenses and hardware . |
|
The solution is actually an integration of the following Sub systems : LTSP, rdesktop and wilisystem , fortunately those systems are integrating quite naturally as you will see . |
|
LTSP ( http://www.ltsp.org ) : Is the backbone of all the system which provide the Linux terminal services for the diskless client. after installing LTSP it create the /opt/ltsp/i386 Directory. |
|
this Directory will be the
root system of our diskless clients. when booting the client it will
get its kernel by tftp from LTSP and then it will mount /opt/ltsp/i386 as
its root directory.
So after your client finish its boot process you will be logged to your LTSP Server and your file system will be the /opt/ltsp/i386 Directory. and then the Wilisystem start Working. |
|
|
|
Rdesktop :
http://www.rdesktop.org/ Microsoft has developed a protocol called RDP which is used for the Terminal Server communication with the client. The rdesktop package is an application that opens RDP Session with a Windows Server and by doing it , the Linux station become a Windows Terminal Client. |
|
|
|
Wilisystem (
http://www.wilisystem.com/
) :
The Wilisystem is actually a patch for the LTSP server. what is does is make the connection to the Windows Terminal Server as easy as it can get. The Wilisystem uses the rdesktop package and finish the Diskless client boot process with the Windows login screen. by doing this it make the LTSP Session invisible to the user who feel as if he is plugged directly to the Windows Server . I must thank the wilisystem developers for a great job ! |
|
|
|
Rom-O-Matic : www.rom-o-matic.net This is where you get you boot image for you selected boot Device ( I used a floppy ). after specifying your Ethernet card model you can download your boot image. Great implementation for a great idea. |
|
|
|
please read the documentation from the Above web site's. when you read the documentation you will discover all the options and benefits that you can get from this system and how to tune it to your needs.
|
|
what you need : | |
1. | Linux Server , I used P-III 800 with 256MB RAM , With Red Hat 9.0 . |
2. | Diskless Client, I used a P-I 133MHZ , 32MB RAM, Ati - Rage XL (mach64 Family) Display Adaptor, with the intel 100/pro Ethernet . |
3. | Windows 2K/2003 Server With Terminal Services installed, configured and Running . |
I used a P-4 1.7MHZ with 256MB RAM. | |
Create your diskless Client Environment: | |
The Diskless Client will be called ws009. | |
The Linux Server Side : | |
1. | Find your Client ( ws009 ) Display card Model and his Ethernet mac address and write them down, you will need them later. |
2. | Download and install the Following packages from http://www.ltsp.org : |
ltsp_core-X.X-X.rpm ltsp_kerne-X.X-X.rpm ltsp_x_core-X.X-X.rpm ltsp_x_fonts-X.X-X.rpm |
|
3. | Install the rdesktop package from your RedHat CD or Download it form http://www.rdesktop.org/ . |
4. | Download the wilisystem patch from www.wilisystem.com , and install it . |
5. | Make sure that the packages for the Dhcp,Nfs,Tftp servers are installed. |
6. | Edit the file /opt/ltsp/install_scripts/CONFIG and change the settings to match your network Setting. |
7. | Run /opt/ltsp/templates/ltsp_initialize |
# cd /opt/ltsp/templates/ltsp_initialize # ./ltsp_initialize |
|
8. |
Copy /etc/dhcpd.conf.example to /etc/dhcpd.conf and check that all the network numbers match your network Configuration. |
Check the Mac address of your client and update the client configuration section ( host ws009 ) in the dhcpd.conf file. | |
Here is my /etc/dhcpd.conf :
host ws009 { |
|
9. | Check /etc/exports. check that the IP numbers match your network Configuration. if everything is fine run : |
# exportfs -r # exportfs -a |
|
10. | Check that your client is properly listed in /etc/hosts. |
if your client name is w009 and your domain is
my-domain.com you should add a line to your /etc/hosts file
like : 192.168.1.112 ws009.my-domain.com ws009 this name (ws009) should be the same as the client name ( host ws009) that you configured in your dhcp.conf |
|
12. | Check /opt/ltsp/i386/etc/lts.conf at the end of the file you should see the wilisystem configuration |
Here is my Wilisystem Config , I added my remarks for the configuration part: # Config part for the
http://www.wilisystem.com # the folowing line configure your mouse , check the Documentation page for more mouse type configuration : http://www.ltsp.org/documentation/
|
|
13. | Make sure that the tftp service is enabled in the xinetd directory. |
run : # service dhcpd restart # service xinetd restart # service nfs restart |
|
The verify that the tftp server is running. run
: netstat -anp | grep ":69 " you should get something like : udp 0 0 0.0.0.0:69 0.0.0.0:* 799/xinetd verify dhcp server by : netstat -anp | grep ":67 " you should get something like : udp 0 0 0.0.0.0:67 0.0.0.0:* 2086/dhcpd If dhcp is not working try restarting it . If tftp is not working then you have to enable tftp in /etc/xinetd.d/tftp and restart it. |
|
14. | The default runlevel is specified in /opt/ltsp/i386/etc/lts.conf is runlevel 5 BUT in the wilisystem section it override the default with its own Runlevel 7 ( if you take a look at /opt/ltsp/i386/etc/inittab you will see wilisystem Configuration for this runlevel.). |
if you exerience
problems you should change it. try to load your client with one of the other
clients configuration that you have in
/opt/ltsp/i386/etc/lts.conf , ws001 is a good start . remember to change your
dhcp configuration and your hosts file to match your new host name. and
choose the runlevel 3 . this will only load the ltsp system without trying
to connect to the Windows Terminal Server.
then you will be able to debug the system. |
|
The Diskless Client Side | |
1. | Get your initial client boot kernel from : http://rom-o-matic.net/ |
To creat a boot floppy from the image you downloaded run : | |
# cat eb-5.0.10-yournic.lzdsk > /dev/fd0 | |
where "eb-5.0.10-yournic.lzdsk" is where you stored your downloaded ROM image. | |
2. | Reboot the client with the boot floppy that you created from the boot image. |
After The boot process finished ,you should get the Windows logon screen :-) | |
|
|
Problems ===================== |
|
i experienced screen flickers when the X Server was trying to load and failes with message "no screens found " , it was because the system didnt recognized my display adaptor , which is "mach64" family , it was solved after I downloaded the proper Xfree 3.3 Drivers from the ltsp site. and I used the " XSERVER = XF86_Mach64 " in the lts.conf file. | |