System Initialization (Sparc): Difference between revisions

From OSDev.wiki
Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content added Content deleted
m (→‎Links: adding related article)
No edit summary
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:Sparc]]
At boot time, a SPARC system will load the OpenBoot firmware, which then initializes basic hardware (such as the framebuffer, serial ports, keyboard, and disks), tests system functioning, and, optionally, (if the auto-boot? option is set to true) loads a primary bootloader in some way. Otherwise, it gives the user an "ok" prompt, at which to type initialization commands or FORTH instructions.
At boot time, a SPARC system will load the OpenBoot firmware, which then initializes basic hardware (such as the framebuffer, serial ports, keyboard, and disks), tests system functioning, and, optionally, (if the auto-boot? option is set to true) loads a primary bootloader in some way. Otherwise, it gives the user an "ok" prompt, at which to type initialization commands or FORTH instructions.


In theory, one could load an operating system from any device they wish, regardless of whether the device is directly supported by OpenBoot (eg, by typing in FORTH words to stick the raw bytes of the operating system code in memory). In parctice, however, an operating system is generally loaded from the hard disk, a floppy, or the network.
In theory, one could load an operating system from any device they wish, regardless of whether the device is directly supported by OpenBoot (eg, by typing in FORTH words to stick the raw bytes of the operating system code in memory). In practice, however, an operating system is generally loaded from the hard disk, a floppy, or the network.


== Hard disk ==
== Hard disk ==
Typing "boot disk" at the boot prompt loads a bootloader from the hard disk, starting with sector 1 (512 bytes from the beginning of the disk) and continuing for 15 more sectors (7.5 Kb), assuming that the disk has a proper Sun Disklabel on it. Alternatively, "load disk" loads the bootloader into memory but does not load it.
Typing "boot disk" or "b sd(0,3,0)" for older boot proms at the boot prompt loads a bootloader from the hard disk, starting with sector 1 (512 bytes from the beginning of the disk) and continuing for 15 more sectors (7.5 Kb), assuming that the disk has a proper Sun Disklabel on it. Alternatively, "load disk" loads the bootloader into memory but does not execute it.


== CD/DVD ==
Typing "boot cdrom" or "b sd(0,6,0)" for older boot proms will load the boot loader from the system architecture specific partition of the cdrom. This allows different code to be executed on the various sun architectures sun-4 sun4c sun4m sun4d etc... In the case linux and bsd the partitions are all mapped to the same bootblock. The SILO bootloader documentation covers this in some detail.
== Floppy ==
== Floppy ==
Somebody who has tried this, please fill this in. Theoretically, because disk-label provides the load command, it should work the same way, but who knows?
Somebody who has tried this, please fill this in. Theoretically, because disk-label provides the load command, it should work the same way, but who knows?

If you have a v2 prom a the prom type
<pre>boot floppy</pre>
or if you have a v0 prom
<pre>b fd()</pre>

BSD boot floppies work at least on v2 proms tested on Sparc Station 5 and 10 and supposedly work on v0 boot proms as well though initial testing showed it isn't as reliable. Also see the [[SILO]] page.


== Network ==
== Network ==
Loading from the network uses RARP to configure an IP address. It then connects to the TFTP server on the machine that responded to the RARP request, and downloads a file whose name is the machine's IP address in hex (with ".SUN4M" or ".SUN4C" appended if it's a V7 or V8 sparc, respectively). This is then used as the bootloader.
Loading from the network uses RARP to configure an IP address. It then connects to the TFTP server on the machine that responded to the RARP request, and downloads a file whose name is the machine's IP address in hex (with ".SUN4C" or ".SUN4M" appended if it's a V7 or V8 SPARC, respectively). This is then used as the bootloader.


== See Also ==


== See Also ==
* [[SILO]]
=== Articles ===
=== Articles ===
* [[Sparc Overview]]
* [[Sparc Overview]]
Line 20: Line 29:
=== Links ===
=== Links ===
* [http://www.cheesecake.org/sac/os-supp/ Writing an Operating System for SPARC-Based Computers]
* [http://www.cheesecake.org/sac/os-supp/ Writing an Operating System for SPARC-Based Computers]

[[Category:Sparc]]
[[Category:Booting]]

Latest revision as of 18:42, 9 July 2023

At boot time, a SPARC system will load the OpenBoot firmware, which then initializes basic hardware (such as the framebuffer, serial ports, keyboard, and disks), tests system functioning, and, optionally, (if the auto-boot? option is set to true) loads a primary bootloader in some way. Otherwise, it gives the user an "ok" prompt, at which to type initialization commands or FORTH instructions.

In theory, one could load an operating system from any device they wish, regardless of whether the device is directly supported by OpenBoot (eg, by typing in FORTH words to stick the raw bytes of the operating system code in memory). In practice, however, an operating system is generally loaded from the hard disk, a floppy, or the network.

Hard disk

Typing "boot disk" or "b sd(0,3,0)" for older boot proms at the boot prompt loads a bootloader from the hard disk, starting with sector 1 (512 bytes from the beginning of the disk) and continuing for 15 more sectors (7.5 Kb), assuming that the disk has a proper Sun Disklabel on it. Alternatively, "load disk" loads the bootloader into memory but does not execute it.

CD/DVD

Typing "boot cdrom" or "b sd(0,6,0)" for older boot proms will load the boot loader from the system architecture specific partition of the cdrom. This allows different code to be executed on the various sun architectures sun-4 sun4c sun4m sun4d etc... In the case linux and bsd the partitions are all mapped to the same bootblock. The SILO bootloader documentation covers this in some detail.

Floppy

Somebody who has tried this, please fill this in. Theoretically, because disk-label provides the load command, it should work the same way, but who knows?

If you have a v2 prom a the prom type

boot floppy

or if you have a v0 prom

b fd()

BSD boot floppies work at least on v2 proms tested on Sparc Station 5 and 10 and supposedly work on v0 boot proms as well though initial testing showed it isn't as reliable. Also see the SILO page.

Network

Loading from the network uses RARP to configure an IP address. It then connects to the TFTP server on the machine that responded to the RARP request, and downloads a file whose name is the machine's IP address in hex (with ".SUN4C" or ".SUN4M" appended if it's a V7 or V8 SPARC, respectively). This is then used as the bootloader.


See Also

Articles

Links