E    Administering Specific Hardware

E.1    Introduction

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

E.2    PCMCIA Support

PCMCIA (PC Card) support is limited to the following capabilities:

E.2.1    Restrictions

The following restrictions apply in this release.

However, other ISA to PCMCIA bridge adapters using the Intel i82365SL or a compatible device may also work.

E.2.2    Configuring a PCMCIA Adapter Board from the Console

Before inserting the PCMCIA adapter board into your system, make sure to read the manual that came with the adapter from the adapter vendor and follow the instructions on how to connect the cables and install the board. Check your system documentation to find out what kind of bus is available in your system and use the appropriate ISA or EISA instructions in this section.

E.2.2.1    Configuring a PCMCIA on an ISA Bus System

If your system has an ISA (Industry Standard Architecture) bus, use the following procedure to configure a card:

  1. If the system is an ISA bus system, the isacfg utility from the console must be used to configure the PCMCIA adapter.

  2. After the PCMCIA adapter board is inserted to an ISA slot in the system, turn on the system.

  3. To add an PCMCIA option to the platforms with an ISA bus, issue the following ISA option card configuration command at the console. The following example uses an AlphaStation 200 platform, but the commands should be the same in all three ISA bus platforms.

    
    >>> isacfg -slot 1 -etyp 1 -dev 0 -mk -iobase0 3e0 \
    -irq0 14 -enadev 1 -handle PCIC-PCMCIA
    

    If the system is already using slot 1, select and unused slot number.

  4. The IRQ (interrupt) number must not conflict with interrupt numbers that are assigned to other default devices on the system. The system hardware manual usually indicates which IRQ numbers are assigned to default devices.

  5. The recommended IRQ number for the PCMCIA adapter is 14 (decimal).

  6. If IRQ 14 is already used, the next best choice is IRQ 10, if it is not already used by other devices.

  7. When you issue the above isacfgcommand, the console should print out the following line or something similar:

    type >>>init to use these changes
    

  8. After reinitializing the console, you can verify that you configured the PCMCIA adapter correctly by issuing the following command:

    >>>isacfg -slot 1
    

  9. You should see the following screen display:

    =============================================================
    handle: PCIC-PCMCIA
    etyp: 1
    slot: 1  dev: 0
    enadev: 1
    totdev: 1
    iobase0: 3e0  membase0: 8000000000000000
    iobase1: 8000000000000000  memlen0: 8000000000000000
    iobase2: 8000000000000000  membase1: 8000000000000000
    iobase3: 8000000000000000  memlen1: 8000000000000000
    iobase4: 8000000000000000  membase2: 8000000000000000
    iobase5: 8000000000000000  memlen2: 8000000000000000
    rombase: 8000000000000000
    romlen: 8000000000000000
    dmamode0/chan0: 80000000 irq0: 14
    dmamode1/chan1: 80000000 irq1: 80000000
    dmamode2/chan2: 80000000 irq2: 80000000
    dmamode3/chan3: 80000000 irq3: 80000000
     
    =============================================================
    >>>
    

E.2.2.2    Configuring a PCMCIA on an EISA Bus System

If you are installing the PCMCIA adapter on a computer with an EISA (extended Industry Standard Architecture) bus, use the EISA Configuration Utility (ECU) to configure it. Invoke the EISA Configuration Utility (ECU), and specify that the PCMCIA adapter is present. Next, provide a pointer to the aisa3000.cfg configuration file.

Refer to your system hardware documentation for complete instructions on how to run the ECU program.

E.2.3    Configuring and Using a PCMCIA Modem PC Card

Since a PC Card is a dynamic device (i.e. not a static device that is present all the time in the system hardware), and the serial-line device driver is a static device driver, when the system is installed initially, there will not be a corresponding acex entry created automatically by the doconfig of the target system. This is due to the fact that the system does not know when it is being installed that there will be a fax/modem card for PCMCIA since the card is not in the system yet.

If you want the system to automatically create the acex entry for your PCMCIA fax/modem card, before you start installing the system, make sure that you have the PCMCIA adapter configured in the console and that the PCMCIA fax/modem card is inserted into the slot. If you have a fax/modem card in the slot 0, for example, when the system is installed and the target kernel is built, the system kernel configuration file built will have the following entry:

controller ace2 at pcmcia0  slot 0 vector aceintr

The installation will also create the device special file for this fax/modem card in the directory named /dev.


# ls -gl tty02

crw-rw-rw-   1 root     system    35,  2 Oct 16 13:22 tty02

If you did not have the PCMCIA fax/modem card inserted in the slot when the system was installed, then you need to add the following line to your system kernel configuration file, (/sys/conf/HOSTNAME where HOSTNAME is the name of your system):

