Linux Netstation mini-HOWTO Kris Buytaert, Kris.Buytaert@advalvas.be v0.99p18, 26 December 1999 This document tries to describe how to hook up a IBM Netstation to your local network using a Linux box as server. ______________________________________________________________________ Table of Contents 1. Introduction 1.1 General Intro 1.2 Changes in the new versions. 2. Requirements 2.1 Hardware 2.2 Software 2.2.1 IBM Software. 2.2.2 NFS Server. 2.2.3 X Server. 2.2.4 DHCP Server If you have multiple NC's, you may wish to distribute the IP Adresses by using a DHCP Server how to obtain and configure a DHCP server can be read in the 3. Other Useful Documentation 4. Setting up the Server side 4.1 AIX License 4.2 The Real Operating System 4.2.1 Setting up the nfs server 4.2.2 Setting up the X server 5. Configuring the Thin Client 5.1 Older Versions 5.1.1 Setting up TCP/IP 5.1.2 Setting Up the Boot Parameters 5.1.3 Setting Up the Monitor 5.1.4 Further Configuration 5.2 Newer Versions 6. Misc Stuf 6.1 TroubleShooting 6.2 Experiences 6.3 Connecting through a network into the NC The network station allows configuration access via telnet sessions on several ports. The ones I know are by default configured like this: 6.3.1 Port 5978 6.3.2 Port 5999 CONFIGD Use this port to do remote configuration for the NC by an telnet session (telnet NC-IPaddr 5999). 6.4 Port 161/udp - SNMP Access 6.4.1 Some general statement 6.4.2 How to configure network management ? 6.4.3 How to start managing? 6.4.4 What do you manage? 6.5 IBM Software Releases 6.6 NetworkStation Manager 6.7 Configuration file statements 6.8 Printing 6.9 PCMCIA Memory Cards 7. Credits 8. History ______________________________________________________________________ 1. Introduction 1.1. General Intro Some unused piece of delicious hardware floating around on my desk. Screaming to be used. 40 MBof ram and a 403 PPC inside. So I decided to give it a try and connect it to my local Linux network. I want to thank the company I work for because they gave me the chance to experiment with it. In this (Mini-Howto) we'll be dealing with an IBM Network Station model 8361-100, other models may be featured in the future. We also have some additional info about the other 2 models. The 8361-200 (Model 300) and the 8362-A23 (Model 1000). More info can be found at http://www.pc.ibm.com/networkstation/products/ I'm trying to describe how I setup the NC, there are probably lots of other ways to set up this machine, however this one works fine. Any other remarks you might have from your own experience are welcome. (Free Hardware too ;-)) This MINI Howto is not trying to be the Bible on NC's and Linux, it's trying to get you started. Contributions to this NC are most welcome. During the past year I have received numerous comments on the HOWTO and lots of help from other people (suprisingly a lot from inside IBM). I've been busy therefore now is the first time that I'm trying to do a real update of the HOWTO. Most people are asking me about Linux binaries to extract the AIX distribution file. I have heard about an internal IBM project that is going on there but I have no accurate info on that matter yet. Things we still have to implement in this Howto o How to export your homedir o How to run applications o How to run Java Applets Help is appreciated ;-) 1.2. Changes in the new versions. The new version comes with a new kernel and some changes in the applications. The kernel can now be downloaded as a compressed file which speeds up the process. Starting with the Network Station 3.0, you need a new Boot Monitor or boot PROM (aka Firmware) with the version 3.0.x or later. You NetworkStation won't work with a older boot PROM (aka Firmware) and the new Network Station 3.x kernel. If you buy a new NetworkStation, you always get one of the latest PROMs Older versions can be automatically updated from a boot server, from which the new boot PROM get's downloaded. There also is a new layout of the Setup Utility where you define you basic network settings of your Network Station. 2. Requirements 2.1. Hardware An NC, connected to your local Network, most likely by a UTP connection , thus via a cross-cable or HUB connecting to an Server - in this case a Linux Box Basically the NC is Made to work with either AS/400 , Windows NT or AIX Servers. These are all expensive solutions, however working with thin clients doesnt have to cost that much. The model I have at my disposal is an IBM Network Station model 8361-100, On the inside you can find an 403PPC chip, some S3 vga components, an PCMCIA slot, and normal 72 pin (parity ??) sims. I found 8+32 Mb in my edition. Actually those 40Mb were major overkill. In full operation modes with lot's of configuration panels a couple of telnet sessions and a X -query open only took up about 4Mb of ram. ) So taking out the 32Mb showed absolutely no significant loss of speed. Well, after working more with the Netstation, specially with Navio I found out Navio sucks up as much 27-30 Mb. So those 40 Mb`s really aren`t that much of an overkill We proved it was no problem setting it up on a Linux only network. You'll need a server that can provide you both with about 25Mb of free diskspace for the software, and the capacities to run an X -query. In the setup overhere we used a 486DX50 with 8Mb as a fileserver and I switch between another 486DX266 (PS/2 85) with 32Mb, and my Multia with 48Mb as the X server Of course, the fatster machines the better. 2.2. Software 2.2.1. IBM Software. NC kernel, fonts etc. In order to boot the NC you will need its Kernel and fonts. About 25Mb of files are needed on the server. They can be found on an AIX 4.X with the Netstation modules installed. Or from the IBM Netstation Download Page 2.2.2. NFS Server. A working NFS server, like in every default Linux distribution. Approx 85Mb of diskspace has to be exported to the NC. 2.2.3. X Server. Any machine running XDM with enough memory, processor power will do. You don't need to have X configured on the machine itselve, it can be a monitor-less server. Basic X Windows install will provide you with the necessary deamons. There is the possibility to run a local X11 server which may avoid some network traffic. The new version supports a standard X11 and a Motif X11 server. Using a configurable menu or by allowing telnet sessions you may access other computers/servers on the network. You may also be able to export applications to your Netstation display withouth actually using XDM . You might want to run an extra window manager. This can be done by telnetting into the remote box and typing export DISPLAY=nc_ipnr:0 and afterwards running the application you want to use. Optional 2.2.4. If you have multiple NC's, you may wish to distribute the IP Adresses by using a DHCP Server how to obtain and configure a DHCP server can be read in the DHCP Mini Howto on sunsite DHCP Server 3. Other Useful Documentation The IBM Website lots of documentation on the NC, most of it can be found in PDF format. The latest updates can be found at http://www.as4000.ibm.com/networkstation/rs6000/ including o IBM Network Station Runtime Environment for RS/6000 Users's Guide o IBM Network Station Runtime Environment for RS/6000 System Administrator's Guide o IBM Network Station Runtime Environment for RS/6000 System Navio NC Navigator Browser Guide Or from http://www.ibm.com/nc/pubs/ o IBM Network Station Setup and Use 4. Setting up the Server side You found all the software you needed. Now let's install them. 4.1. AIX License Before making the tarball on the aix machine, make sure you run /usr/netstation/bin/agree in order to make the kernel in a usable format. Probably you will have to do the same thing with the tarball you get from the IBM website. So finding the kernel separatly might be another solution. Find a drive with about 25Mb of free diskspace, I use /usr/netstation/, and unpack the tarbal either from the IBM website or from an AIX machine. There is no need in using the approx 60Mb from /usr/netstation/doc on the disk if you don't have enough diskspace. 4.2. The Real Operating System 4.2.1. Setting up the nfs server Edit your /etc/exports, add the line /usr/netstation 10.0.0.50(rw) Where 10.0.0.50 is the IP address you want to give to the NC. Restart your nfs deamon. [root@velvet sdog]# ps auxf |grep rpc sdog 4145 0.0 5.8 828 384 p1 S 03:55 0:00 \_ grep rpc root 3120 0.0 5.7 944 380 ? S Feb 27 0:00 rpc.mountd root 3129 0.0 1.5 880 100 ? S Feb 27 0:10 rpc.nfsd [root@velvet sdog]# kill -9 3120 3129 ; /usr/sbin/rpc.mountd ; /usr/sbin/rpc.nfsd or on a RedHat-like system easier [root@velvet init.d]# pwd /etc/rc.d/init.d [root@velvet init.d]# ./nfs restart Restarting NFS services: rpc.nfsd rpc.mountd done. [root@velvet init.d]# Your NC should now be able to mount the /usr/netsation by NFS. Bascially if you don`t need X-Windows this is as far as it gets. You can easily telnet from your NC with nothing more installed. However the beauty of this thing is it`s X capability. 4.2.2. Setting up the X server Next we have to set up the X server. Basically I didn't need to set up anything, all of my machines that ran X-Windows were configured to accept connections. I just started up the NC for the first time and it showed me all the machines that ran an XDM (cfr running an X -indirect). So any machine that can run xdm can be used as X Server. Just make sure XDM is So any machine that can run xdm can be used as X Server. Just make sure XDM is started. Everything on the server side should be setup now. Lets try the NC side. 5. Configuring the Thin Client 5.1. Older Versions Unplug the network cable from the NC. Then boot it up. After checking its Memory, VGA etc, it will boot into the IBM Network Station Setup Utility. Basically you can manage everything from this menu system. The main parts will be described here. 5.1.1. Setting up TCP/IP Section 5 (F5) : Your network setup should look something like this : IP Addressed From NVRAM Network Station IP Adress 10.0.0.50 First Boot Host IP Adress 10.0.0.1 Second Boot Host IP Adress 10.0.0.11 Third Boot Host IP Adress 0.0.0.0 Gateway IP Adress 10.0.0.1 Subnet Mask 255.255.255.0 Broadcast IP Adress 10.0.0.255 Ethernet Standard Version 2 Resembles my setup. The NC itself has 10.0.0.50 While 10.0.0.1 is the NFS Server, 10.0.0.11 is a secondary NFS server, just in case. 5.1.2. Setting Up the Boot Parameters Section 6 (F6): Looks like this in my setup. Boot file kernel TFTP Boot Directory /usr/netstation/ NFS Boot Directory /usr/netstation/ Configuration File /usr/netstation/configs/standard.nsm Configuration Directory /usr/netstation/configs TFTP Order 2 NFS Order 1 MOP Order Disabled Local Order Disabled Where /usr/netstation is the directory export on 10.0.0.1 5.1.3. Setting Up the Monitor Section 7 (F7): You can choose the right resolution / refresh rate from a nice menu. I have mine running on an old 14" VGA Screen running in 1024x768 @60Hz Basically that's all you need to install. Just plug in your Network cable again. And Reboot the NC. After testing the Video / DRAM, the NC will search the Host system and request the startup information, download the Kernel from the NFS and boot up. In some cases, the NC might download an updated Firmware from the host. When starting the graphical Console you should get a menu bar and a screen where you can select the X Hosts. You are now in the CLE (Common Login Environment): it's a desktop from where you can start all sessions, either telnet or X . It uses a local window manager which is a small window manager based on MWM. Your NC is now setup. Congratulations ! 5.1.4. Further Configuration Further configuration of the NC can be done e.g. be setting the colors, window sizes, default keymaps etc. I'm not going to describe these in detail. If you have troubles finding your way through the menu system. The IBM Network Station Runtime Environment for RS/6000 User's Guide which can be found in either .pdf or .ps at http://www.as400.ibm.com/networkstation/rs6000/ and will provide you with detailed information. 5.2. Newer Versions Newer versions of the Setup screen might look like this o F2 = View Hardware Configuration o F3 = Set Network Parameters o F4 = Set Boot Parameters o F5 = Set Configuration Parameters o F6 = Set Monitor Parameters o F7 = Set Language Parameters o F10 = Set Verbose Diagnostic Message Disabled With F3 you get a panel to set the IP adresses of the Station, the boot server and the gateways as well as the subnet mask. With F4 you get a panel to set the boot kernel name and path and method (tftp or NFS). F5 brings you to a panel to set your configuration files and paths. 6. Misc Stuf 6.1. TroubleShooting Q: I get an Invalid Kernel Type while trying to boot the NC. A: You didn't run the agree script. Q: I log in at the remote host and my keyboard settings fuck up. A: I use no /.Xmodap when working on the NC. This keeps my keyboardsettings perfect. 6.2. Experiences Using the NC as a plain terminal with multiple consoles. The Built-in Motif extensions are a lot easier to use than the default setup ;-) Pressing the Pause/Break key will pop up the NC Menu at any time. 6.3. The network station allows configuration access via telnet ses- sions on several ports. The ones I know are by default configured like this: Connecting through a network into the NC o port 87, service SerialSD, (raw - serial daemon) o port 5964, service ParallelD, (raw - parallel daemon) o port 5976, service FILED, (raw - file manager) o port 5977, service PREFD, (raw - user preferences) o port 5978, service DIAG, (raw - diagnostics) o port 5979, service CONFIGD, (raw - configuration) o port 5996, service FILED, (telnet - file manager) o port 5997, service PREFD, (telnet - user preferences) o port 5998, service DIAG, (telnet - diagnostics) o port 5999, service CONFIGD, (telnet - configuration) You can easliy access the TCP ports by using a telnet session telnet NC-IPaddr port. Be careful whether there is a password check enabled. The passphrase 'public' (without quotes) worked for me. 6.3.1. Port 5978 Remote Logging It's the same as the messages console in your CLE. The format of each entry stretches over 2 lines. + DD:HH:MM:SS NSKxxxx: ... The first line covers date using the string that counts days, hours, minutes and seconds since boot time. The second line starts with an message identifier and the english plain text message after a separating colon, e.g.: [...] + 25:17:31:43 NSK5641: unable to get current time from 10.10.90.149 + 26:03:29:10 NSK4708: automatic powerdown to Suspend state after 40 minutes idle time + 26:03:49:10 NSK4708: automatic powerdown to Powerdown state after 60 minutes idle time + 26:07:22:38 NSK8001: accepting DIAGD connection from 10.10.90.150 [...] 6.3.2. Use this port to do remote configuration for the NC by an tel- net session (telnet NC-IPaddr 5999). Port 5999 CONFIGD Here are some first commands and hints that seemed to me to be useful. You can apparently configure the NC remotely - online. The configuration files use the same format, but do allow only an offline configuration. As an alternative you may use the the setup function from the NC menu window. First of all you will need to login if you defined a password. Logging into the NC should show you a sequence like: *** NCD X Terminal Configuration *** Password: Invalid Password Password: public Being logged in, you can start configurating. The configuration syntax is identical to /usr/netstation/configs/ the setup files. Be aware that the behaviour within this command line interface is the same as using the gui, i.e. when you set (you may omit this keyword) some parameter you need to apply it. Otherwise you will not see any effect. There is a /usr/netstation/configs/configd.doc documentation file (- more precisely I would call it a reference script -) delivered with the netstation software. (The links are configured for the RS/6000 installation.) You probably want to start straight into the matter. So for learning it the hard way, I recommend some commands to start with:. o help - shows you all possible commands with some really short explanation. Some commands concerning locking should be used with care. o get groups - tells you which groups of configuration options are available. These are the subjects in the setup browser of the NC menu. You may think of them as section headers. These group names are also the first token in the name of the configurable items within it. o get boot ... slow in answering and shows you how the boot parameters of the NC are currently set. o get tftp - again some basic boot parameters. On my NC all are read only statistics o get tcpip - most useful for reading some TCP statistics, less useful for changing the IP setup, i.e. name servers, local DNS cache, ARP configuration. o get file - again slow response. A long list of parameters. Most of them are again self explaining. Be careful when changing the port parameters, since you might have problems to find them later on. Also some important boot parameters can be found here. o get nfs - shows NFS configuration. You most likely will only need it, if you use a memory PCMCIA card. Otherwise you will have little to import or export. o info - shows you NAME, ACCESS, and PROTECTION of a given or all variables. Helpful, if you work with protect 6.4. Port 161/udp - SNMP Access You need some network management software to work with it. Among the most famous commercial ones are (Tivoli) NetView and HP OpenView. They provide an easy-to-use user interfaces. For linux you usually use cmu-snmp for command line and TCL/TK-based scotty for visual frontend. (I like command line and that's what I am going to explain) 6.4.1. Some general statement The network station is completely configurable as already noted. In allows examinations and alterations while being used. The changes take effect either immediately, at session startup, or at boot time (see configd.doc). All reads from the network station do not unveal the users display contents, and therefore the users' privacy is respected (if the application itself respects it as well). Only the configuration may be retrieved, but not the window contents (at least not this way). 6.4.2. How to configure network management ? There is a file in ASN.1 called snmpmib.txt in the installation directory of the recent releases that allows your network management console resolve the mib symbols. Otherwise you see dot-separated sequences of numbers only. So best is to append this file (comments start with double minus "--") to the mib.txt file of your SNMP software. You can use snmpwalk, snmpget, snmpset to browse and modify the symbols you have retrieved. 6.4.3. How to start managing? Simplest way to start managing is to execute the commands snmpwalk NC-IPaddr public system snmpget NC-IPaddr public system.sysDescr.0 snmpset NC-IPaddr public system.sysContact.0 s"MailTo:Kris.Buytaert@advalvas.b$ snmpwalk NC-IPaddr public system Sit back and think a little bit about it. It is easy to work with. If you never had experience with SNMP commands you should read some SNMP documentation, take reference to configd.doc. For more details refer to SNMP-HowTos. 6.4.4. What do you manage? It works nearly the same way as the telnet session to the configuration port, except that each command is transferred separately to the NC using UDP. The advantage is that you do not have to work interactively, you work with UDP instead of TCP, which avoids retries to network stations that are down. you must have the privileges for being successful - 'public' is a good community for reading... 6.5. IBM Software Releases IBM Has a special program for upgrades and documentation about the IBM Netststation releases. It includes CDs and printed documentation It can be ordered freely from IBM from the following url service.boulder.ibm.com/nc/pcserver/cd_order.shtml. (Thnx to Herman Bos (hermanb@xs4allnl) for this info) 6.6. NetworkStation Manager The NetworkStation Manager is a piece of software running on the boot server. It has a web interface and allows you to administrate all your NetworkStations from a single point. You can define users and groups and provide a customised desktop for each of them. This is required if you don't use a windowmanager provided by Linux. It basically works by parsing and writing the configuration files. However, Linux is not a supported plattform of this software. So as a workaround you have to change the configuration files by hand or have an OS/390, an AIX or a Windows NT do the job for you. Please be aware, that for the personalisation in users and groups of your NetworkStation Desktop, you need the login daemon running on your boot server. This daemon is not available on Linux. So personalisation has to be done by naming the configuration files according to the user sitting at the Station. There is an actual Redbook about the Network Station, Network Station Manager V2R1 , IBM PubNumber SG24-5844-00. For the use with Linux it may be helpful for you to read IBM Network Station - RS/6000 Notebook, IBM PubNumber SG24-2016-01. It explains the use with the RS/600 AIX System (an interesting flavour of Unix). 6.7. Configuration file statements Here are some configuration file statements that I found useful: set boot-prom-force-update = true With this setting, the Network Station will check for a new boot PROM (aka Firmware) and download it if available. set xserver-access-control-enabled = false Will allow all XClients to connect to the XServer running on that Network Station. 6.8. Printing There is a Redbook about printing, 'IBM Network Station Printing Guide', IBM PubNumber SG24-5212-00. Redbooks can be found at http://www.redbooks.ibm.com/ 6.9. PCMCIA Memory Cards I have tested memory cards manufactured by Centennial (IBM gives you a more complete list of memory cards that work with the NC). I recommend a minimum capacity of 20 MB. If you have less you will have less functionality on the card. Even 20MB is hardly sufficient. Once a NC is installed with a memory card it can serve as peer booting host for other NCs in its network vicinity. You need to connect to the file manager port 5996. Keep a eye on your access protections in your configuration files. If you use the memory card with the network station for the first time, you need to format it. You should mount it and export it. once you have exported it (showmount -e NC-IPaddr) you can mount it to your boot server (mount NC-IPaddr:/local /mnt) and transfer the setup directory( cp -r /usr/netstation/* /mnt). Be careful not to forget some necessary files, particularily some X11 files are needed. The full directory will not fit on the card. Avoid erasing on the chip card, claiming the freed space isn't easy and wastes space. For more detailed information you have place an PRPQ at IBM (whatever this means), contact some IBM representative or contact ANeuper@antaris.de the author of this paraphrase. 7. Credits Lots of thanks must go out to Wouter Cloetens, wcloeten@raleigh.ibm.com for getting me started , additional info from Boas Betzler, Andreas Neuper and Herman Bos and to Bart Geens ,Bart.Geens@advalvas.be for rereading this howto and findin uot lost of splelling errosr Also thanks to all the different people that wrote me with hints and help although I might have forgotten to include some of their comments, if you think your part is missing, please mail me ;-) 8. History o v0.98p14 19980222 First Release o v0.99p15 19990501 Some fixes o v0.99p16 19991004 Major updates including feedback from Boas Betzler, Andreas Neuper and Herman Bos o v0.99p18 19991226 Updates after feedback from readers.