We assume the server is already installed. The installation is done with the following steps:
The kit is now an RPM package. To install it or to upgrade it you do
rpm -Uvh xtermkit-x.y-1.i386.rpm
x.y is the package version. The latest (as I write this), is 2.4. This package should install without problem on RedHat 6.2, 7.0 and Mandrake 7.x. This is what we are testing.
You run the xtermadmin command and select the first
/usr/sbin/xtermadmin
X terminal administration
Pick an option
1-setup : Installation of the terminals runtime
2-post-setup : Complete or update terminals runtime
3-server-setup : Setup of server services
4-fillname : Preload /etc/hosts with dummy names
5-makeboot : Create a terminal boot floppy Linux format
6-makeboot-dos : Create a terminal boot floppy DOS format
7-lock-terminals : Lock terminals configuration
8-unlock-terminals : Allow re-configuration of terminals
q=quit
Choice : 1
You are presented with a list of RedHat version used to install the runtime environment. You can use RedHat 6.2 or 7.0. Note that RedHat 7.0 is using RPM version 4, so at this point, you won't be able to install those package on anything else than RedHat 7.0. If you plan to install on a Mandrake 7.x, pick a RedHat 6.2 CD.
Linux based X terminals
Server side installation
1=Redhat 5.0 CD
2=Redhat 5.1 CD
3=Redhat 5.2 CD
4=Redhat 6.0 CD
5=Redhat 6.1 CD
6=Redhat 6.2 CD
7=Redhat 7.0 CD
Choice ? 6
This will take few minutes. Then you will get to the main menu. This time, you pick the post-setup option. This option does not ask any question. It adds few more packages in /xterminals/root.
If you upgrade from a previous version of the kit, you do not need to reinstall the runtime. The RPM update will run the post-setup for you (and will clearly state so).
By default, a Linux server won't serve X terminals. You need to configure few services to enable this. You can do it two ways. You can either follow this document, or you can use the xterminals Linuxconf module. This is what we are doing and testing most. You can find some information and screen shots about the module at http://www.solucorp.qc.ca/linuxconf/module.hc?module=xterminals.
The xterminals module goes behond the basic installation and configuration. It focus on X terminals administration as well.
You can also use the third option of the main menu to perform some of this job. The rest explains what is going on.
In /etc/exports, you will need the following lines
/xterminals/root (ro)
/var/xterminals (rw,no_root_squash)
Once the X terminals are configured, you can change that to
/xterminals/root (ro)
/var/xterminals (ro)
mount /mnt/cdrom
/etc/rc.d/init.d/nfs stop
/etc/rc.d/init.d/nfs start
or
killall rpc.nfsd rpc.mountd
/usr/sbin/rpc.mountd
/usr/sbin/rpc.nfsd
The kernel supplied (2.0) contain ethernet drivers for ne2000 and 3c509. The kernel configuration is supplied so you can recompile a kernel with the proper driver sets. Some work has to be done to support "initial ramdisk", allowing the usage of modular kernel for the x terminal boot disk.
A larger kernel (2.2) is also supplied with more drivers. It supports the following adaptors.
Some NFS server won't provide access to a machine without a corresponding name in either the DNS or /etc/hosts. If you get an error 13 from the NFS server (when booting the PC), make sure that for each IP number allocated in the DHCP server, you have a corresponding name in the DNS. If you are not familier with DNS you may work around this by filling the name and IP number of every X terminals in the /etc/hosts file of the server.
A script "fillname.sh" is provided just for that. The script is interactive. You run it, you answer the 3 questions and it will write a bunch of lines in /etc/hosts (append). It will name the X terminal T1 to TN as the exact name is unimportant.
For example, if you have allocated the following IP number range:
192.168.1.50 -> 192.168.1.70
you enter
Enter the IP network prefix (ex: 192.168.1) : 192.168.1
Enter the start of the range : 50
Enter the end of the range : 70
You may have to restart the NFS server after having done that as it caches a little bit.
Linuxconf has a module to do just that (dhcpd). Or you can do
it by hand. Here is a template you can use to setup a proper
/etc/dhcpd.conf
server-identifier plastic;
# Put your domain here
option domain-name "solucorp.qc.ca";
# Enter your DNS here
option domain-name-servers 192.168.3.6;
# Enter your default gateway here
option routers 192.168.3.6;
# Enter the netmask of the network here
option subnet-mask 255.255.255.0;
# Enter the network you wish to manage using DHCP
subnet 192.168.3.0 netmask 255.255.255.0{
# Enter the range you wish to allocate using DHCP
range dynamic-bootp 192.168.3.100 192.168.3.150;
}