Friday, 9 November 2007

Getting LTSP 5 working on RHEL5

The Linux Terminal Server Project (LTSP) has released version 5 for integration with Linux distributions.

They have
instructions for using a tarball where a distribution has not integrated the release.

Here are some hints for installing LTSP 5 in RHEL5 (Red Hat Enterprise Linux 5) using the tarball.

I decided to the use the Debian etch tarball from the list of downloads as I am more familiar with Debian out of those listed.
Once the necessary RPMs have been installed DHCP, TFTP and NFS can be enabled in RHEL5 using system-config-services .

/usr/local/sbin/ltsp-update-sshkeys does not work because the tempfile command does not exist . Fix this by:
cd /bin
ln mktemp tempfile
then run
/usr/local/sbin/ltsp-update-sshkeys

The filename in /etc/dhcp.conf for etherboot is /ltsp/debian_etch_i386/nbi.img

This is the /etc/dhcpd.conf file for my set up (a single client on my home network using a private address range):




# dhcpd.conf ddns-update-style ad-hoc;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.250.255;
option routers 192.168.250.1;
option domain-name-servers 192.168.250.1;
option domain-name "takelap.com";
get-lease-hostnames true;

host 192.168.250.20 {
hardware ethernet 00:10:5a:cd:45:7b;
fixed-address 192.168.250.20;
next-server 192.168.250.205;
filename "/ltsp/debian_etch_i386/nbi.img";
option root-path "/opt/ltsp/i386";
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.250.255;
option routers 192.168.250.1;
option domain-name-servers 192.168.250.203;
option domain-name "takelap.com";
}

subnet 192.168.250.0 netmask 255.255.255.0 {
}



here 192.168.250.20 is the LTSP client that gets booted with Debian, 192.168.250.205 is the LTSP server running RHEL5. Note that for LTSP 5 root-path does not include the IP address of the server. If you put it in you will get "nfsmount: need a path" repeating messages.

I could not get tftp to work without disabling selinux, there must be a way of changing the policy to allow this. Of course disabling selinux would not be OK where this is a local security requirement.

Similarly, even though the firewall was opened up for tftp and NFS there was a problem with another protocol so for the time being the firewall is also disabled!

The LTSP client screen will still not display because LTSP expects a file /etc/X11/Xsession to exist on the server. In RHEL5 this corresponds to /etc/X11/xinit/Xsession .

This can be fixed by specifying the environment variable LDM_REMOTECMD in /opt/ltsp/i386/etc/lts.conf:

[192.168.250.20]
LDM_REMOTECMD = /etc/X11/xinit/Xsession



2 comments:

Hoff said...

thanks for the instructions, i got my rhel5 system up and running with ltsp5. one last question, when the clients boot they are still executing Debian bits, hence i get a 'Debian' login screen, instead of a 'red hat' login screen. After authentication, everything runs just like rhel which i expected..im just curious as to how i can get that login screen for the thin clients to display a 'real' red hat login screen..

codfish said...

This login screen from the ltsp client is described by a directory pointed to by the symbolic link

/opt/ltsp/debian_etch_i386/
etc/alternatives/ldm-theme
-> /usr/share/ldm/themes/Debian

If you look at /opt/ltsp/debian_etch_i386/
usr/share/ldm/themes/Debian
you will see a number of .png files.
background.png contains the logo.

You could create a new directory with a background.png file containing the Red Hat logo (may be some copyright issues).