Subject: Partial Success Report

From: Jeff Coffin <[email-masked]>
Date: 15 Oct 1998 13:50:31 -0700

Hi All, 

I've been reading this list for the past many months as I slowly and
infrequently try to bring a dead Indy R5000 back to life, then get
Linux up on it.  The box had a dead disk and still has a bad graphics
board, but I've managed to get IRIX installed and operational on one
disk, another one installed and fx'd from IRIX; all from the serial
console (minicom) and remote X on my x86 Linux (RedHat 5.1) box.

I think there's something very wrong with the gfx card 'cause when I
try to start X under IRIX it complains about a failed context switch
and loops with the same error message for a few iterations, then
hangs. (Sorry I don't have the message with me, it's at home.  I can
post tonight it if it's relevant)

Last night I got the HardHat kernel to boot via the bootp method
described in the Howto and, as expected from the experiences of
Richard Hartensveld, it hung looking for a console.  I then grabbed
newer kernels (2.1.116 and 2.1.121) from the /pub/test on the ftp
server and attmepted to get them loaded by the same mechanism, but
both of them hang after loading via tftp.

I don't know where to go from here, so I'm looking for ideas.  Hinv
and the boot log from the hardhat kernel boot are below.

I'm thinking about removing the gfx board entirely and seeing if that
has any effect, will that do me any good?

Any help or suggestions would be appreciated.

--jeff

>> hinv
              System: IP22
           Processor: 180 Mhz R5000, with FPU
Primary I-cache size: 32 Kbytes
Primary D-cache size: 32 Kbytes
Secondary cache size: 512 Kbytes
         Memory size: 64 Mbytes
            Graphics: GR3-XZ
           SCSI Disk: scsi(0)disk(2)
           SCSI Disk: scsi(0)disk(3)
               Audio: Iris Audio Processor: version A2 revision 4.1.0

boot:
Command Monitor.  Type "exit" to return to the menu.
>> $linux
72912+9440+3024+331696+23768d+3644+5808 entry: 0x8bf9a950
Setting $netaddr to 192.168.0.30 (from server lil)
Obtaining /vmlinux from server lil
PROMLIB: SGI ARCS firmware Version 1 Revision 10
PROMLIB: Total free ram 64270336 bytes (62764K,61MB)
ARCH: SGI-IP22
CPU: MIPS-R5000 FPU<MIPS-R5000FPC> ICACHE DCACHE SCACHE
Loading R4000 MMU routines.
CPU revision is: 00002310.
Primary instruction cache 32kb, linesize 32 bytes)
Primary data cache 32kb, linesize 32 bytes)
Linux version 2.1.100 ([email-masked]) (gcc version 2.7.2) #29 Thu J8
MC: SGI memory controller Revision 3
R4600/R5000 SCACHE size 512K, linesize 32 bytes.
calculating r4koff... 000dbda6(900518)
zs0: console input
zs0: console I/O
Calibrating delay loop... 179.81 BogoMIPS
Memory: 60444k/196196k available (1216k kernel code, 2684k data)
Swansea University Computer Society NET3.039 for Linux 2.1
NET3: Unix domain sockets 0.16 for Linux NET3.038.
Swansea University Computer Society TCP/IP for NET3.037
IP Protocols: ICMP, UDP, TCP
Checking for 'wait' instruction...  available.
POSIX conformance testing by UNIFIX
Starting kswapd v 1.5
Adv: about to run setup()
initialize_kbd: Keyboard reset failed, no ACK
SGI Zilog8530 serial driver version 1.00
Keyboard timeout
Keyboard timeout
tty00 at 0xbfbd9838 (irq = 21) is a Zilog8530
tty01 at 0xbfbd9830 (irq = 21) is a Zilog8530
Ramdisk driver initialized : 16 ramdisks of 4096K size
loop: registered device at major 7
WD93: Driver version 1.25 compiled on Jul  7 1998 at 16:59:57
 debug_flags=0x00
wd33c93-0: chip=WD33c93B/13 no_sync=0xff no_dma=0scsi0 : SGI WD93
scsi : 1 host.
 sending SDTR 0103013f0csync_xfer=2c  Vendor: SGI       Model: IBM DORS-32160  D
  Type:   Direct-Access                      ANSI SCSI revision: 02
Detected scsi disk sda at scsi0, channel 0, id 2, lun 0
 sending SDTR 0103013f0csync_xfer=2c  Vendor: SEAGATE   Model: ST31055N        2
  Type:   Direct-Access                      ANSI SCSI revision: 02
Detected scsi disk sdb at scsi0, channel 0, id 3, lun 0
scsi : detected 2 SCSI disks total.
SCSI device sda: hdwr sector= 512 bytes. Sectors= 4197405 [2049 MB] [2.0 GB]
SCSI device sdb: hdwr sector= 512 bytes. Sectors= 2069860 [1010 MB] [1.0 GB]
sgiseeq.c: David S. Miller ([email-masked])
eth0: SGI Seeq8003 08:00:69:0a:43:7c
Sending BOOTP requests.... OK
IP-Config: Got BOOTP answer from 192.168.0.20, my address is 192.168.0.30
Partition check:
 sda: sda1 sda2 sda3 sda4
 sdb: sdb1 sdb2 sdb3 sdb4 sdb5 sdb6
