System Initialization (SGI Mips)
|
|
At boottime, a SGI system will load the ARCS firmware which then initializes basic hardware (such as the framebuffer, serial ports, keyboard, and disks), test system functionality and optionally loads a primary bootloader or kernel. Otherwise, it gives the user a graphical menu if a keyboard has been attached.
The ARCS firmware was made in both 32 bit and 64 bit versions. The 32 bit versions are loosely based on the ARC firmware specification, but as with all ARC systems there were several deviations. The differences between the 32 bit and 64 bit version are not well documented. A system with a 64 bit processor does not necessarily have a 64 bit firmware - the Power Indigo 2, Indigo 2 R10000, Origin, Onyx 2, and Octane are 64 bit ARCS, for example, but the Indy, which has a 64 bit processor, runs a 32 bit version of ARCS.
The 32 bit and early 64 bit versions of the ARCS firmware expect a boot payload in ECOFF format, an extended variant of COFF. Later 64 bit versions of the firmware (as well as a later 32 bit firmware for the R5000 Indy) will also accept ELF binaries.
Pre-ARCS Firmware SGIs
All SGIs under the Personal IRIS, Power Series, Professional IRIS and IRIS 4D (but not the IRIS Indigo) use a PROM firmware distinct from the later ARCS firmware.
ARCS Firmware SGIs
Starting with the SGI IRIS Indigo ARCS is the firmware used with a full graphical interface for startup.[1]
ARCS Environment Variables
The following variables are relevant in terms of getting ARCS to boot:
OSLoadPartition The disk partition where the operating system kernel is located. This is also used as the default root partition and is set automatically at system startup. Takes the format: dksc(0,1,0) (first number is controller, second is device, third is partition number) OSLoader The operating system loading program. By default, this is sash (the stand-alone shell). This is set automatically at system startup. SystemPartition The disk partition where the operating system loading program is found. This is set automatically at system startup. Takes the format: dksc(0,1,0) (first number is controller, second is device, third is partition number) OSLoadFilename The filename of the operating system kernel. By default, this is /unix. This variable is automatically set at system startup. OSLoadOptions This variable specifies options to the boot command used to load the operating system. AutoLoad This variable specifies whether the operating system will boot automatically after a reset or power cycle. This variable supersedes bootmode and can be set to yes or no. This variable interacts with the rebound variable and the reboot_on_panic kernel tunable parameter.
Further reading can be had at this guide
