Difference between revisions of "IRIX Network Installation from FreeBSD to an Octane"

From Nekochan
Jump to: navigation, search
(Server configuration)
(The network)
Line 31: Line 31:
For the IP addresses, I have the following configuration:
For the IP addresses, I have the following configuration:
{| border="1" cellpadding="20" cellspacing="0"
{| cellpadding="5" cellspacing="0" border="1"
!IP addr
!IP addr

Revision as of 08:33, 15 July 2007


The purpose of this article is to help people (re)install the IRIX 6.5.16 operating system on an Octane; the installation is made through a network (LAN), from a FreeBSD server.

Server configuration

As an installation server, I'm using FreeBSD:

# uname -r

It appears that FreeBSD 6.2 supports exactly the same configuration (thanks LoWen)

The discs

A directory structure has to be created. The chosen directories' names can be different, but they have to be coherent with the next steps:

# su -
# mkdir -p /tftpboot/IRIX6.5.16
# cd /tftpboot/IRIX6.5.16
# mkdir Overlays_1of4 Overlays_2of4 Overlays_3of4 Overlays_4of4 Foundation_1 Foundation_2 Applications

At this point, you can fill the directories with the content of the CDs. Just take care of copying the correct directory structure, by using the -R option of the cp command:

# cp -R /cdrom /tftpboot/IRIX6.5.16/Overlays_1of4
# cp -R ...

The network

For the IP addresses, I have the following configuration:

Hostname IP addr Netmask Purpose
desktop The installation server (aka the FreeBSD box)
octane The installation client (aka the IRIX box)

On the server, you'll have to get the three following programs run:

  • tftp
  • bootp:
  • rsh


In /etc/inetd.conf, add the following line:

tftp    dgram   udp wait    root    /usr/libexec/tftpd  tftpd -l -s /tftpboot

Here you see the importance of the creation of the /tftpboot directory...


In /etc/inetd.conf, add the following line:

bootps dgram udp wait root /usr/libexec/bootpd bootpd /etc/bootptab


In /etc/inetd.conf, add the following line:

shell   stream  tcp nowait  root    /usr/libexec/rshd   rshd -L

As Sash will run installation commands through rsh, the shell that will be invoqued must be the Korn Shell. Letting bash, csh or another shell just won't allow you to perform the installation. Adding ksh to your system can be easily done with the ports:

# cd /usr/ports/shells/pdksh/
# make install

This has added /usr/local/bin/ksh to your server. The problem is that Sash will request a Korn Shell, called sh, located in /bin, and that there is already a /bin/sh, which is used by the system to run boot scripts! So you'll have to replace the current /bin/sh:

# cd /bin
# mv sh _sh
# cp /usr/local/bin/ksh sh

At this point, the server may not boot correctly anymore!!! Be sure to undo the replacement before you reboot or shutdown this box, which can be done simply like that:

# cd /bin
# mv _sh sh 

When Sash connects to your server to perform the installation, it will invoque the rshd daemon as root or as guest. As I think that letting a unprotected root account being accessed isn't really a good idea, you should create a guest user account, if you don't have one yet. It can be easily done that way (of course, as root):

# pw useradd guest -g staff -G staff -m -w none

Now connect to this account (starting from root), and give it the permission to accept rsh logins:

# su - guest
\u@\h:\w> echo 'octane root' >> .rhosts
\u@\h:\w> exit

As the octane machine name has been used here, it has to be correctly resolved in /etc/hosts:

# echo -e "\t\toctane" >> /etc/hosts

And finally, as the last server configuration action, restart inetd:

# killall -HUP inetd

You're done!

Client configuration

Boot octane, and click on the 'Stop for Maintenance' button. There, go to 'Enter Command Monitor'. The best thing to do is to reset your environment, to start from a clean base, and set some variables:

>> resetenv
>> setenv -p notape 1
>> setenv -p netaddr
>> setenv -p srvaddr
>> setenv -p fxaddr bootp()$srvaddr:/IRIX6.5.16/Overlays_1of4/stand/fx.64
>> setenv -p tapedevice bootp()$srvaddr:/IRIX6.5.16/Overlays_1of4/dist/sa

Some short explanations:

  • setenv -p makes the setting remain after a reset/reboot
  • the name of the 'Overlays_1of4' and 'IRIX6.5.16' directories are to be coherent with the one you created when you copied the files from the CDROM to the server
  • variables can be reused, using the $ (dollar) character

Start the installation:

>> boot -f $fxaddr --x
Obtaining /IRIX6.5.16/Overlays_1of4/stand/fx.64 from server
2112+112208+27757+10872 entry: 0xa80000005fd3f0a0
SGI Version 6.5 ARCS BE64  Apr 10, 2002
fx: "device-name" = (dksc) 
fx: ctlr# = (0)
fx: drive# = (1) 
...Opening dksc(0,1,0)
...drive selftest...OK
Scsi drive type == SEAGATE SX173404LC     BD12

----- please choose one (? for help, .. to quit this menu)-----
[exi]t         [d]ebug/         [l]abel/         [a]uto
[b]adblock/    [exe]rcice/      [r]epartition/

Here, answer the questions: if the hard disk you're planning to install IRIX on is the first internal hard disk (which means that it is settled in the lower internal hard disk bay, just above the light bar), then the default propositions are OK. Otherwise adapt the parameters to your configuration: for example, the controller (ctlr) #1 is for the external scsi devices (the connector behind the octane), the drive number corresponds to the position it occupies on the scsi channel, ...

Now we can partition the drive with fx:

fx> r
fx/repartition> ro ['xfs', and validate with 'y']
fx/repartition> re ['swap' partition, work in megabytes, size of '512', and validate with 'yes']
fx/repartition> ..
fx> l
fx/label> c
fx/label/create> a
fx/label/create> ..
fx/label> sy
fx/label> /exit

Some explanations:

  • line 2: we're creating a root partition, which means that everything will be install on this single partition; the size of the swap partition a automatically choosen
  • line 3: the size of the swap partition is increased to 512 MB; I've read somewhere that changing the partitions' geometry removed the risks that fx considers that there haven't been any changes made to the disk, and so that the final synchronization isn't correctly run [I don't know much about that subject]
  • line 9: the changes to the partitions' geometry are written to the disk

At this point, the Octane must have rebooted. When arriving on the boot menu, click on Enter Command Monitor.

Start the proper installation from the client like that:

>> boot -f $tapedevice(sash64)
Obtaining /IRIX6.5.16/Overlays_1of4/dist/sa(sash64) from server
896+111372+16725+3848 entry: 0xa80000005ffa6d5c
Standalone Shell SGI Version 6.5 ARCS  Apr  4, 2002 (64 Bit)

The installation is really started only now:

sash: install

A graphical progress bar must now have shown up, saying Copying installation tools to disk. Some more bla-bla, and now you have to enter the IP address of the IRIX box:

What is the network addressof IRIS?
What is the netmask for
Press Enter for the IP class default [0xffffffff00]:
Starting network with hostname: IRIS, at ip address:
TFTP failure: get: /IRIX6.5.16/overlays_1of4/dist/miniroot/unix.IP30 /unix

Default distribution to install from: .......

Do not care about the TFTP failure: it is normal, as the path of the installation data has to be changed. Now let's change the hostname:

Inst> 13
Admin> 12
What is the hostname (system name) of your machine? octane
Starting network with hostname: octane, at ip address:


Now, let's format the newly created partition:

Admin> 11
      Are you sure you want to clean your disks ?
                 { (y)es, (n)o, (sh)ell, (h)elp }: y

WARNING: There appears to be a valid file system on /dev/dsk/realroot/ already.
Making a new file system will destroy all existing data on it.

Make new file system on /dev/dsk/realroot? yes
Reading product description .. 100% Done.

Admin> ..

To ensure that the connexion between the installation client and its server is correct, you can follow the connexions to the server, by tailing the right log file on the server:

# tail -f /var/log/auth.log

Now let's start reading the sources for the installation:

Inst> 1
Previous installation site:
Install software from: []
Connecting to ...
Connecting to ...
Select appropriate software stream to install.
Before you install an intermediate release, you must select
new stream requires reinstalling portions of the IRIX operatin system.
1. Place me on the maintenance stream.
2. Place me on the feature stream.
3. Cancel
Please enter a choice [1]: 2
Install software from: [] 

Some explanations:

  • When specifying the path of the files on the installation server, don't forget to give the full path, including the top /tftpboot directory
  • The two connexions to are explainable by looking in the /var/log/auth.log file on the server:
Jul 15 01:38:51 desktop rshd[946]: root@octane as root: permission denied (authentication error). cmd='exec /bin/sh'
Jul 15 01:38:51 desktop rshd[948]: root@octane as guest: cmd='exec /bin/sh'
The first connexion is made from a root account, which isn't allow in our configuration (remember, in /usr/home/guest/.rhosts, we mentioned that only root account on a box called octane could connect through rsh to the guest account)

The next step is to do with Overlays_2of4, Overlays_3of4, Overlays_4of4, Foundation_1, Foundation_2 and Application the same thing as we did with Overlays_1of4

Once that's done, finish reading the installation sources:

8 done (distribution information read, return to inst prompt)

Install software from: [] 8

Inst> keep *

Inst> install standard

Inst> install prereqs
No matches for "prereqs" were found

Inst> conflicts
No conflicts

Inst> go
Reading fileset information .. [...]

Now, it's time for a coffee (aka long pause)...

After a few minutes, there should be an error:

appletalk.sw.xinet_base: ( if test 'grep ksd $rbase/var/adm/appletalk/services
| wc -l` -eq 0; then echo "# Start K-AShare Server\\n/usr/etc/appletalk/ksd -f
-o -i X/usr/bas/hostnameX" | tr X \\140 >> $rbase/var7adm/appletalk/services; f
i )
/bin/sh: tr:  not found
ERROR: An error occurred while:
    Installing new versions of selected appletalk.sw subsystems
Command "( if test `grep ksd $rbase/var/adm/appletalk/services | wc -l` -eq 0;
then echo "# Start K-AShare Server\\n/usr/etc/appletalk/ksd -f -o -i X/usr/bsd/
hostnameX" | tr X \\140 >> $rbase/var/adm/appletalk/services; fi )" failed (ret
urn status 127, subsystem appletelk.sw.xinet_base 1430002000)

Error/Interrupt Menu

 1. retry
 2. stop
 3. continue

Interrupt> 3

Just continue... Time for another coffee !

When the installation is over, quit to launch requickstarting:

Inst> quit
Requickstarting ELF file (see rqsall(1))[...]
Automatically reconfiguring the operating system.
Ready to restart the system. Restart? { (y)es, (n)o, (sh)ell, (h)elp }: y
Preparing to restart system

Now the system should boot!