Looking up port of RPC 100003/2 on 192.168.0.20
Looking up port of RPC 100005/1 on 192.168.0.20
VFS: Mounted root (nfs filesystem).
Adv: done running setup()
Freeing unused kernel memory: 44k freed
Warning: unable to open an initial console

---

From: Ulf Carlsson <[email-masked]>
Date: Fri, 16 Oct 1998 00:17:17 +0200

Hello,

> both of them hang after loading via tftp.

It *should* find an initial console if you have mounted the root filesystem from
the hardhat CD correctly. 

You can probably install hardhat on a i386 box in your local network if you
want, and boot directly into an already installed hardhat via nfs-root. That
hardhat default installer is _very_ annoying, it crashes all the time.. (signal
11, out of memory etc..), I don't know if this would solve your problems - but
it helped me... :)
Give the --root <rootdir> option to rpm, and install the needed rpms from the cd

> has any effect, will that do me any good?

It would probably not make much difference, "Warning: unable to open an initial
console" isn't caused by a gfx board neither an old kernel, but from an
incorrect /dev/console.

I'm currently running hardhat diskless, I'm only using the IRIX harddrive when
I boot (the bootp command is loaded from the harddrive).

- Ulf

---

From: Jeff Coffin <[email-masked]>
Date: 15 Oct 1998 16:46:29 -0700

Ulf Carlsson <[email-masked]> writes:

> It *should* find an initial console if you have mounted the root
> filesystem from the hardhat CD correctly. 

Maybe that's the problem, it all *looks* right.  Is this the case for
the harthat kernel as well as the 2.1.116 and 2.1.121 versions off the
FTP server?

Let's see if I have this straight:

from the PROM, it I do

boot bootp():/vmlinux

and NFS is configured properly (more or less as per the HowTo) on the
i386 box, the kernel will boot and find the NFS root filesystem as
configured in exports or do I need to pass the kernel the nfsroot
param to get it to properly mount the install root?

> It would probably not make much difference, "Warning: unable to open
> an initial console" isn't caused by a gfx board neither an old
> kernel, but from an incorrect /dev/console. 

That's what I thought.  I was speculating that the hardware trouble
was causing the kerel hangs.

> I'm currently running hardhat diskless, I'm only using the IRIX
> harddrive when I boot (the bootp command is loaded from the
> harddrive). 

Not from the PROM?  How does that work?  (I'm new to SGI's and getting
IRIX up at all from just a CD and a new hard drive was a "learning
experience") 

I'll play with it some more tonight or tomorrow when i have the time.

Thanks for the suggestions.

--jeff

---

From: Ulf Carlsson <[email-masked]>
Date: Fri, 16 Oct 1998 21:46:59 +0200

> was causing the kerel hangs.

Are we sure that the XZ chipset you have is supported? Get a newport one :)

> IRIX up at all from just a CD and a new hard drive was a "learning

I thought the bootp command was loaded from the IRIX partition, because it
didn't work when I removed the IRIX harddrive, atleast it didn't with my old
PROM.  It claimed that it couldn't find the bootp() command - maybe I'm out of
my mind, I'll check next time I remove the cover...

- Ulf

---

From: Jeremy John Welling <[email-masked]>
Date: Fri, 16 Oct 1998 21:15:22 -0400 (EDT)

Are XZ graphics supported?

---

From: [email-masked]
Date: Sat, 17 Oct 1998 04:01:48 +0200

> my mind, I'll check next time I remove the cover...

bootp() is just a ARC filename which is either interpreted by the PROM
command interpreter or by sash where sash afaik is nothing other than the
PROMs compiled with special flags.

  Ralf

---

From: Thomas Bogendoerfer <[email-masked]>
Date: Sat, 17 Oct 1998 11:16:45 +0200

On Thu, Oct 15, 1998 at 01:50:31PM -0700, Jeff Coffin wrote:
> Richard Hartensveld, it hung looking for a console.

Could you please lookup major and minor number of /dev/console on
your root filesystem ? It should be major 5 and minor 2 to work
properly with the serial console.

>  I then grabbed

please try to boot these kernels with bootp()/vmlinux console=ttyS0 (also
try ttyS1) and a terminal hooked up to one of the serial ports (in .116
ttyS0 is port 2 and ttyS1 is port 1; I've changed that in .121, but I'm not
sure if this fix is already in the precompiled kernel). It's possible, 
that I've messed up the card detection so, that it panics, when there is 
no newport installed.

Thomas.

-- 
   This device has completely bogus header. Compaq scores again :-|
