latest posts

Silicon Graphics Onyx2

Intro

Those following my blog for some time know my passion for Silicon Graphics machines. After having picked up a Silicon Graphics Onyx 2 last fall I finally had some time to get the "big iron" up and running. The Onyx 2 is interesting in that it is the one of the last "board" based deskside graphics machines. Following the Onyx2 the only comparable workstation would be the Tezro offering up to 4 R16000 1ghz CPUs and a 128mb V12 Odyssey graphics card. My specific Onyx2 CPU wise was nearly maxed out with 4 400mhz R12000 MIPS cpus and completely maxed out in ram at 8gb. Graphics systems wise it was pretty low end. It came with a DG5-2, GE14-2 and 1 RM8-16 Raster Manager, effectively making it a Reality graphics system. Fortunately eBay in time had a DG5-8, GE16-4 and 2 RM10-256 boards for extremely cheap so after swapping the boards I now have an InfiniteReality3 system. The InfiniteReality4 (the last generation) only differs by offering the RM11-1024 (1gb of texture memory) versus the 256mb per board I have in the RM10s in addition to Pixel Fill Rate differences of nearly double.

Silicon Graphics Onyx2 - GE14-2
Geometry Engine (GE) 14-2

Silicon Graphics Onyx2 - GE16-4
Geometry Engine (GE) 16-4

Silicon Graphics Onyx2 - RM8-16
Raster Manager (RM) 8-16

Silicon Graphics Onyx2 - RM10-256
Raster Manager (RM) 10-256

Like most of the machines I have gotten second hand they come with the original slower scsi drives. This Onyx2 came with the original 9gb IBM Ultra-Wide SCSI 2 hard drive with IRIX 6.5.8 on it. Knowing from the listing the cd-rom drive was faulty, I simply copied all of the IRIX 6.5.30 cds over NFS to upgrade it. After which like I had done with my Silicon Graphics Origin 300 back in 2012. For those inquiring I chose to my goto Ultra 320 SCSI Drive, the Maxtor Atlas 15K II. Silicon Graphics Onyx2 - Original Harddrive
Silicon Graphics Onyx2 - Replacement Harddrive

A look at my Onyx 2 all wired up, note this was before I swapped in the DG5-8:

Silicon Graphics Onyx2 - Back wired up

I should note anyone curious getting an Onyx2, you should keep it in a cool place or outside of a bedroom as the fans (which are temperature controlled) when in full speed are quite loud.

Benchmarks

Knowing one of the first things I do after getting a new system up and running is benchmarking it with my own cross-platform CPU benchmark, jcBENCH. Wanting to compare the R12000 and R14000 architectures, specifically with my goto 4xR14000 600mhz Silicon Graphics Origin 300 I ran jcBENCH. Surprisingly with the extra 200mhz (50% increase) and enhancements the R14000 MIPS cpu brought, my Origin 300 is over 3 times faster in both integer and floating point tests.

Since I had never had an InfiniteReality system before I wanted to test it with something semi-recent such as Quake 3. Knowing it was not optimized for gaming, let alone optimized for IRIX I was still intrigued.

For my Quake 3 benchmarks I used the neko_quake3-1.36.tardist release leaving everything on the highest settings except filtering which I left on bilinear. For each test in Quake 3 the only things I changed were the resolution and bit depth. No other processes were running.

Silicon Graphics Onyx2 - Quake 3 Benchmarks

The results were pretty interesting. Being on just a step down from the highest end cpu I figured the performance might actually be better with the InfiniteReality3 installed. If anyone reading this has an IR3 and 4xR14k Onyx2 please run the same tests and let me know your results. Overall the biggest jump was swapping the RM8-16 with an RM10-256, especially when using 32bit bit depth. What I found most interesting is the addition of a 2nd RM10-256 and swapping out the GE14-2 for a GE16-4 brought upon diminishing returns. This leads me to believe at that point Quake 3 became CPU limited with my 400mhz R12000s. Knowing that this particular build is single threaded I am curious how my 600mhz R14k Fuel with a V10 would perform in comparison (a test I will do in the coming weeks).

Closing Thoughts

For a machine that if bought new in May 2001 would cost $252536 (per this pricing sheet), I feel as though I have a piece of history that for a time blew away what was delivered by the PC and Mac worlds. Based on my own research comparing systems with PCs of the time (and other workstation manufacturers like DEC and Sun), the Onyx2 was one of the last extremely competitive offerings Silicon Graphics had. One could argue the Octane 2 was the last. Companies like 3dfx (interestingly enough had several Silicon Graphics employees) and AMD drove the PC industry forward with their Voodoo and Athlon products respectively; the "death of the workstation" so to speak.

Going forward with the Onyx 2 I hope to add some Onyx 2 specific optimizations to the ioquake3 project taking advantage of the Silicon Graphics OpenGL extensions that could speed up rendering. Along this path I would also focus on V10/V12 optimizations to bring Fuel and Tezro machines a more optimized experience.
Going back to my initial Silicon Graphics Indy post, I was able to procure an R5000SC 180mhz and the 2 board XZ graphics option (along with a spare chassis/node board). These 2 components coupled with the 256mb of ram and the Maxtor ATLAS 15k II U320 drive I already owned, I have acquired the "ultimate" Silicon Graphics Indy.

The R5000SC 180mhz CPU board: Silicon Graphics Indy R5000SC 180mhz CPU board

XZ Graphics board: Silicon Graphics Indy XZ board

The problem I was not aware of until I was about to swap my older R4400 cpu is that you need a specific PROM version in order to run the newer R4600 and R5000 CPUs. In checking my PROM, I came across one of the original versions (version 4) going back to 1993: Silicon Graphics Indy Old Prom

In order to use a R5000 in an Indy you need version 11, which as it happens I have in the newer node board from 1996: Silicon Graphics Indy New Prom

In the end I swapped out the ram from my R4400 Indy, put a "new" Maxtor Atlas 15k II 73gb Ultra 320 drive in the R5000 chassis and started a fresh install of Irix. One might ask why I didn't just take the drive out of my old system, the answer is that the R4400 is the MIPS3 generation of CPUs and the R5000 and above is MIPS4 generation. As noted in my initial post, by having an R5000 I can make full use of the nekoware archive.

Performance wise how does it compare?
Integer Performance: 596.206 (R4400) 225.467 (R5000)
Floating Point Performance: 797.860 (R4400) 1053.990 (R5000)

Integer performance is considerably faster, about equivalent of my old AMD Phenom II P920 1.6ghz notebook CPU, but floating point (probably due to half the L2 cache of the R4400) is roughly 24% slower. With most gaming/graphics operations being floating point based one could argue depending on the application a R4400 200mhz model might be faster than the R5000 180mhz cpu.

Brief Introduction

The Silicon Graphics Indy workstation was originally released in late 1993 starting at $4,995. For that price you received a diskless 100 MHz R4000 Indy, 32mb of a ram, the base 8bit graphics card and a 15” monitor. A more reasonable configuration: 64mb of ram, 1 GB hard drive, flooptical drive, 24bit XL graphics card and external CD-ROM was $23,695 at launch. I should note, standard features on the Indy included an ISDN modem, 10baseT Ethernet, four channel stereo sound card and composite video & s-video input, pretty advanced for the time especially compared to the Apple Mac Quadra.

Silicon Graphics Indy - Front
Silicon Graphics Indy - Back

My Story - Initial Hardware Setup

I actually received my Indy way back in May 2012 for a whopping $37 shipped with no hard drive and no memory, while having the R4400SC 150 MHz CPU and 8bit graphics. The SC in the R4400SC, stands for Secondary Cache. Commonly you will find the R4000PC and R4600PC on eBay which lack the L2 cache.

Silicon Graphics Indy - Boot Menu
Silicon Graphics Indy - hinv
Luckily the Indy takes 72 pin FPM memory that was pretty standard back in 1993 when it was first released, this made finding compatible working ram on eBay much easier. The Indy has 8 slots and supports up to 256mb of memory (8x32mb), which I was able to find for < $10.

Knowing I would be using this at some point for at least some vintage SGI Doom I also picked up the 24bit XL Graphics Option for $20 later in May 2012, hoping I would get the R5000 180 MHz CPU (more on this later).

