old-www/LDP/LG/issue51/dellomodarme.html

387 lines
12 KiB
HTML

<!--startcut ==============================================-->
<!-- *** BEGIN HTML header *** -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML><HEAD>
<title>X Stations and Linux LG #51</title>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#0000AF"
ALINK="#FF0000">
<!-- *** END HTML header *** -->
<!-- *** BEGIN navbar *** -->
<A HREF="index.html"><IMG ALT="[ Table of Contents ]"
SRC="../gx/indexnew.gif" WIDTH=163 HEIGHT=60 ALIGN=bottom ></A>
<A HREF="../index.html"><IMG ALT="[ Front Page ]"
SRC="../gx/homenew.gif" WIDTH=163 HEIGHT=60 ALIGN=bottom></A>
<A HREF="collinge.html"><IMG ALT="[ Prev ]" SRC="../gx/back2.gif" WIDTH=41 HEIGHT=60 ALIGN=bottom></A>
<A HREF="../faq/index.html"><IMG ALT="[ Linux Gazette FAQ ]"
SRC="./../gx/dennis/faq.gif"WIDTH=163 HEIGHT=60 ALIGN=bottom></A>
<A HREF="kijewski.html"><IMG ALT="[ Next ]" SRC="../gx/fwd.gif" WIDTH=41 HEIGHT=60 ALIGN=bottom ></A>
<!-- *** END navbar *** -->
<!--endcut ============================================================-->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">X Stations and Linux</font></H1>
<H4>By <a href="mailto:matt@martine2.difi.unipi.it">Matteo Dell'Omodarme</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<center>
<b>Introduction</b></center><p>
Some years ago, a typical UNIX cluster was composed by an expensive,
powerful server and many cheaper terminals connected to that server.
An example of such a terminal is the IBM X Station.
The hardware of the IBM X Station includes a screen,
keyboard, mouse, some RAM, and jacks for Ethernet cables.
Since they do not have a hard disk or a floppy drive,
they must get the operating system from a host on the net that they are
attached to.
<p>
The aim of a X Station was to provide a terminal optimized for X and
graphics and connected to a
powerful server at low cost. <p>
X Stations depend on a IBM Workstation, as RISC 6000, running AIX OS. The <em>X
station manager</em> package, released with this OS, contains the
software needed in order to make X Stations boot from network and then
run the X interface.
Managing several X Stations from a RISC 6000 server is a quite easy
job; can we do the same thing from a Linux box? The main reason to do
such work are hardware failures of the IBM server since RISC Workstations
are expensive (much more than a PC). <p>
This article shows how to configure a Linux box in order to provide to
X Station 120 and X Station 130 all the information needed to boot
and work properly.<p>
<center>
<b>Configuring the Linux box</b></center><p>
There are 5 different steps to accomplish before you can successfully
start a X Station from Linux:
<ol type=1>
<li> Get boot files for X Stations from the IBM RISC 6000
<li> Get fonts for X Stations from IBM RISC 6000
<li> Configure Linux bootpd daemon
<li> Configure Linux tftp daemon
<li> Configure Linux xdm daemon
</ol>
Let's inspect each step in greater detail.<p>
<center>
<b>Getting boot files</b></center><p>
All the boot files for your X
Stations are in the directories <code>/etc/x_st_mgr</CODE> and
<CODE>/usr/lpp/x_st_mgr</CODE> in the AIX installation backup.
Restore the backup in your Linux box (in the following we presume you
restored the backup in the same directories as the AIX installation).<p>
You don't need all the files; but a minimal installation must contain:
<pre>
/etc/x_st_mgr/120 link to /usr/lpp/x_st_mgr/bin/bootfile3
/etc/x_st_mgr/120.cf configuration file, see below
/etc/x_st_mgr/bootfile3.cf copy of 120.cf
/usr/lpp/x_st_mgr/bin/bootfile3 boot file X Station 120
/usr/lpp/x_st_mgr/bin/x11xor3.out X server
/usr/lpp/x_st_mgr/bin/rgb.txt color descriptor database
</pre>
for X Station 120, and:
<pre>
/etc/x_st_mgr/130 link to /usr/lpp/x_st_mgr/bin/bootfile4
/etc/x_st_mgr/130.cf configuration file, see below
/etc/x_st_mgr/bootfile4.cf copy of 130.cf
/usr/lpp/x_st_mgr/bin/bootfile4 boot file X Station 130
/usr/lpp/x_st_mgr/bin/x11xor4.out X server
/usr/lpp/x_st_mgr/bin/rgb.txt color descriptor database
</pre>
for X Station 130.<p>
The file 120.cf contains the names of the files needed by X Station
120 during the boot process. An example of its structure is:
<pre>
/usr/lpp/x_st_mgr/nls/keymap
/usr/lpp/x_st_mgr/nls/msg
/usr/lpp/x_st_mgr/bin/x11xor3.out
/home/x_st_mgr/lib/fonts,/home/x_st_mgr/lib/fonts/ibm850
/usr/lpp/x_st_mgr/bin/rgb.txt
</pre>
In the file 130.cf the sole change is the line:
<pre>
/usr/lpp/x_st_mgr/bin/x11xor4.out
</pre>
replacing the line of the X server x11xor3.out.<p>
<center>
<b>Setting the fonts</b></center><p>
In the configuration file 120.cf (or 130.cf) the line:
<pre>
/home/x_st_mgr/lib/fonts,/home/x_st_mgr/lib/fonts/ibm850
</pre>
points to the directories where you copied the fonts of the AIX
installation, located in /usr/lib/X11/fonts.
You can freely change the installation directory, but you must be
consistent.<p>
<center>
<b>The bootpd daemon</b></center><p>
When a X Station is switched on it send on the network its Ethernet
address and a request of assistance to accomplish the boot.
During this process on the X Station screen you can see some
informations, as shown below.
<pre>
The IBM Xstation
Version 1.4
(c) Copyright IBM Corporation 1981, 1990
Ethernet Hardware Address 08005A010F33
Ethernet Thick/Thin Thin
BOOTP - 0000 0000 0000 0000
TFTP - 0000 0000 0000 0000
</pre>
First of all
record the <em>Ethernet Hardware Address</em> of the terminal;
this information is needed later. <p>
Turning on the X Station the first number on the BOOTP line starts to
augment: the X Station is sending a request for help on the network.
To respond to that request a computer must have bootpd daemon running
and properly configured, that is have a line in the bootpd
configuration file matching exactly the Ethernet address of the X
Station. <p>
This step is required for X Station 120; a X Station 130 can be a
statically configured to contact the machine which stores the
boot files and font.
This is done in the setup screens which are accessed by
pressing F12 during the boot procedure.
Here you must provide all the boot and IP informations (the informations are
stored in a <em>Non-Volatile RAM</em> subsystem on the X Station)
and disable BOOTP.
In the following we suppose you don't use a static configuration for
your X Station 130.<p>
bootpd daemon is usually located in /usr/sbin/booptd. If you can't
find it here or in similar locations you must get a copy of the
program from the net and follow the installation procedure (this part
is not covered here). <p>
The configuration file for bootpd is /etc/bootptab. Here you must
insert the informations about all X Stations you want to manage from
the Linux box. An example of this file is reported below:
<pre>
# declaration of types
x_st_mgr.120:ht=ether:hd=/etc/x_st_mgr:bf=120:T170=2328:ds=131.114.8.144:gw=131.114.8.129:sm=255.255.255.0:
x_st_mgr.130:ht=ether:hd=/etc/x_st_mgr:bf=130:T170=2328:ds=131.114.8.144:gw=131.114.8.129:sm=255.255.255.0:
# X Stations
astr12pi.difi.unipi.it:tc=x_st_mgr.120:ha=08005A010F1A:ip=131.114.8.236:
astr13pi.difi.unipi.it:tc=x_st_mgr.130:ha=08005A010F33:ip=131.114.8.237:
</pre>
In this file there are two declaration of type (i.e. X Station 120
and X Station 130), with the informations about the related boot
files. The name of the tags are explained below:
<pre>
# hd -- home directory
# bf -- bootfile
# sa -- server IP address to tftp bootfile from
# gw -- gateways
# ds -- DNS
# ha -- hardware address
# ht -- hardware type
# ip -- host IP address
# sm -- subnet mask
# tc -- template host (points to similar host entry)
# hn -- name switch
# bs -- boot image size
# dt -- old style boot switch
</pre>
The other lines are the list of the X Stations managed.
For a X
Station 120 a typical entry begin with the name of that X Station and
refers to tag <em>tc=x_st_mgr.120</em>; the
<em>ha</em> tag must match the Ethernet address you previously recorded and the
<em>ip</em> tag is the IP number corresponding to the X Station.
For a X Station 130 change the tag <em>tc</em> to <em>tc=x_st_mgr.130</em>.<p>
The bootpd daemon is started from /etc/inetd.conf file inserting the line:
<pre>
bootps dgram udp wait root /usr/sbin/tcpd bootpd
</pre>
You can test your Linux bootpd configuration issuing the command:
<pre>
kill -HUP `cat /var/run/inetd.pid`
</pre>
and turning on the X Station. If the BOOTP phase is passed (i.e. the
first number on the TFTP line increases) the bootpd daemon works
properly. <p>
<center>
<b>The tftp daemon</b></center><p>
Now the Linux box can successfully answer to the boot request from the
X Station but it's not able to supply the files the X Station is
asking. To accomplish this process you must install and configure the
tftp daemon (Trivial File Transfer Protocol).
tftp daemon usually resides in /usr/sbin/tftp and can be started from
/etc/inetd.conf inserting the line:
<pre>
tftp dgram udp wait root /usr/sbin/tcpd in.tftpd /home/x_st_mgr /etc/x_st_mgr /usr/lpp/x_st_mgr
</pre>
The configuration can be tested restarting inetd:
<pre>
kill -HUP `cat /var/run/inetd.pid`
</pre>
Turning on the X Station the boot process must be successful and after
a short wait on the X Station screen appears a message like this:
<pre>
Copyright 1989, 1994 AGE Logic Inc.
All rights reserved, Release 072594
</pre>
and after another wait the screen becomes grey with a typical cross
cursor in the middle. The X interface is now working. <p>
<center>
<b>The xdm daemon</b></center><p>
The last step is to provide a login mask to the X Station. This is the
job of xdm daemon.
The xdm daemon can be started setting the runlevel 5 in the
/etc/inittab, i.e. in this file you must have the line:
<pre>
id:5:initdefault:
</pre>
Now change directory to /etc/X11/xdm.
If you won't the xdm interface starts automatically on console edit
the file <em>Xservers</em> and comment
the line:
<pre>
:0 local /usr/X11R6/bin/X
</pre>
In the same file add the names of all the X Stations defined above,
as in the example:
<pre>
astr12pi:0 foreign
astr13pi:0 foreign
</pre>
Now edit the <em>xdm-config</em> file and insert the lines:
<pre>
DisplayManager.astr12pi_0.setup: /etc/X11/xdm/Xsetup_astr12pi_0
DisplayManager.astr12pi_0.startup: /etc/X11/xdm/Xstart
DisplayManager.astr12pi_0.reset: /etc/X11/xdm/Xstop
</pre>
where Xsetup_astr12pi_0 is a copy of Xsetup_0, Xstart and Xstop are
links to GiveConsole and TakeConsole. Repeat this operation for all
the X Stations defined.<p>
The last operation is insert a crontab entry which refreshes the xdm
daemon every 1 minute. This step is needed to manage quickly a X Station
when it's switched on. As user root issue the command:
<pre>
crontab -e
</pre>
and insert the line:
<pre>
* * * * * kill -HUP `cat /var/log/xdm.pid`
</pre>
Reboot your Linux box and turn on the X Stations. If all goes OK, the X
stations will boot, start the X server and show the login screen.
<!-- *** BEGIN copyright *** -->
<P> <hr> <!-- P -->
<H5 ALIGN=center>
Copyright &copy; 2000, Matteo Dell'Omodarme<BR>
Published in Issue 51 of <i>Linux Gazette</i>, March 2000</H5>
<!-- *** END copyright *** -->
<!--startcut ==========================================================-->
<!-- P --> <HR> <!-- P -->
<A HREF="http://www.linuxgazette.com/cgi-bin/talkback/all.py?site=LG&article=http://www.linuxgazette.com/issue51/dellodarme.html">
<FONT SIZE="+2">Talkbacks</FONT></A>
<P>
<!-- *** BEGIN navbar *** -->
<A HREF="index.html"><IMG ALT="[ Table of Contents ]"
SRC="../gx/indexnew.gif" WIDTH=163 HEIGHT=60 ALIGN=bottom ></A>
<A HREF="../index.html"><IMG ALT="[ Front Page ]"
SRC="../gx/homenew.gif" WIDTH=163 HEIGHT=60 ALIGN=bottom></A>
<A HREF="collinge.html"><IMG ALT="[ Prev ]" SRC="../gx/back2.gif" WIDTH=41 HEIGHT=60 ALIGN=bottom></A>
<A HREF="../faq/index.html"><IMG ALT="[ Linux Gazette FAQ ]"
SRC="./../gx/dennis/faq.gif"WIDTH=163 HEIGHT=60 ALIGN=bottom></A>
<A HREF="kijewski.html"><IMG ALT="[ Next ]" SRC="../gx/fwd.gif" WIDTH=41 HEIGHT=60 ALIGN=bottom ></A>
<!-- *** END navbar *** -->
</BODY></HTML>
<!--endcut ============================================================-->