It's a host bridge, but it should be called ghost bridge instead ;^)
                                        [Martin `MJ' Mares on linux-kernel]

---

From: Thomas Bogendoerfer <[email-masked]>
Date: Sat, 17 Oct 1998 11:17:25 +0200

> Are XZ graphics supported? 

If XZ isn't another name for newport, then no.

Thomas.

---

From: [email-masked]
Date: Sun, 18 Oct 1998 01:56:24 +0200

> If XZ isn't another name for newport, then no.

XL is the official name for the Newport.

  Ralf

---

From: Ulf Carlsson <[email-masked]>
Date: Sun, 18 Oct 1998 02:09:54 +0200

> PROMs compiled with special flags.

The command 'boot bootp():' requires a harddrive, but I can run 'bootp():'
diskless. Does the 'boot' part of the command tell the PROM to use sash?

- Ulf

---

From: [email-masked] (George Kyriazis)
Date: Sun, 18 Oct 1998 10:32:26 -0700 (PDT)

> XL is the official name for the Newport.
I am not familiar with what Linux exactly is ported on, but my guess would be
only Newport.

XZ is a non-Newport based card for Indy.  XZ has more-or-less the same
internal architecture as Elan/Extreme, so it's probably a safe bet that
is it not supported.

  --george
-- 
-----------------------------------------------------------------------------
George Kyriazis  | Silicon Graphics, Inc., 8U-590 |  [email-masked]
                 | 2011 N. Shoreline Blvd.        |  650-933-2828
                 | Mt. View, CA 94043             |

---

From: [email-masked]
Date: Mon, 19 Oct 1998 01:10:43 +0200

> internal architecture as Elan/Extreme, so it's probably a safe bet that

Correct.

  Ralf

---

From: "William J. Earl" <[email-masked]>
Date: Sun, 18 Oct 1998 17:13:15 -0700

> PROMs compiled with special flags.

       That is, bootp() is part of a path.  There is no bootp command.

       sash, unlike most PROMs, has one or more (read-only) disk file
systems bound into it.  On Indy, older sash versions can read efs volumes,
and newer ones can also read xfs volumes.

---

From: "William J. Earl" <[email-masked]>
Date: Sun, 18 Oct 1998 17:15:09 -0700

> XL is the official name for the Newport.

    XZ is one of the variants of the Elan/Extreme series of cards,
which have one or more geometry engines on the card.  The geometry
engines need microcode downloaded for full functionality, and the
interfaces are not externally documented, so it is hard to build
linux support without access to the IRIX source for reference.

---

From: "William J. Earl" <[email-masked]>
Date: Sun, 18 Oct 1998 17:15:43 -0700

> diskless. Does the 'boot' part of the command tell the PROM to use sash?

      Try

	boot -f bootp():

This avoids trying to load sash.

---

From: "Fernando D. Mato Mira" <[email-masked]>
Date: Mon, 19 Oct 1998 08:44:45 +0200

>linux support without access to the IRIX source for reference.

What about just getting the console running (no X server)?
How do GR2 (Indigo Elan) and GR3 (Indigo II Elan) differ in terms of
programming?

Fernando D. Mato Mira                    
Real-Time SW Eng & Networking            
Advanced Systems Engineering Division
CSEM - Centre Suisse d'Electronique et de
Microtechnique                                 
Jaquet-Droz 1                         email:  [email-masked]
CH-2007 Neuchatel                       tel: +41 (32) 720-5157
Switzerland                             FAX: +41 (32) 720-5720

<http://www.csemne.ch/>www.csem.ch                  <http://www.vrai.com/>w
ww.vrai.com              
<http://ligwww.epfl.ch/matomira.html>http://ligwww.epfl.ch/matomira.html

---

From: [email-masked] (George Kyriazis)
Date: Mon, 19 Oct 1998 12:53:40 -0700 (PDT)

> How do GR2 (Indigo Elan) and GR3 (Indigo II Elan) differ in terms of
I did some asking around.  Here's what I found:

* In order to do anything, you have to download microcode.

* The monitor PROM downloads a mini-microcode that could be used.  I am
  not sure what the entry points look like to the PROM.  I think this
  is the safest bet.

* The full-functioning microcode (that does 3d) is downloaded at boot
  time before the X server initializes.
 
* The people that I asked are not clear about the programming differences
  between GR2 and GR3.  Certainly they are the same for OpenGL-level
  programming.  My guess is that there are differences in the CPU interfacing
  and video back end.  User-level code is the same, but kernel initialization
  and management code may be different.

* Getting things up and running on a GR-type (Express) architecture is 
  definetely more difficult than Newport.

* Documentation will be hard to find.  Documentation for programming the
  microcoded engines, even harder.  You could, of course, use the existing
  microcode.

  --george

---

From: [email-masked]
Date: Tue, 20 Oct 1998 03:41:38 +0200

>   microcoded engines, even harder.  You could, of course, use the existing

For now that looks like the best strategy.  Anyway, as step one all we
want is text output.  This can be achived by using the ARC firmware.
That may be slow, but it's working and it gives us an instant driver for
any number of console devices people might have come up with in the past.
The Sparc guys, btw already have a prom console driver.

  Ralf