D    Administering Specific Hardware

D.1    Introduction

This appendix describes the procedures for adding and configuring certain hardware devices or options as follows:

D.2    PCMCIA Support

Certain processors are able to support PCMCIA (PC Cards) as stated in the Owner's Manual and the Software Product Description of a given release of the UNIX operating system. Only a small number of cards have been qualified, but if the card adheres closely to standards it might work.

The steps involved in configuring a PCMCIA card are as follows:

  1. Verify that your hardware and operating system support PCMCIA (PC Cards). Consult the information from the adapter vendor and card vendor for any additional configuration steps that are necessary and contact the vendor if you are uncertain.

  2. Determine the bus type, which can be ISA or EISA. This step determines the method of console configuration you will use.

  3. Install the adapter and configure it using the appropriate console commands.

  4. Configure a custom kernel and create the device special files. This step might be unnecessary if an adapter was installed and a card was inserted during initial installation and configuration of the operating system. In this case, the operating system detects the card and creates the kernel configuration entries and device special files. See Chapter 4 for information on kernel configuration and Chapter 5 for information on device special files.

  5. Update the /etc/remote file.

  6. Insert and eject the card as required.

Refer to the pcmcia(7) reference page for specific information on configuring cards and on any current restrictions in a given release. See also the modem(7) reference page and the Network Administration guide for information on modem connections.

D.3    CalComp Graphics Tablet

Certain processors are able to support the CalComp DrawingBoard III Tablet as stated in the Owner's Manual and the Software Product Description of a given release of the UNIX operating system. Other input devices supported by the Xinput extension to the Xserver might work using a similar configuration. When the software for the tablet is installed on your system, you can configure it to emulate a system mouse.

The steps involved in configuring a tablet are as follows:

  1. Ensure that the /usr/var/X11/Xserver.conf file contains a line similar to the following:

    input <
    <_dec_xi_db3  lib_dec_xi_db3.so  XiDb3Init /dev/tty00:1:12:12:16:\
    1:8:1000:1:1 >
    >
    

    The tty that is specified is the serial port (COMM) where the tablet is connected to your system.

  2. Specify settings for the tablet in the last line of this file. This line has the following syntax:

    device:mode:tabletWidth:tabletHeight:numbtns:corePointer:mouseScale:\
    resolution:Xincrement:Yincrement
    

    (Refer to the calcomp(7) reference page for an explanation of the data fields.)

  3. Connect the tablet to your system and turn it on.

  4. Enter the following command to restart the Xserver so that the Xinput extension can recognize the tablet:

    
    # /usr/sbin/shutdown -r +5 \
    "Turning on support for the Calcomp Drawingboard III tablet" 
    

    When the system comes back up, the tablet will be configured into the Xserver and ready to use.

Refer to the calcomp(7) reference page for more information and for restrictions on use.

D.4    AlphaServer GS140 Logical Partitions

A single AlphaServer GS140 system can be divided into a maximum of three logical partitions. Each partition is allocated its own dedicated set of hardware resources. A partition is viewed by the operating system and applications software as a single AlphaServer GS140 system.

Logical partitions employ a share nothing model. That is, all hardware resources (processors, memory, and I/O) allocated to a partition are isolated to that partition. A partition's hardware resources can be accessed only by the operating system instance running on that partition.

You can use logical partitions to reduce floor space requirements, power consumption, or improve heat dissipation (by reducing computer room cooling requirements). For example, two departments in an enterprise with different computing requirements might run different applications and require different configuration and tuning of the operating system. Logical partitioning allows you to configure a single AlphaServer GS140 computer to meet the computing needs of both departments.

D.4.1    Hardware Requirements

The hardware requirements for a partition are:

The remainder of this section describes the tasks you perform to configure partitions, and provides information about managing a partitioned AlphaServer GS140 system. The topics covered describe the following activities:

D.4.2    Preparing to Install and Operate Logical Partitions

You should become familiar with the operation of your system by reading the hardware documentation supplied with your system. Of particular interest for partitioning are the operation of the system's OFF/SECURE/ENABLE/RESET switch and several console commands (such as: boot, create, init, set, and show).

Before setting up your partitions, make sure the system hardware is fully installed and passes all self-test diagnostics.

Note

Before installing the operating system software to any partition, you should read all subsections of this document. There are certain aspects of managing a partitioned system you must be aware of prior to making the system operational. Precautions must be taken to prevent actions by the console on a partition from interfering with operation of another partition.

The next section describes logical partitioning terms used throughout the rest of this document. After reviewing these terms, proceed to section Section D.4.3.

D.4.2.1    Definition of Commonly Used Terms

You should become familiar with the following terms before configuring your partitions.

logical partition

A logical grouping of hardware resources (CPU, IO, MEMORY, and console) within a single system for exclusive use by an instance of the operating system. A single physical system may have several logical partitions, each running a separate instance of the operating system.

primary partition

Partition number zero. The partition with the only active console terminal when partitioning is disabled (that is, all hardware resources are in one partition).

secondary partition

Partition with a number other greater than zero. One of the partitions that display the console prompt after the lpinit command is executed on the primary partition's console.

primary console

The console terminal connected to the primary partition. The only active console terminal when partitions are disabled.

secondary console

