3.6. Pre-Installation Hardware and Operating System Setup

This section will walk you through pre-installation hardware setup, if any, that you will need to do prior to installing Debian. Generally, this involves checking and possibly changing firmware settings for your system. The “firmware” is the core software used by the hardware; it is most critically invoked during the bootstrap process (after power-up). Known hardware issues affecting the reliability of Debian GNU/Linux on your system are also highlighted.

3.6.1. Invoking OpenBoot

OpenBoot provides the basic functions needed to boot the SPARC architecture. This is rather similar in function to the BIOS in the x86 architecture, although much nicer. The Sun boot PROMs have a built-in forth interpreter which lets you do quite a number of things with your machine, such as diagnostics, simple scripts, etc.

To get to the boot prompt you need to hold down the Stop key (on older type 4 keyboards, use the L1 key, if you have a PC keyboard adapter, use the Break key) and press the A key. The boot PROM will give you a prompt, either ok or >. It is preferred to have the ok prompt. So if you get the old style prompt, hit the n key to get the new style prompt.

If you are using a serial console, send a break to the machine. With Minicom, use Ctrl-A F, with cu, hit Enter, then type %~break. Consult the documentation of your terminal emulator if you are using a different program.

3.6.2. Boot Device Selection

You can use OpenBoot to boot from specific devices, and also to change your default boot device. However, you need to know some details about how OpenBoot names devices; it's much different from Linux device naming, described in Section B.4, “Device Names in Linux”. Also, the command will vary a bit, depending on what version of OpenBoot you have. More information about OpenBoot can be found in the Sun OpenBoot Reference.

Typically, with newer revisions, you can use OpenBoot device such as “floppy”, “cdrom”, “net”, “disk”, or “disk2”. These have the obvious meanings; the “net” device is for booting from the network. Additionally, the device name can specify a particular partition of a disk, such as “disk2:a” to boot disk2, first partition. Full OpenBoot device names have the form

driver-name@
unit-address:
device-arguments

. In older revisions of OpenBoot, device naming is a bit different: the floppy device is called “/fd”, and SCSI disk devices are of the form “sd(controller, disk-target-id, disk-lun)”. The command show-devs in newer OpenBoot revisions is useful for viewing the currently configured devices. For full information, whatever your revision, see the Sun OpenBoot Reference.

To boot from a specific device, use the command boot device. You can set this behavior as the default using the setenv command. However, the name of the variable to set changed between OpenBoot revisions. In OpenBoot 1.x, use the command setenv boot-from device. In later revisions of OpenBoot, use the command setenv boot-device device. Note, this is also configurable using the eeprom command on Solaris, or modifying the appropriate files in /proc/openprom/options/, for example under Linux:

# echo disk1:1 > /proc/openprom/options/boot-device

and under Solaris:

eeprom boot-device=disk1:1

3.6.3. Hardware Issues to Watch Out For

Many people have tried operating their 90 MHz CPU at 100 MHz, etc. It sometimes works, but is sensitive to temperature and other factors and can actually damage your system. One of the authors of this document over-clocked his own system for a year, and then the system started aborting the gcc program with an unexpected signal while it was compiling the operating system kernel. Turning the CPU speed back down to its rated value solved the problem.

The gcc compiler is often the first thing to die from bad memory modules (or other hardware problems that change data unpredictably) because it builds huge data structures that it traverses repeatedly. An error in these data structures will cause it to execute an illegal instruction or access a non-existent address. The symptom of this will be gcc dying from an unexpected signal.

3.6.3.1. More than 64 MB RAM

The Linux Kernel cannot always detect what amount of RAM you have. If this is the case please look at Section 5.2, “Boot Parameters”.