387 lines
12 KiB
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 © 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 ============================================================-->
|