Fast forward to January 23rd 2014, I was cleaning up my office after work and noticed the Indy sitting on top of my Prism and decided to invest the time in getting it up and running.

Little did I know all of the spare Ultra 160 and Ultra 320 SCSI drives I had laying around either were dead or didn’t have the backwards compatibility to SCSI-2 which the Indy utilizes (I didn’t realize some manufacturers dropped SCSI-2 support in the U160/U320 era). Luckily, I just purchased several Maxtor ATLAS 15k II 73 GB U320 drives (Model #8E073L0) for use in my Fuel, Tezros, Origin 300s and Origin 350. Maxtor ATLAS 15k II Ultra 320 Drive
Realizing it was a long shot, I put one of those in the Indy (with an SCA->50pin adapter I got off of eBay for $2) and the Indy recognized it without any problems. Granted the SCSI-2’s 10mb/sec bus limits the outbound and inbound bandwidth the drive has (I had previously benchmarked it around 95mb/sec of actual transfer speed), fluid dynamic bearing motors (virtually silent), the 3.5ms access time and internal transfers far outweigh trying to find an “original” SCSI-2 drives, which I might add often go for $40+ on a Seagate 5400pm 2gb drive. I should note the Seagate Cheetah 15k.3 18 GB U320 (Model #ST318453LC) and the Fujitsu 18 GB U160 (Model #MAJ3182MC) drives did not downgrade to SCSI-2.

I should note, my Indy randomly refused to boot (no power to even the power supply fan). Apparently this was a common problem with the initial power supplies from Nidec. The later Sony models didn’t have this problem, but had the problem of not running the fan 100% of the time, instead only when the temperatures hit a high point. Some folks have modified their Sony power supplies to keep the fan on 100% of the time, I did not as I only really use the Indy in the basement where the hottest it gets is about 69’.

Silicon Graphics Indy - Nidec
A solution I found was to disconnect the power cable for a good 20-30 minutes and then try again. 9 times out of 10 this worked and the system had 0 issues booting into IRIX and maintaining it. So before you run out to buy a “new” power supply of eBay try this solution out. These are 20-21 year old machines afterall.

My Story – Getting IRIX Installed

Having installed IRIX now on a Fuel, Tezro and an Origin 300 I am well versed in the process. For those who are not, checkout this howto guide (http://www.futuretech.blinkenlights.nl/6.5inst.html), it is very detailed and should be all you need to get going. This assumes you have IRIX 6.5.x. Depending on which workstation/server you have, you might need a higher version. 6.5.30 is the latest version of IRIX released, however those typically go for $300+ on eBay. I highly suggest simply getting some version of 6.5 and downloading the 6.5.22m tar files off of SGI via their Supportfollio (this is free after registration).

In my case, the Indy is so old that any version of 6.5 is acceptable, though I wanted to get it to 6.5.22m so I could utilize nekoware. Nekoware is a community project where several contributors compile typical open source software like bash, Apache, MySQL, PHP etc. for MIPS/IRIX. You can download the tardist files here (http://nekoware.dustytech.net/index.php?path=current/) (a tardist is similar to a rpm if you’re coming from a Linux background).

I should note, if you install from an older IRIX 6.5.x release (prior to 6.5.22m) you need to install Patch 5086 (available via the Supportfollio for free) prior to the upgrade.

Another question that might arise especially for those installing to an Indy, I pulled out the DVD-ROM Drive (SCSI-2 50pin) from my Silicon Graphics Fuel to install IRIX. For newer systems that utilize SCA like an Octane or Origin 3x0, you could use a 50pin -> SCA adapter with the drive or do as I did with my Origin 300 a while back and setup a VM of DINA. Basically this allows you to install IRIX over the network to your hardware. After installation before continuing I highly recommend you clone your drive and keep it locked away in case you ever accidentially mess up your installation of if your hard drive dies. Depending on the speed of your system, you could have just invested several hours of time. Cloing a disk is very easy in IRIX, simply follow this guide (http://www.sgidepot.co.uk/disksfiles.html#CLONE). I had done it myself previously on my Origin 300 and it only took about 10 minutes. For my Indy for those curious, it took about 20 minutes.

My Story – Post IRIX Installation

After installation my first step was to get nekoware installed, I typically install the following (including the dependencies for them):
  • BASH
  • OpenSSH
  • wget
  • SDL
  • Firefox
  • GCC
  • Nedit
  • rdesktop
  • Samba
  • Subversion
There’s countless others, but those are the essentials that I utilize very frequently. Depending on your system, the installation (especially of GCC) could take some time so be patient. Something to note, if you have an R4x00 CPU you need to utilize the MIPS3 tardists, however if you have an R5000 Indy you can use the MIPS4 variations. At some point it seems contributors to nekoware for MIPS3 trickled off so you’ll more than likely be compiling from source for most things. As I compile stuff I’ll start contributing to my local repository as well.

What’s Next?

I’ve been on a hunt for an R5000 180 MHz CPU or at the least a 150 MHz variant so I can be close to the highest end Indy available.

As for its use, I plan to start on the MODEXngine project now that I have a pretty clear multiplatform architecture.

In addition I want to use it as test bed for writing efficient C++, in a future blog I will be focusing on laziness of programmers (not all, but many) that I feel the commodity PC hardware of today has gotten so fast and cheap that programmers don’t consider efficiency or writing with performance in mind.
As noted in my last Silicon Graphics Prism post, I had some spare nodeboards from Silicon Graphics Altix 350 systems I had collected over the years. Thankfully they are drop in compatible.

The nodeboard in question that I am swapping with my original Dual 1.3ghz/3mb Itanium 2's has Dual 1.5ghz/6mb Itanium 2 CPUs:
Silicon Graphics Prism Dual 1.5ghz Nodeboard

Prism Chassis without nodeboard:

Silicon Graphics Prism Empty Nodeboard

A key thing to note is after swapping the nodeboard, ensure the light is turned on close to where the screws on the left hand side are:
Silicon Graphics Prism connection light

If you don't see this light turned on or are getting unusual errors after the swap during post, make sure the 3 screws are secure. I received the following upon booting with a semi-connected nodeboard:

Silicon Graphics Prism nodeboard connection errors

Also, after the swap the date seemed to have reset to 1998 which caused SLES9 to hang here during boot on Setting up the CMOS clock:
Silicon Graphics Prism CMOS Error upon booting up

A simple fix for this is to use the EFI Shell and execute a date command like so:
[bash] date 09/28/2013 [/bash] Then type exit and SLES9 should boot without issue.

So after all of that, how does it compare in jcBENCH performance?
[bash] jcBENCH 0.6.522.0826(ia64/Linux Edition) (C) 2012-2013 Jarred Capellman CPU Information --------------------- Manufacturer: GenuineIntel Model: Itanium 2 Count: 2x1500.000000mhz Architecture: IA-64 --------------------- Running Benchmark.... Integer: 54.7224 seconds Floating Point: 103.501 seconds [/bash] Looking back to my Dual 1.3ghz benchmarks, Integer and Floating Point performance is 14% faster. Given the ~14% clock speed boost and twice the Level 2 Cache I expected more, but as it is largely a un-real world benchmark, take it for what you will.

What's next for my Silicon Graphics Prism? I've got an LSI Megaraid SATA Controller and a Dual 1.6ghz nodeboard to swap in next.
Showing it's age again, my SLES 9 SP3 installation didn't have any bundled packages for Subversion, my source control of choice. Wanting to really start on my ia64 development inconjunction with my Win32 and IRIX I started my search for a precompiled RPM.

Sadly the only one I could find was version 1.1.4 and it had several dependencies that I couldn't seem to find matches for anywhere. The only solution I could think of was to donwload the source rpm (available in the link mentioned above) and compile it myself.

Luckily one of the dependencies neon was also available on that same server here. Simply install with a rpm -i neon-0.24.7-6.1.1.ia64.rpm.

Next up was actually compiling Subversion - which is where it got more interesting.

After running ./autogen.sh, I ran ./configure from within my newly installed Subversion source code only to get this warning: [shell] configure: WARNING: Detected SWIG version 1.1 (Patch 5) configure: WARNING: This is not compatible with Subversion configure: WARNING: Subversion can use SWIG versions 1.3.19, 1.3.20, 1.3.21 configure: WARNING: or 1.3.24 or later [/shell] SLES SP3 apparently only has 1.1 (Patch 5) bundled with it, but fortunately the source code is readily available for SWIG. Keeping the age of Subversion 1.1.4, I chose to download 1.3.2.4 from SourceForge, extracting it with the following commands:

[shell] Gunzip swig-1-3.24.tar.gz tar -xvf swig-1.3.24.tar [/shell] And then:

[shell] ./autogen.sh ./configure make make install [/shell] After re-running the configure for Subversion, I was pleasantly surprised to find everything compiled and installed properly. Unfamiliar with how to package my own rpm (it's on my todo list), the only thing I can provide folks is locally hosted direct links to the files you'll need:
swig-1.3.24.tar.gz
neon-0.24.7-6.1.1.ia64.rpm
subversion-1.1.4-1.1.src.rpm

For those curious I've checked-out, updated and committed to a SVN 1.8.1 server without any issues. So for those running the latest svn server and were wondering how far back of a client it would support - you are good to go, at least for now.
A big thanks goes to jan-jaap on the Nekochan Forums for pointing out you can, if you're only doing non-commercial development. This license applies to x86 and AMD64 as well.

First, go to Intel's site to register an account (it doesn't work in IE 11 at least in the Windows 8.1 Preview).

Second, you'll receive an email with your license key, be sure to keep this handy as the installation requires it to activate.

After clicking the download button in the email, then click Additional downloads, updates and versions.:
Intel Cpp Suite
And then select Intel C++/Fortran Compiler 11.1 Update 9. As of this writing the file is l_cproc_p_11.1.080_ia64.tgz.

After downloading it, extract it and run the install.sh:
[shell] tar -zxvf l_cproc_p_11.1.080_ia64.tgz ./install.sh [/shell] The install process is pretty trivial - afterwards you'll have access to the Intel C++ compiler installed to /opt/intel/Compiler/11.1/080/bin/ia64 (assuming you installed it to the default folder).

To compile with the Intel Compiler just call icc. At this point it would make sense to add the Intel Compiler to your PATH.

Hope it helps someone out - I would highly suggest if you have any inclination of doing ia64 development, to get it downloaded now before it becomes unavailable at some point.

Introduction

Back in May of this year I purchased a Silicon Graphics Prism. I had been looking to obtain one since January when one went for next to nothing on eBay. While not being a big fan of Intel based machines let alone ia64 – the machine itself, similar to the pinnacle of SGI’s MIPS line, the Tezro (which I love and detailed in my Dual to Quad upgrade here) intrigued me enough to want to play with it.

What is it?

Silicon Graphics Prism (Front)

Silicon Graphics Prism (Mainboard)

Silicon Graphics Prism (Nodeboard)

Silicon Graphics Prism (AMD FireGL X3 Cards)

The system itself for those unaware, the Silicon Graphics Prism supports:
-Up to 2 1.6ghz Itaniums with 9mb of cache
-Up to 24gb (12x2gb) of DDR (Registered/ECC)
-Dual AMD FireGL X3 (X800 256mb) AGP cards (yes – it has 2 AGP 8X slots)
-4 64bit PCI-X buses spread across 8 64 bit 133mhz PCI-X slots (1064 mb/s)
-4 USB 2.0 ports
-Built-in copper gigabit
-2 3.5” SATA I bays

Step One - Bypassing the EFI Password

My Prism unfortunately didn’t come with a hard drive and what made matters worse – the EFI (the newer replacement for the traditional BIOS) had a password preventing any action after bootup.

After digging through virtually piece of documentation I could find and resorting to posting on the Nekochan Forums for some ideas – one poster suggested clearing the NVRAM or pulling the battery. Unfortunately as it turns out the battery is soldered to the node board. Thus leaving it to the highly undocumented POD (Power On Diagnostics) mode over the L1 Controller (Serial connector on the back of the Prism). [shell] EFI Boot Manager ver 1.10 [14.62] Partition 0: Enabled Disabled CBricks 1 Nodes 3 0 RBricks 0 CPUs 2 0 IOBricks 1 Mem(GB) 16 0 Password not supplied -- keyboard is locked. Seg: 1 Bus: 0 Dev: 1 Func: 0 - SGI IOC4 ATA detected: Firmware Rev 83 Ata(Primary,Master) MATSHITADVD-ROM SR-8178 PZ21 Seg: 1 Bus: 0 Dev: 3 Func: 0 - Vitesse Serial ATA detected: Firmware Rev 1 Sata(Pun2,Lun0) Hitachi HDS72105 JP2OA50E JP1532FR32P54K Broadcom NetXtreme Gigabit Ethernet (BCM5701) is detected (PCI) EFI Boot Manager ver 1.10 [14.62] Partition 0: Enabled Disabled CBricks 1 Nodes 3 0 RBricks 0 CPUs 2 0 IOBricks 1 Mem(GB) 16 0 Loading device drivers EFI Boot Manager ver 1.10 [14.62] Partition 0: Enabled Disabled CBricks 1 Nodes 3 0 RBricks 0 CPUs 2 0 IOBricks 1 Mem(GB) 16 0 Please select a boot option SUSE Linux Enterprise Server 11 SLES10 SLES10_bak EFI Shell [Built-in] CDROM Disk2SLES Boot option maintenance menu Use ^ and v to change option(s). Use Enter to select an option Loading: SUSE Linux Enterprise Server 11 Load of SUSE Linux Enterprise Server 11 failed: Not Found Loading: SLES10 Load of SLES10 failed: Not Found Loading: SLES10_bak Load of SLES10_bak failed: Not Found Loading: EFI Shell [Built-in] EFI Shell version 1.10 [14.62] Device mapping table blk0 : Acpi(PNP0A03,1)/Pci(1|0)/Ata(Primary,Master) blk1 : Acpi(PNP0A03,1)/Pci(3|0)/Sata(Pun2,Lun0) Shell> [/shell] By issuing a nmi command over the L1 Controller (accessible by hitting Control + t) it'll switch you to POD Mode. After which use the initalllogs command which will clear all of the EFI NVRAM Settings (the password, boot menu, date/time etc). [shell] 2 000: POD SysCt Cac> initalllogs *** This must be run only after NUMAlink discovery is complete. *** This will clear all previous log variables such as: *** moduleids, nodeids, etc. for all nodes. Clear all logs environment variables, and aliases ? [n] y Clearing nasid 0... Clearing nasid 0 EFI variables................... Clearing nasid 0 error log........... All PROM logs cleared! 2 000: POD SysCt Cac> exit [/shell]

Step Two - Getting an OS on the Prism

Now that I was able to actually "use" it - I needed to install an OS. With the Prism you have a couple choices. If you want to run it "headless" meaning without physically connecting a monitor and using it as a desktop - you can run Debian 5.x to 6.x, Suse Enterprise Linux 9 to 11 SP2, and Red Hat Enterprise Linux 4.x to 6.4.

However, if you want to run it as a desktop like I did - you'll be stuck using Suse Enterprise Linux 9 SP3 or Red Hat Enterprise Linux (not sure of the version). In addition you will need the Silicon Graphics ProPack 4 Sp4 (be careful to not obtain any later version as they dropped support for the Prism). The ProPack installs a special kernel that has support for the custom dual AGP setup found in the Prism along with the FireGL cards themselves.

To review you will need the following if you are wanting to go down the graphics route:
-Suse Enterprise Linux (SLES) 9 base ISO Images (6 CDs, freely available on Novell as of this writing)
-Suse Enterprise Linux (SLES) 9 SP3 ISO Images (3 CDs, available via support contract only or if you happen to get a prism with the RPMS - store them for later installation)
-Silicon Graphics ProPack 4 SP4 ISO Images (3 CDs, very rare for them to turn up on eBay and expensive otherwise)

From this point on I'll assume you have the CDs mentioned above.

Suse Enterprise Linux 9 SP3 Installation
1. Insert the SLES 9 SP3 CD 1 in the DVD drive of the Prism (the stock SLES 9 CD 1 will not work)
2. Proceed through the installation (occasionally it'll refer to CD 1 as SLES 9 CD 1 not SLES 9 SP3 CD 1, so if it doesn't like the CD you entered try the other).

After the installation completes and you find yourself staring at the BASH shell I highly suggest keeping an extracted copy of all 9 of the SLES 9 CDs on your hard drive.

I simply created an isos directory (with mkdir) and then did a cp -r /media/dvd . to copy the DVD. A faster approach would be to extract the ISO images on your PC or other machine, put them on a USB thumb drive, mount the USB drive (was /dev/sdb1 for me) and simply copy the contents of the thumb drive to your newly created folder. I did this for the Propack CDs as well. It not only is faster, but then when you go to install a new package that has a dependency you don't need to swap CDs.

To get YaST ready for future installs (including the next step), issue a /sbin/yast from your shell, which will present you with the YaST Control Center.

Tab over to the Change Source of Installation option on the right like so: YaST SLES 9
Go through all of the CDs by selecting Add and then selecting Local Directory.... When completed your screen should look very similar to this:
YaST SLES 9

Step Three - Installing the Propack

Now that SLES 9 SP3 is installed on your Prism, you will need to install the ProPack. If you followed the last steps you have already added the Propack 3 CD set to your hard drive and added the path to the available sources for YaST to install from.
To get started return to the initial screen of the YaST Control Center and select Install and Remove Software.

Once on the Install and Remove Software screen select Filters from the menu option like so:
YaST SLES 9
Then select Selections and scroll all the way down and select all of the SGI ProPack options with the spacebar:
YaST SLES 9

You may have a few dependencies that YaST will determine you need - simply accept them and shortly after you should see it installing:
YaST SLES 9

After a reboot you should see SLES 9 with full graphics:
SLES 9 SP3 installed with the ProPack

Step Four - Next Steps

Now that SLES 9 is installed, my primary goal for the Prism was to do C++ development on it. The two biggest components for that are a compiler and version control. Both will be detailed in future blog posts so stay tuned. In addition, I will begin exploring PCI-X expansion options like a SATA II RAID card to compare performance with the built in IO10 SATA controller.
A few months ago I purchased a Quad R16k 700mhz Silicon Graphics Origin 350, while a nice boost up from my Silicon Graphics Origin 300's, especially for the integrated gigabit, I often found myself wanting a desktop that was of similar power. Unfortunately, the Silicon Graphics Fuel I received about a year ago only supported up to 900mhz R16k MIPS CPU, which for single-threaded tasks would be faster than my Origin 300 or Origin 350, but most of my IRIX tasks these days are multi-threaded.

So my quest for finding the ultimate MIPS-based Silicon Graphics desktop machine, the Silicon Graphics Tezro began. The Tezro supports up to 4 1ghz R16k cpus, 8gb of ram and has 7 PCI-X slots. The side effect, these machines are still used today and thereby very expensive even in the second hand market. Fortunately for me though there was a Dual 700mhz R16k for next to nothing a few weeks back that I guess no one else saw.

One neat element of the last generation of Silicon Graphics MIPS-based servers/desktops is that they are all based on the Origin 3000 architecture. Meaning that a lot of the components are shared between the Origin 300, Origin 350, Fuel, Tezro and Onyx 350. For instance the same DDR memory is shared between all of them, handy for me since the Tezro I got only had 4gb of ram. In addition the Origin 350, Tezro and Onyx 350 share the same node board (IP53), making swaps between the different systems pretty much drag and drop.

This lead me to pursue swapping my infrequently used Quad 700mhz Origin 350 nodeboard for the one in my newly acquired Tezro. Thankfully the steps were pretty easy and intuitive as noted by the pictures below. [caption id="attachment_1839" align="aligncenter" width="550"]Silicon Graphics Origin 350 (Inside) Silicon Graphics Origin 350 (Inside)[/caption] Thankfully, the node board is only held in by 2 different sized Torx screws, make sure to have drill bits or a Torx screw driver set handy before you do this swap. [caption id="attachment_1840" align="aligncenter" width="550"]Silicon Graphics Origin 350 Chasis without Nodeboard (IP53) Silicon Graphics Origin 350 Chasis without Nodeboard (IP53)[/caption] Luckily, the Tezro nodeboard as you might expect, has the same Torx screws, so it's just a matter of removing the same set of screws, although the Tezro's screws are shorter. [caption id="attachment_1841" align="aligncenter" width="550"]Silicon Graphics Tezro Nodeboard (IP53) Removed Silicon Graphics Tezro Nodeboard (IP53) Removed[/caption] After removing the Tezro Nodeboard, I found the connector's to be interesting. For as much data that goes between the nodeboard, the V12 and the PCI-X slots, I expected there to be more pins. [caption id="attachment_1842" align="aligncenter" width="169"]Silicon Graphics Tezro Nodeboard Connector Silicon Graphics Tezro Nodeboard Connector[/caption] [caption id="attachment_1844" align="aligncenter" width="550"]Silicon Graphics Tezro Nodeboard in place Silicon Graphics Tezro Nodeboard in place[/caption] After putting the Origin 350 nodeboard into the Tezro, all that was left was to see if IRIX would see the new nodeboard with 0 issues, sure enough: [caption id="attachment_1845" align="aligncenter" width="550"]IRIX System Manager showing the Quad 700mhz IP53 Nodeboard properly IRIX System Manager showing the Quad 700mhz IP53 Nodeboard properly[/caption]
Something I had been meaning to do for quite some time now is move as much of IRIX off of my Maxtor ATLAS II 15k 73gb Ultra 320 SCSI drive in hopes to keeping the small stock pile I have of them alive and well for years to come. The ideal solution would be to buy one of those SCA -> SATA II adapters for 2.5" SATA II/III Drives, but those are still $200+, which for me is not worth it. Looking around for alternative solutions, I came across an LSI SAS3041X-R 4 Port SATA PCI-X card that is IRIX 6.5 supported. Granted I wish it had SATA II ports, but alas for $25 shipped I really can't complain. I should note, this card is 133mhz/PCI-X, which means the maximum bandwidth is 1.06 gb/s. Silicon Graphics Origin 300s only have 64bit/66mhz PCI-X slots, so you'll be looking at a maximum bandwidth of 533.3mb/sec, while the Origin 350 has 2 64bit/100mhz PCI-X slots providing up to 800mb/sec. Keep that in mind if you need more than 533.3mb/sec of bandwidth. [caption id="attachment_1532" align="aligncenter" width="300"] What you'll need for adding SATA support and an SSD to your SGI Origin 300[/caption] [caption id="attachment_1533" align="aligncenter" width="225"] Y 4 pin Molex adapter[/caption] If you can't tell from the pictures, you'll need:
  1. The LSI SAS3041X-R card
  2. SATA cable, longer the better, I had used the standard length and had just enough length
  3. Y Cable that accepts the standard 4 pin Molex connector and provides 2 SATA Power connections
  4. Y Cable that accepts the standard 4 pin Molex connectors and provides 2 additional 4 pin Molex connectors
  5. SSD or other SATA drive, because the space constraints I'd highly suggest at the most a 2.5" mechanical drive.
LSI SAS3041X-R installed in the middle PCI-X slot: [caption id="attachment_1534" align="aligncenter" width="300"] LSI SAS3041X-R in the middle PCI-X slot of the SGI Origin 300[/caption] Back view: [caption id="attachment_1535" align="aligncenter" width="300"] Back view LSI SAS3041X-R in the middle PCI-X slot of the SGI Origin 300[/caption] Top view: [caption id="attachment_1536" align="aligncenter" width="300"] SGI Origin 300 with LSI SAS3041X-R installed[/caption] Unfortunately, Silicon Graphics didn't think about those wishing to add internal drives that wouldn't be driven off the built-in Ultra 160 controller. Getting creative, I found a spot in the far left fan grille that when running, the actual fan blades don't hit. You'll have to remove the fan to the SATA connector through, which I should mention again, you can swap the fans for much, much quieter fans. I detailed the post here back in February of this year. I took a picture of the SATA Cable going through the grille: [caption id="attachment_1537" align="aligncenter" width="225"] Running the SATA cable through the unobstructed 80mm fan grille[/caption] Once the cable is through, you can pop the 80mm fan back into place and then connect both the Y power cables and your SATA drive as shown in the picture below: [caption id="attachment_1538" align="aligncenter" width="225"] 240gb Sandisk Extreme SSD installed into an SGI Origin 300[/caption] After putting the Origin 300 back into my rack and starting IRIX, IRIX found the LSI card without a need for driver installation: [bash] IRIX Release 6.5 IP35 Version 07202013 System V - 64 Bit Copyright 1987-2006 Silicon Graphics, Inc. All Rights Reserved. NOTICE: Initialising Guaranteed Rate I/O v2 (Jul 20 2006 18:47:01) NOTICE: pcibr_attach: /hw/module/001c01/Ibrick/xtalk/15/pci Bus holds a usb part - settingbridge PCI_RETRY_HLD to 4 Setting hub ixtt.rrsp_ps field to 0x4e20 NOTICE: /hw/module/001c01/Ibrick/xtalk/14/pci/1a/scsi_ctlr/0: 949X fibre channel firmware version 1.3.23.0 NOTICE: /hw/module/001c01/Ibrick/xtalk/14/pci/1b/scsi_ctlr/0: 949X fibre channel firmware version 1.3.23.0 NOTICE: /hw/module/001c01/Ibrick/xtalk/14/pci/2/scsi_ctlr/0: 1064 SAS/SATA firmware version 1.6.0.0 [/bash] Having been removed from using IRIX for a few months, I preferred to do the disk initialization with the GUI over a TightVNC connection. You can initialize a disk through the System Manager, which can be accessed from the Toolchest System option like so: [caption id="attachment_1544" align="aligncenter" width="195"] IRIX System Manager[/caption] Then click on "Hardware and Devices" and then "Disk Manager" like so: [caption id="attachment_1547" align="aligncenter" width="300"] IRIX System Manager[/caption] [caption id="attachment_1539" align="aligncenter" width="300"] IRIX Disk Manager[/caption] With the SSD/SATA drive selected, click on Initialize and then click Next through the series of questions. Afterwards you can close that window, bringing you back to the System Manager window. Click on Files and Data and then Filesystem Manager like so: [caption id="attachment_1549" align="aligncenter" width="300"] Getting to the IRIX File System Manager[/caption] Afterwards you'll be presented with the Filesystem Manager: [caption id="attachment_1540" align="aligncenter" width="300"] IRIX Filesystem Manager[/caption] Click on Mount Local... in the bottom far left of the window, choose the newly initialized disk, the place where you want the drive mounted and click through the wizard. After a few minutes, you'll be presented with a refreshed Filesystem Manager window showing your SSD/SATA drive like in the picture above. Intrigued on how much of a difference the SSD would make in comparison to the Maxtor Atlas II 15k Ultra 320 drive, I ran diskperf and stacked the images side by side. The SSD is on the Left and the Maxtor Ultra 320 drive is on the right. [caption id="attachment_1541" align="aligncenter" width="300"] 240gb SanDisk Extreme SSD vs 73gb Maxtor Atlas II 15k Ultra 320 SCSI Drive[/caption] I actually expected the Maxtor to perform a bit better, but am not surprised overall by the results. About 30 minutes or work, majority of that simply pulling the server out of the rack, I think it is fair to say, if you're running a later generation Silicon Graphics machine with PCI-X slots (ie Fuel, Tezro, Origin 300, Origin 350 etc) you will see a huge performance boost. Next on my todo list is to move everything possible off of the Maxtor, leaving only the minimum boot data (as you cannot boot from an addon card in IRIX). Will post the details of that process at a later time.
After waiting about a month in a half, I finally got a numalink cable so I could numalink together two Silicon Graphics Origin 300s. The idea behind numalink is that you can take multiple machines and link them together in a cluster. In my case, I now have a 8 way R14000A 600mhz and 8GB of ram Origin 300. Like with many things I'm finding with Silicon Graphics machines it was pretty easy to setup. I tried to document it all below. First off I needed to update the "rack" position of my Slave (2nd) Origin 300: [bash] 001c01-L1>brick slot 02 brick slot set to 02 (takes effect on next L1 reboot/power cycle) 001c01-L1>reboot_l1 SGI SN1 L1 Controller Firmware Image B: Rev. 1.44.0, Built 07/17/2006 18:20:38 001c02-L1> [/bash] Next I needed to clear the serial based on the error I got: [bash] 001c02-L1> Not able to determine correct System Serial Number 001c02 == M2002931 Please use the command 'serial clear' on the brick which has the serial number you do not wish to keep Not able to determine correct System Serial Number 001c16 == M2100250 Please use the command 'serial clear' on the brick which has the serial number you do not wish to keep 001c02-L1>serial clear [/bash] Unplugged the power to both and then hooked them up with the numalink cable: [caption id="attachment_1089" align="aligncenter" width="225" caption="Silicon Graphics Origin 300s connected via numalink"][/caption] Then plugged both power cables back in and hit power button on both. To my surprise upon starting up IRIX everything worked. [bash] [SPEEDO2]:~ $ hinv -vm Location: /hw/module/001c01/node IP45_4CPU Board: barcode MNS886 part 030-1797-001 rev -B Location: /hw/module/001c01/Ibrick/xtalk/14 IO8 Board: barcode MJX813 part 030-1673-003 rev -F Location: /hw/module/001c01/Ibrick/xtalk/15 IO8 Board: barcode MJX813 part 030-1673-003 rev -F Location: /hw/module/001c02/node IP45_4CPU Board: barcode MNM964 part 030-1797-001 rev -B Location: /hw/module/001c02/Ibrick/xtalk/14 IO8 Board: barcode MHE546 part 030-1673-003 rev -E Location: /hw/module/001c02/Ibrick/xtalk/15 IO8 Board: barcode MHE546 part 030-1673-003 rev -E 8 600 MHZ IP35 Processors CPU: MIPS R14000 Processor Chip Revision: 2.4 FPU: MIPS R14010 Floating Point Chip Revision: 2.4 CPU 0 at Module 001c01/Slot 0/Slice A: 600 Mhz MIPS R14000 Processor Chip (enabled) Processor revision: 2.4. Scache: Size 4 MB Speed 300 Mhz Tap 0x1a CPU 1 at Module 001c01/Slot 0/Slice B: 600 Mhz MIPS R14000 Processor Chip (enabled) Processor revision: 2.4. Scache: Size 4 MB Speed 300 Mhz Tap 0x1a CPU 2 at Module 001c01/Slot 0/Slice C: 600 Mhz MIPS R14000 Processor Chip (enabled) Processor revision: 2.4. Scache: Size 4 MB Speed 300 Mhz Tap 0x1a CPU 3 at Module 001c01/Slot 0/Slice D: 600 Mhz MIPS R14000 Processor Chip (enabled) Processor revision: 2.4. Scache: Size 4 MB Speed 300 Mhz Tap 0x1a CPU 4 at Module 001c02/Slot 0/Slice A: 600 Mhz MIPS R14000 Processor Chip (enabled) Processor revision: 2.4. Scache: Size 4 MB Speed 300 Mhz Tap 0xa CPU 5 at Module 001c02/Slot 0/Slice B: 600 Mhz MIPS R14000 Processor Chip (enabled) Processor revision: 2.4. Scache: Size 4 MB Speed 300 Mhz Tap 0xa CPU 6 at Module 001c02/Slot 0/Slice C: 600 Mhz MIPS R14000 Processor Chip (enabled) Processor revision: 2.4. Scache: Size 4 MB Speed 300 Mhz Tap 0xa CPU 7 at Module 001c02/Slot 0/Slice D: 600 Mhz MIPS R14000 Processor Chip (enabled) Processor revision: 2.4. Scache: Size 4 MB Speed 300 Mhz Tap 0xa Main memory size: 8192 Mbytes Instruction cache size: 32 Kbytes Data cache size: 32 Kbytes Secondary unified instruction/data cache size: 4 Mbytes Memory at Module 001c01/Slot 0: 4096 MB (enabled) Bank 0 contains 1024 MB (Premium) DIMMS (enabled) Bank 1 contains 1024 MB (Premium) DIMMS (enabled) Bank 2 contains 1024 MB (Premium) DIMMS (enabled) Bank 3 contains 1024 MB (Premium) DIMMS (enabled) Memory at Module 001c02/Slot 0: 4096 MB (enabled) Bank 0 contains 1024 MB (Premium) DIMMS (enabled) Bank 1 contains 1024 MB (Premium) DIMMS (enabled) Bank 2 contains 1024 MB (Premium) DIMMS (enabled) Bank 3 contains 1024 MB (Premium) DIMMS (enabled) Integral SCSI controller 8: Version Fibre Channel LS949X Port 0 Integral SCSI controller 9: Version Fibre Channel LS949X Port 1 Integral SCSI controller 10: Version QL12160, low voltage differential Integral SCSI controller 11: Version QL12160, low voltage differential Integral SCSI controller 0: Version QL12160, low voltage differential Disk drive: unit 1 on SCSI controller 0 (unit 1) Integral SCSI controller 1: Version QL12160, low voltage differential Integral SCSI controller 12: Version QL12160, low voltage differential Integral SCSI controller 13: Version QL12160, low voltage differential IOC3/IOC4 serial port: tty5 IOC3/IOC4 serial port: tty6 IOC3/IOC4 serial port: tty7 IOC3/IOC4 serial port: tty8 Gigabit Ethernet: eg1, module 001c01, pci_bus 2, pci_slot 2, firmware version 0.0.0 Gigabit Ethernet: eg2, module 001c02, pci_bus 2, pci_slot 1, firmware version 0.0.0 Integral Fast Ethernet: ef0, version 1, module 001c01, pci 4 Fast Ethernet: ef1, version 1, module 001c02, pci 4 PCI Adapter ID (vendor 0x1000, device 0x0640) PCI slot 1 PCI Adapter ID (vendor 0x1000, device 0x0640) PCI slot 1 PCI Adapter ID (vendor 0x10a9, device 0x0009) PCI slot 2 PCI Adapter ID (vendor 0x10a9, device 0x0009) PCI slot 1 PCI Adapter ID (vendor 0x1077, device 0x1216) PCI slot 2 PCI Adapter ID (vendor 0x1077, device 0x1216) PCI slot 1 PCI Adapter ID (vendor 0x10a9, device 0x0003) PCI slot 4 PCI Adapter ID (vendor 0x11c1, device 0x5802) PCI slot 5 PCI Adapter ID (vendor 0x1077, device 0x1216) PCI slot 1 PCI Adapter ID (vendor 0x10a9, device 0x0003) PCI slot 4 PCI Adapter ID (vendor 0x11c1, device 0x5802) PCI slot 5 IOC3/IOC4 external interrupts: 1 IOC3/IOC4 external interrupts: 2 HUB in Module 001c01/Slot 0: Revision 2 Speed 200.00 Mhz (enabled) HUB in Module 001c02/Slot 0: Revision 2 Speed 200.00 Mhz (enabled) IP35prom in Module 001c01/Slot n0: Revision 6.124 IP35prom in Module 001c02/Slot n0: Revision 6.210 USB controller: type OHCI USB controller: type OHCI [/bash]
Picked up another Silicon Graphics Origin 300 (Dual 600/4gb ram), swapped in my Quad 500 board, replaced the fans and began my fun filled adventure into L1 Land. [caption id="attachment_1070" align="aligncenter" width="300" caption="My 2nd Silicon Graphics Origin 300"][/caption] [caption id="attachment_1068" align="aligncenter" width="225" caption="Original Silicon Graphics Origin 300 Fans out..."][/caption] [caption id="attachment_1071" align="aligncenter" width="225" caption="Quad R14k 500 Swap completed"][/caption] [caption id="attachment_1072" align="aligncenter" width="300" caption="Silicon Graphics Origin 300 1GB DDR Stick"][/caption] Off the bat I was presented with: [caption id="attachment_1069" align="aligncenter" width="300" caption="Silicon Graphics Origin 300 L1 - Unknown Brick Type!"][/caption] Upon hooking up my USB->Null Modem cable I checked the L1 Log: 001?01-L1>log 04/14/12 10:54:46 L1 booting 1.44.0 04/14/12 10:54:49 ** fixing invalid SSN value 04/14/12 10:54:49 ** fixing BSN mismatch 04/14/12 11:13:53 L1 booting 1.44.0 So, good it auto-fixed the invalid SSN and BSN mismatch. 001?01-L1>brick rack: 001, slot: 01, partition: none, type: Unknown [2MB flash], serial:MRH006, source: NVRAM Good again, it sees the brick, but doesn't know what it is. Then tried: 001?01-L1>brick type C brick type changed (nvram) (takes effect on next L1 reboot/power cycle) 001?01-L1>reboot_l1 Upon rebooting the L1, still not avail. Going to have to get creative with this problem...
Kind of scratching my head as to why Silicon Graphics didn't include gigabit on their IO8 PCI-X card that comes with an Origin 300. I guess maybe back in 2000-2001, the demand for gigabit Ethernet wasn't enough? Personally, I had just upgraded to Fast Ethernet (100mbit) if only half duplex on a Hub. Scored an official Silicon Graphics Gigabit card off eBay for next to nothing, installed it with no problems and upon rebooting IRIX recognized it and am now only using the gigabit connection to the rest of my network. [caption id="attachment_1063" align="aligncenter" width="300" caption="Silicon Graphics Gigabit PCI-X Card"][/caption] Next up was another great find on eBay for ~$30 I got a Dual Channel 4gb LSI Logic PCI-X card that has built in IRIX support. Just waiting on a PCI Express 4gb card to put into my SAN. [caption id="attachment_1064" align="aligncenter" width="225" caption="LSI Dual Channel 4gb Fibre Channel"][/caption] [caption id="attachment_1065" align="aligncenter" width="225" caption="SGI Gigabit and LSI Logic Dual Channel 4gb Fibre PCI-X cards installed"][/caption]
Been rocking my Quad 500mhz R14000 Silicon Graphics Origin 300 since replacing the fans in January, it's been great, but in preparation for the next 4 Quad 600mhz Origin 300s I plan on getting in May. That being said, I came across a Quad 600mhz R14000A on eBay. After going to Home Depot for a set of Torx drill bits, I was able to get the old board out and the new board in. Not only are each CPUs 100mhz faster, there is twice as much cache on the 600mhz versions. [caption id="attachment_1017" align="aligncenter" width="225" caption="Origin 300 MIPS Quad 600mhz R14000A Motherboard"][/caption] [caption id="attachment_1018" align="aligncenter" width="300" caption="Origin 300 MIPS Quad 600mhz R14000A Motherboard"][/caption] [shell] 4 600 MHZ IP35 Processors CPU: MIPS R14000 Processor Chip Revision: 2.4 FPU: MIPS R14010 Floating Point Chip Revision: 2.4 CPU 0 at Module 001c16/Slot 0/Slice A: 600 Mhz MIPS R14000 Processor Chip (enabled) Processor revision: 2.4. Scache: Size 4 MB Speed 300 Mhz Tap 0x1a CPU 1 at Module 001c16/Slot 0/Slice B: 600 Mhz MIPS R14000 Processor Chip (enabled) Processor revision: 2.4. Scache: Size 4 MB Speed 300 Mhz Tap 0x1a CPU 2 at Module 001c16/Slot 0/Slice C: 600 Mhz MIPS R14000 Processor Chip (enabled) Processor revision: 2.4. Scache: Size 4 MB Speed 300 Mhz Tap 0x1a CPU 3 at Module 001c16/Slot 0/Slice D: 600 Mhz MIPS R14000 Processor Chip (enabled) Processor revision: 2.4. Scache: Size 4 MB Speed 300 Mhz Tap 0x1a Main memory size: 2048 Mbytes Instruction cache size: 32 Kbytes Data cache size: 32 Kbytes Secondary unified instruction/data cache size: 4 Mbytes Memory at Module 001c16/Slot 0: 2048 MB (enabled) Bank 0 contains 1024 MB (Premium) DIMMS (enabled) Bank 1 contains 1024 MB (Premium) DIMMS (enabled) Integral SCSI controller 0: Version QL12160, low voltage differential Disk drive: unit 1 on SCSI controller 0 (unit 1) Disk drive: unit 2 on SCSI controller 0 (unit 2) Integral SCSI controller 1: Version QL12160, low voltage differential IOC3/IOC4 serial port: tty3 IOC3/IOC4 serial port: tty4 Integral Fast Ethernet: ef0, version 1, module 001c16, pci 4 PCI Adapter ID (vendor 0x1077, device 0x1216) PCI slot 1 PCI Adapter ID (vendor 0x10a9, device 0x0003) PCI slot 4 PCI Adapter ID (vendor 0x11c1, device 0x5802) PCI slot 5 IOC3/IOC4 external interrupts: 1 HUB in Module 001c16/Slot 0: Revision 2 Speed 200.00 Mhz (enabled) IP35prom in Module 001c16/Slot n0: Revision 6.124 USB controller: type OHCI [/shell]
Finally got around to racking the 2 Altix 350s I got a couple weeks back. Still haven't had any luck finding at least one IO9, but I've got enough other stuff to keep me busy. [caption id="attachment_1003" align="aligncenter" width="300" caption="Silicon Graphics Altix 350s Racked"][/caption]
Luckily and unluckily I noticed several Altix 350 Silicon Graphics 2U Servers on eBay starting at $9.99, ended up winning and getting them shipped to me for an extremely little amount, especially in comparison to the $200+ a single one usually goes for. The unlucky part is that they didn't include a PCI Riser Card for the IO9 or IO10 pci card that has the Ethernet, SCSI/SATA connections etc. So I am on the hunt for some of both. Hopefully I can find one and then get a NUMALink cable to link two together and have a pretty neat MySQL Server. [caption id="attachment_992" align="aligncenter" width="225" caption="Silicon Graphics ALTIX 350 in shipping box"][/caption] [caption id="attachment_993" align="aligncenter" width="300" caption="Silicon Graphics ALTIX 350 insides"][/caption] [caption id="attachment_994" align="aligncenter" width="300" caption="Silicon Graphics ALTIX 350 DIMM Layout"][/caption] [caption id="attachment_995" align="aligncenter" width="300" caption="Silicon Graphics ALTIX 350 Empty PCI Bay"][/caption]
Last Sunday I was curious about IRIX root disk cloning, I had done it previously on an SGI Octane with a none root drive, but never on the root drive itself. Since I have 2 SGI O2s and 2 identical Maxtor Atlas II 15k 73gb Ultra 320 drives, it made sense rather than reinstalling everything just to clone it. Sure enough about 20 minutes later, I had an extra duplicate of my SGI O2 IRIX 6.5.30 install with all of my Nekoware packages (BASH, PHP, MySQL etc). Pulled it out and put into my other SGI O2, worked like a charm. After doing some work on my SGI Origin 300 this morning, I figured I'd replace the failing Maxtor ATLAS 15k 36gb Ultra 320 drive with a brand new Fujitsu MAU3147 15k 36gb Ultra 320 drive. Not to mention the Maxtor had been making a terrible high pitch noise for some time before it ended up in the Origin :) Fujitsu in the Origin 300 Sled: [caption id="attachment_975" align="aligncenter" width="225" caption="Fujitsu MAU ready to go for my Origin 300"][/caption] After sliding it into my already powered Origin 300, I realized the SCSI ports weren't auto-scanning for changes. Some googling later, I found the Solaris equivalent of probe-scsi-all is scsiha -p 0; on IRIX. Immediately following that running a hinv command: 4 500 MHZ IP35 Processors CPU: MIPS R14000 Processor Chip Revision: 1.4 FPU: MIPS R14010 Floating Point Chip Revision: 1.4 Main memory size: 2048 Mbytes Instruction cache size: 32 Kbytes Data cache size: 32 Kbytes Secondary unified instruction/data cache size: 2 Mbytes Integral SCSI controller 3: Version Fibre Channel QL2200A Integral SCSI controller 0: Version QL12160, low voltage differential Disk drive: unit 1 on SCSI controller 0 Disk drive: unit 2 on SCSI controller 0 Integral SCSI controller 1: Version QL12160, low voltage differential IOC3/IOC4 serial port: tty3 IOC3/IOC4 serial port: tty4 Integral Fast Ethernet: ef0, version 1, module 001c16, pci 4 IOC3/IOC4 external interrupts: 1 USB controller: type OHCI IRIX found the drive on Controller 0, so I was ready to begin the cloning procedure. Following these steps, 10 minutes later, I had my data copied to the Fujitsu drive and was ready to become my new root drive on my Origin 300. Pretty cool Silicon Graphics built that in, cloning a Windows system drive is a huge pain natively. Although there is a sweet tool by Arconis if you own a Western Digital on there site, here for free. I used that when I moved off of my RAID 0 stripe of 2 Western Digital Black 500gb drives to the 1TB versions and didn't feel like reinstalling all of my applications including the ones that had limited activations without having to call the company to get them to reset the activations. Maxtor, you've been good from 2004-2008 and from 2011-2012: [caption id="attachment_976" align="aligncenter" width="225" caption="Maxtor ATLAS 15k 36gb drive, finally being retired"][/caption]
Finally got around to replacing the 4 80mm 40 decibel fans in my Origin 300 this morning. The noise from this one server was enough to travel from the basement inside a rack all the way to the 3rd floor Master Bedroom. Suffice it to say, I definitely couldn't run the server 24/7. Hunting around on Amazon, I found these 80mm Cooler Master fans, not too bad price wise and still put out decent air flow. [caption id="attachment_963" align="aligncenter" width="225" caption="New Cooler Master 80mm replacement fans for my SGI Origin 300"][/caption] Prep for the swap: [caption id="attachment_964" align="aligncenter" width="225" caption="My Quad R14k SGI Origin 300"][/caption] The original fan in case someone needed a part number: [caption id="attachment_965" align="aligncenter" width="225" caption="SGI Origin 300 Stock Fan"][/caption] As I was swapping in the new fans, I realized the fan connector was not the standard ATX style. Stock Connector: [caption id="attachment_966" align="aligncenter" width="300" caption="Stock SGI Origin 300 Fan Connector"][/caption] Versus the standard ATX connector: [caption id="attachment_967" align="aligncenter" width="300" caption="Repacement Cooler Master Fan ATX Connector"][/caption] Luckily the standard 4 pin Molex power connector for the 2 Ultra 160 drives is right next to the fans, so a little wiring job and voila: [caption id="attachment_968" align="aligncenter" width="300" caption="SGI Origin 300 with replacement fans installed"][/caption] Note, doing it this way will throw an error in the L1 Console and will shut your machine down. A way around it is to simply connect to the Origin 300 over a console connection and type: env off. This is dangerous though as the server will not shutdown automatically if a fan fails or the server overheats. Having said that, it came to my attention that IRIX does not install a Serial/Terminal client by default. The common cu is on the IRIX 6.5 Foundation CD 1 disk. Turn on the Subsystems Only in the IRIX Software Manager and scroll down until you see it. Chances are you're not running a base 6.5 install so you'll also need the first disk of your overlays (6.5.30 Overlay CD 1 in my case) in order to install it to resolve the package conflicts. After installing you may receive a "CONNECT FAILURE: NO DEVICES AVAILABLE". Open up vi or your favorite text editor and open up /etc/uucp/Devices Add in a line: Direct ttyd2 - 38400 direct Make sure the spaces are there. You can also try setting it up via the Serial Manager under the System Manager application. Afterwards, simply running: cu -l /dev/ttyd2 -s38400 Allowed me into my L1 console to turn off environment monitoring. Then hit Control + D to get back into the PROM Monitor and hit "1" to start IRIX.
Just benchmarked my 180mhz R5000SC cpu with only 128mb of memory in Quake 2, it's marginally worse than when I benchmarked the same CPU, but with 1gb of memory. This makes sense though in that back in 1997 when Quake 2 came out, I think I only had just upgraded to 32mb of ram in my Pentium 200 MMX running Windows NT 4. So all the extra ram wouldn't help this scenario. The one major caveat I noticed was running in a 320x240 window @ 640x480, my O2 ran out of memory and started paging to the Virtual Memory (thank you gmemusage). I tested it twice to make sure, but a word to the wise, do not run Quake 2 in a window if you only have 128mb of memory. I'll test it out with 192mb shortly. In case anyone was interested here is an updated list: 320x240 128mb - 180mhz R5000SC - 4.1 / 169.6 seconds 1024mb - 180mhz R5000SC - 14.9 / 46.3 seconds 1024mb - 300mhz R5200SC - 18.8 / 36.7 seconds 640x480 128mb - 180mhz R5000SC - 12.2 / 56.3 seconds 1024mb - 180mhz R5000SC - 12.4fps / 55.4 seconds 1024mb - 300mhz R5200SC - 14.5fps / 47.4 seconds 800x600 128mb - 180mhz R5000SC - 10.2 / 67.3 seconds 1024mb - 180mhz R5000SC - 10.3 / 67.2 seconds 1024mb - 300mhz R5200SC - 11.7 / 58.7 seconds
I got a 300mhz R5200SC CPU (the highest R5k series CPU for the O2) for my main Silicon Graphics O2. I ran before and after Quake 2 results out of curiosity if it would make a big difference having nearly 2X the mhz and that the CRIME graphics core is tightly integrated with the CPU. Using the following commands on the console: timedemo 1 map demo1.dm2 Here's the results: 320x240 180mhz - 14.9 / 46.3 seconds 300mhz - 18.8 / 36.7 seconds 640x480 180mhz - 12.4fps / 55.4 seconds 300mhz - 14.5fps / 47.4 seconds 800x600 180mhz - 10.3 / 67.2 seconds 300mhz - 11.7 / 58.7 seconds Kind of surprised at the results, I'll be testing my 180mhz R5000PC vs 180mhz R5000SC shortly to see what if any difference the Level 2 cache makes.
Found a guy on Craigslist who was selling his O2, didn't know the specs other than it was not a R10k or R12k model, but offered it for $50. The going rate on eBay for O2 parts is generally higher than that, so I took a gamble. Surprisingly, the O2 was the lowest end CPU, but had 8 128mb sticks of memory, the max you can pop in an O2. One pair of these go for over a hundred bucks on eBay. I migrated all of my memory out of my O2 and swapped it in, voila 1GB for $50 and now I've got an "extra" O2 that I'll probably use to record guitar riffs. [caption id="attachment_932" align="aligncenter" width="300" caption="Silicon Graphics O2 showing the 1GB of RAM"][/caption] I tried Quake II, it boots up a little bit quicker, but FPS wise, I didn't notice a difference.
I figured after attempting to compile SDLQuake and running into x86 assembly, UDP and linking issues I decided to try the "official" IRIX port from SGI. Oddly enough, Quake II runs at 640x480x16 with full textures on my Silicon Graphics O2. Feeling adventurous, I wanted to see if it would play with the x86 Windows 3.20 version. Sure enough, I was able to play with an IRIX hosted game (it would probably work the other way as well) with my Windows 7 workstation. [caption id="attachment_927" align="aligncenter" width="300" caption="Quake II on my O2"][/caption] On a side note, I got SDLQuake to get all the way to the linking stage before giving up on it. For whatever reason using -lSDL was not including what looks like X11 or OpenAL libraries. I included both of those libraries and was still getting the errors.
Finally got Quake working on my Silicon Graphics O2. Using the "official" SGI port from September 1997, it runs fairly smooth at 1024x768x16. [caption id="attachment_924" align="aligncenter" width="300" caption="Quake on my SGI O2"][/caption] It did bring up old memories of my first LAN party in Summer of 1998 playing Quake, particularly E1M7 as seen in the picture. Definitely makes me want to have a Retrogaming LAN with Quake or Descent.
Been working on my Silicon Graphics O2 a lot and surprisingly it's pretty responsive for directory browsing, C/C++ source code editing/compiling and software installation. For a 16 year old 180mhz machine with only 192mb of memory I am really shocked what an optimized and lightweight operating system can do. For web browsing, FLAC music playing etc, it won't stand up against my Phenom II X6, but for everything I'm doing, it is neck and neck. This thought got my thinking, everyday new cpus/apus, gpus etc come out, the last generation is put into bargain bins or rebadged as a lower end part of the next generation. I'm voting to rethink "computer performance", at least its definition. If someone running Microsoft Word, Zune and Chrome on a Windows 7 machine with 6 cores and 16gb ram notices no difference when he or she is on 2 core, 4gb ram system, then why justify the badging of that machine as a lowerend? To me it is all relative to what you're actually doing. I can browse to a C++ file from a terminal window, open it in vi and start editing on my SGI O2 faster than I could open up Visual Studio 2010, then browse to the project and start coding on my Phenom II system. It saddens me to know that so many people will frown upon not top of the line specs even if they are only going to use 50% of the power available. Gluttony it seems has taken hold of consumers...
Well actually it did on Tuesday, but just finally got it in working state last night with SSH, BASH and SAMBA. I had a spare Maxtor Atlas II 15k 73gb Ultra 320 SCA drive that I replaced the existing Quantum 10k 9gb, it's now both quiet and pretty fast considering it's one cpu away from being the lowest end O2 and it's 14-15 years old. [caption id="attachment_907" align="aligncenter" width="225" caption="Silicon Graphics O2"][/caption] [caption id="attachment_908" align="aligncenter" width="300" caption="Silicon Graphics O2 Startup Menu"][/caption] Next on the todo list is get GCC setup along with NEDIT so I can start programming on it.
A picture says a thousand words: [caption id="attachment_48" align="aligncenter" width="550" caption="IRIX-6.5.30-running"][/caption] Now to actually get MySQL, PHP etc on it like I wanted to last summer :)
Spent virtually every evening this week working on my Origin 300 I got last summer and finally got to this point: [caption id="attachment_41" align="aligncenter" width="761" caption="IRIX 6.5.30 Launching"][/caption] Called it a night at around 12:30 this morning after getting BASH, Samba, SSH, TightVNC on it, figuring I would wake up and get it running pretty quickly. And I did to some extent: [caption id="attachment_42" align="aligncenter" width="643" caption="IRIX 6.5.30 over VNC"][/caption] Not exactly exciting to see, but an improvement over a console/ssh/telnet session. After some more configuring, started to get when running 4Dwm (IRIX's Windowing Manager, think of it like GNOME or KDE) Media Error: Unrecovered data block read errors Googling the error (and just intuition), the hard drive I spent all week prepping, installing and getting frustrated on is on it's way out. Luckily I remembered from years back upgrading a drive in my origin Silicon Graphics Octane you can pretty easily clone a root drive. Pulled up this link over at the SGI Depot. Followed the steps, tons of errors followed when copying. Crossing my fingers upon pulling out the original installation drive...
Finally got a Silicon Graphics Visual Workstation 330. Not a traditional Silicon Graphics by any means, but the case was neat and fufills a nostalgic purpose. [caption id="attachment_29" align="aligncenter" width="550" caption="SGI VS 330 in box"][/caption] [caption id="attachment_31" align="aligncenter" width="550" caption="SGI VS 330 Sideview"][/caption] Not wanting to be limited to Dual Pentium 3 933mhz CPUs and no SATA support, I used a spare CPU, ram and motherboard I had laying around. [caption id="attachment_32" align="aligncenter" width="550" caption="Asus M4A89GTD/USB3, Corsair XMS3 16gb, Athlon II X3 435 and Crucial 64gb"][/caption] In addition I swapped out the rear fan, being 11 years old it was quite noisy. I had a spare CoolerMaster 120mm low-rpm Blue LED fan that fit perfectly in the back. All in all, pretty smooth swap. Downloaded the Network Install CD of OpenSuse 12.1, installed it and was ready to go in under an hour. In it's completed form: [caption id="attachment_33" align="aligncenter" width="550" caption="Completed swap of parts out of the SGI VS 330"][/caption] All that's left now is to de-scuff the case to bring it back closer to a new state.
Years ago when I was a kid I was enamored by Silicon Graphics. My father spoke highly of them and I saw what they were able to produce in the movies I loved. In high school I had wanted a then new, Octane 2. They were around $14,000 back then. A few years later in 2004/2005, I broke down and spent around $300 on an Octane I. Finally got an Octane II in 2007, but needed cash so I sold off all of my Silicon Graphics equipment. Fast forward until last summer, Origin 300s finally came down to a reasonable price point (~$120), picked up a Quad R14k, 2GB Origin 300 with a Fiber Channel PCI-X card. Only kicker was it didn't have any drives and being an Origin 300, no cd/dvd drive and no video card either. Busy with other stuff, I left it sitting in my "stack". Last night, UPS delivered, IRIX at last! [caption id="attachment_23" align="aligncenter" width="550" caption="IRIX 6.5.4 Installation CDs"][/caption] Still waiting on the drives I bought, found a guy on eBay who had 3 Maxtor Atlas 15K IIs for dirt cheap. One step closer to getting it finally setup :)