Tips & Tricks
Network Installation
Introduction
About this Guide
This guide is intended to provide an overview on installing IRIX using images on a bootserver which can be an IRIX box but also a NetBSD or Linux machine. It will give a basic overviw on how IRIX boots via network and then show configuration examples for NetBSD. It closes with some hints on troubleshooting the installation processInstalling over Network
Installing IRIX via network is not too difficult as SGI computers only use standard protocols. Everything is pretty much standard and should work with any host as the server. Basically what is used is:
- bootp to obtain/confirm the network address
- tftp to actually boot the system
- rcp/rsh to copy the distribution sets
More detail
The Beginning
To obtain some basic information about itself the workstation uses BOOTP. On the side of the client nothing has to be known except the MAC address which is coded into the hardware. The bootp-server assigns all required information to the client based on the MAC address it is using.
If the bootserver is running IRIX using plain bootp is probably the way to go, for anything else DHCP might be a better solution as it covers both DHCP as well as bootp requests. And can be used to install other operating systems on other hardware platforms as well.
Booting the kernel
As soon as the system has obtained its network address and the address of the server it uses tftp to connect to the server. It will use either a user supplied path or one obtained by the bootp response to find the boot file appropriate for the systems architecture. It loads the kernel (or the sash) over the network and starts it.
Opening the distribution
If all has gone well the installation tools are copied to the harddisk of the client inst will start to proceed with the installtion. The distribuition sets will be retrieved using rcp from the bootserver. Again the path is either supplied by the user or taken from the bootp response.
Configuration
Short Overview
The following example configuration files are taken from a NetBSD server that is used to install IRIX machines from. Being from a BSD machine some adjustments may need to be made if you are planning on runing a bootserver on a more SystemV derived operating system (for example using Linux or IRIX).
In general the setup process is pretty easy. It includes setting up DHCP to get appropriate Bootp answers to the SGI and then allowing some additional services to allow file access to the installation directory.
NetBSD Examples
BOOTP/DHCP
The following is an full copy of a /etc/dhcpd.conf
file that contains
all data for one server (sigma
) and a single client (mira
).
This and all networking addresses has to be configured appropriately for the network
and the machines that are to be installed within it.
server-identifier sigma; default-lease-time 10; max-lease-time 1024; ddns-update-style ad-hoc; option host-name "sigma"; option routers 192.168.1.1; option subnet-mask 255.255.255.0; option time-offset 0; subnet 192.168.1.0 netmask 255.255.255.0 { option domain-name "localdomain"; } host mira{ hardware ethernet 08:00:69:09:59:eb; fixed-address 192.168.1.34; }
If you don't know the hardware address of the machine to be installed look either
for the barcode label on the machine or enter the Command Monitor and issue printenv
.
The PROM environment contains the eaddr
variable which equals the MAC
address of the system.
TFTP
Some OSes may have tftp enabled by default, on NetBSD it has to be activated by
removing the comment in /etc/inetd.conf
. The line can look like this,
but note that for security reasons it is a good idea to restrict access using the
-s
parameter (otherwise tftp allows unrestricted access to all files):
tftp dgram udp wait root /usr/libexec/tftpd tftpd -l
RCP
Some OSes may have rsh enabled by default, on NetBSD it has to be activated by
removing the comment in /etc/inetd.conf
. The line can look like this:
shell stream tcp nowait root /usr/libexec/rshd rshd -L
Additionally in /etc/hosts.equiv
the trusted hosts must be listed. On
a highly secure environment wildcards can be used as shown below, otherwise it is
highly recommended to name the allowed hosts and users explicitly (SGIs try root and
guest as users).
+ +
Starting the Installer
To activate the changes restart the inet
daemon by sending it SIGHUP if
you have modified /etc/inetd.conf
When you start the installer you can choose to install from a remote directory. You
then are prompted for the hostname of the server and the directory from which to install.
If the servers name is sigma
and the dist directory of the OS to be installed
is in /inst/6.2/cd1/dist
you enter just that. After this sash should be started
and finally inst should be invoked. From there the distributions can be opened (if neccessary)
using from sigma:/inst/6.2/cd2/dist
. Everything else should behave pretty much
the same way as it does when installing from CDs.
The basic installation tools can also be installed from inside the Command Monitor:
boot -f bootp()sigma:/inst/6.2/cd1/stand/fx.ARCS --x
, boot -f bootp()sigma:/inst/6.2/cd1/stand/sashARCS
and
the installation process is invoked by typing install -n
once the sash
has been successfully loaded. Note that paths and the appropriate
fx / sash versions have to be chosen depending on your configuration.
Troubleshooting
Short Overview
This chapter gives some information on typical problems that might arise in the process and gives hints on how to debug them. Tools that are quite helpful in this are tcpdump or Ethereal to watch the network traffic between the booting SGI and the bootserver.
Typical Errors
Permission Denied
If inst
cannot open the software distribution because it recieves a
permission denied error it's possible that no user guest
exists or is
not allowed to use rsh
. Check if the user exists and is allowed in
/etc/hosts.equiv
Connection Lost
If all is set up and the machine boots into inst
but then does refuse
to access the distribution with the message that the connection to the server is lost
a possible cause is that /bin/sh
is not appropriate for the installation
procedure (it could for example be a link to a bash). To fix this for the installation
move the existing /bin/sh
to /bin/_sh
as a backup and copy
or link /bin/ksh
to /bin/sh
. This may break some shell scripts
so in these cases a workaround has to be implemented.
Related Links
Websites
- Futuretech: Installing IRIX 6.5 across a Network - how to install from an IRIX server
- Obsolote: Installing IRIX via Network with a Linux Server - how to install from a Linux server