controller              ace2    at *    slot ? vector aceintr

If you plan to use two modem cards simultaneously, add the following lines to your system configuration file:

controller              ace2    at *    slot ? vector aceintr
controller              ace3    at *    slot ? vector aceintr

Once the system configuration file is modified, use the following command to rebuild the new kernel and reboot the system.


# doconfig -c

E.2.4    Creating a Device Special File for the Modem Card

Normally the system installation creates the following two default tty0x device special files in the directory /dev:

crw-rw-rw-   1 root     system    35,  0 Oct 16 13:22 tty00
crw-rw-rw-   1 root     system    35,  1 Oct 16 13:22 tty01

This is because most systems have two embedded serial lines. A system with a single embedded serial line creates only onetty00 entry in the /dev directory.

To create additional device special files for the PCMCIA modem cards, use the MAKEDEV utility in the /dev directory. For example:

# ./MAKEDEV ace2

MAKEDEV: special file(s) for ace2:
tty02

The generated special file should look like this:

crw-rw-rw-   1 root     system    35,  2 Oct 27 14:02 tty02

If you intend to have two PCMCIA modem cards working simultaneously, create device special files for each card. For example:


# ./MAKEDEV ace2 ace3

MAKEDEV: special file(s) for ace2:
tty02
MAKEDEV: special file(s) for ace3:
tty03

The generated special files should look like this:

crw-rw-rw-   1 root     system    35,  2 Oct 27 14:02 tty02
crw-rw-rw-   1 root     system    35,  3 Oct 27 14:02 tty03

E.2.5    The /etc/remote File

You must edit the /etc/remote file must be modified to add new access line definitions for the PCMCIA modem cards to be used. If you have a 28.8kpb modem card and will be using the full speed, the baud rate (br) in the /etc/remote file should be set to 38400.

For example, add the following line to the /etc/remote file:

line2:dv=/dev/tty02:br#38400:pa=none:

Note that line2 can be any name you determine to be used with the tip command to establish a connection.

Once the PCMCIA modem card is inserted correctly and the system configures the card, the card can be used the same as any other modem devices.

E.2.6    Inserting a PCMCIA Modem Card

To use a PCMCIA modem card, insert the card to one of the PC Card slots in the PCMCIA adapter. Depending on the adapter type, there may be two front access card slots or one front access and one rear access card slot. When you insert the card into the slot 0, you should see the following message on the console terminal (or the Console Log window of the graphics head).

# PCMCIA socket 0: card manufacturer: MEGAHERTZ
product name: XJ2288
Configured: serial unit 2, type=16550A
ace2 at pcmcia0

This example used the MEGAHERTZ XJ2288 fax/modem card.

When a modem card is inserted, an error message such as the following may appear on the Console Log window:

socket 0: card manufacturer: MEGAHERTZ, unknown modem card inserted
 
Using generic modem driver for this PC Card.
 
PCMCIA socket 0: card manufacturer: MEGAHERTZ
 
product name: XJ1144
 
socket 0: Couldn't find usable config. for this card.
Please eject this PC Card.

This error occurs if the card requires I/O resources that are already in use by other components in the system. If this error message is seen, the card should be ejected, because it is not configured. A possible solution is to remove some other ISA/EISA devices in the system and reboot the system, freeing I/O resources that may be required.

E.2.7    Removing a PCMCIA Modem Card

Once you are finished using the modem card, push the button next to the card slot to eject it. You should see the following message on the console terminal or console Log window.

# stray interrupt on unit=2, intr_id=0
PCMCIA socket 0: PC Card removed

This message is not always displayed when you eject the card. It only happens if the serial line driver generates an interrupt when the card got ejected. 

E.3    CalComp Graphics Tablet

This section provides information about how configure a CalComp DrawingBoard III tablet, an input device supported by the Xinput extension to the Xserver. Once the software for the tablet is installed on your system, you can configure it to emulate a system mouse.

E.3.1    Configuring the CalComp DrawingBoard III Tablet

If you intend to use the CalComp DrawingBoard III tablet software, you must edit the file /usr/var/X11/Xserver.conf to turn on support for the X Input extension. To do this, remove the comment characters surrounding the following lines:

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

The backslash in this example indicates line continuation and is not in the actual display.

You should also review these lines to ensure that the options specified for the tablet are correct, especially that the tty that is specified as the serial port where the tablet is connected to your system.

The last line of this file has the following syntax:

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

The backslash in this example indicates line continuation and is not in the actual display.

