Please consider a donation to the Higher Intellect project. See https://preterhuman.net/donate.php or the Donate to Higher Intellect page for more info. |
IRIX Network Installation to a SGI Fuel
This article describes the (re)installation of the IRIX 6.5.28 operating system on a SGI Fuel. The installation is performed over a local network (LAN), using a SGI Indy workstation as installation server. The main focus of this article is to demonstrate the feature of driving inst using a pre-written command file instead of manually performing all needed software selection steps. Although the example specifically describes an IRIX 6.5.28 installation, the demonstrated methods will work with any 6.5.x installation. Just make sure you use a release that suits your hardware.
Server configuration
As an installation server, I'm using IRIX 6.5.22 on my Indy.
[indy]:/ $ uname -Ra IRIX indy 6.5 6.5.22m 10070055 IP22
The machine has the IP address 192.168.178.7
[indy]:/ $ ifconfig -a ec0: flags=8400c43<UP,BROADCAST,RUNNING,FILTMULTI,MULTICAST,IPALIAS,IPV6> inet 192.168.178.6 netmask 0xffffff00 broadcast 192.168.178.255 gfe1: flags=8400c43<UP,BROADCAST,RUNNING,FILTMULTI,MULTICAST,IPALIAS,IPV6> inet 192.168.178.7 netmask 0xff000000 broadcast 192.255.255.255 lo0: flags=8001849<UP,LOOPBACK,RUNNING,MULTICAST,CKSUM,IPV6> inet 127.0.0.1 netmask 0xff000000
The discs
A directory structure has to be created first. The chosen directory names can be different from this example, but they have to be consistent with the following steps:
[indy]:/ cd /usr2/6.5 [indy]:/ ls inst6528 6.5_foundation_CD_1 6.5_foundation_CD_2 6.5_development_libraries 6.5_onc3_nfs 6.5_development_foundation_1.3 6.5_MIPSpro_C_Compiler_7.4 .. .. .. fuel.install
The "inst6528" directory contains the complete content of all CDs of the .28 overlay media set. The structure looks like:
[indy]:/usr2/6.5/inst6528 $ ls dist installtools stand
Permissions
All the files have to be readable by the "guest" user, so make sure to set the permissions of all the needed files and directories accordingly. Either make "guest" the owner of the needed files
chown -R guest:guest /usr2/6.5
or grant read access for all users
chmod -R o+r /usr2/6.5
Now you have to make sure that your "guest" account is not locked and that it doesn't have a password by editing "/etc/passwd" accordingly. The line has to look similar to this one:
guest::998:998:Guest Account:/usr/people/guest:/bin/csh
If you see something like this
guest:*LK*:998:998:Guest Account:/usr/people/guest:/bin/csh
the account is locked!
Or:
guest:XOmXlVxyVdlA2:998:998:Guest Account:/usr/people/guest:/bin/csh
The account uses a password. Note: If you use "shadow passwords", which is not enabled by default on IRIX, you have to look into "/etc/shadow" instead of "/etc/passwd"
Needed Services
Now check /etc/inetd.conf and make sure the following services are not commented out:
- tftp
- bootp
- shell
By default all of these services are enabled.
In the line for the tftp service you have to add the name of the directory containing the files "/usr2/6.5"
tftp dgram udp wait guest /usr/etc/tftpd tftpd -s /usr/local/boot /usr/etc/boot /usr2/6.5
After changing this file, tell inetd to reread it with the command
/etc/killall -HUP inetd
Now open a 2nd shell and follow the SYSLOG:
tail -f /var/adm/SYSLOG
Don't close the terminal during the installation.
Firewall
If you have IPF enabled on the server machine you have to ensure that the ports for the needed services are open or grant complete access for the IP of the client.
pass in quick on gfe1 proto tcp from 194.15.95.14
Note: Make you're using the correct name of your interface here and don't forget to restart IPF. If you get problems later on, consider to just turn off (not recommend in a non public network environment) IPF completly during the installation.
Client configuration
Stop the booting process by pressing the esc key and enter the maintenance menu. Open the "Command Monitor" (or press button 5). Assign a temporary IP address to the machine by setting the following environment variable
setenv netaddr 192.168.178.14
The IP has to be in the same subnet as your install server. The next step is to load the "fx" program and create the needed partitions.
Disk partitioning
As usual you have to create a root partition first. To load the "fx" program over the network use the following command:
boot -f bootp()192.168.178.7:/usr2/6.5/inst6528/stand/fx.64 --x
Just some quick notes:
- Create a [ro]otdrive
- [re]size the partition and use some higher values for the swap disk. Otherwise you end up with only 128MB swap size
- Check if the [la]bel contains the bootfile=/unix entry in the bootinfo section. If not, create it
- Adjust disk parameters like CTQ, Write buffering etc. to match your needs
- [sy]nc the label
For detail information about creating a system disk take a look at Ian Mapleson's "Cloning A Root Disk" howto.
Close the program by selecting
fx> /exit
This brings you back to the maintenance menu.
Installing software
Press button 2 to enter the "Install System Software" menu. Choose "remote directory" and specify the name of the remote host by providing the IP address of your server (192.168.178.7). The name of the remote directory is the one which contains the "sa" file. In our case its "/usr2/6.5/inst6528/dist". Press the "install" button to load the installation tools.
In the SYSLOG of your install server you'll see the following message:
Apr 10 21:18:18 6D:indy bootp[1224835]: SGI bootp/dhcp Server V3.1.3 starting at Thu Apr 10 21:35:08 2008 Apr 10 21:48:20 6D:indy bootp[1220746]: reply to 192.168.178.14: boot file /usr2/6.5/inst6528/dist/sa Apr 10 21:48:22 6D:indy last message repeated 7 times Apr 10 21:48:53 6D:indy bootp[1220746]: reply to 192.168.178.14: boot file /usr2/6.5/inst6528/dist/miniroot/unix.IP35
Next you will likely be asked to provide IP address and hostname of the machine you are installing and to confirm the creation of a fresh XFS file system on the newly created root partition. Do so.
Since my FUEL always had a problem with the clock settings i have to verify the time and date settings before starting the actual installation.
Inst>admin date
If a wrong date or time is shown, set a new one.
Inst>admin date mmddHHMMYYYY
Command file
Now for the fun part. Instead of choosing the first menu option and going through the classical process of manual selecting all distributions to install we provide a simple ascii file describing all the needed steps.
Create the file "fuel.install" in the distribution base directory of your install server with the following or similar content:
from 192.168.178.7:/usr2/6.5/inst6528/dist open 192.168.178.7:/usr2/6.5/6.5_foundation_CD_1/dist open 192.168.178.7:/usr2/6.5/6.5_foundation_CD_2/dist open 192.168.178.7:/usr2/6.5/6.5_development_libraries/dist open 192.168.178.7:/usr2/6.5/6.5_onc3_nfs/dist6.5 open 192.168.178.7:/usr2/6.5/6.5_development_foundation_1.3/dist open 192.168.178.7:/usr2/6.5/6.5_MIPSpro_C_Compiler_7.4/dist open 192.168.178.7:/usr2/6.5/6.5_MIPSpro_Auto_Parallelizing_Option_7.4/dist open 192.168.178.7:/usr2/6.5/6.5_MIPSpro_Compiler_Execution_Environment_7.4/dist open 192.168.178.7:/usr2/6.5/6.5_MIPSpro_C_Compiler_7.4/dist open 192.168.178.7:/usr2/6.5/6.5_MIPSpro_C_plus_Compiler_7.4/dist open 192.168.178.7:/usr2/6.5/6.5_MIPSpro_Fortran_77_Compiler_7.4/dist open 192.168.178.7:/usr2/6.5/6.5_MIPSpro_Fortran_90_Compiler_7.4/dist open 192.168.178.7:/usr2/6.5/6.5_MIPSpro_update_7.4.4/dist open 192.168.178.7:/usr2/6.5/WorkShop_2.9.5/dist keep * install standard install sysadm_xvm install sysadm_base install sysadm_cluster.sw.client install eoe.sw.xvm install sysadm_xvm.sw.client install eoe.sw.xfsrt install eoe.books install eoe.sw.xlv install eoe.sw.xlvplex install license_eoe install license_dev install eoe.sw.uucp install eoe.sw.quotas install eoe.sw.ipv6 install eoe.sw.imagetools install eoe.sw.netman install eoe.sw.pam install eoe.sw.pam_dev install eoe.sw.terminfo install java2_plugin.sw32.mozilla_irix keep java2_plugin.sw32.mozilla_freeware keep java_dev.sw.base keep java_dev.sw32.binaries
now load this file on the target machine using the following sequence:
admin source 192.168.178.7:/usr2/6.5/fuel.install
As you can see we open a new distribution by using the following command.
- from 192.168.178.7:/usr2/6.5/inst6528/dist
All subsequent selection steps will now be performed as described in the command file without further interruption. Note that we didn't place a "go" command at the end of the command file. This way you still have a chance to add additional distributions before performing the installation. If you are done, check for any remaining conflicts by typing "conflicts". If none are remaining, just type "go" to start the actual installation.
After the installation finished, select
- 14. quit
Requickstarting ELF files .. Automatically reconfiguring the operating system. Ready to restart the system. Restart?{(y)es, (n)o, (s)hell,help}
Troubleshooting
Permission denied
If you are getting a "Can't connect to network.." message when trying to access the remote distributions from within inst, check the SYSLOG on the install server.
Apr 10 22:09:58 5E:indy rshd[1220813]: [email protected] as root: permission denied. cmd='exec /bin/sh' Apr 10 22:09:58 5E:indy rshd[1220823]: [email protected] as guest: permission denied. cmd='exec /bin/sh'
You'll get a "permission denied" message if you didn't remove the password of the user "guest". Ignore any message regarding failed root access. By default, inst will try to use the root account first before trying "guest".
File or directory not found
Check the spelling of the paths in the command file. Verify that all files have read permission for user "guest". Keep in mind that most packages are located in a subdirectory named "dist". The NFS CD is a special one because the distribution subdirectory is named "dist6.5" on this one.
Cant execute dsk(0,1,0)/unix
If the first attempt to boot the machine after the installation fails with the message telling you that the kernel (/unix) is missing, load the miniroot again and choose "admin shroot" to open a chrooted shell. Try a "autoconfig" to build a new kernel. If you get a message telling you that "/var/sysgen/boot" doesn't exist your installation is incomplete.
I ran into this problem when i tried to install the IPF package during a fresh Install of the system. But also without the package i got the problem. It was solved by running "autoconfig" after the installation and before "requickstarting" step.