The console terminal connected to a secondary partition. Only active when partitions are enabled.

power OFF/ENABLE switch

The four position switch located on the AlphaServer GS140 control panel. The four positions perform the following functions:

console prompt

The prompt displayed on the console terminal of a partition to indicate the console firmware is ready to accept commands, which has the following appearance:

P##>>> 

Where ## is the processor number on which the console firmware is currently executing. This is normally the primary processor of the current partition as shown in the following examples:

ctrl/p halt

On the primary console terminal only, holding down the control key and typing the letter p will cause the primary processor for partition 0 to halt and enter console mode (P00>>> prompt). The halt operation can be disabled by setting the power switch to the SECURE position. The halt operation is ignored on secondary partitions.

P##>>>stop N">

P##>>>stop N

Typing stop N at the console prompt (P##>>>) will cause processor N to halt and enter console mode. Issuing this command on the primary console terminal can stop any processor in any partition. For example, if the primary processor for partition 1 is processor 4, the following command will cause processor 4 to enter console mode:

P00>>>stop 4

P##>>>continue N

If processor N entered console mode as the result of a ctrl/p halt or stop N command, typing continue N at the P##>>> prompt will cause the processor to resume program execution. Foe example:

P##>>>continue 4

If only a single processor was halted, then the processor number, N, can be omitted.

P##>>>init

Typing init at the console (P##>>>) prompt of any partition causes a complete reinitialization of the entire system. All active partitions are immediately terminated and the system is reset (as if the power switch was momentarily moved to the RESET position). If partitions are enabled, the console will request verification of the init command by displaying the following prompt:

Do you really want to reset ALL partitions? (Y/<N>)

Type Y to complete the init command or N to cancel it.

D.4.3    Logical Partitions Configuration and Installation Tasks

Each of the following sections describes a task you perform to partition your AlphaServer GS140 system. Each task is performed in the order presented, although some tasks may be skipped in certain cases.

If you have read this section previously, and only require a summary of the normal sequence of startup commands, they are as follows:


P00>>> set lp_count  n
            (Set the count of n logical partitions) 
 
P00>>> init
            (Initialize the primary partition) 
 
P00>>> lpinit
            (Start the secondary partitions) 
 
P00>>> boot
            (Boot the primary partition)
 
P##>>> boot
            (boot the secondary partitions)

Improper operation results if the lpinit command is omitted. The console firmware prevents this by automatically executing the lpinit command if the lp_count is nonzero and a boot command is issued on the primary partition's console terminal.

On startup, each secondary partition displays configuration information. It is possible for this message to be proceeded by a series of Y characters as described in Section D.4.3.8. This is not an error and can be ignored.

D.4.3.1    Verifying Your System's Hardware Configuration

You need to verify that your hardware is properly configured for logical partitioning. You also need to record certain information about your hardware configuration for later use (when you configure partitions). Follow these steps to verify your hardware configuration:

  1. Power on your system by setting the power OFF/ENABLE switch to the ENABLE position.

    Note

    A newly installed system (with factory installed software) or an existing system with the auto_action console EV set to BOOT or RESTART, will automatically boot the operating system disk after the hardware's self-test is completed. In this case, you need to interrupt the automatic boot by typing ctrl/c at the console terminal. If the automatic boot could not be interrupted, allow the operating system boot completely, then shut down the operating system (do not type ctrl/p to halt the automatic boot). Refer to the Installation Guide guide for information on factory installed software before attempting to set up logical partitions.

    The factory installed software disk may be used as the system disk for one of the partitions (see Section D.4.6 for information on installing the operating system).

  2. After a short delay (about 15 seconds) configuration information (similar to the following example) will display on the primary console screen:

    F   E   D   C   B   A   9   8   7   6   5   4   3   2   1   0   NODE #
                                A   A   M   .   M   P   P   P   P   TYP
                                o   o   +   .   +  ++  ++  ++  ++   ST1
                                .   .   .   .   .  EE  EE  EE  EB   BPD
                                o   o   +   .   +  ++  ++  ++  ++   ST2
                                .   .   .   .   .  EE  EE  EE  EB   BPD
                                +   +   +   .   +  ++  ++  ++  ++   ST3
                                .   .   .   .   .  EE  EE  EE  EB   BPD
     
                                    .   +   +   +   .   +   +   +   C0 PCI +
        .   .   .   .   .   .   +   .   .   +   .   .   +   +       C1 XMI +
     
    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   C4
                    +   .   +   +   .   .   .   .   +   .   .   +   C5 PCI +
    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   C6
                    +   .   +   +   .   +   +   +   .   .   .   +   C7 PCI +
                                .   .   .   +   .   .   .   .          EISA +
     
                                .   .  A1   .  A0   .   .   .   .   ILV
                                .   . 1GB   . 1GB   .   .   .   .   2GB
    Compaq AlphaServer GS140 8-6/525, Console V5.4 15-MAR-99 10:07:33
    SROM V1.1, OpenVMS PALcode V1.48-3, Tru64 UNIX PALcode V1.45-3
    System Serial =  , OS = UNIX, 12:58:49  March 15, 1999
    Configuring I/O adapters...
    isp0, slot 0, bus 0, hose0
    isp1, slot 1, bus 0, hose0
    tulip0, slot 2, bus 0, hose0
    isp2, slot 4, bus 0, hose0
    isp3, slot 5, bus 0, hose0
    tulip1, slot 6, bus 0, hose0
    demna0, slot 1, bus 0, xmi0
    kzmsa0, slot 2, bus 0, xmi0
    kzmsa2, slot 5, bus 0, xmi0
    kzpsa0, slot 3, bus 0, hose5
    tulip2, slot 8, bus 0, hose5
    tulip3, slot 9, bus 0, hose5
    pfi0, slot 11, bus 0, hose5
    tulip4, slot 12, bus 0, hose7
    floppy0, slot 0, bus 1, hose7
    kzpsa1, slot 4, bus 0, hose7
    tulip5, slot 4, bus 2, hose7
    tulip6, slot 5, bus 2, hose7
    tulip7, slot 6, bus 2, hose7
    tulip8, slot 7, bus 2, hose7
    pfi1, slot 6, bus 0, hose7
    pfi2, slot 8, bus 0, hose7
    kzpsa2, slot 9, bus 0, hose7
    P00>>>
     
     
    

  3. The line ending with NODE # indicates the slot number (referred to later in the configuration process). Your system will have up to nine slots, each of which is labelled with its slot number. The next line (ending with TYP) indicates the type of module in each slot. Record the type of module in each slot:

    	P = CPU (dual processor CPU module)
    	M = MEM (memory module)
    	A = IOP (IO port module)
     
    	  8   7   6   5   4   3   2   1   0
    	+---+---+---+---+---+---+---+---+---+
    	|   |   |   |   |   |   |   |   |   |
    	|   |   |   |   |   |   |   |   |   |
    	+---+---+---+---+---+---+---+---+---+
     
     
    

  4. Divide your system into logical partitions by assigning slots (and therefore modules) to each partition. Each partition must be assigned at least one dual CPU module, one MEM module, and one IOP module. With a total of nine slots, the AlphaServer GS140 can be configured for a maximum of three partitions.

    Note

    Each CPU module has two processors, both of which must be assigned to the same partition.

  5. If your system meets the minimum requirements, proceed to the next section. Otherwise, you need to take corrective action (such as installing additional hardware), then proceed to the next section.

D.4.3.2    Verifying the Firmware Revision Level

Logical partitions require console firmware support. Version 5.4 is the minimum firmware revision when this manual was produced, but you should refer to the Release Notes for changes to the minimum revision. To verify that your system's firmware includes support for logical partitions, use the following command at the primary console to display the firmware revision level:

P00>>>show version

The console will display a message similar to the following:

version  V5.4,  15-MAR-1999 10:07:33

Verify the revision of your firmware is Version 5.4 or later. If you need to upgrade your system's firmware, refer to the firmware upgrade instructions in the hardware documentation. The firmware CD-ROM is shipped with the software kit, or you can download the firmware from the World Wide Web or using ftp. The information on finding and updating the firmware is in the Installation Guide.

D.4.3.3    Configuring Logical Partitions

You configure and enabled (or disabled) logical partitions using a set of console environment variables (EVs). Two console EVs take the form of hexadecimal numbers, which are bit masks in which a bit position in the mask corresponds to a module or processor number. Hardware configuration rules require modules to be installed in specific slot numbers, based on the module type, as follows:

The processor mask (lp_cpu_mask) is set by left shifting the number 3 by two times the slot number of the CPU module. Possible CPU masks for each slot are:

    Processors 00 and 01  (slot 0): 3 << (2 * 0) = 003
    Processors 02 and 03  (slot 1): 3 << (2 * 1) = 00c
    Processors 04 and 05  (slot 2): 3 << (2 * 2) = 030
    Processors 06 and 07  (slot 4): 3 << (2 * 4) = 0c0
    Processors 08 and 09  (slot 5): 3 << (2 * 5) = 300
    Processors 10 and 11  (slot 6): 3 << (2 * 6) = c00
 
 

The lp_cpu_mask is formed by combining (logical or) the masks for individual CPU module slots. For example, to assign the four processors on the CPU modules in slot 0 and 1 to partition 0, lp_cpu_mask0 would be 00f.

The IO port mask (lp_io_mask) is set by left shifting the number 1 by the slot number of the IOP module. Possible IOP masks for each slot:

IO Port module in slot 8: 1 << 8 = 100
IO Port module in slot 7: 1 << 7 = 080
IO Port module in slot 6: 1 << 6 = 040

If a partition has two IOP modules, the lp_io_mask is formed by combining (using logical or) the masks for individual IOP module slots. For example, if you assign IOP modules in slots 7 and 8 to partition 1, the value of lp_io_mask1 will be 180.

When assigning IOP modules to secondary partitions, it is important to remember that one of the IOPs assigned to the partition must be connected to a DWLPB option with a KFE72 option installed. The KFE72 option provides the console serial port for secondary partitions.

D.4.3.4    Determining and Setting Environment Variables

To create the console environment variables for your logical partitions, first determine the number of partitions and which slots (that is, CPU, MEM, and IOP modules) will be assigned to each partition (using the module types and slot numbers you recorded previously). Then, create the console EVs.

A summary of console EVs and values follows:

Console EV Value
lp_count Number of partitions
lp_cpu_maskN CPU assignment mask for partition N
lp_io_maskN IOP module assignment mask for partition N
lp_mem_mode Memory isolation mode

The following table shows a sample configuration of two partitions based on the configuration information in Section D.4.3.3, with the following modules:

Partition Module(s)
Partition 0 CPU modules in slots 0 and 1 (CPU 0-3, mask = 00F
  IOP module in slot 8 (IO Port, mask = 100)
  MEM module in slot 6 (2GB memory)
Partition 1 CPU modules in slots 2 and 3 (CPU 4-7, mask = 0F0
  IOP module in slot 7 (IO Port, mask = 080)
  MEM module in slot 4 (1GB memory)

There is no console EV mask for memory. The console firmware assigns memory modules to partitions. The firmware will attempt to balance the amount of memory assigned to each partition.

To create or change the EVs, execute the following commands at the console prompt. The values used are for the two partition example described at the start of this section. The actual values you enter depend on your hardware configuration and your partition layout.

Note that the lp_count EV is created with a value of zero (it will be changed later).

The following command will display the console EVs if they have been created or will display no output if they do not exist.


P00>>>show lp*
 
 

If the console EVs do not exist (were not previously created) use the following commands to create the EVs.

Note that there will be a 10 second delay after you issue each command and that the console will display the value of each EV after you create it.

P00>>>create -nv lp_count 0
P00>>>create -nv lp_cpu_mask0 f
P00>>>create -nv lp_cpu_mask1 f0
P00>>>create -nv lp_io_mask0 100
P00>>>create -nv lp_io_mask1 80
P00>>>create -nv lp_mem_mode isolate

If the console EVs already exist (previously created), use these commands to set their values:

P00>>>set lp_count 0
P00>>>set lp_cpu_mask0 f
P00>>>set lp_cpu_mask1 f0
P00>>>set lp_io_mask0 100
P00>>>set lp_io_mask1 80
P00>>>set lp_mem_mode isolate

Use the information in the following two sections to display (and if necessary correct) the console EV settings.

D.4.3.5    Displaying Console Environment Variables

The value of a console EV may be displayed on the console of any partition using the show command. For example, to display the value of lp_count enter the following:


P00>>>show lp_count

To display all the partitioning EVs, enter the following:


P00>>>show lp*

If the console EVs are correct, skip the next section and proceed to section Section D.4.3.7 . Otherwise, continue with the next step and make any necessary corrections.

D.4.3.6    Correcting Console Environment Variables

Note

The console EVs with lp_ prepended to the EV name must be set only by the console of the primary partition (partition 0). Their values must not be changed on any secondary partition.

Use the set command to change the value of any or all the console EVs. For example, to change all the EVs, enter the following:

P00>>>set lp_count 0
P00>>>set lp_cpu_mask0 f
P00>>>set lp_cpu_mask1 f0
P00>>>set lp_io_mask0 100
P00>>>set lp_io_mask1 80
P00>>>set lp_mem_mode isolate

D.4.3.7    Disabling Automatic Boot Reset

The Installation Guide recommends setting the boot_reset console environment variable to ON. This setting is not compatible with logical partitions for which the boot_reset console EV must be set to OFF. This is required so booting a partition does not interfere with the operation of other (previously booted) partitions. If boot_reset is set ON, then a system wide reset is done when the boot command (P00>>>boot) is executed. This reset will immediately terminate operation of all partitions.

Execute the following command to disable boot_reset:

P00>>>set boot_reset off

D.4.3.8    Set Memory Interleave Mode

The interleave console EV must be set to none. When setting the interleave mode to none, the console may echo a series of Y characters to the console display screen (there could be several lines of Y characters). This is not a problem and can be ignored. This problem will be corrected in a future release of the firmware.

Use the following commands to set the memory interleave mode and proceed to the next section:

P00>>>set interleave none
P00>>>init

D.4.3.9    Set the Operating System Type to UNIX

Set the os_type console EV to UNIX as follows:

P00>>>set os_type UNIX

D.4.3.10    Set the auto_action Console Environment Variable

To halt the processor after a POWER-ON or RESET (using the reset switch), use the following command:

P00>>>set auto_action halt

To automatically boot the operating system after a POWER-ON or RESET, use the following command:


P00>>>set auto_action boot

D.4.4    Initializing Partitions

Before installing Tru64 UNIX to partitions you need to initialize the partitions. This operation assigns hardware resources (CPU, IOP, and MEM modules) to each partition and spawns a console for each secondary partition as follows:

  1. Set the lp_count EV to the number of partitions. For example, to enable two partitions:

    
    P00>>>set lp_count 2
    

  2. Initialize partition 0:

    
    P00>>>init
    

    Configuration information (as previously described) will display on the primary console screen, followed by the console prompt; P00>>>.

  3. Initialize all secondary partitions.

    
    P00>>>lpinit
    

On the primary console a series of partition configuration messages will be displayed, including the starting address of physical memory for each partition. Record these addresses so you can determine if a kernel rebuild is needed in the event of a memory configuration change.

The following is a sample partition configuration display:

Partition 0: Primary CPU = 0
Partition 1: Primary CPU = 4
Partition 0: Memory Base = 000000000   Size = 080000000
Partition 1: Memory Base = 080000000   Size = 040000000
No Shared Memory
LP Configuration Tree = 128000
starting cpu 4 in partition 1 at address 040010001
starting cpu 5 in partition 1 at address 040010001
starting cpu 6 in partition 1 at address 040010001
starting cpu 7 in partition 1 at address 040010001
 
 

For each secondary partition configured, information will be displayed on the secondary console screens, followed by a console prompt such as P04>>>. Note that there will be a 20-second delay after the lpinit command before the secondary consoles display their configuration information.

D.4.5    Correcting Interleave Mode Errors

If the interleave EV is incorrectly set, the console will display the following error message:

Insufficient memory interleave sets to partition system.
Issue command "set interleave none" then reset system.
 
 

To recover from this error, enter the following commands:

P00>>>set interleave none

P00>>>set lp_count 0

P00>>>init

Then, repeat the steps in this section.

D.4.6    Installing the Operating System

When partitions are configured and initialized, you can install the operating system to each partition. Install the operating system by following the instructions in the Installation Guide.

AlphaServer GS140 systems ship with Tru64 UNIX preinstalled on one of the disks. You can use this disk as the root disk for one of the partitions (usually partition 0). To use the preinstalled disk, boot it and follow the instructions for completing the installation. By default, the bootdef_dev console EV should be set to automatically boot the preinstalled disk. If it is not, use the bootdef_dev value you recorded in section Section D.4.3.1.

Note

Depending on how you assigned IOP modules, the name of the factory installed software (FIS) disk may change and might not be assigned to partition 0. You can use the following command in each partition to locate the disk:

P##>>> show device

The operating system can also be installed from a CD-ROM or over the network from a Remote Installation Server (RIS). It may not always be practical to configure a CD-ROM drive on all partitions and a RIS server may not be available. One alternative (assuming a local network is available) is to install the operating system to one partition from a CD-ROM, then configure that partition as a RIS server for the other partitions. Refer to Sharing Software on a Local Area Network for instructions on setting up a Remote Installation Server.

D.4.7    Managing a Partitioned System

The operating system running in each partition can be managed as if it were running on a system that is not partitioned. However, there are some AlphaServer GS140-specific operational characteristics that you must be aware of and take into account when managing a partitioned system. These topics are documented in the following sections.

D.4.7.1    Operational Characteristics

During the course of normal partitioned system operations you may need to repeat some of the configuration and initialization tasks. Some of these tasks require special precautions to prevent interference between partitions. The following sections describe these tasks.

D.4.7.1.1    Console init command (P##>>>init)

Typing the init command at the console prompt in any partition reinitializes the entire system. This immediately terminates the operating system on all partitions. Therefore, you should not execute the init command unless you need to reinitialize the entire system.

If you execute the init command, the console will print a message asking you to confirm that you actually want to reset all partitions. Answer no to abort the init command or yes to continue with the init command.

D.4.7.1.2    Shutting Down or Rebooting the Operating System

To shut down the operating system running in a partition and return to console mode (P##>>> prompt), use the shutdown command. For example:

# /usr/sbin/shutdown -h +5 "Shutting down the OS"

The shutdown command can also shut down and reboot the operating system. For example:

# /usr/sbin/shutdown -r +5 "Rebooting the OS"

D.4.7.2    Recovering an Interrupted Operating System Boot

An incomplete or interrupted operating system boot may leave the console boot drivers in an inconsistent state. In this case, the console will display the following message:

Inconsistent boot driver state.
System is configured with multiple partitions.
A complete INIT must be performed before rebooting.
 
 

Use the following procedure to recover from this condition:

  1. Shut down the operating system in all running partitions.

  2. Execute the following commands on the primary console:

    P00>>>set lp_count 0
    P00>>>init
    P00>>>set lp_count N
    

    (where N is the number of partitions)

    
    P00>>>init
    P00>>>lpinit
    

  3. Boot the operating system in each partition. For example:

    P00>>>boot
    P04>>>boot
    

D.4.7.3    Halting Processors

Under normal operating conditions, it is not necessary to manually halt processors. The processor will halt and enter console mode when the operating system is shut down. However, you will need to manually halt the processor if the operating system hangs for some reason (for example, while debugging a loadable device driver).

Note

In the unlikely event that the processor cannot be halted the system must be reset by momentarily setting the four way OFF/ENABLE switch to the RESET position, then releasing it.

The following procedures only work if the Power OFF/ENABLE switch is in the ENABLE position.

Primary Partition

Pressing [Ctrl/p] on the primary console terminal will force the primary processor to enter console mode and display the P##>>> prompt. You can use the stop N command (where N is a processor number) to stop secondary processors (though this is not normally necessary). See Section D.4.2.1 for definitions of the console prompt and the stop command.

Secondary Partitions

Secondary partitions will not halt in response to a [Ctrl/p] command on the secondary console terminal. To force a secondary partition to enter console mode as follows:

  1. Shut down the operating system on the primary partition as follows:

    # /usr/sbin/shutdown -h +5 "Shutting down the OS"
    

  2. Stop the primary processor of the secondary partition.

    P00>>>stop N
    

    Where N is the CPU number of the primary processor of the secondary partitions (normally the lowest numbered CPU assigned to the secondary partition). For example:

    
    P00>>>stop 4
    

D.4.7.4    Power OFF/ENABLE Switch Position

During normal system operation, the Power OFF/ENABLE switch should be set to the SECURE position. This will prevent accidentally halting the processor with ctrl/p.

D.4.7.5    Reconfiguring Partitions by Changing Console EVs

The console EVs that control logical partitions (names begin with lp_) must not be changed on any secondary partition. These console EVs can only be changed by shutting down all partitions and setting new values on the primary partition's console terminal.

Once you have determined the layout of the new partition, follow these steps to reconfigure your partitions:

  1. Shut down the operating system in each partition:

    
    # /usr/sbin/shutdown -h +5 "Shutting down to reconfigure partitions"
    

  2. Disable partitions and reset the system as follows:

    P00>>>set lp_count 0
    P00>>>init
    

  3. Use the console set command to change the value of any or all of the console EVs. For the two partition example discussed in Section D.4.3.4, you would use the following commands:

    P00>>>set lp_count 2
    P00>>>set lp_cpu_mask0 f
    P00>>>set lp_cpu_mask1 f0
    P00>>>set lp_io_mask0 100
    P00>>>set lp_io_mask1 80
    P00>>>set lp_mem_mode isolate
    

  4. Initialize the primary partition as follows:

    
    P00>>>init
    

  5. Initialize all secondary partitions as follows:

    
    P00>>>lpinit
    

  6. Boot the operating system in each partition using commands similar to the following:

    P00>>>boot
    P04>>>boot
    

D.4.7.6    Checking Other Console EVs Before Booting

Before booting the operating system in each partition, you should use the console show command to verify the correct state of the console EVs as follows:

P0##>>>show boot_reset

The boot_reset EV must be off.

P0##>>>show interleave

The interleave EV must be none.


P0##>>>show auto_action

The auto_action EV can be set to HALT or BOOT.

P0##>>>show os_type

The os_type EV should be set to UNIX.

D.4.7.7    Logical Partitioning Informational Messages at Boot Time

If logical partitions are set up and enabled, several informational messages will be displayed by the operating system on the console terminal for each partition near the beginning of the bootstrap process. The following example shows typical messages for a two partition system:

Partition 0
-----------
LP_INFO: 2 partition(s) established via lp_count
LP_INFO: primary processor for partition 0 is CPU 0
LP_INFO: partition 0 CPU allocation mask = 0xf
LP_INFO: partition 0 IOP allocation mask = 0x100
LP_INFO: Memory partitioning mode set to isolate
LP_INFO: partition 0 memory starting address = 0x0
 
Partition 1
-----------
LP_INFO: 2 partition(s) established via lp_count
LP_INFO: primary processor for partition 1 is CPU 4
LP_INFO: partition 1 CPU allocation mask = 0xf0
LP_INFO: partition 1 IOP allocation mask = 0x80
LP_INFO: Memory partitioning mode set to isolate
LP_INFO: partition 1 memory starting address = 0x80000000
 
 

These messages provide the following information:

D.4.8    Hardware Management and Maintenance

For the AlphaServer GS140, partitions share a common physical enclosure and hardware (such as power supplies, system bus, and control panel power switch). The following hardware management and maintenance tasks cannot be performed on individual partitions. You must disable partitions and reset the system to a unpartitioned state.

Tasks that require a complete system reinitialization are:

D.4.8.1    Obtaining Technical Support

If you need to escalate a problem to your technical support organization, it is important that you make the Customer Services representative aware that the system is partitioned (particularly when the service is performed via remote diagnosis). When you place the service call, state that your system is using logical partitions.

The logical partitioning software provides two methods for the customer services representative to determine whether or not a system is partitioned. The LP_INFO messages printed during operating system startup are also entered into the binary error log as part of the Startup ASCII Message. The sizer -P command can be run on any instance of the operating system and will display the partitioning status of the system as follows:

# sizer -P
   Host hostname is instance 1 of 2 partitions.
   Physical memory starts at address 0x80000000.
   Memory mode is isolate.
   Processors assigned to instance 1: 4  5  6  7
   IO Port (s) assigned to instance 1: slot 7

If the system is not partitioned, the following message is displayed, where hostname is the name of the system:

Host hostname is not partitioned.
 

D.4.8.2    Performing Hardware Management and Maintenance Tasks

Before performing any management or maintenance tasks, you must terminate operation of all partitions and return the system to an unpartitioned state. Use the following steps to shut down partitions:

  1. Shut down the operating system in each partition.

    
    # /usr/sbin/shutdown -h +5 "Shutting down for maintenance"
    

  2. Disable partitions by executing the following command at the primary console terminal:

    	P00>>>set lp_count 0
    

  3. Set the auto_action console EV for the primary partition to HALT as follows:

    	
    P00>>>set auto_action halt
    

    Note that you may need to reset the auto_action EV in step 1 of the next procedure, initializing and rebooting the partitions.

  4. Reinitialize the system by typing this command on the primary console terminal.

    P00>>>init
    

When the system returns to the P00>>> prompt you can perform system management and maintenance tasks. After completing system management and maintenance tasks, use the following procedure to reinitialize and reboot your partitions:

  1. Verify the console EVs are set to the correct values as follows:

    P00>>>show lp*
    P00>>>show boot_reset
    P00>>>show interleave
    P00>>>show auto_action
    

    The boot_reset EV should be set to off, the interleave EV should be set to none, and the auto_action EV should be set to either HALT or BOOT.

  2. Set the lp_count EV to the correct number of partitions. For example:

    P00>>>set lp_count 2
    

  3. Initialize the primary partition as follows:

    
    P00>>>>init
    

  4. Initialize all secondary partitions.

    
    P00>>>lpinit
    

  5. Boot the operating system on each partition. If you changed the system's hardware configuration or reassigned any hardware resources to a different partition, a kernel rebuild may be required. Use the procedure in section Section D.4.9 to determine if you need to rebuild the kernel for any partition.

    If a kernel rebuild is not required for a partition, then boot the operating system as follows:

    P##>>>boot
    

    Where ## is the CPU number of the partition's primary processor.

D.4.9    Hardware Changes Requiring a UNIX Kernel Rebuild

A UNIX kernel rebuild may be required when you change your system's hardware configuration. The following table defines the various types of hardware configuration changes and whether or not a kernel rebuild is required:

Change Requirements
Processors -- adding, removing, or reassigning CPU modules. Changing the lp_cpu_mask# EV for any partition does not require a kernel rebuild. Remember that both processors on a dual CPU module must be assigned to the same partition.
IO Processors -- adding, removing, or reassigning IOP modules. A kernel rebuild is required if a IOP module is added to or removed from a partition (rebuild the kernel for that partition). Moving a IOP module across partitions requires a kernel rebuild on both partitions. The lp_io_mask# EV assigns IOP modules.
  Adding or removing IO busses and IO controllers will require a kernel rebuild for the affected partition.
Memory Modules -- changing the memory module configuration. For the primary partition (partition 0), changes to the memory module configuration do not require a kernel rebuild.
  The kernel for any secondary partition must be built to run at a specific memory address (that is, the physical memory starting address for the partition). Certain types of memory reconfiguration will change this address and require a kernel rebuild. A partition's memory starting address will change if the memory size for any lower numbered partition increases or decreases.
  For example, if a 2GB memory module in partition zero is replaced by a 4GB memory, then the memory starting address of partition one would increase by 2GB. In this example a kernel rebuild would be required.
  If a secondary partition's kernel fails to boot after a memory module configuration change, you should rebuild the kernel.
  The memory starting address for each partition is displayed at the primary console after each iteration of the P00>>>lpinit command.

D.4.9.1    How to Rebuild the UNIX Kernel for a Partition

The following steps describe how you rebuild the kernel, which is a special case of the typical kernel build instructions documented in Chapter 4. This procedure assumes that partitions are initialized as described in Section D.4.4 and the partition requiring a kernel rebuild is at the P##>>> console prompt. Refer to Chapter 4 for information on:

  1. Boot the generic kernel to single-user mode.

    
    P##>>>boot -fl s -fi genvmunix
    

  2. Check and mount file systems.

    
    # bcheckrc
    

    Refer to Chapter 6 for more information on mounting file systems.

  3. Set the host name (system name) for this partition.

    # hostname NAME
    

  4. Rebuild the kernel using the doconfig command.

    # doconfig
    

    Note

    You must not use doconfig with the -c option to rebuild the kernel.

  5. Save the current kernel as follows:

    
    # cp /vmunix /vmunix.save
    

  6. Install the new kernel as follows, where SYSNAME is the local host name:

    # cp /sys/SYSNAME/vmunix /vmunix
    

  7. Unmount the file systems as follows:

    
    # umount -a
    

  8. Halt the operating system as follows:

    
    # sync
    # sync
    # halt
    

  9. Boot the new kernel as follows:

    
    P##>>>boot
    

D.4.10    Handling Nonrecoverable Hardware Error Machine Checks

There are two main classes of hardware errors: recoverable and nonrecoverable. Recoverable errors are corrected by the hardware and reported to the operating system. The operating system logs recoverable errors in the binary error log and continues normal system operation. Non-recoverable hardware errors require immediate termination of normal system operation and some form of corrective action (such as a system reset).

Nonrecoverable hardware errors are reported to the operating system as a machine check. The operating system will crash with a panic message, such as the following:

panic (cpu 0): tlaser: \
MACHINE CHECK Non-recoverable hardware error

The system will then write out a crash dump, and reboot or halt (depending on the setting of the auto_action console EV, which can be BOOT or HALT). Some hardware errors require a complete system reset before the operating system can be rebooted.

For system-wide hardware faults, the operating system will force a system reset after writing the crash dump. After the reset is completed, if auto_action is set to BOOT, the console firmware will automatically reinitialize all partitions. Boot the operating system in each partition, using the following commands:

P00>>>boot
P##>>>boot

Otherwise, the system will halt and enter console mode (P00>>> prompt). If this occurs, enter the following commands to restart partitions and reboot the operating system (where N is the number of partitions):

P00>>>set lp_count N
P00>>>init
P00>>>lpinit
P00>>>boot
 
 

For each secondary partition, enter the boot command as follows:

P##>>>boot
 
 

For local hardware faults (contained within a partition), the operating system running in the affected partition will unconditionally halt after writing the crash dump. This allows other partitions to continue operating until a shut down can be scheduled. Restarting the affected partition requires a complete system reset, using the following procedure:

  1. Shut down the operating system in each running partition as follows:

    # /usr/sbin/shutdown -h +5 "Shutting down for error recovery"
     
     
    

  2. At the primary console terminal, enter the following commands:

    P00>>>set lp_count 0
    P00>>>init
    

  3. The following prompt is printed at the console:

    
    Do you really want to reset ALL partitions? (Y/<N>)
    

    Type Y to perform the reset.

  4. After the reset is completed and if auto_action is set to BOOT, the console firmware will automatically reinitialize all partitions. Boot the operating system in each partition, using the following commands:

    P00>>>boot
    P##>>>boot
    

    Otherwise, enter the following commands (where N is the number of partitions):

    P00>>>set lp_count N
    P00>>>init
    P00>>>lpinit
    P00>>>boot
     
     
    

    For each secondary partition enter the following:

    
    P##>>>boot
     
     
    

If these recovery procedures fail to restore full system operation for all partitions, reset the system manually by momentarily moving the OFF/ENABLE switch to the RESET position, then releasing it. After the reset is completed repeat the recovery procedure. If the failure persists, contact your technical support organization.

D.4.11    Logical Partitioning Error Messages

If an error condition occurs (such as an invalid partition configuration) a message is displayed on the partition's console terminal. After displaying the error message, the primary processor for the current partition will halt and return to the console prompt. To recover from any of these errors, correct the logical partitioning console EVs and reboot the partition.

The following error messages might be displayed:

LP_ERROR: invalid partition count (lp_count = #, max nodes = #)

The lp_count console EV is set incorrectly. The value is less than zero or exceeds the maximum number of partitions supported for the AlphaServer GS140.

LP_ERROR: no CPUs for partition (check lp_cpu_mask)

The value of lp_cpu_mask# (# represents the current partition number) is set incorrectly. There are no processors allocated to this partition.

LP_ERROR: no IOP for partition (check lp_io_mask)

The value of lp_io_mask# (# represents the current partition number) is set incorrectly. There are no IO Port modules allocated to this partition.

LP_ERROR: lp_count > 1, but partitions not initialized Please execute 'lpinit' command at >>> prompt

The message indicates that partitions were configured, but not initialized.

LP_ERROR: must set lp_mem_mode [share or isolate]

The lp_mem_mode console EV is not set or set incorrectly. For logical partitions, lp_mem_mode must be set to isolate.

Bootstrap address collision, image loading aborted

The kernel's link address does not match the memory starting address of the partition. Refer to section Section D.4.9 for instructions on how to recover from this error.

D.4.12    Understanding Console Firmware Error or Informational Messages

The console firmware implements several safety checks during certain events (such as system reset and partition startup). These checks help prevent cross-partition interference. If an anomaly is detected, one of the following messages will be displayed on the partition's console:

Do you really want to reset ALL partitions? (Y/<N>)

This message displays when a system reset has been requested, either by the operation issuing the init command or as a result of booting with the boot_reset console EV set to ON. This message is a warning that if you continue with the reset it will immediately terminate all partitions and completely reset the system. If a reset is necessary, shut down the operating system in all operational partitions before proceeding with the reset.

Auto-Starting secondary partitions...

This message indicates the console firmware is automatically initializing logical partitions, that is, it automatically executed the lpinit command. Auto starting occurs after a system reset (or power on). The console firmware will also boot the operating system in all partitions if the auto_action console EV is set to BOOT and the reset was performed via the RESET switch on power-on (not through the init command).

Insufficient memory interleave sets to partition system.Issue command "set interleave none" then reset system.

This message indicates that the interleave console EV is incorrectly set. You need to change the setting to none.

Insufficient memory modules to partition system.

Each partition requires a dedicated memory module. You need to reduce the number of partitions or install a memory module for each partition.

This message could indicate the lp_count console EV is not set correctly. For example, you have two partitions, but lp_count is set to four. In this case, set lp_count to match the actual number of partitions.

Inconsistent boot driver state.System is configured with multiple partitions.A complete INIT must be performed before rebooting.

An incomplete or interrupted operating system boot has caused the console boot drivers to enter a inconsistent state. Refer to Section D.4.7.2 for instructions on recovering from this state.

Do you want to attempt to boot secondary partitions anyway? (Y/<N>).

This message indicates that the console detected an inconsistency in your partitions set up (probably due to incorrect setting of lp_ console EVs). Unless you are certain it is safe to proceed, you should answer no (N) to this question and correct the inconsistency.

TIOP # not configured in any partition.Non-existent TIOP # configured in a partition.

These messages (together or separately) indicate incorrect setting of the lp_io_mask# console EV. The mask may be set to zero or to the wrong IOP module slot number. You should correct the setting and retry the lpinit command.

Secondary partitions have already been started.

This message most likely indicates you issued a second lpinit command after starting partitions. Before booting the operating system, you should check the values of the lp_ console EVs.

CPU # not configured in any partition.No valid primary processor specified for partition #.

In this message, the CPU number (#) may be a single CPU or a list of CPUs.

These messages (together or separately) indicate incorrect setting of the lp_cpu_mask# console EV. The mask may be set to zero or to incorrect CPU numbers. You should correct the setting and retry the lpinit command.