Table E-1 can help you determine how to set up the entries for the tablet in the /usr/var/X11/Xserver.conf file.

Table E-1:  CalComp DrawingBoard III Tablet Configuration Options and Values

Option Description
device The port ( tty ) to which the device is connected. The default is tty00.
mode This should be set to 1 for absolute motion.
tabletWidth Width of the active tablet area in inches, not the physical size. The default is 12.
tabletHeight Height of the active tablet area in inches, not the physical size. The default is 12.
numbtns Number of buttons on the puck or pen. The maximum number is 16 and the default is 16.
corePointer 0 indicates a native tablet mode (no system mouse). 1 indicates emulate core pointer (the mouse and tablet are both core pointer devices. The default is 1 (emulate core pointer).
mouseScale 1 to 50 scaling factor in relative mode. Determines the speed of the cursor; the higher the number, the slower the cursor moves. The default is 8.
resolution 1 to 2540 lines per inch (lpi). The default is 1000.
Xincrement How much the X axis must be incremented to cause the tablet to send new coordinates to the Xserver. The range is 0 to 65536. The default is 1.
Yincrement How much the Y axis must be incremented to cause the tablet to send new coordinates to the Xserver. The range is 0 to 65536. The default is 1.

The device option is required and specifies which tty device should be associated with the tablet. By default, the installation software assigns the CalComp DrawingBoard III tablet to tty00, which you may want to change if that tty is already allocated. For information on how to determine which serial port your tablet is connected to, see the hardware documentation that was shipped with your processor.

Note that when the stylus or puck is moved as far as the minimum Xincrement or Yincrement value, the value of the corresponding axis is updated. For example, if the Xincrement value is set to 10 and the tablet is moved 10 units along the X axis, the value of the Y axis will also be updated simultaneously with the X axis, even if the Yincrement value has not been reached. Keep this in mind when setting the Xincrement and Yincrement options.

After you have configured the /usr/var/X11/Xserver.conf file, you must follow these steps to turn on support for the tablet in the Xserver:

  1. Plug the tablet into your system and turn it on.

  2. 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" 
    

    (The backslash in this example indicates line continuation and is not in the actual display.) When the system comes back up, the tablet will be configured into the Xserver and ready to use.

When the Xserver first accesses the tablet, it performs some hardware-specific initialization that can be saved in the on-board memory of the tablet. To save these settings, follow these steps:

  1. Press the EXIT CONFIG button on the tablet's menu.

  2. Under the SAVE button, press the DEFAULT button.

  3. Press the EXIT CONFIG button to save the settings.

E.3.2    Notes and Restrictions

The following notes and restrictions apply to the CalComp DrawingBoard III tablet:

E.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 only be accessed 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 may have completely different computing requirements. They may need to run completely 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.

E.4.1    Hardware Requirements

The minimum 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 in this document show you how to do the following:

E.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 E.4.3.

E.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.

E.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.

E.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 E.4.5 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.

E.4.3.2    Verify 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 by ftp. The information on finding and updating the firmware is in the Installation Guide.

E.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 correspondes 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

E.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 E.4.3.3., with these 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.

E.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 E.4.3.7 . Otherwise, continue with the next step and make any necessary corrections.

E.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


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

E.4.3.7    Disabling Automatic Boot Reset

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

E.4.3.8    Set Memory Interleave Mode

The interleave console EV must be set to none. Use the following commands to set the memory interleave mode:


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

and proceed to the next section.

E.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

E.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

E.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.

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.

E.4.5    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 E.4.3.1.

Note

Depending on how you assigned IOP modules, the name of the FIS (factory installed software) 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

E.4.6    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.

E.4.6.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.

E.4.6.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.

E.4.6.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"

E.4.6.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
    

E.4.6.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

Typing 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 E.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 folows:

  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
    

E.4.6.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.

E.4.6.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 E.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
    

E.4.6.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.

E.4.6.7    Logical Partitioning Informational Messages at Boot Time

If logical partitions are set up and enabled, several informational messages will 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:

E.4.7    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:

E.4.7.1    Interfacing with Compaq Customer Service

If you need to escalate a problem to Compaq Customer Services, it is important that you make the Customer Services representitive 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 representitive 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.

E.4.7.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 E.4.8 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.

E.4.8    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.

E.4.8.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 5. This procedure assumes that partitions are initialized as described in Section E.4.4 and the partition requiring a kernel rebuild is at the P##>>> console prompt. Refer to Chapter 5 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 7 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
    

E.4.9    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
     
    

    and 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 Compaq customer service representative.

E.4.10    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 may 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 E.4.8 for instructions on how to recover from this error.

E.4.11    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 E.4.6.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.