Difference between revisions of "SNI Monitor"
(Boot) |
(→IdProm recovery) |
||
(7 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | SNI Monitor is a big-endian firmware for | + | 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 5: | Line 12: | ||
SNI Monitor loads a secondary bootloader ''dkncr(0,0,10)sash'' which loads SINIX's ''dkncr(0,0,0)unix'' file. | SNI Monitor loads a secondary bootloader ''dkncr(0,0,10)sash'' which loads SINIX's ''dkncr(0,0,0)unix'' file. | ||
− | SINIX uses [[ | + | $ 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 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/ | ||
− | == | + | == Bootable CD-ROMs == |
− | SINIX bootable CD-ROM contains ISO-9660 filesystem and | + | 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 57: | Line 69: | ||
5: miniroot sector63320 size 6291456 | 5: miniroot sector63320 size 6291456 | ||
6: systest sector79304 size 1916032 | 6: systest sector79304 size 1916032 | ||
− | |||
− | |||
− | |||
− | |||
== 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