Difference between revisions of "SNI Monitor"

From LinuxMIPS
Jump to: navigation, search
(Boot CD)
(IdProm recovery)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
SNI Monitor is a big-endian firmware for the Siemens Nixdorf [[RM_400|RM-400]] server (and others).
+
The '''SNI Monitor''' is a big-endian [[firmware]] for MIPS-based Siemens-Nixdorf systems.  It's a close relative to the firmware used in pre-[[ARC]] systems by [[SGI]] and [[wikipedia:MIPS Computer Systems|MIPS Computer Systems]] Magnum.
 +
 
 +
== API ==
 +
 
 +
SNI Monitor maintains a call vector at 0xbfc00000. This calls are similar to the API calls used in the MIPS [[wikipedia:MIPS_Magnum|Magnum 3000]] (a.k.a mipsco) monitor (see [http://www.linux-mips.org/git?p=linux.git;a=blob;f=include/asm-mips/mipsprom.h include/asm/mipsprom.h] for details).
 +
 
 +
== System ID recovery ==
 +
Some old SNI RM-x00 machines store their system ID in battery backed memory.  Newer systems store this information in a EEPROM and there is the faint chance of this information getting destroyed by an accident.  This ID can be restored using the ''init_e2prom'' command.
  
 
== Boot process ==
 
== Boot process ==
Line 8: Line 15:
 
  sash: MIPSEB ECOFF executable (impure) stripped - version 2.11
 
  sash: MIPSEB ECOFF executable (impure) stripped - version 2.11
  
SINIX uses [[Wikipedia:System V|System V]] slices :
+
SINIX uses [[Disk Volume Header]] partition table, but partition nubers are different from the IRIX:
  
 
* Slice 1 - root file system
 
* Slice 1 - root file system
 
* Slice 2 - swap
 
* Slice 2 - swap
 
* ...
 
* ...
 +
* Slice 8 - entire Volume
 
* Slice 10 - boot slice with BFS (Boot File System)
 
* Slice 10 - boot slice with BFS (Boot File System)
 +
* Slice 11 - Volume Header (sector 0)
  
 
http://penguin.cz/~mhi/fs/bfs/
 
http://penguin.cz/~mhi/fs/bfs/
  
== Boot CD-ROM ==
+
== Bootable CD-ROMs ==
  
SINIX bootable CD-ROM contains [[Wikipedia:ISO_9660|ISO-9660]] filesystem '''and''' IRIX Volume Header. Note! There is only one record in the DVH partition table pointing to itself (sector 0). Volume Header resides in the CR-ROM System Area and doesn't interfere with ISO-9660 Primary Volume Descriptor starting at logical sector 16 (0x8000). DVH's directory entries are pointing directly to the first sector of the apprpriate files in the ISO-9660 area (in the /BOOT directory).
+
SINIX bootable CD-ROM contains [[Wikipedia:ISO_9660|ISO-9660]] filesystem '''and''' [[Disk Volume Header]]. Note! There is only one record in the DVH partition table pointing to itself (sector 0). The DVH resides in the CR-ROM System Area and doesn't overlap with ISO-9660 Primary Volume Descriptor starting at logical sector 16 (0x8000). DVH directory entries are pointing to the first sector of the apprpriate files in the ISO-9660 area (in the /BOOT directory).
  
 
  # dvhtool --device /dev/hdc --print-all
 
  # dvhtool --device /dev/hdc --print-all
Line 60: Line 69:
 
   5: miniroot  sector63320 size 6291456
 
   5: miniroot  sector63320 size 6291456
 
   6: systest    sector79304 size 1916032
 
   6: systest    sector79304 size 1916032
 
== API ==
 
 
SNI Monitor maintains a call vector at 0xbfc00000. Some calls are similar to the API calls used in the [[DECstation]] monitor.
 
  
 
== Bootlog ==
 
== Bootlog ==

Latest revision as of 11:03, 17 May 2006

The SNI Monitor is a big-endian firmware for MIPS-based Siemens-Nixdorf systems. It's a close relative to the firmware used in pre-ARC systems by SGI and MIPS Computer Systems Magnum.

API

SNI Monitor maintains a call vector at 0xbfc00000. This calls are similar to the API calls used in the MIPS Magnum 3000 (a.k.a mipsco) monitor (see include/asm/mipsprom.h for details).

System ID recovery

Some old SNI RM-x00 machines store their system ID in battery backed memory. Newer systems store this information in a EEPROM and there is the faint chance of this information getting destroyed by an accident. This ID can be restored using the init_e2prom command.

Boot process

SNI Monitor loads a secondary bootloader dkncr(0,0,10)sash which loads SINIX's dkncr(0,0,0)unix file.

$ file sash
sash: MIPSEB ECOFF executable (impure) stripped - version 2.11

SINIX uses Disk Volume Header partition table, but partition nubers are different from the IRIX:

  • Slice 1 - root file system
  • Slice 2 - swap
  • ...
  • Slice 8 - entire Volume
  • Slice 10 - boot slice with BFS (Boot File System)
  • Slice 11 - Volume Header (sector 0)

http://penguin.cz/~mhi/fs/bfs/

Bootable CD-ROMs

SINIX bootable CD-ROM contains ISO-9660 filesystem and Disk Volume Header. Note! There is only one record in the DVH partition table pointing to itself (sector 0). The DVH resides in the CR-ROM System Area and doesn't overlap with ISO-9660 Primary Volume Descriptor starting at logical sector 16 (0x8000). DVH directory entries are pointing to the first sector of the apprpriate files in the ISO-9660 area (in the /BOOT directory).

# dvhtool --device /dev/hdc --print-all
----- partitions -----
Part# 10, start 0, blks 76800, type Volume Header
----- bootinfo -----
Root partition: 0
Swap partition: 0
Bootfile: ""
----- directory entries -----
Entry #0, name "unix_410", start 49492, bytes 6639233
Entry #1, name "sash_410", start 62460, bytes 439296
Entry #2, name "sash_pci", start 78304, bytes 511869
Entry #3, name "upde_410", start 75608, bytes 509856
Entry #4, name "upde_pci", start 76604, bytes 869061
Entry #5, name "miniroot", start 63320, bytes 6291456
Entry #6, name "systest", start 79304, bytes 1916032


# fdisk /dev/hdc
You will not be able to write the partition table.
Note: sector size is 2048 (not 512)

Command (m for help): p

Disk /dev/hdc (SGI disk label): 255 heads, 63 sectors, 15 cylinders
Units = cylinders of 16065 * 512 bytes

----- partitions -----
Pt#    Device  Info     Start       End   Sectors  Id  System
11: /dev/hdc1               0         4     76800   0  SGI volhdr
----- Bootinfo -----
Bootfile:
----- Directory Entries -----
 0: unix_410   sector49492 size 6639233
 1: sash_410   sector62460 size  439296
 2: sash_pci   sector78304 size  511869
 3: upde_410   sector75608 size  509856
 4: upde_pci   sector76604 size  869061
 5: miniroot   sector63320 size 6291456
 6: systest    sector79304 size 1916032

Bootlog

SNI Monitor    Version 2.0018 SNI_R4000 OPT Wed May 25 11:39:36 WET 1994 liva20r
Memory size: 128 MBytes (0x8000000 bytes)
Bank #0:  64 MBytes             Bank #1:  64 MBytes
Bank #2:   0 MBytes             Bank #3:   0 MBytes
CPU : R4400  SC, Revision 5.0
Primary I-cache size: 16384 (0x4000) bytes
Primary D-cache size: 16384 (0x4000) bytes
Secondary cache size: 128 Kbytes (0x20000 bytes)
>> dkncr(0,0,10)sash
297872+130048+628272 entry: 0xa0600000
SNI Standalone Shell Version 3.0003 SNI_R4000 OPT Thu Jun 23 13:30:39 WET 1994 livsa542

Loading dkncr(0,0,0)unix
2128236+873536+557808 entry: 0x80021000

SNI  RM400
UNIX(R) SINIX-N Release 5.42 Version A0007