HOWTO: IRIX Network Install using Ubuntu

Northsky

Reindeer Whisperer
Feb 8, 2019
23
26
13
This guide is based on an older guide, but with more modern tools. I have compiled this from my notes of installing IRIX 6.5 on my SGI O2 and hope this'll be useful for those opting to manually install IRIX without the booterizer.

Requirements
  • Ubuntu 16.04.5 LTS Server (either physical computer or VM bridged to the same network as the SGI computer you want to install IRIX on)
  • IRIX 6.5 installation media (Tarballs. Using disc images should also be possible, see the older guide)
Configuration

Installing needed software packages. Screen might already be installed by default.
Code:
sudo apt-get install build-essential tftpd rsh-redone-server mksh screen
Replace 192.168.0.2 with the IP you are planning to use with the SGI computer for installation.
Code:
sudo echo 192.168.0.2 client >> /etc/hosts
These following settings do not persist after reboot. Use sysctl.conf if you need the settings to persist after reboot.
Code:
sudo echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc
sudo echo 2048 32767 > /proc/sys/net/ipv4/ip_local_port_range
Add users:
Code:
sudo adduser sgi
sudo su - sgi
echo client root > .rhosts
Add password to the user when asked. It is important to not leave the password blank.

While still logged on as user sgi, move installation media files to /home/sgi. I used wget to download the files from a local FTP server. I extracted the files to folders using following naming conventions:
  • o1, o2, ... for overlays
  • ap for applications
  • f1, f2 for foundations
Now you can return back to the main user by hitting CTRL-D.

Change sgi user's shell to mksh (needed for RSH to work):
Code:
sudo chsh -s /bin/mksh sgi
Create configuration for TFTP server:
Code:
sudo nano /etc/xinetd.d/tftp
Code:
service tftp
{
  protocol = udp
  port = 69
  socket_type = dgram
  wait = yes
  user = sgi
  server = /usr/sbin/in.tftpd
  server_args = -s /home/sgi
  disable = no
}
Create configuration for RSH server:
Code:
sudo nano /etc/xinetd.d/rsh
Code:
service shell
{
  socket_type = stream
  protocol = tcp
  wait = no
  user = root
  log_on_success += USERID
  log_on_failure += USERID
  server = /usr/sbin/in.rshd
  disable = no
}
Create configuration for rlogind:
Code:
sudo nano /etc/xinetd.d/rlogind
Code:
service login
{
  socket_type = stream
  protocol = tcp
  wait = no
  user = root
  log_on_success += USERID
  log_on_failure += USERID
  server = /usr/sbin/in.rlogind
  disable = no
}
Code:
sudo service xinetd restart
Set up rsh for passwordless login:
Code:
sudo echo client root > /etc/hosts.equiv
There exists a simplified BOOTP daemon for the purpose of installing IRIX. The package can be downloaded here. The daemon will be run as root and in GNU screen (optional). Remember to read the README file provided by the bootp tar.gz package and edit the source code accordingly before running make.

Code:
sudo su
cd
screen
wget http://www.ifora.org/sgi/bootp.tar.gz
tar -zxf bootp.tar.gz
cd bootp
nano bootpd.c # edit configuration before compiling
make
./bootpd |tee bootpd.out
Press Ctrl+a and then d to detach the screen and leave the bootpd running in background.

Installation

  • Boot into PROM by hitting ESC multiple times while turning on the computer.
  • Enter Command Monitor and configure the IP address of the client:
    Code:
    setenv netaddr 192.168.0.2
    • Optional, configure the IP address of the server (Editor's note: My Indigo R3K required this):
      Code:
      setenv srvaddr 192.168.0.1
  • Boot into the disk partitioning software and partition your disk (the path is relative to /home/sgi in the server, first overlay contains the partitioner):
    Code:
    boot -f bootp():/o1/stand/fx.ARCS
    • Editor's Note: My Indigo R3K required using fx.IP12 instead of fx.ARCS. For more, consult this.
  • After finishing with partitioning, return to the PROM main menu.
  • Select 'Install System Software'
  • Select 'Remote Directory'
  • Enter the IP of the Linux server (eg. 192.168.0.1)
  • Enter /o1/dist as directory
  • Click 'Install'
If all went well, you should now be at Inst console. To erase the hard drive and format it with XFS:
  • Enter 13 to select Admin menu
  • Enter 11 to select mkfs
  • Confirm with 'y' and when done enter '..' to return to main Inst menu
To begin installation, run:
Code:
open sgi@192.168.0.1:o1/dist
Answer all the prompts and when asked for more distributions add them as follows:

Code:
sgi@192.168.0.1:o2/dist

...
After adding every distribution that you want to install, run:

Code:
done
keep *
install standard
install prereqs
Before continuing, check if there are any conflicts and if there are solve them:

Code:
conflicts
After solving conflicts, begin installation with selected distributions:

Code:
go
When the installation returns to the inst console, enter 'quit' and after requickstarting of ELF files is finished enter 'y' to reboot into the newly installed system.
 
Last edited:

neilo40

New member
Jul 28, 2020
2
3
3
Just wanted to thank you for this guide. I just ran through it on an R4K Indigo using Ubuntu 20.04 and it worked a treat.
 
  • Like
Reactions: Northsky

indigofan

Member
Jun 8, 2020
64
22
8
Any of the commands that require echo, I get a permission denied error. Spefically on these commands:


sudo echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc
sudo echo 2048 32767 > /proc/sys/net/ipv4/ip_local_port_range

What's the workaround on Linux?
 

indigofan

Member
Jun 8, 2020
64
22
8
Any of the commands that require echo, I get a permission denied error. Spefically on these commands:


sudo echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc
sudo echo 2048 32767 > /proc/sys/net/ipv4/ip_local_port_range

What's the workaround on Linux?
sudo su and authenticating allows me to run the commands, have gone through this multiple times, both machines are visible in the route table in my router, but I keep getting stuck with this:


IMG_5660.jpg
 

praetor

New member
Apr 26, 2019
22
11
3
fantastic write-up!!! But, in your /etc/xinet.d files, you need to add "flags = IPv4" or else it will default to binding to ipv6 ports. That was the only issue I ran into on 22.04
 

About us

  • Silicon Graphics User Group (SGUG) is a community for users, developers, and admirers of Silicon Graphics (SGI) products. We aim to be a friendly hobbyist community for discussing all aspects of SGIs, including use, software development, the IRIX Operating System, and troubleshooting, as well as facilitating hardware exchange.

User Menu